From 47909ab7f1991adb2d5c92ac00a8b0ea41764caa Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Fri, 05 Jan 2024 17:47:56 +0800
Subject: [PATCH] 更新

---
 subPackage/house/list/auditList.vue |    5 
 subPackage/house/member/index.vue   |  188 +++++++++++++++++++++++--------------
 subPackage/user/role/index.vue      |   47 ++++----
 subPackage/house/family/index.vue   |    4 
 4 files changed, 144 insertions(+), 100 deletions(-)

diff --git a/subPackage/house/family/index.vue b/subPackage/house/family/index.vue
index d7ea3ca..0198792 100644
--- a/subPackage/house/family/index.vue
+++ b/subPackage/house/family/index.vue
@@ -122,8 +122,8 @@
 						</view> -->
 						<view class="sp-list-box">
 							<view class="house-list-box flex" v-for="(item, index) in shopList" :name="index"
-								:key="index" @click="pushShopPage" :data-code="i.addressCode"
-								:data-type="i.addressType">
+								:key="index" @click="pushShopPage" :data-code="item.addressCode"
+								:data-type="item.addressType">
 								<view class="l">
 									<u-icon name="/static/icon/store.png" width="15" height="18"></u-icon>
 								</view>
diff --git a/subPackage/house/list/auditList.vue b/subPackage/house/list/auditList.vue
index 56321da..1c6ea57 100644
--- a/subPackage/house/list/auditList.vue
+++ b/subPackage/house/list/auditList.vue
@@ -74,9 +74,6 @@
 						status: ""
 					},
 					{
-
-
-
 						name: "待审核",
 						status: 0
 					},
@@ -177,7 +174,7 @@
 					content: "是否要通过该住户?",
 					success: (res) => {
 						if (res.confirm) {
-							item.confirmFlag = 2;
+							item.confirmFlag = 1;
 							this.auditResidentRequest(item);
 						}
 					}
diff --git a/subPackage/house/member/index.vue b/subPackage/house/member/index.vue
index 7882ef2..03881f8 100644
--- a/subPackage/house/member/index.vue
+++ b/subPackage/house/member/index.vue
@@ -15,10 +15,10 @@
 							<u-icon slot="right" name="arrow-right"></u-icon>
 						</u-form-item> -->
 
-						<u-form-item @click="showSelectBus('角色关系','relationship')" class="form-item" labelWidth="100"
-							label="角色关系" required prop="relationship">
+						<u-form-item @click="showSelectBus('与业主关系','relationship')" class="form-item" labelWidth="100"
+							label="与业主关系" required prop="relationship">
 							<u--input border="none" v-model="selectDefaultName.relationship" disabled
-								disabledColor="#ffffff" placeholder="请选择角色关系">
+								disabledColor="#ffffff" placeholder="请选择与业主关系">
 							</u--input>
 							<u-icon slot="right" name="arrow-right"></u-icon>
 						</u-form-item>
@@ -28,6 +28,13 @@
 							</u--input>
 						</u-form-item>
 
+						<u-form-item class="form-item" labelWidth="100" label="出生日期" prop="birthday"
+							@click="showSelectBirthday = true">
+							<u--input border="none" v-model="form.birthday" disabled disabledColor="#ffffff"
+								placeholder="请选择出生日期">
+							</u--input>
+							<u-icon slot="right" name="arrow-right"></u-icon>
+						</u-form-item>
 
 						<u-form-item @click="showSelectBus('证件类型','cardType')" class="form-item" labelWidth="100"
 							label="证件类型" prop="gender">
@@ -38,13 +45,13 @@
 						</u-form-item>
 
 
-						<u-form-item v-if="selectDefaultIndex.cardType == 0" class="form-item" labelWidth="100"
-							label="身份证号码" prop="idCard">
+						<u-form-item v-if="form.cardType == 111" class="form-item" labelWidth="100" label="身份证号码"
+							prop="idCard">
 							<u--input border="none" type="idcard " v-model="form.idCard" placeholder="请输入身份证号码">
 							</u--input>
 						</u-form-item>
 
-						<u-form-item v-if="selectDefaultIndex.cardType == 1" class="form-item" labelWidth="100"
+						<u-form-item v-if="form.cardType && form.cardType != 111" class="form-item" labelWidth="100"
 							label="证件号码" prop="cardNo">
 							<u--input border="none" v-model="form.cardNo" placeholder="请输入证件号码">
 							</u--input>
@@ -59,7 +66,7 @@
 							<u-icon slot="right" name="arrow-right"></u-icon>
 						</u-form-item>
 
