From 964faa1077a89713910063c39ebe08fac4e4c56e Mon Sep 17 00:00:00 2001
From: Houjie <714924425@qq.com>
Date: 星期四, 24 七月 2025 17:44:18 +0800
Subject: [PATCH] 企业维修适配修改

---
 pages/maintenanceReport/maintenanceReportDetils/maintenanceReportDetils.vue |  279 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 147 insertions(+), 132 deletions(-)

diff --git a/pages/maintenanceReport/maintenanceReportDetils/maintenanceReportDetils.vue b/pages/maintenanceReport/maintenanceReportDetils/maintenanceReportDetils.vue
index a2deddc..0b2cbd5 100644
--- a/pages/maintenanceReport/maintenanceReportDetils/maintenanceReportDetils.vue
+++ b/pages/maintenanceReport/maintenanceReportDetils/maintenanceReportDetils.vue
@@ -9,38 +9,42 @@
 
 			<uni-forms ref="form" :modelValue="formData" validate-trigger="bind" err-show-type="undertext">
 				<uni-group top="1">
-					<uni-forms-item name="num" :label-width="100" label="宸ュ崟鍙�:">
+					<!-- <uni-forms-item name="num" :label-width="100" label="宸ュ崟缂栧彿:">
 						<uni-easyinput v-model="formData.repairCode" :disabled="true" />
-					</uni-forms-item>
-					<uni-forms-item required name="num" :label-width="100" label="璁惧缂栧彿:">
+					</uni-forms-item> -->
+					<uni-forms-item name="num" :label-width="100" label="璁惧缂栧彿:">
 						<uni-data-select v-model="formData.num" :localdata="equipmentList" @change="changeEquipmentList"
 							placeholder="璇烽�夋嫨" :disabled="true" />
 					</uni-forms-item>
-					<uni-forms-item name="actualStartTime" :label-width="100" label="缁翠慨寮�濮嬫椂闂�:">
-						<uni-easyinput v-model="formData.actualStartTime" :disabled="true" />
+					<uni-forms-item name="equipmentName" :label-width="100" label="璁惧鍚嶇О:">
+						<uni-easyinput v-model="formData.equipmentName" :disabled="true" />
 					</uni-forms-item>
-					<uni-forms-item name="outNum" :label-width="100" label="缁翠慨璐熻矗浜�:">
-						<uni-easyinput v-model="formData.repairer" :disabled="true" />
+					<uni-forms-item name="installationPosition_dictText" :label-width="100" label="瀹夎浣嶇疆:">
+						<uni-easyinput v-model="formData.installationPosition_dictText" :disabled="true" />
+					</uni-forms-item>
+					<uni-forms-item name="reportStatus" :label-width="100" label="缁翠慨鐘舵��:">
+						<uni-easyinput v-model="formData.reportStatus" :disabled="true" />
+					</uni-forms-item>
+					<uni-forms-item name="faultName" :label-width="100" label="鏁呴殰绠�绉�">
+						<uni-easyinput v-model="formData.faultName" :disabled="true" />
 					</uni-forms-item>
 					<uni-forms-item name="outNum" :label-width="100" label="鏁呴殰鎻忚堪:">
 						<uni-easyinput v-model="formData.faultDescription" :disabled="true" />
 					</uni-forms-item>
+					<uni-forms-item name="faultStartTime" :label-width="100" label="鏁呴殰寮�濮嬫椂闂�:">
+						<uni-easyinput v-model="formData.faultStartTime" :disabled="true" />
+					</uni-forms-item>
+					<uni-forms-item :label-width="100" name="repairer_dictText" label="鏄惁鍋滄満:">
+						<uni-easyinput v-model="formData.breakdownFlag_dictText" :disabled="true" />
+					</uni-forms-item>
 					<uni-forms-item name="remark" :label-width="100" label="澶囨敞:">
 						<uni-easyinput v-model="formData.remark" :disabled="true" />
 					</uni-forms-item>
