From 91af6caf5a797bcc912e9a22656c97775bd4a198 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期五, 05 九月 2025 11:20:16 +0800 Subject: [PATCH] 设备保养、设备维修真机测试,bug修改 --- src/pages/equipmentManagement/upkeep/index.vue | 4 +- src/pages/index.vue | 8 ++-- src/pages/equipmentManagement/upkeep/add.vue | 21 +++++----- src/pages/equipmentManagement/repair/add.vue | 21 ++++++---- src/pages/equipmentManagement/upkeep/maintain.vue | 50 ++++++++++++++++--------- src/pages/equipmentManagement/ledger/detail.vue | 14 ++----- 6 files changed, 65 insertions(+), 53 deletions(-) diff --git a/src/pages/equipmentManagement/ledger/detail.vue b/src/pages/equipmentManagement/ledger/detail.vue index 2c798e6..1b4ca9f 100644 --- a/src/pages/equipmentManagement/ledger/detail.vue +++ b/src/pages/equipmentManagement/ledger/detail.vue @@ -318,22 +318,16 @@ let errorMessage = ''; // 妫�鏌ユ枃鏈被鍨嬪繀濉瓧娈� - if (!form.value.deviceName || form.value.deviceName.trim() === '') { + if (!form.value.deviceName) { isValid = false; errorMessage = '璇疯緭鍏ヨ澶囧悕绉�'; - } else if (!form.value.deviceModel || form.value.deviceModel.trim() === '') { + } else if (!form.value.deviceModel) { isValid = false; errorMessage = '璇疯緭鍏ヨ鏍煎瀷鍙�'; - } else if (!form.value.deviceBrand || form.value.deviceBrand.trim() === '') { - isValid = false; - errorMessage = '璇疯緭鍏ヨ澶囧搧鐗�'; - } else if (!form.value.supplierName || form.value.supplierName.trim() === '') { + } else if (!form.value.supplierName) { isValid = false; errorMessage = '璇疯緭鍏ヤ緵搴斿晢'; - } else if (!form.value.storageLocation || form.value.storageLocation.trim() === '') { - isValid = false; - errorMessage = '璇疯緭鍏ュ瓨鏀句綅缃�'; - } else if (!form.value.unit || form.value.unit.trim() === '') { + } else if (!form.value.unit) { isValid = false; errorMessage = '璇疯緭鍏ュ崟浣�'; } diff --git a/src/pages/equipmentManagement/repair/add.vue b/src/pages/equipmentManagement/repair/add.vue index 9f3cd0e..8717814 100644 --- a/src/pages/equipmentManagement/repair/add.vue +++ b/src/pages/equipmentManagement/repair/add.vue @@ -13,6 +13,7 @@ placeholder="璇烽�夋嫨璁惧鍚嶇О" @click="showDevicePicker" clearable + readonly="" /> <template #right> <u-icon name="scan" @click="startScan" class="scan-icon" /> @@ -215,24 +216,26 @@ } isScanning.value = true; - showToast('鎵爜鎴愬姛锛�3绉掑悗鑷姩濉厖璁惧淇℃伅'); + showToast('鎵爜鎴愬姛'); // 3绉掑悗澶勭悊鎵爜缁撴灉 scanTimer.value = setTimeout(() => { processScanResult(scanResult); isScanning.value = false; - }, 3000); + }, 100); }; +function getDeviceIdByRegExp(url) { + // 鍖归厤deviceId=鍚庨潰鐨勬暟瀛� + const reg = /deviceId=(\d+)/; + const match = url.match(reg); + // 濡傛灉鍖归厤鍒扮粨鏋滐紝杩斿洖鏁板瓧绫诲瀷锛屽惁鍒欒繑鍥瀗ull + return match ? Number(match[1]) : null; +} // 澶勭悊鎵爜缁撴灉骞跺尮閰嶈澶� const processScanResult = (scanResult) => { - // 鍦ㄨ澶囧垪琛ㄤ腑鏌ユ壘鍖归厤鐨勮澶� - // 鍋囪浜岀淮鐮佸唴瀹规槸璁惧鍚嶇О鎴栬澶囩紪鍙� - const matchedDevice = deviceOptions.value.find(device => - device.deviceName === scanResult || - device.deviceCode === scanResult || - device.id.toString() === scanResult - ); + const deviceId = getDeviceIdByRegExp(scanResult); + const matchedDevice = deviceOptions.value.find(item => item.id == deviceId); if (matchedDevice) { // 鎵惧埌鍖归厤鐨勮澶囷紝鑷姩濉厖 diff --git a/src/pages/equipmentManagement/upkeep/add.vue b/src/pages/equipmentManagement/upkeep/add.vue index fbdf304..8dedb1b 100644 --- a/src/pages/equipmentManagement/upkeep/add.vue +++ b/src/pages/equipmentManagement/upkeep/add.vue @@ -187,24 +187,25 @@ } isScanning.value = true; - showToast('鎵爜鎴愬姛锛�3绉掑悗鑷姩濉厖璁惧淇℃伅'); + showToast('鎵爜鎴愬姛'); // 3绉掑悗澶勭悊鎵爜缁撴灉 scanTimer.value = setTimeout(() => { processScanResult(scanResult); isScanning.value = false; - }, 3000); + }, 1000); }; - +function getDeviceIdByRegExp(url) { + // 鍖归厤deviceId=鍚庨潰鐨勬暟瀛� + const reg = /deviceId=(\d+)/; + const match = url.match(reg); + // 濡傛灉鍖归厤鍒扮粨鏋滐紝杩斿洖鏁板瓧绫诲瀷锛屽惁鍒欒繑鍥瀗ull + return match ? Number(match[1]) : null; +} // 澶勭悊鎵爜缁撴灉骞跺尮閰嶈澶� const processScanResult = (scanResult) => { - // 鍦ㄨ澶囧垪琛ㄤ腑鏌ユ壘鍖归厤鐨勮澶� - // 鍋囪浜岀淮鐮佸唴瀹规槸璁惧鍚嶇О鎴栬澶囩紪鍙� - const matchedDevice = deviceOptions.value.find(device => - device.deviceName === scanResult || - device.deviceCode === scanResult || - device.id.toString() === scanResult - ); + const deviceId = getDeviceIdByRegExp(scanResult); + const matchedDevice = deviceOptions.value.find(item => item.id == deviceId); if (matchedDevice) { // 鎵惧埌鍖归厤鐨勮澶囷紝鑷姩濉厖 diff --git a/src/pages/equipmentManagement/upkeep/index.vue b/src/pages/equipmentManagement/upkeep/index.vue index 4c47c65..d11eb48 100644 --- a/src/pages/equipmentManagement/upkeep/index.vue +++ b/src/pages/equipmentManagement/upkeep/index.vue @@ -67,10 +67,10 @@ <view class="detail-row"> <text class="detail-label">淇濆吇缁撴灉</text> <view class="detail-value"> - <u-tag v-if="item.maintenanceResult === 1" type="success"> + <u-tag v-if="item.maintenanceResult === 1" type="success" size="mini"> 瀹屽ソ </u-tag> - <u-tag v-if="item.maintenanceResult === 0" type="error"> + <u-tag v-if="item.maintenanceResult === 0" type="error" size="mini"> 缁翠慨 </u-tag> <text v-if="item.maintenanceResult === undefined || item.maintenanceResult === null">-</text> diff --git a/src/pages/equipmentManagement/upkeep/maintain.vue b/src/pages/equipmentManagement/upkeep/maintain.vue index f10654e..7ffb435 100644 --- a/src/pages/equipmentManagement/upkeep/maintain.vue +++ b/src/pages/equipmentManagement/upkeep/maintain.vue @@ -59,15 +59,13 @@ </u-popup> <!-- 淇濆吇缁撴灉閫夋嫨鍣� --> - <u-popup v-model="showResult" mode="bottom" :closeable="true"> - <view class="popup-title">閫夋嫨淇濆吇缁撴灉</view> - <u-picker - v-model="resultPickerValue" - :columns="resultColumns" - @confirm="onResultConfirm" - @cancel="showResult = false" - /> - </u-popup> + <up-action-sheet + :show="showResult" + :actions="resultColumns" + title="閫夋嫨淇濆吇缁撴灉" + @select="onResultConfirm" + @close="showResult = false" + /> </view> </template> @@ -105,8 +103,8 @@ // 淇濆吇缁撴灉閫夐」 const resultColumns = [ - { text: '瀹屽ソ', value: 1 }, - { text: '缁翠慨', value: 0 } + { name: '瀹屽ソ', value: 1 }, + { name: '缁翠慨', value: 0 } ]; // 琛ㄥ崟楠岃瘉瑙勫垯 @@ -146,9 +144,25 @@ // 鎻愪氦琛ㄥ崟 const sendForm = async () => { try { - // 浣跨敤uview-plus鐨勮〃鍗曢獙璇佹柟寮� - const valid = await formRef.value.validate(); - if (!valid) return; + // 鎵嬪姩楠岃瘉琛ㄥ崟 + let isValid = true; + let errorMessage = ''; + if (!form.value.maintenanceActuallyName) { + isValid = false; + errorMessage = '璇疯緭鍏ュ疄闄呬繚鍏讳汉'; + } else if (!form.value.maintenanceActuallyTime) { + isValid = false; + errorMessage = '璇烽�夋嫨瀹為檯淇濆吇鏃ユ湡'; + } else if (form.value.maintenanceResult === undefined) { + isValid = false; + errorMessage = '璇烽�夋嫨淇濆吇缁撴灉'; + } + + if (!isValid) { + showToast(errorMessage); + return; + } + // 楠岃瘉閫氳繃 submitFormData(); } catch (e) { @@ -218,10 +232,9 @@ }; // 纭淇濆吇缁撴灉閫夋嫨 -const onResultConfirm = ({ selectedIndex, selectedValue, selectedLabel }) => { - form.value.maintenanceResult = selectedValue; - maintenanceResultText.value = selectedLabel; - resultPickerValue.value = selectedValue; +const onResultConfirm = (selected) => { + form.value.maintenanceResult = selected.value; + maintenanceResultText.value = selected.name; showResult.value = false; }; @@ -246,6 +259,7 @@ </script> <style scoped lang="scss"> +@import '@/static/scss/form-common.scss'; .upkeep-maintain { min-height: 100vh; background: #f8f9fa; diff --git a/src/pages/index.vue b/src/pages/index.vue index 53fb2bc..bece424 100644 --- a/src/pages/index.vue +++ b/src/pages/index.vue @@ -255,10 +255,10 @@ // 璁惧绠$悊鍔熻兘鏁版嵁 const equipmentItems = reactive([ - { - icon: '/static/images/icon/shebeitaizhang@2x.png', - label: '璁惧鍙拌处', - }, + // { + // icon: '/static/images/icon/shebeitaizhang@2x.png', + // label: '璁惧鍙拌处', + // }, { icon: '/static/images/icon/shbeibaoxiu@2x.png', label: '璁惧鎶ヤ慨', -- Gitblit v1.9.3