-						<u-form-item class="form-item" labelWidth="100" label="手机号码" prop="phoneNumber">
+						<u-form-item class="form-item" labelWidth="100" label="手机号码" prop="phoneNumber" required>
 							<u--input border="none" type="number" v-model="form.phoneNumber" placeholder="请输入手机号码">
 							</u--input>
 						</u-form-item>
@@ -105,7 +112,7 @@
 						</u-form-item>
 						<u-form-item class="form-item" labelWidth="100" label="籍贯地区" prop="nativePlaceAdcode">
 							<view class="region">
-								<picker mode="region" @change="changeNativeRegion">
+								<picker mode="region" :value="navtivePlaceDefault" @change="changeNativeRegion">
 									<view class="region-picker c-c0" v-if="!nativePlace">
 										请选择籍贯地区
 									</view>
@@ -120,7 +127,7 @@
 
 						<u-form-item class="form-item" labelWidth="100" label="户籍地区" prop="residentAdcode">
 							<view class="region">
-								<picker mode="region" @change="changeHouseholdRegion">
+								<picker mode="region" :value="residentadDefault" @change="changeHouseholdRegion">
 									<view class="region-picker c-c0" v-if="!residentad">
 										请选择户籍地区
 									</view>
@@ -155,8 +162,7 @@
 							<view class="">
 								<text style="color: #c0c4cc;"
 									v-if="!form.householdLabelList || !form.householdLabelList.length">请选择标签</text>
-								<text class="f-28" v-else style="margin-right:5rpx;"
-									v-for="i in form.householdLabelList">{{i.labelName}}</text>
+								<text class="f-28" v-else>{{showLabel()}}</text>
 							</view>
 							<u-icon slot="right" name="arrow-right"></u-icon>
 						</u-form-item>
@@ -258,11 +264,6 @@
 							<u--input border="none" v-model="form.remark" placeholder="补充说明">
 							</u--input>
 						</u-form-item>
-
-
-
-
-
 					</view>
 				</u-form>
 			</view>
@@ -292,8 +293,11 @@
 			:show="typeShow" :columns="[selectBusList]" @close="typeShow = false" @cancel="typeShow = false"
 			keyName="name" @confirm="typeSelect"></u-picker>
 
-		<u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="goOutTime" mode="date"
-			:formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
+		<u-datetime-picker :show="showSelectDate" v-model="currentTime" mode="date" :formatter="formatter"
+			@confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
+
+		<u-datetime-picker :show="showSelectBirthday" v-model="currentTime" mode="date" @confirm="confirmBirthday"
+			@cancel="showSelectBirthday = false"></u-datetime-picker>
 
 		<u-picker :defaultIndex="[homeIndex]" :closeOnClickOverlay="true" :show="showRegion" :columns="[regionList]"
 			@close="showRegion = false" @cancel="showRegion = false" keyName="name" @confirm="regionSelect"></u-picker>
@@ -338,14 +342,49 @@
 					description: "",
 				},
 				rules: {
-					// roleType: [{
-					// 	required: true,
-					// 	message: '请选择角色'
-					// }],
-					name: [{
+					'selectDefaultName.relationship': {
 						required: true,
-						message: '请填写姓名'
-					}],
+						message: '请选择与业主关系',
+						trigger: ['change', 'blur'],
+					},
+					'name': {
+						type: 'string',
+						required: true,
+						message: '请填写姓名',
+						trigger: ['change', 'blur'],
+					},
+					'idCard': [{
+							type: 'string',
+							required: false,
+							message: '请输入身份证号码',
+							trigger: ['change', 'blur']
+						},
+						{
+							validator: (rule, value, callback) => {
+								const idCardRegex =
+									/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
+								return idCardRegex.test(value)
+							},
+
+							message: '身份证号码有误',
+							trigger: ['change', 'blur']
+						}
+					],
+					'phoneNumber': [{
+							required: true,
+							message: '请输入手机号码',
+							trigger: ['change', 'blur']
+						},
+						{
+
+							validator: (rule, value, callback) => {
+								return uni.$u.test.mobile(value);
+							},
+							message: '手机号码不正确',
+							trigger: ['change', 'blur']
+
+						}
+					]
 				},
 				typeShow: false,
 				roleName: "",
@@ -400,16 +439,6 @@
 					healthStatus: [],
 					cardType: []
 				},
-				roleTypeName: '',
-				relationshipName: '',
-				genderName: '',
-				residentialStatusName: "",
-				isPrimaryContactName: '',
-				ethnicityName: '',
-				educationName: '',
-				partyEmberName: '',
-				workStatusName: '',
-				maritalStatusName: '',
 				// 下拉变量
 				selectBusList: [],
 				selectBusVal: '',
