|
|
@@ -8,119 +8,147 @@ |
|
|
|
</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" /> |
|
|
|
<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" /> |
|
|
|
<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="form.id"> |
|
|
|
<van-button size="small" 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 +157,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 +166,135 @@ |
|
|
|
}, |
|
|
|
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), |
|
|
|
}; |
|
|
|
}, |
|
|
|
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); |
|
|
|
} else { |
|
|
|
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", |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
}).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() { |
|
|
|
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 |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |
|
|
@@ -219,6 +332,10 @@ |
|
|
|
overflow: initial; |
|
|
|
} |
|
|
|
|
|
|
|
/deep/ .van-field__label { |
|
|
|
width: 225px; |
|
|
|
} |
|
|
|
|
|
|
|
/* .tb_main{ |
|
|
|
position: relative; |
|
|
|
p{ |
|
|
|