Merge branch 'dev' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into dev
This commit is contained in:
134
packages/meta/AppResident/components/personalAssets.vue
Normal file
134
packages/meta/AppResident/components/personalAssets.vue
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
<template>
|
||||||
|
<section class="personalAssets">
|
||||||
|
<el-form ref="PersonalAssets" :model="form" size="small" label-width="0">
|
||||||
|
<ai-edit-card title="车辆信息" :show-btn="permissions('app_appresident_edit')"
|
||||||
|
@save="submitCars" @cancel="getCars">
|
||||||
|
<template>
|
||||||
|
<el-form-item label-width="0">
|
||||||
|
<span v-for="car in form.cars" :key="car.id" v-text="car.vehicleNumber+' '"/>
|
||||||
|
<ai-empty v-if="form.cars.length==0"/>
|
||||||
|
</el-form-item>
|
||||||
|
</template>
|
||||||
|
<template #edit>
|
||||||
|
<el-form-item v-for="(car,i) in form.cars" :key="i" :prop="`cars.${i}.vehicleNumber`"
|
||||||
|
:rules="{required: true,message:'请输入车牌号'}">
|
||||||
|
<el-input v-model="car.vehicleNumber" clearable placeholder="请输入车牌号">
|
||||||
|
<el-button slot="append" type="text" @click="form.cars.splice(i,1)">删除</el-button>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-button type="text" @click="form.cars.push({})">新增车辆</el-button>
|
||||||
|
</template>
|
||||||
|
</ai-edit-card>
|
||||||
|
<ai-edit-card title="房屋信息" :show-btn="permissions('app_appresident_edit')"
|
||||||
|
@save="submitHouses" @cancel="getHouses">
|
||||||
|
<template>
|
||||||
|
<el-form-item label-width="0">``
|
||||||
|
<div v-for="house in form.houses" :key="house.id" v-text="[house.areaName,house.address].join('')"/>
|
||||||
|
<ai-empty v-if="form.houses.length==0"/>
|
||||||
|
</el-form-item>
|
||||||
|
</template>
|
||||||
|
<template #edit>
|
||||||
|
<div v-for="(house,i) in form.houses" :key="i">
|
||||||
|
<el-form-item :prop="`houses.${i}.areaId`" :rules="{required: true,message:'请选择房屋地址'}">
|
||||||
|
<ai-area-get v-model="house.areaId" :instance="instance" :root="user.info.areaId"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item :prop="`houses.${i}.address`" :rules="{required: true,message:'请输入详情地址'}">
|
||||||
|
<el-input v-model="house.address" clearable placeholder="请输入详情地址" size="small"/>
|
||||||
|
</el-form-item>
|
||||||
|
</div>
|
||||||
|
<el-button type="text" @click="form.houses.push({})">新增房屋</el-button>
|
||||||
|
</template>
|
||||||
|
</ai-edit-card>
|
||||||
|
</el-form>
|
||||||
|
</section>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import AiEditCard from "./AiEditCard";
|
||||||
|
import {mapState} from "vuex";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "personalAssets",
|
||||||
|
components: {AiEditCard},
|
||||||
|
props: {
|
||||||
|
instance: Function,
|
||||||
|
dict: Object,
|
||||||
|
permissions: Function,
|
||||||
|
residentId: {required: true, default: ""}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapState(['user']),
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
cars: [],
|
||||||
|
houses: []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getCars() {
|
||||||
|
let {residentId} = this
|
||||||
|
this.instance.post("/app/appresidentvehicle/list", null, {
|
||||||
|
params: {residentId}
|
||||||
|
}).then(res => {
|
||||||
|
if (res?.data) {
|
||||||
|
this.form.cars = res.data.records || []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
submitCars(cb) {
|
||||||
|
this.$refs.PersonalAssets.validate(v => {
|
||||||
|
if (v) {
|
||||||
|
let {residentId, form: {cars: residentVehicleList}} = this
|
||||||
|
this.instance.post("/app/appresidentvehicle/update", {
|
||||||
|
residentId, residentVehicleList
|
||||||
|
}).then(res => {
|
||||||
|
if (res?.code == 0) {
|
||||||
|
this.$message.success("提交成功")
|
||||||
|
this.getCars()
|
||||||
|
cb?.()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getHouses() {
|
||||||
|
let {residentId} = this
|
||||||
|
this.instance.post("/app/appresidenthouse/list", null, {
|
||||||
|
params: {residentId}
|
||||||
|
}).then(res => {
|
||||||
|
if (res?.data) {
|
||||||
|
this.form.houses = res.data.records || []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
submitHouses(cb) {
|
||||||
|
this.$refs.PersonalAssets.validate(v => {
|
||||||
|
if (v) {
|
||||||
|
let {residentId, form: {houses: residentHouseList}} = this
|
||||||
|
this.instance.post("/app/appresidenthouse/update", {
|
||||||
|
residentId, residentHouseList
|
||||||
|
}).then(res => {
|
||||||
|
if (res?.code == 0) {
|
||||||
|
this.$message.success("提交成功")
|
||||||
|
this.getHouses()
|
||||||
|
cb?.()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getCars()
|
||||||
|
this.getHouses()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.personalAssets {
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<template #content>
|
<template #content>
|
||||||
<el-form class="content-right" :model="baseInfo" ref="ruleForm" :rules="rules" label-width="130px"
|
<el-form class="content-right" :model="baseInfo" ref="ruleForm" :rules="rules" label-width="130px"
|
||||||
label-position="right" size="small">
|
label-position="right" size="small">
|
||||||
<el-tabs tab-position="left" v-if="showDetail">
|
<el-tabs tab-position="left" v-if="showDetail" v-model="currentTab">
|
||||||
<el-tab-pane label="基本信息">
|
<el-tab-pane label="基本信息">
|
||||||
<ai-edit-card :title="baseInfo.name||'基本信息'" :show-btn="permissions('app_appresident_edit')"
|
<ai-edit-card :title="baseInfo.name||'基本信息'" :show-btn="permissions('app_appresident_edit')"
|
||||||
@save="saveFrom" @cancel="getDetail(baseInfo.id)">
|
@save="saveFrom" @cancel="getDetail(baseInfo.id)">
|
||||||
@@ -212,41 +212,7 @@
|
|||||||
</ai-edit-card>
|
</ai-edit-card>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="资产信息" lazy>
|
<el-tab-pane label="资产信息" lazy>
|
||||||
<ai-edit-card title="车辆信息" :show-btn="permissions('app_appresident_edit')"
|
<personal-assets v-if="currentTab==1" :resident-id="baseInfo.id" v-bind="$props"/>
|
||||||
@save="saveFrom" @cancel="getDetail(baseInfo.id)">
|
|
||||||
<template>
|
|
||||||
<el-form-item label-width="0">
|
|
||||||
<span v-for="car in baseInfo.cars" :key="car.id" v-text="car.license"/>
|
|
||||||
<ai-empty v-if="baseInfo.cars.length==0"/>
|
|
||||||
</el-form-item>
|
|
||||||
</template>
|
|
||||||
<template #edit>
|
|
||||||
<el-form-item label-width="0" prop="cars">
|
|
||||||
<el-input v-for="(car,i) in baseInfo.cars" :key="car.id" v-model="car.license" clearable
|
|
||||||
placeholder="请输入车牌号">
|
|
||||||
<el-button slot="append" type="text" @click="baseInfo.cars.splice(i,1)">删除</el-button>
|
|
||||||
</el-input>
|
|
||||||
<el-button type="text" @click="baseInfo.cars.push({})">新增车辆</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</template>
|
|
||||||
</ai-edit-card>
|
|
||||||
<ai-edit-card title="房屋信息" :show-btn="permissions('app_appresident_edit')"
|
|
||||||
@save="saveFrom" @cancel="getDetail(baseInfo.id)">
|
|
||||||
<template>
|
|
||||||
<el-form-item label-width="0">
|
|
||||||
<span v-for="house in baseInfo.houseList" :key="house.id"
|
|
||||||
v-text="[house.areaName,house.address].join('')"/>
|
|
||||||
<ai-empty v-if="baseInfo.houseList.length==0"/>
|
|
||||||
</el-form-item>
|
|
||||||
</template>
|
|
||||||
<template #edit>
|
|
||||||
<div v-for="house in baseInfo.houseList" :key="house.id">
|
|
||||||
<ai-area-get v-model="house.areaId" :instance="instance"/>
|
|
||||||
<el-input v-model="house.address" clearable placeholder="请输入详情地址" size="small"/>
|
|
||||||
</div>
|
|
||||||
<el-button type="text" @click="baseInfo.houseList.push({})">新增房屋</el-button>
|
|
||||||
</template>
|
|
||||||
</ai-edit-card>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="特殊人群" lazy v-if="hasSpecial">
|
<el-tab-pane label="特殊人群" lazy v-if="hasSpecial">
|
||||||
<ai-card v-for="(item, index) in baseInfo.tsrqInfos" :key="index" :title="item.applicationName">
|
<ai-card v-for="(item, index) in baseInfo.tsrqInfos" :key="index" :title="item.applicationName">
|
||||||
@@ -474,15 +440,15 @@
|
|||||||
<script>
|
<script>
|
||||||
import {mapState} from "vuex";
|
import {mapState} from "vuex";
|
||||||
import AiEditCard from "./components/AiEditCard";
|
import AiEditCard from "./components/AiEditCard";
|
||||||
|
import PersonalAssets from "./components/personalAssets";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "localResident",
|
name: "localResident",
|
||||||
components: {AiEditCard},
|
components: {PersonalAssets, AiEditCard},
|
||||||
props: {
|
props: {
|
||||||
instance: Function,
|
instance: Function,
|
||||||
dict: Object,
|
dict: Object,
|
||||||
permissions: Function,
|
permissions: Function,
|
||||||
active: String
|
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
let IdNumberPass = (rule, value, callback) => {
|
let IdNumberPass = (rule, value, callback) => {
|
||||||
@@ -581,7 +547,8 @@ export default {
|
|||||||
},
|
},
|
||||||
imgUrl: "",
|
imgUrl: "",
|
||||||
fileList: [],
|
fileList: [],
|
||||||
disabledLevel: 0
|
disabledLevel: 0,
|
||||||
|
currentTab: "0"
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -678,8 +645,6 @@ export default {
|
|||||||
if (res?.data) {
|
if (res?.data) {
|
||||||
let {currentHouseList, householdHouseList, tips} = res.data.resident
|
let {currentHouseList, householdHouseList, tips} = res.data.resident
|
||||||
this.baseInfo = {
|
this.baseInfo = {
|
||||||
cars: [],
|
|
||||||
houseList: [],
|
|
||||||
...res.data.resident,
|
...res.data.resident,
|
||||||
currentHouseList: currentHouseList?.split("|"),
|
currentHouseList: currentHouseList?.split("|"),
|
||||||
householdHouseList: householdHouseList?.split("|"),
|
householdHouseList: householdHouseList?.split("|"),
|
||||||
|
|||||||
Reference in New Issue
Block a user