From 52d315a6cfaffad9671da156f42507aacc537e59 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sat, 04 Nov 2023 11:18:07 +0800
Subject: [PATCH] 房屋管理数据修改完善,上传保存修改为非全路径

---
 api/doorplateAddress/doorplateAddress.js   |   38 -----
 subPackage/bs/views/zhsb.vue               |    4 
 subPackage/bs/views/rentDetail.vue         |    2 
 subPackage/bs/components/list/rentList.vue |    2 
 subPackage/house/roomControl/index.vue     |  134 +++++++++++++++------
 mixin/uploadMixin.js                       |    7 
 subPackage/house/roomDetails/index.vue     |   16 ++
 api/house/house.js                         |   20 +++
 api/label/label.js                         |    9 +
 subPackage/workbench/views/cscj.vue        |    5 
 common/setting.js                          |    3 
 api/house/houseLabel.js                    |   32 +++++
 api/houseRental/houseRental.js             |   30 +---
 13 files changed, 192 insertions(+), 110 deletions(-)

diff --git a/api/doorplateAddress/doorplateAddress.js b/api/doorplateAddress/doorplateAddress.js
index 96a2322..67dfda1 100644
--- a/api/doorplateAddress/doorplateAddress.js
+++ b/api/doorplateAddress/doorplateAddress.js
@@ -10,6 +10,7 @@
 	clientSecret
 } from '@/common/setting'
 
+// 获取楼栋集合数据
 export const getDoorplateAddressList = (code, type) => {
 	return http.request({
 		url: 'blade-doorplateAddress/doorplateAddress/getDoorplateAddressList',
@@ -21,8 +22,7 @@
 	})
 }
 
-
-
+// 获取功能菜单数据
 export const getFuncList = (type, roleName) => {
 	return http.request({
 		url: 'blade-doorplateAddress/doorplateAddress/getFuncList',
@@ -42,7 +42,7 @@
 	})
 }
 
-// 获取当前房屋出租信息
+// 获取当前房屋/出租屋信息
 export const getHouseRentInfo = (code) => {
 	return http.request({
 		url: 'blade-doorplateAddress/doorplateAddress/getHouseRentInfo',
@@ -50,38 +50,6 @@
 		params: {
 			code
 		}
-	})
-}
-
-// 获取房屋标签信息
-export const getHouseLabelList = () => {
-	return http.request({
-		url: 'blade-label/label/getLabelList',
-		method: 'GET',
-		params: {
-			parentId: 1001
-		}
-	})
-}
-
-// 获取房屋详细信息
-export const getHouseDetail = (houseCode) => {
-	return http.request({
-		url: 'blade-house/house/getHouseDetail',
-		method: 'GET',
-		params: {
-			houseCode
-		}
-	})
-}
-
-
-// 获取房屋详细信息
-export const addHouseRental = (data) => {
-	return http.request({
-		url: 'blade-houseRental/houseRental/add',
-		method: 'POST',
-		data
 	})
 }
 
diff --git a/api/house/house.js b/api/house/house.js
new file mode 100644
index 0000000..c33bc16
--- /dev/null
+++ b/api/house/house.js
@@ -0,0 +1,20 @@
+import http from '@/http/api.js'
+
+// 获取房屋详细信息
+export const getHouseDetail = (param) => {
+	return http.request({
+		url: 'blade-house/house/getHouseDetail',
+		method: 'GET',
+		params: param
+	})
+}
+
+// 获取房屋详细信息
+export const saveOrUpdateHouse = (data) => {
+	return http.request({
+		url: 'blade-house/house/saveOrUpdateHouse',
+		method: 'POST',
+		data: data
+	})
+}
+
diff --git a/api/house/houseLabel.js b/api/house/houseLabel.js
new file mode 100644
index 0000000..7875b97
--- /dev/null
+++ b/api/house/houseLabel.js
@@ -0,0 +1,32 @@
+import http from '@/http/api.js'
+
+// 获取房屋详细信息
+export const getHouseDetail = (houseCode) => {
+	return http.request({
+		url: 'blade-house/house/getHouseDetail',
+		method: 'GET',
+		params: {
+			houseCode
+		}
+	})
+}
+
+// 房屋标签修改
+export const updateHouseLabel = (data) => {
+	return http.request({
+		url: 'blade-houseLabel/houseLabel/saveOrUpdateHouseLabel',
+		method: 'POST',
+		data
+	})
+}
+
+// 房屋标签撤销
+export const removeHouseLabel = (ids) => {
+	return http.request({
+		url: 'blade-houseLabel/houseLabel/remove',
+		method: 'POST',
+		params: {
+			ids
+		}
+	})
+}
\ No newline at end of file
diff --git a/api/houseRental/houseRental.js b/api/houseRental/houseRental.js
index e048557..b321994 100644
--- a/api/houseRental/houseRental.js
+++ b/api/houseRental/houseRental.js
@@ -1,5 +1,15 @@
 import http from '@/http/api.js'
 
