@@ -0,0 +1,54 @@ | |||
import request from '@/utils/request'; | |||
// 承包地块信息列表 | |||
export function listCbdkxx(params) { | |||
return request({ | |||
url: '/service/cbdkxx/mobile/list', | |||
method: 'get', | |||
params: params | |||
}); | |||
} | |||
// 承包地块详情 | |||
export function getCbdkxx(id) { | |||
return request({ | |||
url: '/service/cbdkxx/get/' + id, | |||
method: 'get' | |||
}); | |||
} | |||
// 新增承包地块信息 | |||
export function addCbdkxx(data) { | |||
return request({ | |||
url: '/service/cbdkxx/insert', | |||
method: 'post', | |||
data: data | |||
}); | |||
} | |||
// 修改承包地块信息 | |||
export function updateCbdkxx(data) { | |||
return request({ | |||
url: '/service/cbdkxx/modify', | |||
method: 'post', | |||
data: data | |||
}); | |||
} | |||
// 删除承包地块信息 | |||
export function deleteCbdkxx(id) { | |||
return request({ | |||
url: '/service/cbdkxx/delete/' + id, | |||
method: 'get' | |||
}); | |||
} | |||
// 转出承包地块 | |||
export function transferCbdkxx(params) { | |||
return request({ | |||
url: '/service/cbdkxx/transfer', | |||
method: 'get', | |||
params: params | |||
}); | |||
} | |||
@@ -51,3 +51,21 @@ export function generateContractorCode(params) { | |||
params: params | |||
}); | |||
} | |||
// 承包方调查签字 | |||
export function contractorSignature(data) { | |||
return request({ | |||
url: '/service/cbf/surveySign', | |||
method: 'post', | |||
data: data | |||
}); | |||
} | |||
// 调查挂起 | |||
export function hangUp(data) { | |||
return request({ | |||
url: '/service/cbf/hangUp', | |||
method: 'post', | |||
data: data | |||
}); | |||
} |
@@ -0,0 +1,70 @@ | |||
import request from '@/utils/request'; | |||
// 查询承包方家庭成员列表 | |||
export function listJtcy(params) { | |||
return request({ | |||
url: '/service/jtcy/list', | |||
method: 'get', | |||
params: params | |||
}); | |||
} | |||
// 查询承包方家庭成员详细 | |||
export function getJtcy(id) { | |||
return request({ | |||
url: '/service/jtcy/get/' + id, | |||
method: 'get' | |||
}); | |||
} | |||
// 新增承包方家庭成员信息 | |||
export function addJtcy(data) { | |||
return request({ | |||
url: '/service/jtcy/add', | |||
method: 'post', | |||
data: data | |||
}); | |||
} | |||
// 修改承包方家庭成员信息 | |||
export function updateJtcy(data) { | |||
return request({ | |||
url: '/service/jtcy/edit', | |||
method: 'post', | |||
data: data | |||
}); | |||
} | |||
// 删除承包方家庭成员信息 | |||
export function deleteJtcy(id) { | |||
return request({ | |||
url: '/service/jtcy/remove/' + id, | |||
method: 'get' | |||
}); | |||
} | |||
// 家庭成员分户 | |||
export function divisionJtcy(id) { | |||
return request({ | |||
url: '/service/jtcy/division/' + id, | |||
method: 'get' | |||
}); | |||
} | |||
// 家庭成员移户 | |||
export function transferJtcy(params) { | |||
return request({ | |||
url: '/service/jtcy/transfer', | |||
method: 'get', | |||
params: params | |||
}); | |||
} | |||
// 家庭成员设为户主 | |||
export function setHouseholder(id) { | |||
return request({ | |||
url: '/service/jtcy/householder/' + id, | |||
method: 'get' | |||
}); | |||
} | |||
@@ -0,0 +1,35 @@ | |||
import request from '@/utils/request'; | |||
// 获取承包合同详情 | |||
export function getCbht(cbfbm) { | |||
return request({ | |||
url: '/service/cbht/obtain/' + cbfbm, | |||
method: 'get' | |||
}); | |||
} | |||
// 新增承包合同信息 | |||
export function addCbht(data) { | |||
return request({ | |||
url: '/service/cbht/insert', | |||
method: 'post', | |||
data: data | |||
}); | |||
} | |||
// 修改承包合同信息 | |||
export function updateCbht(data) { | |||
return request({ | |||
url: '/service/cbht/edit', | |||
method: 'post', | |||
data: data | |||
}); | |||
} | |||
// 承包合同延期 | |||
export function extendCbht(id) { | |||
return request({ | |||
url: '/service/cbht/extension/' + id, | |||
method: 'get' | |||
}); | |||
} |
@@ -0,0 +1,54 @@ | |||
import request from '@/utils/request'; | |||
// 地块信息列表 | |||
export function listDk(params) { | |||
return request({ | |||
url: '/service/dk/list', | |||
method: 'get', | |||
params: params | |||
}); | |||
} | |||
// 地块信息详情 | |||
export function getDk(id) { | |||
return request({ | |||
url: '/service/dk/get/' + id, | |||
method: 'get' | |||
}); | |||
} | |||
// 新增地块属性信息 | |||
export function addDk(data) { | |||
return request({ | |||
url: '/service/dk/add', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 修改地块属性信息 | |||
export function updateDk(data) { | |||
return request({ | |||
url: '/service/dk/edit', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 删除地块信息 | |||
export function deleteDk(id) { | |||
return request({ | |||
url: '/service/dk/remove/' + id, | |||
method: 'get' | |||
}); | |||
} | |||
// 生成地块编码 | |||
export function generateLandCode(params) { | |||
return request({ | |||
url: '/service/dk/generateCode', | |||
method: 'get', | |||
params: params | |||
}); | |||
} |
@@ -0,0 +1,46 @@ | |||
import request from '@/utils/request'; | |||
// 获取承包方列表 | |||
export function listFbf(params) { | |||
return request({ | |||
url: '/service/fbf/list', | |||
method: 'get', | |||
params: params | |||
}); | |||
} | |||
// 新增发包方信息 | |||
export function addFbf(data) { | |||
return request({ | |||
url: '/service/fbf/add', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 修改发包方信息 | |||
export function updateFbf(data) { | |||
return request({ | |||
url: '/service/fbf/edit', | |||
method: 'post', | |||
data: data | |||
}) | |||
} | |||
// 发包方调查签字 | |||
export function manualSignature(data) { | |||
return request({ | |||
url: '/service/fbf/surveySign', | |||
method: 'post', | |||
data: data | |||
}); | |||
} | |||
// 生成发包方编码 | |||
export function generateEmployerCode(params) { | |||
return request({ | |||
url: '/service/fbf/generateCode', | |||
method: 'get', | |||
params: params | |||
}); | |||
} |
@@ -24,6 +24,18 @@ export function getTransfer(id) { | |||
}) | |||
} | |||
export function transactionStatusQuery(id) { | |||
return request({ | |||
url: '/yinnong/transfer/transactionStatusQuery/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
export function reapply(id) { | |||
return request({ | |||
url: '/yinnong/transfer/reapply/' + id, | |||
method: 'get' | |||
}) | |||
} | |||
export function queryTransferDetail(transferId){ | |||
return request({ | |||
url: '/yinnong/transferDetail/getDetails/' + transferId, | |||
@@ -105,7 +105,7 @@ export default { | |||
view: new ol.View({ | |||
center: ol.proj.fromLonLat(this.coord), | |||
//zoom: false, | |||
zoom: 17.9, | |||
zoom: 17, | |||
minZoom: this.minMapZoom, //地图缩小限制 | |||
maxZoom: this.maxMapZoom, //地图放大限制 | |||
}), | |||
@@ -248,6 +248,7 @@ export default { | |||
self.drawInsert = null; | |||
self.mapObject.removeInteraction(draw); | |||
self.popLayer(COMMON_MAP_DRAW_LAYER_NAME); | |||
self.$emit("drawFinished", null); | |||
//console.log("drawRemove"); | |||
}); | |||
//还原之前图层 | |||
@@ -308,9 +309,9 @@ export default { | |||
this.mapObject.getView().animate({ | |||
// 只设置需要的属性即可 | |||
center: center, // 中心点 | |||
zoom: 17.9, // 缩放级别 | |||
zoom: 17, // 缩放级别 | |||
rotation: undefined, // 缩放完成view视图旋转弧度 | |||
duration: 1000, // 缩放持续时间,默认不需要设置 | |||
duration: 300, // 缩放持续时间,默认不需要设置 | |||
}); | |||
return true; | |||
}, | |||
@@ -371,7 +372,7 @@ export default { | |||
this.mapObject.getView().animate({ | |||
// 只设置需要的属性即可 | |||
center: center, // 中心点 | |||
zoom: 17.9, // 缩放级别 | |||
zoom: 17, // 缩放级别 | |||
rotation: undefined, // 缩放完成view视图旋转弧度 | |||
duration: 1000, // 缩放持续时间,默认不需要设置 | |||
}); | |||
@@ -852,6 +852,24 @@ export const constantRoutes = [ | |||
}, | |||
component: (resolve) => require(['@/views/yinnong/homestead/freeExit/freeExitList'], resolve) | |||
}, | |||
{ | |||
path: '/homesteadPaidExitAdd', | |||
name: 'homesteadPaidExitAdd', | |||
meta: { | |||
title: '有偿退出(阳光村务)', | |||
hidden: true, | |||
}, | |||
component: (resolve) => require(['@/views/yinnong/homestead/paidExit/paidExitAdd'], resolve) | |||
}, | |||
{ | |||
path: '/homesteadPaidExitModify', | |||
name: 'homesteadPaidExitModify', | |||
meta: { | |||
title: '有偿退出(阳光村务)', | |||
hidden: true, | |||
}, | |||
component: (resolve) => require(['@/views/yinnong/homestead/paidExit/paidExitModify'], resolve) | |||
}, | |||
{ | |||
path: '/paidExitAdd', | |||
name: 'paidExitAdd', | |||
@@ -3912,6 +3930,15 @@ export const constantRoutes = [ | |||
}, | |||
component: (resolve) => require(['@/views/sunVillage_info/homeApplication/proposerLite'], resolve) | |||
}, | |||
{ | |||
path: '/homesteadProposerLite', | |||
name: 'homesteadProposerLite', | |||
meta: { | |||
title: '农村宅基地申请(阳光村务)', | |||
hidden: true, | |||
}, | |||
component: (resolve) => require(['@/views/yinnong/homestead/homeApplication/proposerLite'], resolve) | |||
}, | |||
{ | |||
path: '/sunVillage_info/paidExit/paidExitList', | |||
name: 'sunVillageInfoPaidExitList', | |||
@@ -8,119 +8,151 @@ | |||
</div> | |||
</template> | |||
</van-nav-bar> --> | |||
<contractor-header></contractor-header> | |||
<contractor-header :dept-id="$route.params.deptId" :contractor-code="$route.params.cbfbm" :contractor-name="$route.params.cbfmc" :survey-status="$route.params.surveyStatus"></contractor-header> | |||
<div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorFamily'})">家庭成员</p> | |||
<p @click="skip('contractedVillageContractorDetail')">承包方</p> | |||
<p @click="skip('contractedVillageContractorFamily')">家庭成员</p> | |||
<p class="active">承包合同</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorLand'})">承包地</p> | |||
<p @click="skip('contractedVillageContractorLand')">承包地</p> | |||
</div> | |||
<div class="list_main"> | |||
<van-field v-model="value" label="承包合同代码:" placeholder="请输入承包合同代码" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="原承包合同代码:" placeholder="请输入原承包合同代码" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="发包方代码:" placeholder="请输入发包方代码" required :border="false" input-align="right" /> | |||
<van-field | |||
v-model="value" | |||
label="承包方类型:" | |||
placeholder="请选择承包方类型" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showType = true" | |||
/> | |||
<van-popup v-model="showType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="typeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTypeOptions" | |||
@cancel="showType = false" | |||
<van-form ref="formData"> | |||
<van-field v-model="form.cbhtbm" label="承包合同代码:" placeholder="请输入承包合同代码" required :rules="[{ required: true }]" :border="false" input-align="left" label-width="auto" :disabled="isDisabled"> | |||
<template #button v-if="!isDisabled"> | |||
<van-button size="mini" type="primary" native-type="button" @click="generateCode">生成</van-button> | |||
</template> | |||
</van-field> | |||
<van-field v-model="form.ycbhtbm" label="原承包合同代码:" placeholder="请输入原承包合同代码" :border="false" input-align="left" /> | |||
<van-field v-model="form.fbfbm" label="发包方代码:" placeholder="请输入发包方代码" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||
<van-field | |||
v-model="cbflxText" | |||
label="承包方类型:" | |||
placeholder="请选择承包方类型" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="left" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showType = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="承包方名称:" placeholder="请输入承包方名称" required :border="false" input-align="right" /> | |||
<van-field v-model="value" label="承包方代码:" placeholder="请输入承包方代码" required :border="false" input-align="right" /> | |||
<van-field | |||
v-model="value" | |||
label="承包方式:" | |||
placeholder="请选择承包方式" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showZjType = true" | |||
/> | |||
<van-popup v-model="showZjType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="zjTypeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmZjTypeOptions" | |||
@cancel="showZjType = false" | |||
<van-popup v-model="showType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="cbflxOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTypeOptions" | |||
@cancel="showType = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="form.cbfbm" label="承包方代码:" placeholder="请输入承包方代码" required :rules="[{ required: true }]" :border="false" input-align="left" :disabled="isDisabled" /> | |||
<van-field v-model="form.cbfmc" label="承包方名称:" placeholder="请输入承包方名称" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||
<van-field | |||
v-model="cbfsText" | |||
label="承包方式:" | |||
placeholder="请选择承包方式" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="left" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showCbfs = true" | |||
/> | |||
</van-popup> | |||
<van-field | |||
v-model="value" | |||
label="签订时间:" | |||
placeholder="请选择签订时间" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showQDSJ = true" | |||
/> | |||
<van-popup v-model="showQDSJ" position="bottom"> | |||
<van-datetime-picker | |||
v-model="currentDate" | |||
type="date" | |||
title="选择年月日" | |||
:min-date="minDate" | |||
:max-date="maxDate" | |||
<van-popup v-model="showCbfs" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="cbfsOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmCbfsOptions" | |||
@cancel="showCbfs = false" | |||
/> | |||
</van-popup> | |||
<van-field | |||
v-model="form.qdsj" | |||
label="签订时间:" | |||
placeholder="请选择签订时间" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="left" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showQDSJ = true" | |||
/> | |||
</van-popup> | |||
<van-field | |||
v-model="value" | |||
label="承包起始:" | |||
placeholder="请选择承包起始" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showCBQS = true" | |||
/> | |||
<van-popup v-model="showCBQS" position="bottom"> | |||
<van-datetime-picker | |||
v-model="currentDate" | |||
type="date" | |||
title="选择年月日" | |||
:min-date="minDate" | |||
:max-date="maxDate" | |||
<van-popup v-model="showQDSJ" position="bottom"> | |||
<van-datetime-picker | |||
:value="form.qdsj ? new Date(form.qdsj) : new Date()" | |||
type="date" | |||
title="请选择签订时间" | |||
:min-date="minDate" | |||
:max-date="maxDate" | |||
@confirm="onConfirmQdsj" | |||
@cancel="showQDSJ = false" | |||
/> | |||
</van-popup> | |||
<van-field | |||
v-model="form.cbqxq" | |||
label="承包起始时间:" | |||
placeholder="请选择起始时间" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="left" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showCbqxq = true" | |||
> | |||
<template #button v-if="isDisabled"> | |||
<van-button size="mini" type="primary" native-type="button" @click.stop="extension">延期</van-button> | |||
</template> | |||
</van-field> | |||
<van-popup v-model="showCbqxq" position="bottom"> | |||
<van-datetime-picker | |||
:value="form.cbqxq ? new Date(form.cbqxq) : new Date()" | |||
type="date" | |||
title="请选择起始时间" | |||
:min-date="minDate" | |||
:max-date="maxDate" | |||
@confirm="onConfirmCbqxq" | |||
@cancel="showCbqxq = false" | |||
/> | |||
</van-popup> | |||
<van-field | |||
v-model="form.cbqxz" | |||
label="承包结束时间:" | |||
placeholder="请选择结束时间" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="left" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showCbqxz = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="承包结束:" placeholder="请输入承包结束" required :border="false" input-align="right" /> | |||
<van-field v-model="value" label="承包地块数:" placeholder="请输入承包地块数" required :border="false" input-align="right" /> | |||
<van-field v-model="value" label="合同面积(亩):" placeholder="请输入合同面积(亩)" required :border="false" input-align="right" label-width="auto" /> | |||
<p class="btn">保存</p> | |||
<van-popup v-model="showCbqxz" position="bottom"> | |||
<van-datetime-picker | |||
:value="form.cbqxz ? new Date(form.cbqxz) : new Date()" | |||
type="date" | |||
title="请选择结束时间" | |||
:min-date="minDate" | |||
:max-date="maxDate" | |||
@confirm="onConfirmCbqxz" | |||
@cancel="showCbqxz = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="form.cbdkzs" label="承包地块数:" placeholder="请输入承包地块数" required :rules="[{ required: true }]" :border="false" input-align="left" type="number" /> | |||
<van-field v-model="form.htzmjm" label="合同面积(亩):" placeholder="请输入合同面积(亩)" required :rules="[{ required: true }]" :border="false" input-align="left" type="number" /> | |||
</van-form> | |||
<p class="btn" @click="submitForm">保存</p> | |||
</div> | |||
@@ -129,6 +161,7 @@ | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import contractorHeader from "./contractorHeader"; | |||
import { getCbht, addCbht, updateCbht, extendCbht } from "@/api/contracted/cbht"; | |||
export default { | |||
name: "contractedVillageContractor", | |||
@@ -137,51 +170,149 @@ | |||
}, | |||
data() { | |||
return { | |||
loading:false, | |||
finished:true, | |||
value:'', | |||
showType:false, | |||
showZjType:false, | |||
showQDSJ:false, | |||
showCBQS:false, | |||
typeOptions:[{ | |||
dictLabel:'类型1', | |||
dictValue:'1', | |||
}], | |||
zjTypeOptions:[{ | |||
dictLabel:'类型2', | |||
dictValue:'1', | |||
}], | |||
CYBZOptions:[{ | |||
dictLabel:'类型2', | |||
dictValue:'1', | |||
}], | |||
radio:1, | |||
minDate: new Date(2020, 0, 1), | |||
maxDate: new Date(2025, 10, 1), | |||
currentDate: new Date(2021, 0, 17), | |||
form: {}, // 承包合同表单信息 | |||
cbfsOptions: [], // 承包方式字典 | |||
cbfsText: null, // 承包方式标签名 | |||
showCbfs: false, // 控制承包方式字典弹出层的显示和隐藏 | |||
cbflxOptions: [], // 承包方类型字典 | |||
cbflxText: null, // 承包方类型标签名 | |||
showType: false, // 控制承包方类型字典弹出层的显示和隐藏 | |||
showQDSJ: false, // 控制签订时间弹出层的显示和隐藏 | |||
showCbqxq: false, // 控制承包起始时间弹出层的显示和隐藏 | |||
showCbqxz: false, // 控制承包结束时间弹出层的显示和隐藏 | |||
minDate: new Date(1978, 0, 1), | |||
maxDate: new Date(2100, 11, 31), | |||
isDisabled: false | |||
}; | |||
}, | |||
created() { | |||
this.getDicts("jyq_method").then(response => { | |||
this.cbfsOptions = response.data; | |||
}); | |||
this.getDicts("cbf_type").then(response => { | |||
this.cbflxOptions = response.data; | |||
}); | |||
this.getDetail(); | |||
}, | |||
methods: { | |||
getList(){ | |||
getDetail(){ | |||
getCbht(this.$route.params.cbfbm).then(response => { | |||
this.form = response.data; | |||
if (this.form) { | |||
this.cbflxText = this.selectDictLabel(this.cbflxOptions, this.form.cbflx); | |||
this.cbfsText = this.selectDictLabel(this.cbfsOptions, this.form.cbfs); | |||
this.isDisabled = true; | |||
} else { | |||
this.isDisabled = false; | |||
this.resetForm(); | |||
} | |||
}); | |||
}, | |||
onSearch(){ | |||
onConfirmTypeOptions(value) { | |||
this.form.cbflx = value.dictValue; | |||
this.cbflxText = value.dictLabel; | |||
this.showType = false; | |||
}, | |||
onConfirmTypeOptions(){ | |||
onConfirmCbfsOptions(value) { | |||
this.form.cbfs = value.dictValue; | |||
this.cbfsText = value.dictLabel; | |||
this.showCbfs = false; | |||
}, | |||
onConfirmZjTypeOptions(){ | |||
onConfirmQdsj(data) { | |||
this.form.qdsj = this.format(data, 'yyyy-MM-dd'); | |||
this.showQDSJ = false | |||
}, | |||
onConfirmCYBZOptions(){ | |||
onConfirmCbqxq(data) { | |||
this.form.cbqxq = this.format(data, 'yyyy-MM-dd'); | |||
this.showCbqxq = false; | |||
}, | |||
onConfirmCbqxz(data) { | |||
this.form.cbqxz = this.format(data, 'yyyy-MM-dd'); | |||
this.showCbqxz = false; | |||
}, | |||
skip(name) { | |||
this.$router.push({ | |||
name: name, | |||
params: { | |||
deptId: this.$route.params.deptId, | |||
cbfbm: this.$route.params.cbfbm, | |||
cbfmc: this.$route.params.cbfmc, | |||
surveyStatus: this.$route.params.surveyStatus | |||
} | |||
}); | |||
}, | |||
submitForm() { | |||
this.$refs.formData.validate().then(() => { | |||
if (this.form.id) { | |||
updateCbht(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
}); | |||
} | |||
}); | |||
} else { | |||
this.form.deptId = this.$route.params.deptId; | |||
addCbht(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
onClose: () => { | |||
this.getDetail(); | |||
} | |||
}); | |||
} | |||
}); | |||
} | |||
}).catch(() => { | |||
this.$notify({ type: 'danger', message: '请填写完整的表单项' }); | |||
}); | |||
}, | |||
resetForm() { | |||
this.form = { | |||
deptId: null, | |||
cbhtbm: null, | |||
ycbhtbm: null, | |||
fbfbm: null, | |||
cbflx: null, | |||
cbfmc: null, | |||
cbfbm: null, | |||
cbfs: null, | |||
qdsj: null, | |||
cbqxq: null, | |||
cbqxz: null, | |||
cbdkzs: null, | |||
htzmjm: null, | |||
}; | |||
}, | |||
extension() { | |||
if (this.form.id) { | |||
this.$dialog.confirm({ | |||
message: '是否确认将此份承包合同的承包期限延长30年?', | |||
}).then(() => { | |||
// on confirm | |||
extendCbht(this.form.id).then(response => { | |||
if (response.code == 200) { | |||
this.$toast.success('延期成功'); | |||
this.form.cbqxq = response.data.startTime; | |||
this.form.cbqxz = response.data.endTime; | |||
} | |||
}); | |||
}).catch(() => { | |||
// on cancel | |||
}); | |||
} | |||
}, | |||
generateCode() { | |||
this.form.cbhtbm = this.$route.params.cbfbm + 'J'; | |||
this.form.fbfbm = this.$route.params.cbfbm.substring(0, 14); | |||
this.form.cbfmc = this.$route.params.cbfmc; | |||
this.form.cbfbm = this.$route.params.cbfbm; | |||
} | |||
}, | |||
}; | |||
</script> | |||
@@ -219,24 +350,32 @@ | |||
overflow: initial; | |||
} | |||
/* .tb_main{ | |||
position: relative; | |||
p{ | |||
position: absolute; | |||
display: inline-block; | |||
margin-left: 10PX; | |||
} | |||
/deep/ .van-field__label { | |||
width: 225px; | |||
} | |||
/deep/ .van-field--disabled .van-field__label { | |||
color: #646566; | |||
} | |||
.tb{ | |||
font-size: 12px; | |||
color: #ff8900; | |||
background: #daf6e7; | |||
border: 1px solid #d7be6e; | |||
padding: 2PX 8PX; | |||
border-radius: 50PX; | |||
margin-right: 5PX; | |||
} */ | |||
/* .tb_main{ | |||
position: relative; | |||
p{ | |||
position: absolute; | |||
display: inline-block; | |||
margin-left: 10PX; | |||
} | |||
} | |||
.tb{ | |||
font-size: 12px; | |||
color: #ff8900; | |||
background: #daf6e7; | |||
border: 1px solid #d7be6e; | |||
padding: 2PX 8PX; | |||
border-radius: 50PX; | |||
margin-right: 5PX; | |||
} */ | |||
.tap_block{ | |||
width: 100%; | |||
@@ -161,13 +161,21 @@ | |||
}, | |||
deleteContractor(id, index) { | |||
this.$dialog.confirm({ | |||
message: '是否确认删除此承包方信息?', | |||
message: '是否确认删除此条承包方信息?', | |||
}).then(() => { | |||
// on confirm | |||
deleteCbf(id).then(res => { | |||
if(res.code == 200){ | |||
this.$toast.success('删除成功'); | |||
this.cbfList.splice(index, 1); | |||
this.$toast({ | |||
icon: 'success', | |||
message: '删除成功', | |||
duration: "1000", | |||
onClose: () => { | |||
this.cbfList.splice(index, 1); | |||
this.totalNum = this.totalNum - 1; | |||
} | |||
}); | |||
} | |||
}); | |||
}).catch(() => { | |||
@@ -19,6 +19,7 @@ | |||
<div class="list_main"> | |||
<van-form ref="formData"> | |||
<van-field v-model="form.cbfbm" label="代码:" placeholder="请输入代码" required :rules="[{ required: true }]" :border="false" input-align="left" disabled /> | |||
<van-field | |||
v-model="form.cbflxText" | |||
label="类型:" | |||
@@ -41,7 +42,6 @@ | |||
@cancel="showType = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="form.cbfbm" label="代码:" placeholder="请输入代码" required :rules="[{ required: true }]" :border="false" input-align="left" readonly /> | |||
<van-field v-model="form.cbfmc" label="名称:" placeholder="请输入名称" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||
<van-field | |||
v-model="form.cbfzjlxText" | |||
@@ -197,6 +197,10 @@ | |||
overflow: initial; | |||
} | |||
/deep/ .van-field--disabled .van-field__label { | |||
color: #646566; | |||
} | |||
/* .tb_main{ | |||
position: relative; | |||
p{ | |||
@@ -11,6 +11,11 @@ | |||
<div class="list_main"> | |||
<van-form ref="formData"> | |||
<van-field v-model="form.cbfbm" label="代码:" placeholder="请输入代码" required :rules="[{ required: true }]" :border="false" input-align="left"> | |||
<template #button> | |||
<van-button size="mini" type="primary" native-type="button" @click="generateCode">生成代码</van-button> | |||
</template> | |||
</van-field> | |||
<van-field | |||
v-model="cbflxText" | |||
label="类型:" | |||
@@ -33,11 +38,6 @@ | |||
@cancel="showType = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="form.cbfbm" label="代码:" placeholder="请输入代码" required :rules="[{ required: true }]" :border="false" input-align="left"> | |||
<template #button> | |||
<van-button size="mini" type="primary" native-type="button" @click="generateCode">生成代码</van-button> | |||
</template> | |||
</van-field> | |||
<van-field v-model="form.cbfmc" label="名称:" placeholder="请输入名称" required :rules="[{ required: true }]" :border="false" input-align="left" /> | |||
<van-field | |||
v-model="cbfzjlxText" | |||
@@ -11,66 +11,80 @@ | |||
<contractor-header :dept-id="$route.params.deptId" :contractor-code="$route.params.cbfbm" :contractor-name="$route.params.cbfmc" :survey-status="$route.params.surveyStatus"></contractor-header> | |||
<div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | |||
<p @click="skip('contractedVillageContractorDetail')">承包方</p> | |||
<p class="active">家庭成员</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorWord'})">承包合同</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorLand'})">承包地</p> | |||
<p @click="skip('contractedVillageContractorWord')">承包合同</p> | |||
<p @click="skip('contractedVillageContractorLand')">承包地</p> | |||
</div> | |||
<div class="list_main"> | |||
<van-swipe-cell v-for="(item,index) in 10"> | |||
<div class="item" @click="goDetail"> | |||
<van-swipe-cell v-for="(item, index) in familyList" :key="item.id"> | |||
<div class="item" @click="goDetail(item.id)"> | |||
<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>户主</p> | |||
<p>{{ item.yhzgx }}</p> | |||
<p class="sex"> | |||
男 | |||
<img src="../../../../../static/images/contracted/family_icon_man.png" alt=""> | |||
{{ 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=""> | |||
230381199705551762 | |||
{{ item.cyzjhm }} | |||
</p> | |||
</div> | |||
<p class="item_right">是</p> | |||
<p class="item_right">{{ item.sfgyr }}</p> | |||
</div> | |||
<template #right> | |||
<div class="operation"> | |||
<!-- delete 删除 edit编辑 view查看 list榜单 --> | |||
<div class="opera_btn delete"> | |||
<p>删除</p> | |||
</div> | |||
<div class="opera_btn edit"> | |||
<div class="opera_btn edit" @click="householdDivision(item, index)"> | |||
<p>分户</p> | |||
</div> | |||
<div class="opera_btn view"> | |||
<div class="opera_btn view" @click="householdTransfer(item)"> | |||
<p>移户</p> | |||
</div> | |||
<div class="opera_btn list"> | |||
<div class="opera_btn list" @click="houseHolder(item)"> | |||
<p>设为<br/>户主</p> | |||
</div> | |||
<div class="opera_btn delete" @click="deleteFamilyMember(item.id, index)"> | |||
<p>删除</p> | |||
</div> | |||
</div> | |||
</template> | |||
</van-swipe-cell> | |||
<p class="btn" @click="goDetail">新增</p> | |||
<!-- getDetail不加(), 第一个参数默认传递的是event,getDetail加(), 需要手动传递$event --> | |||
<p class="btn" @click="goDetail()">新增</p> | |||
</div> | |||
<van-popup v-model="showContractorPopup" position="bottom"> | |||
<van-picker | |||
title="请选择新户主" | |||
show-toolbar | |||
:columns="contractorList" | |||
@confirm="onConfirmContractorOptions" | |||
@cancel="showContractorPopup = false" | |||
> | |||
<template #option="option"> | |||
<div style="display: flex; flex-direction: column; align-items: center;"> | |||
<div>{{option.cbfmc}}-{{option.cbfbm}}</div> | |||
</div> | |||
</template> | |||
</van-picker> | |||
</van-popup> | |||
</div> | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import contractorHeader from "./contractorHeader"; | |||
import { listJtcy, deleteJtcy, divisionJtcy, transferJtcy, setHouseholder } from "@/api/contracted/cbfjtcy"; | |||
import { listCbf } from "@/api/contracted/cbf"; | |||
export default { | |||
name: "contractedVillageContractor", | |||
@@ -79,41 +93,147 @@ | |||
}, | |||
data() { | |||
return { | |||
loading:false, | |||
finished:true, | |||
value:'', | |||
showType:false, | |||
showZjType:false, | |||
typeOptions:[{ | |||
dictLabel:'类型1', | |||
dictValue:'1', | |||
}], | |||
zjTypeOptions:[{ | |||
dictLabel:'类型2', | |||
dictValue:'1', | |||
}], | |||
familyList: [], // 家庭成员列表 | |||
contractorList: [], // 承包方列表 | |||
showContractorPopup: false, // 控制承包方信息弹出层的显示和隐藏 | |||
transferMemberId: null // 转出的成员ID | |||
}; | |||
}, | |||
created() { | |||
console.log(this.$route.params); | |||
this.getList(); | |||
this.getContractorList(); | |||
}, | |||
methods: { | |||
getList(){ | |||
listJtcy({cbfbm: this.$route.params.cbfbm, translate_dict: 1}).then(response => { | |||
this.familyList = response.rows; | |||
}); | |||
}, | |||
onSearch(){ | |||
getContractorList() { | |||
listCbf({deptId: this.$route.params.deptId}).then(response => { | |||
this.contractorList = response.rows; | |||
}); | |||
}, | |||
onConfirmTypeOptions(){ | |||
skip(name) { | |||
this.$router.push({ | |||
name: name, | |||
params: { | |||
deptId: this.$route.params.deptId, | |||
cbfbm: this.$route.params.cbfbm, | |||
cbfmc: this.$route.params.cbfmc, | |||
surveyStatus: this.$route.params.surveyStatus | |||
} | |||
}); | |||
}, | |||
onConfirmZjTypeOptions(){ | |||
goDetail(id) { | |||
this.$router.push({ | |||
name: 'contractedVillageContractorFamilyDetail', | |||
params: { | |||
id: id, | |||
deptId: this.$route.params.deptId, | |||
cbfbm: this.$route.params.cbfbm, | |||
cbfmc: this.$route.params.cbfmc, | |||
surveyStatus: this.$route.params.surveyStatus | |||
} | |||
}); | |||
}, | |||
deleteFamilyMember(id, index) { | |||
this.$dialog.confirm({ | |||
message: '是否确认删除此条家庭成员信息?', | |||
}).then(() => { | |||
// on confirm | |||
deleteJtcy(id).then(res => { | |||
if(res.code == 200){ | |||
this.$toast.success('删除成功'); | |||
this.familyList.splice(index, 1); | |||
} | |||
}); | |||
}).catch(() => { | |||
// on cancel | |||
}); | |||
}, | |||
householdDivision(item, index) { | |||
if (item.yhzgx === '户主') { | |||
this.$toast.fail('该成员身份为户主,不能分户'); | |||
return false; | |||
} | |||
this.$dialog.confirm({ | |||
message: '是否确认将该成员新分一户并设为户主?', | |||
}).then(() => { | |||
// on confirm | |||
divisionJtcy(item.id).then(res => { | |||
if (res.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '分户成功', | |||
duration: "1000", | |||
onClose: () => { | |||
this.familyList.splice(index, 1); | |||
} | |||
}); | |||
} | |||
}); | |||
}).catch(() => { | |||
// on cancel | |||
}); | |||
}, | |||
goDetail(){ | |||
this.$router.push({path:'/contracted/village/contractorFamilyDetail'}); | |||
householdTransfer(item) { | |||
if (item.yhzgx === '户主') { | |||
this.$toast.fail('该成员身份为户主,不能移户'); | |||
return false; | |||
} | |||
this.transferMemberId = item.id; | |||
this.showContractorPopup = true; | |||
}, | |||
onConfirmContractorOptions(value) { | |||
this.$dialog.confirm({ | |||
message: '是否确认将该成员移到' + value.cbfmc + '户内?', | |||
}).then(() => { | |||
// on confirm | |||
this.showContractorPopup = false; | |||
transferJtcy({id: this.transferMemberId, cbfbm: value.cbfbm}).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '移户成功', | |||
duration:"1000", | |||
onClose: () => { | |||
const index = this.familyList.findIndex(item => item.id === this.transferMemberId); | |||
this.familyList.splice(index, 1); | |||
} | |||
}); | |||
} | |||
}); | |||
}).catch(() => { | |||
// on cancel | |||
}); | |||
}, | |||
houseHolder(item) { | |||
if (item.yhzgx === '户主') { | |||
this.$toast.fail('该成员身份为户主,无需设置'); | |||
return false; | |||
} | |||
this.$dialog.confirm({ | |||
message: '是否确认将该成员设为户主?', | |||
}).then(() => { | |||
// on confirm | |||
setHouseholder(item.id).then(res => { | |||
if (res.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '设置户主成功', | |||
duration: "1000", | |||
onClose: () => { | |||
this.$route.params.cbfmc = item.cyxm; | |||
this.getList(); | |||
} | |||
}); | |||
} | |||
}); | |||
}).catch(() => { | |||
// on cancel | |||
}); | |||
} | |||
}, | |||
}; | |||
</script> | |||
@@ -1,117 +1,109 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | |||
<van-nav-bar left-arrow fixed placeholder @click-left="goBack" > | |||
<template #title> | |||
<div class="tb_main"> | |||
<!-- B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p>--> | |||
1111111 | |||
{{ titleName }} | |||
</div> | |||
</template> | |||
</van-nav-bar> | |||
<div class="tap_block"> | |||
<!-- <div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | |||
<p class="active">家庭成员</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorWord'})">承包合同</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorLand'})">承包地</p> | |||
</div> | |||
</div> --> | |||
<div class="list_main"> | |||
<van-field v-model="value" label="姓名:" placeholder="请输入姓名" required :border="false" input-align="right" /> | |||
<van-field v-model="value" label="性别:" required :border="false" input-align="right" > | |||
<template #input> | |||
<van-radio-group v-model="radio" direction="horizontal"> | |||
<van-radio name="1">男</van-radio> | |||
<van-radio name="2">女</van-radio> | |||
</van-radio-group> | |||
</template> | |||
</van-field> | |||
<van-field | |||
v-model="value" | |||
label="与户主关系:" | |||
placeholder="请选择与户主关系" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showType = true" | |||
/> | |||
<van-popup v-model="showType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="typeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTypeOptions" | |||
@cancel="showType = false" | |||
<van-form ref="formData"> | |||
<van-field v-model="form.cyxm" label="姓名:" placeholder="请输入姓名" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field label="性别:" required :border="false" input-align="right" > | |||
<template #input> | |||
<van-radio-group v-model="form.cyxb" direction="horizontal"> | |||
<van-radio v-for="item in cyxbOptions" :key="item.dictValue" :name="item.dictValue">{{ item.dictLabel }}</van-radio> | |||
</van-radio-group> | |||
</template> | |||
</van-field> | |||
<van-field | |||
v-model="familyStatusText" | |||
label="与户主关系:" | |||
placeholder="请选择与户主关系" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showFamilyStatus = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="是否共有人:" required :border="false" input-align="right" > | |||
<template #input> | |||
<van-radio-group v-model="radio" direction="horizontal"> | |||
<van-radio name="1">是</van-radio> | |||
<van-radio name="2">否</van-radio> | |||
</van-radio-group> | |||
</template> | |||
</van-field> | |||
<van-field | |||
v-model="value" | |||
label="证件类型:" | |||
placeholder="请选择证件类型" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showZjType = true" | |||
/> | |||
<van-popup v-model="showZjType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="zjTypeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmZjTypeOptions" | |||
@cancel="showZjType = false" | |||
<van-popup v-model="showFamilyStatus" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="familyStatusOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmFamilyStatusOptions" | |||
@cancel="showFamilyStatus = false" | |||
/> | |||
</van-popup> | |||
<van-field label="是否共有人:" required :border="false" input-align="right" > | |||
<template #input> | |||
<van-radio-group v-model="form.sfgyr" direction="horizontal"> | |||
<van-radio v-for="item in sfgyrOptions" :key="item.dictValue" :name="item.dictValue">{{ item.dictLabel }}</van-radio> | |||
</van-radio-group> | |||
</template> | |||
</van-field> | |||
<van-field | |||
v-model="cyzjlxText" | |||
label="证件类型:" | |||
placeholder="请选择证件类型" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showCredentialType = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="证件号码:" placeholder="请输入证件号码" required :border="false" input-align="right" /> | |||
<van-field | |||
v-model="value" | |||
label="成员备注:" | |||
placeholder="请选择成员备注" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showCYBZ = true" | |||
/> | |||
<van-popup v-model="showCYBZ" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="CYBZOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmCYBZOptions" | |||
@cancel="showCYBZ = false" | |||
<van-popup v-model="showCredentialType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="cyzjlxOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmCredentialTypeOptions" | |||
@cancel="showCredentialType = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="form.cyzjhm" label="证件号码:" placeholder="请输入证件号码" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field | |||
v-model="cybzText" | |||
label="成员备注:" | |||
placeholder="请选择成员备注" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showMemberRemark = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="备注说明:" placeholder="请输入备注说明" required :border="false" input-align="right" /> | |||
<van-field v-model="value" label="持股份数:" placeholder="请输入持股份数" required :border="false" input-align="right" /> | |||
<van-field v-model="value" label="股权编号:" placeholder="请输入股权编号" required :border="false" input-align="right" /> | |||
<p class="btn">保存</p> | |||
<van-popup v-model="showMemberRemark" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="cybzOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmMemberRemarkOptions" | |||
@cancel="showMemberRemark = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="form.cybzsm" label="备注说明:" placeholder="请输入备注说明" :border="false" input-align="right" /> | |||
<van-field v-model="form.cycgfs" label="持股份数:" type="number" placeholder="请输入持股份数" :border="false" input-align="right" /> | |||
<van-field v-model="form.gqzbh" label="股权编号:" placeholder="请输入股权编号" :border="false" input-align="right" /> | |||
</van-form> | |||
<p class="btn" @click="submitForm">保存</p> | |||
</div> | |||
@@ -119,50 +111,137 @@ | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import { getJtcy, addJtcy, updateJtcy } from "@/api/contracted/cbfjtcy"; | |||
export default { | |||
name: "contractedVillageContractor", | |||
data() { | |||
return { | |||
loading:false, | |||
finished:true, | |||
value:'', | |||
showType:false, | |||
showZjType:false, | |||
typeOptions:[{ | |||
dictLabel:'类型1', | |||
dictValue:'1', | |||
}], | |||
zjTypeOptions:[{ | |||
dictLabel:'类型2', | |||
dictValue:'1', | |||
}], | |||
CYBZOptions:[{ | |||
dictLabel:'类型2', | |||
dictValue:'1', | |||
}], | |||
radio:1 | |||
titleName: '', // 顶部标题名 | |||
form: {}, // 承包方家庭成员表单信息 | |||
cyxbOptions: [], // 成员性别字典 | |||
cyzjlxOptions: [], // 成员证件类型字典 | |||
cyzjlxText: null, // 成员证件类型标签名 | |||
showCredentialType: false, // 控制证件类型字典弹出层的显示和隐藏 | |||
cybzOptions: [], // 成员备注字典 | |||
cybzText: null, // 成员备注标签名 | |||
showMemberRemark: false, // 控制成员备注字典弹出层的显示和隐藏 | |||
sfgyrOptions: [], // 是否共有人字典 | |||
familyStatusOptions: [], // 家庭身份字典 | |||
familyStatusText: null, // 家庭身份标签名 | |||
showFamilyStatus: false, // 控制家庭身份字典弹出层的显示和隐藏 | |||
}; | |||
}, | |||
created() { | |||
this.getDicts("sys_user_sex").then(response => { | |||
this.cyxbOptions = response.data; | |||
}); | |||
this.getDicts("cert_type").then(response => { | |||
this.cyzjlxOptions = response.data; | |||
}); | |||
this.getDicts("cybz").then(response => { | |||
this.cybzOptions = response.data; | |||
}); | |||
this.getDicts("is_common").then(response => { | |||
this.sfgyrOptions = response.data; | |||
}); | |||
this.getDicts("family_status").then(response => { | |||
this.familyStatusOptions = response.data; | |||
}); | |||
if (this.$route.params.id) { | |||
this.titleName = "修改家庭成员信息"; | |||
this.getDetail(); | |||
} else { | |||
this.titleName = "新增家庭成员信息"; | |||
this.resetForm(); | |||
} | |||
}, | |||
methods: { | |||
getList(){ | |||
getDetail(){ | |||
getJtcy(this.$route.params.id).then(response => { | |||
this.form = response.data; | |||
this.familyStatusText = this.selectDictLabel(this.familyStatusOptions, response.data.yhzgx); | |||
this.cyzjlxText = this.selectDictLabel(this.cyzjlxOptions, response.data.cyzjlx); | |||
this.cybzText = this.selectDictLabel(this.cybzOptions, response.data.cybz); | |||
}); | |||
}, | |||
onSearch(){ | |||
onConfirmFamilyStatusOptions(value){ | |||
this.form.yhzgx = value.dictValue; | |||
this.familyStatusText = value.dictLabel; | |||
this.showFamilyStatus = false; | |||
}, | |||
onConfirmTypeOptions(){ | |||
onConfirmCredentialTypeOptions(value){ | |||
this.form.cyzjlx = value.dictValue; | |||
this.cyzjlxText = value.dictLabel; | |||
this.showCredentialType = false; | |||
}, | |||
onConfirmZjTypeOptions(){ | |||
onConfirmMemberRemarkOptions(value){ | |||
this.form.cybz = value.dictValue; | |||
this.cybzText = value.dictLabel; | |||
this.showMemberRemark = false; | |||
}, | |||
onConfirmCYBZOptions(){ | |||
goBack() { | |||
this.$router.push({ | |||
name: 'contractedVillageContractorFamily', | |||
params: { | |||
deptId: this.$route.params.deptId, | |||
cbfbm: this.$route.params.cbfbm, | |||
cbfmc: this.$route.params.cbfmc, | |||
surveyStatus: this.$route.params.surveyStatus | |||
} | |||
}); | |||
}, | |||
submitForm() { | |||
this.$refs.formData.validate().then(() => { | |||
if (this.$route.params.id) { | |||
updateJtcy(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
onClose: () => { | |||
this.goBack(); | |||
} | |||
}); | |||
} | |||
}); | |||
} else { | |||
this.form.deptId = this.$route.params.deptId; | |||
this.form.cbfbm = this.$route.params.cbfbm; | |||
addJtcy(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
onClose: () => { | |||
this.goBack(); | |||
} | |||
}); | |||
} | |||
}); | |||
} | |||
}).catch(() => { | |||
this.$notify({ type: 'danger', message: '请填写完整的表单项' }); | |||
}); | |||
}, | |||
resetForm() { | |||
this.form = { | |||
deptId: null, | |||
cbfbm: null, | |||
cyxm: null, | |||
cyxb: '1', | |||
yhzgx: null, | |||
sfgyr: '1', | |||
cyzjlx: null, | |||
cyzjhm: null, | |||
cybz: null, | |||
cybzsm: null, | |||
cycgfs: null, | |||
gqzbh: null | |||
}; | |||
} | |||
}, | |||
}; | |||
</script> | |||
@@ -3,28 +3,189 @@ | |||
<van-nav-bar left-arrow fixed placeholder @click-left="goBack"> | |||
<template #title> | |||
<div class="tb_main"> | |||
{{ contractorName }}<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p> | |||
{{ contractorName }}<p><span class="tb" @click="handleSign">签字完成</span><span class="tb" @click="handleHangUp">异常挂起</span></p> | |||
</div> | |||
</template> | |||
</van-nav-bar> | |||
<van-popup v-model="showSignPopup" 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="handleReset" class="clearBtn" type="info" plain size="small">清空画板</van-button> | |||
<van-button @click="handleGenerate" type="info" size="small">保存签字</van-button> | |||
</div> | |||
</van-cell-group> | |||
</van-popup> | |||
<van-dialog v-model="showRemark" title="异常挂起备注" show-cancel-button confirmButtonText="保存" cancelButtonText="关闭" | |||
:before-close="onBeforeClose" @confirm="handleConfirm"> | |||
<van-form ref="remarkForm" class="remarkForm"> | |||
<van-field v-model="remark" label="备注信息:" type="textarea" rows="4" placeholder="请输入备注信息" required | |||
:rules="[{ required: true }]" input-align="left" label-width="auto" /> | |||
</van-form> | |||
</van-dialog> | |||
</div> | |||
</template> | |||
<script> | |||
import { getDept } from "@/api/contracted"; | |||
import { contractorSignature, hangUp } from "@/api/contracted/cbf"; | |||
import vueEsign from "vue-esign"; | |||
import $ from "jquery"; | |||
export default { | |||
name: 'contractedVillageHeader', | |||
props: ['deptId', 'contractorCode', 'contractorName', 'surveyStatus'], | |||
components: { | |||
vueEsign | |||
}, | |||
data() { | |||
return { | |||
// 控制签字面板的显示和隐藏 | |||
showSignPopup: false, | |||
height: null, | |||
//电子签名 | |||
signature: { | |||
lineWidth: 6, // 画笔的线条粗细 | |||
lineColor: "#000000", // 画笔的颜色 | |||
bgColor: "", // 画布的背景颜色 | |||
resultImg: "", // 最终画布生成的base64图片 | |||
isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 | |||
}, | |||
// 控制异常信息备注提示框的显示和隐藏 | |||
showRemark: false, | |||
// 异常备注信息 | |||
remark: null, | |||
}; | |||
}, | |||
created() { | |||
this.height = window.screen.height * 1.28 - 20; | |||
}, | |||
methods: { | |||
goBack() { | |||
getDept(this.deptId).then(response => { | |||
this.$router.push({path:'/contracted/village/contractor', query: { deptId: this.deptId, deptName: response.data.deptName }}); | |||
}); | |||
}, | |||
handleSign() { | |||
this.showSignPopup = true; | |||
this.handleReset(); | |||
}, | |||
canvasTTdown() { | |||
$('#canvasTT').css('display', 'none'); | |||
}, | |||
// 清空画板 | |||
handleReset() { | |||
if (this.$refs.esign) { | |||
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.contractorCode); | |||
contractorSignature(param).then(response => { | |||
if (response.code === 200) { | |||
this.$toast({ | |||
icon: 'success', // 找到自己需要的图标 | |||
message: '签字成功', | |||
duration: "1000", | |||
onClose: () => { | |||
this.showSignPopup = false; | |||
this.goBack(); | |||
} | |||
}); | |||
} | |||
}); | |||
}) | |||
.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 | |||
}) | |||
}, | |||
// 异常挂起 | |||
handleHangUp() { | |||
this.showRemark = true; | |||
this.remark = null; | |||
}, | |||
// van-dialog 点击confirm事件不自动关闭 | |||
onBeforeClose(action, done) { | |||
if (action === 'confirm') { | |||
return done(false); | |||
} else { | |||
return done(); | |||
} | |||
}, | |||
handleConfirm() { | |||
this.$refs.remarkForm.validate().then(() => { | |||
let data = new FormData() // 创建form对象 | |||
data.append('cbfbm', this.contractorCode); | |||
data.append('remark', this.remark); | |||
hangUp(data).then(response => { | |||
if (response.code === 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '当前承包方调查已被挂起', | |||
duration: '2000', | |||
onClose: () => { | |||
this.showRemark = false; | |||
this.goBack(); | |||
} | |||
}); | |||
} | |||
}); | |||
}).catch(() => { | |||
this.$notify({ type: 'danger', message: '请填写备注信息' }); | |||
}); | |||
} | |||
} | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
/deep/ .remarkForm .van-cell__value { | |||
border: 1px solid #b0b3ba; | |||
border-radius: 5px; | |||
padding: 0 15px; | |||
.van-field__control { | |||
color: #646566; | |||
} | |||
} | |||
.tb_main{ | |||
position: relative; | |||
p{ | |||
@@ -43,4 +204,25 @@ | |||
border-radius: 50PX; | |||
margin-right: 5PX; | |||
} | |||
.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; | |||
} | |||
} | |||
</style> |
@@ -8,65 +8,73 @@ | |||
</div> | |||
</template> | |||
</van-nav-bar> --> | |||
<contractor-header></contractor-header> | |||
<contractor-header :dept-id="$route.params.deptId" :contractor-code="$route.params.cbfbm" :contractor-name="$route.params.cbfmc" :survey-status="$route.params.surveyStatus"></contractor-header> | |||
<div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorFamily'})">家庭成员</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorWord'})">承包合同</p> | |||
<p @click="skip('contractedVillageContractorDetail')">承包方</p> | |||
<p @click="skip('contractedVillageContractorFamily')">家庭成员</p> | |||
<p @click="skip('contractedVillageContractorWord')">承包合同</p> | |||
<p class="active">承包地</p> | |||
</div> | |||
<div class="function_main"> | |||
<div class="function_btn1" @click="goMap"> | |||
<div class="function_btn1" @click="skip('contractedVillageContractorLandMap')"> | |||
<p class="active">进入地图 <span class="sanjiao-right"></span></p> | |||
</div> | |||
<div class="function_btn2" @click="goDetail"> | |||
<div class="function_btn2" @click="goDetail()"> | |||
<p class="active"> + 新增</p> | |||
</div> | |||
</div> | |||
<div class="list_main"> | |||
<van-swipe-cell v-for="(item,index) in 10"> | |||
<div class="item" @click="goDetail"> | |||
<van-swipe-cell v-for="(item,index) in landList" :key="item.id"> | |||
<div class="item" @click="goDetail(item.id)"> | |||
<div class="item_tt"> | |||
<p>西湖地块名称名称名称</p> | |||
<p>371481199201011234</p> | |||
<p>{{ item.dkmc }}</p> | |||
<p>{{ item.dkbm }}</p> | |||
</div> | |||
<div class="item_type"> | |||
<p>3.5亩</p> | |||
<p>旱地</p> | |||
<p><span>2</span>等地</p> | |||
<p>种植业</p> | |||
<p>基本农田:是</p> | |||
<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>张三指界</p> | |||
<p>东:张琪</p> | |||
<p>西:马六</p> | |||
<p>南:河流</p> | |||
<p>北:道路</p> | |||
<!-- <p>{{ item.zjrxm }}指界</p>--> | |||
<p>东:{{ item.dkdz }}</p> | |||
<p>西:{{ item. dkxz }}</p> | |||
<p>南:{{ item.dknz }}</p> | |||
<p>北:{{ item.dkbz }}</p> | |||
</div> | |||
</div> | |||
<template #right> | |||
<div class="operation"> | |||
<!-- delete 删除 edit编辑 view查看 list榜单 --> | |||
<div class="opera_btn delete"> | |||
<p>取消<br/>承包</p> | |||
</div> | |||
<div class="opera_btn edit"> | |||
<div class="opera_btn edit" @click="transferLand(item.id)"> | |||
<p>转给<br/>他方</p> | |||
</div> | |||
<div class="opera_btn delete" @click="deleteLand(item.id, index)"> | |||
<p>取消<br/>承包</p> | |||
</div> | |||
</div> | |||
</template> | |||
</van-swipe-cell> | |||
<van-popup v-model="showContractorPopup" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="contractorList" | |||
@confirm="onConfirmContractorOptions" | |||
@cancel="showContractorPopup = false" | |||
> | |||
<template #option="option"> | |||
<div style="display: flex; flex-direction: column; align-items: center;"> | |||
<div>{{option.cbfmc}}-{{option.cbfbm}}</div> | |||
</div> | |||
</template> | |||
</van-picker> | |||
</van-popup> | |||
</div> | |||
@@ -75,6 +83,9 @@ | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import contractorHeader from "./contractorHeader"; | |||
import { listCbdkxx, deleteCbdkxx, transferCbdkxx } from "@/api/contracted/cbdkxx"; | |||
import { listCbf } from "@/api/contracted/cbf"; | |||
import { getCbht } from "@/api/contracted/cbht"; | |||
export default { | |||
name: "contractedVillageContractor", | |||
@@ -83,44 +94,122 @@ | |||
}, | |||
data() { | |||
return { | |||
loading:false, | |||
finished:true, | |||
value:'', | |||
showType:false, | |||
showZjType:false, | |||
typeOptions:[{ | |||
dictLabel:'类型1', | |||
dictValue:'1', | |||
}], | |||
zjTypeOptions:[{ | |||
dictLabel:'类型2', | |||
dictValue:'1', | |||
}], | |||
landList: [], // 承包地块列表 | |||
contractorList: [], // 承包方列表 | |||
showContractorPopup: false, // 控制承包方信息弹出层的显示和隐藏 | |||
transferLandId: null // 转出的承包地块ID | |||
}; | |||
}, | |||
created() { | |||
this.getList(); | |||
this.getContractorList(); | |||
}, | |||
methods: { | |||
getList(){ | |||
listCbdkxx({cbfbm: this.$route.params.cbfbm, translate_dict: 1}).then(response => { | |||
this.landList = response.rows; | |||
}); | |||
}, | |||
onSearch(){ | |||
getContractorList() { | |||
listCbf({deptId: this.$route.params.deptId}).then(response => { | |||
this.contractorList = response.rows; | |||
}); | |||
}, | |||
onConfirmTypeOptions(){ | |||
goDetail(id){ | |||
if (!id) { | |||
// 新增时,查看承包合同是否存在 | |||
getCbht(this.$route.params.cbfbm).then(response => { | |||
if (!response.data) { | |||
this.$toast({ | |||
icon: 'fail', // 找到自己需要的图标 | |||
message: '承包合同不存在,请先添加承包合同信息', | |||
duration:"2000" | |||
}); | |||
return ; | |||
} else { | |||
this.$router.push({ | |||
name: 'contractedVillageContractorLandDetail', | |||
params: { | |||
deptId: this.$route.params.deptId, | |||
cbfbm: this.$route.params.cbfbm, | |||
cbfmc: this.$route.params.cbfmc, | |||
surveyStatus: this.$route.params.surveyStatus | |||
} | |||
}); | |||
} | |||
}); | |||
} else { | |||
this.$router.push({ | |||
name: 'contractedVillageContractorLandDetail', | |||
params: { | |||
id: id, | |||
deptId: this.$route.params.deptId, | |||
cbfbm: this.$route.params.cbfbm, | |||
cbfmc: this.$route.params.cbfmc, | |||
surveyStatus: this.$route.params.surveyStatus | |||
} | |||
}); | |||
} | |||
}, | |||
onConfirmZjTypeOptions(){ | |||
skip(name) { | |||
this.$router.push({ | |||
name: name, | |||
params: { | |||
deptId: this.$route.params.deptId, | |||
cbfbm: this.$route.params.cbfbm, | |||
cbfmc: this.$route.params.cbfmc, | |||
surveyStatus: this.$route.params.surveyStatus | |||
} | |||
}); | |||
}, | |||
goDetail(){ | |||
this.$router.push({path:'/contracted/village/contractorLandDetail'}); | |||
transferLand(id) { | |||
this.transferLandId = id; | |||
this.showContractorPopup = true; | |||
}, | |||
goMap(){ | |||
this.$router.push({path:'/contracted/village/contractorLandMap'}); | |||
onConfirmContractorOptions(value) { | |||
this.$dialog.confirm({ | |||
message: '是否确认将此承包地块转给' + value.cbfmc + '?', | |||
}).then(() => { | |||
// on confirm | |||
this.showContractorPopup = false; | |||
transferCbdkxx({id: this.transferLandId, cbfbm: value.cbfbm}).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '转出成功', | |||
duration:"1000", | |||
onClose: () => { | |||
const index = this.landList.findIndex(item => item.id === this.transferLandId); | |||
this.landList.splice(index, 1); | |||
} | |||
}); | |||
} | |||
}); | |||
}).catch(() => { | |||
// on cancel | |||
}); | |||
}, | |||
deleteLand(id, index) { | |||
this.$dialog.confirm({ | |||
message: '是否确认取消承包此地块?', | |||
}).then(() => { | |||
// on confirm | |||
deleteCbdkxx(id).then(res => { | |||
if (res.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '取消成功', | |||
duration: "1000", | |||
onClose: () => { | |||
this.landList.splice(index, 1); | |||
} | |||
}); | |||
} | |||
}); | |||
}).catch(() => { | |||
// on cancel | |||
}); | |||
} | |||
}, | |||
}; | |||
</script> | |||
@@ -1,101 +1,120 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | |||
<van-nav-bar left-arrow fixed placeholder @click-left="goBack" > | |||
<template #title> | |||
<div class="tb_main"> | |||
<!-- B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p>--> | |||
2222 | |||
{{ titleName }} | |||
</div> | |||
</template> | |||
</van-nav-bar> | |||
<div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorFamily'})">家庭成员</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorWord'})">承包合同</p> | |||
<p class="active">承包地</p> | |||
</div> | |||
<div class="list_main"> | |||
<van-field v-model="value" label="地块代码:" placeholder="请输入地块代码" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="地块名称:" placeholder="请输入地块名称" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="土地利用类型:" | |||
placeholder="请选择土地利用类型" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showType = true" | |||
/> | |||
<van-popup v-model="showType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="typeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTypeOptions" | |||
@cancel="showType = false" | |||
<van-form ref="formData"> | |||
<van-field v-model="form.dkbm" label="地块代码:" placeholder="请选择地块代码" required :rules="[{ required: true }]" :border="false" | |||
input-align="right" right-icon="arrow-down" readonly clickable @click="openLandCodePopup" :disabled="isDisabled" /> | |||
<van-popup v-model="showLandCode" position="bottom"> | |||
<van-picker | |||
ref="landCodePicker" | |||
show-toolbar | |||
:columns="landList" | |||
@confirm="onConfirmLandCodeOptions" | |||
@cancel="showLandCode = false" | |||
> | |||
<template #option="option"> | |||
<div style="display: flex; flex-direction: column; align-items: center;"> | |||
<div>{{option.dkmc}}-{{option.dkbm}}</div> | |||
</div> | |||
</template> | |||
</van-picker> | |||
</van-popup> | |||
<van-field v-model="form.dkmc" label="地块名称:" placeholder="请输入地块名称" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field | |||
v-model="tdlylxText" | |||
label="土地利用类型:" | |||
placeholder="请选择土地利用类型" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showLandUseType = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="地力等级:" | |||
placeholder="请选择地力等级" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showZjType = true" | |||
/> | |||
<van-popup v-model="showZjType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="zjTypeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmZjTypeOptions" | |||
@cancel="showZjType = false" | |||
<van-popup v-model="showLandUseType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="tdlylxOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmLandUseTypeOptions" | |||
@cancel="showLandUseType = false" | |||
/> | |||
</van-popup> | |||
<van-field | |||
v-model="dldjText" | |||
label="地力等级:" | |||
placeholder="请选择地力等级" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showLandGrade = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="土地用途:" | |||
placeholder="请选择土地用途" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showTDYT = true" | |||
/> | |||
<van-popup v-model="showTDYT" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="TDYTOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTDYTOptions" | |||
@cancel="showTDYT = false" | |||
<van-popup v-model="showLandGrade" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="dldjOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmLandGradeOptions" | |||
@cancel="showLandGrade = false" | |||
/> | |||
</van-popup> | |||
<van-field | |||
v-model="tdytText" | |||
label="土地用途:" | |||
placeholder="请选择土地用途" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showLandPurpose = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="基本农用:" placeholder="请输入基本农用" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="实测面积(亩):" placeholder="请输入实测面积(亩)" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="指界:" placeholder="请输入指界" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="东面:" placeholder="请输入东面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="西面:" placeholder="请输入西面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="南面:" placeholder="请输入南面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="北面:" placeholder="请输入北面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="备注:" placeholder="请输入备注" required :border="false" input-align="right" label-width="auto" /> | |||
<div class="mapBox"></div> | |||
<p class="btn">保存</p> | |||
<van-popup v-model="showLandPurpose" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="tdytOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTDYTOptions" | |||
@cancel="showLandPurpose = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="form.sfjbnt" label="基本农田:" placeholder="请选择基本农田" required :rules="[{ required: true }]" :border="false" input-align="right"> | |||
<template #input> | |||
<van-radio-group v-model="form.sfjbnt" direction="horizontal"> | |||
<van-radio v-for="item in sfjbntOptions" :key="item.dictValue" :name="item.dictValue">{{ item.dictLabel }}</van-radio> | |||
</van-radio-group> | |||
</template> | |||
</van-field> | |||
<van-field v-model="form.htmjm" type="number" label="合同面积(亩):" placeholder="请输入合同面积(亩)" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.zjrxm" label="指界人姓名:" placeholder="请输入指界人姓名" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.dkdz" label="地块东至:" placeholder="请输入地块东至" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.dkxz" label="地块西至:" placeholder="请输入地块西至" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.dknz" label="地块南至:" placeholder="请输入地块南至" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.dkbz" label="地块北至:" placeholder="请输入地块北至" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.dkbzxx" label="地块备注信息:" placeholder="请输入地块备注信息" :border="false" input-align="right" /> | |||
<div class="mapBox"> | |||
<common-map ref="contractedLandMap" :minMapZoom="15" :maxMapZoom="18" :allowDraw="true" @drawFinished="onMapDrawFinished" /> | |||
</div> | |||
</van-form> | |||
<p class="btn" @click="submitForm">保存</p> | |||
</div> | |||
@@ -103,54 +122,216 @@ | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import { getCbdkxx, addCbdkxx, updateCbdkxx } from "@/api/contracted/cbdkxx"; | |||
import { listDk } from "@/api/contracted/dk"; | |||
import { getDept } from "@/api/contracted"; | |||
import CommonMap from "@/components/house/CommonMap"; | |||
export default { | |||
name: "contractedVillageContractor", | |||
components: { | |||
CommonMap | |||
}, | |||
data() { | |||
return { | |||
loading:false, | |||
finished:true, | |||
value:'', | |||
showType:false, | |||
showZjType:false, | |||
showTDYT:false, | |||
typeOptions:[{ | |||
dictLabel:'类型1', | |||
dictValue:'1', | |||
}], | |||
zjTypeOptions:[{ | |||
dictLabel:'类型2', | |||
dictValue:'1', | |||
}], | |||
TDYTOptions:[{ | |||
dictLabel:'类型2', | |||
dictValue:'1', | |||
}], | |||
radio:1, | |||
minDate: new Date(2020, 0, 1), | |||
maxDate: new Date(2025, 10, 1), | |||
currentDate: new Date(2021, 0, 17), | |||
titleName: '', // 标题信息 | |||
isDisabled: false, // 是否禁用 | |||
form: {}, // 承包地信息表单 | |||
showLandCode: false, // 控制地块代码弹出层的显示和隐藏 | |||
tdlylxOptions: [], // 土地利用类型字典 | |||
tdlylxText: null, // 土地利用类型标签名 | |||
showLandUseType: false, // 控制土地利用类型字典弹出层的显示和隐藏 | |||
dldjOptions: [], // 地力等级字典 | |||
dldjText: null, // 地力等级标签名 | |||
showLandGrade: false, // 控制地力等级字典弹出层的显示和隐藏 | |||
tdytOptions: [], // 土地用途字典 | |||
tdytText: null, // 土地用途标签名 | |||
showLandPurpose: false, // 控制土地用途字典弹出层的显示和隐藏 | |||
sfjbntOptions: [], // 是否基本农田字典 | |||
landList: [], // 地块信息列表 | |||
}; | |||
}, | |||
created() { | |||
this.getDicts("land_use").then(response => { | |||
this.tdlylxOptions = response.data; | |||
}); | |||
this.getDicts("land_grade").then(response => { | |||
this.dldjOptions = response.data; | |||
}); | |||
this.getDicts("use_code").then(response => { | |||
this.tdytOptions = response.data; | |||
}); | |||
this.getDicts("is_common").then(response => { | |||
this.sfjbntOptions = response.data; | |||
}); | |||
if (this.$route.params.id) { | |||
this.titleName = '修改承包地信息'; | |||
this.isDisabled = true; | |||
this.getDetail(); | |||
} else { | |||
this.titleName = '新增承包地信息'; | |||
this.resetForm(); | |||
this.getCoordinates(); | |||
this.getLandList(); | |||
} | |||
}, | |||
methods: { | |||
getList(){ | |||
getCoordinates() { | |||
getDept(this.$route.params.deptId).then(response => { | |||
const lng = response.data.lng; | |||
const lat = response.data.lat; | |||
if (lng && lat) { | |||
this.$nextTick(() => { | |||
this.$refs.contractedLandMap.setCoord(lng, lat); | |||
}); | |||
} | |||
}); | |||
}, | |||
onSearch(){ | |||
getLandList() { | |||
// 查询出非承包地块(dklb != '10')且未流转(dkzt = '1')的地块信息 | |||
listDk({deptId: this.$route.params.deptId, jtdklb: '10', dkzt: '1'}).then(response => { | |||
this.landList = response.rows; | |||
}); | |||
}, | |||
onConfirmTypeOptions(){ | |||
getDetail(){ | |||
getCbdkxx(this.$route.params.id).then(response => { | |||
this.form = response.data; | |||
this.tdlylxText = this.selectDictLabel(this.tdlylxOptions, response.data.tdlylx); | |||
this.dldjText = this.selectDictLabel(this.dldjOptions, response.data.dldj); | |||
this.tdytText = this.selectDictLabel(this.tdytOptions, response.data.tdyt); | |||
if (response.data.theGeomJson) { | |||
this.form.theGeom = JSON.stringify(JSON.parse(response.data.theGeomJson).coordinates); | |||
this.$nextTick(() => { | |||
this.$refs.contractedLandMap.setLayer('_Draw_layer', response.data.theGeomJson); | |||
}); | |||
} else { | |||
this.getCoordinates(); | |||
} | |||
}); | |||
}, | |||
onConfirmZjTypeOptions(){ | |||
resetForm() { | |||
this.form = { | |||
deptId: null, | |||
cbfbm: null, | |||
dkbm: null, | |||
dkmc: null, | |||
tdlylx: null, | |||
dldj: null, | |||
tdyt: null, | |||
sfjbnt: null, | |||
htmjm: null, | |||
zjrxm: null, | |||
dkdz: null, | |||
dkxz: null, | |||
dknz: null, | |||
dkbz: null, | |||
dkbzxx: null, | |||
theGeom: null | |||
}; | |||
}, | |||
onConfirmTDYTOptions(){ | |||
openLandCodePopup() { | |||
/* if (this.form.dkbm) { | |||
const index = this.landList.findIndex(item => item.dkbm === this.form.dkbm); | |||
this.$refs.landCodePicker.setColumnIndex(0, index); | |||
} */ | |||
if (!this.isDisabled) { | |||
this.showLandCode = true; | |||
} | |||
}, | |||
onConfirmLandCodeOptions(value) { | |||
this.form.dkbm = value.dkbm; | |||
this.form.dkmc = value.dkmc; | |||
this.form.tdlylx = value.tdlylx; | |||
this.tdlylxText = this.selectDictLabel(this.tdlylxOptions, value.tdlylx); | |||
this.form.dldj = value.dldj; | |||
this.dldjText = this.selectDictLabel(this.dldjOptions, value.dldj); | |||
this.form.tdyt = value.tdyt | |||
this.tdytText = this.selectDictLabel(this.tdytOptions, value.tdyt); | |||
this.form.sfjbnt = value.sfjbnt; | |||
this.form.htmjm = value.scmjm; | |||
this.form.zjrxm = value.zjrxm; | |||
this.form.dkdz = value.dkdz; | |||
this.form.dkxz = value.dkxz | |||
this.form.dknz = value.dknz; | |||
this.form.dkbz = value.dkbz; | |||
this.form.dkbzxx = value.dkbzxx; | |||
if (value.theGeomJson) { | |||
this.form.theGeom = JSON.stringify(JSON.parse(value.theGeomJson).coordinates); | |||
this.$refs.contractedLandMap.setLayer('_Draw_layer', value.theGeomJson); | |||
} else { | |||
this.form.theGeom = null; | |||
} | |||
this.showLandCode = false; | |||
}, | |||
onConfirmLandUseTypeOptions(value) { | |||
this.form.tdlylx = value.dictValue; | |||
this.tdlylxText = value.dictLabel; | |||
this.showLandUseType = false; | |||
}, | |||
onConfirmLandGradeOptions(value) { | |||
this.form.dldj = value.dictValue; | |||
this.dldjText = value.dictLabel; | |||
this.showLandGrade = false; | |||
}, | |||
onConfirmTDYTOptions(value){ | |||
this.form.tdyt = value.dictValue; | |||
this.tdytText = value.dictLabel; | |||
this.showLandPurpose = false; | |||
}, | |||
goBack() { | |||
this.$router.push({ | |||
name: 'contractedVillageContractorLand', | |||
params: { | |||
deptId: this.$route.params.deptId, | |||
cbfbm: this.$route.params.cbfbm, | |||
cbfmc: this.$route.params.cbfmc, | |||
surveyStatus: this.$route.params.surveyStatus | |||
} | |||
}); | |||
}, | |||
submitForm() { | |||
this.$refs.formData.validate().then(() => { | |||
if (this.$route.params.id) { | |||
updateCbdkxx(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
onClose: () => { | |||
this.goBack(); | |||
} | |||
}); | |||
} | |||
}); | |||
} else { | |||
this.form.deptId = this.$route.params.deptId; | |||
this.form.cbfbm = this.$route.params.cbfbm; | |||
addCbdkxx(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
onClose: () => { | |||
this.goBack(); | |||
} | |||
}); | |||
} | |||
}); | |||
} | |||
}).catch(() => { | |||
this.$notify({ type: 'danger', message: '请填写完整的表单项' }); | |||
}); | |||
}, | |||
onMapDrawFinished(data) { | |||
if (data) { | |||
this.form.theGeom = JSON.stringify(data); | |||
} else { | |||
this.form.theGeom = null; | |||
} | |||
}, | |||
}, | |||
}; | |||
</script> | |||
@@ -188,6 +369,14 @@ | |||
overflow: initial; | |||
} | |||
/deep/ .van-field--disabled .van-field__label { | |||
color: #646566; | |||
} | |||
/deep/ .van-field__label { | |||
width: 7em; | |||
} | |||
.tb_main{ | |||
position: relative; | |||
p{ | |||
@@ -1,7 +1,7 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | |||
<van-nav-bar left-arrow fixed placeholder @click-left="goBack" > | |||
<template #title> | |||
<div class="tb_main"> | |||
<!-- B村<p><span class="tb">签字完成</span><span class="tb">异常挂起</span></p>--> | |||
@@ -10,12 +10,12 @@ | |||
</template> | |||
</van-nav-bar> | |||
<div class="tap_block"> | |||
<!-- <div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractorDetail'})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorFamily'})">家庭成员</p> | |||
<p @click="$router.push({path:'/contracted/village/contractorWord'})">承包合同</p> | |||
<p class="active">承包地</p> | |||
</div> | |||
</div> --> | |||
<div class="mapBox"></div> | |||
@@ -34,7 +34,17 @@ | |||
}, | |||
methods: { | |||
goBack() { | |||
this.$router.push({ | |||
name: 'contractedVillageContractorLand', | |||
params: { | |||
deptId: this.$route.params.deptId, | |||
cbfbm: this.$route.params.cbfbm, | |||
cbfmc: this.$route.params.cbfmc, | |||
surveyStatus: this.$route.params.surveyStatus | |||
} | |||
}); | |||
}, | |||
}, | |||
}; | |||
</script> | |||
@@ -17,83 +17,240 @@ | |||
</div> | |||
<div class="list_main"> | |||
<van-field v-model="value" label="代码:" placeholder="请输入代码" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="名称:" placeholder="请输入名称" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="负责人:" placeholder="请输入负责人" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="证件类型:" | |||
placeholder="请选择证件类型" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showType = true" | |||
/> | |||
<van-popup v-model="showType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="typeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTypeOptions" | |||
@cancel="showType = false" | |||
<van-form ref="formData"> | |||
<van-field v-model="form.fbfbm" label="代码:" placeholder="请输入代码" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" :disabled="isDisabled"> | |||
<template #button v-if="!isDisabled"> | |||
<van-button size="mini" type="primary" native-type="button" @click="generateCode">生成代码</van-button> | |||
</template> | |||
</van-field> | |||
<van-field v-model="form.fbfmc" label="名称:" placeholder="请输入名称" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="form.fbffzrxm" label="负责人姓名:" placeholder="请输入负责人姓名" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="credentialTypeText" label="证件类型:" | |||
placeholder="请选择证件类型" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showCredentialType = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="证件号码:" placeholder="请输入证件号码" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="联系电话:" placeholder="请输入联系电话" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="地址:" placeholder="请输入地址" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="邮编:" placeholder="请输入邮编" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="调查记事:" placeholder="请输入调查记事" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field readonly v-model="value" label="签字(上传图片):" :border="false" input-align="right" label-width="auto" /> | |||
<van-popup v-model="showCredentialType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="credentialTypeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTypeOptions" | |||
@cancel="showCredentialType = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="form.fzrzjhm" label="证件号码:" placeholder="请输入证件号码" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="form.lxdh" label="联系电话:" placeholder="请输入联系电话" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="form.fbfdz" label="地址:" placeholder="请输入地址" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="form.yzbm" label="邮政编码:" placeholder="请输入邮政编码" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="form.fbfdcjs" label="调查记事:" placeholder="请输入调查记事" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" /> | |||
<van-field label="签字图片:" readonly :border="false" label-width="auto" /> | |||
<img :src="'/api'+form.fbfdcqz" width="100%" alt="" /> | |||
</van-form> | |||
<div class="btn_main"> | |||
<p class="btn">保存</p> | |||
<p class="btn1">签字</p> | |||
<p class="btn" @click="submitForm">保存</p> | |||
<p class="btn1" @click="handleSign">签字</p> | |||
</div> | |||
</div> | |||
<van-popup v-model="showSignPopup" 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="handleReset" class="clearBtn" type="info" plain size="small">清空画板</van-button> | |||
<van-button @click="handleGenerate" type="info" size="small">保存签字</van-button> | |||
</div> | |||
</van-cell-group> | |||
</van-popup> | |||
</div> | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import { listFbf, addFbf, updateFbf, manualSignature, generateEmployerCode } from "@/api/contracted/fbf"; | |||
import vueEsign from "vue-esign"; | |||
import $ from "jquery"; | |||
export default { | |||
name: "contractedVillageContractor", | |||
components: { | |||
vueEsign | |||
}, | |||
data() { | |||
return { | |||
loading:false, | |||
finished:true, | |||
value:'', | |||
showType:false, | |||
typeOptions:[{ | |||
dictLabel:'类型1', | |||
dictValue:'1', | |||
}], | |||
form: {}, // 发包方信息表单 | |||
isDisabled: false, // 是否禁用 | |||
credentialTypeOptions: [], // 证件类型字典 | |||
credentialTypeText: null, // 证件类型标签名 | |||
showCredentialType: false, // 控制证件类型字典弹出层的显示和隐藏 | |||
// 控制签字面板的显示和隐藏 | |||
showSignPopup: false, | |||
height: null, | |||
//电子签名 | |||
signature: { | |||
lineWidth: 6, // 画笔的线条粗细 | |||
lineColor: "#000000", // 画笔的颜色 | |||
bgColor: "", // 画布的背景颜色 | |||
resultImg: "", // 最终画布生成的base64图片 | |||
isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分 | |||
}, | |||
}; | |||
}, | |||
created() { | |||
this.height = window.screen.height * 1.28 - 20; | |||
this.getDicts("cert_type").then(response => { | |||
this.credentialTypeOptions = response.data; | |||
}); | |||
this.getDetail(); | |||
}, | |||
methods: { | |||
getList(){ | |||
getDetail() { | |||
listFbf({deptId: this.$route.query.deptId}).then(response => { | |||
if (response.rows.length > 0) { | |||
this.form = response.rows[0]; | |||
this.isDisabled = true; | |||
this.$nextTick(() => { | |||
this.credentialTypeText = this.selectDictLabel(this.credentialTypeOptions, this.form.fzrzjlx); | |||
}); | |||
} else { | |||
this.resetForm(); | |||
this.isDisabled = false; | |||
} | |||
}); | |||
}, | |||
onSearch(){ | |||
generateCode() { | |||
generateEmployerCode({deptId: this.$route.query.deptId}).then(response => { | |||
this.$set(this.form, 'fbfbm', response.data); | |||
}); | |||
}, | |||
onConfirmTypeOptions(){ | |||
onConfirmTypeOptions(value){ | |||
this.form.fzrzjlx = value.dictValue; | |||
this.credentialTypeText = value.dictLabel; | |||
this.showCredentialType = false; | |||
}, | |||
onConfirmZjTypeOptions(){ | |||
submitForm() { | |||
this.$refs.formData.validate().then(() => { | |||
if (this.form.id) { | |||
updateFbf(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
}); | |||
} | |||
}); | |||
} else { | |||
this.form.deptId = this.$route.query.deptId; | |||
addFbf(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
onClose: () => { | |||
this.getDetail(); | |||
} | |||
}); | |||
} | |||
}); | |||
} | |||
}).catch(() => { | |||
this.$notify({ type: 'danger', message: '请填写完整的表单项' }); | |||
}); | |||
}, | |||
onConfirmTDYTOptions(){ | |||
resetForm() { | |||
this.form = { | |||
deptId: null, | |||
fbfbm: null, | |||
fbfmc: null, | |||
fbffzrxm: null, | |||
fzrzjlx: null, | |||
fzrzjhm: null, | |||
lxdh: null, | |||
fbfdz: null, | |||
yzbm: null, | |||
fbfdcjs: null, | |||
fbfdcqz: null | |||
} | |||
}, | |||
handleSign() { | |||
this.showSignPopup = true; | |||
this.handleReset(); | |||
}, | |||
canvasTTdown() { | |||
$('#canvasTT').css('display', 'none'); | |||
}, | |||
// 清空画板 | |||
handleReset() { | |||
if (this.$refs.esign) { | |||
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('deptId', this.$route.query.deptId); | |||
manualSignature(param).then(response => { | |||
if (response.code === 200) { | |||
this.$toast({ | |||
icon: 'success', // 找到自己需要的图标 | |||
message: '签字成功', | |||
duration: "1000", | |||
onClose: () => { | |||
this.showSignPopup = false; | |||
this.form.fbfdcqz = response.data; | |||
} | |||
}); | |||
} | |||
}); | |||
}) | |||
.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> | |||
@@ -131,6 +288,10 @@ | |||
overflow: initial; | |||
} | |||
/deep/ .van-field--disabled .van-field__label { | |||
color: #646566; | |||
} | |||
.tb_main{ | |||
position: relative; | |||
p{ | |||
@@ -252,4 +413,25 @@ | |||
margin: 2vh auto; | |||
} | |||
.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; | |||
} | |||
} | |||
</style> |
@@ -16,68 +16,170 @@ | |||
v-model="value" | |||
shape="round" | |||
background="transparent" | |||
placeholder="请输入姓名搜索" | |||
placeholder="请输入地块代码搜索" | |||
@search="onSearch" | |||
></van-search> | |||
<div class="search_btn"> | |||
<div class="search_btn" @click="goDetail()"> | |||
<p class="active"> + 新增</p> | |||
</div> | |||
</div> | |||
<div class="second_tap"> | |||
<p class="active">承包</p> | |||
<!-- <p class="active">承包</p> | |||
<p>自留</p> | |||
<p>机动</p> | |||
<p>开荒</p> | |||
<p>其他</p> | |||
<p>其他</p> --> | |||
<p v-for="dict in dklbOptions" :key="dict.dictValue" :class="{active: landCategory === dict.dictValue}" @click="landCategoryChange(dict.dictValue, dict.dictLabel)">{{dict.dictLabel}}</p> | |||
</div> | |||
<p class="page_tab">自留地 <span>5153亩</span></p> | |||
<p class="page_tab">{{ tagName }} <span>{{ totalNum }}块</span></p> | |||
<div class="list_main"> | |||
<van-row style="color: #888888;font-size: 14px;"> | |||
<van-col span="9">地块代码</van-col> | |||
<van-col span="10">地块名称</van-col> | |||
<van-col span="5">面积(亩)</van-col> | |||
</van-row> | |||
<van-swipe-cell v-for="(item,index) in 50"> | |||
<van-row @click="goDetail"> | |||
<van-col span="9">45412353553</van-col> | |||
<van-col span="10">西湖地地块名称</van-col> | |||
<van-col span="5" style="color: #f78200">7</van-col> | |||
</van-row> | |||
<template #right> | |||
<van-button square type="danger" text="删除" /> | |||
</template> | |||
</van-swipe-cell> | |||
<van-list | |||
v-model="loading" | |||
:finished="finished" | |||
finished-text="没有更多了" | |||
:immediate-check="false" | |||
@load="getList" | |||
> | |||
<van-swipe-cell v-for="(item,index) in landList"> | |||
<van-row @click="goDetail(item.id)"> | |||
<van-col span="9">{{ item.dkbm }}</van-col> | |||
<van-col span="10">{{ item.dkmc }}</van-col> | |||
<van-col span="5" style="color: #f78200">{{ item.scmjm }}</van-col> | |||
</van-row> | |||
<template #right> | |||
<van-button square type="danger" text="删除" native-type="button" @click="deleteLand(item.id, index)" /> | |||
</template> | |||
</van-swipe-cell> | |||
</van-list> | |||
</div> | |||
</div> | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import { listDk, deleteDk } from "@/api/contracted/dk"; | |||
export default { | |||
name: "contractedVillageContractor", | |||
data() { | |||
return { | |||
loading:false, | |||
finished:true, | |||
value:'' | |||
finished:false, | |||
value:'', | |||
// 查询参数 | |||
queryParams: { | |||
deptId: null, | |||
dkbm: null, | |||
dklb: null, | |||
pageNum:1, | |||
pageSize:20, | |||
}, | |||
// 地块类别字典 | |||
dklbOptions: [], | |||
// 地块类别 | |||
landCategory: null, | |||
// 当前选中的地块类别 | |||
tagName: null, | |||
// 当前调查状态下的地块总数 | |||
totalNum: 0, | |||
// 地块列表 | |||
landList: [], | |||
}; | |||
}, | |||
created() { | |||
this.queryParams.deptId = this.$route.query.deptId; | |||
this.getDicts("land_type").then(response => { | |||
this.dklbOptions = response.data; | |||
if (this.dklbOptions.length > 0) { | |||
this.queryParams.dklb = this.dklbOptions[0].dictValue; | |||
this.landCategory = this.dklbOptions[0].dictValue; | |||
this.tagName = this.dklbOptions[0].dictLabel; | |||
} | |||
this.getList(); | |||
}); | |||
}, | |||
methods: { | |||
getList(){ | |||
this.loading = true; | |||
listDk(this.queryParams).then(response => { | |||
response.rows.forEach(item => { | |||
this.landList.push(item); | |||
}); | |||
this.totalNum = response.total; | |||
if (this.landList.length >= response.total) { | |||
this.finished = true; | |||
return; | |||
} else { | |||
this.loading = false; | |||
this.queryParams.pageNum += 1; | |||
} | |||
}); | |||
}, | |||
onSearch(){ | |||
this.queryParams.dkbm = this.value; | |||
this.queryData(); | |||
}, | |||
landCategoryChange(dictValue, dictLabel) { | |||
this.landCategory = dictValue; | |||
this.queryParams.dklb = dictValue; | |||
this.tagName = dictLabel; | |||
this.totalNum = 0; | |||
this.queryData(); | |||
}, | |||
queryData() { | |||
this.queryParams.pageNum = 1; | |||
this.finished = false; | |||
this.landList = []; | |||
this.getList(); | |||
}, | |||
goDetail(id){ | |||
if (id) { | |||
this.$router.push({ | |||
path:'/contracted/village/massifDetail', | |||
query: { | |||
deptId: this.$route.query.deptId, | |||
id: id | |||
} | |||
}); | |||
} else { | |||
this.$router.push({ | |||
path:'/contracted/village/massifDetail', | |||
query: { | |||
deptId: this.$route.query.deptId | |||
} | |||
}); | |||
} | |||
}, | |||
goDetail(){ | |||
this.$router.push({path:'/contracted/village/massifDetail', query: { deptId: this.$route.query.deptId, deptName: this.$route.query.deptName }}); | |||
deleteLand(id, index) { | |||
this.$dialog.confirm({ | |||
message: '是否确认删除此地块?', | |||
}).then(() => { | |||
// on confirm | |||
deleteDk(id).then(res => { | |||
if (res.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '删除成功', | |||
duration: "1000", | |||
onClose: () => { | |||
this.landList.splice(index, 1); | |||
this.totalNum = this.totalNum - 1; | |||
} | |||
}); | |||
} | |||
}); | |||
}).catch(() => { | |||
// on cancel | |||
}); | |||
} | |||
}, | |||
}; | |||
@@ -162,7 +264,7 @@ | |||
background: #dbf1ea; | |||
border: 1px solid #cdcdcd; | |||
color: #5f5f5f; | |||
padding: 5PX 15PX; | |||
padding: 5PX 5PX; | |||
margin-right: 3vw; | |||
border-radius: 50PX; | |||
} | |||
@@ -1,149 +1,151 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar left-arrow fixed placeholder @click-left="onClickLeft" > | |||
<van-nav-bar left-arrow fixed placeholder @click-left="goBack" > | |||
<template #title> | |||
<div class="tb_main"> | |||
{{$route.query.deptName}} | |||
{{ titleName }} | |||
</div> | |||
</template> | |||
</van-nav-bar> | |||
<div class="tap_block"> | |||
<!-- <div class="tap_block"> | |||
<p @click="$router.push({path:'/contracted/village/contractor', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">承包方</p> | |||
<p @click="$router.push({path:'/contracted/village/employer', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">发包方</p> | |||
<p class="active">地块</p> | |||
<p @click="$router.push({path:'/contracted/village/map', query: { deptId: $route.query.deptId, deptName: $route.query.deptName }})">地图</p> | |||
</div> | |||
</div> --> | |||
<div class="list_main"> | |||
<van-field v-model="value" label="地块代码:" placeholder="请输入地块代码" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="地块名称:" placeholder="请输入地块名称" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="所有权性质:" | |||
placeholder="请选择所有权性质" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showType = true" | |||
/> | |||
<van-popup v-model="showSYQXZ" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="typeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTypeOptions" | |||
@cancel="showSYQXZ = false" | |||
<van-form ref="formData"> | |||
<van-field v-model="form.dkbm" label="地块代码:" placeholder="请输入地块代码" required :rules="[{ required: true }]" :border="false" input-align="right" label-width="auto" :disabled="isDisabled"> | |||
<template #button v-if="!$route.query.id"> | |||
<van-button size="mini" type="primary" native-type="button" @click="generateCode">生成代码</van-button> | |||
</template> | |||
</van-field> | |||
<van-field v-model="form.dkmc" label="地块名称:" placeholder="请输入地块名称" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="syqxzText" label="所有权性质:" | |||
placeholder="请选择所有权性质" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showOwnership = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="地块类别:" | |||
placeholder="请选择地块类别" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showZjType = true" | |||
/> | |||
<van-popup v-model="showDKLB" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="zjTypeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmZjTypeOptions" | |||
@cancel="showDKLB = false" | |||
<van-popup v-model="showOwnership" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="syqxzOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmOwnershipOptions" | |||
@cancel="showOwnership = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="dklbText" label="地块类别:" | |||
placeholder="请选择地块类别" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showLandCategory = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="土地利用类型:" | |||
placeholder="请选择土地利用类型" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showType = true" | |||
/> | |||
<van-popup v-model="showType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="typeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTypeOptions" | |||
@cancel="showType = false" | |||
<van-popup v-model="showLandCategory" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="dklbOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmLandCategoryOptions" | |||
@cancel="showLandCategory = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="tdlylxText" label="土地利用类型:" | |||
placeholder="请选择土地利用类型" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showLandType = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="地力等级:" | |||
placeholder="请选择地力等级" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showZjType = true" | |||
/> | |||
<van-popup v-model="showZjType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="zjTypeOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmZjTypeOptions" | |||
@cancel="showZjType = false" | |||
<van-popup v-model="showLandType" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="tdlylxOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmLandTypeOptions" | |||
@cancel="showLandType = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="dldjText" label="地力等级:" | |||
placeholder="请选择地力等级" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showLandGrade = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="土地用途:" | |||
placeholder="请选择土地用途" | |||
required | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" | |||
readonly | |||
clickable | |||
@click="showTDYT = true" | |||
/> | |||
<van-popup v-model="showTDYT" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="TDYTOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmTDYTOptions" | |||
@cancel="showTDYT = false" | |||
<van-popup v-model="showLandGrade" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="dldjOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmLandGradeOptions" | |||
@cancel="showLandGrade = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="tdytText" label="土地用途:" | |||
placeholder="请选择土地用途" | |||
required | |||
:rules="[{ required: true }]" | |||
:border="false" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
readonly | |||
clickable | |||
@click="showLandPurpose = true" | |||
/> | |||
</van-popup> | |||
<van-field v-model="value" label="基本农田:" required :border="false" input-align="right" > | |||
<template #input> | |||
<van-radio-group v-model="radio" direction="horizontal"> | |||
<van-radio name="1">是</van-radio> | |||
<van-radio name="2">否</van-radio> | |||
</van-radio-group> | |||
</template> | |||
</van-field> | |||
<van-field v-model="value" label="实测面积(亩):" placeholder="请输入实测面积(亩)" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="指界人:" placeholder="请输入指界人" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="东面:" placeholder="请输入东面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="西面:" placeholder="请输入西面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="南面:" placeholder="请输入南面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="北面:" placeholder="请输入北面" required :border="false" input-align="right" label-width="auto" /> | |||
<van-field v-model="value" label="备注:" placeholder="请输入备注" :border="false" input-align="right" label-width="auto" /> | |||
<div class="mapBox"></div> | |||
<p class="btn">保存</p> | |||
<van-popup v-model="showLandPurpose" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="tdytOptions" | |||
value-key="dictLabel" | |||
@confirm="onConfirmLandPurposeOptions" | |||
@cancel="showLandPurpose = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="form.sfjbnt" label="基本农田:" required :rules="[{ required: true }]" :border="false" input-align="right" > | |||
<template #input> | |||
<van-radio-group v-model="form.sfjbnt" direction="horizontal"> | |||
<!-- <van-radio name="1">是</van-radio> | |||
<van-radio name="2">否</van-radio> --> | |||
<van-radio v-for="dict in sfjbntOptions" :ke="dict.dictValue" :name="dict.dictValue">{{ dict.dictLabel }}</van-radio> | |||
</van-radio-group> | |||
</template> | |||
</van-field> | |||
<van-field v-model="form.scmjm" type="number" label="实测面积(亩):" placeholder="请输入实测面积(亩)" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.zjrxm" label="指界人姓名:" placeholder="请输入指界人姓名" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.dkdz" label="地块东至:" placeholder="请输入地块东至" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.dkxz" label="地块西至:" placeholder="请输入地块西至" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.dknz" label="地块南至:" placeholder="请输入地块南至" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.dkbz" label="地块北至:" placeholder="请输入地块北至" required :rules="[{ required: true }]" :border="false" input-align="right" /> | |||
<van-field v-model="form.dkbzxx" label="地块备注信息:" placeholder="请输入地块备注信息" :border="false" input-align="right" /> | |||
<div class="mapBox"> | |||
<common-map ref="landMap" :minMapZoom="15" :maxMapZoom="18" :allowDraw="true" @drawFinished="onMapDrawFinished" /> | |||
</div> | |||
</van-form> | |||
<p class="btn" @click="submitForm">保存</p> | |||
</div> | |||
@@ -151,8 +153,15 @@ | |||
</template> | |||
<script> | |||
import Cookies from "js-cookie"; | |||
import { getDk, addDk, updateDk, generateLandCode } from "@/api/contracted/dk"; | |||
import { getDept } from "@/api/contracted"; | |||
import CommonMap from "@/components/house/CommonMap"; | |||
export default { | |||
name: "contractedVillageContractor", | |||
components: { | |||
CommonMap | |||
}, | |||
data() { | |||
return { | |||
loading:false, | |||
@@ -179,28 +188,199 @@ | |||
minDate: new Date(2020, 0, 1), | |||
maxDate: new Date(2025, 10, 1), | |||
currentDate: new Date(2021, 0, 17), | |||
titleName: '', // 标题信息 | |||
isDisabled: false, // 是否禁用 | |||
form: {}, // 地块信息表单 | |||
syqxzOptions: [], // 所有权性质字典 | |||
syqxzText: null, // 所有权性质标签名 | |||
showOwnership: false, // 控制所有权性质字典弹出层的显示和隐藏 | |||
dklbOptions: [], // 地块类别字典 | |||
dklbText: null, // 地块类别标签名 | |||
showLandCategory: false, // 控制的地块类别字典弹出层的显示和隐藏 | |||
dldjOptions: [], // 地力等级字典 | |||
dldjText: null, // 地力等级标签名 | |||
showLandGrade: false, // 控制地力等级字典弹出层的显示和隐藏 | |||
tdytOptions: [], // 土地用途字典 | |||
tdytText: null, // 土地用途标签名 | |||
showLandPurpose: false, // 控制土地用途字典弹出层的显示和隐藏 | |||
tdlylxOptions: [], // 土地利用类型 | |||
tdlylxText: null, // 土地利用类型标签名 | |||
showLandType: false, // 控制土地利用类型字典弹出层的显示和隐藏 | |||
sfjbntOptions: [], // 是否基本农田字典 | |||
}; | |||
}, | |||
created() { | |||
this.getDicts("land_ownership").then(response => { | |||
this.syqxzOptions = response.data; | |||
}); | |||
this.getDicts("land_type").then(response => { | |||
this.dklbOptions = response.data; | |||
}); | |||
this.getDicts("land_grade").then(response => { | |||
this.dldjOptions = response.data; | |||
}); | |||
this.getDicts("use_code").then(response => { | |||
this.tdytOptions = response.data; | |||
}); | |||
this.getDicts("land_use").then(response => { | |||
this.tdlylxOptions = response.data; | |||
}); | |||
this.getDicts("is_common").then(response => { | |||
this.sfjbntOptions = response.data; | |||
}); | |||
}, | |||
mounted() { | |||
if (this.$route.query.id) { | |||
this.titleName = '修改地块信息'; | |||
this.isDisabled = true; | |||
this.getDetail(); | |||
} else { | |||
this.titleName = '新增地块信息'; | |||
this.resetForm(); | |||
this.getCoordinates(); | |||
} | |||
}, | |||
methods: { | |||
getList(){ | |||
getDetail() { | |||
getDk(this.$route.query.id).then(response => { | |||
const data = response.data; | |||
this.form = data; | |||
this.syqxzText = this.selectDictLabel(this.syqxzOptions, data.syqxz); | |||
this.dklbText = this.selectDictLabel(this.dklbOptions, data.dklb); | |||
this.dldjText = this.selectDictLabel(this.dldjOptions, data.dldj); | |||
this.tdytText = this.selectDictLabel(this.tdytOptions, data.tdyt); | |||
this.tdlylxText = this.selectDictLabel(this.tdlylxOptions, data.tdlylx); | |||
if (response.data.theGeomJson) { | |||
this.form.theGeom = JSON.stringify(JSON.parse(response.data.theGeomJson).coordinates); | |||
this.$nextTick(() => { | |||
this.$refs.landMap.setLayer('_Draw_layer', response.data.theGeomJson); | |||
}); | |||
} else { | |||
this.getCoordinates(); | |||
} | |||
}); | |||
}, | |||
onSearch(){ | |||
resetForm() { | |||
this.form = { | |||
deptId: null, | |||
dkbm: null, | |||
dkmc: null, | |||
syqxz: null, | |||
dklb: null, | |||
tdlylx: null, | |||
dldj: null, | |||
tdyt: null, | |||
sfjbnt: '1', | |||
scmjm: null, | |||
zjrxm: null, | |||
dkdz: null, | |||
dkxz: null, | |||
dknz: null, | |||
dkbz: null, | |||
dkbzxx: null, | |||
theGeom: null | |||
}; | |||
}, | |||
onConfirmTypeOptions(){ | |||
getCoordinates() { | |||
getDept(this.$route.query.deptId).then(response => { | |||
const lng = response.data.lng; | |||
const lat = response.data.lat; | |||
if (lng && lat) { | |||
this.$nextTick(() => { | |||
this.$refs.landMap.setCoord(lng, lat); | |||
}); | |||
} | |||
}); | |||
}, | |||
onConfirmZjTypeOptions(){ | |||
onConfirmOwnershipOptions(value){ | |||
this.form.syqxz = value.dictValue; | |||
this.syqxzText = value.dictLabel; | |||
this.showOwnership = false; | |||
}, | |||
onConfirmTDYTOptions(){ | |||
onConfirmLandCategoryOptions(value){ | |||
this.form.dklb = value.dictValue; | |||
this.dklbText = value.dictLabel; | |||
this.showLandCategory = false; | |||
}, | |||
onConfirmLandTypeOptions(value) { | |||
this.form.tdlylx = value.dictValue; | |||
this.tdlylxText = value.dictLabel; | |||
this.showLandType = false; | |||
}, | |||
onConfirmLandGradeOptions(value) { | |||
this.form.dldj = value.dictValue | |||
this.dldjText = value.dictLabel; | |||
this.showLandGrade = false; | |||
}, | |||
onConfirmLandPurposeOptions(value){ | |||
this.form.tdyt = value.dictValue; | |||
this.tdytText = value.dictLabel; | |||
this.showLandPurpose = false; | |||
}, | |||
submitForm() { | |||
this.$refs.formData.validate().then(() => { | |||
if (this.$route.query.id) { | |||
updateDk(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
onClose: () => { | |||
this.goBack(); | |||
} | |||
}); | |||
} | |||
}); | |||
} else { | |||
this.form.deptId = this.$route.query.deptId; | |||
addDk(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
onClose: () => { | |||
this.goBack(); | |||
} | |||
}); | |||
} | |||
}); | |||
/* this.form.deptId = this.$route.params.deptId; | |||
this.form.cbfbm = this.$route.params.cbfbm; | |||
addCbdkxx(this.form).then(response => { | |||
if (response.code == 200) { | |||
this.$toast({ | |||
icon: 'success', | |||
message: '保存成功', | |||
duration:"1000", | |||
onClose: () => { | |||
this.goBack(); | |||
} | |||
}); | |||
} | |||
}); */ | |||
} | |||
}).catch(() => { | |||
this.$notify({ type: 'danger', message: '请填写完整的表单项' }); | |||
}); | |||
}, | |||
onMapDrawFinished(data) { | |||
if (data) { | |||
this.form.theGeom = JSON.stringify(data); | |||
} else { | |||
this.form.theGeom = null; | |||
} | |||
}, | |||
generateCode() { | |||
generateLandCode({deptId: this.$route.query.deptId}).then(response => { | |||
this.$set(this.form, 'dkbm', response.data); | |||
}); | |||
}, | |||
goBack() { | |||
history.back(-1); | |||
} | |||
}, | |||
}; | |||
</script> | |||
@@ -238,6 +418,14 @@ | |||
overflow: initial; | |||
} | |||
/deep/ .van-field--disabled .van-field__label { | |||
color: #646566; | |||
} | |||
/deep/ .van-field__label { | |||
width: 7em; | |||
} | |||
.tb_main{ | |||
position: relative; | |||
p{ | |||
@@ -849,11 +849,17 @@ export default { | |||
return; | |||
} | |||
if(this.form.id == null){ | |||
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)); | |||
this.$set(this.form, 'surveyId', surveyItem.id); | |||
addZjdzd(this.form).then(response => { | |||
let _this =this; | |||
getZjdzd(response.data).then((res) => { | |||
console.info(res.data); | |||
localStorage.setItem("zjdzdxxItem",JSON.stringify(res.data)); | |||
this.$toast({ | |||
icon: 'success', // 找到自己需要的图标 | |||
@@ -209,6 +209,10 @@ export default { | |||
}, | |||
submitzjd(){ | |||
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.id == null){ | |||
addFsss(this.form).then(response => { | |||
let _this =this | |||
@@ -243,6 +243,7 @@ export default { | |||
let data = this.$route.query; | |||
this.form = data; | |||
this.zjdzdxx = JSON.parse(localStorage.getItem("zjdzdxxItem")); | |||
console.info(this.zjdzdxx); | |||
this.permission = localStorage.getItem("executePermission"); | |||
if(this.form.shyqrdbzjhm != null){ | |||
this.getList(); | |||
@@ -269,6 +270,10 @@ export default { | |||
submitzjd(){ | |||
this.$refs.form.validate().then(() => { | |||
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)); | |||
addZrz(this.form).then(response => { | |||
let _this =this | |||
this.$toast({ | |||
@@ -28,7 +28,7 @@ | |||
@load="getList" | |||
> | |||
<van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
<van-cell :title="item.zjddm" :value="item.auditStatus" center :to="{name:'sunVillageInfoPaidExitDetail', query: {id:item.id}}" > | |||
<van-cell :title="item.zjddm" :value="selectDictLabel(auditStatus, item.auditStatus)" center :to="{name:'sunVillageInfoPaidExitDetail', query: {id:item.id}}" > | |||
<template #icon> | |||
<van-icon name="../../../static/images/onlineHome/icon_zjd3.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
</template> | |||
@@ -39,13 +39,13 @@ | |||
<template #right> | |||
<van-row> | |||
<van-col> | |||
<van-button square text="修改" v-if="item.auditStatus=='草稿'" :to="{name:'sunVillageInfoPaidExitModify', query: {id:item.id}}" type="info" class="delete-button" /> | |||
<van-button square text="修改" v-if="item.auditStatus=='0'" :to="{name:'sunVillageInfoPaidExitModify', query: {id:item.id}}" type="info" class="delete-button" /> | |||
</van-col> | |||
<van-col> | |||
<van-button square text="提交" type="primary" v-if="item.auditStatus=='草稿'" class="delete-button" @click="goSubmit(item)" /> | |||
<van-button square text="提交" type="primary" v-if="item.auditStatus=='0'" class="delete-button" @click="goSubmit(item)" /> | |||
</van-col> | |||
<van-col> | |||
<van-button square text="删除" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" type="danger" class="delete-button" /> | |||
<van-button square text="删除" v-if="item.auditStatus=='0'" @click="deleteList(item.id,index)" type="danger" class="delete-button" /> | |||
</van-col> | |||
</van-row> | |||
</template> | |||
@@ -71,6 +71,8 @@ | |||
<van-field readonly label="开户银行" v-model="item.bankDeposit" input-align="right" label-width="auto"/> | |||
<van-field readonly label="收入金额" v-model="item.incomeAmount" input-align="right" label-width="auto"/> | |||
<van-field readonly label="所属银行" v-model="item.bankTypeText" input-align="right" /> | |||
<van-field v-if="item.transferStatus=='成功'||item.transferStatus=='失败'" readonly label="转账状态" v-model="item.transferStatus" input-align="right" /> | |||
<van-field v-if="item.transferStatus=='成功'||item.transferStatus=='失败'" readonly label="交易结果描述" v-model="item.causeFailure" input-align="right" /> | |||
</div> | |||
<p class="main_more" v-if="chargeItme.length>1 && showbtn" @click="listLength = chargeItme.length,showbtn=false">查看更多</p> | |||
<p class="main_more" v-if="chargeItme.length>1 && !showbtn" @click="listLength = 1,showbtn=true">收起列表</p> | |||
@@ -131,6 +133,7 @@ | |||
bankTypeDictionaries:[], | |||
projectList:[], | |||
projectFundTypeOptions:[], | |||
transferStatusOptions:[], | |||
projectFundTypeDictionaries:[], | |||
projectList:[], | |||
@@ -175,6 +178,12 @@ | |||
} | |||
this.projectFundTypeDictionaries = response.data; | |||
}); | |||
this.getDicts("transfer_status").then((response) => { | |||
this.transferStatusOptions = response.data; | |||
}); | |||
this.getDicts("bank_type_all").then(response => { | |||
this.bankTypeDictionaries = response.data; | |||
}); | |||
this.getDictionaries(); | |||
this.getFileList(); | |||
this.getTemplateList(); | |||
@@ -235,15 +244,11 @@ | |||
this.form = response.data; | |||
}); | |||
queryTransferDetail(this.$route.query.id).then((response) => { | |||
this.getDicts("bank_type_all").then(res => { | |||
for (var i = 0; i < res.data.length; i++) { | |||
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
} | |||
for (var j = 0 ; j < response.rows.length ; j++){ | |||
response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType); | |||
} | |||
this.chargeItme = response.rows; | |||
}); | |||
for (var j = 0 ; j < response.rows.length ; j++){ | |||
response.rows[j].bankTypeText = this.selectDictLabel(this.bankTypeDictionaries, response.rows[j].bankType); | |||
response.rows[j].transferStatus = this.selectDictLabel(this.transferStatusOptions, response.rows[j].transferStatus); | |||
} | |||
this.chargeItme = response.rows; | |||
this.getPayeeList(); | |||
}); | |||
}, | |||
@@ -21,7 +21,7 @@ | |||
finished-text="没有更多了" | |||
@load="getList"> | |||
<van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
<van-cell :title="item.payer" center :to="{name:'approvalDetail', query: {id:item.id}}"> | |||
<van-cell :title="item.payerAccount" center :to="{name:'approvalDetail', query: {id:item.id}}"> | |||
<template #icon> | |||
<van-icon name="../../../../../static/images/onlineHome/icon_yn1.png" size="30" color="#FF4646" style="margin-right: 10px;" /> | |||
</template> | |||
@@ -30,6 +30,11 @@ | |||
</template> | |||
<template #default> | |||
<p style="width: 80px;display: inline-block">{{item.auditStatus}}</p> | |||
<p v-if="item.auditStatus === '通过' && item.paymentState === '待支付'" style="color: #606266;width: 80px;display: inline-block">{{item.paymentState}}</p> | |||
<p v-else-if="item.paymentState === '银行受理'" style="width: 80px;display: inline-block">{{item.paymentState}}</p> | |||
<p v-else-if="(item.paymentState === '支付失败' || item.paymentState === '部分失败') && item.downId == null" style="color: #F56C6C;width: 80px;display: inline-block">{{item.paymentState}}-未重新申请</p> | |||
<p v-else-if="(item.paymentState === '支付失败' || item.paymentState === '部分失败') && item.downId != null" style="color: #E6A23C;width: 80px;display: inline-block">{{item.paymentState}}-已重新申请</p> | |||
<p v-else-if="item.paymentState === '支付成功'" style="color: #67C23A;width: 80px;display: inline-block">{{item.paymentState}}</p> | |||
</template> | |||
</van-cell> | |||
<template #right> | |||
@@ -46,6 +51,12 @@ | |||
<van-col> | |||
<van-button v-if="item.auditStatus=='待审'" square text="撤回" type="danger" @click="cancelApply(item)" class="delete-button" /> | |||
</van-col> | |||
<van-col> | |||
<van-button v-if="item.paymentState === '银行受理'" square text="核实结果" type="danger" @click="transactionStatusQuery(item.id)" class="delete-button" /> | |||
</van-col> | |||
<van-col> | |||
<van-button v-if="(item.paymentState === '支付失败' || item.paymentState === '部分失败') && item.downId == null" square text="重新申请" type="danger" @click="reapply(item.id)" class="delete-button" /> | |||
</van-col> | |||
</van-row> | |||
</template> | |||
</van-swipe-cell> | |||
@@ -54,13 +65,14 @@ | |||
</template> | |||
<script> | |||
import { listTransfer , customSubmit , delTransfer , updateTYinnongTransferFoStatus } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
import { listTransfer , customSubmit , delTransfer , updateTYinnongTransferFoStatus,transactionStatusQuery,reapply } from "@/api/onlineHome/bankAgriculture/paymentApproval"; | |||
export default { | |||
name: "approvalList", | |||
data() { | |||
return { | |||
applicationList:[], | |||
auditStatusOptions:[], | |||
paymentStateOptions:[], | |||
loading: false, | |||
finished: false, | |||
queryParams:{ | |||
@@ -75,6 +87,9 @@ export default { | |||
this.getDicts("audit_status").then((response) => { | |||
this.auditStatusOptions = response.data; | |||
}); | |||
this.getDicts("payment_state").then((response) => { | |||
this.paymentStateOptions = response.data; | |||
}); | |||
}, | |||
methods: { | |||
//金额千分符 会在整数后添加两个0 | |||
@@ -97,6 +112,7 @@ export default { | |||
console.log(response) | |||
for (var i = 0; i < response.rows.length; i++) { | |||
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus); | |||
response.rows[i].paymentState = this.selectDictLabel(this.paymentStateOptions, response.rows[i].paymentState); | |||
this.applicationList.push(response.rows[i]); | |||
} | |||
console.log(this.applicationList.length >= response.total) | |||
@@ -110,6 +126,38 @@ export default { | |||
}); | |||
}, 1000); | |||
}, | |||
reapply(id){ | |||
this.$dialog.confirm({ | |||
message: '您确认将单据中支付失败的记录重新申请?请先确保已根据详情中【交易结果描述】修改准确后,再执行此操作!', | |||
}) | |||
.then(() => { | |||
// on confirm | |||
reapply(id).then(res => { | |||
if(res.code = 200){ | |||
this.$toast.success('重新申请成功!'); | |||
} | |||
}); | |||
}) | |||
.catch(() => { | |||
// on cancel | |||
}); | |||
}, | |||
transactionStatusQuery(id){ | |||
this.$dialog.confirm({ | |||
message: '您确认查询单据的转账结果?', | |||
}) | |||
.then(() => { | |||
// on confirm | |||
transactionStatusQuery(id).then(res => { | |||
if(res.code = 200){ | |||
this.$toast.success('查询成功'); | |||
} | |||
}); | |||
}) | |||
.catch(() => { | |||
// on cancel | |||
}); | |||
}, | |||
deleteList(id,index){ | |||
this.$dialog.confirm({ | |||
message: '您确认删除草稿?', | |||
@@ -1,15 +1,9 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="$router.back(-1)" | |||
> | |||
<template #title> | |||
<p style="font-weight: bold;">添加宅基地使用权流转</p> | |||
</template> | |||
</van-nav-bar> | |||
<div class="header_main"> | |||
使用权流转 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
</div> | |||
<p class="main_title">转出方信息</p> | |||
<div class="main_box"> | |||
<!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>--> | |||
@@ -641,6 +635,38 @@ | |||
<style scoped lang="scss"> | |||
.app-container { | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
.main_title{ | |||
font-size: 0.4rem; | |||
@@ -1,15 +1,9 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="$router.back(-1)" | |||
> | |||
<template #title> | |||
<p style="font-weight: bold;">添加宅基地使用权流转</p> | |||
</template> | |||
</van-nav-bar> | |||
<div class="header_main"> | |||
使用权流转 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
</div> | |||
<p class="main_title">转出方信息</p> | |||
<div class="main_box"> | |||
<!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>--> | |||
@@ -670,6 +664,38 @@ | |||
<style scoped lang="scss"> | |||
.app-container { | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
.main_title{ | |||
font-size: 0.4rem; | |||
@@ -1,19 +1,10 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="$router.back(-1)" | |||
@click-right="goAdd" | |||
> | |||
<template #title> | |||
<p style="font-weight: bold;">使用权流转</p> | |||
</template> | |||
<template #right> | |||
<van-icon name="add" size="18" /> | |||
</template> | |||
</van-nav-bar> | |||
<div class="header_main"> | |||
使用权流转 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
<div class="add_btn" @click="goAdd"></div> | |||
</div> | |||
<van-list | |||
v-model="loading" | |||
:finished="finished" | |||
@@ -120,7 +111,38 @@ export default { | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding: 0.2rem 3%; | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
/deep/.van-cell__title{ | |||
flex: 0.7; | |||
@@ -1,15 +1,9 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="$router.back(-1)" | |||
> | |||
<template #title> | |||
<p style="font-weight: bold;">添加宅基地使用权流转</p> | |||
</template> | |||
</van-nav-bar> | |||
<div class="header_main"> | |||
使用权流转 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
</div> | |||
<p class="main_title">转出方信息</p> | |||
<div class="main_box"> | |||
<!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>--> | |||
@@ -670,6 +664,38 @@ | |||
<style scoped lang="scss"> | |||
.app-container { | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
.main_title{ | |||
font-size: 0.4rem; | |||
@@ -627,7 +627,7 @@ export default { | |||
padding-bottom: 2%; | |||
.header_main{ | |||
height: 116px; | |||
background: url('../../../../assets/images/sunVillage_info/list_head_green.png') no-repeat; | |||
background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
background-size: 100% 100%; | |||
position: fixed; | |||
top: 0; | |||
@@ -791,7 +791,7 @@ export default { | |||
padding-bottom: 2%; | |||
.header_main{ | |||
height: 116px; | |||
background: url('../../../../assets/images/sunVillage_info/list_head_green.png') no-repeat; | |||
background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
background-size: 100% 100%; | |||
position: fixed; | |||
top: 0; | |||
@@ -154,7 +154,7 @@ export default { | |||
.app-container { | |||
.header_main{ | |||
height: 116px; | |||
background: url('../../../../assets/images/sunVillage_info/list_head_green.png') no-repeat; | |||
background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
background-size: 100% 100%; | |||
position: fixed; | |||
top: 0; | |||
@@ -550,7 +550,7 @@ | |||
padding-bottom: 2%; | |||
.header_main{ | |||
height: 116px; | |||
background: url('../../../../assets/images/sunVillage_info/list_head_green.png') no-repeat; | |||
background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
background-size: 100% 100%; | |||
position: fixed; | |||
top: 0; | |||
@@ -101,7 +101,7 @@ | |||
|| row.houseApplyStatus == '3F' // 开工通过 | |||
|| row.houseApplyStatus == '71' // 验收草稿 | |||
? 'modify' : 'view'; | |||
this.$router.push({name:'applicationForm',query:{type:type,id:row.id}}) | |||
this.$router.push({name:'homesteadProposerLite',query:{type:type,id:row.id}}) | |||
}, | |||
getList(target){ | |||
let type = typeof (target); | |||
@@ -208,7 +208,7 @@ | |||
.app-container { | |||
.header_main{ | |||
height: 116px; | |||
background: url('../../../../assets/images/sunVillage_info/list_head_green.png') no-repeat; | |||
background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
background-size: 100% 100%; | |||
position: fixed; | |||
top: 0; | |||
@@ -1,27 +1,28 @@ | |||
<template> | |||
<div class="app-container"> | |||
<!-- <van-nav-bar--> | |||
<!-- left-arrow--> | |||
<!-- fixed--> | |||
<!-- placeholder--> | |||
<!-- @click-left="$router.back(-1)"--> | |||
<!-- @click-right="goAddLite()"--> | |||
<!-- >--> | |||
<!-- <template #title>--> | |||
<!-- <p style="font-weight: bold;">宅基地申请</p>--> | |||
<!-- </template>--> | |||
<!-- <template #right>--> | |||
<!-- <van-icon name="add" size="18"/>--> | |||
<!-- </template>--> | |||
<!-- </van-nav-bar>--> | |||
<div class="app-container"> | |||
<!-- <van-nav-bar--> | |||
<!-- left-arrow--> | |||
<!-- fixed--> | |||
<!-- placeholder--> | |||
<!-- @click-left="$router.back(-1)"--> | |||
<!-- @click-right="goAddLite()"--> | |||
<!-- >--> | |||
<!-- <template #title>--> | |||
<!-- <p style="font-weight: bold;">宅基地申请</p>--> | |||
<!-- </template>--> | |||
<!-- <template #right>--> | |||
<!-- <van-icon name="add" size="18"/>--> | |||
<!-- </template>--> | |||
<!-- </van-nav-bar>--> | |||
<div class="header_main"> | |||
宅基地申请 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
</div> | |||
<div class="header_main"> | |||
宅基地申请 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
<div class="add_btn" @click="goAddLite"></div> | |||
</div> | |||
<van-pull-refresh v-model="refreshing" @refresh="getList()"> | |||
<van-list | |||
<van-pull-refresh v-model="refreshing" @refresh="getList()"> | |||
<van-list | |||
v-model="loading" | |||
:finished="finished" | |||
finished-text="没有更多了" | |||
@@ -29,13 +30,13 @@ | |||
> | |||
<van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
<van-cell :title="item.ywh" center @click="viewItem(item)"> | |||
<!-- <van-cell :title="item.ywh" :value="item.houseApplyStatusName" center @click="viewItem(item)">--> | |||
<!-- <template #icon>--> | |||
<!-- <van-icon name="../../../static/images/onlineHome/icon_zjd1.png" size="30" color="#539FFD" style="margin-right: 10px;" />--> | |||
<!-- </template>--> | |||
<!-- <template #label>--> | |||
<!-- <p>{{item.projectName}}</p>--> | |||
<!-- </template>--> | |||
<!-- <van-cell :title="item.ywh" :value="item.houseApplyStatusName" center @click="viewItem(item)">--> | |||
<!-- <template #icon>--> | |||
<!-- <van-icon name="../../../static/images/onlineHome/icon_zjd1.png" size="30" color="#539FFD" style="margin-right: 10px;" />--> | |||
<!-- </template>--> | |||
<!-- <template #label>--> | |||
<!-- <p>{{item.projectName}}</p>--> | |||
<!-- </template>--> | |||
<template #icon> | |||
<van-icon name="../../../static/images/onlineHome/icon_zjd1.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
</template> | |||
@@ -48,147 +49,151 @@ | |||
</van-cell> | |||
<template #right> | |||
<van-row> | |||
<van-col> | |||
<van-button square text="许可证预览" v-if="parseInt(item.homeApplyStatus, 16) >= 0x31" type="info" :to="{name:'homeXkzPanel', query: {id:item.id, type: 'modify'}}" class="delete-button" /> | |||
<van-button square text="提交" type="primary" v-if="item.homeApplyStatus=='11' || item.homeApplyStatus=='31' || item.homeApplyStatus=='71'" @click="submitApplyProposer(item)" class="delete-button" /> | |||
</van-col> | |||
<van-col> | |||
<van-button square text="修改" type="info" v-if="item.homeApplyStatus=='11' || item.homeApplyStatus=='31' || item.homeApplyStatus=='71'" :to="{name:'homesteadProposerLite', query: {id:item.id, type: 'modify'}}" class="delete-button" /> | |||
</van-col> | |||
<van-col> | |||
<van-button square text="批准书预览" v-if="parseInt(item.homeApplyStatus, 16) >= 0x31" type="info" :to="{name:'homePzsPanel', query: {id:item.id, type: 'modify'}}" class="delete-button" /> | |||
<van-button square text="删除" type="danger" v-if="item.homeApplyStatus=='11'" @click="deleteList(item.id,index)" class="delete-button" /> | |||
</van-col> | |||
</van-row> | |||
</template> | |||
</van-swipe-cell> | |||
</van-list> | |||
</van-pull-refresh> | |||
</div> | |||
</van-pull-refresh> | |||
</div> | |||
</template> | |||
<script> | |||
import { getList , removeList } from "@/api/sunVillage_info/homestead/application"; | |||
import { customSubmitWLHT, submitStartWLHT, submitEndWLHT,} from "@/api/sunVillage_info/homestead/application"; | |||
import {updateOpretion} from "@/api/sunVillage_info/homestead/application"; | |||
import Cookies from "js-cookie"; | |||
export default { | |||
name: "applicationList", | |||
data() { | |||
return { | |||
applicationList:[], | |||
houseApplyStatus:[], | |||
loading: false, | |||
finished: false, | |||
refreshing: false, | |||
import { getList , removeList } from "@/api/sunVillage_info/homestead/application"; | |||
import { customSubmitWLHT, submitStartWLHT, submitEndWLHT,} from "@/api/sunVillage_info/homestead/application"; | |||
import {updateOpretion} from "@/api/sunVillage_info/homestead/application"; | |||
import Cookies from "js-cookie"; | |||
export default { | |||
name: "applicationList", | |||
data() { | |||
return { | |||
applicationList:[], | |||
houseApplyStatus:[], | |||
loading: false, | |||
finished: false, | |||
refreshing: false, | |||
deptId:null, | |||
idcard:null, | |||
total: 0, | |||
queryParams:{ | |||
pageNum:1, | |||
pageSize:10, | |||
deptId:null, | |||
idcard:null, | |||
total: 0, | |||
queryParams:{ | |||
pageNum:1, | |||
pageSize:10, | |||
deptId:null, | |||
orderByColumn:'createTime', | |||
isAsc:'desc' | |||
} | |||
}; | |||
orderByColumn:'createTime', | |||
isAsc:'desc' | |||
} | |||
}; | |||
}, | |||
created() { | |||
this.houseGetDicts("home_stage_status").then((response) => { | |||
this.houseApplyStatus = response.data; | |||
}); | |||
this.deptId = Cookies.get('deptId') | |||
this.idcard = Cookies.get('idcard') | |||
this.$set(this.queryParams, "deptId", this.deptId); | |||
this.$set(this.queryParams, "sqhhzsfzh", this.idcard); | |||
this.getList(); | |||
}, | |||
methods: { | |||
goAdd(){ | |||
window.location = 'applicationAdd'; | |||
}, | |||
created() { | |||
this.houseGetDicts("home_stage_status").then((response) => { | |||
this.houseApplyStatus = response.data; | |||
}); | |||
this.deptId = this.$store.state.user.loginDeptId; | |||
this.$set(this.queryParams, "deptId", this.deptId); | |||
this.getList(); | |||
goAddLite(){ | |||
//window.location = 'applicationAdd' | |||
this.$router.push({name:'homesteadProposerLite',query:{type:"add"}}) | |||
}, | |||
methods: { | |||
goAdd(){ | |||
window.location = 'applicationAdd'; | |||
}, | |||
goAddLite(){ | |||
//window.location = 'applicationAdd' | |||
this.$router.push({name:'sunVillageInfoProposerLite',query:{type:"add"}}) | |||
}, | |||
viewItem(row){ | |||
let type = row.houseApplyStatus == '11' // 申请草稿 | |||
viewItem(row){ | |||
let type = row.houseApplyStatus == '11' // 申请草稿 | |||
|| row.houseApplyStatus == '1F' // 申请通过 | |||
|| row.houseApplyStatus == '31' // 开工草稿 | |||
|| row.houseApplyStatus == '3F' // 开工通过 | |||
|| row.houseApplyStatus == '71' // 验收草稿 | |||
? 'modify' : 'view'; | |||
this.$router.push({name:'applicationForm',query:{type:type,id:row.id}}) | |||
}, | |||
getList(target){ | |||
let type = typeof (target); | |||
console.log(type, target); | |||
if(target && this.finished) | |||
return; | |||
if (target === 0) { | |||
this.refreshing = true; | |||
this.$router.push({name:'homesteadProposerLite',query:{type:type,id:row.id}}) | |||
}, | |||
getList(target){ | |||
let type = typeof (target); | |||
console.log(type, target); | |||
if(target && this.finished) | |||
return; | |||
if (target === 0) { | |||
this.refreshing = true; | |||
this.finished = true; | |||
this.total = 0; | |||
this.queryParams.pageNum = 1; | |||
this.applicationList = []; | |||
} | |||
else if (type === 'number') | |||
this.queryParams.pageNum = target; | |||
else if (type === 'string') { | |||
this.queryParams.pageNum = eval(this.queryParams.pageNum + target) | |||
} | |||
else | |||
{ | |||
this.refreshing = true; | |||
this.finished = true; | |||
this.total = 0; | |||
this.queryParams.pageNum = 1; | |||
this.applicationList = [] | |||
} | |||
getList(this.queryParams).then(response => { | |||
console.log(response) | |||
if (response.rows.length === 0) { | |||
this.finished = true; | |||
this.total = 0; | |||
this.queryParams.pageNum = 1; | |||
this.applicationList = []; | |||
return; | |||
} | |||
else if (type === 'number') | |||
this.queryParams.pageNum = target; | |||
else if (type === 'string') { | |||
this.queryParams.pageNum = eval(this.queryParams.pageNum + target) | |||
for (var i = 0; i < response.rows.length; i++) { | |||
/*var houseApplyStatusName = this.selectDictLabel(this.houseApplyStatus, response.rows[i].houseApplyStatus); | |||
// if(response.rows[i].auditStatus !== '0' && response.rows[i].auditStatus === '2'){ | |||
// houseApplyStatusName = houseApplyStatusName+ ' ● 已驳回'; | |||
// } | |||
response.rows[i].houseApplyStatusName = houseApplyStatusName;*/ | |||
this.applicationList.push(response.rows[i]); | |||
} | |||
else | |||
{ | |||
this.refreshing = true; | |||
this.finished = true; | |||
this.total = 0; | |||
this.queryParams.pageNum = 1; | |||
this.applicationList = [] | |||
} | |||
getList(this.queryParams).then(response => { | |||
console.log(response) | |||
if (response.rows.length === 0) { | |||
this.finished = true; | |||
return; | |||
} | |||
for (var i = 0; i < response.rows.length; i++) { | |||
/*var houseApplyStatusName = this.selectDictLabel(this.houseApplyStatus, response.rows[i].houseApplyStatus); | |||
// if(response.rows[i].auditStatus !== '0' && response.rows[i].auditStatus === '2'){ | |||
// houseApplyStatusName = houseApplyStatusName+ ' ● 已驳回'; | |||
// } | |||
response.rows[i].houseApplyStatusName = houseApplyStatusName;*/ | |||
this.applicationList.push(response.rows[i]); | |||
this.total += response.rows.length; | |||
this.finished = this.total >= response.total; | |||
}).finally(() => { | |||
this.loading = false; | |||
this.refreshing = false; | |||
}); | |||
}, | |||
formatDict(dict, value) { | |||
return this.selectDictLabel(dict, value); | |||
}, | |||
deleteList(id,index){ | |||
this.$dialog.confirm({ | |||
message: '您确认删除申请草稿?', | |||
}) | |||
.then(() => { | |||
// on confirm | |||
this.applicationList.splice(index,1) | |||
removeList(id).then(res => { | |||
if(res.code = 200){ | |||
this.$toast.success('删除成功'); | |||
} | |||
this.total += response.rows.length; | |||
this.finished = this.total >= response.total; | |||
}).finally(() => { | |||
this.loading = false; | |||
this.refreshing = false; | |||
}); | |||
}, | |||
formatDict(dict, value) { | |||
return this.selectDictLabel(dict, value); | |||
}, | |||
deleteList(id,index){ | |||
this.$dialog.confirm({ | |||
message: '您确认删除申请草稿?', | |||
}) | |||
.then(() => { | |||
// on confirm | |||
this.applicationList.splice(index,1) | |||
removeList(id).then(res => { | |||
if(res.code = 200){ | |||
this.$toast.success('删除成功'); | |||
} | |||
}); | |||
}) | |||
.catch(() => { | |||
// on cancel | |||
}); | |||
}, | |||
refresh() { | |||
this.getList(); return; | |||
this.applicationList = []; | |||
this.queryParams.pageNum = 1; | |||
this.refreshing = true; | |||
this.finished = false; | |||
}, | |||
submitApplyProposer(item) { | |||
this.$router.push({name:'sunVillageInfoProposerLite',query:{type:"edit",id:item.id}}) | |||
}) | |||
.catch(() => { | |||
// on cancel | |||
}); | |||
}, | |||
refresh() { | |||
this.getList(); return; | |||
this.applicationList = []; | |||
this.queryParams.pageNum = 1; | |||
this.refreshing = true; | |||
this.finished = false; | |||
}, | |||
submitApplyProposer(item) { | |||
this.$router.push({name:'homesteadProposerLite',query:{type:"edit",id:item.id}}) | |||
// if(item.homeApplyStatus === '11'){ | |||
// customSubmitWLHT(item.id).then((resp) => { | |||
// this.$toast.success("提交成功"); | |||
@@ -211,45 +216,45 @@ | |||
// this.$toast.fail("提交失败!"); | |||
// }); | |||
// } | |||
}, | |||
}, | |||
} | |||
}, | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.app-container { | |||
.header_main{ | |||
height: 116px; | |||
background: url('../../../../assets/images/sunVillage_info/list_head_green.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
/deep/.van-list{ | |||
padding: 0.2rem 3%; | |||
@@ -0,0 +1,726 @@ | |||
<template> | |||
<div class="app-container"> | |||
<!-- <van-nav-bar--> | |||
<!-- left-arrow--> | |||
<!-- fixed--> | |||
<!-- placeholder--> | |||
<!-- @click-left="$router.back(-1)"--> | |||
<!-- >--> | |||
<!-- <template #title>--> | |||
<!-- <p style="font-weight: bold;">添加有偿退出</p>--> | |||
<!-- </template>--> | |||
<!-- </van-nav-bar>--> | |||
<div class="header_main"> | |||
添加有偿退出 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
<!-- <div class="add_btn" @click="goAdd"></div>--> | |||
</div> | |||
<p class="main_title">申请人基本信息</p> | |||
<van-form ref="_Form"> | |||
<div class="main_box"> | |||
<!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>--> | |||
<van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required @input="remoteTransfereeMethod" /> | |||
<div id="dropList" v-show="showDropList" style="width: 92vw; position: absolute; z-index: 99; left: 50%; margin-left: -46vw; border: 1px solid #E2E0E0;" > | |||
<van-cell id="vanCell" v-for="(item, index) in getObligeeOptions" :key="index" @click="shyqrdmxmChange(item)" style="position: relative; z-index: 999;"> | |||
{{item.sqrxm}} | |||
</van-cell> | |||
</div> | |||
<!-- <van-field--> | |||
<!-- readonly--> | |||
<!-- clickable--> | |||
<!-- v-model="circulation.zjddm"--> | |||
<!-- label="宅基地代码"--> | |||
<!-- placeholder="请选择"--> | |||
<!-- @click="remoteProposerMethod"--> | |||
<!-- input-align="right"--> | |||
<!-- right-icon="arrow-down" :rules="[{ required: true }]" required--> | |||
<!-- />--> | |||
<!-- <van-popup v-model="showzjddm" position="bottom">--> | |||
<!-- <van-picker--> | |||
<!-- show-toolbar--> | |||
<!-- :columns="zjdDictionaries"--> | |||
<!-- value-key="zjddm"--> | |||
<!-- @confirm="onConfirmZjddm"--> | |||
<!-- @cancel="showzjddm = false"--> | |||
<!-- />--> | |||
<!-- </van-popup>--> | |||
<van-field | |||
v-model="circulation.zjddm" | |||
label="宅基地代码" | |||
input-align="right" | |||
:rules="[{ required: true }]" | |||
required | |||
> | |||
<template #button> | |||
<van-icon name="../../../static/images/22.png" color="#539FFD" size="20" @click="mapLook"/> | |||
</template> | |||
</van-field> | |||
<van-field | |||
readonly | |||
clickable | |||
v-model="xb" | |||
label="性别" | |||
placeholder="请选择" | |||
@click="showxb = true" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" :rules="[{ required: true }]" required | |||
/> | |||
<van-popup v-model="showxb" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="xbDictionaries" | |||
@confirm="onConfirmXb" | |||
@cancel="showxb = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<van-field v-model="circulation.lxdh" label="联系电话" placeholder="联系电话" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<field-select | |||
v-model="circulation.gyqk" | |||
label="共有情况" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择共有情况" | |||
:rules="[{ required: true }]" | |||
required | |||
remote-url="/open/zdzh/list/house_yes_no" | |||
:on-remote-response="'data'" | |||
/> | |||
<van-field v-model="circulation.hkszd" label="户口所在地" placeholder="户口所在地" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
</div> | |||
<p class="main_title">拟申请退出宅基地</p> | |||
<van-field v-model="circulation.tcmj" label="面积(㎡)" placeholder="请输入面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/> | |||
<field-select | |||
v-model="circulation.xz" | |||
label="现状" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择现状" | |||
:rules="[{ required: true }]" | |||
required | |||
remote-url="/open/zdzh/list/dsxz" | |||
:on-remote-response="'data'" | |||
/> | |||
<van-field v-model="circulation.zjdszd" label="东至" placeholder="东至" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<van-field v-model="circulation.zjdszn" label="南至" placeholder="南至" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<van-field v-model="circulation.zjdszx" label="西至" placeholder="西至" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<van-field v-model="circulation.zjdszb" label="北至" placeholder="北至" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<field-select | |||
v-model="circulation.dldm" | |||
label="地类" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择现状" | |||
:rules="[{ required: true }]" | |||
required | |||
remote-url="/open/zdzh/list/geographic_type" | |||
:on-remote-response="'data'" | |||
/> | |||
<p class="main_title">退出宅基地情况</p> | |||
<van-field v-model="circulation.tcmj" label="退出面积(㎡)" placeholder="请输入退出面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/> | |||
<van-field v-model="circulation.jzmj" label="建筑面积(㎡)" placeholder="请输入建筑面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/> | |||
<div class="main_box"> | |||
<van-field | |||
readonly | |||
clickable | |||
v-model="tcqllx" | |||
label="退出权利类型" | |||
placeholder="请选择退出权利类型" | |||
@click="showtcqllx = true" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" :rules="[{ required: true }]" required | |||
/> | |||
<van-popup v-model="showtcqllx" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="tcqllxDictionaries" | |||
@confirm="onConfirmTcqllx" | |||
@cancel="showtcqllx = false" | |||
/> | |||
</van-popup> | |||
<!--<van-field | |||
readonly | |||
clickable | |||
v-model="tclx" | |||
label="退出类型" | |||
placeholder="请选择退出类型" | |||
@click="showtclx = true" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" :rules="[{ required: true }]" required | |||
/> | |||
<van-popup v-model="showtclx" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="tclxDictionaries" | |||
@confirm="onConfirmTclx" | |||
@cancel="showtclx = false" | |||
/> | |||
</van-popup>--> | |||
<van-field | |||
readonly | |||
clickable | |||
v-model="tcfs" | |||
label="退出方式" | |||
placeholder="请选择退出方式" | |||
@click="showtcfs = true" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" :rules="[{ required: true }]" required | |||
/> | |||
<van-popup v-model="showtcfs" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="tcfsDictionaries" | |||
@confirm="onConfirmTcfs" | |||
@cancel="showtcfs = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="circulation.tcqszsh" label="权属证书号" placeholder="请输入权属证书号" input-align="right" label-width="auto" /> | |||
</div> | |||
<p class="main_title">现居住情况</p> | |||
<van-field v-model="circulation.xjzmj" label="建筑面积(㎡)" placeholder="请输入建筑面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/> | |||
<van-field v-model="circulation.xqszsh" label="权属证书号" placeholder="请输入权属证书号" input-align="right" label-width="auto" /> | |||
<van-field v-model="circulation.xjzdd" label="居住地点" placeholder="请输入居住地点" input-align="right" label-width="auto" /> | |||
<p class="main_title">补偿信息</p> | |||
<van-field v-model="circulation.bcje" label="宅基地补偿" placeholder="宅基地补偿" input-align="right" label-width="auto" type="number"/> | |||
<van-field v-model="circulation.dmfzwbc" label="地面附着物补偿" placeholder="地面附着物补偿" input-align="right" label-width="auto" type="number"/> | |||
<field-select | |||
v-model="circulation.yctcfs" | |||
label="退出类型" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择退出类型" | |||
remote-url="/open/zdzh/list/yctcfs" | |||
:on-remote-response="'data'" | |||
/> | |||
<field-select | |||
v-model="circulation.bcfs" | |||
label="补偿方式" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择退出类型" | |||
remote-url="/open/zdzh/list/bcfs" | |||
:on-remote-response="'data'" | |||
/> | |||
<field-date-picker | |||
v-model="circulation.bcsj" | |||
label="补偿时间" | |||
placeholder="选择日期" | |||
formatter="yyyy-MM-dd" | |||
/> | |||
<p class="main_title">其他</p> | |||
<van-field v-model="circulation.sqly" label="申请理由" placeholder="请输入申请理由" input-align="right" label-width="auto"/> | |||
<field-date-picker | |||
v-model="circulation.sqrq" | |||
label="申请日期" | |||
placeholder="选择日期" | |||
:rules="[{ required: true }]" | |||
formatter="yyyy-MM-dd" | |||
required | |||
/> | |||
<van-field v-model="circulation.jbrxm" label="经办人姓名" placeholder="请输入经办人姓名" input-align="right" label-width="auto"/> | |||
<field-date-picker | |||
v-model="circulation.pzrq" | |||
label="批准日期" | |||
placeholder="选择日期" | |||
:rules="[{ required: true }]" | |||
formatter="yyyy-MM-dd" | |||
required | |||
/> | |||
<field-date-picker | |||
v-model="circulation.barq" | |||
label="备案日期" | |||
placeholder="选择日期" | |||
:rules="[{ required: true }]" | |||
formatter="yyyy-MM-dd" | |||
required | |||
/> | |||
<van-dialog v-model="mapShow" show-cancel-button> | |||
<MapGisObtainTc ref="zjdProductResh" :shqrxm="circulation.sqrxm" :landStatus="landStatus" :deptId="sysFarmer.deptId" @closeMoule="closeMoule"></MapGisObtainTc> | |||
</van-dialog> | |||
<!-- 3组附件 --> | |||
<van-popup | |||
v-model="attachmentVisible" | |||
closeable | |||
position="top" | |||
:style="{ height: '61.8%' }" | |||
:close-on-click-overlay="proposerStatus == 1" | |||
:lazy-render="false" | |||
> | |||
<van-tabs type="card" style="padding-top: 1.35rem;" color="#1D6FE9" :lazy-render="false" v-model="attachmentActive" ref="attachmentDialog"> | |||
<van-tab title="退出附件" key="0"> | |||
<home-apply-upload-comp | |||
:business-type="houseApplyUploadComp.businessType" | |||
:house-apply-status="houseApplyUploadComp.homeApplyStatus" | |||
:process-key="houseApplyUploadComp.processKey" | |||
:proposer-id="houseApplyUploadComp.proposerId" | |||
:table-name="houseApplyUploadComp.tableName" | |||
:readonly="houseApplyUploadComp.readonly" | |||
:userName="sysFarmer.memberName" | |||
:full="houseApplyUploadComp.full" | |||
@uploadFinished="onUploadFinished" | |||
> | |||
</home-apply-upload-comp> | |||
</van-tab> | |||
</van-tabs> | |||
</van-popup> | |||
</van-form> | |||
<van-goods-action style="z-index: 999;"> | |||
<van-goods-action-icon icon="label-o" text="附件" @click="openAttachment" color="#1D6FE9" /> | |||
<van-goods-action-button type="info" text="保存" @click="goSubmit(false)" /> | |||
<van-goods-action-button type="info" text="提交" @click="goSubmit(true)"/> | |||
</van-goods-action> | |||
</div> | |||
</template> | |||
<script> | |||
import { getShyqrs,dyAdd,zyyctcApply,getByLyZjddm,listHomesteadnmfw} from "@/api/sunVillage_info/homestead/paidExit"; | |||
import HomeApplyUploadComp from "@/components/home/HomeApplyUploadComp"; | |||
import FieldSelect from "@/components/form/FieldSelect"; | |||
import FieldDatePicker from "@/components/form/FieldDatePicker"; | |||
import {formatDate} from "element-ui/src/utils/date-util.js"; | |||
import { } from "@/api/onlineHome/homestead/paidExit"; | |||
import {Notify} from "vant"; | |||
import MapGisObtainTc from "@/components/Map/MapGisObtainTc"; | |||
import Cookies from "js-cookie"; | |||
const PROPOSER_VIEW = 1; | |||
// 工作流名称 | |||
const PROPOSER_STAGE_BASE_APPLY_ACTIVITY = 'home_usetc'; | |||
// 附件表名 | |||
const PROPOSER_STAGE_BASE_APPLY_TABLE = 't_homeuse_zyyctc'; | |||
// 其他 | |||
const PROPOSER_MODULE = 'home'; | |||
export default { | |||
name: "paidExitAdd", | |||
components: { MapGisObtainTc,FieldSelect,FieldDatePicker,HomeApplyUploadComp }, | |||
data() { | |||
return { | |||
tcqllxDictionaries:[],//退出权利类型 | |||
tclxDictionaries:[],//退出类型 | |||
tcfsDictionaries:[],//退出方式 | |||
yctcfsDictionaries:[],//有偿退出方式 | |||
xbDictionaries:[],//申请人证件类型 | |||
bcfsDictionaries:[],//补偿方式 | |||
zjdDictionaries:[],//宅基地代码 | |||
getObligeeOptions:[],//下拉框列表 | |||
sysFarmer:{deptId:this.$store.state.user.loginDeptId,memberName:this.$store.state.user.nickName}, | |||
tcqllx:'整体退出', | |||
tclx:'有偿退出', | |||
tcfs:'使用权', | |||
yctcfs:'暂时退出', | |||
xb:'男', | |||
bcfs:'', | |||
zjddm:'', | |||
landStatus:"1", | |||
showtcqllx: false, | |||
showtclx: false, | |||
showtcfs: false, | |||
showyctcfs: false, | |||
showxb: false, | |||
showbcfs: false, | |||
showzjddm: false, | |||
showDropList: false,//是否显示下拉框 | |||
attachmentVisible:false, | |||
active: 0, | |||
// 表单意图 | |||
proposerStatus: PROPOSER_VIEW, | |||
// 家庭成员tab | |||
familyMembersActive: 0, | |||
circulation:{ | |||
// 申请类型 1-宅基地退出 | |||
sqlx: '1', | |||
xb:"1", | |||
gyqk:"1", | |||
xz:"1", | |||
tcfs:"01", | |||
jzmj:0.00, | |||
tcqllx:"01", | |||
xjzmj:0.00, | |||
dldm:"10", | |||
// 退出类型 01-有偿退出 02-无偿退出 | |||
tclx: '01', | |||
}, | |||
// 当前附件tab | |||
attachmentActive: 0, | |||
// 申请附件树 | |||
houseApplyUploadComp: { | |||
businessType: PROPOSER_MODULE, | |||
proposerId: -1, | |||
homeApplyStatus: "11", | |||
processKey: PROPOSER_STAGE_BASE_APPLY_ACTIVITY, | |||
tableName: PROPOSER_STAGE_BASE_APPLY_TABLE, | |||
attachmentList: [], | |||
readonly: false, | |||
full: false, | |||
}, | |||
mapShow: false, | |||
}; | |||
}, | |||
created() { | |||
this.getDictionaries(); | |||
}, | |||
methods: { | |||
getDictionaries(){ | |||
//退出权利类型 | |||
this.houseGetDicts("tcqllx").then((res) => { | |||
for(var i = 0 ; i < res.data.length ; i++){ | |||
this.tcqllxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
} | |||
}); | |||
//退出类型 | |||
/*this.houseGetDicts("tclx").then((res) => { | |||
for(var i = 0 ; i < res.data.length ; i++){ | |||
this.tclxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
} | |||
});*/ | |||
//退出方式 | |||
this.houseGetDicts("tcfs").then((res) => { | |||
for(var i = 0 ; i < res.data.length ; i++){ | |||
this.tcfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
} | |||
}); | |||
//申请人证件类型 | |||
this.houseGetDicts("sys_user_sex").then((res) => { | |||
for(var i = 0 ; i < res.data.length ; i++){ | |||
this.xbDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
} | |||
}); | |||
//补偿方式 | |||
this.houseGetDicts("bcfs").then((res) => { | |||
for(var i = 0 ; i < res.data.length ; i++){ | |||
this.bcfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue}); | |||
} | |||
}); | |||
this.$set(this.circulation, 'yctcfs', "1"); | |||
this.$set(this.circulation, 'bcfs', "01"); | |||
this.$set(this.circulation, 'bcje', 0.00); | |||
this.$set(this.circulation, 'dmfzwbc', 0.00); | |||
//宅基地代码 | |||
/*zjdzd().then(zjdRes => { | |||
for( let i = 0 ; i < zjdRes.rows.length ; i++){ | |||
this.zjdDictionaries.push(zjdRes.rows[i].zjddm); | |||
} | |||
if(this.zjdDictionaries.length > 0) | |||
this.onConfirmZjddm(this.zjdDictionaries[0]); | |||
});*/ | |||
// getExitProposerDetail().then(res => { | |||
// if (res.data) { | |||
// let data = res.data; | |||
// this.$set(this.circulation, 'sqrxm', data.shyqrdbxm); | |||
// this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm); | |||
// this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx); | |||
// if(data.shyqrdbzjlx) { | |||
// let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx); | |||
// if(val) | |||
// this.zjlx = val.text; | |||
// } | |||
// } | |||
// }); | |||
}, | |||
/*onConfirmZjddm(data){ | |||
console.log(data) | |||
this.circulation.zjddm = data; | |||
this.showzjddm = false; | |||
getByZjddm({zjddm: data,}).then(qlrRes => { | |||
let data = qlrRes.data; | |||
console.log(data) | |||
this.$set(this.circulation, 'sqrxm', data.shyqrdbxm); | |||
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm); | |||
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx); | |||
if(data.shyqrdbzjlx) | |||
{ | |||
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx); | |||
if(val) | |||
this.zjlx = val.text; | |||
} | |||
this.$forceUpdate(); | |||
}); | |||
},*/ | |||
// 初次申请草稿的附件上传 | |||
onUploadFinished(fileIdList) { | |||
this.$set(this.circulation, "fileList", fileIdList); | |||
}, | |||
onConfirmZjddm(data){ | |||
console.log(data); | |||
this.showzjddm = false; | |||
if (data) { | |||
this.$set(this.circulation, 'zjddm', data.zjddm); | |||
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm); | |||
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx); | |||
if(data.shyqrdbzjlx) | |||
{ | |||
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx); | |||
if(val) | |||
this.zjlx = val.text; | |||
} | |||
} | |||
// this.$forceUpdate(); | |||
}, | |||
onConfirmXb(data){ | |||
this.xb = data.text; | |||
this.circulation.xb = data.value; | |||
this.showxb = false; | |||
}, | |||
onConfirmTcqllx(data){ | |||
this.tcqllx = data.text; | |||
this.circulation.tcqllx = data.value; | |||
this.showtcqllx = false; | |||
}, | |||
/*onConfirmTclx(data){ | |||
this.tclx = data.text; | |||
this.circulation.tclx = data.value; | |||
this.showtclx = false; | |||
},*/ | |||
onConfirmTcfs(data){ | |||
this.tcfs = data.text; | |||
this.circulation.tcfs = data.value; | |||
this.showtcfs = false; | |||
}, | |||
onConfirmYctcfs(data){ | |||
this.yctcfs = data.text; | |||
this.circulation.yctcfs = data.value; | |||
this.showyctcfs = false; | |||
}, | |||
onConfirmBcfs(data){ | |||
this.bcfs = data.text; | |||
this.circulation.bcfs = data.value; | |||
this.showbcfs = false; | |||
}, | |||
goSubmit(submit){ | |||
console.log(this.circulation); | |||
this.$refs._Form.validate().then(() => { | |||
// 设置初始状态为草稿,0 代表草稿 | |||
this.$set(this.circulation, "auditStatus", '0'); | |||
dyAdd(this.circulation).then(response => { | |||
if(response.code = 200){ | |||
if(submit) | |||
{ | |||
zyyctcApply(response.data).then((resp) => { | |||
this.$toast.success('提交成功'); | |||
this.back(); | |||
}); | |||
} | |||
else { | |||
this.$toast.success('保存成功'); | |||
this.back(); | |||
} | |||
} | |||
}) | |||
}).catch((e) => { | |||
Notify({ type: 'danger', message: '请填写完整的表单项' }); | |||
}); | |||
}, | |||
back() { | |||
setTimeout(() => this.$router.back(-1), 1000) | |||
}, | |||
remoteProposerMethod() { | |||
this.showzjddm = true; | |||
this.zjdDictionaries = []; | |||
if (this.circulation.sqrxm) { | |||
getShyqrs({shyqrdbxm:this.circulation.sqrxm}).then(response => { | |||
this.zjdDictionaries = response.data.map(item => { | |||
return { | |||
zjddm: item.zjddm, | |||
shyqrdbxm: item.shyqrdbxm, | |||
shyqrdbzjlx: item.shyqrdbzjlx, | |||
shyqrdbzjhm: item.shyqrdbzjhm | |||
} | |||
}); | |||
}); | |||
} else { | |||
this.zjdDictionaries = []; | |||
} | |||
}, | |||
/** 模糊查询人员信息 */ | |||
remoteTransfereeMethod(query) { | |||
if (query !== "") { | |||
getShyqrs({shyqrdbxm:query,status:1}).then((response) => { | |||
if (response.code == 200) { | |||
this.getObligeeOptions = response.rows.map(function (item) { | |||
return { | |||
sqrxm:item.shyqrdbxm, | |||
sqrxb:item.xb, | |||
sqrzjhm:item.shyqrdbzjhm, | |||
sqrnhdm:item.nhdm, | |||
sqrzjlx:item.shyqrdbzjlx, | |||
sqrdh:item.dh, | |||
gyfs:item.gyfs, | |||
dz:item.dz, | |||
deptId:item.deptId, | |||
deptName:item.deptName, | |||
} | |||
}) | |||
//设置模糊查询的下拉框和滚动条 | |||
if (this.getObligeeOptions.length > 0) { | |||
this.showDropList = true; // div显示会阻挡下边的选择框和输入框,showDropList控制下拉框是否显示 | |||
//设置模糊查询的和滚动条 | |||
this.$nextTick(() => { | |||
if (this.getObligeeOptions.length > 4) { | |||
let height = document.getElementById("vanCell").offsetHeight * 4; | |||
document.getElementById("dropList").style.height = height + "px"; | |||
document.getElementById("dropList").style.overflow = "scroll"; | |||
} else { | |||
document.getElementById("dropList").style.height = ""; | |||
document.getElementById("dropList").style.overflow = "visible"; | |||
} | |||
}); | |||
} else { | |||
this.showDropList = false; | |||
} | |||
} | |||
}); | |||
} else { | |||
this.getObligeeOptions = []; | |||
this.showDropList = false; | |||
} | |||
}, | |||
// 打开附件树 | |||
openAttachment() { | |||
this.attachmentVisible = true; | |||
if(this.attachmentActive == this.active) | |||
this.$nextTick(() => { | |||
this.$refs.attachmentDialog.scrollTo(this.active); | |||
}); | |||
}, | |||
shyqrdmxmChange(val){ | |||
this.$set(this.circulation, "sqrxm", val.sqrxm); | |||
this.$set(this.circulation, "deptId", val.deptId); | |||
this.$set(this.circulation, "deptName", val.deptName); | |||
this.$set(this.circulation, "sqrzjhm", val.sqrzjhm); | |||
this.$set(this.circulation, "sqrzjlx", val.sqrzjlx); | |||
this.$set(this.circulation, "sqrnhdm", val.sqrnhdm); | |||
this.$set(this.circulation, "gyqk", val.gyfs); | |||
this.$set(this.circulation, "xb", val.sqrxb); | |||
this.$set(this.circulation, "lxdh", val.sqrdh); | |||
this.$set(this.circulation, "hkszd", val.dz); | |||
this.getObligeeOptions=[]; | |||
this.showDropList = false; | |||
}, | |||
mapLook(){ | |||
this.mapShow = true; | |||
setTimeout(() => { | |||
this.$refs.zjdProductResh.drawingLyPaceCountryDarw(); | |||
},1000); | |||
}, | |||
// 获取日期, yyyy-MM-dd | |||
getDate(d) { | |||
return formatDate(d ? d : new Date(), 'yyyy-MM-dd'); | |||
}, | |||
/** 查找地图中宅基地 */ | |||
closeMoule: function (data) { | |||
this.circulation.zjddm = data; | |||
let _this = this; | |||
let handlerTime = this.getDate(); | |||
this.$set(this.circulation, "sqrq", handlerTime); | |||
this.$set(this.circulation, "pzrq", handlerTime); | |||
this.$set(this.circulation, "barq", handlerTime); | |||
getByLyZjddm(data).then((response) => { | |||
this.$set(this.circulation, "ntcmj", response.data.zdmj); | |||
this.$set(this.circulation, "tcmj", response.data.zdmj); | |||
this.$set(this.circulation, "zjdszd", response.data.zdszd); | |||
this.$set(this.circulation, "zjdszn", response.data.zdszn); | |||
this.$set(this.circulation, "zjdszx", response.data.zdszx); | |||
this.$set(this.circulation, "zjdszb", response.data.zdszb); | |||
this.$set(this.circulation, "theGeomJson", response.data.theGeomJson); | |||
this.$set(this.circulation, "tcqszsh", response.data.zsh); | |||
listHomesteadnmfw({zjddm: data}).then((res) => { | |||
res.rows.map(function(item){ | |||
_this.$set(_this.circulation, "jzmj", Number(_this.circulation.jzmj) + Number(item.jzmj)); | |||
_this.$set(_this.circulation, "xjzmj", Number(_this.circulation.xjzmj) + Number(item.jzmj)); | |||
}); | |||
}); | |||
// const baseImgUrl = this.$store.getters.baseRoutingUrl; | |||
if(response.data.zdt != null && response.data.zdt !== ""){ | |||
this.$set(this.form, "xzzp", response.rows[0].zdt); | |||
} | |||
}); | |||
}, | |||
}, | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding-bottom: 2%; | |||
.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; | |||
margin-bottom: 2%; | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
.main_title{ | |||
font-size: 0.4rem; | |||
color: #1D6FE9; | |||
margin: 0.2rem 6%; | |||
position: relative; | |||
} | |||
.main_box{ | |||
width: 96%; | |||
margin: 0 auto; | |||
border-radius: 6px; | |||
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
overflow: hidden; | |||
background-color: #FFF; | |||
} | |||
.submitButton{ | |||
width: 80%; | |||
margin: 0 auto; | |||
background-color: #1D6FE9; | |||
} | |||
/*#dropList::-webkit-scrollbar {*/ | |||
/* !*滚动条整体样式*!*/ | |||
/* width: 5px; !*高宽分别对应横竖滚动条的尺寸*!*/ | |||
/* height: 1px;*/ | |||
/*}*/ | |||
/*#dropList::-webkit-scrollbar-thumb {*/ | |||
/* !*滚动条里面小方块*!*/ | |||
/* border-radius: 10px;*/ | |||
/* background: #fff;*/ | |||
/* box-shadow: inset 0 0 5px rgb(0, 122, 204);*/ | |||
/*}*/ | |||
/*#dropList::-webkit-scrollbar-track {*/ | |||
/* border-radius: 10px;*/ | |||
/* background: #fff;*/ | |||
/* !*滚动条里面轨道*!*/ | |||
/* box-shadow: inset 0 0 5px rgba( 0, 0, 0, .1);*/ | |||
/*}*/ | |||
</style> |
@@ -798,10 +798,9 @@ | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding-bottom: 2%; | |||
.header_main{ | |||
height: 116px; | |||
background: url('../../../../assets/images/sunVillage_info/list_head_green.png') no-repeat; | |||
background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
background-size: 100% 100%; | |||
position: fixed; | |||
top: 0; | |||
@@ -812,7 +811,6 @@ | |||
text-align: center; | |||
color: #fff; | |||
position: relative; | |||
margin-bottom: 2%; | |||
.return_btn{ | |||
width: 24px; | |||
height: 43.2px; | |||
@@ -1,23 +1,10 @@ | |||
<template> | |||
<div class="app-container"> | |||
<!-- <van-nav-bar--> | |||
<!-- left-arrow--> | |||
<!-- fixed--> | |||
<!-- placeholder--> | |||
<!-- @click-left="$router.back(-1)"--> | |||
<!-- @click-right="goAdd"--> | |||
<!-- >--> | |||
<!-- <template #title>--> | |||
<!-- <p style="font-weight: bold;">有偿退出</p>--> | |||
<!-- </template>--> | |||
<!-- <template #right>--> | |||
<!-- <van-icon name="add" size="18" />--> | |||
<!-- </template>--> | |||
<!-- </van-nav-bar>--> | |||
<div class="header_main"> | |||
有偿退出 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
<div class="add_btn" @click="goAdd"></div> | |||
</div> | |||
<van-list | |||
@@ -27,7 +14,7 @@ | |||
@load="getList" | |||
> | |||
<van-swipe-cell v-for="(item,index) in applicationList" :key="index"> | |||
<van-cell :title="item.zjddm" :value="item.auditStatus" center :to="{name:'paidExitDetail', query: {id:item.id}}" > | |||
<van-cell :title="item.zjddm" :value="selectDictLabel(auditStatus, item.auditStatus)" center :to="{name:'paidExitDetail', query: {id:item.id}}" > | |||
<template #icon> | |||
<van-icon name="../../../static/images/onlineHome/icon_zjd3.png" size="30" color="#539FFD" style="margin-right: 10px;" /> | |||
</template> | |||
@@ -35,6 +22,19 @@ | |||
<p><b style="color: #539FFD;">{{item.tcfs}}</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">{{item.sqrxm}}</b><i style="margin-right: 0.5rem;"></i>{{item.tcmj}}㎡</p> | |||
</template> | |||
</van-cell> | |||
<template #right> | |||
<van-row> | |||
<van-col> | |||
<van-button square text="修改" v-if="item.auditStatus=='0'" :to="{name:'homesteadPaidExitModify', query: {id:item.id}}" type="info" class="delete-button" /> | |||
</van-col> | |||
<van-col> | |||
<van-button square text="提交" type="primary" v-if="item.auditStatus=='0'" class="delete-button" @click="goSubmit(item)" /> | |||
</van-col> | |||
<van-col> | |||
<van-button square text="删除" v-if="item.auditStatus=='0'" @click="deleteList(item.id,index)" type="danger" class="delete-button" /> | |||
</van-col> | |||
</van-row> | |||
</template> | |||
</van-swipe-cell> | |||
</van-list> | |||
</div> | |||
@@ -91,6 +91,9 @@ | |||
}); | |||
}, | |||
methods: { | |||
goAdd(){ | |||
window.location = '/homesteadPaidExitAdd'; | |||
}, | |||
getList(){ | |||
setTimeout(() => { | |||
this.deptId = this.$store.state.user.loginDeptId; | |||
@@ -100,9 +103,9 @@ | |||
response.rows[i].tclx = this.selectDictLabel(this.tcqllxStatus, response.rows[i].tclx) | |||
response.rows[i].tclx = this.selectDictLabel(this.tclxStatus, response.rows[i].tclx) | |||
response.rows[i].tcfs = this.selectDictLabel(this.tcfsStatus, response.rows[i].tcfs) | |||
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus) | |||
this.applicationList.push(response.rows[i]); | |||
} | |||
console.info(this.applicationList); | |||
if(this.applicationList.length >= response.total){ | |||
this.finished = true; | |||
return; | |||
@@ -138,7 +141,7 @@ | |||
if (response.code = 200) { | |||
this.$toast.success('提交成功'); | |||
setTimeout(function () { | |||
window.location.replace("/sunVillage_info/paidExit/paidExitList") | |||
window.location.replace("/paidExit") | |||
}, 1000) | |||
} | |||
}) | |||
@@ -151,7 +154,7 @@ | |||
.app-container { | |||
.header_main{ | |||
height: 116px; | |||
background: url('../../../../assets/images/sunVillage_info/list_head_green.png') no-repeat; | |||
background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||
background-size: 100% 100%; | |||
position: fixed; | |||
top: 0; | |||
@@ -0,0 +1,634 @@ | |||
<template> | |||
<div class="app-container"> | |||
<!-- <van-nav-bar--> | |||
<!-- left-arrow--> | |||
<!-- fixed--> | |||
<!-- placeholder--> | |||
<!-- @click-left="$router.back(-1)"--> | |||
<!-- >--> | |||
<!-- <template #title>--> | |||
<!-- <p style="font-weight: bold;">修改有偿退出</p>--> | |||
<!-- </template>--> | |||
<!-- </van-nav-bar>--> | |||
<div class="header_main"> | |||
修改有偿退出 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
<!-- <div class="add_btn" @click="goAdd"></div>--> | |||
</div> | |||
<van-form ref="_Form"> | |||
<div class="main_box"> | |||
<!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>--> | |||
<van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required @input="remoteTransfereeMethod" /> | |||
<div id="dropList" v-show="showDropList" style="width: 92vw; position: absolute; z-index: 99; left: 50%; margin-left: -46vw; border: 1px solid #E2E0E0;" > | |||
<van-cell id="vanCell" v-for="(item, index) in getObligeeOptions" :key="index" @click="shyqrdmxmChange(item)" style="position: relative; z-index: 999;"> | |||
{{item.sqrxm}} | |||
</van-cell> | |||
</div> | |||
<!-- <van-field--> | |||
<!-- readonly--> | |||
<!-- clickable--> | |||
<!-- v-model="circulation.zjddm"--> | |||
<!-- label="宅基地代码"--> | |||
<!-- placeholder="请选择"--> | |||
<!-- @click="remoteProposerMethod"--> | |||
<!-- input-align="right"--> | |||
<!-- right-icon="arrow-down" :rules="[{ required: true }]" required--> | |||
<!-- />--> | |||
<!-- <van-popup v-model="showzjddm" position="bottom">--> | |||
<!-- <van-picker--> | |||
<!-- show-toolbar--> | |||
<!-- :columns="zjdDictionaries"--> | |||
<!-- value-key="zjddm"--> | |||
<!-- @confirm="onConfirmZjddm"--> | |||
<!-- @cancel="showzjddm = false"--> | |||
<!-- />--> | |||
<!-- </van-popup>--> | |||
<van-field | |||
v-model="circulation.zjddm" | |||
label="宅基地代码" | |||
input-align="right" | |||
:rules="[{ required: true }]" | |||
required | |||
> | |||
<template #button> | |||
<van-icon name="../../../static/images/22.png" color="#539FFD" size="20" @click="mapLook"/> | |||
</template> | |||
</van-field> | |||
<field-select | |||
v-model="circulation.xb" | |||
label="性別" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择现状" | |||
:rules="[{ required: true }]" | |||
required | |||
remote-url="/open/zdzh/list/sys_user_sex" | |||
:on-remote-response="'data'" | |||
/> | |||
<van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<van-field v-model="circulation.lxdh" label="联系电话" placeholder="联系电话" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<field-select | |||
v-model="circulation.gyqk" | |||
label="共有情况" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择共有情况" | |||
:rules="[{ required: true }]" | |||
required | |||
remote-url="/open/zdzh/list/house_yes_no" | |||
:on-remote-response="'data'" | |||
/> | |||
<van-field v-model="circulation.hkszd" label="户口所在地" placeholder="户口所在地" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
</div> | |||
<p class="main_title">拟申请退出宅基地</p> | |||
<van-field v-model="circulation.tcmj" label="面积(㎡)" placeholder="请输入面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/> | |||
<field-select | |||
v-model="circulation.xz" | |||
label="现状" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择现状" | |||
:rules="[{ required: true }]" | |||
required | |||
remote-url="/open/zdzh/list/dsxz" | |||
:on-remote-response="'data'" | |||
/> | |||
<van-field v-model="circulation.zjdszd" label="东至" placeholder="东至" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<van-field v-model="circulation.zjdszn" label="南至" placeholder="南至" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<van-field v-model="circulation.zjdszx" label="西至" placeholder="西至" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<van-field v-model="circulation.zjdszb" label="北至" placeholder="北至" input-align="right" label-width="auto" :rules="[{ required: true }]" required/> | |||
<field-select | |||
v-model="circulation.dldm" | |||
label="地类" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择现状" | |||
:rules="[{ required: true }]" | |||
required | |||
remote-url="/open/zdzh/list/geographic_type" | |||
:on-remote-response="'data'" | |||
/> | |||
<p class="main_title">退出宅基地情况</p> | |||
<van-field v-model="circulation.tcmj" label="退出面积(㎡)" placeholder="请输入退出面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/> | |||
<van-field v-model="circulation.jzmj" label="建筑面积(㎡)" placeholder="请输入建筑面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/> | |||
<div class="main_box"> | |||
<van-field | |||
readonly | |||
clickable | |||
v-model="tcqllx" | |||
label="退出权利类型" | |||
placeholder="请选择退出权利类型" | |||
@click="showtcqllx = true" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" :rules="[{ required: true }]" required | |||
/> | |||
<van-popup v-model="showtcqllx" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="tcqllxDictionaries" | |||
@confirm="onConfirmTcqllx" | |||
@cancel="showtcqllx = false" | |||
/> | |||
</van-popup> | |||
<!--<van-field | |||
readonly | |||
clickable | |||
v-model="tclx" | |||
label="退出类型" | |||
placeholder="请选择退出类型" | |||
@click="showtclx = true" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" :rules="[{ required: true }]" required | |||
/> | |||
<van-popup v-model="showtclx" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="tclxDictionaries" | |||
@confirm="onConfirmTclx" | |||
@cancel="showtclx = false" | |||
/> | |||
</van-popup>--> | |||
<van-field | |||
readonly | |||
clickable | |||
v-model="tcfs" | |||
label="退出方式" | |||
placeholder="请选择退出方式" | |||
@click="showtcfs = true" | |||
input-align="right" | |||
right-icon="arrow-down" | |||
label-width="auto" :rules="[{ required: true }]" required | |||
/> | |||
<van-popup v-model="showtcfs" position="bottom"> | |||
<van-picker | |||
show-toolbar | |||
:columns="tcfsDictionaries" | |||
@confirm="onConfirmTcfs" | |||
@cancel="showtcfs = false" | |||
/> | |||
</van-popup> | |||
<van-field v-model="circulation.tcqszsh" label="权属证书号" placeholder="请输入权属证书号" input-align="right" label-width="auto" /> | |||
</div> | |||
<p class="main_title">现居住情况</p> | |||
<van-field v-model="circulation.xjzmj" label="建筑面积(㎡)" placeholder="请输入建筑面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/> | |||
<van-field v-model="circulation.xqszsh" label="权属证书号" placeholder="请输入权属证书号" input-align="right" label-width="auto" /> | |||
<van-field v-model="circulation.xjzdd" label="居住地点" placeholder="请输入居住地点" input-align="right" label-width="auto" /> | |||
<p class="main_title">补偿信息</p> | |||
<van-field v-model="circulation.bcje" label="宅基地补偿" placeholder="宅基地补偿" input-align="right" label-width="auto" type="number"/> | |||
<van-field v-model="circulation.dmfzwbc" label="地面附着物补偿" placeholder="地面附着物补偿" input-align="right" label-width="auto" type="number"/> | |||
<field-select | |||
v-model="circulation.yctcfs" | |||
label="退出类型" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择退出类型" | |||
remote-url="/open/zdzh/list/yctcfs" | |||
:on-remote-response="'data'" | |||
/> | |||
<field-select | |||
v-model="circulation.bcfs" | |||
label="补偿方式" | |||
value-key="dictLabel" | |||
data-key="dictValue" | |||
placeholder="选择退出类型" | |||
remote-url="/open/zdzh/list/bcfs" | |||
:on-remote-response="'data'" | |||
/> | |||
<field-date-picker | |||
v-model="circulation.bcsj" | |||
label="补偿时间" | |||
placeholder="选择日期" | |||
formatter="yyyy-MM-dd" | |||
/> | |||
<p class="main_title">其他</p> | |||
<van-field v-model="circulation.sqly" label="申请理由" placeholder="请输入申请理由" input-align="right" label-width="auto"/> | |||
<field-date-picker | |||
v-model="circulation.sqrq" | |||
label="申请日期" | |||
placeholder="选择日期" | |||
:rules="[{ required: true }]" | |||
formatter="yyyy-MM-dd" | |||
required | |||
/> | |||
<van-field v-model="circulation.jbrxm" label="经办人姓名" placeholder="请输入经办人姓名" input-align="right" label-width="auto"/> | |||
<field-date-picker | |||
v-model="circulation.pzrq" | |||
label="批准日期" | |||
placeholder="选择日期" | |||
:rules="[{ required: true }]" | |||
formatter="yyyy-MM-dd" | |||
required | |||
/> | |||
<field-date-picker | |||
v-model="circulation.barq" | |||
label="备案日期" | |||
placeholder="选择日期" | |||
:rules="[{ required: true }]" | |||
formatter="yyyy-MM-dd" | |||
required | |||
/> | |||
<van-dialog v-model="mapShow" show-cancel-button> | |||
<MapGisObtainTc ref="zjdProductResh" :shqrxm="circulation.sqrxm" :landStatus="landStatus" :deptId="sysFarmer.deptId" @closeMoule="closeMoule"></MapGisObtainTc> | |||
</van-dialog> | |||
<!-- 3组附件 --> | |||
<van-popup | |||
v-model="attachmentVisible" | |||
closeable | |||
position="top" | |||
:style="{ height: '61.8%' }" | |||
:close-on-click-overlay="proposerStatus == 1" | |||
:lazy-render="false" | |||
> | |||
<van-tabs type="card" style="padding-top: 1.35rem;" color="#1D6FE9" :lazy-render="false" v-model="attachmentActive" ref="attachmentDialog"> | |||
<van-tab title="退出附件" key="0"> | |||
<home-apply-upload-comp | |||
:business-type="houseApplyUploadComp.businessType" | |||
:house-apply-status="houseApplyUploadComp.homeApplyStatus" | |||
:process-key="houseApplyUploadComp.processKey" | |||
:proposer-id="houseApplyUploadComp.proposerId" | |||
:table-name="houseApplyUploadComp.tableName" | |||
:readonly="houseApplyUploadComp.readonly" | |||
:userName="sysFarmer.memberName" | |||
:full="houseApplyUploadComp.full" | |||
@uploadFinished="onUploadFinished" | |||
> | |||
</home-apply-upload-comp> | |||
</van-tab> | |||
</van-tabs> | |||
</van-popup> | |||
</van-form> | |||
<van-goods-action style="z-index: 999;"> | |||
<van-goods-action-icon icon="label-o" text="附件" @click="openAttachment" color="#1D6FE9" /> | |||
<van-goods-action-button type="info" text="保存" @click="goEdit" /> | |||
<van-goods-action-button type="info" text="提交" @click="goSubmit"/> | |||
</van-goods-action> | |||
</div> | |||
</template> | |||
<script> | |||
import { getZyyctc,getShyqrs,zyyctcEdit,zyyctcApply,getByLyZjddm,listHomesteadnmfw} from "@/api/sunVillage_info/homestead/paidExit"; | |||
import HomeApplyUploadComp from "@/components/home/HomeApplyUploadComp"; | |||
import FieldSelect from "@/components/form/FieldSelect"; | |||
import FieldDatePicker from "@/components/form/FieldDatePicker"; | |||
import {formatDate} from "element-ui/src/utils/date-util.js"; | |||
import { } from "@/api/onlineHome/homestead/paidExit"; | |||
import {Notify} from "vant"; | |||
import MapGisObtainTc from "@/components/Map/MapGisObtainTc"; | |||
import Cookies from "js-cookie"; | |||
const PROPOSER_VIEW = 1; | |||
// 工作流名称 | |||
const PROPOSER_STAGE_BASE_APPLY_ACTIVITY = 'home_usetc'; | |||
// 附件表名 | |||
const PROPOSER_STAGE_BASE_APPLY_TABLE = 't_homeuse_zyyctc'; | |||
// 其他 | |||
const PROPOSER_MODULE = 'home'; | |||
export default { | |||
name: "paidExitModify", | |||
components: { MapGisObtainTc,FieldSelect,FieldDatePicker,HomeApplyUploadComp }, | |||
data() { | |||
return { | |||
tcqllxDictionaries:[],//退出权利类型 | |||
tclxDictionaries:[],//退出类型 | |||
tcfsDictionaries:[],//退出方式 | |||
xbDictionaries:[],//申请人证件类型 | |||
zjlxDictionaries:[], | |||
bcfsDictionaries:[],//补偿方式 | |||
zjdDictionaries:[],//宅基地代码 | |||
getObligeeOptions:[],//下拉框列表 | |||
sysFarmer:{deptId:this.$store.state.user.loginDeptId,memberName:this.$store.state.user.nickName}, | |||
tcqllx:'', | |||
tclx:'', | |||
tcfs:'', | |||
xb:'', | |||
bcfs:'', | |||
zjddm:'', | |||
landStatus:"1", | |||
showtcqllx: false, | |||
showtclx: false, | |||
showtcfs: false, | |||
showxb: false, | |||
showbcfs: false, | |||
showzjddm: false, | |||
showDropList: false,//是否显示下拉框 | |||
mapShow: false, | |||
attachmentVisible:false, | |||
active: 0, | |||
// 表单意图 | |||
proposerStatus: PROPOSER_VIEW, | |||
circulation:{}, | |||
// 当前附件tab | |||
attachmentActive: 0, | |||
// 申请附件树 | |||
houseApplyUploadComp: { | |||
businessType: PROPOSER_MODULE, | |||
proposerId: this.$route.query.id, | |||
homeApplyStatus: "11", | |||
processKey: PROPOSER_STAGE_BASE_APPLY_ACTIVITY, | |||
tableName: PROPOSER_STAGE_BASE_APPLY_TABLE, | |||
attachmentList: [], | |||
readonly: false, | |||
full: false, | |||
}, | |||
}; | |||
}, | |||
created() { | |||
this.getDictionaries(); | |||
}, | |||
methods: { | |||
getDictionaries(){ | |||
getZyyctc(this.$route.query.id).then(response => { | |||
//退出权利类型 | |||
this.houseGetDicts("tcqllx").then((res) => { | |||
for (var i = 0; i < res.data.length; i++) { | |||
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
} | |||
this.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx); | |||
}); | |||
//退出方式 | |||
this.houseGetDicts("tcfs").then((res) => { | |||
for (var i = 0; i < res.data.length; i++) { | |||
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
} | |||
this.tcfs = this.selectDictLabel(res.data, response.data.tcfs); | |||
}); | |||
//申请人证件类型 | |||
this.houseGetDicts("zjlx").then((res) => { | |||
for (var i = 0; i < res.data.length; i++) { | |||
this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue}); | |||
} | |||
this.zjlx = this.selectDictLabel(res.data, response.data.sqrzjlx); | |||
}); | |||
this.circulation = response.data; | |||
console.info(this.circulation); | |||
}); | |||
}, | |||
onConfirmZjddm(data){ | |||
console.log(data); | |||
this.showzjddm = false; | |||
if (data) { | |||
this.$set(this.circulation, 'zjddm', data.zjddm); | |||
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm); | |||
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx); | |||
if(data.shyqrdbzjlx) | |||
{ | |||
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx); | |||
if(val) | |||
this.zjlx = val.text; | |||
} | |||
} | |||
// this.$forceUpdate(); | |||
}, | |||
onConfirmXb(data){ | |||
this.xb = data.text; | |||
this.circulation.xb = data.value; | |||
this.showxb = false; | |||
}, | |||
// 初次申请草稿的附件上传 | |||
onUploadFinished(fileIdList) { | |||
this.$set(this.circulation, "fileList", fileIdList); | |||
}, | |||
onConfirmTcqllx(data){ | |||
this.tcqllx = data.text; | |||
this.circulation.tcqllx = data.value; | |||
this.showtcqllx = false; | |||
}, | |||
/*onConfirmTclx(data){ | |||
this.tclx = data.text; | |||
this.circulation.tclx = data.value; | |||
this.showtclx = false; | |||
},*/ | |||
onConfirmTcfs(data){ | |||
this.tcfs = data.text; | |||
this.circulation.tcfs = data.value; | |||
this.showtcfs = false; | |||
}, | |||
onConfirmBcfs(data){ | |||
this.bcfs = data.text; | |||
this.circulation.bcfs = data.value; | |||
this.showbcfs = false; | |||
}, | |||
goEdit(){ | |||
console.log(this.circulation); | |||
this.$refs._Form.validate().then(() => { | |||
zyyctcEdit(this.circulation).then(response => { | |||
if(response.code = 200){ | |||
this.$toast.success('保存成功'); | |||
this.$router.back(-1); | |||
} | |||
}) | |||
}).catch((e) => { | |||
Notify({ type: 'danger', message: '请填写完整的表单项' }); | |||
}); | |||
}, | |||
goSubmit(){ | |||
this.$refs._Form.validate().then(() => { | |||
this.$set(this.circulation, 'updateBy', this.sysFarmer.memberName); | |||
zyyctcEdit(this.circulation).then(response => { | |||
zyyctcApply(this.$route.query.id).then(response => { | |||
if(response.code = 200){ | |||
this.$toast.success('提交成功'); | |||
setTimeout(function(){ | |||
this.$router.back(-1); | |||
},1000) | |||
} | |||
}); | |||
}); | |||
}).catch((e) => { | |||
Notify({ type: 'danger', message: '请填写完整的表单项' }); | |||
}); | |||
}, | |||
remoteProposerMethod() { | |||
this.showzjddm = true; | |||
this.zjdDictionaries = []; | |||
if (this.circulation.sqrxm) { | |||
getShyqrs({shyqrdbxm:this.circulation.sqrxm}).then(response => { | |||
this.zjdDictionaries = response.data.map(item => { | |||
return { | |||
zjddm: item.zjddm, | |||
shyqrdbxm: item.shyqrdbxm, | |||
shyqrdbzjlx: item.shyqrdbzjlx, | |||
shyqrdbzjhm: item.shyqrdbzjhm | |||
} | |||
}); | |||
}); | |||
} else { | |||
this.zjdDictionaries = []; | |||
} | |||
}, | |||
// 打开附件树 | |||
openAttachment() { | |||
this.attachmentVisible = true; | |||
if(this.attachmentActive == this.active) | |||
this.$nextTick(() => { | |||
this.$refs.attachmentDialog.scrollTo(this.active); | |||
}); | |||
}, | |||
/** 模糊查询人员信息 */ | |||
remoteTransfereeMethod(query) { | |||
if (query !== "") { | |||
getShyqrs({shyqrdbxm:query,status:1}).then((response) => { | |||
if (response.code == 200) { | |||
this.getObligeeOptions = response.rows.map(function (item) { | |||
return { | |||
sqrxm:item.shyqrdbxm, | |||
sqrxb:item.xb, | |||
sqrzjhm:item.shyqrdbzjhm, | |||
sqrzjlx:item.shyqrdbzjlx, | |||
sqrdh:item.dh, | |||
gyfs:item.gyfs, | |||
dz:item.dz, | |||
deptId:item.deptId, | |||
deptName:item.deptName, | |||
} | |||
}) | |||
//设置模糊查询的下拉框和滚动条 | |||
if (this.getObligeeOptions.length > 0) { | |||
this.showDropList = true; // div显示会阻挡下边的选择框和输入框,showDropList控制下拉框是否显示 | |||
//设置模糊查询的和滚动条 | |||
this.$nextTick(() => { | |||
if (this.getObligeeOptions.length > 4) { | |||
let height = document.getElementById("vanCell").offsetHeight * 4; | |||
document.getElementById("dropList").style.height = height + "px"; | |||
document.getElementById("dropList").style.overflow = "scroll"; | |||
} else { | |||
document.getElementById("dropList").style.height = ""; | |||
document.getElementById("dropList").style.overflow = "visible"; | |||
} | |||
}); | |||
} else { | |||
this.showDropList = false; | |||
} | |||
} | |||
}); | |||
} else { | |||
this.getObligeeOptions = []; | |||
this.showDropList = false; | |||
} | |||
}, | |||
shyqrdmxmChange(val){ | |||
console.info(val); | |||
this.$set(this.circulation, "sqrxm", val.sqrxm); | |||
this.$set(this.circulation, "deptId", val.deptId); | |||
this.$set(this.circulation, "deptName", val.deptId); | |||
this.$set(this.circulation, "sqrzjhm", val.sqrzjhm); | |||
this.$set(this.circulation, "sqrzjlx", val.sqrzjlx); | |||
this.$set(this.circulation, "gyqk", val.gyfs); | |||
this.$set(this.circulation, "xb", val.sqrxb); | |||
this.$set(this.circulation, "lxdh", val.sqrdh); | |||
this.$set(this.circulation, "hkszd", val.dz); | |||
this.getObligeeOptions=[]; | |||
this.showDropList = false; | |||
}, | |||
// 获取日期, yyyy-MM-dd | |||
getDate(d) { | |||
return formatDate(d ? d : new Date(), 'yyyy-MM-dd'); | |||
}, | |||
/** 查找地图中宅基地 */ | |||
closeMoule: function (data) { | |||
this.circulation.zjddm = data; | |||
let _this = this; | |||
let handlerTime = this.getDate(); | |||
this.$set(this.circulation, "sqrq", handlerTime); | |||
this.$set(this.circulation, "pzrq", handlerTime); | |||
this.$set(this.circulation, "barq", handlerTime); | |||
getByLyZjddm(data).then((response) => { | |||
this.$set(this.circulation, "ntcmj", response.data.zdmj); | |||
this.$set(this.circulation, "tcmj", response.data.zdmj); | |||
this.$set(this.circulation, "zjdszd", response.data.zdszd); | |||
this.$set(this.circulation, "zjdszn", response.data.zdszn); | |||
this.$set(this.circulation, "zjdszx", response.data.zdszx); | |||
this.$set(this.circulation, "zjdszb", response.data.zdszb); | |||
this.$set(this.circulation, "theGeomJson", response.data.theGeomJson); | |||
this.$set(this.circulation, "tcqszsh", response.data.zsh); | |||
listHomesteadnmfw({zjddm: data}).then((response) => { | |||
response.rows.map(function(item){ | |||
_this.$set(_this.circulation, "jzmj", Number(_this.circulation.jzmj) + Number(item.jzmj)); | |||
_this.$set(_this.circulation, "xjzmj", Number(_this.circulation.xjzmj) + Number(item.jzmj)); | |||
}); | |||
}); | |||
// const baseImgUrl = this.$store.getters.baseRoutingUrl; | |||
if(response.rows[0].zdt != null && response.rows[0].zdt !== ""){ | |||
this.$set(this.form, "xzzp", response.rows[0].zdt); | |||
} | |||
}); | |||
}, | |||
mapLook(){ | |||
this.mapShow = true; | |||
setTimeout(() => { | |||
this.$refs.zjdProductResh.drawingLyPaceCountryDarw(); | |||
},1000); | |||
}, | |||
}, | |||
} | |||
</script> | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding-bottom: 2%; | |||
.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; | |||
margin-bottom: 2%; | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
.main_title{ | |||
font-size: 0.4rem; | |||
color: #1D6FE9; | |||
margin: 0.2rem 6%; | |||
position: relative; | |||
} | |||
.main_box{ | |||
width: 96%; | |||
margin: 0 auto; | |||
border-radius: 6px; | |||
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16); | |||
overflow: hidden; | |||
background-color: #FFF; | |||
} | |||
.submitButton{ | |||
width: 80%; | |||
margin: 0 auto; | |||
background-color: #1D6FE9; | |||
} | |||
</style> |
@@ -1,15 +1,9 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="$router.back(-1)" | |||
> | |||
<template #title> | |||
<p style="font-weight: bold;">添加有偿使用</p> | |||
</template> | |||
</van-nav-bar> | |||
<div class="header_main"> | |||
有偿使用 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
</div> | |||
<div class="main_box"> | |||
<van-field v-model="circulation.shyqrdbxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required @input="remoteTransfereeMethod" /> | |||
<div id="dropList" v-show="showDropList" style="width: 92vw; position: absolute; z-index: 99; left: 50%; margin-left: -46vw; border: 1px solid #E2E0E0;" > | |||
@@ -410,7 +404,38 @@ | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding: 2% 0; | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
.main_title{ | |||
font-size: 0.4rem; | |||
@@ -1,15 +1,9 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="$router.back(-1)" | |||
> | |||
<template #title> | |||
<p style="font-weight: bold;">有偿使用</p> | |||
</template> | |||
</van-nav-bar> | |||
<div class="header_main"> | |||
有偿使用 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
</div> | |||
<div class="main_box"> | |||
<van-field | |||
readonly | |||
@@ -228,7 +222,38 @@ | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding: 2% 0; | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
.main_title{ | |||
font-size: 0.4rem; | |||
@@ -1,19 +1,10 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="$router.back(-1)" | |||
@click-right="goAdd" | |||
> | |||
<template #title> | |||
<p style="font-weight: bold;">有偿使用</p> | |||
</template> | |||
<template #right> | |||
<van-icon name="add" size="18" /> | |||
</template> | |||
</van-nav-bar> | |||
<div class="header_main"> | |||
有偿使用 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
<div class="add_btn" @click="goAdd"></div> | |||
</div> | |||
<van-list | |||
v-model="loading" | |||
:finished="finished" | |||
@@ -134,7 +125,38 @@ | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding: 0.2rem 3%; | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
/deep/.van-cell__title{ | |||
flex: 0.7; | |||
@@ -1,15 +1,9 @@ | |||
<template> | |||
<div class="app-container"> | |||
<van-nav-bar | |||
left-arrow | |||
fixed | |||
placeholder | |||
@click-left="$router.back(-1)" | |||
> | |||
<template #title> | |||
<p style="font-weight: bold;">修改有偿使用</p> | |||
</template> | |||
</van-nav-bar> | |||
<div class="header_main"> | |||
有偿使用 | |||
<div class="return_btn" @click="onClickLeft"></div> | |||
</div> | |||
<div class="main_box"> | |||
<van-field readonly v-model="circulation.shyqrdbxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required @input="remoteTransfereeMethod" /> | |||
<div id="dropList" v-show="showDropList" style="width: 92vw; position: absolute; z-index: 99; left: 50%; margin-left: -46vw; border: 1px solid #E2E0E0;" > | |||
@@ -420,7 +414,38 @@ | |||
<style scoped lang="scss"> | |||
.app-container { | |||
padding: 2% 0; | |||
.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; | |||
} | |||
.add_btn{ | |||
width: 56.4px; | |||
height: 40.8px; | |||
background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||
background-size: 47px 34px; | |||
position: absolute; | |||
right: 38px; | |||
top: 36px; | |||
} | |||
} | |||
} | |||
.main_title{ | |||
font-size: 0.4rem; | |||