庞东旭 1 рік тому
джерело
коміт
929baa839b
17 змінених файлів з 1171 додано та 116 видалено
  1. +3
    -3
      package-lock.json
  2. +26
    -0
      src/api/sunVillage_info/sysCbf.js
  3. +9
    -0
      src/router/index.js
  4. +7
    -4
      src/views/homesteadSurvey/add.vue
  5. +8
    -5
      src/views/homesteadSurvey/fsssAdd.vue
  6. +1
    -1
      src/views/homesteadSurvey/list2.vue
  7. +2
    -2
      src/views/homesteadSurvey/nhDetails.vue
  8. +8
    -0
      src/views/homesteadSurvey/nhcyList.vue
  9. +1
    -1
      src/views/homesteadSurvey/wcnhList.vue
  10. +12
    -5
      src/views/homesteadSurvey/zrzAdd.vue
  11. +23
    -11
      src/views/sunVillage_info/list_cbf.vue
  12. +394
    -71
      src/views/sunVillage_info/list_cbfsq.vue
  13. +637
    -0
      src/views/sunVillage_info/list_cbfsq_view.vue
  14. +22
    -9
      src/views/sunVillage_info/list_cbht.vue
  15. +13
    -1
      src/views/sunVillage_info/list_contract_signature.vue
  16. +2
    -2
      src/views/sunVillage_info/list_contractor.vue
  17. +3
    -1
      src/views/sunVillage_info/list_fbfsq.vue

+ 3
- 3
package-lock.json Переглянути файл

@@ -4281,7 +4281,7 @@
"fastclick": { "fastclick": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/fastclick/-/fastclick-1.0.6.tgz", "resolved": "https://registry.npmjs.org/fastclick/-/fastclick-1.0.6.tgz",
"integrity": "sha512-cXyDBT4g0uWl/Xe75QspBDAgAWQ0lkPi/zgp6YFEUHj6WV6VIZl7R6TiDZhdOVU3W4ehp/8tG61Jev1jit+ztQ==",
"integrity": "sha1-FhYlsnsaWAZAWTa9qaLBkm0Gvmo=",
"dev": true "dev": true
}, },
"fastparse": { "fastparse": {
@@ -4436,7 +4436,7 @@
"font-awesome.css": { "font-awesome.css": {
"version": "4.7.2", "version": "4.7.2",
"resolved": "https://registry.npmjs.org/font-awesome.css/-/font-awesome.css-4.7.2.tgz", "resolved": "https://registry.npmjs.org/font-awesome.css/-/font-awesome.css-4.7.2.tgz",
"integrity": "sha512-FIyRbig4PDY15NGzejM3b8OQ/lWvId8PHnE4CnuDtc8/YYs07cvnqLCyfvIJPwJl5SA/Rq+9jAe9W+Fr1pv0DA=="
"integrity": "sha1-B1pCARQo8gJyVO9phgx1ergWyVI="
}, },
"for-in": { "for-in": {
"version": "1.0.2", "version": "1.0.2",
@@ -12350,7 +12350,7 @@
"vue-html5-editor": { "vue-html5-editor": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/vue-html5-editor/-/vue-html5-editor-1.1.1.tgz", "resolved": "https://registry.npmjs.org/vue-html5-editor/-/vue-html5-editor-1.1.1.tgz",
"integrity": "sha512-Ckmb8djta+XQMUQaxRcCUNBXEzjPF5p6c2nQ5ICcIuR8eYz4b0HAGzXlSDfL3ZxkrVHO2Hx0VrUORLu2Lwem4g==",
"integrity": "sha1-WRAhCoMNjI00eaHx/shHMZKqA7M=",
"dev": true "dev": true
}, },
"vue-lazyload": { "vue-lazyload": {


+ 26
- 0
src/api/sunVillage_info/sysCbf.js Переглянути файл

@@ -96,4 +96,30 @@ export function cbfDataStatistics(){
}) })
} }


// 承包方家庭成员
export function listFamilyMember(params){
return request({
url: '/open/villageAffairs/public/familyMember/list',
method: 'get',
params: params
})
}

// 获取承包合同
export function getContractByCode(params) {
return request({
url: '/open/villageAffairs/public/contract/detail',
method: 'get',
params: params
});
}

// 获取承包地块信息
export function listContractedLand(params) {
return request({
url: '/open/villageAffairs/public/contractedLand/list',
method: 'get',
params: params
});
}



+ 9
- 0
src/router/index.js Переглянути файл