+
+// 添加租赁信息
+export const addHouseRental = (data) => {
+	return http.request({
+		url: 'blade-houseRental/houseRental/add',
+		method: 'POST',
+		data
+	})
+}
+
 //删除
 export const deleteRentalInfo = (id) => {
 	return http.request({
@@ -33,25 +43,5 @@
 			'Authorization': true
 		},
 		data
-	})
-}
-
-// 房屋标签修改
-export const updateHouseLabel = (data) => {
-	return http.request({
-		url: 'blade-houseLabel/houseLabel/saveOrUpdateHouseLabel',
-		method: 'POST',
-		data
-	})
-}
-
-// 房屋标签撤销
-export const removeHouseLabel = (ids) => {
-	return http.request({
-		url: 'blade-houseLabel/houseLabel/remove',
-		method: 'POST',
-		params: {
-			ids
-		}
 	})
 }
\ No newline at end of file
diff --git a/api/label/label.js b/api/label/label.js
index 41b60cf..4014c81 100644
--- a/api/label/label.js
+++ b/api/label/label.js
@@ -7,4 +7,13 @@
 		method: 'GET',
 		params
 	})
+}
+
+// 获取标签信息
+export const getLabelListByParentId = (param) => {
+	return http.request({
+		url: 'blade-label/label/getLabelList',
+		method: 'GET',
+		params: param
+	})
 }
\ No newline at end of file
diff --git a/common/setting.js b/common/setting.js
index 9184fc1..9f9bed3 100644
--- a/common/setting.js
+++ b/common/setting.js
@@ -11,7 +11,8 @@
 	// 开发环境接口Url
 	// devUrl: 'https://sk.hubeishuiyi.cn',
 	// devUrl: 'http://192.168.1.156:9528',
-	devUrl:'http://192.168.0.207:9528',
+	devUrl:'http://192.168.1.50:9528',
+	minioBaseUrl:"http://60.220.177.113:9000/jczz/",
 	// 数据中台接口url
 	// dataCenterUrl: 'http://10.10.2.192/services',
 	dataCenterUrl: 'https://sk.hubeishuiyi.cn/services',
