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