-					<uni-forms-item name="outNum" :label-width="100" label="缁翠慨鍥剧墖:">
-						<view class="grid col-4 grid-square flex-sub">
-							<view class="bg-img" v-for="(item,index) in  imgList" :key="index" @tap="ViewImage"
-								:data-url="imgList[index]">
-								<image :src="imgList[index]" mode="aspectFill"></image>
-								<view class="cu-tag bg-red radius" @tap.stop="DelImg" :data-index="index">
-									<text class='cuIcon-close'></text>
-								</view>
-							</view>
-							<view class="solids" v-if="imgList.length<1">
-								<text class='cuIcon-cameraadd'></text>
-							</view>
-						</view>
+					<uni-forms-item name="outNum" :label-width="100" label="鎶ヤ慨鍥剧墖:">
+						<uni-file-picker limit="9" :value="fileLists" :image-styles="imageStyles"
+							:sourceType="sourceType" @select="select" @progress="progress" @success="success"
+							@fail="fail" @delete="deletea" :readonly="true" />
+
 					</uni-forms-item>
 				</uni-group>
 			</uni-forms>
@@ -57,6 +61,15 @@
 		mixins: [MescrollMixin], // 浣跨敤mixin
 		data() {
 			return {
+				// 鍥剧墖鍥炴樉
+				fileLists: [],
+				// 涓婁紶鍥剧墖鐨勬牱寮�
+				imageStyles: {
+					width: 90,
+					height: 90,
+				},
+				// uni.chooseImage鍊硷紝浠庣浉鍐岄�夋嫨锛屾媿鎽�
+				sourceType: ['album', 'camera'],
 				ipAndPort: configService.staticURL,
 				scrollLeft: 0,
 				searchValue: '',
@@ -65,14 +78,24 @@
 				uploadUrl: "/sys/common/upload",
 				formData: {
 					num: '',
-					avatar: []
+					avatar: [],
+					equipmentName: '',
+					installationPosition: '',
+					breakdownFlag_dictText: '',
+
+					reporter_dictText: '',
+
+					faultStartTime: '',
+					reportStatus: '',
+					faultName: '',
+					faultDescription: '',
+					remark: ''
 				},
 				NavBarColor: this.NavBarColor,
 				url: {
 					upload: "/eam/sysFiles/batch_upload",
-					stallList: "/eam/eamRepairOrder/queryById",
-					getEquipmentList:'eam/equipment/list'
-					// getEquipmentList: "eam/equipment/asyncLoadEquipment"
+					stallList: "/eam/eamReportRepair/queryById",
+					getEquipmentList: 'eam/equipment/list'
 				},
 				id: '',
 				serverBaseUrl: '',
@@ -113,7 +136,43 @@
 
 		onLoad(options) {
 			const annItem = JSON.parse(decodeURIComponent(options.item));
-			this.id = annItem.id
+
+
+			this.formData.installationPosition_dictText = annItem.installationPosition
+			this.formData.num = annItem.equipmentId
+			this.formData.equipmentName = annItem.equipmentName
+			this.formData.breakdownFlag_dictText = annItem.breakdownFlag_dictText
+			this.formData.faultStartTime = annItem.faultStartTime
+			this.formData.reportStatus = annItem.reportStatus_dictText
+			this.formData.faultName = annItem.faultName
+			this.formData.faultDescription = annItem.faultDescription
+			this.formData.remark = annItem.remark
+			this.formData.avatar = annItem.imageFiles || '[]'; // 榛樿绌烘暟缁勫瓧绗︿覆
+			try {
+				const imageObjects = JSON.parse(this.formData.avatar);
+
+				// 纭繚 imageObjects 鏄暟缁勭被鍨�
+				if (Array.isArray(imageObjects)) {
+					this.imgList = imageObjects.map(imageObj => {
+						return `${this.ipAndPort}${imageObj.filePath}`;
+					});
+
+					// 鏋勯�� fileLists
+					this.fileLists = this.imgList.map(url => ({
+						url: url,
+						extname: 'png',
+						name: 'eam'
+					}));
+				} else {
+					console.warn('imageObjects is not an array:', imageObjects);
+					this.imgList = [];
+					this.fileLists = [];
+				}
+			} catch (e) {
+				console.error('Failed to parse avatar JSON:', e);
+				this.imgList = [];
+				this.fileLists = [];
+			}
 		},
 		created() {
 			this.getEquipment();
@@ -123,120 +182,51 @@
 			changeEquipmentList(e) {
 				this.formData.num = e;
 			},
-			ChooseImage() {
-				var that = this;
-				uni.chooseImage({
-					count: 4,
-					sizeType: ['original', 'compressed'], // 鍙互鎸囧畾鏄師鍥捐繕鏄帇缂╁浘锛岄粯璁や簩鑰呴兘鏈�
-					sourceType: ['album'], // 浠庣浉鍐岄�夋嫨
-					success: (res) => {
-						// 瀛樺偍閫夋嫨鐨勫浘鐗囪矾寰�
-						that.imgList = res.tempFilePaths;
+			// upCallback() {
+			// 	this.$http.get(this.url.stallList, {
+			// 		params: {
+			// 			id: this.id
+			// 		},
 
-						// 鍒濆鍖� formData.avatar 涓虹┖瀛楃涓�
-						that.formData.avatar = '';
-
-						// 鍒涘缓涓婁紶浠诲姟鐨� Promise 鏁扮粍
-						const uploadPromises = res.tempFilePaths.map((filePath, index) => {
-							return new Promise((resolve, reject) => {
-								that.$http.upload(that.url.upload, {
-										filePath: filePath,
-										name: 'file'
-									})
-									.then(uploadRes => {
-										// 鍋囪鏈嶅姟鍣ㄨ繑鍥炵殑缁撴灉涓寘鍚枃浠惰矾寰�
-										const filePath = uploadRes.data.result[0];
-										// 杩藉姞鍒� formData.avatar 涓紝骞剁敤閫楀彿鍒嗛殧
-										this.formData.avatar.push(filePath);
-										resolve(filePath);
-									})
-									.catch(err => {
-										console.error('鍥剧墖' + index + '涓婁紶澶辫触:', err);
-										reject(err);
-									});
-							});
-						});
-
-						// 骞跺彂鎵ц鎵�鏈変笂浼犱换鍔�
-						Promise.all(uploadPromises)
-							.then((uploadedFilePaths) => {
-								console.log('鎵�鏈夊浘鐗囦笂浼犳垚鍔�:', that.formData.avatar);
-							})
-							.catch((err) => {
-								console.error('鍥剧墖涓婁紶澶辫触:', err);
-								that.$tip.error('鍥剧墖涓婁紶澶辫触');
-							});
-					}
-				});
-			},
-			ViewImage(e) {
-				uni.previewImage({
-					urls: this.imgList,
-					current: e.currentTarget.dataset.url
-				});
-			},
-			DelImg(e) {
-				uni.showModal({
-					title: '鎻愮ず',
-					content: '纭畾瑕佸垹闄よ繖娈靛洖蹇嗗悧锛�',
-					cancelText: '鍐嶇湅鐪�',
-					confirmText: '鍐嶈',
-					success: res => {
-						if (res.confirm) {
-							this.imgList.splice(e.currentTarget.dataset.index, 1)
-						}
-					}
-				})
-			},
-
-			upCallback() {
-				this.$http.get(this.url.stallList, {
-					params: {
-						id: this.id
-					},
-
-				}).then(res => {
-					this.announcement1 = res.data.result
-					console.log("url", res)
-					//璁剧疆鍒楄〃鏁版嵁
-					if (res.data.success) {
-						console.log("res", res.data.result)
-						this.formData.repairCode=this.announcement1.repairCode
-						this.formData.num = this.announcement1.equipmentId
-						this.formData.actualStartTime = this.announcement1.actualStartTime
-						this.formData.repairer = this.announcement1.repairer
-						this.formData.faultDescription = this.announcement1.faultDescription
-						this.formData.remark = this.announcement1.remark
-						this.formData.avatar = this.announcement1.reportImageFiles
-						this.imgList = JSON.parse(this.formData.avatar)
-						const imageObjects = JSON.parse(this.formData.avatar);
-						// 鎻愬彇 filePath 骞舵嫾鎺� IP 鍜岀鍙�
-						this.imgList = imageObjects.map(imageObj => {
-							return `${this.ipAndPort}${imageObj.filePath}`;
-						});
-					}
-				}).catch(() => {
-					//鑱旂綉澶辫触, 缁撴潫鍔犺浇
-				})
-			},
-			// getEquipment() {
-			// 	this.$http.get(this.url.getEquipmentList).then(res => {
+			// 	}).then(res => {
+			// 		this.announcement1 = res.data.result
+			// 		console.log("url", res)
 			// 		//璁剧疆鍒楄〃鏁版嵁
 			// 		if (res.data.success) {
-			// 			this.equipmentList = res.data.result
-			// 		} else {
-			// 			uni.showToast({
-			// 				icon: "error",
-			// 				title: res.data.message,
-			// 				duration: 2000
+			// 			console.log("res", res.data.result)
+			// 			this.formData.repairCode = this.announcement1.repairCode
+			// 			this.formData.installationPosition_dictText=this.announcement1.installationPosition_dictText
+			// 			this.formData.num = this.announcement1.equipmentId
+			// 			this.formData.repairer_dictText = this.announcement1.repairer_dictText
+			// 			this.formData.repairerPhone_dictText = this.announcement1.repairerPhone_dictText
+			// 			this.formData.reporter_dictText = this.announcement1.reporter_dictText
+			// 			this.formData.reporterPhone_dictText = this.announcement1.reporterPhone_dictText
+			// 			this.formData.faultStartTime = this.announcement1.faultStartTime
+			// 			this.formData.reportStatus = this.announcement1.reportStatus_dictText
+			// 			this.formData.faultName = this.announcement1.faultName
+			// 			this.formData.faultDescription = this.announcement1.faultDescription
+			// 			this.formData.remark = this.announcement1.remark
+			// 			this.formData.avatar = this.announcement1.imageFiles
+			// 			this.imgList = JSON.parse(this.formData.avatar)
+			// 			const imageObjects = JSON.parse(this.formData.avatar);
+			// 			// 鍋囪 imgList 鏄凡鏈夌殑鍥剧墖鍦板潃鏁扮粍
+			// 			this.imgList = imageObjects.map(imageObj => {
+			// 				return `${this.ipAndPort}${imageObj.filePath}`;
 			// 			});
 
+			// 			// 鏍规嵁 imgList 鏋勯�� fileLists
+			// 			this.fileLists = this.imgList.map(url => ({
+			// 				url: url,
+			// 				extname: 'png',
+			// 				name: 'eam'
+			// 			}));
 			// 		}
 			// 	}).catch(() => {
-			// 		this.$tip.error("鑱旂綉澶辫触")
+			// 		//鑱旂綉澶辫触, 缁撴潫鍔犺浇
 			// 	})
 			// },
-	getEquipment() {
+
+			getEquipment() {
 				this.$http.get(this.url.getEquipmentList, {
 					params: {
 						pageNo: 1,
@@ -244,7 +234,7 @@
 						order: 'desc',
 						column: 'createTime'
 					},
-				
+
 				}).then(res => {
 					//璁剧疆鍒楄〃鏁版嵁
 					if (res.data.success) {
@@ -311,6 +301,31 @@
 </script>
 
 <style>
+	.divider {
+		display: flex;
+		align-items: center;
+		text-align: center;
+		color: gray;
+		/* 鏂囧瓧棰滆壊 */
+		margin: 20px 0;
+		/* 涓婁笅闂磋窛 */
+	}
+
+	.divider::before,
+	.divider::after {
+		content: '';
+		flex: 1;
+		border-bottom: 1px solid gray;
+		/* 妯嚎棰滆壊 */
+		margin: 0 16px;
+		/* 妯嚎涓庢枃瀛椾箣闂寸殑闂磋窛 */
+	}
+
+	.divider text {
+		white-space: nowrap;
+		/* 闃叉鏂囧瓧鎹㈣ */
+	}
+
 	.is-hover {
 		color: rgba(255, 255, 255, 0.6);
 		background-color: #55aaff;
@@ -328,7 +343,7 @@
 	}
 
 	.popupView {
-		margin-top: 85px;
+		margin-top: 45px;
 		height: auto;
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3