车辆信息和房屋信息完成
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> | ||||
|         <el-form class="content-right" :model="baseInfo" ref="ruleForm" :rules="rules" label-width="130px" | ||||
|                  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="基本信息"> | ||||
|               <ai-edit-card :title="baseInfo.name||'基本信息'" :show-btn="permissions('app_appresident_edit')" | ||||
|                             @save="saveFrom" @cancel="getDetail(baseInfo.id)"> | ||||
| @@ -212,41 +212,7 @@ | ||||
|               </ai-edit-card> | ||||
|             </el-tab-pane> | ||||
|             <el-tab-pane label="资产信息" lazy> | ||||
|               <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="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> | ||||
|               <personal-assets v-if="currentTab==1" :resident-id="baseInfo.id" v-bind="$props"/> | ||||
|             </el-tab-pane> | ||||
|             <el-tab-pane label="特殊人群" lazy v-if="hasSpecial"> | ||||
|               <ai-card v-for="(item, index) in baseInfo.tsrqInfos" :key="index" :title="item.applicationName"> | ||||
| @@ -474,15 +440,15 @@ | ||||
| <script> | ||||
| import {mapState} from "vuex"; | ||||
| import AiEditCard from "./components/AiEditCard"; | ||||
| import PersonalAssets from "./components/personalAssets"; | ||||
|  | ||||
| export default { | ||||
|   name: "localResident", | ||||
|   components: {AiEditCard}, | ||||
|   components: {PersonalAssets, AiEditCard}, | ||||
|   props: { | ||||
|     instance: Function, | ||||
|     dict: Object, | ||||
|     permissions: Function, | ||||
|     active: String | ||||
|   }, | ||||
|   data() { | ||||
|     let IdNumberPass = (rule, value, callback) => { | ||||
| @@ -581,7 +547,8 @@ export default { | ||||
|       }, | ||||
|       imgUrl: "", | ||||
|       fileList: [], | ||||
|       disabledLevel: 0 | ||||
|       disabledLevel: 0, | ||||
|       currentTab: "0" | ||||
|     }; | ||||
|   }, | ||||
|   computed: { | ||||
| @@ -678,8 +645,6 @@ export default { | ||||
|         if (res?.data) { | ||||
|           let {currentHouseList, householdHouseList, tips} = res.data.resident | ||||
|           this.baseInfo = { | ||||
|             cars: [], | ||||
|             houseList: [], | ||||
|             ...res.data.resident, | ||||
|             currentHouseList: currentHouseList?.split("|"), | ||||
|             householdHouseList: householdHouseList?.split("|"), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user