From b635858327dcf0a098636deb1f88d64e7e7819e5 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Wed, 03 Jan 2024 16:53:20 +0800
Subject: [PATCH] 更新

---
 subPackage/house/roomDetails/index.vue     |    6 
 subPackage/house/member/index.vue          |  143 +++++++++++++++-----
 subPackage/house/member/householdLabel.vue |   61 +-------
 subPackage/house/roomControl/index.vue     |   61 ++++++--
 subPackage/user/family/list.vue            |  105 ++++++++------
 5 files changed, 227 insertions(+), 149 deletions(-)

diff --git a/subPackage/house/member/householdLabel.vue b/subPackage/house/member/householdLabel.vue
index 5650f15..68d4394 100644
--- a/subPackage/house/member/householdLabel.vue
+++ b/subPackage/house/member/householdLabel.vue
@@ -189,7 +189,7 @@
 					})
 				})
 
-				if (this.id) {
+				if (this.id || this.householdInfo.householdLabelList) {
 					let householdLabelList = this.householdInfo.householdLabelList
 					if (householdLabelList.length > 0) {
 						labelChildAll.forEach(e => {
@@ -242,12 +242,6 @@
 				let res = null
 				if (name === '撤销') {
 					if (this.number == 1) {
-						// const data = {
-						// 	labelId: id,
-						// 	householdId: this.householdInfo.id
-						// }
-						// res = await removeHouseholdLabel(data)
-
 						this.removeLabel(id)
 					} else {
 						uni.showToast({
@@ -258,27 +252,12 @@
 						return
 					}
 				} else {
-					// res = await saveOrUpdateHouseholdLabel({
-					// 	householdId: this.householdInfo.id,
-					// 	labelId: id,
-					// 	remark: this.remark,
-					// 	lableType: 1,
-					// 	color,
-					// 	houseCode: this.houseCode,
-					// 	userId: this.householdInfo.associatedUserId
-					// })
 					this.addLabel(id, color)
 				}
-				// if (res.code !== 200) {
-				// 	uni.showToast({
-				// 		title: "修改失败",
-				// 		icon: "error",
-				// 		duration: 1500
-				// 	})
-				// 	return
-				// }
 				// 刷新页面
-				this.getLabelList()
+				if (!this.from) {
+					this.getLabelList()
+				}
 				this.popupShow = false
 			},
 
@@ -286,7 +265,6 @@
 				if (this.from) {
 					let item = this.labelBtnList[this.fIndex];
 					item.children[this.cIndex].color = "";
-					// this.labelBtnList[this.fIndex].children[this.cIndex]
 					this.$set(this.labelBtnList, this.fIndex, item);
 					this.updatePrePageData()
 				} else {
@@ -307,15 +285,12 @@
 			},
 
 			addLabel(id, color) {
-				console.log("color==>", color);
 				if (this.from) {
-					let item = this.labelBtnList[this.fIndex].children[this.cIndex];
-					item.color = color;
-					item.remark = this.remark;
-					console.log(item);
-					// this.labelBtnList[this.fIndex].children[this.cIndex]
-					this.$set(this.labelBtnList[this.fIndex].children, this.cIndex, item);
-					// this.updatePrePageData()
+					let item = this.labelBtnList[this.fIndex];
+					item.children[this.cIndex].color = color;
+					item.children[this.cIndex].remark = this.remark;
+					this.$set(this.labelBtnList, this.fIndex, item);
+					this.updatePrePageData()
 				} else {
 					saveOrUpdateHouseholdLabel({
 						householdId: this.householdInfo.id,
@@ -337,6 +312,7 @@
 				}
 			},
 
+			//更新上个页面数据 
 			updatePrePageData() {
 				let pages = getCurrentPages();
 				let prePage = pages[pages.length - 2];
@@ -354,22 +330,7 @@
 						}
 					}
 				}
-				prePage.$vm.form.householdLabelList = arr;
-
-				// householdLabelList:	[
-				//      {
-				// 	color: "#30D17C"
-				// 	createTime: null
-				// 	houseCode: "00B2E27337554723B2F4843DCE4DE613"
-				// 	householdId: "1738448756973039617"
-				// 	id: 837
-				// 	labelId: 4
-				// 	labelName: "特困人员"
-				// 	lableType: 1
-				// 	remark: ""
-				// 	userId: null
-				// 	}]
-
+				this.$set(prePage.$vm.form, "householdLabelList", arr);
 			}
 
 		}
diff --git a/subPackage/house/member/index.vue b/subPackage/house/member/index.vue
index c3c8cc3..a54080a 100644
--- a/subPackage/house/member/index.vue
+++ b/subPackage/house/member/index.vue
@@ -152,7 +152,12 @@
 
 
 						<u-form-item class="form-item" labelWidth="100" label="标签" @click="navTo">
-
+							<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>
+							</view>
 							<u-icon slot="right" name="arrow-right"></u-icon>
 						</u-form-item>
 
@@ -270,7 +275,12 @@
 				</view>
 			</view> -->
 
-			<footer-btn :text="addOrUpdateTitle" @click="submit" />
+			<view class="footer flex j-c-s-b a-i-c bgc-ff" v-if="type == 2 && from == 'family'">
+				<button class="del-btn footer-btn" @click="delAction">删除</button>
+				<button class="save-btn footer-btn" @click="submit">保存</button>
+			</view>
+
+			<footer-btn v-if="(type == 1 && from == 'family')  || !from" :text="addOrUpdateTitle" @click="submit" />
 		</view>
 
 		<!-- 事件类型下拉框 -->
@@ -442,7 +452,10 @@
 				showRegion: false,
 				navtivePlaceDefault: [],
 				residentadDefault: [],
-				isEdit: false
+				isEdit: false,
+				from: "",
+				type: "",
+				id: ""
 			}
 		},
 		created() {
@@ -453,18 +466,44 @@
 			console.log("data==>", data)
 			this.houseCode = data.houseCode
 			this.getRegionList()
+			this.type = data.type;
+			if (data.id) {
+				this.id = data.id;
+			}
 			if (data.type == 1) {
 				this.isEdit = false;
 				this.addOrUpdateTitle = "保存"
 				this.getAllBizDict()
+				if (option.from) {
+					uni.setNavigationBarTitle({
+						title: "添加成员"
+					})
+				}
 			}
 			if (data.type == 2) {
 				this.isEdit = true;
 				this.addOrUpdateTitle = "修改"
+				if (option.from) {
+					uni.setNavigationBarTitle({
+						title: "编辑成员资料"
+					})
+				}
 				this.getHouseholdInfo(data)
 			}
+			if (option.from) {
+				this.from = option.from;
+			}
+		},
+
+		onShow() {
+			console.log(this.form);
+			if (this.id) {
+				this.getHouseholdInfo()
+			}
+
 
 		},
+
 		methods: {
 
 			//选择籍贯
@@ -545,12 +584,12 @@
 				})
 			},
 			// 获取住户信息
