Sfoglia il codice sorgente

承包合同接口对接

rongxin_prod
QI_YUJIE 1 anno fa
parent
commit
5c810a131e
2 ha cambiato i file con 290 aggiunte e 138 eliminazioni
  1. +35
    -0
      src/api/contracted/cbht.js
  2. +255
    -138
      src/views/contracted/village/contractor/contractWord.vue

+ 35
- 0
src/api/contracted/cbht.js Vedi File

@@ -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'
});
}

+ 255
- 138
src/views/contracted/village/contractor/contractWord.vue Vedi File

@@ -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{


Caricamento…
Annulla
Salva