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