@@ -428,7 +457,8 @@
 					maritalStatus: 0,
 					cardType: 0,
 					healthStatus: 0,
-					residentType: 0
+					residentType: 0,
+					residentialStatus: 0
 				},
 				selectDefaultName: {
 					roleType: "",
@@ -440,9 +470,10 @@
 					partyEmber: "",
 					workStatus: "",
 					maritalStatus: "",
-					cardType: "身份证",
+					cardType: "",
 					healthStatus: "",
-					residentType: ""
+					residentType: "",
+					residentialStatus: ""
 				},
 				showSelectDate: false,
 				regionList: [],
@@ -457,11 +488,15 @@
 				from: "",
 				type: "",
 				id: "",
-				goOutTime: Number(new Date())
+				showSelectBirthday: false,
+				currentTime: Number(new Date()),
 			}
 		},
 		created() {
 			this.getHeader()
+		},
+		onReady() {
+			this.$refs.form.setRules(this.rules)
 		},
 		onLoad(option) {
 			const data = JSON.parse(option.data)
@@ -495,21 +530,28 @@
 
 		onShow() {
 			console.log(this.form);
-			if (this.id) {
-				this.getHouseholdInfo()
-			}
+			// if (this.id) {
+			// 	this.getHouseholdInfo()
+			// }
 		},
 
 		methods: {
+			showLabel() {
+				let arr = []
+				for (let i of this.form.householdLabelList) {
+					arr.push(i.labelName)
+				}
+				return arr.join(",")
+			},
+
 
 			//选择籍贯
 			changeNativeRegion(e) {
-				console.log(e);
 				let {
 					code,
 					value
 				} = e.detail;
-				this.nativePlace = `${value[0]}${value[1]}${value[2]}`
+				this.nativePlace = `${value[0]}-${value[1]}-${value[2]}`
 				this.form.nativePlaceAdcode = code[2];
 
 			},
@@ -520,7 +562,7 @@
 					code,
 					value
 				} = e.detail;
-				this.residentad = `${value[0]}${value[1]}${value[2]}`
+				this.residentad = `${value[0]}-${value[1]}-${value[2]}`
 				this.form.residentAdcode = code[2];
 			},
 
@@ -595,26 +637,27 @@
 								index,
 								name
 							} = this.findObjValue(data[i], this.dataList[i])
