From 841c8675a4fbf9fdcabf5cdc10390cb2c8e65e8f Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 19 十二月 2025 14:18:47 +0800
Subject: [PATCH] 1.海川开心-材料入库出库单价价格字段复原

---
 src/views/equipmentManagement/inspectionManagement/components/formDia.vue |  388 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 196 insertions(+), 192 deletions(-)

diff --git a/src/views/equipmentManagement/inspectionManagement/components/formDia.vue b/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
index bf6c0c2..82837af 100644
--- a/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
+++ b/src/views/equipmentManagement/inspectionManagement/components/formDia.vue
@@ -1,109 +1,116 @@
 <template>
-  <div>
-    <el-dialog :title="operationType === 'add' ? '鏂板宸℃浠诲姟' : '缂栬緫宸℃浠诲姟'"
-               v-model="dialogVisitable" width="800px" @close="cancel">
-      <el-form ref="formRef" :model="form" :rules="rules" label-width="120px">
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="宸℃浠诲姟" prop="taskName">
-							<el-input v-model="form.taskName" placeholder="璇疯緭鍏ュ贰妫�浠诲姟" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="宸℃浜�" prop="inspector">
-              <el-select v-model="form.inspector"                 filterable
-                         default-first-option
-                         :reserve-keyword="false" placeholder="璇烽�夋嫨" multiple clearable>
-                <el-option v-for="item in userList" :label="item.nickName" :value="item.userId" :key="item.userId"/>
-              </el-select>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="澶囨敞" prop="remarks">
-              <el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" type="textarea" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鐧昏鏃堕棿" prop="dateStr">
-              <el-date-picker
-                v-model="form.dateStr"
-                type="date"
-                placeholder="閫夋嫨鐧昏鏃ユ湡"
-                format="YYYY-MM-DD"
-                value-format="YYYY-MM-DD"
-                style="width: 100%"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
-            <el-form-item label="浠诲姟棰戠巼" prop="frequencyType">
-              <el-select v-model="form.frequencyType" placeholder="璇烽�夋嫨" clearable>
-                <el-option label="姣忔棩" value="DAILY"/>
-                <el-option label="姣忓懆" value="WEEKLY"/>
-                <el-option label="姣忔湀" value="MONTHLY"/>
-                <!-- <el-option label="瀛e害" value="QUARTERLY"/> -->
-              </el-select>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-if="form.frequencyType === 'DAILY' && form.frequencyType">
-            <el-form-item label="鏃ユ湡" prop="frequencyDetail">
-              <el-time-picker v-model="form.frequencyDetail" placeholder="閫夋嫨鏃堕棿" format="HH:mm"
-                              value-format="HH:mm" />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-if="form.frequencyType === 'WEEKLY' && form.frequencyType">
-            <el-form-item label="鏃ユ湡" prop="frequencyDetail">
-              <el-select v-model="form.week" placeholder="璇烽�夋嫨" clearable style="width: 50%">
-                <el-option label="鍛ㄤ竴" value="MON"/>
-                <el-option label="鍛ㄤ簩" value="TUE"/>
-                <el-option label="鍛ㄤ笁" value="WED"/>
-                <el-option label="鍛ㄥ洓" value="THU"/>
-                <el-option label="鍛ㄤ簲" value="FRI"/>
-                <el-option label="鍛ㄥ叚" value="SAT"/>
-                <el-option label="鍛ㄦ棩" value="SUN"/>
-              </el-select>
-              <el-time-picker v-model="form.time" placeholder="閫夋嫨鏃堕棿" format="HH:mm"
-                              value-format="HH:mm"  style="width: 50%"/>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-if="form.frequencyType === 'MONTHLY' && form.frequencyType">
-            <el-form-item label="鏃ユ湡" prop="frequencyDetail">
-              <el-date-picker
-                  v-model="form.frequencyDetail"
-                  type="datetime"
-                  clearable
-                  placeholder="閫夋嫨寮�濮嬫棩鏈�"
-                  format="DD,HH:mm"
-                  value-format="DD,HH:mm"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12" v-if="form.frequencyType === 'QUARTERLY' && form.frequencyType">
-            <el-form-item label="鏃ユ湡" prop="frequencyDetail">
-              <el-date-picker
-                  v-model="form.frequencyDetail"
-                  type="datetime"
-                  clearable
-                  placeholder="閫夋嫨寮�濮嬫棩鏈�"
-                  format="MM,DD,HH:mm"
-                  value-format="MM,DD,HH:mm"
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
-      <template #footer>
-        <div class="dialog-footer">
-          <el-button @click="cancel">鍙栨秷</el-button>
-          <el-button type="primary" @click="submitForm">淇濆瓨</el-button>
-        </div>
-      </template>
-    </el-dialog>
-  </div>
+	<div>
+		<el-dialog :title="operationType === 'add' ? '鏂板宸℃浠诲姟' : '缂栬緫宸℃浠诲姟'"
+							 v-model="dialogVisitable" width="800px" @close="cancel">
+			<el-form ref="formRef" :model="form" :rules="rules" label-width="120px">
+				<el-row>
+					<el-col :span="12">
+						<el-form-item label="璁惧鍚嶇О" prop="taskId">
+							<el-select v-model="form.taskId" @change="setDeviceModel" filterable>
+								<el-option
+									v-for="(item, index) in deviceOptions"
+									:key="index"
+									:label="item.deviceName"
+									:value="item.id"
+								></el-option>
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="12">
+						<el-form-item label="宸℃浜�" prop="inspector">
+							<el-select v-model="form.inspector"                 filterable
+												 default-first-option
+												 :reserve-keyword="false" placeholder="璇烽�夋嫨" multiple clearable>
+								<el-option v-for="item in userList" :label="item.nickName" :value="item.userId" :key="item.userId"/>
+							</el-select>
+						</el-form-item>
+					</el-col>
+				</el-row>
+				<el-row>
+					<el-col :span="12">
+						<el-form-item label="澶囨敞" prop="remarks">
+							<el-input v-model="form.remarks" placeholder="璇疯緭鍏ュ娉�" type="textarea" />
+						</el-form-item>
+					</el-col>
+					<el-col :span="12">
+						<el-form-item label="鐧昏鏃堕棿" prop="dateStr">
+							<el-date-picker
+								v-model="form.dateStr"
+								type="date"
+								placeholder="閫夋嫨鐧昏鏃ユ湡"
+								format="YYYY-MM-DD"
+								value-format="YYYY-MM-DD"
+								style="width: 100%"
+							/>
+						</el-form-item>
+					</el-col>
+				</el-row>
+				<el-row>
+					<el-col :span="12">
+						<el-form-item label="浠诲姟棰戠巼" prop="frequencyType">
+							<el-select v-model="form.frequencyType" placeholder="璇烽�夋嫨" clearable>
+								<el-option label="姣忔棩" value="DAILY"/>
+								<el-option label="姣忓懆" value="WEEKLY"/>
+								<el-option label="姣忔湀" value="MONTHLY"/>
+								<!-- <el-option label="瀛e害" value="QUARTERLY"/> -->
+							</el-select>
+						</el-form-item>
+					</el-col>
+					<el-col :span="12" v-if="form.frequencyType === 'DAILY' && form.frequencyType">
+						<el-form-item label="鏃ユ湡" prop="frequencyDetail">
+							<el-time-picker v-model="form.frequencyDetail" placeholder="閫夋嫨鏃堕棿" format="HH:mm"
+															value-format="HH:mm" />
+						</el-form-item>
+					</el-col>
+					<el-col :span="12" v-if="form.frequencyType === 'WEEKLY' && form.frequencyType">
+						<el-form-item label="鏃ユ湡" prop="frequencyDetail">
+							<el-select v-model="form.week" placeholder="璇烽�夋嫨" clearable style="width: 50%">
+								<el-option label="鍛ㄤ竴" value="MON"/>
+								<el-option label="鍛ㄤ簩" value="TUE"/>
+								<el-option label="鍛ㄤ笁" value="WED"/>
+								<el-option label="鍛ㄥ洓" value="THU"/>
+								<el-option label="鍛ㄤ簲" value="FRI"/>
+								<el-option label="鍛ㄥ叚" value="SAT"/>
+								<el-option label="鍛ㄦ棩" value="SUN"/>
+							</el-select>
+							<el-time-picker v-model="form.time" placeholder="閫夋嫨鏃堕棿" format="HH:mm"
+															value-format="HH:mm"  style="width: 50%"/>
+						</el-form-item>
+					</el-col>
+					<el-col :span="12" v-if="form.frequencyType === 'MONTHLY' && form.frequencyType">
+						<el-form-item label="鏃ユ湡" prop="frequencyDetail">
+							<el-date-picker
+								v-model="form.frequencyDetail"
+								type="datetime"
+								clearable
+								placeholder="閫夋嫨寮�濮嬫棩鏈�"
+								format="DD,HH:mm"
+								value-format="DD,HH:mm"
+							/>
+						</el-form-item>
+					</el-col>
+					<el-col :span="12" v-if="form.frequencyType === 'QUARTERLY' && form.frequencyType">
+						<el-form-item label="鏃ユ湡" prop="frequencyDetail">
+							<el-date-picker
+								v-model="form.frequencyDetail"
+								type="datetime"
+								clearable
+								placeholder="閫夋嫨寮�濮嬫棩鏈�"
+								format="MM,DD,HH:mm"
+								value-format="MM,DD,HH:mm"
+							/>
+						</el-form-item>
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<div class="dialog-footer">
+					<el-button @click="cancel">鍙栨秷</el-button>
+					<el-button type="primary" @click="submitForm">淇濆瓨</el-button>
+				</div>
+			</template>
+		</el-dialog>
+	</div>
 </template>
 
 <script setup>