-			async getHouseholdInfo(data) {
+			async getHouseholdInfo() {
 				// 获取所有字典
 				await this.getAllBizDict()
 				// this.form = data
 				getHouseholdDetail({
-					id: data.id
+					id: this.id
 				}).then(res => {
 					if (res.code == 200) {
 						this.form = res.data;
@@ -621,37 +660,6 @@
 			// 新增更新操作
 			async saveOrUpdate() {
 				this.form['houseCode'] = this.houseCode
-				// 字典解析
-				// const roleTypeIndex = this.dataList.roleList.findIndex(item => item.name === this.roleTypeName)
-				// const relationshipIndex = this.dataList.relationshipList.findIndex(item => item.name === this
-				// 	.relationshipName)
-				// const genderIndex = this.dataList.genderList.findIndex(item => item.name === this.genderName)
-				// const isPrimaryContactIndex = this.dataList.isPrimaryContactList.findIndex(item => item.name === this
-				// 	.isPrimaryContactName)
-				// const ethnicityIndex = this.dataList.ethnicityList.findIndex(item => item.name === this.ethnicityName)
-				// const educationIndex = this.dataList.educationList.findIndex(item => item.name === this.educationName)
-				// const partyEmberIndex = this.dataList.partyEmberList.findIndex(item => item.name === this
-				// 	.partyEmberName)
-				// const workStatusIndex = this.dataList.workStatusList.findIndex(item => item.name === this
-				// 	.workStatusName)
-				// const maritalStatusIndex = this.dataList.maritalStatusList.findIndex(item => item.name === this
-				// 	.maritalStatusName)
-
-				// this.form['roleType'] = roleTypeIndex >= 0 ? this.dataList.roleList[roleTypeIndex].value : ""
-				// this.form['relationship'] = relationshipIndex >= 0 ? this.dataList.relationshipList[relationshipIndex]
-				// 	.value : ""
-				// this.form['gender'] = genderIndex >= 0 ? this.dataList.genderList[genderIndex].value : ""
-				// this.form['isPrimaryContact'] = isPrimaryContactIndex >= 0 ? this.dataList.isPrimaryContactList[
-				// 	isPrimaryContactIndex].value : ""
-				// this.form['ethnicity'] = ethnicityIndex >= 0 ? this.dataList.ethnicityList[ethnicityIndex].value : ""
-				// this.form['education'] = educationIndex >= 0 ? this.dataList.educationList[educationIndex].value : ""
-				// this.form['partyEmber'] = partyEmberIndex >= 0 ? this.dataList.partyEmberList[partyEmberIndex].value :
-				// 	""
-				// this.form['workStatus'] = workStatusIndex >= 0 ? this.dataList.workStatusList[workStatusIndex].value :
-				// 	""
-				// this.form['maritalStatus'] = maritalStatusIndex >= 0 ? this.dataList.maritalStatusList[
-				// 	maritalStatusIndex].value : ""
-
 				const res = await saveOrUpdateHousehold(this.form)
 				if (res.code !== 200) {
 					uni.showToast({
@@ -705,9 +713,35 @@
 					this.$u.func.globalNavigator(
 						`householdLabel?data=${JSON.stringify(data)}`)
 				}
+			},
 
-
+			delAction() {
+				uni.showModal({
+					title: "提示!",
+					content: "是否要删除该家人信息?",
+					success: (res) => {
+						if (res.confirm) {
+							this.ddelActionRequest()
+						}
+					}
+				})
+			},
+			ddelActionRequest() {
+				removeHousehold(this.form.id).then(res => {
+					if (res.code == 200) {
+						setTimeout(() => {
+							uni.navigateBack();
+						}, 1000)
+					} else {
+						uni.showToast({
+							title: "删除失败",
+							icon: "error",
+							duration: 1500
+						})
+					}
+				})
 			}
+
 		}
 	}
 </script>
@@ -797,6 +831,41 @@
 		.c-30 {
 			color: #303133;
 		}
+	}
 
+	.footer {
+		width: 100%;
+		padding: 20rpx 30rpx;
+		box-sizing: border-box;
+		z-index: 999;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		backgroun-color: #fff;
+		padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
+		box-shadow: 0rpx 0rpx 10rpx 1rpx rgba(0, 0, 0, 0.1);
+
+		.footer-btn {
+			width: 48%;
+			height: 78rpx;
+			line-height: 78rpx;
+			border-radius: 8rpx 8rpx 8rpx 8rpx;
+			font-size: 32rpx;
+			color: #fff;
+		}
+
+		.add-btn {
+			width: 100%;
+			background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+		}
+
+		.del-btn {
+			background: linear-gradient(163deg, #FE6C5C 0%, #EA1F1F 99%);
+
+		}
+
+		.save-btn {
+			background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
+		}
 	}
 </style>
\ No newline at end of file
diff --git a/subPackage/house/roomControl/index.vue b/subPackage/house/roomControl/index.vue
index 7241879..0e28bde 100644
--- a/subPackage/house/roomControl/index.vue
+++ b/subPackage/house/roomControl/index.vue
@@ -4,24 +4,30 @@
 			<view class="content">
 				<u-form labelWidth="70" :model="form" ref="form" :rules="rules">
 					<view class="basic-info">
-						<u-form-item class="form-item" labelWidth="100" label="绑定手机" required prop="phone">
-							<u--input border="none" v-model="form.phone"  :disabled="roleType == 2?true:false"  placeholder="请输入">
+						<u-form-item class="form-item" labelWidth="100" label="绑定手机" required borderBottom prop="phone">
+							<u--input border="none" v-model="form.phone" :disabled="roleType == 2?true:false"
+								:placeholder="setPlaceholder(1)">
 							</u--input>
 						</u-form-item>
 
-						<u-form-item class="form-item" labelWidth="100" label="地址">
-							<u--input border="none" v-model="form.address" disabled>
+						<u-form-item class="form-item" labelWidth="100" label="地址" borderBottom>
+							<u--input border="none" :placeholder="setPlaceholder(1)" v-model="form.address"
+								:disabled="roleType == 2?true:false">
 							</u--input>
 						</u-form-item>
 
-						<u-form-item class="form-item" labelWidth="100" label="物业月费">
-							<u--input border="none" v-model="form.propertyPrice" disabled>
+						<u-form-item class="form-item" labelWidth="100" label="物业月费" borderBottom>
+							<u--input border="none" :placeholder="setPlaceholder(1)" v-model="form.propertyPrice"
+								:disabled="roleType == 2?true:false">
 							</u--input>
 						</u-form-item>
 
-						<u-form-item class="form-item" labelWidth="100" label="到期时间">
-							<u--input border="none" v-model="form.serviceDue" disabled>
+						<u-form-item class="form-item" labelWidth="100" label="到期时间" borderBottom
+							@click="showSelectDate = true">
+							<u--input border="none" :placeholder="setPlaceholder(2)" v-model="form.serviceDue" disabled
+								disabledColor="#ffffff">
 							</u--input>
+							<u-icon slot="right" name="arrow-right" v-show="roleType != 2"></u-icon>
 						</u-form-item>
 					</view>
 
@@ -33,7 +39,7 @@
 							@delete="deletePic" uploadIcon="/static/icon/upload.png">
 						</u-upload>
 					</view>
-					<view class=" flex label-btn-box b-c-w"  v-if="roleType == 2">
+					<view class=" flex label-btn-box b-c-w" v-if="roleType == 2">
 						<newBoxTitle title="房屋标签"></newBoxTitle>
 						<view class="list">
 							<view v-for="(item, index) in labelBtnList" :key="index">
@@ -75,6 +81,11 @@
 		<my-select v-if="showList.relation" :show="showList.relation" v-model="form.relation" type="radio"
 			popupTitle="请选择租客关系" :dataLists="dataList.relation" @cancel="showList.relation = false">
 		</my-select>
+
+
+		<u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="serveTime" mode="datetime"
+			:formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
+
 	</view>
 </template>
 
@@ -179,7 +190,9 @@
 				remark: '',
 				// 标记
 				number: 0,
-				roleType:1
+				roleType: 1,
+				showSelectDate: false,
+				serveTime: Number(new Date()),
 
 			}
 		},
@@ -190,17 +203,17 @@
 
 		},
 		onLoad(option) {
-			if(option.code){
+			if (option.code) {
 				this.houseCode = option.code;
-			}else {
+			} else {
 				this.houseCode = uni.getStorageSync("siteInfo").houseCode;
 				uni.setNavigationBarTitle({
-					title:"我的房屋"
+					title: "我的房屋"
 				})
 			}
-			
+
 			let roleName = uni.getStorageSync("activeRole").roleName;
-			if(roleName == "网格员"){
+			if (roleName == "网格员") {
 				this.roleType = 2;
 			}
 		},
@@ -209,6 +222,22 @@
 			this.getHouseDetailInfo()
 		},
 		methods: {
+
+			confirmDate(e) {
+				if (this.roleType == 2) return;
+				this.showSelectDate = false;
+				this.form.serviceDue = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
+			},
+
+			setPlaceholder(type) {
+				if (this.roleType == 2) {
+					return "未完善"
+				} else {
+					return type == 1 ? "请输入" : "请选择"
+				}
+			},
+
+
 			// 获取房屋详情
 			async getHouseDetailInfo() {
 				var that = this;
@@ -492,4 +521,4 @@
 			}
 		}
 	}
-</style>
+</style>
\ No newline at end of file
diff --git a/subPackage/house/roomDetails/index.vue b/subPackage/house/roomDetails/index.vue
index 0f90b89..2a42d0e 100644
--- a/subPackage/house/roomDetails/index.vue
+++ b/subPackage/house/roomDetails/index.vue
@@ -240,7 +240,7 @@
 				this.from = e.from;
 			}
 
-			this.getHouseRentInfoList()
+
 
 		},
 