-							this.selectDefaultIndex[i] = index;
+							this.selectDefaultIndex[i] = index || 0;
 							this.selectDefaultName[i] = name;
 						}
 
 						if (data.idCard && !data.cardType) {
 							this.$set(this.form, "cardType", this.dataList.cardType[0].dictKey)
 							this.$set(this.selectDefaultIndex, "cardType", 0)
-							this.$set(this.selectDefaultName, "cardType", "身份证")
+							this.$set(this.selectDefaultName, "cardType", "居民身份证")
 						}
 						if (data.nativePlaceAdName) {
 							this.nativePlace =
-								`${data.nativePlaceProvinceAdName}${data.nativePlaceCityAdName}${data.nativePlaceAdName}`
+								`${data.nativePlaceProvinceAdName}-${data.nativePlaceCityAdName}-${data.nativePlaceAdName}`
 							this.navtivePlaceDefault = [data.nativePlaceProvinceAdName, data
 								.nativePlaceCityAdName, data.nativePlaceAdName
 							]
 						}
 						if (data.residentAdName) {
 							this.residentad =
-								`${data.residentProvinceAdName}${data.residentCityAdName}${data.residentAdName}`
-							this.residentadDefault = [data.residentProvinceAdName, data.residentCityAdName,
+								`${data.residentProvinceAdName}-${data.residentCityAdName}-${data.residentAdName}`
+							this.residentadDefault = [data.residentProvinceAdName, data
+								.residentCityAdName,
 								data.residentAdName
 							]
 						}
@@ -656,25 +699,23 @@
 			// 新增更新操作
 			async saveOrUpdate() {
 				this.form['houseCode'] = this.houseCode
-				const idCardRegex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/; // 支持15位、18位或者17位加上最后一位为数字或小写"X"的身份证号码
-				const telRegex = /^1[3456789]\d{9}$/;
-				if (this.form.idCard) {
-					if (!idCardRegex.test(this.form.idCard)) {
-						uni.showToast({
-							title: "身份证号格式有误",
-							icon: "none"
-						})
-						return;
-					}
-				}
-
-				if (this.form.phoneNumber) {
-					if (!telRegex.test(this.form.phoneNumber)) {
-						uni.showToast({
-							title: "手机号格式有误",
-							icon: "none"
-						})
-						return;
+				if (this.form.cardType) {
+					if (this.form.cardType == 111) {
+						if (!this.form.idCard) {
+							uni.showToast({
+								title: "请输入身份证号",
+								icon: "none"
+							})
+							return;
+						}
+					} else {
+						if (!this.form.cardNo) {
+							uni.showToast({
+								title: "请输入证件号",
+								icon: "none"
+							})
+							return;
+						}
 					}
 				}
 				const res = await saveOrUpdateHousehold(this.form)
@@ -699,8 +740,13 @@
 			},
 
 			confirmDate(e) {
-				this.showSelectDate = false;
 				this.form.goOutTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
+				this.showSelectDate = false;
+			},
+
+			confirmBirthday(e) {
+				this.form.birthday = uni.$u.timeFormat(e.value, 'yyyy-mm-dd')
+				this.showSelectBirthday = false;
 			},
 
 			findObjValue(value, obj, key = "value") {
@@ -723,6 +769,8 @@
 
 			navTo() {
 				let data = JSON.parse(JSON.stringify(this.form));
+				// this.$u.func.globalNavigator(
+				// 	`householdLabel?data=${JSON.stringify(data)}&from=add`)
 				if (!this.isEdit) {
 					this.$u.func.globalNavigator(
 						`householdLabel?data=${JSON.stringify(data)}&from=add`)
diff --git a/subPackage/user/role/index.vue b/subPackage/user/role/index.vue
index 0206bb3..12ef592 100644
--- a/subPackage/user/role/index.vue
+++ b/subPackage/user/role/index.vue
@@ -1,15 +1,15 @@
 <template>
 	<view class="container">
 		<view>
-			<role-list :roleData="roleData"  :current-id="selectRole.id"  @select="select"></role-list>
+			<role-list :roleData="roleData" :current-id="selectRole.id" @select="select"></role-list>
 		</view>
 
 		<!-- <view class="cur-btn"  v-if="roleData.length">
 			<u-button @click="submit" type="primary" text="确定"></u-button>
 		</view> -->
-		
-		<footer-btn  v-if="roleData.length"  text="确定"  @click="submit"  />
-		
+
+		<footer-btn v-if="roleData.length" text="确定" @click="submit" />
+
 
 		<u-loading-page :loading="loading"></u-loading-page>
 	</view>
@@ -31,7 +31,6 @@
 			return {
 				roleData: [],
 				selectRole: {},
-
 				loading: false,
 			}
 		},
@@ -50,17 +49,17 @@
 				})
 				let data = res.data
 				console.log(data)
-				data.forEach((item,index) => {
-					if(item.roleName == "居民"){
+				data.forEach((item, index) => {
+					if (item.roleName == "居民") {
 						item.icon = "/static/icon/user-01.png"
-					}else if (item.roleName == "场所负责人"){
+					} else if (item.roleName == "场所负责人") {
 						item.icon = "/static/icon/user-02.png"
-					}else {
+					} else {
 						item.icon = "/static/icon/user-03.png"
-					} 
-					
-					if(item.roleName == "物业管理员"){
-						data.splice(index,1);
+					}
+
+					if (item.roleName == "物业管理员") {
+						data.splice(index, 1);
 					}
 					// this.roleData.push({
 					// 	id: e.id,
@@ -69,10 +68,9 @@
 					// 	active: e.id == this.selectRole.id ? true : false
 					// })
 				})
-				
+
 				this.roleData = data;
 				this.loading = !this.loading
-
 			},
 
 			select(item) {
@@ -88,21 +86,21 @@
 				// const appMenu = data.filter(e => e.name == 'app')[0].children
 				// console.log("菜单:", appMenu)
 				// store.commit("SET_MENU", appMenu)
-				
-				this.$store.dispatch("getMenuList").then(res=>{
+				this.$store.dispatch("getMenuList").then(res => {
 					uni.showToast({
 						title: "切换身份成功",
 						icon: "success",
-						duration:1500,
+						duration: 1500,
 						success: () => {
 							uni.$emit("refresh")
 							setTimeout(() => {
-								this.$u.func.globalNavigator("/pages/home/index", "switchTab")
-							}, 1000)
+								this.$u.func.globalNavigator("/pages/home/index",
+									"switchTab")
+							}, 500)
 						}
 					})
 				});
-				
+
 			}
 		}
 	}
@@ -117,16 +115,17 @@
 		flex-direction: column;
 		// background: #F9F9FA;
 
-		
+
 	}
+
 	.cur-btn {
 		width: 100%;
-		padding:20rpx;
+		padding: 20rpx;
 		position: fixed;
 		bottom: 0;
 		left: 0;
 		box-sizing: border-box;
 		z-index: 10;
-		
+
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3