소스 검색

大托管

wulanhaote
庞东旭 2 년 전
부모
커밋
a4094828cf
30개의 변경된 파일2857개의 추가작업 그리고 578개의 파일을 삭제
  1. +8
    -3
      package-lock.json
  2. +163
    -0
      src/api/agriculturalTrusteeship/index.js
  3. +11
    -9
      src/permission.js
  4. +18
    -0
      src/router/index.js
  5. +1
    -1
      src/utils/request.js
  6. +167
    -67
      src/views/agriculturalTrusteeship/buyer/allBill.vue
  7. +52
    -19
      src/views/agriculturalTrusteeship/buyer/billDetail2.vue
  8. +56
    -23
      src/views/agriculturalTrusteeship/buyer/billDetail3.vue
  9. +54
    -11
      src/views/agriculturalTrusteeship/buyer/evaluate.vue
  10. +115
    -34
      src/views/agriculturalTrusteeship/buyer/index.vue
  11. +176
    -19
      src/views/agriculturalTrusteeship/buyer/placeOrder.vue
  12. +70
    -13
      src/views/agriculturalTrusteeship/buyer/waitBill.vue
  13. +94
    -32
      src/views/agriculturalTrusteeship/index.vue
  14. +133
    -19
      src/views/agriculturalTrusteeship/insurance/insuranceList.vue
  15. +38
    -12
      src/views/agriculturalTrusteeship/insurance/insuranceProjectDetail.vue
  16. +55
    -10
      src/views/agriculturalTrusteeship/insurance/insuranceProjectList.vue
  17. +148
    -67
      src/views/agriculturalTrusteeship/login.vue
  18. +42
    -7
      src/views/agriculturalTrusteeship/shop/shopAdd.vue
  19. +34
    -11
      src/views/agriculturalTrusteeship/shop/shopList.vue
  20. +112
    -19
      src/views/agriculturalTrusteeship/socialization/bill.vue
  21. +51
    -18
      src/views/agriculturalTrusteeship/socialization/billDetail.vue
  22. +414
    -0
      src/views/agriculturalTrusteeship/socialization/billOrder.vue
  23. +69
    -13
      src/views/agriculturalTrusteeship/socialization/index.vue
  24. +114
    -52
      src/views/agriculturalTrusteeship/socialization/project.vue
  25. +63
    -18
      src/views/agriculturalTrusteeship/socialization/projectDetail.vue
  26. +241
    -0
      src/views/agriculturalTrusteeship/socialization/projectEdit.vue
  27. +187
    -53
      src/views/agriculturalTrusteeship/society/societyList.vue
  28. +71
    -18
      src/views/agriculturalTrusteeship/society/societyProjectDetail.vue
  29. +100
    -30
      src/views/agriculturalTrusteeship/society/societyProjectList.vue
  30. BIN
      static/images/agriculturalTrusteeship/zwtp.png

+ 8
- 3
package-lock.json 파일 보기

@@ -12328,10 +12328,15 @@
"resolved": "https://registry.npmjs.org/vue-cookies/-/vue-cookies-1.7.4.tgz", "resolved": "https://registry.npmjs.org/vue-cookies/-/vue-cookies-1.7.4.tgz",
"integrity": "sha512-mOS5Btr8V9zvAtkmQ7/TfqJIropOx7etDAgBywPCmHjvfJl2gFbH2XgoMghleLoyyMTi5eaJss0mPN7arMoslA==" "integrity": "sha512-mOS5Btr8V9zvAtkmQ7/TfqJIropOx7etDAgBywPCmHjvfJl2gFbH2XgoMghleLoyyMTi5eaJss0mPN7arMoslA=="
}, },
"vue-cropper": {
"version": "0.5.8",
"resolved": "https://registry.npmjs.org/vue-cropper/-/vue-cropper-0.5.8.tgz",
"integrity": "sha512-Xgi/aLQCcNCiBTUdovy/i4LWx0G7fQnAENBpDWA3J4i87Zlk9DJRksXrClsQ6nnaFRfQVkMimij5GEvAMaXdYw=="
},
"vue-esign": { "vue-esign": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/vue-esign/-/vue-esign-1.0.5.tgz",
"integrity": "sha512-XwJWnV3YJfilT1qIU8CbJgPRdUltONuv6fjCaMAbvkt6Juidm2m9g73H+2FhPbn7nEliB2q7kZEnQXhbWP4mCw==",
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/vue-esign/-/vue-esign-1.1.4.tgz",
"integrity": "sha512-7Ix5PdcyyhVfsvrT9a+yp5+36gbQ0/bpDO+QSLT58IgJ5t164PEptOy5Nslw8bZbk3n3Hc7SP5B8eXQ8X8W+OA==",
"requires": { "requires": {
"vue": "^2.5.11" "vue": "^2.5.11"
} }


+ 163
- 0
src/api/agriculturalTrusteeship/index.js 파일 보기

@@ -10,6 +10,33 @@ export function serviceLogin(data) {
}) })
} }


// 保险公司注册
export function serviceRegister(data) {
return request({
url: '/depositm/financialService/register',
method: 'post',
data: data
})
}

// 服务组织登录
export function entityLogin(data) {
return request({
url: '/depositm/entity/login',
method: 'post',
data: data
})
}

//保险公司列表
export function serviceList(query) {
return request({
url: '/depositm/financialService/list',
method: 'get',
params: query
})
}

//保险产品列表 //保险产品列表
export function productList(query) { export function productList(query) {
return request({ return request({
@@ -55,4 +82,140 @@ export function financialProductAdd(data) {
}) })
} }


// 保险产品上架
export function productIn(id) {
return request({
url: '/depositm/financialProduct/productIn/'+id,
method: 'post',
})
}

// 保险产品下架
export function productOut(id) {
return request({
url: '/depositm/financialProduct/productOut/'+id,
method: 'post',
})
}

//服务组织列表
export function detailList(query) {
return request({
url: '/depositm/entity/list',
method: 'get',
params: query
})
}

//服务项目列表
export function supplyDemandList(query) {
return request({
url: '/depositm/supplyDemand/list',
method: 'get',
params: query
})
}

//服务项目列表
export function productTypes(query) {
return request({
url: '/depositm/supplyDemand/productTypes',
method: 'get',
params: query
})
}

//服务项目详情
export function supplyDemandGet(id) {
return request({
url: '/depositm/supplyDemand/get/'+id,
method: 'get',
})
}

// 编辑服务项目
export function supplyDemandEdit(data) {
return request({
url: '/depositm/supplyDemand/edit',
method: 'post',
data: data
})
}

// 评价
export function supplyComment(data) {
return request({
url: '/deposit/supplyorder/comment',
method: 'post',
data: data
})
}

// 服务项目下架
export function supplyDemandProductOut(id) {
return request({
url: '/depositm/supplyDemand/productOut/'+id,
method: 'post',
})
}


// 服务项目上架
export function supplyDemandProductIn(id) {
return request({
url: '/depositm/supplyDemand/productIn/'+id,
method: 'post',
})
}


// 拒单
export function supplyorderReject(id) {
return request({
url: '/depositm/supplyorder/reject/'+id,
method: 'post',
})
}

//订单列表
export function supplyorderList(query) {
return request({
url: '/depositm/supplyorder/list',
method: 'get',
params: query
})
}

//服务组织订单统计
export function orderStatistics(query) {
return request({
url: '/depositm/entity/orderStatistics',
method: 'get',
params: query
})
}

//订单详情
export function supplyorderGet(id) {
return request({
url: '/depositm/supplyorder/get/'+id,
method: 'get',
})
}

//服务合同
export function fwhtList(query) {
return request({
url: '/geo/fwht/list',
method: 'get',
params: query
})
}

//下单
export function placeOrder(data) {
return request({
url: '/deposit/supplyorder/placeOrder',
method: 'post',
data: data
})
}

+ 11
- 9
src/permission.js 파일 보기

@@ -154,23 +154,25 @@ const whiteList = [
'/agriculturalTrusteeship/socializationIndex',//社会化服务组织待处理 '/agriculturalTrusteeship/socializationIndex',//社会化服务组织待处理
'/agriculturalTrusteeship/socializationProject',//社会化服务组织产品 '/agriculturalTrusteeship/socializationProject',//社会化服务组织产品
'/agriculturalTrusteeship/socializationProjectDetail',//社会化服务组织产品详情 '/agriculturalTrusteeship/socializationProjectDetail',//社会化服务组织产品详情
'/agriculturalTrusteeship/socializationProjectEdit',//社会化服务组织产品修改
'/agriculturalTrusteeship/socializationBill',//社会化服务组织订单 '/agriculturalTrusteeship/socializationBill',//社会化服务组织订单
'/agriculturalTrusteeship/socializationBillDetail',//社会化服务组织订单详情 '/agriculturalTrusteeship/socializationBillDetail',//社会化服务组织订单详情
'/agriculturalTrusteeship/socializationBillOrder',//社会化服务组织订单详情
'/agriculturalTrusteeship/socializationUser',//社会化服务组织个人中心 '/agriculturalTrusteeship/socializationUser',//社会化服务组织个人中心
'/agriculturalTrusteeship/socializationUserEdit',//社会化服务组织个人信息 '/agriculturalTrusteeship/socializationUserEdit',//社会化服务组织个人信息
'/agriculturalTrusteeship/socializationRelease',//社会化服务组织发布产品 '/agriculturalTrusteeship/socializationRelease',//社会化服务组织发布产品
'/agriculturalTrusteeship/socializationDraft',//社会化服务组织草稿箱 '/agriculturalTrusteeship/socializationDraft',//社会化服务组织草稿箱
'/agriculturalTrusteeship/socializationDraftEdit',//社会化服务组织草稿箱修改 '/agriculturalTrusteeship/socializationDraftEdit',//社会化服务组织草稿箱修改


'/agriculturalTrusteeship/buyerIndex',//买家选购
'/agriculturalTrusteeship/buyerWaitBill',//买家选购-等待处理
'/agriculturalTrusteeship/buyerAllBill',//买家选购-所有订单
'/agriculturalTrusteeship/placeOrder',//买家选购-下单页
'/agriculturalTrusteeship/billDetail',//买家选购-订单详情
'/agriculturalTrusteeship/billDetail2',//买家选购-订单详情
'/agriculturalTrusteeship/billDetail3',//买家选购-订单详情
'/agriculturalTrusteeship/billDetail4',//买家选购-订单详情
'/agriculturalTrusteeship/evaluate',//买家选购-服务评价
//'/agriculturalTrusteeship/buyerIndex',//买家选购
//'/agriculturalTrusteeship/buyerWaitBill',//买家选购-等待处理
// '/agriculturalTrusteeship/buyerAllBill',//买家选购-所有订单
// '/agriculturalTrusteeship/placeOrder',//买家选购-下单页
// '/agriculturalTrusteeship/billDetail',//买家选购-订单详情
// '/agriculturalTrusteeship/billDetail2',//买家选购-订单详情
// '/agriculturalTrusteeship/billDetail3',//买家选购-订单详情
// '/agriculturalTrusteeship/billDetail4',//买家选购-订单详情
// '/agriculturalTrusteeship/evaluate',//买家选购-服务评价


] ]




+ 18
- 0
src/router/index.js 파일 보기

@@ -4737,6 +4737,15 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/agriculturalTrusteeship/socialization/projectDetail'], resolve) component: (resolve) => require(['@/views/agriculturalTrusteeship/socialization/projectDetail'], resolve)
}, },
{
path: '/agriculturalTrusteeship/socializationProjectEdit',
name: 'agriculturalTrusteeshipSocializationProjectEdit',
meta: {
title: '社会化服务组织产品修改',
hidden: true,
},
component: (resolve) => require(['@/views/agriculturalTrusteeship/socialization/projectEdit'], resolve)
},
{ {
path: '/agriculturalTrusteeship/socializationBill', path: '/agriculturalTrusteeship/socializationBill',
name: 'agriculturalTrusteeshipSocializationBill', name: 'agriculturalTrusteeshipSocializationBill',
@@ -4755,6 +4764,15 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/agriculturalTrusteeship/socialization/billDetail'], resolve) component: (resolve) => require(['@/views/agriculturalTrusteeship/socialization/billDetail'], resolve)
}, },
{
path: '/agriculturalTrusteeship/socializationBillOrder',
name: 'agriculturalTrusteeshipSocializationBillOrder',
meta: {
title: '社会化服务组织订单详情',
hidden: true,
},
component: (resolve) => require(['@/views/agriculturalTrusteeship/socialization/billOrder'], resolve)
},
{ {
path: '/agriculturalTrusteeship/socializationUser', path: '/agriculturalTrusteeship/socializationUser',
name: 'agriculturalTrusteeshipSocializationUser', name: 'agriculturalTrusteeshipSocializationUser',


+ 1
- 1
src/utils/request.js 파일 보기

@@ -7,7 +7,6 @@ import errorCode from '@/utils/errorCode'
import Cookies from "js-cookie"; import Cookies from "js-cookie";


axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
axios.defaults.headers['ACCESS-SESSION-ID'] = Cookies.get('ACCESS-SESSION-ID') // 让每个请求携带自定义token 请根据实际情况自行修改
// 创建axios实例 // 创建axios实例
const service = axios.create({ const service = axios.create({
// axios中请求配置有baseURL选项,表示请求URL公共部分 // axios中请求配置有baseURL选项,表示请求URL公共部分
@@ -22,6 +21,7 @@ service.interceptors.request.use(config => {
forbidClick: true, forbidClick: true,
duration: 0 duration: 0
}); });
axios.defaults.headers['ACCESS-SESSION-ID'] = Cookies.get('ACCESS-SESSION-ID')
// 是否需要设置 token // 是否需要设置 token
const isToken = (config.headers || {}).isToken === false const isToken = (config.headers || {}).isToken === false
if (getToken() && !isToken) { if (getToken() && !isToken) {


+ 167
- 67
src/views/agriculturalTrusteeship/buyer/allBill.vue 파일 보기

@@ -14,16 +14,29 @@
<!-- 导航开始 --> <!-- 导航开始 -->
<div class="nav"> <div class="nav">
<div class="date"> <div class="date">
<p>2021年11月</p>
<p @click="startTimeShow = true">{{startOrderAt}}</p>
<span>-</span> <span>-</span>
<p>2021年11月</p>
<p @click="endTimeShow = true">{{endOrderAt}}</p>
</div> </div>
<van-popup v-model="startTimeShow" position="bottom">
<van-datetime-picker
v-model="currentDateStar"
@confirm="onConfirmStar"
type="year-month"
title="选择年月"
/>
</van-popup>
<van-popup v-model="endTimeShow" position="bottom">
<van-datetime-picker
v-model="currentDateEnd"
@confirm="onConfirmEnd"
type="year-month"
title="选择年月"
/>
</van-popup>
<div class="nav_list"> <div class="nav_list">
<p class="active">全部</p> <p class="active">全部</p>
<p>已接单</p>
<p>已接单</p>
<p>已接单</p>
<p>已接单</p>
<p v-for="(item,index) in orderStatusOptions" :key="index">{{item.dictLabel}}</p>
</div> </div>
</div> </div>
<!-- 导航结束 --> <!-- 导航结束 -->
@@ -35,80 +48,81 @@
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad" v-for="item in 10" :key="item"--> <!-- @load="onLoad" v-for="item in 10" :key="item"-->
<div class="main_content_right_list">
<div class="main_content_right_list" v-for="(item,index) in supplyDemandList" :key="index">
<div class="main_content_right_list_header"> <div class="main_content_right_list_header">
<p>灌溉</p>
<p>{{item.productType}}</p>
<p>服务</p> <p>服务</p>
<p class="on">点击评分</p>
<p :class="{'off': item.orderStatus== '已拒单','on': item.orderStatus!= '已拒单'}">{{item.orderStatus}}</p>
</div> </div>
<div class="main_content_right_list_center" @click="$router.push({name:'agriculturalTrusteeshipBillDetail2'})">
<!-- $router.push({name:'agriculturalTrusteeshipBillDetail2',query:{id:item.id}})-->
<div class="main_content_right_list_center" @click="goDetail(item.orderStatus,item.id)">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png"> <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.contractionName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>165,836,365</span>.00</p>
<p>¥<span>{{item.realityServiceMoney}}</span>.00</p>
</div> </div>
<p class="name"> <p class="name">
<span>数量:300</span>
<span>作物:玉米</span>
<span>数量:{{item.serviceNum}}</span>
<span>作物:{{item.cropType}}</span>
</p> </p>
</div> </div>
</div> </div>
<van-cell title="买方名称" :border="false" value="张三李四联合合作社" />
<van-cell title="联系人" :border="false" value="林晓春" />
<van-cell title="联系电话" :border="false" value="165 8874 0311" />
<van-cell title="买方名称" :border="false" :value="item.bookName" />
<van-cell title="联系人" :border="false" :value="item.linkera" />
<van-cell title="联系电话" :border="false" :value="item.phonea" />
</div> </div>
<div class="main_content_right_list">
<div class="main_content_right_list_header">
<p>灌溉</p>
<p>服务</p>
<p class="on">已评分</p>
</div>
<!-- <div class="main_content_right_list">-->
<!-- <div class="main_content_right_list_header">-->
<!-- <p>灌溉</p>-->
<!-- <p>服务</p>-->
<!-- <p class="on">已评分</p>-->
<!-- </div>-->


<div class="main_content_right_list_center" @click="$router.push({name:'agriculturalTrusteeshipBillDetail3'})">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<div class="tab">
<p>¥<span>165,836,365</span>.00</p>
</div>
<p class="name">
<span>数量:300</span>
<span>作物:玉米</span>
</p>
</div>
</div>
<van-cell title="买方名称" :border="false" value="张三李四联合合作社" />
<van-cell title="联系人" :border="false" value="林晓春" />
<van-cell title="联系电话" :border="false" value="165 8874 0311" />
</div>
<div class="main_content_right_list">
<div class="main_content_right_list_header">
<p>灌溉</p>
<p>服务</p>
<p class="off">已拒单</p>
</div>
<!-- <div class="main_content_right_list_center" @click="$router.push({name:'agriculturalTrusteeshipBillDetail3'})">-->
<!-- <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">-->
<!-- <div class="main_content_right_list_content">-->
<!-- <p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>-->
<!-- <div class="tab">-->
<!-- <p>¥<span>165,836,365</span>.00</p>-->
<!-- </div>-->
<!-- <p class="name">-->
<!-- <span>数量:300</span>-->
<!-- <span>作物:玉米</span>-->
<!-- </p>-->
<!-- </div>-->
<!-- </div>-->
<!-- <van-cell title="买方名称" :border="false" value="张三李四联合合作社" />-->
<!-- <van-cell title="联系人" :border="false" value="林晓春" />-->
<!-- <van-cell title="联系电话" :border="false" value="165 8874 0311" />-->
<!-- </div>-->
<!-- <div class="main_content_right_list">-->
<!-- <div class="main_content_right_list_header">-->
<!-- <p>灌溉</p>-->
<!-- <p>服务</p>-->
<!-- <p class="off">已拒单</p>-->
<!-- </div>-->


<div class="main_content_right_list_center" @click="$router.push({name:'agriculturalTrusteeshipBillDetail4'})">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<div class="tab">
<p>¥<span>165,836,365</span>.00</p>
</div>
<p class="name">
<span>数量:300</span>
<span>作物:玉米</span>
</p>
</div>
</div>
<van-cell title="买方名称" :border="false" value="张三李四联合合作社" />
<van-cell title="联系人" :border="false" value="林晓春" />
<van-cell title="联系电话" :border="false" value="165 8874 0311" />
</div>
<!-- <div class="main_content_right_list_center" @click="$router.push({name:'agriculturalTrusteeshipBillDetail4'})">-->
<!-- <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">-->
<!-- <div class="main_content_right_list_content">-->
<!-- <p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>-->
<!-- <div class="tab">-->
<!-- <p>¥<span>165,836,365</span>.00</p>-->
<!-- </div>-->
<!-- <p class="name">-->
<!-- <span>数量:300</span>-->
<!-- <span>作物:玉米</span>-->
<!-- </p>-->
<!-- </div>-->
<!-- </div>-->
<!-- <van-cell title="买方名称" :border="false" value="张三李四联合合作社" />-->
<!-- <van-cell title="联系人" :border="false" value="林晓春" />-->
<!-- <van-cell title="联系电话" :border="false" value="165 8874 0311" />-->
<!-- </div>-->
</van-list> </van-list>


</div> </div>
@@ -120,6 +134,7 @@
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import buyer from "@/components/common/buyer_footer"; import buyer from "@/components/common/buyer_footer";
import {productTypes, supplyorderList} from "@/api/agriculturalTrusteeship";


export default { export default {
name: "agriculturalTrusteeshipIndex", name: "agriculturalTrusteeshipIndex",
@@ -134,14 +149,99 @@
finished: false, finished: false,
show:true, show:true,
activeNames:[], activeNames:[],
showDialog:false
showDialog:false,
startTimeShow:false,
endTimeShow:false,
supplyDemandList:[],
cropTypeOptions:[],
orderStatusOptions:[],
productList:[],
currentDateStar: new Date(),
currentDateEnd: new Date(),
query:{
orderByColumn:'order_at',
isAsc:'asc',
demandName :'',
startOrderAt :'',
endOrderAt :'',
orderStatus :'',
},
startOrderAt:this.format(new Date(),'yyyy年MM月'),
endOrderAt:this.format(new Date(),'yyyy年MM月'),
params : {
startOrderAt:this.format(new Date(),'yyyy-MM'),
endOrderAt:this.format(new Date(),'yyyy-MM'),
},
content:''
}; };
}, },
created() { created() {

let query = {
parentId : 0,
tree:true
}
productTypes(query).then(response => {
this.productList = response.data;
});
this.getDicts("crop_type").then(response => {
this.cropTypeOptions = response.data;
});
this.getDicts("service_order_status").then(response => {
this.orderStatusOptions = response.data;
});
}, },
methods: { methods: {

getList(){
supplyorderList(this.query).then(response => {
response.rows.map(res=>{
res.cropType = this.selectDictLabel(this.cropTypeOptions, res.cropType);
res.orderStatus = this.selectDictLabel(this.orderStatusOptions, res.orderStatus);
res.productType = this.productList.filter(function (e) { return e.id == res.productType; })[0].dictName;
this.supplyDemandList.push(res);
})
if(this.supplyDemandList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},
onConfirmStar(data){
this.params.startOrderAt = this.format(data,'yyyy-mm');
this.query.startOrderAt = this.format(data,'yyyy-mm');
this.startOrderAt = this.format(data,'yyyy年MM月');
this.startTimeShow = false;
// orderStatistics(this.params).then(response => {
// this.content = response.data;
// });
this.getList();
},
onConfirmEnd(data){
this.params.endOrderAt = this.format(data,'yyyy-mm');
this.query.endOrderAt = this.format(data,'yyyy-mm');
this.endOrderAt = this.format(data,'yyyy年MM月');
this.endTimeShow = false;
// orderStatistics(this.params).then(response => {
// this.content = response.data;
// });
this.getList();
},
goDetail(type,id){
if (type == '已接单'){
this.$router.push({name:'agriculturalTrusteeshipBillDetail2',query:{id:id}})
}
if (type == '已评价'){
this.$router.push({name:'agriculturalTrusteeshipBillDetail3',query:{id:id}})
}
if (type == '已拒单'){
this.$router.push({name:'agriculturalTrusteeshipBillDetail4',query:{id:id}})
}
},
openDialog(val){
this.showDialog = val
},
}, },
} }
</script> </script>


+ 52
- 19
src/views/agriculturalTrusteeship/buyer/billDetail2.vue 파일 보기

@@ -16,22 +16,22 @@
<div class="main_content_right_list"> <div class="main_content_right_list">
<div class="main_content_right_list_header"> <div class="main_content_right_list_header">
<p class="on">商品信息</p> <p class="on">商品信息</p>
<p>灌溉</p>
<p>{{supplyDemand.productType}}</p>
<p>服务</p> <p>服务</p>
</div> </div>


<div class="main_content_right_list_center"> <div class="main_content_right_list_center">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png"> <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{supplyDemand.contractionName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>165,836,365</span>.00/亩</p>
<p>¥<span>{{supplyDemand.unitPrice}}</span>.00/{{supplyDemand.unit}}</p>
</div> </div>
</div> </div>
</div> </div>
<van-cell title="买方名称" :border="false" value="张三李四联合合作社" />
<van-cell title="联系人" :border="false" value="林晓春" />
<van-cell title="联系电话" :border="false" value="165 8874 0311" />
<van-cell title="买方名称" :border="false" :value="supplyDemand.bookName" />
<van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
<van-cell title="联系电话" :border="false" :value="supplyDemand.phonea" />
</div> </div>


<div class="main_content_right_list"> <div class="main_content_right_list">
@@ -39,9 +39,9 @@
<p class="on">买家信息</p> <p class="on">买家信息</p>
</div> </div>


<van-cell title="联系人" :border="false" value="张三李四联合合作社" />
<van-cell title="联系电话" :border="false" value="林晓春" />
<van-cell title="服务地点" :border="false" value="165 8874 0311" />
<van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
<van-cell title="联系电话" :border="false" :value="supplyDemand.phonea" />
<van-cell title="服务地点" :border="false" :value="supplyDemand.serviceAddress" />
</div> </div>


<div class="main_content_right_list"> <div class="main_content_right_list">
@@ -50,13 +50,13 @@
</div> </div>


<van-cell title="接单时间" :border="false" value="接单时间" /> <van-cell title="接单时间" :border="false" value="接单时间" />
<van-cell title="服务合同" :border="false" value="服务合同" />
<van-cell title="服务作物" :border="false" value="服务作物" />
<van-cell title="下单时间" :border="false" value="下单时间" />
<van-cell title="服务时间" :border="false" value="请输入产品规格" />
<van-cell title="服务数量" :border="false" value="请输入所属主体" />
<van-cell title="成交金额" :border="false" value="请输入单价" />
<van-cell title="备注" :border="false" value="请输入数量" />
<van-cell title="服务合同" :border="false" :value="supplyDemand.contractionName" />
<van-cell title="服务作物" :border="false" :value="supplyDemand.cropType" />
<van-cell title="下单时间" :border="false" :value="supplyDemand.orderAt" />
<van-cell title="服务时间" :border="false" :value="supplyDemand.serviceAt" />
<van-cell title="服务数量" :border="false" :value="supplyDemand.serviceNum" />
<van-cell title="成交金额" :border="false" :value="supplyDemand.realityServiceMoney" />
<van-cell title="备注" :border="false" :value="supplyDemand.serviceRemark" />
</div> </div>


</div> </div>
@@ -64,12 +64,13 @@
<!-- 内容结束 --> <!-- 内容结束 -->
<div class="footer"> <div class="footer">
<p>温馨提示:请在服务完成后进行评分</p> <p>温馨提示:请在服务完成后进行评分</p>
<img src="../../../../static/images/agriculturalTrusteeship/buyer/buyer_icon_02.png" @click="$router.push({name:'agriculturalTrusteeshipEvaluate'})">
<img src="../../../../static/images/agriculturalTrusteeship/buyer/buyer_icon_02.png" @click="$router.push({name:'agriculturalTrusteeshipEvaluate',query:{id:supplyDemand.id}})">
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productTypes, supplyorderGet} from "@/api/agriculturalTrusteeship";


export default { export default {
name: "agriculturalTrusteeshipIndex", name: "agriculturalTrusteeshipIndex",
@@ -81,13 +82,45 @@
finished: false, finished: false,
show:true, show:true,
activeNames:[], activeNames:[],
cropTypeOptions:[],
orderStatusOptions:[],
productList:[],
supplyDemand:{}
}; };
}, },
created() { created() {

let query = {
parentId : 0,
tree:true
}
productTypes(query).then(response => {
this.productList = response.data;
});
this.getDicts("crop_type").then(response => {
this.cropTypeOptions = response.data;
});
this.getDicts("service_order_status").then(response => {
this.orderStatusOptions = response.data;
});
this.getDetail();
}, },
methods: { methods: {

getDetail(){
supplyorderGet(this.$route.query.id).then(response => {
response.data.cropType = this.selectDictLabel(this.cropTypeOptions, response.data.cropType);
response.data.orderStatus = this.selectDictLabel(this.orderStatusOptions, response.data.orderStatus);
response.data.productType = this.productList.filter(function (e) { return e.id == response.data.productType; })[0].dictName;
if (response.data.supplyMasterMap){
response.data.supplyMasterMapList = [];
var attachement = response.data.supplyMasterMap.split( "," );
this.supplyMasterMapArr = response.data.supplyMasterMap.split( "," );
attachement.forEach(responseAttach=>{
response.data.supplyMasterMapList.push('/api' + responseAttach);
})
}
this.supplyDemand = response.data;
});
},
}, },
} }
</script> </script>