diff --git a/mixin/uploadMixin.js b/mixin/uploadMixin.js
index b6e9c0d..5e27b48 100644
--- a/mixin/uploadMixin.js
+++ b/mixin/uploadMixin.js
@@ -63,7 +63,7 @@
 		//上传成功后对返回数据进行处理
 		async afterReadImg(event) {
 			this.showLoading()
-
+			var that = this;
 			// 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
 			let lists = [].concat(event.file)
 			let fileListLen = this.form.images.length
@@ -76,8 +76,9 @@
 			})
 			for (let i = 0; i < lists.length; i++) {
 				const result = await this.uploadFilePromise(lists[i].url)
-				this.form.images.splice(fileListLen, 1, Object.assign({}, {
-					url: result.data.link
+				that.form.images.splice(fileListLen, 1, Object.assign({}, {
+					url: result.data.link,
+					name:result.data.name
 				}))
 				fileListLen++
 			}
diff --git a/subPackage/bs/components/list/rentList.vue b/subPackage/bs/components/list/rentList.vue
index c9c35de..83de5eb 100644
--- a/subPackage/bs/components/list/rentList.vue
+++ b/subPackage/bs/components/list/rentList.vue
@@ -18,8 +18,10 @@
 
 			<view class="list-btn">
 				<u-button icon="edit-pen" class="btn-item" type="primary" plain text="修改"
+				:disabled="item.status == 1 || item.status == 2"
 					@click="pushPage(item)"></u-button>
 				<u-button icon="calendar" class="btn-item" type="primary" plain text="续租"
+				:disabled="item.status == 2"
 					@click="xzHandleClick(item)"></u-button>
 				<u-button icon="order" class="btn-item" type="primary" plain text="终止"
 					:disabled="item.status == 1 || item.status == 2" @click="terminate(item)"></u-button>
diff --git a/subPackage/bs/views/rentDetail.vue b/subPackage/bs/views/rentDetail.vue
index 26a79a2..eb43227 100644
--- a/subPackage/bs/views/rentDetail.vue
+++ b/subPackage/bs/views/rentDetail.vue
@@ -83,10 +83,10 @@
 	import uploadMixin from "@/mixin/uploadMixin";
 	import {
 		uploadFile,
-		addHouseRental,
 		getHouseRentInfo,
 	} from "@/api/doorplateAddress/doorplateAddress";
 	import {
+		addHouseRental,
 		updateRetalInfo
 	} from '@/api/houseRental/houseRental.js'
 	import {
diff --git a/subPackage/bs/views/zhsb.vue b/subPackage/bs/views/zhsb.vue
index 2ae5da5..48c3154 100644
--- a/subPackage/bs/views/zhsb.vue
+++ b/subPackage/bs/views/zhsb.vue
@@ -53,7 +53,6 @@
 			location: "",
 			room: "",
 			num: 0,
-
 			//出租列表
 			rentList: []
 		}
@@ -72,13 +71,14 @@
 			const res = await getHouseRentInfo(this.houseCode)
 			const {
 				aoiName,
+				subAoi,
 				buildingName,
 				doorplateName,
 				unitName,
 				houseRentalList
 			} = res.data
 			this.rentList = []
-			this.location = (!!aoiName ? aoiName : '') + buildingName
+			this.location = (!!aoiName ? aoiName : subAoi) + buildingName
 			this.room = (!!unitName ? unitName : '') + doorplateName + "室"
 			this.num = 0
 			houseRentalList !== 0 && houseRentalList.forEach(item => {
diff --git a/subPackage/house/roomControl/index.vue b/subPackage/house/roomControl/index.vue
index 1aea5c4..efc2f4a 100644
--- a/subPackage/house/roomControl/index.vue
+++ b/subPackage/house/roomControl/index.vue
@@ -11,28 +11,27 @@
 							</u--input>
 						</u-form-item>
 
-						<u-form-item class="form-item" labelWidth="100" label="地址" required>
+						<u-form-item class="form-item" labelWidth="100" label="地址" >
 							<u--input border="none" v-model="form.address" disabled>
 							</u--input>
 						</u-form-item>
 
-						<u-form-item class="form-item" labelWidth="100" label="物业月费" required>
-							<u--input border="none" v-model="form.property_price" disabled>
+						<u-form-item class="form-item" labelWidth="100" label="物业月费" >
+							<u--input border="none" v-model="form.propertyPrice" disabled>
 							</u--input>
 						</u-form-item>
 
-						<u-form-item class="form-item" labelWidth="100" label="到期时间" required>
-							<u--input border="none" v-model="form.service_due" disabled>
+						<u-form-item class="form-item" labelWidth="100" label="到期时间" >
+							<u--input border="none" v-model="form.serviceDue" disabled>
 							</u--input>
 						</u-form-item>
 					</view>
 
 					<box-title class="mt-20" title="房屋外观"></box-title>
 					<view class="pic mt-20">
-						<u-upload :fileList="form.image_urls" :previewFullImage="uploadConfig.previewFullImage"
-							:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
-							:maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
-							@delete="deletePic">
+						<u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
+							:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
+							:capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
 						</u-upload>
 					</view>
 
@@ -47,7 +46,7 @@
 			</view>
 
 			<view class="edit-btn">
-				<u-button type="primary" text="修改数据"></u-button>
+				<u-button type="primary" text="修改数据" @click="updateHouseInfo(item)"></u-button>
 			</view>
 		</view>
 
@@ -79,14 +78,21 @@
 <script>
 	import uploadMixin from "@/mixin/uploadMixin";
 	import {
-		getHouseDetail,
-		getHouseLabelList,
-		uploadFile,
+		uploadFile
 	} from "@/api/doorplateAddress/doorplateAddress";
+	import {
+		getLabelListByParentId
+	} from "@/api/label/label.js";
 	import {
 		updateHouseLabel,
 		removeHouseLabel
 	} from "@/api/houseRental/houseRental.js";
+	import {
+		getHouseDetail,saveOrUpdateHouse
+	} from "@/api/house/house.js";
+	import {
+		minioBaseUrl
+	} from '@/common/setting'
 	export default {
 		mixins: [uploadMixin],
 		data() {
@@ -95,9 +101,9 @@
 				form: {
 					phone: "",
 					address: "",
-					property_price: "",
-					service_due: "",
-					image_urls: []
+					propertyPrice: "",
+					serviceDue: "",
+					imageUrls: "",
 				},
 				showList: {
 					relation: false
@@ -161,6 +167,39 @@
 			this.getHouseDetailInfo()
 		},
 		methods: {
+			// 更新房屋数据
+			async updateHouseInfo(){
+				this.form['houseCode'] = this.houseCode
+				if (this.form.images.length > 0) {
+					let urls = []
+					this.form.images.forEach(e => {
+						urls.push(e.name)
+					})
+					this.form.imageUrls = urls.join(",")
+				}
+				const {
+					code,
+					data
+				} = await saveOrUpdateHouse(this.form)
+				if (code !== 200) {
+					uni.showToast({
+						title: "房屋信息修改失败",
+						icon: "error",
+						duration: 1500
+					})
+					return
+				}
+				uni.showToast({
+					title: "房屋信息修改成功",
+					icon: "success",
+					duration: 1500,
+					success: () => {
+						setTimeout(() => {
+							uni.navigateBack()
+						}, 1500)
+					}
+				})
+			},
 			showLabelPopup(item) {
 				this.popupShow = true
 				this.labelModelInfo.title = item.name
@@ -203,37 +242,50 @@
 				this.getLabelList()
 				this.popupShow = false
 			},
+			// 获取房屋详情
 			async getHouseDetailInfo() {
-				const res = await getHouseDetail()
-				const {
-					phone,
-					address,
-					property_price,
-					service_due,
-					image_urls
-				} = res.data
-				this.form = {
-					phone,
-					address,
-					property_price,
-					service_due,
-					image_urls: [
-						image_urls
-					]
+				const param = {
+					houseCode : this.houseCode
+				}
+				const res = await getHouseDetail(param)
+				if(null != res.data){
+					const images = []
+					const {
+						phone,
+						address,
+						propertyPrice,
+						serviceDue,
+						imageUrls
+					} = res.data
+					if(imageUrls.length>0){
+						const urls = imageUrls.split(',')
+						// 遍历
+						urls.forEach(e=>{
+							images.push({
+								url:minioBaseUrl + e,
+								name: e
+							})
+						})
+						
+					}
+					this.form = {
+						phone,
+						address,
+						propertyPrice,
+						serviceDue,
+						imageUrls,
+						images
+					}
 				}
 			},
+			// 获取房屋标签信息
 			async getLabelList() {
-				const res = await getHouseLabelList()
+				const param = {
+					parentId:1001
+				}
+				const res = await getLabelListByParentId(param)
 				this.labelBtnList = res.data
 			},
-			async afterReadImg(event) {
-				// let lists = [].concat(event.file)
-				// lists.forEach(item => {
-				// 	const { url } = item
-				// 	uploadFile(item)
-				// })
-
-			}
 		}
 	}
 </script>
diff --git a/subPackage/house/roomDetails/index.vue b/subPackage/house/roomDetails/index.vue
index 8f72e95..3f51dee 100644
--- a/subPackage/house/roomDetails/index.vue
+++ b/subPackage/house/roomDetails/index.vue
@@ -81,9 +81,12 @@
 							</view>
 						</view>
 						<view class="btn-box flex j-c-s-a">
-							<u-button color="#CDF3DF" text="修改" @click="editRent(item)"></u-button>
-							<u-button color="#DAE7FF" text="续租" @click="reletRent(item)"></u-button>
-							<u-button color="#FCCED3" text="终止" @click="terRent(item)"></u-button>
+							<u-button icon="edit-pen" class="btn-item" type="primary" plain text="修改"
+								:disabled="item.status == 1 || item.status == 2" @click="editRent(item)"></u-button>
+							<u-button icon="calendar" class="btn-item" type="primary" plain text="续租"
+								:disabled="item.status == 2" @click="reletRent(item)"></u-button>
+							<u-button icon="order" class="btn-item" type="primary" plain text="终止"
+								:disabled="item.status == 1 || item.status == 2" @click="terRent(item)"></u-button>
 						</view>
 					</view>
 				</view>
@@ -375,6 +378,13 @@
 							&>.u-button {
 								margin: 0 16rpx;
 							}
+							
+							.btn-item {
+								margin: 0 10rpx;
+								border: 0;
+								color: #009FFF;
+								font-weight: 700;
+							}
 						}
 					}
 				}
diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index 2a87976..418c1a4 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -383,14 +383,11 @@
 			submit() {
 				const that = this
 				this.$refs.form.validate().then(valid => {
-
 					if (valid) {
-
-
 						if (this.form.images.length > 0) {
 							let urls = []
 							this.form.images.forEach(e => {
-								urls.push(e.url)
+								urls.push(e.name)
 							})
 							this.form.imageUrls = urls.join(",")
 						}

--
Gitblit v1.9.3