Selaa lähdekoodia

确权调查接口对接

rongxin_prod
QI_YUJIE 1 vuosi sitten
vanhempi
commit
fa0e4d5f3e
4 muutettua tiedostoa jossa 310 lisäystä ja 170 poistoa
  1. +46
    -0
      src/api/contracted/cbfjtcy.js
  2. +1
    -1
      src/views/contracted/village/contractor/contractor.vue
  3. +59
    -44
      src/views/contracted/village/contractor/contractorFamily.vue
  4. +204
    -125
      src/views/contracted/village/contractor/contractorFamilyDetail.vue

+ 46
- 0
src/api/contracted/cbfjtcy.js Näytä tiedosto

@@ -0,0 +1,46 @@
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'
});
}



+ 1
- 1
src/views/contracted/village/contractor/contractor.vue Näytä tiedosto

@@ -161,7 +161,7 @@
},
deleteContractor(id, index) {
this.$dialog.confirm({
message: '是否确认删除此承包方信息?',
message: '是否确认删除此承包方信息?',
}).then(() => {
// on confirm
deleteCbf(id).then(res => {


+ 59
- 44
src/views/contracted/village/contractor/contractorFamily.vue Näytä tiedosto

@@ -11,44 +11,39 @@
<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">
<p>分户</p>
</div>
@@ -58,11 +53,14 @@
<div class="opera_btn list">
<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>


@@ -71,6 +69,7 @@
<script>
import Cookies from "js-cookie";
import contractorHeader from "./contractorHeader";
import { listJtcy, deleteJtcy } from "@/api/contracted/cbfjtcy";

export default {
name: "contractedVillageContractor",
@@ -79,41 +78,57 @@
},
data() {
return {
loading:false,
finished:true,
value:'',
showType:false,
showZjType:false,
typeOptions:[{
dictLabel:'类型1',
dictValue:'1',
}],
zjTypeOptions:[{
dictLabel:'类型2',
dictValue:'1',
}],
// 家庭成员列表
familyList: [],
};
},
created() {
console.log(this.$route.params);
this.getList();
},
methods: {
getList(){

listJtcy({cbfbm: this.$route.params.cbfbm, translate_dict: 1}).then(response => {
this.familyList = response.rows;
});
},
onSearch(){

},
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
}
});
},
goDetail(){
this.$router.push({path:'/contracted/village/contractorFamilyDetail'});
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
});
}

},
};
</script>


+ 204
- 125
src/views/contracted/village/contractor/contractorFamilyDetail.vue Näytä tiedosto

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


Ladataan…
Peruuta
Tallenna