@@ -4056,6 +4056,15 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/sunVillage_info/list_cbfsq'], resolve) component: (resolve) => require(['@/views/sunVillage_info/list_cbfsq'], resolve)
}, },
{
path: '/sunVillage_info/list_cbfsq_view',
name: 'sunVillageInfoListCbfsqView',
meta: {
title: '承包方授权',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_cbfsq_view'], resolve)
},
{ ////阳光村务(新)-- 合同信息 { ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_vote_detail', path: '/sunVillage_info/list_vote_detail',
name: 'sunVillageInfoListVoteDetail', name: 'sunVillageInfoListVoteDetail',


+ 7
- 4
src/views/homesteadSurvey/add.vue Переглянути файл

@@ -852,10 +852,13 @@ export default {
if(this.form.id == null){ if(this.form.id == null){


let surveyItem = JSON.parse(localStorage.getItem("surveyItem")); let surveyItem = JSON.parse(localStorage.getItem("surveyItem"));
this.$set(this.form, 'theGeomJson', JSON.parse( this.form.theGeomJson));
if(this.form.theGeomJson.hasOwnProperty('coordinates')) // 从后台获取的
this.$set(this.form, 'theGeomJson',this.form.theGeomJson.coordinates);
this.$set(this.form, 'theGeomJson', JSON.stringify( this.form.theGeomJson));
if(this.form.theGeomJson instanceof Array){
this.$set(this.form, 'theGeomJson', JSON.stringify( this.form.theGeomJson));
}else if(typeof this.form.theGeomJson === 'string'){
let theGeometry = JSON.parse( this.form.theGeomJson);
if(theGeometry.hasOwnProperty('coordinates')) // 从后台获取的
this.$set(this.form, 'theGeomJson', JSON.stringify(theGeometry.coordinates));
}
this.$set(this.form, 'surveyId', surveyItem.id) this.$set(this.form, 'surveyId', surveyItem.id)
addZjdzd(this.form).then(response => { addZjdzd(this.form).then(response => {
let _this =this; let _this =this;


+ 8
- 5
src/views/homesteadSurvey/fsssAdd.vue Переглянути файл

@@ -44,7 +44,7 @@
</van-row> </van-row>
</div> </div>
</van-sticky> </van-sticky>
<van-form ref = "form">
<van-form ref="form">
<div style="margin:1.6rem auto;background: #ffffff;width: 95%;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16);border-radius:15px;padding-top: 20px;"> <div style="margin:1.6rem auto;background: #ffffff;width: 95%;box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.16);border-radius:15px;padding-top: 20px;">
<p class="title" style="position:relative;padding-left:10px;line-height:20px;font-size: 16px;margin-left: 3%;margin-bottom: 5px;">附属设施信息</p> <p class="title" style="position:relative;padding-left:10px;line-height:20px;font-size: 16px;margin-left: 3%;margin-bottom: 5px;">附属设施信息</p>
<!--<van-field <!--<van-field
@@ -209,10 +209,13 @@ export default {
}, },
submitzjd(){ submitzjd(){
this.$refs.form.validate().then(() => { this.$refs.form.validate().then(() => {
this.$set(this.form, 'theGeomJson', JSON.parse( this.form.theGeomJson));
if(this.form.theGeomJson.hasOwnProperty('coordinates')) // 从后台获取的
this.$set(this.form, 'theGeomJson',this.form.theGeomJson.coordinates);
this.$set(this.form, 'theGeomJson', JSON.stringify( this.form.theGeomJson));
if(this.form.theGeomJson instanceof Array){
this.$set(this.form, 'theGeomJson', JSON.stringify( this.form.theGeomJson));
}else if(typeof this.form.theGeomJson === 'string'){
let theGeometry = JSON.parse( this.form.theGeomJson);
if(theGeometry.hasOwnProperty('coordinates')) // 从后台获取的
this.$set(this.form, 'theGeomJson', JSON.stringify(theGeometry.coordinates));
}
if(this.form.id == null){ if(this.form.id == null){
addFsss(this.form).then(response => { addFsss(this.form).then(response => {
let _this =this let _this =this


+ 1
- 1
src/views/homesteadSurvey/list2.vue Переглянути файл

@@ -56,7 +56,7 @@
</template> </template>
</van-search> </van-search>
<div style="background:#fff;padding:10px 2.5%;display: flex;justify-content: space-between;"> <div style="background:#fff;padding:10px 2.5%;display: flex;justify-content: space-between;">
<van-button type="primary" style="width:110px;height: 20px;font-size: 12px;" round @click="onClickWcnh">增加外村农户</van-button>
<van-button type="primary" style="width:110px;height: 30px;font-size: 12px;" round @click="onClickWcnh">增加外村农户</van-button>
</div> </div>
</van-sticky> </van-sticky>




+ 2
- 2
src/views/homesteadSurvey/nhDetails.vue Переглянути файл

@@ -1485,7 +1485,7 @@
submitzjd(){ submitzjd(){
this.$refs.form.validate().then(() => { this.$refs.form.validate().then(() => {
if(this.form.id == null){ if(this.form.id == null){
addNh(this.form).then(response => {
addNhhncy(this.form).then(response => {
let _this =this let _this =this
this.$toast({ this.$toast({
icon: 'success', // 找到自己需要的图标 icon: 'success', // 找到自己需要的图标
@@ -1497,7 +1497,7 @@
}) })
}); });
}else{ }else{
updateNh(this.form).then(response => {
updateNhhncy(this.form).then(response => {
let _this =this let _this =this
this.$toast({ this.$toast({
icon: 'success', // 找到自己需要的图标 icon: 'success', // 找到自己需要的图标


+ 8
- 0
src/views/homesteadSurvey/nhcyList.vue Переглянути файл

@@ -55,6 +55,7 @@
<p style="display: flex;align-items: center;"> <p style="display: flex;align-items: center;">
<img src="../../assets/images/housesteadSurvey/list03.png" alt="" style="margin-right: 5px;"> <img src="../../assets/images/housesteadSurvey/list03.png" alt="" style="margin-right: 5px;">
<span style="line-height: 1;font-size: 16px;">{{item.xm}}</span> <span style="line-height: 1;font-size: 16px;">{{item.xm}}</span>
<span style="line-height: 1;font-size: 16px;margin-left: 70%;">{{formatDict(yhzgxList,item.yhzgx)}}</span>
</p> </p>
<div style="display:flex;line-height:20px;margin-top: 15px;font-size: 14px;color: #999999;"> <div style="display:flex;line-height:20px;margin-top: 15px;font-size: 14px;color: #999999;">
<p style="flex:1;text-align:left;">证件号码:</p> <p style="flex:1;text-align:left;">证件号码:</p>
@@ -135,6 +136,7 @@ export default {
// 使用权人列表 // 使用权人列表
shyqrData:{}, shyqrData:{},
hnnylist:[], hnnylist:[],
yhzgxList:[],
permission:false, permission:false,
guohuData: { guohuData: {
visible: false, visible: false,
@@ -145,6 +147,9 @@ export default {
}; };
}, },
created(){ created(){
this.houseGetDicts("family_status").then((response) => {
this.yhzgxList = response.data;
});
this.shyqrData = this.$route.query; this.shyqrData = this.$route.query;
this.permission = localStorage.getItem("executePermission"); this.permission = localStorage.getItem("executePermission");
this.getList(); this.getList();
@@ -172,6 +177,9 @@ export default {
this.$router.push({name: this.$router.back(-1)}); this.$router.push({name: this.$router.back(-1)});
// } // }
}, },
formatDict(dict, value) {
return this.selectDictLabel(dict, value);
},
handleToHuzhu(row) { handleToHuzhu(row) {
const ids = row.id || this.ids; const ids = row.id || this.ids;
Dialog.confirm({ Dialog.confirm({


+ 1
- 1
src/views/homesteadSurvey/wcnhList.vue Переглянути файл

@@ -21,7 +21,7 @@
<img src="../../assets/images/housesteadSurvey/list03.png" alt="" style="margin-right: 5px;"> <img src="../../assets/images/housesteadSurvey/list03.png" alt="" style="margin-right: 5px;">
<span style="line-height: 1;">{{item.hzxm}}</span> <span style="line-height: 1;">{{item.hzxm}}</span>
</p> </p>
<p style="display: flex;align-items: center;color:#22B7F2;font-size:12px;margin-left: auto;margin-right: 10px;border-bottom: 1px dashed #22B7F2;" @click="showPopuphncylist(item)"><img src="../../assets/images/housesteadSurvey/list09.png" alt="" style="margin-right: 3px;">成员</p>
<!-- <p style="display: flex;align-items: center;color:#22B7F2;font-size:12px;margin-left: auto;margin-right: 10px;border-bottom: 1px dashed #22B7F2;" @click="showPopuphncylist(item)"><img src="../../assets/images/housesteadSurvey/list09.png" alt="" style="margin-right: 3px;">成员</p>-->


</div> </div>
</template> </template>


+ 12
- 5
src/views/homesteadSurvey/zrzAdd.vue Переглянути файл

@@ -270,10 +270,17 @@ export default {
submitzjd(){ submitzjd(){
this.$refs.form.validate().then(() => { this.$refs.form.validate().then(() => {
if(this.form.id == null){ if(this.form.id == null){
this.$set(this.form, 'theGeomJson', JSON.parse( this.form.theGeomJson));
if(this.form.theGeomJson.hasOwnProperty('coordinates')) // 从后台获取的
this.$set(this.form, 'theGeomJson',this.form.theGeomJson.coordinates);
this.$set(this.form, 'theGeomJson', JSON.stringify( this.form.theGeomJson));
// this.$set(this.form, 'theGeomJson', JSON.parse( this.form.theGeomJson));
// if(this.form.theGeomJson.hasOwnProperty('coordinates')) // 从后台获取的
// this.$set(this.form, 'theGeomJson',this.form.theGeomJson.coordinates);
// this.$set(this.form, 'theGeomJson', JSON.stringify( this.form.theGeomJson));
if(this.form.theGeomJson instanceof Array){
this.$set(this.form, 'theGeomJson', JSON.stringify( this.form.theGeomJson));
}else if(typeof this.form.theGeomJson === 'string'){
let theGeometry = JSON.parse( this.form.theGeomJson);
if(theGeometry.hasOwnProperty('coordinates')) // 从后台获取的
this.$set(this.form, 'theGeomJson', JSON.stringify(theGeometry.coordinates));
}
addZrz(this.form).then(response => { addZrz(this.form).then(response => {
let _this =this let _this =this
this.$toast({ this.$toast({
@@ -332,7 +339,7 @@ export default {
onMapDrawFinished(data) { onMapDrawFinished(data) {
console.info(data); console.info(data);
this.drawInsert = data; this.drawInsert = data;
this.form.theGeomJson = JSON.stringify(this.drawInsert);
this.form.theGeomJson = this.drawInsert;
}, },
// 当申请地图被重置时 // 当申请地图被重置时
onMapDrawReseted() { onMapDrawReseted() {


+ 23
- 11
src/views/sunVillage_info/list_cbf.vue Переглянути файл

@@ -22,15 +22,15 @@
<div class="item" @click="goDetail(item.id)"> <div class="item" @click="goDetail(item.id)">
<div class="info"> <div class="info">
<div class="title"> <div class="title">
<i class="icon_box" v-if="item.secondSigning==null"></i>
<i class="icon_box1" v-if="item.secondSigning!=null"></i>
<p class="news_title" :style="{'color': item.secondSigning!=null?'#2bc30c':'#eb1616'}">{{item.cbhtbm}}</p>
<p class="tips_mark" :style="{'color': item.secondSigning!=null?'#79bc29':'#f8a83d','background': item.secondSigning!=null?'#e8ffcd':'#ffedcd'}">{{item.signingMode}}</p>
<p class="tips_mark2" v-if="item.signingMode === '线上'" :style="{'background': item.secondSigning!=null?'#2bc30c':'#eb1616'}">{{item.signingStatus}}</p>
<i class="icon_box" v-if="item.signingStatus =='合同筹备' || item.signingStatus =='合同待签' ||item.signingStatus =='单方已签'"></i>
<i class="icon_box1" v-if="item.signingStatus =='签字完成' || item.signingStatus =='合同归档'"></i>
<p class="news_title" >{{item.cbhtbm}}</p>
<p class="tips_mark2" v-if="item.signingMode === '线上'" :style="{'background': formatDict(item)}">{{item.signingStatus}}</p>
<p class="tips_mark" :style="{'background': item.signingMode === '线上'?'#F9BE0C':'#08BE4E'}">{{item.signingMode}}</p>
</div> </div>
<div class="time"> <div class="time">
<p style="color:#eb1616;">{{item.cbfmc}}</p>
<p style="color:#eb1616;font-weight: bold;">{{item.htzmjm.toFixed(2)}} 亩</p>
<p>{{item.cbfmc}}</p>
<p>{{item.htzmjm.toFixed(2)}} 亩</p>
</div> </div>
</div> </div>
</div> </div>
@@ -48,10 +48,10 @@
<img src="../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="35"> <img src="../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="35">
<p>合同网签</p> <p>合同网签</p>
</div> </div>
<div class="opera_btn" @click="openPopupGsjg(item.cbfbm)">
<!-- <div class="opera_btn" @click="openPopupGsjg(item.cbfbm)">
<img src="../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="35"> <img src="../../assets/images/sunVillage_info/signature_icon_02.png" alt="" width="35">
<p>公示结果签名</p> <p>公示结果签名</p>
</div>
</div> -->
<div class="opera_btn" v-if="item.signingMode == '线上' && item.signingStatus !=='合同筹备' && item.signingStatus !=='双方待签'" @click="contractView(item.id)"> <div class="opera_btn" v-if="item.signingMode == '线上' && item.signingStatus !=='合同筹备' && item.signingStatus !=='双方待签'" @click="contractView(item.id)">
<img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35"> <img src="../../assets/images/sunVillage_info/signature_icon_03.png" alt="" width="35">
<p>合同预览</p> <p>合同预览</p>
@@ -156,6 +156,9 @@
created() { created() {
this.height = window.screen.height * 1.28 - 20; this.height = window.screen.height * 1.28 - 20;
this.getCbfInfo(); this.getCbfInfo();
this.houseGetDicts("signing_status").then((res) => {
this.signingStatusData = res.data;
});
// this.queryParams.cbfbm = JSON.parse(Cookies.get('user')).idcard; // this.queryParams.cbfbm = JSON.parse(Cookies.get('user')).idcard;
}, },
methods: { methods: {
@@ -260,6 +263,15 @@
this.$notify({ type: 'success', message: '删除成功' }); this.$notify({ type: 'success', message: '删除成功' });
}); });
}, },
formatDict(item){
let colorval = "";
this.signingStatusData.map(function (e){
if(item.signingStatus === e.dictLabel){
colorval = e.remark;
}
})
return colorval;
},
signaImgFun(url) { signaImgFun(url) {
this.signatureImg = url; this.signatureImg = url;
}, },
@@ -327,7 +339,7 @@
// 签署合同下载 // 签署合同下载
handleDownload(id) { handleDownload(id) {
this.$dialog.confirm({ this.$dialog.confirm({
message: '是否确认下载签署合同?',
message: '是否下载承包合同?',
}).then(() => { }).then(() => {
// on confirm // on confirm
signedContractDownload(id).then(res => { signedContractDownload(id).then(res => {
@@ -511,7 +523,7 @@
background: #ffedcd; background: #ffedcd;
border-radius: 8px; border-radius: 8px;
font-size: 24px; font-size: 24px;
color: #f8a83d;
color: #ffffff;
text-align: center; text-align: center;
line-height: 34px; line-height: 34px;
flex-shrink: 0; flex-shrink: 0;


+ 394
- 71
src/views/sunVillage_info/list_cbfsq.vue Переглянути файл

@@ -9,61 +9,132 @@
<img src="../../assets/images/sunVillage_info/list_employer_process_icon_02.png" style="width:22PX;height:22PX;margin-right: 10px;"/> <img src="../../assets/images/sunVillage_info/list_employer_process_icon_02.png" style="width:22PX;height:22PX;margin-right: 10px;"/>
<p class="tit">承包方授权</p> <p class="tit">承包方授权</p>
</div> </div>
<van-field readonly v-model="cbfTypeName" label="承包方类型" placeholder="承包方类型" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfbm" label="承包方代码" placeholder="承包方代码" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfmc" label="承包方名称" placeholder="承包方名称" input-align="right" :border="false" />
<van-field readonly v-model="zjlxName" label="承包方证件类型" placeholder="承包方证件类型" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfzjhm" label="承包方证件号码" placeholder="承包方证件号码" input-align="right" :border="false" />
<van-field readonly v-model="form.lxdh" label="联系电话" placeholder="联系电话" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfcysl" label="承包方成员数量" placeholder="承包方成员数量" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfdcy" label="承包方调查员" placeholder="承包方调查员" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfdcrq" label="承包方调查日期" placeholder="承包方调查日期" input-align="right" :border="false" />
<van-cell title="承包方调查记事" style="color: #646566;">
<div style="color:#000000; ">{{form.cbfdcjs}}</div>
</van-cell>
<van-cell title="承包方调查签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.cbfdcqz" width="10%" alt="" v-if="form.cbfdcqz" >
</template>
</van-field>
</van-cell>
<van-cell title="公示记事" style="color: #646566;">
<div style="color:#000000; ">{{form.gsjs}}</div>
</van-cell>
<van-field readonly v-model="form.gsjsr" label="公示记事人" placeholder="公示记事人" input-align="right" :border="false" />
<van-cell title="公示记事人签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.gsjsrqz" width="10%" alt="" v-if="form.gsjsrqz" >
</template>
</van-field>
</van-cell>
<van-field readonly v-model="form.gsjsrq" label="公示记事日期" placeholder="公示记事日期" input-align="right" :border="false" />
<van-cell title="公示结果意见" style="color: #646566;">
<div style="color:#000000; ">{{form.gsjgyj}}</div>
</van-cell>
<van-cell title="公示结果签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.gsjgqz" width="10%" alt="" v-if="form.gsjgqz" >
</template>
</van-field>
</van-cell>
<van-field readonly v-model="form.gsjgqzrq" label="公示结果签字日期" placeholder="公示结果签字日期" input-align="right" :border="false" />
<van-field readonly v-model="form.gsshr" label="公示审核人" placeholder="公示审核人" input-align="right" :border="false" />
<van-field readonly v-model="form.gsshrq" label="公示审核日期" placeholder="公示审核日期" input-align="right" :border="false" />
<van-cell title="公示审核意见" style="color: #646566;">
<div style="color:#000000; ">{{form.gsshyj}}</div>
</van-cell>
<van-cell title="公示审核签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.gsshqz" width="10%" alt="" v-if="form.gsshqz" >
</template>
</van-field>
</van-cell>
<van-field readonly v-model="form.yzbm" label="邮政编码" placeholder=" 邮政编码" input-align="right" :border="false" />

<van-tabs v-model="active" animated>
<van-tab title="承包方">
<van-field readonly v-model="cbfTypeName" label="承包方类型" placeholder="承包方类型" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfbm" label="承包方代码" placeholder="承包方代码" input-align="right" :border="false" />
<van-cell title="承包方名称" style="color: #646566;">
<div style="color:#000000; ">{{form.cbfmc}}</div>
</van-cell>
<van-field readonly v-model="zjlxName" label="承包方证件类型" placeholder="承包方证件类型" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfzjhm" label="承包方证件号码" placeholder="承包方证件号码" input-align="right" :border="false" />
<van-field readonly v-model="form.lxdh" label="联系电话" placeholder="联系电话" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfcysl" label="承包方成员数量" placeholder="承包方成员数量" input-align="right" :border="false" />
<van-field readonly v-model="form.yzbm" label="邮政编码" placeholder=" 邮政编码" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfdcy" label="承包方调查员" placeholder="承包方调查员" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfdcrq" label="承包方调查日期" placeholder="承包方调查日期" input-align="right" :border="false" />
<van-cell title="承包方调查记事" style="color: #646566;">
<div style="color:#000000; ">{{form.cbfdcjs}}</div>
</van-cell>
<van-cell title="承包方调查签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.cbfdcqz" width="10%" alt="" v-if="form.cbfdcqz" >
</template>
</van-field>
</van-cell>
<van-cell title="公示记事" style="color: #646566;">
<div style="color:#000000; ">{{form.gsjs}}</div>
</van-cell>
<van-field readonly v-model="form.gsjsr" label="公示记事人" placeholder="公示记事人" input-align="right" :border="false" />
<van-cell title="公示记事人签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.gsjsrqz" width="10%" alt="" v-if="form.gsjsrqz" >
</template>
</van-field>
</van-cell>
<van-field readonly v-model="form.gsjsrq" label="公示记事日期" placeholder="公示记事日期" input-align="right" :border="false" />
<van-cell title="公示结果意见" style="color: #646566;">
<div style="color:#000000; ">{{form.gsjgyj}}</div>
</van-cell>
<van-cell title="公示结果签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.gsjgqz" width="10%" alt="" v-if="form.gsjgqz" >
</template>
</van-field>
</van-cell>
<van-field readonly v-model="form.gsjgqzrq" label="公示结果签字日期" placeholder="公示结果签字日期" input-align="right" :border="false" />
<van-field readonly v-model="form.gsshr" label="公示审核人" placeholder="公示审核人" input-align="right" :border="false" />
<van-field readonly v-model="form.gsshrq" label="公示审核日期" placeholder="公示审核日期" input-align="right" :border="false" />
<van-cell title="公示审核意见" style="color: #646566;">
<div style="color:#000000; ">{{form.gsshyj}}</div>
</van-cell>
<van-cell title="公示审核签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.gsshqz" width="10%" alt="" v-if="form.gsshqz" >
</template>
</van-field>
</van-cell>
</van-tab>
<van-tab title="家庭成员">
<van-cell v-for="(item, index) in memberList" :key="item.id">
<div class="member_item">
<div class="item_left">
<div class="item_left_tt">
<p class="name">
<img src="../../../static/images/contracted/family_icon_01.png" alt="">
{{ item.cyxm }}
</p>
<p>{{ item.yhzgx }}</p>
<p class="sex">
{{ item. cyxb }}
<img v-if="item.cyxb === '男'" src="../../../static/images/contracted/family_icon_man.png" alt="">
<img v-else-if="item.cyxb === '女'" src="../../../static/images/contracted/family_icon_wman.png" alt="">
</p>
</div>
<p class="id_card">
<img src="../../../static/images/contracted/family_icon_02.png" alt="">
{{ item.cyzjhm }}
</p>
</div>
<p class="item_right">{{ item.sfgyr }}</p>
</div>
</van-cell>
</van-tab>
<van-tab title="承包合同">
<van-field v-model="contractDetail.cbhtbm" label="承包合同代码:" placeholder="请输入承包合同代码" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.ycbhtbm" label="原承包合同代码:" placeholder="请输入原承包合同代码" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.fbfbm" label="发包方代码:" placeholder="请输入发包方代码" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbflx" label="承包方类型:" placeholder="请选择承包方类型" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbfbm" label="承包方代码:" placeholder="请输入承包方代码" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbfmc" label="承包方名称:" placeholder="请输入承包方名称" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbfs" label="承包方式:" placeholder="请选择承包方式" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.qdsj" label="签订时间:" placeholder="请选择签订时间" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbqxq" label="承包起始时间:" placeholder="请选择起始时间" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbqxz" label="承包结束时间:" placeholder="请选择结束时间" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbdkzs" label="承包地块数:" placeholder="请输入承包地块数" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.htzmjm" label="合同面积(亩):" placeholder="请输入合同面积(亩)" :border="false" input-align="right" readonly />
</van-tab>
<van-tab title="承包地块">
<van-cell v-for="(item,index) in landList" :key="item.id">
<div class="land_item" >
<div class="item_tt">
<p>{{ item.dkmc }}</p>
<p>{{ item.dkbm }}</p>
</div>
<div class="item_type">
<p>{{ item.htmjm }}亩</p>
<!-- <p>{{ item.tdlylx }}</p>-->
<p>{{ item.dldj }}</p>
<p>{{ item.tdyt }}</p>
<p>基本农田:{{ item.sfjbnt }}</p>
</div>
<div class="item_direction">
<!-- <p>{{ item.zjrxm }}指界</p>-->
<p>东:{{ item.dkdz }}</p>
<p>西:{{ item. dkxz }}</p>
<p>南:{{ item.dknz }}</p>
<p>北:{{ item.dkbz }}</p>
</div>
</div>
</van-cell>

</van-tab>
</van-tabs>
<!-- <van-field readonly v-model="form.fbfdcy" label="发包方调查员" placeholder="发包方调查员" input-align="right" :border="false" />--> <!-- <van-field readonly v-model="form.fbfdcy" label="发包方调查员" placeholder="发包方调查员" input-align="right" :border="false" />-->
<!-- <van-field readonly v-model="form.fbfdcrq" label="发包方调查日期" placeholder="发包方调查日期" input-align="right" :border="false" />--> <!-- <van-field readonly v-model="form.fbfdcrq" label="发包方调查日期" placeholder="发包方调查日期" input-align="right" :border="false" />-->
<!-- <van-cell title="发包方调查记事" style="color: #646566;">--> <!-- <van-cell title="发包方调查记事" style="color: #646566;">-->
@@ -85,25 +156,54 @@
<!-- </template>--> <!-- </template>-->
<!-- </van-field>--> <!-- </van-field>-->
<!-- </van-cell>--> <!-- </van-cell>-->
<img class="bottomImg" v-if="sqbutShow && cbfsqShow" src="../../assets/images/sunVillage_info/cbfwsq.png" alt="" />
<img class="bottomImg" v-if="sqbutShow && cbfshShow" src="../../assets/images/sunVillage_info/cbfwsh.png" alt="" />
<!-- <van-button round block type="primary" v-if="!sqbutShow" >
授权完成
</van-button> -->
</div>
<img class="bottomImg" src="../../assets/images/sunVillage_info/contractor_authorized.png" alt="" v-if="!sqbutShow" />
</div> </div>
<div style="margin: 30px auto 0;width: 50%;">
<van-button round block type="primary" v-if="showSignBtn" @click="openEsignPopup">
公示结果签字
</van-button>
<van-button round block type="primary" v-if="showAuthBtn" @click="cbfsq">
授权
</van-button>
</div>
<!-- <img class="bottomImg" v-if="sqbutShow && cbfsqShow" src="../../assets/images/sunVillage_info/cbfwsq.png" alt="" />-->
<!-- <img class="bottomImg" v-if="sqbutShow && cbfshShow" src="../../assets/images/sunVillage_info/cbfwsh.png" alt="" />-->
<img class="bottomImg" src="../../assets/images/sunVillage_info/contractor_authorized.png" alt="" v-if="showAuthPic" />


<van-popup v-model="showEsignPopup" closeable position="right" :style="{ height: '100%' }" >
<van-cell-group style="width: 100%;height:100%;overflow: hidden;padding-top: 10px;padding-bottom: 10px;">
<div class="signature-box" @mousedown="canvasTTdown" @touchstart="canvasTTdown">
<vue-esign
ref="esign"
class="mySign"
:width="500"
:height="height"
:isCrop="signature.isCrop"
:lineWidth="signature.lineWidth"
:lineColor="signature.lineColor"
:bgColor.sync="signature.bgColor"
/>
</div>
<img src="../../assets/images/sunVillage_info/signature_icon_10.png" id="canvasTT" style="position:absolute;top: 50%;left: 50%;transform: translate(-50%,-50%)" alt="">
<div class="signature-footer">
<van-button @click="handleGenerate" type="info" size="small">保存签字</van-button>
<van-button @click="handleReset" class="clearBtn" type="info" plain size="small">清空画板</van-button>
</div>
</van-cell-group>
</van-popup>
</div> </div>
</template> </template>


<script> <script>
import { getCbfList,getCbfById,eqbEmpower} from "@/api/sunVillage_info/sysCbf";
import { getCbfList,getCbfById,eqbEmpower, listFamilyMember, getContractByCode, listContractedLand } from "@/api/sunVillage_info/sysCbf";
import { updateGsjgSign } from "@/api/sunVillage_info/fixedAssets";
import FieldSelect from "@/components/form/FieldSelect"; import FieldSelect from "@/components/form/FieldSelect";
import vueEsign from "vue-esign";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import $ from "jquery"; import $ from "jquery";
export default { export default {
name: "certificateList", name: "certificateList",
components: {FieldSelect},
components: {FieldSelect, vueEsign},
data() { data() {
return { return {
form:{}, form:{},
@@ -117,7 +217,6 @@
cbfTypeName:"", cbfTypeName:"",
surveyStatusName:"", surveyStatusName:"",
isDepositName:"", isDepositName:"",
height:0,
options: { options: {
cert_type: [], cert_type: [],
}, },
@@ -129,9 +228,19 @@
resultImg: "", // 最终画布生成的base64图片 resultImg: "", // 最终画布生成的base64图片
isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分
}, },
showSignBtn: false, // 是否显示公示结果签字按钮
showAuthBtn: false, // 是否显示授权按钮
showAuthPic: false, // 是否显示授权图片
active: 0, // 控制 van-tabs 的标签
showEsignPopup: false, // 是否显示签字板
height: null,
memberList: [], // 承包方家庭成员信息
contractDetail: {}, // 承包合同信息
landList: [], // 承包地块列表
}; };
}, },
created() { created() {
this.height = window.screen.height * 1.28 - 20;
if(this.$route.query.sqStatus){ if(this.$route.query.sqStatus){
getCbfById(this.$route.query.id).then(response => { getCbfById(this.$route.query.id).then(response => {
this.form = response.data; this.form = response.data;
@@ -171,23 +280,42 @@
cbfsq(){ cbfsq(){
eqbEmpower(this.form).then(response => { eqbEmpower(this.form).then(response => {
if(response.code === 200 ){ if(response.code === 200 ){
this.sqbutShow = false;
// this.sqbutShow = false;
this.$notify({type: 'success', message: '授权成功'});
this.showSignBtn = false;
this.showAuthBtn = false;
this.showAuthPic = true;
} }
}); });
}, },
getSysCfb(){ getSysCfb(){
getCbfList({deptId:this.sysFarmer.deptId,cbfzjhm:this.sysFarmer.idcard}).then(response => { getCbfList({deptId:this.sysFarmer.deptId,cbfzjhm:this.sysFarmer.idcard}).then(response => {
this.sqbutShow = true;
// this.sqbutShow = true;
if(response.rows.length > 0){ if(response.rows.length > 0){
this.form = response.rows[0]; this.form = response.rows[0];
if(this.form.accountId != null && this.form.accountId !== ""){
if (!this.form.gsjgqz) {
this.showSignBtn = true;
this.showAuthBtn = false;
this.showAuthPic = false;
} else if (!this.form.accountId) {
this.showSignBtn = false;
this.showAuthBtn = true;
this.showAuthPic = false;
} else {
this.showSignBtn = false;
this.showAuthBtn = false;
this.showAuthPic = true;
}
/* if(this.form.accountId != null && this.form.accountId !== ""){
this.sqbutShow = false; this.sqbutShow = false;
}else{ }else{
this.sqbutShow = true; this.sqbutShow = true;
}
} */
this.getDictValue(); this.getDictValue();
this.getFamilyMemberList(this.form.cbfbm);
this.getContractDetail(this.form.cbfbm);
this.getContractedLandList(this.form.cbfbm);
} }

}); });
}, },
getDictValue(){ getDictValue(){
@@ -220,7 +348,78 @@
} }
}) })
}); });
}
},
getFamilyMemberList(cbfbm) {
listFamilyMember({cbfbm: cbfbm, translate_dict: 1}).then(response => {
this.memberList = response.rows;
});
},
getContractDetail(cbfbm) {
getContractByCode({cbfbm: cbfbm, translate_dict: 1}).then(response => {
this.contractDetail = response.data;
});
},
getContractedLandList(cbfbm) {
listContractedLand({cbfbm: cbfbm, translate_dict: 1}).then(response => {
this.landList = response.rows;
});
},
openEsignPopup() {
if (!this.form.cbfbm) {
this.$toast({
icon: 'fail',
message: '承包方编码不存在',
duration: '1000'
})
return;
}
this.showEsignPopup = true;
this.$nextTick(() => {
this.handleReset();
});
},
canvasTTdown() {
$('#canvasTT').css('display', 'none');
},
handleReset() {
this.$refs.esign.reset();
$('#canvasTT').css('display', 'block')
},
handleGenerate(){
this.$refs.esign
.generate() // 使用生成器调用把签字的图片转换成为base64图片格式
.then((res) => {
this.signature.resultImg = res;
let wj = this.dataURLtoBlob(res);
let param = new FormData(); // 创建form对象
param.append('file', wj); // 通过append向form对象添加数据
param.append('cbfbm', this.form.cbfbm);
updateGsjgSign(param).then(response => {
this.$notify({type: 'success', message: '签字成功'});
this.showEsignPopup = false;
this.getSysCfb();
});

})
.catch((err) => {
// 画布没有签字时会执行这里提示一下
this.$toast.fail('请签名后再保存签字');
});
},
dataURLtoBlob(dataurl, filename = 'file') {
let arr = dataurl.split(',')
let mime = arr[0].match(/:(.*?);/)[1]
let suffix = mime.split('/')[1]
let bstr = atob(arr[1])
let n = bstr.length
let u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], `${filename}.${suffix}`, {
type: mime
})
},
}, },
} }
</script> </script>
@@ -433,4 +632,128 @@
width: 50vw; width: 50vw;
transform: translate(-50%,10%); transform: translate(-50%,10%);
} }
.signature-box {
border: 1px dashed #666;
margin: 2px 20px;
height: 100%;
/*canvas{*/
/* height: 100%!important;*/
/*}*/
}
.signature-footer {
transform: rotate(90deg);
width: auto;
position: absolute;
top: 50%;
left: 0PX;

.clearBtn {
margin-left: 15px;
}
}
.member_item{
border-radius: 30px;
background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
padding:25px 32px;
margin-bottom: 20px;
display: flex;
align-items: center;
justify-content: space-between;
.item_left{
flex: 1;
.item_left_tt{
display: flex;
justify-content: space-between;
align-items: center;
font-size: 14PX;
.name{
display: flex;
align-items: center;
font-size: 16PX;
img{
width: 5vw;
margin-right: 2vw;
}
}
.sex{
display: flex;
align-items: center;
img{
width: 3vw;
margin-left: 1vw;
}
}
}
.id_card{
display: flex;
align-items: center;
font-size: 14PX;
margin-top: 1vh;
img{
width: 5vw;
margin-right: 2vw;
}
}
}
.item_right{
margin-left: 15vw;
padding: 2PX 15PX;
background: #d0f4e5;
color: #2ecb8a;
border: 1px solid #8be3be;
border-radius: 30PX;
}
}
.land_item{
border-radius: 30px;
background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
padding:25px 32px;
margin-bottom: 20px;
font-size: 14PX;
.item_tt{
display: flex;
justify-content: space-between;
align-items: center;
p:first-child{
font-size: 16PX;
color: #333333;
}
p:last-child{
color: #44e4a3;
}
}
.item_type{
display: flex;
justify-content: space-between;
align-items: center;
color:#5f5f5f;
margin-top: 1vh;
p:nth-child(1){
color: #fb9627;
border: 1px solid #fb9627;
padding: 0 10PX;
border-radius: 50PX;
}
span{
color: #ffffff;
background: #fb9627;
border-radius: 100%;
display: inline-block;
width: 15PX;
height: 15PX;
line-height: 15PX;
font-size: 12PX;
margin-right: 5PX;
}
}
.item_direction{
display: flex;
justify-content: space-between;
align-items: center;
color:#5f5f5f;
margin-top: 1vh;
}
}
</style> </style>

+ 637
- 0
src/views/sunVillage_info/list_cbfsq_view.vue Переглянути файл

@@ -0,0 +1,637 @@
<template>
<div class="home_wrapper">
<div class="header_main" >
{{this.$route.query.shStatus?'承包方审核':'承包方授权'}}
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="list_main">
<div class="titBox">
<img src="../../assets/images/sunVillage_info/list_employer_process_icon_02.png" style="width:22PX;height:22PX;margin-right: 10px;"/>
<p class="tit">{{this.$route.query.shStatus?'承包方审核':'承包方授权'}}</p>
</div>


<van-tabs v-model="active" animated>
<van-tab title="承包方">
<van-field readonly v-model="cbfTypeName" label="承包方类型" placeholder="承包方类型" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfbm" label="承包方代码" placeholder="承包方代码" input-align="right" :border="false" />
<van-cell title="承包方名称" style="color: #646566;">
<div style="color:#000000; ">{{form.cbfmc}}</div>
</van-cell>
<van-field readonly v-model="zjlxName" label="承包方证件类型" placeholder="承包方证件类型" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfzjhm" label="承包方证件号码" placeholder="承包方证件号码" input-align="right" :border="false" />
<van-field readonly v-model="form.lxdh" label="联系电话" placeholder="联系电话" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfcysl" label="承包方成员数量" placeholder="承包方成员数量" input-align="right" :border="false" />
<van-field readonly v-model="form.yzbm" label="邮政编码" placeholder=" 邮政编码" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfdcy" label="承包方调查员" placeholder="承包方调查员" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfdcrq" label="承包方调查日期" placeholder="承包方调查日期" input-align="right" :border="false" />
<van-cell title="承包方调查记事" style="color: #646566;">
<div style="color:#000000; ">{{form.cbfdcjs}}</div>
</van-cell>
<van-cell title="承包方调查签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.cbfdcqz" width="10%" alt="" v-if="form.cbfdcqz" >
</template>
</van-field>
</van-cell>
<van-cell title="公示记事" style="color: #646566;">
<div style="color:#000000; ">{{form.gsjs}}</div>
</van-cell>
<van-field readonly v-model="form.gsjsr" label="公示记事人" placeholder="公示记事人" input-align="right" :border="false" />
<van-cell title="公示记事人签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.gsjsrqz" width="10%" alt="" v-if="form.gsjsrqz" >
</template>
</van-field>
</van-cell>
<van-field readonly v-model="form.gsjsrq" label="公示记事日期" placeholder="公示记事日期" input-align="right" :border="false" />
<van-cell title="公示结果意见" style="color: #646566;">
<div style="color:#000000; ">{{form.gsjgyj}}</div>
</van-cell>
<van-cell title="公示结果签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.gsjgqz" width="10%" alt="" v-if="form.gsjgqz" >
</template>
</van-field>
</van-cell>
<van-field readonly v-model="form.gsjgqzrq" label="公示结果签字日期" placeholder="公示结果签字日期" input-align="right" :border="false" />
<van-field readonly v-model="form.gsshr" label="公示审核人" placeholder="公示审核人" input-align="right" :border="false" />
<van-field readonly v-model="form.gsshrq" label="公示审核日期" placeholder="公示审核日期" input-align="right" :border="false" />
<van-cell title="公示审核意见" style="color: #646566;">
<div style="color:#000000; ">{{form.gsshyj}}</div>
</van-cell>
<van-cell title="公示审核签字" style="color: #646566;">
<van-field style="padding: 0 0;" readonly input-align="right" :border="false" >
<template #label>
<img :src="'/api'+form.gsshqz" width="10%" alt="" v-if="form.gsshqz" >
</template>
</van-field>
</van-cell>
</van-tab>
<van-tab title="家庭成员">
<van-cell v-for="(item, index) in memberList" :key="item.id">
<div class="member_item">
<div class="item_left">
<div class="item_left_tt">
<p class="name">
<img src="../../../static/images/contracted/family_icon_01.png" alt="">
{{ item.cyxm }}
</p>
<p>{{ item.yhzgx }}</p>
<p class="sex">
{{ item. cyxb }}
<img v-if="item.cyxb === '男'" src="../../../static/images/contracted/family_icon_man.png" alt="">
<img v-else-if="item.cyxb === '女'" src="../../../static/images/contracted/family_icon_wman.png" alt="">
</p>
</div>
<p class="id_card">
<img src="../../../static/images/contracted/family_icon_02.png" alt="">
{{ item.cyzjhm }}
</p>
</div>
<p class="item_right">{{ item.sfgyr }}</p>
</div>
</van-cell>
</van-tab>
<van-tab title="承包合同">
<van-field v-model="contractDetail.cbhtbm" label="承包合同代码:" placeholder="请输入承包合同代码" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.ycbhtbm" label="原承包合同代码:" placeholder="请输入原承包合同代码" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.fbfbm" label="发包方代码:" placeholder="请输入发包方代码" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbflx" label="承包方类型:" placeholder="请选择承包方类型" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbfbm" label="承包方代码:" placeholder="请输入承包方代码" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbfmc" label="承包方名称:" placeholder="请输入承包方名称" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbfs" label="承包方式:" placeholder="请选择承包方式" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.qdsj" label="签订时间:" placeholder="请选择签订时间" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbqxq" label="承包起始时间:" placeholder="请选择起始时间" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbqxz" label="承包结束时间:" placeholder="请选择结束时间" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbdkzs" label="承包地块数:" placeholder="请输入承包地块数" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.htzmjm" label="合同面积(亩):" placeholder="请输入合同面积(亩)" :border="false" input-align="right" readonly />
</van-tab>
<van-tab title="承包地块">
<van-cell v-for="(item,index) in landList" :key="item.id">
<div class="land_item" >
<div class="item_tt">
<p>{{ item.dkmc }}</p>
<p>{{ item.dkbm }}</p>
</div>
<div class="item_type">
<p>{{ item.htmjm }}亩</p>
<!-- <p>{{ item.tdlylx }}</p>-->
<p>{{ item.dldj }}</p>
<p>{{ item.tdyt }}</p>
<p>基本农田:{{ item.sfjbnt }}</p>
</div>
<div class="item_direction">
<!-- <p>{{ item.zjrxm }}指界</p>-->
<p>东:{{ item.dkdz }}</p>
<p>西:{{ item. dkxz }}</p>
<p>南:{{ item.dknz }}</p>
<p>北:{{ item.dkbz }}</p>
</div>
</div>
</van-cell>

</van-tab>
</van-tabs>
<!-- <van-field readonly v-model="form.fbfdcy" label="发包方调查员" placeholder="发包方调查员" input-align="right" :border="false" />-->
<!-- <van-field readonly v-model="form.fbfdcrq" label="发包方调查日期" placeholder="发包方调查日期" input-align="right" :border="false" />-->
<!-- <van-cell title="发包方调查记事" style="color: #646566;">-->
<!-- <div style="color:#000000; ">{{form.fbfdcjs}}</div>-->
<!-- </van-cell>-->
<!-- <van-cell title="发包方调查签字" style="color: #646566;">-->
<!-- <van-field style="padding: 0 0;" readonly input-align="right" :border="false" >-->
<!-- <template #label>-->
<!-- <img :src="'/api'+form.fbfdcqz" width="10%" alt="" v-if="form.fbfdcqz" >-->
<!-- </template>-->
<!-- </van-field>-->
<!-- </van-cell>-->
<!-- <van-field readonly v-model="form.shyj" label="审核意见" placeholder="审核意见" input-align="right" :border="false" />-->
<!-- <van-field readonly v-model="form.shrq" label="审核日期" placeholder="审核日期" input-align="right" :border="false" />-->
<!-- <van-cell title="审核人签字" style="color: #646566;">-->
<!-- <van-field style="padding: 0 0;" readonly input-align="right" :border="false" >-->
<!-- <template #label>-->
<!-- <img :src="'/api'+form.shrqz" width="10%" alt="" v-if="form.shrqz" >-->
<!-- </template>-->
<!-- </van-field>-->
<!-- </van-cell>-->
</div>
<img class="bottomImg" v-if="sqbutShow && cbfsqShow" src="../../assets/images/sunVillage_info/cbfwsq.png" alt="" />
<img class="bottomImg" v-if="sqbutShow && cbfshShow" src="../../assets/images/sunVillage_info/cbfwsh.png" alt="" />
<img class="bottomImg" src="../../assets/images/sunVillage_info/contractor_authorized.png" alt="" v-if="!sqbutShow" />
</div>
</template>

<script>
import { getCbfList,getCbfById,eqbEmpower, listFamilyMember, getContractByCode, listContractedLand} from "@/api/sunVillage_info/sysCbf";
import FieldSelect from "@/components/form/FieldSelect";
import Cookies from "js-cookie";
import $ from "jquery";
export default {
name: "certificateList",
components: {FieldSelect},
data() {
return {
form:{},
showForm2:false,
showesign:false,
sqbutShow:true,
cbfsqShow:false,
cbfshShow:false,
sysFarmer:null,
zjlxName:"",
cbfTypeName:"",
surveyStatusName:"",
isDepositName:"",
height:0,
options: {
cert_type: [],
},
//电子签名
signature: {
lineWidth: 6, // 画笔的线条粗细
lineColor: "#000000", // 画笔的颜色
bgColor: "", // 画布的背景颜色
resultImg: "", // 最终画布生成的base64图片
isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分
},
active: 0, // 控制 van-tabs 的标签
memberList: [], // 承包方家庭成员信息
contractDetail: {}, // 承包合同信息
landList: [], // 承包地块列表
};
},
created() {
if(this.$route.query.sqStatus){
getCbfById(this.$route.query.id).then(response => {
this.form = response.data;
if(this.form.accountId != null && this.form.accountId !== ""){
this.sqbutShow = false;
}else{
this.cbfsqShow = true;
this.sqbutShow = true;
}
this.getDictValue();
this.getFamilyMemberList(this.form.cbfbm);
this.getContractDetail(this.form.cbfbm);
this.getContractedLandList(this.form.cbfbm);
});

}else if(this.$route.query.shStatus){
getCbfById(this.$route.query.id).then(response => {
this.form = response.data;
if(this.form.gsshqz != null && this.form.gsshqz !== ""){
this.sqbutShow = false;
}else{
this.cbfshShow = true;
this.sqbutShow = true;
}
this.getDictValue();
this.getFamilyMemberList(this.form.cbfbm);
this.getContractDetail(this.form.cbfbm);
this.getContractedLandList(this.form.cbfbm);
});
}else{
this.sysFarmer = JSON.parse(Cookies.get('user'));
this.getSysCfb();
}
},
methods: {
InitOptions() {
for(let k in this.options)
{
this.getDicts(k).then((resp) => this.options[k] = resp.data);
}
},
/*承包方授权*/
cbfsq(){
eqbEmpower(this.form).then(response => {
if(response.code === 200 ){
this.sqbutShow = false;
}
});
},
getSysCfb(){
getCbfList({deptId:this.sysFarmer.deptId,cbfzjhm:this.sysFarmer.idcard}).then(response => {
this.sqbutShow = true;
if(response.rows.length > 0){
this.form = response.rows[0];
if(this.form.accountId != null && this.form.accountId !== ""){
this.sqbutShow = false;
}else{
this.sqbutShow = true;
}
this.getDictValue();
this.getFamilyMemberList(this.form.cbfbm);
this.getContractDetail(this.form.cbfbm);
this.getContractedLandList(this.form.cbfbm);
}

});
},
getDictValue(){
let _this = this;
this.getDicts("cert_type").then(response => {
response.data.forEach(function (item) {
if (item.dictValue === _this.form.cbfzjlx) {
_this.zjlxName = item.dictLabel;
}
})
});
this.getDicts("cbf_type").then(response => {
response.data.forEach(function (item) {
if (item.dictValue === _this.form.cbflx) {
_this.cbfTypeName = item.dictLabel;
}
})
});
this.getDicts("confirmed_survey_status").then(response => {
response.data.forEach(function (item) {
if (item.dictValue === _this.form.surveyStatus) {
_this.surveyStatusName = item.dictLabel;
}
})
});
this.getDicts("sys_yes_no").then(response => {
response.data.forEach(function (item) {
if (item.dictValue === _this.form.isDeposit) {
_this.isDepositName = item.dictLabel;
}
})
});
},
getFamilyMemberList(cbfbm) {
listFamilyMember({cbfbm: cbfbm, translate_dict: 1}).then(response => {
this.memberList = response.rows;
});
},
getContractDetail(cbfbm) {
getContractByCode({cbfbm: cbfbm, translate_dict: 1}).then(response => {
this.contractDetail = response.data;
});
},
getContractedLandList(cbfbm) {
listContractedLand({cbfbm: cbfbm, translate_dict: 1}).then(response => {
this.landList = response.rows;
});
},
},
}
</script>

<style scoped lang="scss">
/deep/ .van-button--primary{
background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
background-size: 100% 100%;
border: none;
}
.van-cell::after {
position: absolute;
box-sizing: border-box;
content: ' ';
pointer-events: none;
right: 0.426667rem;
bottom: 0;
left: 0.426667rem;
border:none;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
.signature-footer {
transform: rotate(90deg);
width: auto;
position: absolute;
top: 50%;
left: 0px;

}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main {
height: 116px;
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;

.return_btn {
width: 24px;
height: 43.2px;
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.list_main{
padding:25px;
background: #ffffff;
width: 94%;
margin: 25px auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
}
.subForm{
padding:25px;
background-image: linear-gradient(#2884ec,#68b2ee);
width: 94%;
margin: 50PX auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
position: relative;
padding-top: 10vw;
img{
position: absolute;
left: 50%;
width: 15vw;
transform: translate(-50%,calc(-50% - 10vw));
border: 5PX solid #e9e9e9;
border-radius: 100%;
}
/deep/ .van-field__label{
/*padding-left: 10PX;*/
width: auto;
display: flex;
align-items: start;
color: #ffffff;
margin-right: 6vw;
}
/deep/ .van-cell{
background-color: transparent;
}
.textarea{
/deep/ .van-field__value{
background-color: #ffffff;
border-radius: 10PX;
}
/deep/ .van-field__control{
padding: 12PX;
color: #666666;
}
}
/deep/ .van-field__value{
background-color: transparent;
border-radius: 10PX;
}
/deep/ .van-field__control{
padding: 0PX;
color: #ffffff;
}
/deep/ .van-cell--required::before{
left: 60PX;
}
}
.subForm2{
padding:25px;
background:#ffffff;
width: 94%;
margin: 50PX auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
position: relative;
padding-top: 10vw;
.topImg{
position: absolute;
left: 50%;
width: 15vw;
transform: translate(-50%,calc(-50% - 10vw));
border: 5PX solid #e9e9e9;
border-radius: 100%;
}
}
.titBox{
display: flex;
align-items: center;
}
.tit{
font-size: 36px;
font-weight: bold;
}
/deep/ .van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-bottom: 0!important;
}
/deep/ .van-field__label{
/*padding-left: 10PX;*/
width: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
}
.bottomImg{
position: absolute;
left: 50%;
top: 50%;
width: 50vw;
transform: translate(-50%,10%);
}
.member_item{
border-radius: 30px;
background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
padding:25px 32px;
margin-bottom: 20px;
display: flex;
align-items: center;
justify-content: space-between;
.item_left{
flex: 1;
.item_left_tt{
display: flex;
justify-content: space-between;
align-items: center;
font-size: 14PX;
.name{
display: flex;
align-items: center;
font-size: 16PX;
img{
width: 5vw;
margin-right: 2vw;
}
}
.sex{
display: flex;
align-items: center;
img{
width: 3vw;
margin-left: 1vw;
}
}
}
.id_card{
display: flex;
align-items: center;
font-size: 14PX;
margin-top: 1vh;
img{
width: 5vw;
margin-right: 2vw;
}
}
}
.item_right{
margin-left: 15vw;
padding: 2PX 15PX;
background: #d0f4e5;
color: #2ecb8a;
border: 1px solid #8be3be;
border-radius: 30PX;
}
}
.land_item{
border-radius: 30px;
background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
padding:25px 32px;
margin-bottom: 20px;
font-size: 14PX;
.item_tt{
display: flex;
justify-content: space-between;
align-items: center;
p:first-child{
font-size: 16PX;
color: #333333;
}
p:last-child{
color: #44e4a3;
}
}
.item_type{
display: flex;
justify-content: space-between;
align-items: center;
color:#5f5f5f;
margin-top: 1vh;
p:nth-child(1){
color: #fb9627;
border: 1px solid #fb9627;
padding: 0 10PX;
border-radius: 50PX;
}
span{
color: #ffffff;
background: #fb9627;
border-radius: 100%;
display: inline-block;
width: 15PX;
height: 15PX;
line-height: 15PX;
font-size: 12PX;
margin-right: 5PX;
}
}
.item_direction{
display: flex;
justify-content: space-between;
align-items: center;
color:#5f5f5f;
margin-top: 1vh;
}
}
</style>

+ 22
- 9
src/views/sunVillage_info/list_cbht.vue Переглянути файл

@@ -30,18 +30,18 @@
<div class="item" @click="goDetail(item.id)"> <div class="item" @click="goDetail(item.id)">
<div class="info"> <div class="info">
<div class="title"> <div class="title">
<i class="icon_box" v-if="item.firstSigning == null"></i>
<i class="icon_box1" v-if="item.firstSigning != null"></i>
<p class="news_title" :style="{'color': item.firstSigning != null ? '#2bc30c' : '#eb1616'}">{{item.cbhtbm}}</p>
<i class="icon_box" v-if="item.signingStatus =='合同筹备' || item.signingStatus =='合同待签' ||item.signingStatus =='单方已签'"></i>
<i class="icon_box1" v-if="item.signingStatus =='签字完成' || item.signingStatus =='合同归档'"></i>
<p class="news_title" >{{item.cbhtbm}}</p>
<p class="tips_mark2" v-if="item.signingMode === '线上'" :style="{'background': formatDict(item)}">{{item.signingStatus}}</p>
<p class="tips_mark" <p class="tips_mark"
:style="{'color': item.firstSigning != null ? '#79bc29' : '#f8a83d','background': item.firstSigning != null ? '#e8ffcd' : '#ffedcd'}">
:style="{'background': item.signingMode === '线上'?'#F9BE0C':'#08BE4E'}">
{{item.signingMode}}</p> {{item.signingMode}}</p>
<p class="tips_mark2" v-if="item.signingMode === '线上'" :style="{'background': item.firstSigning != null ? '#2bc30c' : '#eb1616'}">{{item.signingStatus}}</p>
</div> </div>
<div class="time"> <div class="time">
<p style="color:#eb1616;">{{item.cbfmc}}</p>
<p >{{item.cbfmc}}</p>
<!-- <p>{{item.cbhtmc}}</p>--> <!-- <p>{{item.cbhtmc}}</p>-->
<p style="color:#eb1616;font-weight: bold;">{{item.htzmjm.toFixed(2)}} 亩</p>
<p>{{item.htzmjm.toFixed(2)}} 亩</p>
</div> </div>
</div> </div>
</div> </div>
@@ -138,6 +138,7 @@
htqsShow:false, htqsShow:false,
noticeUrl:"", noticeUrl:"",
fileList: [], fileList: [],
signingStatusData:[],
listLength: '0', listLength: '0',
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@@ -169,6 +170,9 @@
if (this.$route.query.type == 'code') { if (this.$route.query.type == 'code') {
this.showBtn = false; this.showBtn = false;
} }
this.houseGetDicts("signing_status").then((res) => {
this.signingStatusData = res.data;
});
this.height = window.screen.height * 1.28 - 20; this.height = window.screen.height * 1.28 - 20;
}, },
methods: { methods: {
@@ -197,6 +201,15 @@


}); });
}, },
formatDict(item){
let colorval = "";
this.signingStatusData.map(function (e){
if(item.signingStatus === e.dictLabel){
colorval = e.remark;
}
})
return colorval;
},
goDetail(id) { goDetail(id) {
this.$router.push({ this.$router.push({
path: '/sunVillage_info/list_cbht_detail', path: '/sunVillage_info/list_cbht_detail',
@@ -337,7 +350,7 @@
// 签署合同下载 // 签署合同下载
handleDownload(id) { handleDownload(id) {
this.$dialog.confirm({ this.$dialog.confirm({
message: '是否确认下载签署合同?',
message: '是否下载承包合同?',
}).then(() => { }).then(() => {
// on confirm // on confirm
signedContractDownload(id).then(res => { signedContractDownload(id).then(res => {
@@ -530,7 +543,7 @@
background: #ffedcd; background: #ffedcd;
border-radius: 8px; border-radius: 8px;
font-size: 24px; font-size: 24px;
color: #f8a83d;
color: #ffffff;
text-align: center; text-align: center;
line-height: 34px; line-height: 34px;
flex-shrink: 0; flex-shrink: 0;


+ 13
- 1
src/views/sunVillage_info/list_contract_signature.vue Переглянути файл

@@ -91,7 +91,19 @@
<div class="list_main_block_icon"> <div class="list_main_block_icon">
<img src="../../assets/images/sunVillage_info/list_contract_signature_icon_08.png" style="width:12PX;height:12PX;"/> <img src="../../assets/images/sunVillage_info/list_contract_signature_icon_08.png" style="width:12PX;height:12PX;"/>
</div> </div>
<p>已完成</p>
<p>签字完成</p>
<p style="background-color: #0CF708;color: #30bf2c;">{{form.signCompletedRatio}}</p>
</div>
<p class="list_main_block_num"><span>{{form.signCompletedCount}}</span>份</p>
<p class="list_main_block_btn" v-if="form.signCompletedCount > 0" @click="">批量归档 ></p>
</div>

<div class="list_main_block">
<div class="list_main_block_tt">
<div class="list_main_block_icon">
<img src="../../assets/images/sunVillage_info/list_contract_signature_icon_08.png" style="width:12PX;height:12PX;"/>
</div>
<p>归档完成</p>
<p style="background-color: #d2f1d1;color: #30bf2c;">{{form.htywcfsbfb}}</p> <p style="background-color: #d2f1d1;color: #30bf2c;">{{form.htywcfsbfb}}</p>
</div> </div>
<p class="list_main_block_num"><span>{{form.htywcfs}}</span>份</p> <p class="list_main_block_num"><span>{{form.htywcfs}}</span>份</p>


+ 2
- 2
src/views/sunVillage_info/list_contractor.vue Переглянути файл

@@ -95,9 +95,9 @@
}, },
detailsClick(item){ detailsClick(item){
if(this.$route.query.sqStatus){ if(this.$route.query.sqStatus){
this.$router.push({path:'/sunVillage_info/list_cbfsq',query:{id:item.id,sqStatus:true}})
this.$router.push({path:'/sunVillage_info/list_cbfsq_view',query:{id:item.id,sqStatus:true}})
}else{ }else{
this.$router.push({path:'/sunVillage_info/list_cbfsq',query:{id:item.id,shStatus:true}})
this.$router.push({path:'/sunVillage_info/list_cbfsq_view',query:{id:item.id,shStatus:true}})
} }
}, },
onRefreshContractor(){ onRefreshContractor(){


+ 3
- 1
src/views/sunVillage_info/list_fbfsq.vue Переглянути файл

@@ -10,7 +10,9 @@
<p class="tit">发包方授权</p> <p class="tit">发包方授权</p>
</div> </div>
<van-field v-model="form.fbfbm" label="发包方代码" placeholder="发包方代码" input-align="right" :border="false" /> <van-field v-model="form.fbfbm" label="发包方代码" placeholder="发包方代码" input-align="right" :border="false" />
<van-field v-model="form.fbfmc" label="发包方名称" placeholder="发包方名称" input-align="right" :border="false" />
<van-cell title="发包方名称" style="color: #646566;">
<div style="color:#000000; ">{{form.fbfmc}}</div>
</van-cell>
<van-field v-model="form.fbffzrxm" label="负责人名称" placeholder="负责人名称" input-align="right" :border="false" /> <van-field v-model="form.fbffzrxm" label="负责人名称" placeholder="负责人名称" input-align="right" :border="false" />
<van-field v-model="form.fzrzjlx" label="证件类型" placeholder="证件类型" input-align="right" :border="false" /> <van-field v-model="form.fzrzjlx" label="证件类型" placeholder="证件类型" input-align="right" :border="false" />
<van-field v-model="form.fzrzjhm" label="证件号码" placeholder="证件号码" input-align="right" :border="false" /> <van-field v-model="form.fzrzjhm" label="证件号码" placeholder="证件号码" input-align="right" :border="false" />


Завантаження…
Відмінити
Зберегти