@@ -254,6 +254,10 @@
 		},
 
 
+		onShow() {
+			this.getHouseRentInfoList()
+		},
+
 		methods: {
 			// 跳转住户标签管理页面
 			goToHouseholdLabel(data) {
diff --git a/subPackage/user/family/list.vue b/subPackage/user/family/list.vue
index 0126ecd..dbad1d9 100644
--- a/subPackage/user/family/list.vue
+++ b/subPackage/user/family/list.vue
@@ -1,22 +1,22 @@
 <template>
 	<view class="">
-		
+
 		<view class="list">
-           <view class="list-item flex j-c-s-b a-i-c"  v-for="(item,index) in list" :key="index">
-           	    <view class="flex">
-					<u-avatar  src="/static/icon/user-01.png"  size="44"></u-avatar>
-           	    	<view class="flex f-d-c ml-40 j-c-s-b">
-           	    		<text class="f-28">{{item.name}}</text>
+			<view class="list-item flex j-c-s-b a-i-c" v-for="(item,index) in list" :key="index">
+				<view class="flex">
+					<u-avatar src="/static/icon/user-01.png" size="44"></u-avatar>
+					<view class="flex f-d-c ml-40 j-c-s-b">
+						<text class="f-28">{{item.name}}</text>
 						<!-- <view class="flex a-i-c">
 							<u-icon name="phone-fill"   color="#017BFC"></u-icon>
 							<text class="f-24 ml-10 c-99">13807937200</text>
 						</view> -->
-           	    	</view>	
-           	    </view>
-				<button class="action-btn c-main f-24"   @click="navTo(2,item)">管理</button>
-           </view>			
+					</view>
+				</view>
+				<button class="action-btn c-main f-24" @click="navTo(2,item)">管理</button>
+			</view>
 		</view>
-		<footer-btn  text="添加成员"  @click="navTo(1)"  />
+		<footer-btn text="添加成员" @click="navTo(1)" />
 	</view>
 </template>
 
@@ -25,61 +25,76 @@
 		getHouseRentInfo
 	} from "@/api/doorplateAddress/doorplateAddress";
 	export default {
-		data(){
+		data() {
 			return {
-				list:[]
+				list: []
 			}
 		},
-		onShow(){
+		onShow() {
 			this.getList()
 		},
-		
-		methods:{
-			
-			getList(){
+
+		methods: {
+
+			getList() {
 				let code = uni.getStorageSync("siteInfo").houseCode
-				getHouseRentInfo(code).then(res=>{
+				getHouseRentInfo(code).then(res => {
 					console.log(res);
-					if(res.code == 200){
+					if (res.code == 200) {
 						this.list = res.data.householdList;
 					}
 				})
 			},
-			
-			navTo(type,item){
-				if(type == 2){
-					uni.navigateTo({
-						url:`edit?type=${type}&data=${JSON.stringify(item)}`
-					})
-				}else {
-					uni.navigateTo({
-						url:`edit?type=${type}`
-					})
+
+			// navTo(type,item){
+			// 	if(type == 2){
+			// 		uni.navigateTo({
+			// 			url:`edit?type=${type}&data=${JSON.stringify(item)}`
+			// 		})
+			// 	}else {
+			// 		uni.navigateTo({
+			// 			url:`edit?type=${type}`
+			// 		})
+			// 	}
+			// }
+
+			navTo(type, data = {}) {
+				if (type == 1) {
+					data['type'] = 1
+					data['houseCode'] = this.houseCode
 				}
-				
-			}
+				if (type == 2) {
+					data['type'] = 2
+				}
+				var navData = JSON.stringify(data);
+				this.$u.func.globalNavigator(`/subPackage/house/member/index?data=${navData}&from=family`)
+			},
+
 		}
 	}
 </script>
 
 <style lang="scss">
-	.list{
-		padding:0 30rpx 130rpx;
-		.list-item{
-			padding:30rpx 0;
-			border-bottom:1px solid #F5F5F5;
+	.list {
+		padding: 0 30rpx 130rpx;
+
+		.list-item {
+			padding: 30rpx 0;
+			border-bottom: 1px solid #F5F5F5;
 		}
-		.action-btn{
-			width:88rpx;
-			height:40rpx;
+
+		.action-btn {
+			width: 88rpx;
+			height: 40rpx;
 			line-height: 40rpx;
 			border-radius: 30rpx;
-			border:1px solid currentColor;
-			padding:0;
-			margin:0;
+			border: 1px solid currentColor;
+			padding: 0;
+			margin: 0;
 		}
-		.ml-40{
-			margin-left:40rpx;
+
+		.ml-40 {
+			margin-left: 40rpx;
 		}
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3