From df1406d0f571972d033dffd6a93fb4b94febeb56 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 24 六月 2025 16:46:44 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 src/views/basicInformation/mould/coalQualityMaintenance.vue |   49 +++++++++++++++++++++++++++----------------------
 1 files changed, 27 insertions(+), 22 deletions(-)

diff --git a/src/views/basicInformation/mould/coalQualityMaintenance.vue b/src/views/basicInformation/mould/coalQualityMaintenance.vue
index 64373b0..1b3d911 100644
--- a/src/views/basicInformation/mould/coalQualityMaintenance.vue
+++ b/src/views/basicInformation/mould/coalQualityMaintenance.vue
@@ -1,25 +1,26 @@
 <!-- 鐓よ川鏂规缁存姢寮圭獥缁勪欢 -->
 <template>
   <el-dialog v-model="dialogVisible" :title="title" width="600" :close-on-click-modal="false"
-    :before-close="handleClose">
+             :before-close="handleClose">
     <!-- 琛ㄥ崟鍖哄煙 -->
     <el-form ref="formRef" :model="formData" :rules="formRules" label-width="120px"
-      style="max-width: 400px; margin: 0 auto">
+             style="max-width: 400px; margin: 0 auto">
       <!-- 鏂规鍚嶇О杈撳叆妗� -->
       <el-form-item label="鐓よ川鏂规鍚嶇О" prop="plan">
-        <el-input v-model="formData.plan" placeholder="璇疯緭鍏ョ叅璐ㄦ柟妗堝悕绉�" clearable />
+        <el-input v-model="formData.plan" placeholder="璇疯緭鍏ョ叅璐ㄦ柟妗堝悕绉�" clearable/>
       </el-form-item>
 
       <!-- 鐓よ川瀛楁澶氶�変笅鎷夋 -->
       <el-form-item label="鐓よ川鏂规绫诲瀷" prop="coalFieldList">
-        <el-select v-model="formData.coalFieldList" placeholder="璇烽�夋嫨鐓よ川鏂规绫诲瀷" style="width: 100%" clearable multiple>
-          <el-option v-for="item in fieldOptions" :key="item.id" :label="item.label" :value="item" />
+        <el-select v-model="formData.coalFieldList" placeholder="璇烽�夋嫨鐓よ川鏂规绫诲瀷" style="width: 100%" clearable
+                   multiple>
+          <el-option v-for="item in fieldOptions" :key="item.id" :label="item.label" :value="item"/>
         </el-select>
       </el-form-item>
 
       <!-- 鏂规鎻忚堪鏂囨湰鍩� -->
       <el-form-item label="鐓よ川鏂规鎻忚堪" prop="schemeDesc">
-        <el-input v-model="formData.schemeDesc" type="textarea" placeholder="璇疯緭鍏ョ叅璐ㄦ柟妗堟弿杩�" :rows="3" />
+        <el-input v-model="formData.schemeDesc" type="textarea" placeholder="璇疯緭鍏ョ叅璐ㄦ柟妗堟弿杩�" :rows="3"/>
       </el-form-item>
 
       <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
@@ -32,15 +33,16 @@
   </el-dialog>
 </template>
 <script setup>
-import { ref, reactive, watch, computed, onMounted } from "vue";
-import { getCoalFieldList, addOrEditCoalPlan } from "@/api/basicInformation/coalQualityMaintenance";
+import {ref, reactive, watch, computed, onMounted} from "vue";
+import {getCoalFieldList, addOrEditCoalPlan} from "@/api/basicInformation/coalQualityMaintenance";
 
 // ===== 缁勪欢灞炴�у畾涔� =====
 const props = defineProps({
   /** 鍏抽棴寮圭獥鍓嶇殑鍥炶皟鍑芥暟 */
   beforeClose: {
     type: Function,
-    default: () => { },
+    default: () => {
+    },
   },
   /** 琛ㄥ崟鏁版嵁 */
   form: {
@@ -58,7 +60,10 @@
     default: "",
   },
 });