@@ -120,120 +127,117 @@
 const operationType = ref('add');
 const deviceOptions = ref([]);
 const data = reactive({
-  form: {
+	form: {
+		taskId: undefined,
 		taskName: undefined,
-    taskName: undefined,
-    inspector: '',
-    inspectorIds: '',
-    remarks: '',
-    frequencyType: '',
-    frequencyDetail: '',
-    week: '',
-    time: '',
+		inspector: '',
+		inspectorIds: '',
+		remarks: '',
+		frequencyType: '',
+		frequencyDetail: '',
+		week: '',
+		time: '',
 		dateStr: ''
-  },
-  rules: {
-		taskName: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "blur" },],
-    inspector: [{ required: true, message: "璇疯緭鍏ュ贰妫�浜�", trigger: "blur" },],
+	},
+	rules: {
+		taskId: [{ required: true, message: "璇烽�夋嫨璁惧", trigger: "change" },],
+		inspector: [{ required: true, message: "璇疯緭鍏ュ贰妫�浜�", trigger: "blur" },],
 		dateStr: [{ required: true, message: "璇烽�夋嫨鐧昏鏃堕棿", trigger: "change" }]
-  }
+	}
 })
 const { form, rules } = toRefs(data)
 const userList = ref([])
 
 const loadDeviceName = async () => {
-  const { data } = await getDeviceLedger();
-  deviceOptions.value = data;
+	const { data } = await getDeviceLedger();
+	deviceOptions.value = data;
 };
 
 const setDeviceModel = (id) => {
-  const option = deviceOptions.value.find((item) => item.id === id);
-  if (option) {
-    form.value.taskName = option.deviceName;
-  }
+	const option = deviceOptions.value.find((item) => item.id === id);
+	if (option) {
+		form.value.taskName = option.deviceName;
+	}
 }
 
 // 鎵撳紑寮规
 const openDialog = async (type, row) => {
-  dialogVisitable.value = true
-  operationType.value = type
-  
-  // 閲嶇疆琛ㄥ崟
-  resetForm();
-  
-  // 鍔犺浇鐢ㄦ埛鍒楄〃
-  userListNoPageByTenantId().then((res) => {
-    userList.value = res.data;
-  });
-  
-  // 鍔犺浇璁惧鍒楄〃
-  await loadDeviceName();
-  
-  if (type === 'edit' && row) {
-    form.value = {...row}
-    form.value.inspector = form.value.inspectorIds.split(',').map(Number)
-  }
+	dialogVisitable.value = true
+	operationType.value = type
+	
+	// 閲嶇疆琛ㄥ崟
+	resetForm();
+	
+	// 鍔犺浇鐢ㄦ埛鍒楄〃
+	userListNoPageByTenantId().then((res) => {
+		userList.value = res.data;
+	});
+	
+	// 鍔犺浇璁惧鍒楄〃
+	await loadDeviceName();
+	
+	if (type === 'edit' && row) {
+		form.value = {...row}
+		form.value.inspector = form.value.inspectorIds.split(',').map(Number)
+		
+		// 濡傛灉鏈夎澶嘔D锛岃嚜鍔ㄨ缃澶囦俊鎭�
+		if (form.value.taskId) {
+			setDeviceModel(form.value.taskId);
+		}
+	}
 }
 
 // 鍏抽棴瀵硅瘽妗�
 const cancel = () => {
-  resetForm()
-  dialogVisitable.value = false
-  emit('closeDia')
+	resetForm()
+	dialogVisitable.value = false
+	emit('closeDia')
 }
 
 // 閲嶇疆琛ㄥ崟鍑芥暟
 const resetForm = () => {
-  if (proxy.$refs.formRef) {
-    proxy.$refs.formRef.resetFields()
-  }
-  // 閲嶇疆琛ㄥ崟鏁版嵁纭繚璁惧淇℃伅姝g‘閲嶇疆
-  form.value = {
-		taskName: '',
-    inspector: '',
-    inspectorIds: '',
-    remarks: '',
-    frequencyType: '',
-    frequencyDetail: '',
-    week: '',
-    time: '',
-		dateStr: ''
-  }
+	if (proxy.$refs.formRef) {
+		proxy.$refs.formRef.resetFields()
+	}
+	// 閲嶇疆琛ㄥ崟鏁版嵁纭繚璁惧淇℃伅姝g‘閲嶇疆
+	form.value = {
+		taskId: undefined,
+		taskName: undefined,
+		inspector: '',
+		inspectorIds: '',
+		remarks: '',
+		frequencyType: '',
+		frequencyDetail: '',
+		week: '',
+		time: ''
+	}
 }
 
 // 鎻愪氦琛ㄥ崟
 const submitForm = () => {
-  proxy.$refs["formRef"].validate(async valid => {
-    if (valid) {
-      try {
-        // 鍒涘缓鎻愪氦鏁版嵁鐨勫壇鏈�
-        const submitData = {...form.value}
-        
-        submitData.inspectorIds = submitData.inspector.join(',')
-        delete submitData.inspector
-        
-        // 缂栬緫妯″紡涓嬩笉浼犻�掔櫥璁版椂闂�
-        if (operationType.value === 'edit') {
-          delete submitData.createTime
-        }
-        
-        if (submitData.frequencyType === 'WEEKLY') {
-          let frequencyDetail = ''
-          frequencyDetail = submitData.week + ',' + submitData.time
-          submitData.frequencyDetail = frequencyDetail
-        }
-        
-        let res = await userStore.getInfo()
-        submitData.registrantId = res.user.userId
-        
-        await addOrEditTimingTask(submitData)
-        cancel()
-        proxy.$modal.msgSuccess('鎻愪氦鎴愬姛')
-      } catch (error) {
-        proxy.$modal.msgError('鎻愪氦澶辫触锛岃閲嶈瘯')
-      }
-    }
-  })
+	proxy.$refs["formRef"].validate(async valid => {
+		if (valid) {
+			try {
+				form.value.inspectorIds = form.value.inspector.join(',')
+				delete form.value.inspector
+				
+				if (form.value.frequencyType === 'WEEKLY') {
+					let frequencyDetail = ''
+					frequencyDetail = form.value.week + ',' + form.value.time
+					form.value.frequencyDetail = frequencyDetail
+				}
+				
+				let res = await userStore.getInfo()
+				form.value.registrantId = res.user.userId
+				
+				await addOrEditTimingTask(form.value)
+				cancel()
+				proxy.$modal.msgSuccess('鎻愪氦鎴愬姛')
+			} catch (error) {
+				proxy.$modal.msgError('鎻愪氦澶辫触锛岃閲嶈瘯')
+			}
+		}
+	})
 }
 defineExpose({ openDialog })
 </script>

--
Gitblit v1.9.3