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