+ 56
- 23
src/views/agriculturalTrusteeship/buyer/billDetail3.vue 파일 보기

@@ -13,26 +13,26 @@
<!-- 内容开始 --> <!-- 内容开始 -->
<div class="main"> <div class="main">


<p class="type">已评分<span>评分时间:2022.11.12</span></p>
<p class="type">已评分<span>评分时间:{{supplyDemand.updateTime.substr(0,10)}}</span></p>
<div class="main_content_right_list first"> <div class="main_content_right_list first">
<div class="main_content_right_list_header"> <div class="main_content_right_list_header">
<p class="on">商品信息</p> <p class="on">商品信息</p>
<p>灌溉</p>
<p>{{supplyDemand.productType}}</p>
<p>服务</p> <p>服务</p>
</div> </div>


<div class="main_content_right_list_center"> <div class="main_content_right_list_center">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png"> <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{supplyDemand.contractionName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>165,836,365</span>.00/亩</p>
<p>¥<span>{{supplyDemand.unitPrice}}</span>.00/{{supplyDemand.unit}}</p>
</div> </div>
</div> </div>
</div> </div>
<van-cell title="买方名称" :border="false" value="张三李四联合合作社" />
<van-cell title="联系人" :border="false" value="林晓春" />
<van-cell title="联系电话" :border="false" value="165 8874 0311" />
<van-cell title="买方名称" :border="false" :value="supplyDemand.bookName" />
<van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
<van-cell title="联系电话" :border="false" :value="supplyDemand.phonea" />
</div> </div>


<div class="main_content_right_list"> <div class="main_content_right_list">
@@ -40,10 +40,10 @@
<p class="on">评价信息</p> <p class="on">评价信息</p>
</div> </div>


<van-cell title="实际服务数量" :border="false" value="张三李四联合合作社" />
<van-cell title="实际服务费用" :border="false" value="林晓春" />
<van-cell title="服务评分" :border="false" value="165 8874 0311" />
<van-cell title="服务评价" :border="false" value="165 8874 0311" />
<van-cell title="实际服务数量" :border="false" :value="supplyDemand.realityServiceNum" />
<van-cell title="实际服务费用" :border="false" :value="supplyDemand.realityServiceMoney" />
<van-cell title="服务评分" :border="false" :value="supplyDemand.serviceScore" />
<van-cell title="服务评价" :border="false" :value="supplyDemand.serviceAssess" />
</div> </div>


<div class="main_content_right_list"> <div class="main_content_right_list">
@@ -51,9 +51,9 @@
<p class="on">买家信息</p> <p class="on">买家信息</p>
</div> </div>


<van-cell title="联系人" :border="false" value="张三李四联合合作社" />
<van-cell title="联系电话" :border="false" value="林晓春" />
<van-cell title="服务地点" :border="false" value="165 8874 0311" />
<van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
<van-cell title="联系电话" :border="false" :value="supplyDemand.phonea" />
<van-cell title="服务地点" :border="false" :value="supplyDemand.serviceAddress" />
</div> </div>


<div class="main_content_right_list"> <div class="main_content_right_list">
@@ -62,13 +62,13 @@
</div> </div>


<van-cell title="接单时间" :border="false" value="接单时间" /> <van-cell title="接单时间" :border="false" value="接单时间" />
<van-cell title="服务合同" :border="false" value="服务合同" />
<van-cell title="服务作物" :border="false" value="服务作物" />
<van-cell title="下单时间" :border="false" value="下单时间" />
<van-cell title="服务时间" :border="false" value="请输入产品规格" />
<van-cell title="服务数量" :border="false" value="请输入所属主体" />
<van-cell title="成交金额" :border="false" value="请输入单价" />
<van-cell title="备注" :border="false" value="请输入数量" />
<van-cell title="服务合同" :border="false" :value="supplyDemand.contractionName" />
<van-cell title="服务作物" :border="false" :value="supplyDemand.cropType" />
<van-cell title="下单时间" :border="false" :value="supplyDemand.orderAt" />
<van-cell title="服务时间" :border="false" :value="supplyDemand.serviceAt" />
<van-cell title="服务数量" :border="false" :value="supplyDemand.serviceNum" />
<van-cell title="成交金额" :border="false" :value="supplyDemand.realityServiceMoney" />
<van-cell title="备注" :border="false" :value="supplyDemand.serviceRemark" />
</div> </div>


</div> </div>
@@ -78,6 +78,7 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productTypes, supplyorderGet} from "@/api/agriculturalTrusteeship";


export default { export default {
name: "agriculturalTrusteeshipIndex", name: "agriculturalTrusteeshipIndex",
@@ -89,13 +90,45 @@
finished: false, finished: false,
show:true, show:true,
activeNames:[], activeNames:[],
cropTypeOptions:[],
orderStatusOptions:[],
productList:[],
supplyDemand:{}
}; };
}, },
created() { created() {

let query = {
parentId : 0,
tree:true
}
productTypes(query).then(response => {
this.productList = response.data;
});
this.getDicts("crop_type").then(response => {
this.cropTypeOptions = response.data;
});
this.getDicts("service_order_status").then(response => {
this.orderStatusOptions = response.data;
});
this.getDetail();
}, },
methods: { methods: {

getDetail(){
supplyorderGet(this.$route.query.id).then(response => {
response.data.cropType = this.selectDictLabel(this.cropTypeOptions, response.data.cropType);
response.data.orderStatus = this.selectDictLabel(this.orderStatusOptions, response.data.orderStatus);
response.data.productType = this.productList.filter(function (e) { return e.id == response.data.productType; })[0].dictName;
if (response.data.supplyMasterMap){
response.data.supplyMasterMapList = [];
var attachement = response.data.supplyMasterMap.split( "," );
this.supplyMasterMapArr = response.data.supplyMasterMap.split( "," );
attachement.forEach(responseAttach=>{
response.data.supplyMasterMapList.push('/api' + responseAttach);
})
}
this.supplyDemand = response.data;
});
},
}, },
} }
</script> </script>


+ 54
- 11
src/views/agriculturalTrusteeship/buyer/evaluate.vue 파일 보기

@@ -12,14 +12,15 @@


<!-- 内容开始 --> <!-- 内容开始 -->
<div class="main"> <div class="main">
<p class="topHead">温馨提示:请在服务完成后进行评分,评分不可撤销。投诉商品请致电 <span>150 3250 1255</span></p>


<div class="main_content_right_list"> <div class="main_content_right_list">
<div class="main_content_right_list_center"> <div class="main_content_right_list_center">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png"> <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{supplyDemand.contractionName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>165,836,365</span>.00/亩</p>
<p>¥<span>{{supplyDemand.unitPrice}}</span>.00/{{supplyDemand.unit}}</p>
</div> </div>
</div> </div>
</div> </div>
@@ -27,10 +28,10 @@




<div class="main_content_right_list"> <div class="main_content_right_list">
<van-field label="实际服务数量" :border="false" input-align="right" placeholder="实际服务数量" />
<van-field label="实际服务费用" :border="false" input-align="right" placeholder="实际服务费用" />
<van-field label="服务评分" :border="false" input-align="right" placeholder="服务评分" />
<van-field label="服务评价" :border="false" input-align="right" placeholder="服务评价" />
<van-field label="实际服务数量" v-model="supplyDemand.realityServiceNum" :border="false" input-align="right" placeholder="实际服务数量" />
<van-field label="实际服务费用" v-model="supplyDemand.realityServiceMoney" :border="false" input-align="right" placeholder="实际服务费用" />
<van-field label="服务评分" v-model="supplyDemand.serviceScore" :border="false" input-align="right" placeholder="服务评分" />
<van-field label="服务评价" v-model="supplyDemand.serviceAssess" :border="false" input-align="right" placeholder="服务评价" />
</div> </div>


</div> </div>
@@ -38,14 +39,15 @@
<!-- 内容结束 --> <!-- 内容结束 -->


<div class="main_btn"> <div class="main_btn">
<p>确定</p>
<p>取消</p>
<p @click="goSubmit()">确定</p>
<p @click="history.back(-1)">取消</p>
</div> </div>


</div> </div>
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {supplyComment, supplyorderGet} from "@/api/agriculturalTrusteeship";