-
+const copyForm = defineModel("copyForm", {
+  required: true,
+  type: Object,
+});
 // ===== 浜嬩欢瀹氫箟 =====
 const emit = defineEmits(["submit", "handleBeforeClose"]);
 
@@ -85,10 +90,10 @@
 // ===== 琛ㄥ崟楠岃瘉瑙勫垯 =====
 const formRules = reactive({
   plan: [
-    { required: true, message: "璇疯緭鍏ユ柟妗堝悕绉�", trigger: "blur" },
+    {required: true, message: "璇疯緭鍏ユ柟妗堝悕绉�", trigger: "blur"},
   ],
   coalFieldList: [
-    { required: true, message: "璇烽�夋嫨鏂规绫诲瀷", trigger: "blur" },
+    {required: true, message: "璇烽�夋嫨鏂规绫诲瀷", trigger: "blur"},
   ],
 });
 
@@ -99,9 +104,9 @@
 const parseCoalFields = (coalFieldsStr) => {
   if (!coalFieldsStr || typeof coalFieldsStr !== 'string') return [];
   return coalFieldsStr
-    .split(',')
-    .map(id => parseInt(id.trim()))
-    .filter(id => !isNaN(id));
+      .split(',')
+      .map(id => parseInt(id.trim()))
+      .filter(id => !isNaN(id));
 };
 
 /**
@@ -117,7 +122,7 @@
  * @param {Object} newForm - 鏂扮殑琛ㄥ崟鏁版嵁
  */
 const initFormData = (newForm) => {
-  formData.value = { ...newForm };
+  formData.value = {...newForm};
   // 澶勭悊 coalFieldList 瀛楁锛氱紪杈戞椂闇�瑕佸皢瀛楃涓茶浆鎹负鏁扮粍渚涘閫夌粍浠朵娇鐢�
   if (newForm.fieldIds) {
     if (typeof newForm.fieldIds === 'string') {
@@ -125,7 +130,7 @@
       const ids = parseCoalFields(newForm.fieldIds);
       formData.value.coalFieldList = ids.map(id => {
         const option = fieldOptions.find(opt => opt.value === id);
-        return option || { fields: `瀛楁${id}`, value: id };
+        return option || {fields: `瀛楁${id}`, value: id};
       });
     } else if (Array.isArray(newForm.coalFieldList)) {
       // 纭繚鏁扮粍涓殑鍊奸兘鏄纭殑瀵硅薄鏍煎紡
@@ -136,7 +141,7 @@
           // 濡傛灉鏄函ID锛岄渶瑕佸尮閰嶅搴旂殑閫夐」
           const id = parseInt(item);
           const option = fieldOptions.find(opt => opt.value === id);
-          return option || { fields: `瀛楁${id}`, value: id };
+          return option || {fields: `瀛楁${id}`, value: id};
         }
       });
     }
@@ -152,13 +157,13 @@
  */
 onMounted(async () => {
   try {
-    const { data, code } = await getCoalFieldList();
+    const {data, code} = await getCoalFieldList();
     if (code === 200) {
       // 鏋勫缓閫夐」鏁版嵁锛屾牸寮忓寲涓簕 label, value }
       fieldOptions.push(...data.map(item => ({
         label: item.fieldName,
         value: item.id,
-        fields:item.fields
+        fields: item.fields
       })));
     } else {
       console.error("鑾峰彇鐓よ川瀛楁鍒楄〃澶辫触", data);
@@ -248,8 +253,8 @@
  * 閲嶇疆琛ㄥ崟
  */
 const resetForm = () => {
-  if (!formRef.value) return;
-  formRef.value.resetFields();
+  formData.value = JSON.parse(JSON.stringify(copyForm.value));
+  initFormData(formData.value);
 };
 
 /**

--
Gitblit v1.9.3