|
|
@@ -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="持股份数:" 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> |
|
|
|