export default { export default {
name: "agriculturalTrusteeshipIndex", name: "agriculturalTrusteeshipIndex",
@@ -57,25 +59,66 @@
finished: false, finished: false,
show:true, show:true,
activeNames:[], activeNames:[],
cropTypeOptions:[],
orderStatusOptions:[],
productList:[],
supplyDemand:{},
query:{
realityServiceNum:'',
realityServiceMoney:'',
serviceScore:'',
serviceAssess:'',
}
}; };
}, },
created() { created() {

this.getDetail();
}, },
methods: { methods: {

getDetail(){
supplyorderGet(this.$route.query.id).then(response => {
if (response.data.supplyMasterMap){
response.data.supplyMasterMapList = [];
var attachement = response.data.supplyMasterMap.split( "," );
this.supplyMasterMapArr = response.data.supplyMasterMap.split( "," );
attachement.forEach(responseAttach=>{
response.data.supplyMasterMapList.push('/api' + responseAttach);
})
}
this.supplyDemand = response.data;
});
},
goSubmit(){
supplyComment(this.supplyDemand).then(response => {
this.$notify({ type: 'success', message: '评价成功' });
setTimeout(function () {
history.back(-2);
},2000)
})
},
}, },
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.home_wrapper{ .home_wrapper{

background: #F6F6F6;
height: 100vh;
} }
/*内容*/ /*内容*/
.main{ .main{
width: 94%; width: 94%;
margin: 0 auto; margin: 0 auto;
padding-bottom: 5vh; padding-bottom: 5vh;
.topHead{
color: #989898;
background: rgba(0,0,0,0.05);
padding: 5PX 10PX;
border-radius: 8PX;
margin-top: 2vh;
span{
color: #1E67FF;
}
}
.main_content_right_list{ .main_content_right_list{
margin-top: 2vh; margin-top: 2vh;
padding: 1.5vh 3%; padding: 1.5vh 3%;


+ 115
- 34
src/views/agriculturalTrusteeship/buyer/index.vue 파일 보기

@@ -2,11 +2,11 @@
<div class="home_wrapper"> <div class="home_wrapper">
<!-- 头部开始 --> <!-- 头部开始 -->
<div class="header"> <div class="header">
<!-- <img :src="avatar">-->
<img src="../../../../static/images/agriculturalTrusteeship/index/header.png"> <img src="../../../../static/images/agriculturalTrusteeship/index/header.png">
<div class="header_box" @click="$router.push({name:'agriculturalTrusteeshipLogin'})"> <div class="header_box" @click="$router.push({name:'agriculturalTrusteeshipLogin'})">
<p>林万金<span>15835691254</span><img src="../../../../static/images/agriculturalTrusteeship/buyer/buyer_icon_01.png" alt=""></p>
<p>北京市海淀区丁春路165街玉龙苑9区2单元10...</p>

<p>{{nickName}}<span>{{phonenumber}}</span><img src="../../../../static/images/agriculturalTrusteeship/buyer/buyer_icon_01.png" alt=""></p>
<p>{{allDeptName}}</p>
</div> </div>
</div> </div>
<!-- 头部结束 --> <!-- 头部结束 -->
@@ -57,59 +57,46 @@
</div> </div>
<div class="search"> <div class="search">
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" /> <img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" />
<input type="text" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" />
<input type="text" v-model="searchInput" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" @click="goSearch" />
</div> </div>


<div class="main_content"> <div class="main_content">
<div class="main_content_left"> <div class="main_content_left">
<van-sidebar v-model="activeKey">
<van-sidebar v-model="activeKey" @change="onChangeIn">
<van-sidebar-item title="全套服务" /> <van-sidebar-item title="全套服务" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item v-for="(item,index) in productList" :key="index" :title="item.dictName" />
</van-sidebar> </van-sidebar>
</div> </div>
<div class="main_content_right"> <div class="main_content_right">
<div class="main_content_right_header"> <div class="main_content_right_header">
<p class="main_content_right_header_tit">灌溉</p>
<van-tabs v-model="active" animated>
<p class="main_content_right_header_tit">{{main_content_right_header_tit}}</p>
<van-tabs v-model="active" animated @change="orderByChange">
<van-tab title="评分排序"></van-tab> <van-tab title="评分排序"></van-tab>
<van-tab title="销量排序"></van-tab> <van-tab title="销量排序"></van-tab>
</van-tabs> </van-tabs>
</div> </div>
<div class="main_content_right_nav">
<p>服务</p>
<p>服务</p>
<p>服务</p>
<p>服务</p>
<p>服务</p>
<div class="main_content_right_nav" v-if="activeKey!=0">
<p v-for="(item,index) in productListChildren" :key="index">{{item.dictName}}</p>
</div> </div>


<van-list <van-list
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item" @click="$router.push({name:'agriculturalTrusteeshipPlaceOrder'})">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<!-- @load="onLoad" @click="$router.push({name:'agriculturalTrusteeshipPlaceOrder'})"-->
<div class="main_content_right_list" v-for="(item,index) in supplyDemandListYes" :key="index" @click="$router.push({name:'agriculturalTrusteeshipPlaceOrder',query:{id:item.id}})">
<img v-if="item.supplyMasterMap" :src="item.supplyMasterMap">
<img v-else src="../../../../static/images/agriculturalTrusteeship/zwtp.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.supplyDemandName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>66</span>.00/亩</p>
<p><span>销 600</span><span>分 4.7</span></p>
<p>¥<span>{{item.unitPrice}}</span>.00/{{item.unit}}</p>
<p><span>销{{item.orderNum}}</span><span>分{{item.orderScore}}</span></p>
</div> </div>
<p class="name">张三社会服务旗舰店</p>
<p class="name">{{item.entityName}}</p>
</div> </div>
</div> </div>
</van-list> </van-list>
@@ -128,6 +115,9 @@
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import buyer from "@/components/common/buyer_footer"; import buyer from "@/components/common/buyer_footer";
import {productTypes, supplyDemandList} from "@/api/agriculturalTrusteeship";
import {getInfo} from "@/api/login";
import request from "@/utils/request";
export default { export default {
name: "agriculturalTrusteeshipBuyIndex", name: "agriculturalTrusteeshipBuyIndex",
components: { components: {
@@ -139,13 +129,98 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
supplyDemandListYes:[],
supplyDemandList:[],
productListChildren:[],
productList:[],
main_content_right_header_tit:'全套服务',
query:{
entityId:Cookies.get('ACCESS-SESSION-ID'),
productType:'',
supplyDemandName:''
},
nickName:'',
allDeptName:'',
userId:'',
avatar:'',
phonenumber:'',
searchInput:'',
}; };
}, },
created() { created() {

getInfo().then(response => {
this.nickName = response.user.nickName
this.allDeptName = response.user.allDeptName
this.userId = response.user.userId
this.phonenumber = response.user.phonenumber
this.avatar = location.protocol+"//"+location.host+request.defaults.baseURL+response.user.avatar
});
let query = {
parentId : 0
}
productTypes(query).then(response => {
this.productList = response.data;
});
}, },
methods: { methods: {
getList(){
supplyDemandList(this.query).then(response => {
response.rows.map(res=>{
if(res.publishStatus == 3){
// console.log(res.supplyMasterMap.split( "," ))
if (res.supplyMasterMap){
let supplyMasterMap = res.supplyMasterMap.split( "," )
res.supplyMasterMap = '/api'+supplyMasterMap[0]
}
this.supplyDemandListYes.push(res);
}
this.supplyDemandList.push(res);
})
if(this.supplyDemandList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},
onChangeIn(val){
this.supplyDemandListYes = [];
if (val == 0){
this.main_content_right_header_tit = '全套服务';
this.query.productType = '';
this.getList();
return;
}
this.query.productType = this.productList[val-1].id;
let parentId = this.productList[val-1].id;
this.main_content_right_header_tit = this.productList[val-1].dictName
let query1 = {
parentId : parentId
}
productTypes(query1).then(response => {
this.productListChildren = response.data;
this.getList();
});
},


goSearch(){
this.supplyDemandListYes = [];
this.query.supplyDemandName = this.searchInput;
this.getList();
},
orderByChange(){
console.log(this.active)
if (this.active == 0){
this.query.orderByColumn = 'order_score'
}
if (this.active == 1){
this.query.orderByColumn = 'order_num'
}
this.supplyDemandListYes = [];
this.getList();
}
}, },
} }
</script> </script>
@@ -296,6 +371,9 @@
padding-left: 4%; padding-left: 4%;
height: 100%; height: 100%;
overflow-y: scroll; overflow-y: scroll;
/deep/ .van-list{
padding-bottom: 10vh;
}
.main_content_right_header{ .main_content_right_header{
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@@ -322,11 +400,14 @@
img{ img{
border-radius: 15PX; border-radius: 15PX;
margin-right: 4%; margin-right: 4%;
width: 25vw;
height: 25vw;
} }
.main_content_right_list_content{ .main_content_right_list_content{
display: flex; display: flex;
flex-direction:column; flex-direction:column;
justify-content: space-between; justify-content: space-between;
flex: 1;
.tt{ .tt{
color: #333333; color: #333333;
font-size: .35rem; font-size: .35rem;


+ 176
- 19
src/views/agriculturalTrusteeship/buyer/placeOrder.vue 파일 보기

@@ -16,22 +16,22 @@
<div class="main_content_right_list"> <div class="main_content_right_list">
<div class="main_content_right_list_header"> <div class="main_content_right_list_header">
<p class="on">商品信息</p> <p class="on">商品信息</p>
<p>灌溉</p>
<p>{{supplyDemand.productType}}</p>
<p>服务</p> <p>服务</p>
</div> </div>


<div class="main_content_right_list_center"> <div class="main_content_right_list_center">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<img :src="supplyDemand.supplyMasterMapList[0]" style="width: 25vw;height: 25vw;">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{supplyDemand.supplyDemandName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>165,836,365</span>.00/亩</p>
<p>¥<span>{{supplyDemand.unitPrice}}</span>/{{supplyDemand.unit}}</p>
</div> </div>
</div> </div>
</div> </div>
<van-cell title="买方名称" :border="false" value="张三李四联合合作社" />
<van-cell title="联系人" :border="false" value="林晓春" />
<van-cell title="联系电话" :border="false" value="165 8874 0311" />
<van-cell title="卖方名称" :border="false" :value="supplyDemand.entityName" />
<van-cell title="联系人" :border="false" :value="supplyDemand.linker" />
<van-cell title="联系电话" :border="false" :value="supplyDemand.supplyDemandTal" />
</div> </div>


<div class="main_content_right_list"> <div class="main_content_right_list">
@@ -39,9 +39,9 @@
<p class="on">买家信息</p> <p class="on">买家信息</p>
</div> </div>


<van-cell title="联系人" :border="false" value="张三李四联合合作社" />
<van-cell title="联系电话" :border="false" value="林晓春" />
<van-cell title="服务地点" :border="false" value="165 8874 0311" />
<van-cell title="联系人" :border="false" :value="user.nickName" />
<van-cell title="联系电话" :border="false" :value="user.phonenumber" />
<van-cell title="服务地点" :border="false" :value="user.deptName" />
</div> </div>


<div class="main_content_right_list"> <div class="main_content_right_list">
@@ -49,19 +49,92 @@
<p class="on">订单信息</p> <p class="on">订单信息</p>
</div> </div>


<van-field label="服务合同" :border="false" input-align="right" placeholder="请输入产品名称" />
<van-field label="服务作物" :border="false" input-align="right" placeholder="请输入产品类型" />
<van-field label="下单时间" :border="false" input-align="right" placeholder="请输入二级分类" />
<van-field label="服务时间" :border="false" input-align="right" placeholder="请输入产品规格" />
<van-field label="服务数量" :border="false" input-align="right" placeholder="请输入所属主体" />
<van-field label="成交金额" :border="false" input-align="right" placeholder="请输入单价" />
<van-field label="备注" :border="false" input-align="right" placeholder="请输入数量" />
<van-field
readonly
clickable
required
:border="false"
:rules="[{ required: true , message:'请选择服务合同'}]"
v-model="fwht"
label="服务合同"
placeholder="请选择服务合同"
@click="showfwht = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showfwht" position="bottom">
<van-picker
show-toolbar
:columns="fwhtOptions"
@confirm="onConfirmFwht"
@cancel="showfwht = false"
/>
</van-popup>
<!-- <van-field label="服务合同" v-model="supplyDemand.fwhtId" :border="false" input-align="right" placeholder="请输入服务合同" />-->
<van-field readonly label="服务作物" v-model="supplyDemand.cropType" :border="false" input-align="right" placeholder="服务作物" />

<!-- <van-field label="下单时间" v-model="supplyDemand.orderAt" :border="false" input-align="right" placeholder="请输入下单时间" />-->

<van-field
readonly
clickable
required
:border="false"
:rules="[{ required: true , message:'请选择下单时间'}]"
v-model="supplyDemand.orderAt"
label="下单时间"
placeholder="请选择下单时间"
@click="showOrderAt = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showOrderAt" position="bottom">
<van-datetime-picker
v-model="orderAt"
@confirm="onConfirmOrderAt"
type="date"
title="选择年月"
/>
</van-popup>

<van-field
readonly
clickable
required
:border="false"
:rules="[{ required: true , message:'请选择服务时间'}]"
v-model="supplyDemand.serviceAt"
label="服务时间"
placeholder="请选择服务时间"
@click="showServiceAt = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showServiceAt" position="bottom">
<van-datetime-picker
v-model="serviceAt"
@confirm="onConfirmServiceAt"
type="date"
title="选择年月"
/>
</van-popup>

<van-field label="服务数量" :border="false" input-align="right" >
<template #input>
<van-stepper v-model="supplyDemand.serviceNum" />
</template>
</van-field>

<van-field label="备注" v-model="supplyDemand.serviceRemark" :border="false" input-align="right" placeholder="请输入备注" />
</div> </div>


</div> </div>


<div class="main_btn"> <div class="main_btn">
<p>下单</p>
<p @click="placeOrder">下单</p>
<p>取消</p> <p>取消</p>
</div> </div>
<!-- 内容结束 --> <!-- 内容结束 -->
@@ -69,6 +142,9 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productTypes, supplyDemandGet,fwhtList,placeOrder} from "@/api/agriculturalTrusteeship";
import {getInfo} from "@/api/login";
import request from "@/utils/request";


export default { export default {
name: "agriculturalTrusteeshipIndex", name: "agriculturalTrusteeshipIndex",
@@ -78,21 +154,102 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
showfwht: false,
show:true, show:true,
orderAt:new Date(),
showOrderAt: false,
serviceAt:new Date(),
showServiceAt: false,
activeNames:[], activeNames:[],
supplyDemand:{},
projectTypeOptions:[],
productList:[],
productList1:[],
demandTypeOptions:[],
productTypeOptions:[],
supplyMasterMapArr:[],
bodyTypeOptions:[],
fwhtOptions:[],
user:{},
fwht:''
}; };
}, },
created() { created() {

fwhtList({deptId: this.$store.state.user.loginDeptId, contractionStatus: '1'}).then(response => {
this.fwhtOptions = response.rows;
});
getInfo().then(response => {
this.user = response.user;
});
let query = {
parentId : ''
}
let query1 = {
tree : true
}
productTypes(query).then(response => {
this.productList = response.data;
});
productTypes(query1).then(response => {
this.productList1 = response.data;
});
this.getDicts("newBusinessEntity_statistics_project").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.projectTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.bodyTypeOptions = response.data;
});
this.getDetail();
}, },
methods: { methods: {
getDetail(){
supplyDemandGet(this.$route.query.id).then(response => {
response.data.bodyType = this.selectDictLabel(this.bodyTypeOptions, response.data.bodyType);
response.data.productType = this.productList1.filter(function (e) { return e.id == response.data.productType; })[0].dictName;
if (response.data.supplyMasterMap){
response.data.supplyMasterMapList = [];
var attachement = response.data.supplyMasterMap.split( "," );
this.supplyMasterMapArr = response.data.supplyMasterMap.split( "," );
attachement.forEach(responseAttach=>{
response.data.supplyMasterMapList.push('/api' + responseAttach);
})
}
this.supplyDemand = response.data;
});
},
onConfirmFwht(){


},
onConfirmOrderAt(data){
this.supplyDemand.orderAt = this.format(data,'yyyy-MM-dd');
this.orderAt = data;
this.showOrderAt = false;
},
onConfirmServiceAt(data){
console.log(data)
this.supplyDemand.serviceAt = this.format(data,'yyyy-MM-dd');
this.serviceAt = data;
this.showServiceAt = false;
},
placeOrder(){
placeOrder(this.supplyDemand).then(response => {
if(response.code=="200"){
this.$notify({ type: 'success', message: '发布成功' });
setTimeout(function(){
history.back(-1);
},2000)
}
});
}
}, },
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.home_wrapper{ .home_wrapper{


}
/deep/ .van-cell--required::before{
left: 17vw;
} }
/*头部*/ /*头部*/
.header{ .header{


+ 70
- 13
src/views/agriculturalTrusteeship/buyer/waitBill.vue 파일 보기

@@ -3,7 +3,7 @@
<!-- 头部开始 --> <!-- 头部开始 -->
<div class="header"> <div class="header">
<p>待处理订单</p> <p>待处理订单</p>
<p>共20个新订单</p>
<p>共{{supplyDemandList.length}}个新订单</p>
</div> </div>
<!-- 头部结束 --> <!-- 头部结束 -->


@@ -14,31 +14,32 @@
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"--> <!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item" @click="$router.push({name:'agriculturalTrusteeshipBillDetail'})">
<div class="main_content_right_list" v-for="(item,index) in supplyDemandList" :key="index" @click="$router.push({name:'agriculturalTrusteeshipSocializationBillDetail',query:{id:item.id}})">
<div class="main_content_right_list_header"> <div class="main_content_right_list_header">
<p>灌溉</p>
<p>{{item.productType}}</p>
<p>服务</p> <p>服务</p>
<p>2022.03.15</p>
<p>{{item.createTime.substr(0,10)}}</p>
</div> </div>


<div class="main_content_right_list_center"> <div class="main_content_right_list_center">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png"> <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.contractionName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>165,836,365</span>.00</p>
<p>¥<span>{{item.realityServiceMoney}}</span>.00</p>
</div> </div>
<p class="name"> <p class="name">
<span>数量:300</span>
<span>作物:玉米</span>
<span>数量:{{item.serviceNum}}</span>
<span>作物:{{item.cropType}}</span>
</p> </p>
</div> </div>
</div> </div>
<van-cell title="买方名称" :border="false" value="张三李四联合合作社" />
<van-cell title="联系人" :border="false" value="林晓春" />
<van-cell title="联系电话" :border="false" value="165 8874 0311" />
<van-cell title="买方名称" :border="false" :value="item.bookName" />
<van-cell title="联系人" :border="false" :value="item.linkera" />
<van-cell title="联系电话" :border="false" :value="item.phonea" />
</div> </div>
</van-list> </van-list>


@@ -51,6 +52,7 @@
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import buyer from "@/components/common/buyer_footer"; import buyer from "@/components/common/buyer_footer";
import {productTypes, supplyorderList} from "@/api/agriculturalTrusteeship";


export default { export default {
name: "agriculturalTrusteeshipIndex", name: "agriculturalTrusteeshipIndex",
@@ -63,13 +65,67 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
showDialog:false
showDialog:false,
supplyDemandList:[],
supplyDemandList1:[],
cropTypeOptions:[],
orderStatusOptions:[],
productList:[],
currentDateStar: new Date(),
currentDateEnd: new Date(),
query:{
orderByColumn:'order_at',
isAsc:'asc',
demandName :'',
startOrderAt :'',
endOrderAt :'',
orderStatus :'',
},
startOrderAt:this.format(new Date(),'yyyy年MM月'),
endOrderAt:this.format(new Date(),'yyyy年MM月'),
params : {
startOrderAt:this.format(new Date(),'yyyy-MM'),
endOrderAt:this.format(new Date(),'yyyy-MM'),
},
content:''
}; };
}, },
created() { created() {

let query = {
parentId : 0,
tree:true
}
productTypes(query).then(response => {
this.productList = response.data;
});
this.getDicts("crop_type").then(response => {
this.cropTypeOptions = response.data;
});
this.getDicts("service_order_status").then(response => {
this.orderStatusOptions = response.data;
});
}, },
methods: { methods: {
getList(){
supplyorderList(this.query).then(response => {
response.rows.map(res=>{
if ( res.orderStatus == '1'){
res.cropType = this.selectDictLabel(this.cropTypeOptions, res.cropType);
res.orderStatus = this.selectDictLabel(this.orderStatusOptions, res.orderStatus);
res.productType = this.productList.filter(function (e) { return e.id == res.productType; })[0].dictName;
this.supplyDemandList.push(res);
}
this.supplyDemandList1.push(res);
})
if(this.supplyDemandList1.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},
openDialog(val){ openDialog(val){
this.showDialog = val this.showDialog = val
}, },
@@ -79,6 +135,7 @@
<style scoped lang="scss"> <style scoped lang="scss">
.home_wrapper{ .home_wrapper{
background: #F9F9F9; background: #F9F9F9;
height: 100vh;
} }
/*头部*/ /*头部*/
.header{ .header{


+ 94
- 32
src/views/agriculturalTrusteeship/index.vue 파일 보기

@@ -56,59 +56,46 @@
</div> </div>
<div class="search"> <div class="search">
<img src="../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" /> <img src="../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" />
<input type="text" placeholder="输入需求进行搜索" />
<img src="../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" />
<input type="text" v-model="searchInput" placeholder="输入需求进行搜索" />
<img src="../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" @click="goSearch" />
</div> </div>


<div class="main_content"> <div class="main_content">
<div class="main_content_left"> <div class="main_content_left">
<van-sidebar v-model="activeKey">
<van-sidebar v-model="activeKey" @change="onChangeIn">
<van-sidebar-item title="全套服务" /> <van-sidebar-item title="全套服务" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item v-for="(item,index) in productList" :key="index" :title="item.dictName" />
</van-sidebar> </van-sidebar>
</div> </div>
<div class="main_content_right"> <div class="main_content_right">
<div class="main_content_right_header"> <div class="main_content_right_header">
<p class="main_content_right_header_tit">灌溉</p>
<van-tabs v-model="active" animated>
<p class="main_content_right_header_tit">{{main_content_right_header_tit}}</p>
<van-tabs v-model="active" animated @change="orderByChange">
<van-tab title="评分排序"></van-tab> <van-tab title="评分排序"></van-tab>
<van-tab title="销量排序"></van-tab> <van-tab title="销量排序"></van-tab>
</van-tabs> </van-tabs>
</div> </div>
<div class="main_content_right_nav">
<p>服务</p>
<p>服务</p>
<p>服务</p>
<p>服务</p>
<p>服务</p>
<div class="main_content_right_nav" v-if="activeKey!=0">
<p v-for="(item,index) in productListChildren" :key="index">{{item.dictName}}</p>
</div> </div>


<van-list <van-list
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item">
<img src="../../../static/images/agriculturalTrusteeship/index/test.png">
<!-- @load="onLoad" @click="$router.push({name:'agriculturalTrusteeshipPlaceOrder'})"-->
<div class="main_content_right_list" v-for="(item,index) in supplyDemandListYes" :key="index" @click="$router.push({name:'agriculturalTrusteeshipSocializationProjectDetail',query:{id:item.id}})">
<img v-if="item.supplyMasterMap" :src="item.supplyMasterMap">
<img v-else src="../../../static/images/agriculturalTrusteeship/zwtp.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.supplyDemandName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>66</span>.00/亩</p>
<p><span>销 600</span><span>分 4.7</span></p>
<p>¥<span>{{item.unitPrice}}</span>.00/{{item.unit}}</p>
<p><span>销{{item.orderNum}}</span><span>分{{item.orderScore}}</span></p>
</div> </div>
<p class="name">张三社会服务旗舰店</p>
<p class="name">{{item.entityName}}</p>
</div> </div>
</div> </div>
</van-list> </van-list>
@@ -125,6 +112,7 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productTypes, supplyDemandList} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipIndex", name: "agriculturalTrusteeshipIndex",
data() { data() {
@@ -133,13 +121,84 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
supplyDemandListYes:[],
supplyDemandList:[],
productListChildren:[],
productList:[],
main_content_right_header_tit:'全套服务',
query:{
entityId:Cookies.get('ACCESS-SESSION-ID'),
productType:'',
supplyDemandName:''
},
searchInput:'',
}; };
}, },
created() { created() {

let query = {
parentId : 0
}
productTypes(query).then(response => {
this.productList = response.data;
});
}, },
methods: { methods: {

getList(){
supplyDemandList(this.query).then(response => {
response.rows.map(res=>{
if(res.publishStatus == 3){
if (res.supplyMasterMap){
let supplyMasterMap = res.supplyMasterMap.split( "," )
res.supplyMasterMap = '/api'+supplyMasterMap[0]
}
this.supplyDemandListYes.push(res);
}
this.supplyDemandList.push(res);
})
if(this.supplyDemandList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},
onChangeIn(val){
this.supplyDemandListYes = [];
if (val == 0){
this.main_content_right_header_tit = '全套服务';
this.query.productType = '';
this.getList();
return;
}
this.query.productType = this.productList[val-1].id;
let parentId = this.productList[val-1].id;
this.main_content_right_header_tit = this.productList[val-1].dictName
let query1 = {
parentId : parentId
}
productTypes(query1).then(response => {
this.productListChildren = response.data;
this.getList();
});
},
goSearch(){
this.supplyDemandListYes = [];
this.query.supplyDemandName = this.searchInput;
this.getList();
},
orderByChange(){
console.log(this.active)
if (this.active == 0){
this.query.orderByColumn = 'order_score'
}
if (this.active == 1){
this.query.orderByColumn = 'order_num'
}
this.supplyDemandListYes = [];
this.getList();
}
}, },
} }
</script> </script>
@@ -301,11 +360,14 @@
img{ img{
border-radius: 15PX; border-radius: 15PX;
margin-right: 4%; margin-right: 4%;
width: 25vw;
height: 25vw;
} }
.main_content_right_list_content{ .main_content_right_list_content{
display: flex; display: flex;
flex-direction:column; flex-direction:column;
justify-content: space-between; justify-content: space-between;
flex: 1;
.tt{ .tt{
color: #333333; color: #333333;
font-size: .35rem; font-size: .35rem;


+ 133
- 19
src/views/agriculturalTrusteeship/insurance/insuranceList.vue 파일 보기

@@ -16,26 +16,30 @@
<van-tab title="保险公司"> <van-tab title="保险公司">
<div class="search"> <div class="search">
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" /> <img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" />
<input type="text" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" />
<input type="text" v-model="searchServiceInput" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" @click="goSearchService" />
</div> </div>


<van-list <van-list
v-model="loading"
:finished="finished"
v-model="loading1"
:finished="finished1"
finished-text="没有更多了" finished-text="没有更多了"
@load="getServiceList"
> >
<div class="content" v-for="item in 10" :key="item" @click="$router.push({name:'agriculturalTrusteeshipInsuranceProjectList'})">
<p class="content_tt">张三李四合伙开公司有限公司</p>
<div class="content" v-for="(item,index) in serviceList" :key="index" @click="$router.push({name:'agriculturalTrusteeshipInsuranceProjectList',query:{id:item.id,financialName:item.financialName}})">
<p class="content_tt">{{item.financialName}}</p>
<div class="content_con"> <div class="content_con">
<div class="content_con_left"> <div class="content_con_left">
<p>60个产品</p>
<p>林巧巧</p>
<p>18765332194</p>
<p>{{item.products.length}}个产品</p>
<p>{{item.linker}}</p>
<p>{{item.phone}}</p>
</div> </div>
<div class="content_con_right"> <div class="content_con_right">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<img :src="itemChild" v-for="(itemChild,indexChild) in item.mainImg2" v-if="indexChild < 2" :key="indexChild" style="width: 22vw;height: 22vw;">

<img v-if="!item.mainImg2 || item.mainImg2.length < 2" src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 22vw;height: 22vw;">
<img v-if="!item.mainImg2 || item.mainImg2.length < 1" src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 22vw;height: 22vw;">

<img src="../../../../static/images/agriculturalTrusteeship/insurance/insurance_go.png"> <img src="../../../../static/images/agriculturalTrusteeship/insurance/insurance_go.png">
</div> </div>
</div> </div>
@@ -46,25 +50,27 @@
<van-tab title="保险产品"> <van-tab title="保险产品">
<div class="search"> <div class="search">
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" /> <img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" />
<input type="text" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" />
<input type="text" v-model="searchInput" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" @click="goSearch" />
</div> </div>


<van-list <van-list
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"--> <!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list" v-for="(item,index) in productListYes" :key="index" @click="$router.push({name:'agriculturalTrusteeshipInsuranceProjectDetail',query:{id:item.id}})">
<img v-if="item.mainImg" :src="item.mainImg" style="width: 18vw;height: 18vw;">
<img v-else src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 18vw;height: 18vw;">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.productName}}</p>
<!-- <div class="tab">--> <!-- <div class="tab">-->
<!-- <p>¥<span>66</span>.00/亩</p>--> <!-- <p>¥<span>66</span>.00/亩</p>-->
<!-- <p><span>销 600</span><span>分 4.7</span></p>--> <!-- <p><span>销 600</span><span>分 4.7</span></p>-->
<!-- </div>--> <!-- </div>-->
<p class="name">张三社会服务旗舰店</p>
<p class="name">{{item.financialName}}</p>
</div> </div>
</div> </div>
</van-list> </van-list>
@@ -78,6 +84,7 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productList, productTypes, serviceList} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipInsuranceList", name: "agriculturalTrusteeshipInsuranceList",
data() { data() {
@@ -86,19 +93,126 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
loading1: false,
finished1: false,
productListNo:[],
productList:[],
supplyDemandListYes:[],
supplyDemandList:[],
serviceList:[],
productListYes:[],
financialTypeOptions:[],
productListChildren:[],
main_content_right_header_tit:'全套服务',
query:{
entityId:'',
entityName:'',
productType:''
},
query2:{
productName :'',
orderByColumn:'order_score'
},
searchServiceInput:'',
searchInput:'',
}; };
}, },
created() { created() {


}, },
methods: { methods: {

getServiceList(){
serviceList(this.query).then(response => {
response.rows.map(res=>{
// res.industryClassificationType = this.selectDictLabel(this.financialTypeOptions, res.industryClassificationType);
if (res.mainImg){
let supplyMasterMap = res.mainImg.split( "," )
res.mainImg2 = []
supplyMasterMap.map(rr=>{
res.mainImg2.push('/api'+rr)
})
}
this.serviceList.push(res);
})
if(this.serviceList.length >= response.total){
this.finished1 = true;
return;
}else{
this.loading1 = false;
this.query.pageNum += 1 ;
}
});
},
getList(){
productList(this.query2).then(response => {
response.rows.map(res=>{
if(res.sysYesNo == 'Y'){
if (res.mainImg){
let supplyMasterMap = res.mainImg.split( "," )
res.mainImg = '/api'+supplyMasterMap[0]
}
this.productListYes.push(res);
}
if(res.sysYesNo == 'N'){
this.productListNo.push(res);
}
this.productList.push(res);
})
if(this.productList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},
onChangeIn(val){
this.supplyDemandListYes = [];
if (val == 0){
this.main_content_right_header_tit = '全套服务';
this.query.productType = '';
this.getList();
return;
}
this.query.productType = this.productList[val-1].id;
let parentId = this.productList[val-1].id;
this.main_content_right_header_tit = this.productList[val-1].dictName
let query1 = {
parentId : parentId
}
productTypes(query1).then(response => {
this.productListChildren = response.data;
this.getList();
});
},
goSearchService(){
this.serviceList = [];
this.query.entityName = this.searchServiceInput;
this.getServiceList();
},
goSearch(){
this.productListYes = [];
this.query2.productName = this.searchInput;
this.getList();
},
orderByChange(){
if (this.activePs == 0){
this.query2.orderByColumn = 'order_score'
}
if (this.activePs == 1){
this.query2.orderByColumn = 'order_num'
}
this.supplyDemandListYes = [];
this.getList();
}
}, },
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.home_wrapper{ .home_wrapper{

height: 100vh;
background: #ffffff;
} }
/*头部*/ /*头部*/
.header{ .header{


+ 38
- 12
src/views/agriculturalTrusteeship/insurance/insuranceProjectDetail.vue 파일 보기

@@ -14,23 +14,20 @@
<!-- 内容开始 --> <!-- 内容开始 -->
<div class="main"> <div class="main">
<van-swipe class="my-swipe" :autoplay="3000" indicator-color="white"> <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test2.png"></van-swipe-item>
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test2.png"></van-swipe-item>
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test2.png"></van-swipe-item>
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test2.png"></van-swipe-item>
<van-swipe-item v-for="(item,index) in product.mainImgList" :key="index"><img :src="item"></van-swipe-item>
</van-swipe> </van-swipe>


<div class="main_content"> <div class="main_content">
<p class="tt">农业保险玉米保险30/亩小麦50/亩大豆60/亩</p>
<p class="name">张三社会服务旗舰店</p>
<p class="tt">{{product.productName}}</p>
<p class="name">{{product.financialName}}</p>
</div> </div>


<div class="main_box"> <div class="main_box">
<van-cell title="产品类型" :border="false" value="内容" />
<van-cell title="联系人" :border="false" value="内容" />
<van-cell title="联系方式" :border="false" value="内容" />
<van-cell title="产品描述" :border="false" value="内容" />
<van-cell title="发布日期" :border="false" value="内容" />
<van-cell title="产品类型" :border="false" :value="product.productType" />
<van-cell title="联系人" :border="false" :value="product.financialService.linker" />
<van-cell title="联系方式" :border="false" :value="product.financialService.phone" />
<van-cell title="产品描述" :border="false" :value="product.productLink" />
<van-cell title="发布日期" :border="false" :value="product.releaseDate" />
</div> </div>
</div> </div>
<!-- 内容结束 --> <!-- 内容结束 -->
@@ -39,6 +36,7 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productGet} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipInsuranceDetail", name: "agriculturalTrusteeshipInsuranceDetail",
data() { data() {
@@ -47,13 +45,34 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
product:{
financialService:{
linker:''
}
}
}; };
}, },
created() { created() {


this.getDetail();
}, },
methods: { methods: {

getDetail(){
productGet(this.$route.query.id).then(response => {
if (response.data.mainImg){
response.data.mainImgList = [];
var attachement = response.data.mainImg.split( "," );
attachement.forEach(responseAttach=>{
response.data.mainImgList.push({
url:'/api' + responseAttach,
isImage: true
});
})
}
var that = this ;
that.product = response.data;
});
},
}, },
} }
</script> </script>
@@ -88,6 +107,13 @@


/* 内容 */ /* 内容 */
.main{ .main{
.my-swipe{
height: 250PX;
img{
width: 100%;
height: 100%;
}
}
.my-swipe .van-swipe-item { .my-swipe .van-swipe-item {
color: #fff; color: #fff;
font-size: 20px; font-size: 20px;


+ 55
- 10
src/views/agriculturalTrusteeship/insurance/insuranceProjectList.vue 파일 보기

@@ -4,7 +4,7 @@
<div class="header"> <div class="header">
<div class="header_left" @click="onClickLeft"> <div class="header_left" @click="onClickLeft">
<img src="../../../../static/images/agriculturalTrusteeship/return.png"> <img src="../../../../static/images/agriculturalTrusteeship/return.png">
<p>张三服务合作社</p>
<p>{{tt}}</p>
</div> </div>
</div> </div>
<!-- 头部结束 --> <!-- 头部结束 -->
@@ -13,25 +13,27 @@
<div class="main"> <div class="main">
<div class="search"> <div class="search">
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" /> <img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" />
<input type="text" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" />
<input type="text" placeholder="输入需求进行搜索" v-model="searchInput" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" @click="goSearch" />
</div> </div>


<van-list <van-list
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"--> <!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item" @click="$router.push({name:'agriculturalTrusteeshipInsuranceProjectDetail'})">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list" v-for="(item,index) in productListYes" @click="$router.push({name:'agriculturalTrusteeshipInsuranceProjectDetail',query:{id:item.id}})">
<img v-if="item.mainImg" :src="item.mainImg" style="width: 18vw;height: 18vw;">
<img v-else src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 18vw;height: 18vw;">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.productName}}</p>
<!-- <div class="tab">--> <!-- <div class="tab">-->
<!-- <p>¥<span>66</span>.00/亩</p>--> <!-- <p>¥<span>66</span>.00/亩</p>-->
<!-- <p><span>销 600</span><span>分 4.7</span></p>--> <!-- <p><span>销 600</span><span>分 4.7</span></p>-->
<!-- </div>--> <!-- </div>-->
<p class="name">健康保险</p>
<p class="name">{{item.productType}}</p>
</div> </div>
</div> </div>
</van-list> </van-list>
@@ -42,6 +44,7 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productList, serviceList} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipInsuranceList", name: "agriculturalTrusteeshipInsuranceList",
data() { data() {
@@ -50,20 +53,62 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
productListYes:[],
productListNo:[],
productList:[],
query:{
financialServiceId:'',
productName:'',
},
tt:'',
searchInput:'',
}; };
}, },
created() { created() {

this.query.financialServiceId = this.$route.query.id;
this.tt = this.$route.query.financialName
}, },
methods: { methods: {
getList(){
productList(this.query).then(response => {
response.rows.map(res=>{
if(res.sysYesNo == 'Y'){
if (res.mainImg){
let supplyMasterMap = res.mainImg.split( "," )
res.mainImg2 = []
supplyMasterMap.map(rr=>{
res.mainImg2.push('/api'+rr)
})
}
this.productListYes.push(res);
}
if(res.sysYesNo == 'N'){
this.productListNo.push(res);
}
this.productList.push(res);
})
if(this.productList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},


goSearch(){
this.productListYes = [];
this.query.productName = this.searchInput;
this.getList();
},
}, },
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.home_wrapper{ .home_wrapper{
background: url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_head.png") no-repeat;

height: 100vh;
background: #ffffff url("../../../../static/images/agriculturalTrusteeship/insurance/insurance_list_head.png") no-repeat;
} }
/*头部*/ /*头部*/
.header{ .header{


+ 148
- 67
src/views/agriculturalTrusteeship/login.vue 파일 보기

@@ -2,7 +2,8 @@
<div class="home_wrapper"> <div class="home_wrapper">
<!-- 头部开始 --> <!-- 头部开始 -->
<div class="header"> <div class="header">
<div class="header_left" @click="onClickLeft">
<!-- @click="onClickLeft"-->
<div class="header_left" @click="navDis = 'block',loginDis = 'none'">
<img src="../../../static/images/agriculturalTrusteeship/return.png"> <img src="../../../static/images/agriculturalTrusteeship/return.png">
</div> </div>
<div class="tit"> <div class="tit">
@@ -13,9 +14,9 @@
<!-- 头部结束 --> <!-- 头部结束 -->


<!-- 登陆选择开始 --> <!-- 登陆选择开始 -->
<div class="main" style="display: none;">
<div class="main" :style="{'display': navDis}">
<div class="nav"> <div class="nav">
<div class="nav_content" @click="$router.push({name:'agriculturalTrusteeshipBuyerIndex'})">
<div class="nav_content" @click="loginType = 'mj',navDis = 'none',loginDis = 'block'" >
<div> <div>
<p class="nav_name_01">买家登录</p> <p class="nav_name_01">买家登录</p>
<p class="nav_text">登录后支持下单操作</p> <p class="nav_text">登录后支持下单操作</p>
@@ -25,7 +26,7 @@
</div> </div>


<div class="nav"> <div class="nav">
<div class="nav_content" @click="$router.push({name:'agriculturalTrusteeshipSocializationIndex'})" >
<div class="nav_content" @click="loginType = 'fwzz',navDis = 'none',loginDis = 'block'" >
<div> <div>
<p class="nav_name_02">社会化服务组织登录</p> <p class="nav_name_02">社会化服务组织登录</p>
<p class="nav_text">登录发布社会化服务及相关产品</p> <p class="nav_text">登录发布社会化服务及相关产品</p>
@@ -35,21 +36,21 @@
</div> </div>


<div class="nav"> <div class="nav">
<div class="nav_content" @click="$router.push({name:'agriculturalTrusteeshipShopList'})">
<div class="nav_content" @click="loginType = 'bxjg',navDis = 'none',loginDis = 'block'">
<div> <div>
<p class="nav_name_03">保险机构登录</p> <p class="nav_name_03">保险机构登录</p>
<p class="nav_text">登录可发布保险产品</p> <p class="nav_text">登录可发布保险产品</p>
</div> </div>
<i class="go"></i> <i class="go"></i>
</div> </div>
<div class="nav_content" style="padding:12.5PX 0;margin:12.5PX 0;border-top: 1px solid #D5D8DE;border-bottom: 1px solid #D5D8DE;" @click="$router.push({name:'agriculturalTrusteeshipShopList'})">
<div class="nav_content" style="padding:12.5PX 0;margin:12.5PX 0;border-top: 1px solid #D5D8DE;border-bottom: 1px solid #D5D8DE;" @click="loginType = 'dkjg',navDis = 'none',loginDis = 'block'">
<div> <div>
<p class="nav_name_04">贷款机构登录</p> <p class="nav_name_04">贷款机构登录</p>
<p class="nav_text">登录可发布贷款产品</p> <p class="nav_text">登录可发布贷款产品</p>
</div> </div>
<i class="go"></i> <i class="go"></i>
</div> </div>
<div class="nav_content" @click="$router.push({name:'agriculturalTrusteeshipShopList'})">
<div class="nav_content" @click="loginType = 'ndjg',navDis = 'none',loginDis = 'block'">
<div> <div>
<p class="nav_name_05">农担机构登录</p> <p class="nav_name_05">农担机构登录</p>
<p class="nav_text">登录可发布农担产品</p> <p class="nav_text">登录可发布农担产品</p>
@@ -61,73 +62,106 @@
<!-- 登陆选择结束 --> <!-- 登陆选择结束 -->


<!-- 登录开始 --> <!-- 登录开始 -->
<div class="login_main" :style="{'position': position,'top':top,'transform':transform,'left':left}">
<div class="login_main" :style="{'display': loginDis , 'position': position,'top':top,'transform':transform,'left':left}">
<van-tabs v-model="active" animated color="#1E67FF" background="transparent" title-active-color="#1E67FF" @change="tabsChange"> <van-tabs v-model="active" animated color="#1E67FF" background="transparent" title-active-color="#1E67FF" @change="tabsChange">
<van-tab name="login" title="登录"> <van-tab name="login" title="登录">
<van-field v-model="username" center :border="false" placeholder="请输入主体名称" >
<van-field v-model="username" center :border="false" placeholder="请输入账号" >
<template #left-icon> <template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_01.png" alt=""> <img src="../../../static/images/agriculturalTrusteeship/login/register_01.png" alt="">
</template> </template>
</van-field> </van-field>
<van-field v-model="password" center :border="false" placeholder="请输入主体类别">
<van-field v-model="password" type="password" center :border="false" placeholder="请输入密码">
<template #left-icon> <template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_02.png" alt=""> <img src="../../../static/images/agriculturalTrusteeship/login/register_02.png" alt="">
</template> </template>
</van-field> </van-field>
<div v-if="loginType == 'mj'">
<van-field
v-model="formData.code"
center
clearable
label="验证码"
placeholder="图形验证码"
>
<template #button>
<img style="width: 100px" :src="codeUrl" @click="getCode" />
</template>
</van-field>
<van-checkbox style="float: left;margin-top:10px;" v-model="formData.rememberMe" shape="square">{{showMessage ? "记住手机号" : "记住密码"}}</van-checkbox>
<p style="float: right;margin-top:10px;color:#1D6FE9 ">忘记密码</p>
<div class="clear"></div>
</div>
<!-- $router.push({name:'agriculturalTrusteeshipShopList'})--> <!-- $router.push({name:'agriculturalTrusteeshipShopList'})-->
<p class="submit_btn" @click="goLogin">登录</p>
<p class="submit_btn" v-if="loginType == 'mj'" @click="handleLogin">登录1</p>
<p class="submit_btn" v-else @click="goLogin">登录</p>
</van-tab> </van-tab>
<van-tab name="register" title="注册"> <van-tab name="register" title="注册">
<!--保险机构注册-->
<template>
<van-field v-model="serviceForm.financialType" center :border="false" placeholder="请输入机构名称" >
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_01.png" alt="">
</template>
</van-field>


<van-field v-model="value1" center :border="false" placeholder="请输入生产种类" >
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_03.png" alt="">
</template>
</van-field>
<van-field v-model="serviceForm.linker" center :border="false" placeholder="请输入联系人">
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_04.png" alt="">
</template>
</van-field>


<van-field v-model="value1" center :border="false" placeholder="请输入示范类型">
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_04.png" alt="">
</template>
</van-field>
<van-field v-model="serviceForm.address" center :border="false" placeholder="请输入地址" >
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_02.png" alt="">
</template>
</van-field>


<van-field v-model="value1" center :border="false" placeholder="请输入主体地址" >
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_02.png" alt="">
</template>
</van-field>
<!-- <van-field v-model="value1" center :border="false" placeholder="请输入成立时间">-->
<!-- <template #left-icon>-->
<!-- <img src="../../../static/images/agriculturalTrusteeship/login/register_05.png" alt="">-->
<!-- </template>-->
<!-- </van-field>-->


<van-field v-model="value1" center :border="false" placeholder="请输入成立时间">
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_05.png" alt="">
</template>
</van-field>
<van-field v-model="serviceForm.phone" center :border="false" placeholder="请输入电话">
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_07.png" alt="">
</template>
</van-field>


<van-field v-model="value1" center :border="false" placeholder="请输入负责人姓名" >
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_06.png" alt="">
</template>
</van-field>
<van-field v-model="serviceForm.username" center :border="false" placeholder="请输入用户名" >
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_06.png" alt="">
</template>
</van-field>


<van-field v-model="value1" center :border="false" placeholder="请输入联系方式">
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_07.png" alt="">
</template>
</van-field>
<van-field v-model="serviceForm.password" center :border="false" placeholder="请输入密码" >
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_08.png" alt="">
</template>
</van-field>


<van-field v-model="value1" center :border="false" placeholder="请输入密码" >
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_08.png" alt="">
</template>
</van-field>
<van-field v-model="serviceForm.passwordReal" center :border="false" placeholder="请确认密码">
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_08.png" alt="">
</template>
</van-field>


<van-field v-model="value1" center :border="false" placeholder="请确认密码">
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_08.png" alt="">
</template>
</van-field>
<van-field v-model="serviceForm.fax" center :border="false" placeholder="请输入传真">
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_05.png" alt="">
</template>
</van-field>


<p class="submit_btn">提交审核</p>
<van-field v-model="serviceForm.description" center :border="false" placeholder="请输入简要描述">
<template #left-icon>
<img src="../../../static/images/agriculturalTrusteeship/login/register_03.png" alt="">
</template>
</van-field>

<van-uploader v-model="serviceForm.mainImg" :after-read="afterReadEvidenceForm" :before-delete="deleteFileEvidenceForm" />

</template>
<p class="submit_btn" @click="goRegister">提交审核</p>
</van-tab> </van-tab>
</van-tabs> </van-tabs>
</div> </div>
@@ -139,7 +173,7 @@
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {getCodeImg, getRegisterSmsCode, registerCheck, registerOn} from "@/api/login"; import {getCodeImg, getRegisterSmsCode, registerCheck, registerOn} from "@/api/login";
import {decrypt, encrypt} from "@/utils/jsencrypt"; import {decrypt, encrypt} from "@/utils/jsencrypt";
import { serviceLogin } from "@/api/agriculturalTrusteeship";
import {serviceLogin, entityLogin, commonUpload , serviceRegister} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipLogin", name: "agriculturalTrusteeshipLogin",
data() { data() {
@@ -161,32 +195,54 @@
password: "", //密码 password: "", //密码
financialType:'2' financialType:'2'
}, },
formData2: {
userName: "", //账号
password: "", //密码
},
loading: false, loading: false,
codeUrl: "", //验证码 codeUrl: "", //验证码
isSmsLogin: false, //是否手机验证码 isSmsLogin: false, //是否手机验证码
computeTime: 0, computeTime: 0,
navDis:'block',
loginDis:'none',
loginType:'',
serviceForm:{}//保险公司注册表单
}; };
}, },
created() { created() {
this.getDicts("financial_type").then(response => { this.getDicts("financial_type").then(response => {
this.financialTypeOptions = response.data; this.financialTypeOptions = response.data;
}); });
// this.getCode();
// this.getCookie();
this.getCode();
this.getCookie();
}, },
methods: { methods: {
goLogin(){ goLogin(){
console.log(this.formData) console.log(this.formData)
Cookies.set("username", encrypt(this.formData.username), { expires: 30 });
Cookies.set("password", encrypt(this.formData.password), { expires: 30 });
if (this.loginType == 'bxjg' || this.loginType == 'dkjg' || this.loginType == 'ndjg' ){
Cookies.set("username", encrypt(this.formData.username), { expires: 30 });
Cookies.set("password", encrypt(this.formData.password), { expires: 30 });


this.formData.username = encrypt(this.username);
this.formData.password = encrypt(this.password);
serviceLogin(this.formData).then(response => {
Cookies.set("ACCESS-SESSION-ID", response.data.id);
Cookies.set("ServiceInformation", response.data);
this.$router.push({ path: "/agriculturalTrusteeship/shopList" }).catch(() => {});
});
this.formData.username = encrypt(this.username);
this.formData.password = encrypt(this.password);
serviceLogin(this.formData).then(response => {
Cookies.set("ACCESS-SESSION-ID", response.data.id);
Cookies.set("ServiceInformation", response.data);
this.$router.push({ path: "/agriculturalTrusteeship/shopList" }).catch(() => {});
});
}
if (this.loginType == 'fwzz' ){
Cookies.set("username", encrypt(this.formData2.userName), { expires: 30 });
Cookies.set("password", encrypt(this.formData2.password), { expires: 30 });

this.formData2.userName = encrypt(this.username);
this.formData2.password = encrypt(this.password);
entityLogin(this.formData2).then(response => {
Cookies.set("ACCESS-SESSION-ID", response.data.id);
Cookies.set("ServiceInformation", response.data);
this.$router.push({ path: "/agriculturalTrusteeship/socializationIndex" }).catch(() => {});
});
}
}, },
tabsChange(name){ tabsChange(name){
console.log(name) console.log(name)
@@ -259,6 +315,8 @@
} }
}, },
handleLogin(values) { handleLogin(values) {
this.formData.username = this.username;
this.formData.password = this.password;
if (this.isSmsLogin) { if (this.isSmsLogin) {
//短信登录 //短信登录
let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/; let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/;
@@ -312,7 +370,7 @@
this.$store this.$store
.dispatch("Login", this.formData) .dispatch("Login", this.formData)
.then(() => { .then(() => {
this.$router.push({ path: "/lawEnforcement/index_new" }).catch(() => {});
this.$router.push({ path: "/agriculturalTrusteeship/buyerIndex" }).catch(() => {});
}) })
.catch((error) => { .catch((error) => {
console.log(error) console.log(error)
@@ -406,7 +464,30 @@
} }
}) })


}
},
afterReadEvidenceForm(file){
let params1 = new FormData();
Cookies.set("ACCESS-SESSION-ID", '0');
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
// this.tEnforceSamplingGoodsList[index].attachement.push(r1.fileName);
console.log(r1)
Cookies.remove("ACCESS-SESSION-ID");
this.mainImgArr.push(r1.fileName)
})
},
deleteFileEvidenceForm(file,detail) {
this.mainImgArr.splice(detail.index,1);
},
goRegister(){
this.serviceForm.mainImg = this.mainImgArr.join(',')
console.log(this.serviceForm)
serviceRegister(this.serviceForm).then(res=>{

})
},

//methods结束处
}, },
} }
</script> </script>
@@ -515,7 +596,7 @@
} }
/deep/ .van-cell{ /deep/ .van-cell{
background: transparent; background: transparent;
padding: 5PX 0;
padding: 5PX 2PX;
margin-top: 25PX; margin-top: 25PX;
border-bottom: 1px solid #1E67FF; border-bottom: 1px solid #1E67FF;
} }


+ 42
- 7
src/views/agriculturalTrusteeship/shop/shopAdd.vue 파일 보기

@@ -13,9 +13,30 @@


<!-- 内容开始 --> <!-- 内容开始 -->
<div class="main"> <div class="main">
<van-field label="产品名称" v-model="product.productName" input-align="right" placeholder="无" />
<van-field label="产品类型" v-model="product.productType" input-align="right" placeholder="无" />
<van-field label="简介" type="textarea" autosize v-model="product.productLink" input-align="right" placeholder="无" />
<van-field label="产品名称" v-model="product.productName" input-align="right" placeholder="请输入产品名称" />
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择产品类型'}]"
v-model="productType"
label="产品类型"
placeholder="请选择产品类型"
@click="showProductType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showProductType" position="bottom">
<van-picker
show-toolbar
:columns="productTypeOptions"
@confirm="onConfirmProductType"
@cancel="showProductType = false"
/>
</van-popup>

<van-field label="简介" type="textarea" autosize v-model="product.productLink" input-align="right" placeholder="请输入简介" />
<van-field label="图片" :border="false" input-align="right" readonly /> <van-field label="图片" :border="false" input-align="right" readonly />
<div style="padding: 0 4% 2vh;"> <div style="padding: 0 4% 2vh;">
<van-uploader v-model="product.mainImgList" :after-read="afterReadEvidenceForm" :before-delete="deleteFileEvidenceForm" /> <van-uploader v-model="product.mainImgList" :after-read="afterReadEvidenceForm" :before-delete="deleteFileEvidenceForm" />
@@ -42,18 +63,27 @@
center: { lng: 122.089726, lat: 37.540728 }, //经纬度 center: { lng: 122.089726, lat: 37.540728 }, //经纬度
zoom: 15, //地图展示级别 zoom: 15, //地图展示级别
showDialog:false, showDialog:false,
product:{},
mainImgArr:[]
product:{
releaseDate:this.format(new Date(),'yyyy-MM-dd')
},
mainImgArr:[],
productTypeOptions:[],
showProductType:false,
productType:''
}; };
}, },
created() { created() {

this.getDicts("financial_type").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.productTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
});
}, },
methods: { methods: {
submitForm(){ submitForm(){
console.log(this.mainImgArr) console.log(this.mainImgArr)
this.product.mainImg = this.mainImgArr.join(',') this.product.mainImg = this.mainImgArr.join(',')
financialProductEdit(this.product).then((res) => {
financialProductAdd(this.product).then((res) => {
if(res.code=="200"){ if(res.code=="200"){
this.$notify({ type: 'success', message: '发布成功' }); this.$notify({ type: 'success', message: '发布成功' });
setTimeout(function(){ setTimeout(function(){
@@ -75,6 +105,11 @@
this.mainImgArr.splice(detail.index,1); this.mainImgArr.splice(detail.index,1);
this.product.mainImgList.splice(detail.index,1); this.product.mainImgList.splice(detail.index,1);
}, },
onConfirmProductType(data){
this.product.productType = data.text;
this.productType = data.text;
this.showProductType = false;
}
}, },
} }
</script> </script>


+ 34
- 11
src/views/agriculturalTrusteeship/shop/shopList.vue 파일 보기

@@ -65,7 +65,7 @@
@load="getList" @load="getList"
> >
<!-- @load="onLoad"--> <!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="(item,index) in productList" :key="index">
<div class="main_content_right_list" v-for="(item,index) in productListYes" :key="index">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png" @click="$router.push({name:'agriculturalTrusteeshipShopDetail',query:{id:item.id}})"> <img src="../../../../static/images/agriculturalTrusteeship/index/test.png" @click="$router.push({name:'agriculturalTrusteeshipShopDetail',query:{id:item.id}})">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt" @click="$router.push({name:'agriculturalTrusteeshipShopDetail',query:{id:item.id}})">{{item.productName}}</p> <p class="tt" @click="$router.push({name:'agriculturalTrusteeshipShopDetail',query:{id:item.id}})">{{item.productName}}</p>
@@ -73,7 +73,7 @@
<p>{{item.productType}}</p> <p>{{item.productType}}</p>
<div> <div>
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_01.png" @click="$router.push({name:'agriculturalTrusteeshipShopEdit',query:{id:item.id}})" /> <img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_01.png" @click="$router.push({name:'agriculturalTrusteeshipShopEdit',query:{id:item.id}})" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_02.png" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_02.png" @click="productOut(item.id)"/>
</div> </div>
</div> </div>
</div> </div>
@@ -87,17 +87,18 @@
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"--> <!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list" v-for="(item,index) in productListNo" :key="index">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png" @click="$router.push({name:'agriculturalTrusteeshipShopDetail',query:{id:item.id}})">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt" @click="$router.push({name:'agriculturalTrusteeshipShopDetail',query:{id:item.id}})">{{item.productName}}</p>
<div class="tab"> <div class="tab">
<p>健康保险</p>
<p>{{item.productType}}</p>
<div> <div>
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_01.png" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_03.png" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_01.png" @click="$router.push({name:'agriculturalTrusteeshipShopEdit',query:{id:item.id}})" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_03.png" @click="productIn(item.id)"/>
</div> </div>
</div> </div>
</div> </div>
@@ -113,7 +114,7 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productList} from "@/api/agriculturalTrusteeship";
import {productList , productOut , productIn} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipShopList", name: "agriculturalTrusteeshipShopList",
data() { data() {
@@ -123,9 +124,11 @@
loading: false, loading: false,
finished: false, finished: false,
productList:[], productList:[],
productListYes:[],
productListNo:[],
query:{ query:{
financialServiceId:Cookies.get('ACCESS-SESSION-ID'), financialServiceId:Cookies.get('ACCESS-SESSION-ID'),
pageNum:'1',
pageNum:1,
pageSize:'10' pageSize:'10'
} }
}; };
@@ -137,6 +140,12 @@
getList(){ getList(){
productList(this.query).then(response => { productList(this.query).then(response => {
response.rows.map(res=>{ response.rows.map(res=>{
if(res.sysYesNo == 'Y'){
this.productListYes.push(res);
}
if(res.sysYesNo == 'N'){
this.productListNo.push(res);
}
this.productList.push(res); this.productList.push(res);
}) })
if(this.productList.length >= response.total){ if(this.productList.length >= response.total){
@@ -148,12 +157,26 @@
} }
}); });
}, },
productIn(id){
productIn(id).then(response => {
this.$notify({ type: 'success', message: '上架成功' });
location.reload()
});
},
productOut(id){
productOut(id).then(response => {
this.$notify({ type: 'success', message: '下架成功' });
location.reload()
});
},
}, },
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.home_wrapper{ .home_wrapper{

background: #ffffff;
height: 100vh;
overflow: hidden;
} }
/*头部*/ /*头部*/
.header{ .header{


+ 112
- 19
src/views/agriculturalTrusteeship/socialization/bill.vue 파일 보기

@@ -14,17 +14,33 @@
<!-- 导航开始 --> <!-- 导航开始 -->
<div class="nav"> <div class="nav">
<div class="date"> <div class="date">
<p>2021年11月</p>
<p @click="startTimeShow = true">{{startOrderAt}}</p>
<span>-</span> <span>-</span>
<p>2021年11月</p>
<p @click="endTimeShow = true">{{endOrderAt}}</p>
</div> </div>
<van-popup v-model="startTimeShow" position="bottom">
<van-datetime-picker
v-model="currentDateStar"
@confirm="onConfirmStar"
type="year-month"
title="选择年月"
/>
</van-popup>
<van-popup v-model="endTimeShow" position="bottom">
<van-datetime-picker
v-model="currentDateEnd"
@confirm="onConfirmEnd"
type="year-month"
title="选择年月"
/>
</van-popup>
<div class="billCount"> <div class="billCount">
<div class="billCount_left"> <div class="billCount_left">
<p>654</p>
<p>{{content.numFinish}}</p>
<p>成交订单</p> <p>成交订单</p>
</div> </div>
<div class="billCount_right"> <div class="billCount_right">
<p>361,654,523.00</p>
<p>{{content.realityServiceMoney}}</p>
<p>收入金额</p> <p>收入金额</p>
</div> </div>
</div> </div>
@@ -38,31 +54,32 @@
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item">
<!-- @load="getList"-->
<div class="main_content_right_list" v-for="(item,index) in supplyDemandList" :key="index">
<div class="main_content_right_list_header"> <div class="main_content_right_list_header">
<p>灌溉</p>
<p>{{item.productType}}</p>
<p>服务</p> <p>服务</p>
<p class="on">已结单</p>
<p :class="{'off': item.orderStatus== '已拒单','on': item.orderStatus!= '已拒单'}">{{item.orderStatus}}</p>
</div> </div>


<div class="main_content_right_list_center" @click="$router.push({name:'agriculturalTrusteeshipSocializationBillDetail'})">
<div class="main_content_right_list_center" @click="$router.push({name:'agriculturalTrusteeshipSocializationBillDetail',query:{id:item.id}})">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png"> <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.contractionName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>165,836,365</span>.00</p>
<p>¥<span>{{item.realityServiceMoney}}</span>.00</p>
</div> </div>
<p class="name"> <p class="name">
<span>数量:300</span>
<span>作物:玉米</span>
<span>数量:{{item.serviceNum}}</span>
<span>作物:{{item.cropType}}</span>
</p> </p>
</div> </div>
</div> </div>
<van-cell title="买方名称" :border="false" value="张三李四联合合作社" />
<van-cell title="联系人" :border="false" value="林晓春" />
<van-cell title="联系电话" :border="false" value="165 8874 0311" />
<van-cell title="买方名称" :border="false" :value="item.bookName" />
<van-cell title="联系人" :border="false" :value="item.linkera" />
<van-cell title="联系电话" :border="false" :value="item.phonea" />
</div> </div>
</van-list> </van-list>


@@ -139,6 +156,7 @@
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import agr from "@/components/common/agr_footer"; import agr from "@/components/common/agr_footer";
import dialogClose from "@/components/agriculturalTrusteeship/dialog"; import dialogClose from "@/components/agriculturalTrusteeship/dialog";
import {supplyorderList, orderStatistics, productTypes} from "@/api/agriculturalTrusteeship";


export default { export default {
name: "agriculturalTrusteeshipIndex", name: "agriculturalTrusteeshipIndex",
@@ -152,15 +170,90 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
show:true,
show:false,
activeNames:[], activeNames:[],
showDialog:false
showDialog:false,
startTimeShow:false,
endTimeShow:false,
supplyDemandList:[],
cropTypeOptions:[],
orderStatusOptions:[],
productList:[],
currentDateStar: new Date(),
currentDateEnd: new Date(),
query:{
orderByColumn:'order_at',
isAsc:'asc',
demandName :'',
startOrderAt :this.format(new Date(),'yyyy-MM'),
endOrderAt :this.format(new Date(),'yyyy-MM'),
orderStatus :'',
},
startOrderAt:this.format(new Date(),'yyyy年MM月'),
endOrderAt:this.format(new Date(),'yyyy年MM月'),
params : {
startOrderAt:this.format(new Date(),'yyyy-MM'),
endOrderAt:this.format(new Date(),'yyyy-MM'),
},
content:''
}; };
}, },
created() { created() {

// orderStatistics().then(response => {
// this.content = response.data;
// });
let query = {
parentId : 0,
tree:true
}
productTypes(query).then(response => {
this.productList = response.data;
});
this.getDicts("crop_type").then(response => {
this.cropTypeOptions = response.data;
});
this.getDicts("service_order_status").then(response => {
this.orderStatusOptions = response.data;
});
}, },
methods: { methods: {
getList(){
supplyorderList(this.query).then(response => {
response.rows.map(res=>{
res.cropType = this.selectDictLabel(this.cropTypeOptions, res.cropType);
res.orderStatus = this.selectDictLabel(this.orderStatusOptions, res.orderStatus);
res.productType = this.productList.filter(function (e) { return e.id == res.productType; })[0].dictName;
this.supplyDemandList.push(res);
})
if(this.supplyDemandList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},
onConfirmStar(data){
this.params.startOrderAt = this.format(data,'yyyy-mm');
this.query.startOrderAt = this.format(data,'yyyy-mm');
this.startOrderAt = this.format(data,'yyyy年MM月');
this.startTimeShow = false;
// orderStatistics(this.params).then(response => {
// this.content = response.data;
// });
this.getList();
},
onConfirmEnd(data){
this.params.endOrderAt = this.format(data,'yyyy-mm');
this.query.endOrderAt = this.format(data,'yyyy-mm');
this.endOrderAt = this.format(data,'yyyy年MM月');
this.endTimeShow = false;
// orderStatistics(this.params).then(response => {
// this.content = response.data;
// });
this.getList();
},
openDialog(val){ openDialog(val){
this.showDialog = val this.showDialog = val
}, },


+ 51
- 18
src/views/agriculturalTrusteeship/socialization/billDetail.vue 파일 보기

@@ -16,22 +16,22 @@
<div class="main_content_right_list"> <div class="main_content_right_list">
<div class="main_content_right_list_header"> <div class="main_content_right_list_header">
<p class="on">商品信息</p> <p class="on">商品信息</p>
<p>灌溉</p>
<p>{{supplyDemand.productType}}</p>
<p>服务</p> <p>服务</p>
</div> </div>


<div class="main_content_right_list_center"> <div class="main_content_right_list_center">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png"> <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{supplyDemand.contractionName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>165,836,365</span>.00/亩</p>
<p>¥<span>{{supplyDemand.unitPrice}}</span>.00/{{supplyDemand.unit}}</p>
</div> </div>
</div> </div>
</div> </div>
<van-cell title="买方名称" :border="false" value="张三李四联合合作社" />
<van-cell title="联系人" :border="false" value="林晓春" />
<van-cell title="联系电话" :border="false" value="165 8874 0311" />
<van-cell title="买方名称" :border="false" :value="supplyDemand.bookName" />
<van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
<van-cell title="联系电话" :border="false" :value="supplyDemand.phonea" />
</div> </div>


<div class="main_content_right_list"> <div class="main_content_right_list">
@@ -39,9 +39,9 @@
<p class="on">买家信息</p> <p class="on">买家信息</p>
</div> </div>


<van-cell title="联系人" :border="false" value="张三李四联合合作社" />
<van-cell title="联系电话" :border="false" value="林晓春" />
<van-cell title="服务地点" :border="false" value="165 8874 0311" />
<van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
<van-cell title="联系电话" :border="false" :value="supplyDemand.phonea" />
<van-cell title="服务地点" :border="false" :value="supplyDemand.serviceAddress" />
</div> </div>


<div class="main_content_right_list"> <div class="main_content_right_list">
@@ -49,13 +49,13 @@
<p class="on">订单信息</p> <p class="on">订单信息</p>
</div> </div>


<van-cell title="服务合同" :border="false" value="张三李四联合合作社" />
<van-cell title="服务作物" :border="false" value="林晓春" />
<van-cell title="下单时间" :border="false" value="165 8874 0311" />
<van-cell title="服务时间" :border="false" value="165 8874 0311" />
<van-cell title="服务数量" :border="false" value="165 8874 0311" />
<van-cell title="成交金额" :border="false" value="165 8874 0311" />
<van-cell title="备注" :border="false" value="165 8874 0311" />
<van-cell title="服务合同" :border="false" :value="supplyDemand.contractionName" />
<van-cell title="服务作物" :border="false" :value="supplyDemand.cropType" />
<van-cell title="下单时间" :border="false" :value="supplyDemand.orderAt" />
<van-cell title="服务时间" :border="false" :value="supplyDemand.serviceAt" />
<van-cell title="服务数量" :border="false" :value="supplyDemand.serviceNum" />
<van-cell title="成交金额" :border="false" :value="supplyDemand.realityServiceMoney" />
<van-cell title="备注" :border="false" :value="supplyDemand.serviceRemark" />
</div> </div>


</div> </div>
@@ -69,6 +69,7 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productTypes, supplyorderGet} from "@/api/agriculturalTrusteeship";


export default { export default {
name: "agriculturalTrusteeshipIndex", name: "agriculturalTrusteeshipIndex",
@@ -80,13 +81,45 @@
finished: false, finished: false,
show:true, show:true,
activeNames:[], activeNames:[],
cropTypeOptions:[],
orderStatusOptions:[],
productList:[],
supplyDemand:{}
}; };
}, },
created() { created() {

let query = {
parentId : 0,
tree:true
}
productTypes(query).then(response => {
this.productList = response.data;
});
this.getDicts("crop_type").then(response => {
this.cropTypeOptions = response.data;
});
this.getDicts("service_order_status").then(response => {
this.orderStatusOptions = response.data;
});
this.getDetail();
}, },
methods: { methods: {

getDetail(){
supplyorderGet(this.$route.query.id).then(response => {
response.data.cropType = this.selectDictLabel(this.cropTypeOptions, response.data.cropType);
response.data.orderStatus = this.selectDictLabel(this.orderStatusOptions, response.data.orderStatus);
response.data.productType = this.productList.filter(function (e) { return e.id == response.data.productType; })[0].dictName;
if (response.data.supplyMasterMap){
response.data.supplyMasterMapList = [];
var attachement = response.data.supplyMasterMap.split( "," );
this.supplyMasterMapArr = response.data.supplyMasterMap.split( "," );
attachement.forEach(responseAttach=>{
response.data.supplyMasterMapList.push('/api' + responseAttach);
})
}
this.supplyDemand = response.data;
});
},
}, },
} }
</script> </script>


+ 414
- 0
src/views/agriculturalTrusteeship/socialization/billOrder.vue 파일 보기

@@ -0,0 +1,414 @@
<template>
<div class="home_wrapper">
<!-- 头部开始 -->
<van-nav-bar
title="订单详情"
fixed
placeholder
left-arrow
@click-left="onClickLeft"
/>
<!-- 头部结束 -->

<!-- 内容开始 -->
<div class="main">

<div class="main_content_right_list">
<div class="main_content_right_list_header">
<p class="on">商品信息</p>
<p>{{supplyDemand.productType}}</p>
<p>服务</p>
</div>

<div class="main_content_right_list_center">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content">
<p class="tt">{{supplyDemand.contractionName}}</p>
<div class="tab">
<p>¥<span>{{supplyDemand.unitPrice}}</span>.00/{{supplyDemand.unit}}</p>
</div>
</div>
</div>
<van-cell title="买方名称" :border="false" :value="supplyDemand.bookName" />
<van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
<van-cell title="联系电话" :border="false" :value="supplyDemand.phonea" />
</div>

<div class="main_content_right_list">
<div class="main_content_right_list_header">
<p class="on">买家信息</p>
</div>

<van-cell title="联系人" :border="false" :value="supplyDemand.linkera" />
<van-cell title="联系电话" :border="false" :value="supplyDemand.phonea" />
<van-cell title="服务地点" :border="false" :value="supplyDemand.serviceAddress" />
</div>

<div class="main_content_right_list">
<div class="main_content_right_list_header">
<p class="on">订单信息</p>
</div>

<van-cell title="服务合同" :border="false" :value="supplyDemand.contractionName" />
<van-cell title="服务作物" :border="false" :value="supplyDemand.cropType" />
<van-cell title="下单时间" :border="false" :value="supplyDemand.orderAt" />
<van-cell title="服务时间" :border="false" :value="supplyDemand.serviceAt" />
<van-cell title="服务数量" :border="false" :value="supplyDemand.serviceNum" />
<van-cell title="成交金额" :border="false" :value="supplyDemand.realityServiceMoney" />
<van-cell title="备注" :border="false" :value="supplyDemand.serviceRemark" />
</div>

</div>

<div class="main_btn">
<p>接单</p>
<p @click="supplyorderReject">拒单</p>
</div>
<!-- 内容结束 -->
</div>
</template>
<script>
import Cookies from "js-cookie";
import {productTypes, supplyorderGet,supplyorderReject} from "@/api/agriculturalTrusteeship";

export default {
name: "agriculturalTrusteeshipIndex",
data() {
return {
activeKey: 0,
active: 0,
loading: false,
finished: false,
show:true,
activeNames:[],
cropTypeOptions:[],
orderStatusOptions:[],
productList:[],
supplyDemand:{}
};
},
created() {
let query = {
parentId : 0,
tree:true
}
productTypes(query).then(response => {
this.productList = response.data;
});
this.getDicts("crop_type").then(response => {
this.cropTypeOptions = response.data;
});
this.getDicts("service_order_status").then(response => {
this.orderStatusOptions = response.data;
});
this.getDetail();
},
methods: {
getDetail(){
supplyorderGet(this.$route.query.id).then(response => {
response.data.cropType = this.selectDictLabel(this.cropTypeOptions, response.data.cropType);
response.data.orderStatus = this.selectDictLabel(this.orderStatusOptions, response.data.orderStatus);
response.data.productType = this.productList.filter(function (e) { return e.id == response.data.productType; })[0].dictName;
if (response.data.supplyMasterMap){
response.data.supplyMasterMapList = [];
var attachement = response.data.supplyMasterMap.split( "," );
this.supplyMasterMapArr = response.data.supplyMasterMap.split( "," );
attachement.forEach(responseAttach=>{
response.data.supplyMasterMapList.push('/api' + responseAttach);
})
}
this.supplyDemand = response.data;
});
},
supplyorderReject(){
supplyorderReject(this.$route.query.id).then(response => {
this.$notify({ type: 'success', message: '操作成功' });
history.back(-1);
});
}
},
}
</script>
<style scoped lang="scss">
.home_wrapper{

}
/*头部*/
.header{
display: flex;
align-items: center;
justify-content: space-between;
padding: 2vh 4% 0vh;
}

.search{
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #6E93F3;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
margin-right: 30PX;
flex: 1;
input{
flex: 1;
background: transparent;
margin-left: 10PX;
}
}
/*导航栏目*/
.nav{
width: 94%;
margin: 0 auto;
margin-top: 2vh;
padding: 1.5vh 3%;
background: #ffffff;
border-radius: 10PX;
box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
.date{
display: flex;
justify-content: space-around;
align-items: center;
p{
border-radius: 1rem;
padding: 5PX 0PX 5PX 5%;
width: 40%;
text-align: center;
color: #334281;
box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
background:#D6D9E6 url("../../../../static/images/agriculturalTrusteeship/socialization/socialization_icon_date.png") 20% center no-repeat;
}
}
.billCount {
display: flex;
text-align: center;
margin-top: 3vh;
.billCount_left{
width: 50%;
color: #1B5DEA;
p{
&:nth-child(1){
font-size: .45rem;
}
}
}
.billCount_right{
width: 50%;
color: #FF5E00;
p{
&:nth-child(1){
font-size: .45rem;
}
}
}
}
}

/*内容*/
.main{
width: 94%;
margin: 0 auto;
.main_content_right_list{
margin-top: 2vh;
padding: 1.5vh 3%;
background: #ffffff;
border-radius: 10PX;
/*box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);*/
/deep/ .van-cell{
padding: 0;
margin-top: 8PX;
}
.main_content_right_list_header{
display: flex;
margin-bottom: 1vh;
align-items: center;
p{
padding: 3PX 10PX;
border-radius: 8PX;
&:nth-child(2){background: #2B7EEC;color: #ffffff;margin-left: auto;}
&:nth-child(3){background: #E2E9FD;color: #497CE8;margin-left: 10PX;}
}
.on{
color: #334281;
border-radius: initial;
padding:0 0 0 20PX;
font-size: 0.35rem;
background: url("../../../../static/images/agriculturalTrusteeship/socialization/bill_icon_01.png") no-repeat left center
}
.off{
color: #E60505;
border-radius: initial;
margin-left: auto;
padding:0 0 0 15PX;
background: url("../../../../static/images/agriculturalTrusteeship/socialization/socialization_icon_off.png") no-repeat left center
}
}
.main_content_right_list_center{
display: flex;
img{
border-radius: 15PX;
margin-right: 4%;
}
.main_content_right_list_content{
display: flex;
flex-direction:column;
justify-content: space-between;
.tt{
color: #333333;
font-size: .35rem;
}
.tab{
display: flex;
justify-content: space-between;
p{
&:nth-child(1){
flex: 1;
color: #FF5E00;
span{
font-size: .4rem;
}
}
&:nth-child(2){
span{
display: inline-block;
text-align: center;
padding: 2PX 5PX;
&:nth-child(1){
color: #497CE8;
background: #E2E9FD;
border-top-left-radius: 10PX;
}
&:nth-child(2){
color: #ffffff;
background-image: linear-gradient(to right , #5D87FA , #5FD5F5);
border-bottom-right-radius: 10PX;
}
}
}
}
}
.name{
color: #7A7A7A;
span{
&:nth-child(2){
margin-left: 5PX;
}
}
}
}
}
}
}

/*弹出层*/
.popup_header{
display: flex;
align-items: center;
color: #334281;
font-size: .38rem;
margin-bottom: 15PX;
img{
margin-right: 10PX;
display: block;
}
p{
line-height: 1;
}
}
.popup_content{
.selected{
.on{
font-size: .35rem;
padding: 10PX 20PX;
color: #334281;
background: url("../../../../static/images/agriculturalTrusteeship/socialization/down.png")left center no-repeat;
}
.off{
font-size: .35rem;
padding: 10PX 20PX;
color: #334281;
background: url("../../../../static/images/agriculturalTrusteeship/socialization/right.png")left center no-repeat;
}
.options{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
p{
background: #F5F5F5;
color: #8F8F8F;
width: 30%;
padding: 5PX 0;
border-radius: 5PX;
text-align: center;
&.active{
background: #E2E9FD;
color: #1B5DEA;
}
}
}
}
}
.popup_date{
display: flex;
justify-content: space-around;
align-items: center;
p{
border-radius: 1rem;
padding: 5PX 0PX 5PX 5%;
width: 45%;
text-align: center;
color: #1B5DEA;
background:#E2E9FD url("../../../../static/images/agriculturalTrusteeship/socialization/socialization_icon_date.png") 15% center no-repeat;
}
}
.popup_btn{
position: fixed;
bottom: 5vh;
display: flex;
align-items: center;
justify-content: space-between;
width: 94%;
left: 3%;
p{
width: 30%;
padding: 7PX 0;
border-radius: 5rem;
text-align: center;
font-size: .35rem;
box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
&:nth-child(1){
background: #1B5DEA;
color: #ffffff;
}
&:nth-child(2){
border: 1PX solid #1B5DEA;
color: #1B5DEA;
}
&:nth-child(3){
background-image: linear-gradient(to right , #6E93F3 , #54C6E4);
color: #ffffff;
}
}
}
.main_btn{
display: flex;
justify-content: space-around;
padding: 4vh 0;
p{
font-size: .4rem;
width: 35%;
text-align: center;
padding: 10PX 0;
border-radius: 5rem;
box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
&:nth-child(1){
background: #334281;
color: #ffffff;
}
&:nth-child(2){
background: #D1D5E4;
color: #334281;
}
}
}
</style>

+ 69
- 13
src/views/agriculturalTrusteeship/socialization/index.vue 파일 보기

@@ -3,7 +3,7 @@
<!-- 头部开始 --> <!-- 头部开始 -->
<div class="header"> <div class="header">
<p>待处理订单</p> <p>待处理订单</p>
<p>共20个新订单</p>
<p>共{{supplyDemandList.length}}个新订单</p>
</div> </div>
<!-- 头部结束 --> <!-- 头部结束 -->


@@ -14,31 +14,32 @@
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"--> <!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item">
<div class="main_content_right_list" v-for="(item,index) in supplyDemandList" :key="index" @click="$router.push({name:'agriculturalTrusteeshipSocializationBillDetail',query:{id:item.id}})">
<div class="main_content_right_list_header"> <div class="main_content_right_list_header">
<p>灌溉</p>
<p>{{item.productType}}</p>
<p>服务</p> <p>服务</p>
<p>2022.03.15</p>
<p>{{item.createTime.substr(0,10)}}</p>
</div> </div>


<div class="main_content_right_list_center"> <div class="main_content_right_list_center">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png"> <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.contractionName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>165,836,365</span>.00</p>
<p>¥<span>{{item.realityServiceMoney}}</span>.00</p>
</div> </div>
<p class="name"> <p class="name">
<span>数量:300</span>
<span>作物:玉米</span>
<span>数量:{{item.serviceNum}}</span>
<span>作物:{{item.cropType}}</span>
</p> </p>
</div> </div>
</div> </div>
<van-cell title="买方名称" :border="false" value="张三李四联合合作社" />
<van-cell title="联系人" :border="false" value="林晓春" />
<van-cell title="联系电话" :border="false" value="165 8874 0311" />
<van-cell title="买方名称" :border="false" :value="item.bookName" />
<van-cell title="联系人" :border="false" :value="item.linkera" />
<van-cell title="联系电话" :border="false" :value="item.phonea" />
</div> </div>
</van-list> </van-list>


@@ -55,6 +56,7 @@
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import agr from "@/components/common/agr_footer"; import agr from "@/components/common/agr_footer";
import dialogClose from "@/components/agriculturalTrusteeship/dialog"; import dialogClose from "@/components/agriculturalTrusteeship/dialog";
import {productTypes, supplyorderList} from "@/api/agriculturalTrusteeship";


export default { export default {
name: "agriculturalTrusteeshipIndex", name: "agriculturalTrusteeshipIndex",
@@ -68,13 +70,67 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
showDialog:false
showDialog:false,
supplyDemandList:[],
supplyDemandList1:[],
cropTypeOptions:[],
orderStatusOptions:[],
productList:[],
currentDateStar: new Date(),
currentDateEnd: new Date(),
query:{
orderByColumn:'order_at',
isAsc:'asc',
demandName :'',
startOrderAt :'',
endOrderAt :'',
orderStatus :'',
},
startOrderAt:this.format(new Date(),'yyyy年MM月'),
endOrderAt:this.format(new Date(),'yyyy年MM月'),
params : {
startOrderAt:this.format(new Date(),'yyyy-MM'),
endOrderAt:this.format(new Date(),'yyyy-MM'),
},
content:''
}; };
}, },
created() { created() {

let query = {
parentId : 0,
tree:true
}
productTypes(query).then(response => {
this.productList = response.data;
});
this.getDicts("crop_type").then(response => {
this.cropTypeOptions = response.data;
});
this.getDicts("service_order_status").then(response => {
this.orderStatusOptions = response.data;
});
}, },
methods: { methods: {
getList(){
supplyorderList(this.query).then(response => {
response.rows.map(res=>{
if ( res.orderStatus == '1'){
res.cropType = this.selectDictLabel(this.cropTypeOptions, res.cropType);
res.orderStatus = this.selectDictLabel(this.orderStatusOptions, res.orderStatus);
res.productType = this.productList.filter(function (e) { return e.id == res.productType; })[0].dictName;
this.supplyDemandList.push(res);
}
this.supplyDemandList1.push(res);
})
if(this.supplyDemandList1.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},
openDialog(val){ openDialog(val){
this.showDialog = val this.showDialog = val
}, },


+ 114
- 52
src/views/agriculturalTrusteeship/socialization/project.vue 파일 보기

@@ -14,7 +14,7 @@
<!-- 内容开始 --> <!-- 内容开始 -->
<div class="main"> <div class="main">
<van-tabs v-model="active" sticky animated> <van-tabs v-model="active" sticky animated>
<van-tab title="服务组织">
<van-tab title="售卖中">
<div class="search"> <div class="search">
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" /> <img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" />
<input type="text" placeholder="输入需求进行搜索" /> <input type="text" placeholder="输入需求进行搜索" />
@@ -23,64 +23,49 @@


<div class="main_content"> <div class="main_content">
<div class="main_content_left"> <div class="main_content_left">
<van-sidebar v-model="activeKey">
<van-sidebar v-model="activeKey" @change="onChangeIn">
<van-sidebar-item title="全套服务" /> <van-sidebar-item title="全套服务" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item v-for="(item,index) in productList" :key="index" :title="item.dictName" />
</van-sidebar> </van-sidebar>
</div> </div>
<div class="main_content_right"> <div class="main_content_right">
<div class="main_content_right_header"> <div class="main_content_right_header">
<p class="main_content_right_header_tit">灌溉</p>
<p class="main_content_right_header_tit">{{main_content_right_header_tit}}</p>
<van-tabs v-model="active" animated> <van-tabs v-model="active" animated>
<van-tab title="评分排序"></van-tab> <van-tab title="评分排序"></van-tab>
<van-tab title="销量排序"></van-tab> <van-tab title="销量排序"></van-tab>
</van-tabs> </van-tabs>
</div> </div>
<div class="main_content_right_nav">
<p>服务</p>
<p>服务</p>
<p>服务</p>
<p>服务</p>
<p>服务</p>
<div class="main_content_right_nav" v-if="activeKey!=0">
<p v-for="(item,index) in productListChildren" :key="index">{{item.dictName}}</p>
</div> </div>


<van-list <van-list
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"--> <!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item" @click="$router.push({name:'agriculturalTrusteeshipSocializationProjectDetail'})">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list" v-for="(item,index) in supplyDemandListYes" :key="index">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png" @click="$router.push({name:'agriculturalTrusteeshipSocializationProjectDetail',query:{id:item.id}})">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<div class="tab">
<p>¥<span>66</span>.00/亩</p>
<p><span>销 600</span><span>分 4.7</span></p>
<p class="tt" @click="$router.push({name:'agriculturalTrusteeshipSocializationProjectDetail',query:{id:item.id}})">{{item.supplyDemandName}}</p>
<div class="tab" @click="$router.push({name:'agriculturalTrusteeshipSocializationProjectDetail',query:{id:item.id}})">
<p>¥<span>{{item.unitPrice}}</span>/{{item.unit}}</p>
<p><span>销{{item.orderNum}}</span><span>分{{item.orderScore}}</span></p>
</div> </div>
<div class="btn"> <div class="btn">
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_02.png" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_01.png" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_02.png" @click="productOut(item.id)" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_01.png" @click="$router.push({name:'agriculturalTrusteeshipSocializationProjectEdit',query:{id:item.id}})" />
</div> </div>
</div> </div>
</div> </div>
</van-list> </van-list>

</div> </div>
</div> </div>
</van-tab> </van-tab>
<van-tab title="服务项目">
<van-tab title="已下架">
<div class="search"> <div class="search">
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" /> <img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" />
<input type="text" placeholder="输入需求进行搜索" /> <input type="text" placeholder="输入需求进行搜索" />
@@ -91,18 +76,7 @@
<div class="main_content_left"> <div class="main_content_left">
<van-sidebar v-model="activeKey"> <van-sidebar v-model="activeKey">
<van-sidebar-item title="全套服务" /> <van-sidebar-item title="全套服务" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item v-for="(item,index) in productList" :key="index" :title="item.dictName" />
</van-sidebar> </van-sidebar>
</div> </div>
<div class="main_content_right"> <div class="main_content_right">
@@ -125,19 +99,19 @@
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item">
<div class="main_content_right_list" v-for="(item,index) in supplyDemandListNo" :key="index">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png"> <img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.entityName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>66</span>.00/亩</p>
<p><span>销 600</span><span>分 4.7</span></p>
<p>¥<span>{{item.unitPrice}}</span>/{{item.unit}}</p>
<p><span>销{{item.orderNum}}</span><span>分{{item.orderScore}}</span></p>
</div> </div>
<div class="btn"> <div class="btn">
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_03.png" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_01.png" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_03.png" @click="productIn(item.id)" />
<img src="../../../../static/images/agriculturalTrusteeship/insurance/shop_icon_01.png" @click="$router.push({name:'agriculturalTrusteeshipSocializationProjectEdit',query:{id:item.id}})" />
</div> </div>
</div> </div>
</div> </div>
@@ -161,6 +135,12 @@
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import agr from "@/components/common/agr_footer"; import agr from "@/components/common/agr_footer";
import dialogClose from "@/components/agriculturalTrusteeship/dialog"; import dialogClose from "@/components/agriculturalTrusteeship/dialog";
import {
supplyDemandList,
productTypes,
supplyDemandProductOut,
supplyDemandProductIn,
} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipInsuranceList", name: "agriculturalTrusteeshipInsuranceList",
components: { components: {
@@ -173,16 +153,98 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
showDialog:false
showDialog:false,
// query:{
// pageNum: 1 ,
// pageSize: 10,
// },
supplyDemandList:[],
productStatisticsOptions:[],
industrialTypeOptions:[],
supplyDemandListYes:[],
supplyDemandListNo:[],
productList:[],
productListChildren:[],
main_content_right_header_tit:'全套服务',
query:{
entityId:Cookies.get('ACCESS-SESSION-ID'),
productType:''
}
}; };
}, },
created() { created() {

this.getDicts("publish_status").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.productStatisticsOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
});
this.getDicts("Industrial_classification_type").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.industrialTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
});
let query = {
parentId : 0
}
productTypes(query).then(response => {
this.productList = response.data;
});
}, },
methods: { methods: {
getList(){
supplyDemandList(this.query).then(response => {
response.rows.map(res=>{
if(res.publishStatus == 3){
this.supplyDemandListYes.push(res);
}
if(res.publishStatus == 2){
this.supplyDemandListNo.push(res);
}
this.supplyDemandList.push(res);
})
if(this.supplyDemandList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},
openDialog(val){ openDialog(val){
this.showDialog = val this.showDialog = val
}, },
productIn(id){
supplyDemandProductIn(id).then(response => {
this.$notify({ type: 'success', message: '上架成功' });
location.reload()
});
},
productOut(id){
supplyDemandProductOut(id).then(response => {
this.$notify({ type: 'success', message: '下架成功' });
location.reload()
});
},
onChangeIn(val){
this.supplyDemandListYes = [];
if (val == 0){
this.main_content_right_header_tit = '全套服务';
this.query.productType = '';
this.getList();
return;
}
this.query.productType = this.productList[val-1].id;
let parentId = this.productList[val-1].id;
this.main_content_right_header_tit = this.productList[val-1].dictName
let query1 = {
parentId : parentId
}
productTypes(query1).then(response => {
this.productListChildren = response.data;
this.getList();
});
},
}, },
} }
</script> </script>


+ 63
- 18
src/views/agriculturalTrusteeship/socialization/projectDetail.vue 파일 보기

@@ -14,33 +14,30 @@
<!-- 内容开始 --> <!-- 内容开始 -->
<div class="main"> <div class="main">
<van-swipe class="my-swipe" :autoplay="3000" indicator-color="white"> <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test3.png"></van-swipe-item>
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test3.png"></van-swipe-item>
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test3.png"></van-swipe-item>
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test3.png"></van-swipe-item>
<van-swipe-item v-for="(item,index) in supplyDemand.supplyMasterMapList" :key="index"><img :src="item"></van-swipe-item>
</van-swipe> </van-swipe>


<div class="main_content"> <div class="main_content">
<div class="tab"> <div class="tab">
<p>¥<span>66</span>.00/亩</p>
<p><span>销 600</span><span>分 4.7</span></p>
<p>¥<span>{{supplyDemand.unitPrice}}</span>/{{supplyDemand.unit}}</p>
<p><span>销 {{supplyDemand.orderNum}}</span><span>分 {{supplyDemand.orderScore}}</span></p>
</div> </div>
<p class="tt">农业保险玉米保险30/亩小麦50/亩大豆60/亩</p>
<p class="name">张三社会服务旗舰店</p>
<p class="tt">{{supplyDemand.supplyDemandName}}</p>
<p class="name">{{supplyDemand.entityName}}</p>
</div> </div>


<div class="main_box"> <div class="main_box">
<van-cell title="产品类型" :border="false" value="内容" />
<van-cell title="产品规格" :border="false" value="内容" />
<van-cell title="产品数量" :border="false" value="内容" />
<van-cell title="服务区域" :border="false" value="内容" />
<van-cell title="产品简介" :border="false" value="内容" />
<van-cell title="公司地址" :border="false" value="内容" />
<van-cell title="产品类型" :border="false" :value="supplyDemand.productType" />
<van-cell title="产品规格" :border="false" :value="supplyDemand.specification" />
<van-cell title="产品数量" :border="false" :value="supplyDemand.number" />
<van-cell title="服务区域" :border="false" :value="supplyDemand.serviceDeptName" />
<van-cell title="产品简介" :border="false" :value="supplyDemand.introduction" />
<van-cell title="公司地址" :border="false" :value="supplyDemand.address" />
</div> </div>


<div class="main_box"> <div class="main_box">
<van-cell title="联系人" :border="false" value="内容" />
<van-cell title="联系方式" :border="false" value="内容" />
<van-cell title="联系人" :border="false" :value="supplyDemand.linker" />
<van-cell title="联系方式" :border="false" :value="supplyDemand.supplyDemandTal" />
</div> </div>


<div class="main_box" style="padding: 0;"> <div class="main_box" style="padding: 0;">
@@ -62,6 +59,7 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productTypes, supplyDemandGet} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipInsuranceDetail", name: "agriculturalTrusteeshipInsuranceDetail",
data() { data() {
@@ -72,13 +70,53 @@
finished: false, finished: false,
center: { lng: 122.089726, lat: 37.540728 }, //经纬度 center: { lng: 122.089726, lat: 37.540728 }, //经纬度
zoom: 15, //地图展示级别 zoom: 15, //地图展示级别
supplyDemand:{},
projectTypeOptions:[],
productList:[],
productList1:[],
demandTypeOptions:[],
productTypeOptions:[],
supplyMasterMapArr:[],
bodyTypeOptions:[],
}; };
}, },
created() { created() {

let query = {
parentId : ''
}
let query1 = {
tree : true
}
productTypes(query).then(response => {
this.productList = response.data;
});
productTypes(query1).then(response => {
this.productList1 = response.data;
});
this.getDicts("newBusinessEntity_statistics_project").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.projectTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.bodyTypeOptions = response.data;
});
this.getDetail();
}, },
methods: { methods: {

getDetail(){
supplyDemandGet(this.$route.query.id).then(response => {
response.data.bodyType = this.selectDictLabel(this.bodyTypeOptions, response.data.bodyType);
response.data.productType = this.productList1.filter(function (e) { return e.id == response.data.productType; })[0].dictName;
if (response.data.supplyMasterMap){
response.data.supplyMasterMapList = [];
var attachement = response.data.supplyMasterMap.split( "," );
this.supplyMasterMapArr = response.data.supplyMasterMap.split( "," );
attachement.forEach(responseAttach=>{
response.data.supplyMasterMapList.push('/api' + responseAttach);
})
}
this.supplyDemand = response.data;
});
},
}, },
} }
</script> </script>
@@ -113,6 +151,13 @@


/* 内容 */ /* 内容 */
.main{ .main{
.my-swipe{
height: 250PX;
img{
width: 100%;
height: 100%;
}
}
.my-swipe .van-swipe-item { .my-swipe .van-swipe-item {
color: #fff; color: #fff;
font-size: 20px; font-size: 20px;


+ 241
- 0
src/views/agriculturalTrusteeship/socialization/projectEdit.vue 파일 보기

@@ -0,0 +1,241 @@
<template>
<div class="home_wrapper">
<!-- 头部开始 -->
<van-nav-bar
title="修改服务项目"
fixed
placeholder
left-arrow
@click-left="onClickLeft"
/>
<!-- 头部结束 -->


<!-- 内容开始 -->
<div class="main">
<van-field label="产品名称" v-model="supplyDemand.supplyDemandName" input-align="right" placeholder="请输入产品名称" />
<!-- <van-field label="产品类型" v-model="supplyDemand.productType" input-align="right" placeholder="请输入产品类型" />-->
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择产品类型'}]"
v-model="productType"
label="产品类型"
placeholder="请选择产品类型"
@click="showProductType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>

<van-popup v-model="showProductType" round position="bottom">
<!-- v-model="cascaderValue"-->
<van-cascader
title="请选择产品类型"
:options="productList"
@close="showProductType = false"
@finish="onConfirmProductType"
:field-names="fieldNames"
/>
</van-popup>

<!-- <van-field label="二级分类" v-model="supplyDemand.supplyDemandType" input-align="right" placeholder="请输入二级分类" />-->
<van-field label="产品规格" v-model="supplyDemand.specification" input-align="right" placeholder="请输入产品规格" />
<!-- <van-field label="所属主体" v-model="supplyDemand.bodyType" input-align="right" placeholder="请输入所属主体" />-->
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择所属主体'}]"
v-model="bodyType"
label="所属主体"
placeholder="请选择所属主体"
@click="showBodyType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showBodyType" position="bottom">
<van-picker
show-toolbar
:columns="projectTypeOptions"
@confirm="onConfirmProjectType"
@cancel="showBodyType = false"
/>
</van-popup>

<van-field label="单价" v-model="supplyDemand.unitPrice" input-align="right" placeholder="请输入单价" />
<van-field label="数量" v-model="supplyDemand.number" input-align="right" placeholder="请输入数量" />
<van-field label="联系电话" v-model="supplyDemand.supplyDemandTal" input-align="right" placeholder="请输入联系电话" />
<van-field label="联系人" v-model="supplyDemand.linker" input-align="right" placeholder="请输入联系人" />
<van-field label="服务区域" v-model="supplyDemand.serviceDeptName" input-align="right" placeholder="请输入服务区域" />
<van-field label="地址" v-model="supplyDemand.address" input-align="right" placeholder="请输入地址" />
<van-field label="简介" v-model="supplyDemand.introduction" input-align="right" placeholder="请输入简介" />
<van-field label="详情" v-model="supplyDemand.particulars" input-align="right" placeholder="请输入详情" />
<van-field label="图片" :border="false" input-align="right" placeholder="请输入图片" />
<div style="padding: 0 4% 2vh;">
<van-uploader v-model="supplyDemand.supplyMasterMapList" :after-read="afterReadEvidenceForm" :before-delete="deleteFileEvidenceForm" />
</div>
</div>

<div class="main">
<baidu-map :center="center" panBy="[50,50]" :zoom="zoom" :scroll-wheel-zoom="true" :pinch-to-zoom="true" map-type="BMAP_NORMAL_MAP" style="height:25vh" >
<!-- 必须给容器指高度,不然地图将显示在一个高度为0的容器中,看不到 -->
<bm-marker :position="center" :dragging="true" animation="BMAP_ANIMATION_BOUNCE" :icon="{url: '../../../../static/images/lawEnforcement/new/address.gif', size: {width: 50, height: 50}}"></bm-marker>
</baidu-map>
</div>

<div class="main_btn">
<p @click="submitForm">发布</p>
<p>存稿</p>
</div>
<!-- 内容结束 -->
</div>
</template>
<script>
import Cookies from "js-cookie";
import {supplyDemandGet, productTypes, commonUpload, supplyDemandEdit} from "@/api/agriculturalTrusteeship";
export default {
name: "agriculturalTrusteeshipSocializationRelease",
data() {
return {
activeKey: 0,
active: 0,
loading: false,
finished: false,
showProductType: false,
showBodyType: false,
center: { lng: 122.089726, lat: 37.540728 }, //经纬度
zoom: 15, //地图展示级别
showDialog:false,
supplyDemand:{},
productType:'',
bodyType:'',
projectTypeOptions:[],
productList:[],
productList1:[],
demandTypeOptions:[],
productTypeOptions:[],
supplyMasterMapArr:[],
bodyTypeOptions:[],
fieldNames : {
text: 'dictName',
value: 'id',
children: 'children',
},

};
},
created() {
let query = {
parentId : ''
}
let query1 = {
tree : true
}
productTypes(query).then(response => {
this.productList = response.data;
});
productTypes(query1).then(response => {
this.productList1 = response.data;
});
this.getDicts("newBusinessEntity_statistics_project").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.projectTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.bodyTypeOptions = response.data;
});
this.getDetail();
},
methods: {
getDetail(){
supplyDemandGet(this.$route.query.id).then(response => {
this.bodyType = this.selectDictLabel(this.bodyTypeOptions, response.data.bodyType);
this.productType = this.productList1.filter(function (e) { return e.id == response.data.productType; })[0].dictName;
if (response.data.supplyMasterMap){
response.data.supplyMasterMapList = [];
var attachement = response.data.supplyMasterMap.split( "," );
this.supplyMasterMapArr = response.data.supplyMasterMap.split( "," );
attachement.forEach(responseAttach=>{
response.data.supplyMasterMapList.push({
url:'/api' + responseAttach,
isImage: true
});
})
}
this.supplyDemand = response.data;
});
},
onConfirmProductType({ selectedOptions }){
this.supplyDemand.productType = selectedOptions[selectedOptions.length-1].id;
this.productType = selectedOptions.map((option) => option.dictName).join('/');
this.showProductType = false;
},
onConfirmProjectType(data){
this.supplyDemand.bodyType = data.value;
this.bodyType = data.text;
this.showBodyType = false;
},
afterReadEvidenceForm(file){
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
// this.tEnforceSamplingGoodsList[index].attachement.push(r1.fileName);
console.log(r1)
this.supplyMasterMapArr.push(r1.fileName)
})
},
deleteFileEvidenceForm(file,detail) {
this.supplyMasterMapArr.splice(detail.index,1);
this.supplyDemand.supplyMasterMapList.splice(detail.index,1);
},
submitForm(){
this.supplyDemand.supplyMasterMap = this.supplyMasterMapArr.join(',')
supplyDemandEdit(this.supplyDemand).then((res) => {
if(res.code=="200"){
this.$notify({ type: 'success', message: '发布成功' });
setTimeout(function(){
history.back(-1);
},2000)
}
})
},
},
}
</script>
<style scoped lang="scss">
.home_wrapper{
background: #F6F6F6;
min-height: 100vh;
}
.main{
width: 92%;
margin: 0 auto;
margin-top: 2vh;
border-radius: 10PX;
overflow: hidden;
background-color: #FFF;
}
.main_btn{
display: flex;
justify-content: space-around;
padding: 4vh 0;
p{
font-size: .4rem;
width: 35%;
text-align: center;
padding: 10PX 0;
border-radius: 5rem;
box-shadow: 0px 3PX 6PX 0px rgba(0,0,0,0.16);
&:nth-child(1){
background: #334281;
color: #ffffff;
}
&:nth-child(2){
background: #D1D5E4;
color: #334281;
}
}
}
</style>

+ 187
- 53
src/views/agriculturalTrusteeship/society/societyList.vue 파일 보기

@@ -4,7 +4,7 @@
<div class="header"> <div class="header">
<div class="header_left" @click="onClickLeft"> <div class="header_left" @click="onClickLeft">
<img src="../../../../static/images/agriculturalTrusteeship/return.png"> <img src="../../../../static/images/agriculturalTrusteeship/return.png">
<p>保险服务</p>
<p>社会化服务组织</p>
</div> </div>
<p class="header_right">河东河西村</p> <p class="header_right">河东河西村</p>
</div> </div>
@@ -16,41 +16,43 @@
<van-tab title="服务组织"> <van-tab title="服务组织">
<div class="search"> <div class="search">
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" /> <img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" />
<input type="text" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" />
<input type="text" v-model="searchServiceInput" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" @click="goSearchService" />
</div> </div>


<van-list <van-list
v-model="loading"
:finished="finished"
v-model="loading1"
:finished="finished1"
finished-text="没有更多了" finished-text="没有更多了"
@load="getServiceList"
> >
<div class="content" v-for="item in 10" :key="item" @click="$router.push({name:'agriculturalTrusteeshipSocietyProjectList'})">
<div class="content" v-for="(item,index) in serviceList" :key="index" @click="$router.push({name:'agriculturalTrusteeshipSocietyProjectList',query:{id:item.id,entityName:item.entityName}})">


<div class="tt_box"> <div class="tt_box">
<p class="content_tt">张三李四合伙开公司有限公司</p>
<p class="content_tt">{{item.entityName}}</p>
<div class="tab_box"> <div class="tab_box">
<div class="tab_left"> <div class="tab_left">
<p>产品 <span>60</span></p>
<p>订单 <span>2851</span></p>
<p>产品 <span>{{item.supplyDemands.length}}</span></p>
<p>订单 <span>{{item.orderNum}}</span></p>
</div> </div>
<div class="tab_right"> <div class="tab_right">
<p>渔业</p>
<p>牧业</p>
<p>农业</p>
<p>{{item.industryClassificationType}}</p>
</div> </div>
</div> </div>
</div> </div>


<div class="content_con"> <div class="content_con">
<div class="content_con_left"> <div class="content_con_left">
<p>60个产品</p>
<p>林巧巧</p>
<p>18765332194</p>
<p>{{item.supplyDemands.length}}个产品</p>
<p>{{item.principalName}}</p>
<p>{{item.tal}}</p>
</div> </div>
<div class="content_con_right"> <div class="content_con_right">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<img :src="itemChild" v-for="(itemChild,indexChild) in item.masterMap2" v-if="indexChild < 2" :key="indexChild" style="width: 22vw;height: 22vw;">

<img v-if="!item.masterMap2 || item.masterMap2.length < 2" src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 22vw;height: 22vw;">
<img v-if="!item.masterMap2 || item.masterMap2.length < 1" src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 22vw;height: 22vw;">

<img src="../../../../static/images/agriculturalTrusteeship/insurance/insurance_go.png"> <img src="../../../../static/images/agriculturalTrusteeship/insurance/insurance_go.png">
</div> </div>
</div> </div>
@@ -61,59 +63,46 @@
<van-tab title="服务项目"> <van-tab title="服务项目">
<div class="search"> <div class="search">
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" /> <img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" />
<input type="text" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" />
<input type="text" v-model="searchInput" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" @click="goSearch"/>
</div> </div>


<div class="main_content"> <div class="main_content">
<div class="main_content_left"> <div class="main_content_left">
<van-sidebar v-model="activeKey">
<van-sidebar v-model="activeKey" @change="onChangeIn">
<van-sidebar-item title="全套服务" /> <van-sidebar-item title="全套服务" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item v-for="(item,index) in productList" :key="index" :title="item.dictName" />
</van-sidebar> </van-sidebar>
</div> </div>
<div class="main_content_right"> <div class="main_content_right">
<div class="main_content_right_header"> <div class="main_content_right_header">
<p class="main_content_right_header_tit">灌溉</p>
<!-- <van-tabs v-model="active" animated>-->
<!-- <van-tab title="评分排序"></van-tab>-->
<!-- <van-tab title="销量排序"></van-tab>-->
<!-- </van-tabs>-->
<p class="main_content_right_header_tit">{{main_content_right_header_tit}}</p>
<van-tabs v-model="activePs" animated @change="orderByChange">
<van-tab title="评分排序"></van-tab>
<van-tab title="销量排序"></van-tab>
</van-tabs>
</div> </div>
<div class="main_content_right_nav">
<p>服务</p>
<p>服务</p>
<p>服务</p>
<p>服务</p>
<p>服务</p>
<div class="main_content_right_nav" v-if="activeKey!=0">
<p v-for="(item,index) in productListChildren" :key="index">{{item.dictName}}</p>
</div> </div>


<van-list <van-list
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"--> <!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list" v-for="(item,index) in supplyDemandListYes" :key="index" @click="$router.push({name:'agriculturalTrusteeshipSocializationProjectDetail',query:{id:item.id}})">
<img v-if="item.supplyMasterMap" :src="item.supplyMasterMap" style="width: 25vw;height: 25vw;">
<img v-else src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 25vw;height: 25vw;">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.supplyDemandName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>66</span>.00/亩</p>
<p><span>销 600</span><span>分 4.7</span></p>
<p>¥<span>{{item.unitPrice}}</span>.00/{{item.unit}}</p>
<p><span>销 {{item.orderNum}}</span><span>分 {{item.orderScore}}</span></p>
</div> </div>
<p class="name">张三社会服务旗舰店</p>
<p class="name">{{item.entityName}}</p>
</div> </div>
</div> </div>
</van-list> </van-list>
@@ -130,27 +119,141 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {supplyDemandList, detailList, productTypes} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipInsuranceList", name: "agriculturalTrusteeshipInsuranceList",
data() { data() {
return { return {
activeKey: 0, activeKey: 0,
active: 0, active: 0,
activePs: 0,
loading: false, loading: false,
finished: false, finished: false,
loading1: false,
finished1: false,
productList:[],
supplyDemandListYes:[],
supplyDemandList:[],
serviceList:[],
productListYes:[],
financialTypeOptions:[],
productListChildren:[],
main_content_right_header_tit:'全套服务',
query:{
entityId:'',
entityName:'',
productType:''
},
query2:{
supplyDemandName:'',
orderByColumn:'order_score'
},
searchServiceInput:'',
searchInput:'',
}; };
}, },
created() { created() {

this.getDicts("Industrial_classification_type").then(response => {
this.financialTypeOptions = response.data;
});
let query = {
parentId : 0
}
productTypes(query).then(response => {
this.productList = response.data;
});
}, },
methods: { methods: {

getServiceList(){
detailList(this.query).then(response => {
response.rows.map(res=>{
res.industryClassificationType = this.selectDictLabel(this.financialTypeOptions, res.industryClassificationType);
if (res.masterMap){
let supplyMasterMap = res.masterMap.split( "," )
res.masterMap2 = []
supplyMasterMap.map(rr=>{
res.masterMap2.push('/api'+rr)
})
}
this.serviceList.push(res);
})
console.log(this.serviceList)
if(this.serviceList.length >= response.total){
this.finished1 = true;
return;
}else{
this.loading1 = false;
this.query.pageNum += 1 ;
}
});
},
getList(){
supplyDemandList(this.query2).then(response => {
response.rows.map(res=>{
if(res.publishStatus == 3){
if (res.supplyMasterMap){
let supplyMasterMap = res.supplyMasterMap.split( "," )
res.supplyMasterMap = '/api'+supplyMasterMap[0]
}
this.supplyDemandListYes.push(res);
}
this.supplyDemandList.push(res);
})
if(this.supplyDemandList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},
onChangeIn(val){
this.supplyDemandListYes = [];
if (val == 0){
this.main_content_right_header_tit = '全套服务';
this.query.productType = '';
this.getList();
return;
}
this.query.productType = this.productList[val-1].id;
let parentId = this.productList[val-1].id;
this.main_content_right_header_tit = this.productList[val-1].dictName
let query1 = {
parentId : parentId
}
productTypes(query1).then(response => {
this.productListChildren = response.data;
this.getList();
});
},
goSearchService(){
this.serviceList = [];
this.query.entityName = this.searchServiceInput;
this.getServiceList();
},
goSearch(){
this.supplyDemandListYes = [];
this.query2.supplyDemandName = this.searchInput;
this.getList();
},
orderByChange(){
if (this.activePs == 0){
this.query2.orderByColumn = 'order_score'
}
if (this.activePs == 1){
this.query2.orderByColumn = 'order_num'
}
this.supplyDemandListYes = [];
this.getList();
}
}, },
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.home_wrapper{ .home_wrapper{

height: 100vh;
background: #ffffff;
} }
/*头部*/ /*头部*/
.header{ .header{
@@ -186,7 +289,7 @@
overflow: hidden; overflow: hidden;
} }
/deep/ .van-tabs__line{ /deep/ .van-tabs__line{
background: #334281!important;
background: #334281;
} }
/deep/ .van-tab--active{ /deep/ .van-tab--active{
color: #334281; color: #334281;
@@ -321,6 +424,36 @@
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
/deep/ .van-tabs--line .van-tabs__wrap{
border-radius: 100rem;
height: 25PX;
}
/deep/ .van-tab{
z-index: 1;
color: #8F8F8F;
padding: 5PX 10PX;
}
/deep/ .van-tab--active{
color: #334281;
}
/deep/ .van-tabs__nav{
background: #ECECEC;
border-radius: 100rem;
}
/deep/ .van-tabs__nav--line{
padding: 0;
}
/deep/ .van-tabs__line{
background: #D6D9E6;
border-radius: 100rem;
z-index: 0;
width: 50%;
height: 100%;
bottom: 0;
}
/deep/ .van-tabs__content{
padding: 0;
}
.main_content_right_header_tit{ .main_content_right_header_tit{
font-size: .4rem; font-size: .4rem;
color: #1A1D4A; color: #1A1D4A;
@@ -350,6 +483,7 @@
display: flex; display: flex;
flex-direction:column; flex-direction:column;
justify-content: space-between; justify-content: space-between;
flex: 1;
.tt{ .tt{
color: #333333; color: #333333;
font-size: .35rem; font-size: .35rem;


+ 71
- 18
src/views/agriculturalTrusteeship/society/societyProjectDetail.vue 파일 보기

@@ -14,33 +14,30 @@
<!-- 内容开始 --> <!-- 内容开始 -->
<div class="main"> <div class="main">
<van-swipe class="my-swipe" :autoplay="3000" indicator-color="white"> <van-swipe class="my-swipe" :autoplay="3000" indicator-color="white">
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test3.png"></van-swipe-item>
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test3.png"></van-swipe-item>
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test3.png"></van-swipe-item>
<van-swipe-item><img src="../../../../static/images/agriculturalTrusteeship/test3.png"></van-swipe-item>
<van-swipe-item v-for="(item,index) in supplyDemand.supplyMasterMapList" :key="index"><img :src="item"></van-swipe-item>
</van-swipe> </van-swipe>


<div class="main_content"> <div class="main_content">
<div class="tab"> <div class="tab">
<p>¥<span>66</span>.00/亩</p>
<p><span>销 600</span><span>分 4.7</span></p>
<p>¥<span>{{supplyDemand.unitPrice}}</span>/{{supplyDemand.unit}}</p>
<p><span>销 {{supplyDemand.orderNum}}</span><span>分 {{supplyDemand.orderScore}}</span></p>
</div> </div>
<p class="tt">农业保险玉米保险30/亩小麦50/亩大豆60/亩</p>
<p class="name">张三社会服务旗舰店</p>
<p class="tt">{{supplyDemand.supplyDemandName}}</p>
<p class="name">{{supplyDemand.entityName}}</p>
</div> </div>


<div class="main_box"> <div class="main_box">
<van-cell title="产品类型" :border="false" value="内容" />
<van-cell title="产品规格" :border="false" value="内容" />
<van-cell title="产品数量" :border="false" value="内容" />
<van-cell title="服务区域" :border="false" value="内容" />
<van-cell title="产品简介" :border="false" value="内容" />
<van-cell title="公司地址" :border="false" value="内容" />
<van-cell title="产品类型" :border="false" :value="supplyDemand.productType" />
<van-cell title="产品规格" :border="false" :value="supplyDemand.specification" />
<van-cell title="产品数量" :border="false" :value="supplyDemand.number" />
<van-cell title="服务区域" :border="false" :value="supplyDemand.serviceDeptName" />
<van-cell title="产品简介" :border="false" :value="supplyDemand.introduction" />
<van-cell title="公司地址" :border="false" :value="supplyDemand.address" />
</div> </div>


<div class="main_box"> <div class="main_box">
<van-cell title="联系人" :border="false" value="内容" />
<van-cell title="联系方式" :border="false" value="内容" />
<van-cell title="联系人" :border="false" :value="supplyDemand.linker" />
<van-cell title="联系方式" :border="false" :value="supplyDemand.supplyDemandTal" />
</div> </div>


<div class="main_box" style="padding: 0;"> <div class="main_box" style="padding: 0;">
@@ -62,6 +59,7 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productTypes, supplyDemandGet} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipInsuranceDetail", name: "agriculturalTrusteeshipInsuranceDetail",
data() { data() {
@@ -72,13 +70,61 @@
finished: false, finished: false,
center: { lng: 122.089726, lat: 37.540728 }, //经纬度 center: { lng: 122.089726, lat: 37.540728 }, //经纬度
zoom: 15, //地图展示级别 zoom: 15, //地图展示级别
showDialog:false,
supplyDemand:{},
productType:'',
bodyType:'',
projectTypeOptions:[],
productList:[],
productList1:[],
demandTypeOptions:[],
productTypeOptions:[],
supplyMasterMapArr:[],
bodyTypeOptions:[],
fieldNames : {
text: 'dictName',
value: 'id',
children: 'children',
},
}; };
}, },
created() { created() {

let query = {
parentId : ''
}
let query1 = {
tree : true
}
productTypes(query).then(response => {
this.productList = response.data;
});
productTypes(query1).then(response => {
this.productList1 = response.data;
});
this.getDicts("newBusinessEntity_statistics_project").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.projectTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.bodyTypeOptions = response.data;
});
this.getDetail();
}, },
methods: { methods: {

getDetail(){
supplyDemandGet(this.$route.query.id).then(response => {
response.data.bodyType = this.selectDictLabel(this.bodyTypeOptions, response.data.bodyType);
response.data.productType = this.productList1.filter(function (e) { return e.id == response.data.productType; })[0].dictName;
if (response.data.supplyMasterMap){
response.data.supplyMasterMapList = [];
var attachement = response.data.supplyMasterMap.split( "," );
this.supplyMasterMapArr = response.data.supplyMasterMap.split( "," );
attachement.forEach(responseAttach=>{
response.data.supplyMasterMapList.push('/api' + responseAttach);
})
}
this.supplyDemand = response.data;
});
},
}, },
} }
</script> </script>
@@ -113,6 +159,13 @@


/* 内容 */ /* 内容 */
.main{ .main{
.my-swipe{
height: 250PX;
img{
width: 100%;
height: 100%;
}
}
.my-swipe .van-swipe-item { .my-swipe .van-swipe-item {
color: #fff; color: #fff;
font-size: 20px; font-size: 20px;


+ 100
- 30
src/views/agriculturalTrusteeship/society/societyProjectList.vue 파일 보기

@@ -4,7 +4,7 @@
<div class="header"> <div class="header">
<div class="header_left" @click="onClickLeft"> <div class="header_left" @click="onClickLeft">
<img src="../../../../static/images/agriculturalTrusteeship/return.png"> <img src="../../../../static/images/agriculturalTrusteeship/return.png">
<p>张三服务合作社</p>
<p>{{tt}}</p>
</div> </div>
</div> </div>
<!-- 头部结束 --> <!-- 头部结束 -->
@@ -13,57 +13,44 @@
<div class="main"> <div class="main">
<div class="search"> <div class="search">
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" /> <img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_01.png" />
<input type="text" placeholder="输入需求进行搜索" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" />
<input type="text" placeholder="输入需求进行搜索" v-model="searchInput" />
<img src="../../../../static/images/agriculturalTrusteeship/index/search_icon_02.png" @click="goSearch" />
</div> </div>


<div class="main_content"> <div class="main_content">
<div class="main_content_left"> <div class="main_content_left">
<van-sidebar v-model="activeKey">
<van-sidebar v-model="activeKey" @change="onChangeIn">
<van-sidebar-item title="全套服务" /> <van-sidebar-item title="全套服务" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item title="开垦" />
<van-sidebar-item title="除草" />
<van-sidebar-item title="播种" />
<van-sidebar-item title="灌溉" />
<van-sidebar-item v-for="(item,index) in productList" :key="index" :title="item.dictName" />
</van-sidebar> </van-sidebar>
</div> </div>
<div class="main_content_right"> <div class="main_content_right">
<div class="main_content_right_header"> <div class="main_content_right_header">
<p class="main_content_right_header_tit">灌溉</p>
<van-tabs v-model="active" animated>
<p class="main_content_right_header_tit">{{main_content_right_header_tit}}</p>
<van-tabs v-model="active" animated @change="orderByChange">
<van-tab title="评分排序"></van-tab> <van-tab title="评分排序"></van-tab>
<van-tab title="销量排序"></van-tab> <van-tab title="销量排序"></van-tab>
</van-tabs> </van-tabs>
</div> </div>
<div class="main_content_right_nav">
<p>服务</p>
<p>服务</p>
<p>服务</p>
<p>服务</p>
<p>服务</p>
<div class="main_content_right_nav" v-if="activeKey!=0">
<p v-for="(item,index) in productListChildren" :key="index">{{item.dictName}}</p>
</div> </div>


<van-list <van-list
v-model="loading" v-model="loading"
:finished="finished" :finished="finished"
finished-text="没有更多了" finished-text="没有更多了"
@load="getList"
> >
<!-- @load="onLoad"--> <!-- @load="onLoad"-->
<div class="main_content_right_list" v-for="item in 10" :key="item" @click="$router.push({name:'agriculturalTrusteeshipSocietyProjectDetail'})">
<img src="../../../../static/images/agriculturalTrusteeship/index/test.png">
<div class="main_content_right_list" v-for="(item,index) in supplyDemandListYes" :key="index" @click="$router.push({name:'agriculturalTrusteeshipSocializationProjectDetail',query:{id:item.id}})">
<img v-if="item.supplyMasterMap" :src="item.supplyMasterMap" style="width: 18vw;height: 18vw;">
<img v-else src="../../../../static/images/agriculturalTrusteeship/zwtp.png" style="width: 18vw;height: 18vw;">
<div class="main_content_right_list_content"> <div class="main_content_right_list_content">
<p class="tt">如果只有一行就空着啊啊啊啊啊啊啊啊啊啊啊啊</p>
<p class="tt">{{item.supplyDemandName}}</p>
<div class="tab"> <div class="tab">
<p>¥<span>66</span>.00/亩</p>
<p><span>销 600</span><span>分 4.7</span></p>
<p>¥<span>{{item.unitPrice}}</span>.00/{{item.unit}}</p>
<p><span>销 {{item.orderNum}}</span><span>分 {{item.orderScore}}</span></p>
</div> </div>
<!-- <p class="name">张三社会服务旗舰店</p>--> <!-- <p class="name">张三社会服务旗舰店</p>-->
</div> </div>
@@ -79,6 +66,7 @@
</template> </template>
<script> <script>
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import {productTypes, supplyDemandList} from "@/api/agriculturalTrusteeship";
export default { export default {
name: "agriculturalTrusteeshipInsuranceList", name: "agriculturalTrusteeshipInsuranceList",
data() { data() {
@@ -87,13 +75,94 @@
active: 0, active: 0,
loading: false, loading: false,
finished: false, finished: false,
productList:[],
supplyDemandListYes:[],
supplyDemandList:[],
serviceList:[],
productListYes:[],
financialTypeOptions:[],
productListChildren:[],
main_content_right_header_tit:'全套服务',
query:{
entityId:'',
supplyDemandName:'',
productType:''
},
tt:'',
searchInput:'',
}; };
}, },
created() { created() {

this.query.entityId = this.$route.query.id;
this.tt = this.$route.query.entityName
this.getDicts("Industrial_classification_type").then(response => {
this.financialTypeOptions = response.data;
});
let query = {
parentId : 0
}
productTypes(query).then(response => {
this.productList = response.data;
});
}, },
methods: { methods: {
getList(){
supplyDemandList(this.query).then(response => {
response.rows.map(res=>{
if(res.publishStatus == 3){
if (res.supplyMasterMap){
let supplyMasterMap = res.supplyMasterMap.split( "," )
res.supplyMasterMap = '/api'+supplyMasterMap[0]
}
this.supplyDemandListYes.push(res);
}
this.supplyDemandList.push(res);
})
if(this.supplyDemandList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.query.pageNum += 1 ;
}
});
},
onChangeIn(val){
this.supplyDemandListYes = [];
if (val == 0){
this.main_content_right_header_tit = '全套服务';
this.query.productType = '';
this.getList();
return;
}
this.query.productType = this.productList[val-1].id;
let parentId = this.productList[val-1].id;
this.main_content_right_header_tit = this.productList[val-1].dictName
let query1 = {
parentId : parentId
}
productTypes(query1).then(response => {
this.productListChildren = response.data;
this.getList();
});
},


goSearch(){
this.supplyDemandListYes = [];
this.query.supplyDemandName = this.searchInput;
this.getList();
},
orderByChange(){
console.log(this.active)
if (this.active == 0){
this.query.orderByColumn = 'order_score'
}
if (this.active == 1){
this.query.orderByColumn = 'order_num'
}
this.supplyDemandListYes = [];
this.getList();
}
}, },
} }
</script> </script>
@@ -227,6 +296,7 @@
display: flex; display: flex;
flex-direction:column; flex-direction:column;
justify-content: space-between; justify-content: space-between;
flex: 1;
.tt{ .tt{
color: #333333; color: #333333;
font-size: .35rem; font-size: .35rem;


BIN
static/images/agriculturalTrusteeship/zwtp.png 파일 보기

Before After
Width: 800  |  Height: 800  |  Size: 59 KiB

불러오는 중...
취소
저장