From 9689c0418e2a71a36ae2ebef79a0db329ca428bf Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 20 四月 2026 11:33:16 +0800
Subject: [PATCH] feat: 添加厚度字段

---
 src/views/qualityManagement/processInspection/components/formDia.vue       |   30 +++++++++-
 src/views/inventoryManagement/stockManagement/New.vue                      |   15 ++++
 src/views/salesManagement/deliveryLedger/index.vue                         |    1 
 src/views/basicData/product/ProductSelectDialog.vue                        |    1 
 src/views/procurementManagement/procurementReport/index.vue                |    4 +
 src/views/qualityManagement/finalInspection/components/formDia.vue         |    8 ++
 src/views/qualityManagement/rawMaterialInspection/index.vue                |    4 +
 src/views/inventoryManagement/stockManagement/Qualified.vue                |    1 
 src/views/qualityManagement/finalInspection/index.vue                      |    4 +
 src/views/qualityManagement/processInspection/index.vue                    |    4 +
 src/views/inventoryManagement/dispatchLog/Record.vue                       |    5 +
 src/views/qualityManagement/nonconformingManagement/components/formDia.vue |   36 +++++++++++
 src/views/qualityManagement/rawMaterialInspection/components/formDia.vue   |   30 +++++++++-
 src/views/inventoryManagement/stockManagement/Unqualified.vue              |    1 
 src/views/inventoryManagement/stockReport/index.vue                        |    5 +
 src/views/qualityManagement/nonconformingManagement/index.vue              |    4 +
 src/views/inventoryManagement/receiptManagement/Record.vue                 |    3 +
 17 files changed, 148 insertions(+), 8 deletions(-)

diff --git a/src/views/basicData/product/ProductSelectDialog.vue b/src/views/basicData/product/ProductSelectDialog.vue
index 70ebdb6..5c19f7a 100644
--- a/src/views/basicData/product/ProductSelectDialog.vue
+++ b/src/views/basicData/product/ProductSelectDialog.vue
@@ -32,6 +32,7 @@
       <el-table-column prop="parentName" label="浜у搧瀹氭��" min-width="120" show-overflow-tooltip />
       <el-table-column prop="model" label="鍨嬪彿鍚嶇О" min-width="200" />
       <el-table-column prop="thickness" label="鍘氬害" min-width="160" :formatter="formatThicknessTo15" />
+      <el-table-column prop="unit" label="鍗曚綅" min-width="160" />
     </el-table>
 
     <div class="mt-3 flex justify-end">
diff --git a/src/views/inventoryManagement/dispatchLog/Record.vue b/src/views/inventoryManagement/dispatchLog/Record.vue
index a7a8a4b..7f290a9 100644
--- a/src/views/inventoryManagement/dispatchLog/Record.vue
+++ b/src/views/inventoryManagement/dispatchLog/Record.vue
@@ -67,6 +67,11 @@
 					show-overflow-tooltip
 				/>
 				<el-table-column
+					label="鍘氬害(mm)"
+					prop="thickness"
+					show-overflow-tooltip
+				/>
+				<el-table-column
 					label="鍗曚綅"
 					prop="unit"
 					show-overflow-tooltip
diff --git a/src/views/inventoryManagement/receiptManagement/Record.vue b/src/views/inventoryManagement/receiptManagement/Record.vue
index 3f90edf..9f07296 100644
--- a/src/views/inventoryManagement/receiptManagement/Record.vue
+++ b/src/views/inventoryManagement/receiptManagement/Record.vue
@@ -67,6 +67,9 @@
         <el-table-column label="瑙勬牸鍨嬪彿"
                          prop="model"
                          show-overflow-tooltip/>
+       <el-table-column label="鍘氬害(mm)"
+                        prop="thickness"
+                        show-overflow-tooltip />
         <el-table-column label="鍗曚綅"
                          prop="unit"
                          show-overflow-tooltip/>
diff --git a/src/views/inventoryManagement/stockManagement/New.vue b/src/views/inventoryManagement/stockManagement/New.vue
index 1f86fd6..1f171ef 100644
--- a/src/views/inventoryManagement/stockManagement/New.vue
+++ b/src/views/inventoryManagement/stockManagement/New.vue
@@ -38,6 +38,13 @@
         </el-form-item>
 
         <el-form-item
+            label="鍘氬害(mm)"
+            prop="thickness"
+        >
+          <el-input v-model="formState.thickness" disabled />
+        </el-form-item>
+
+        <el-form-item
             label="搴撳瓨鏁伴噺"
             prop="qualitity"
         >
@@ -101,6 +108,7 @@
   productName: "",
   productModelName: "",
   unit: "",
+  thickness: "",
   qualitity: 0,
   warnNum: 0,
   remark: '',
@@ -126,7 +134,11 @@
     productModelId: undefined,
     productName: "",
     productModelName: "",
-    description: '',
+    unit: "",
+    thickness: "",
+    qualitity: 0,
+    warnNum: 0,
+    remark: '',
   };
   isShow.value = false;
 };
@@ -140,6 +152,7 @@
     formState.value.productModelName = product.model;
     formState.value.productModelId = product.id;
     formState.value.unit = product.unit;
+    formState.value.thickness = product.thickness ?? "";
     showProductSelectDialog.value = false;
     // 瑙﹀彂琛ㄥ崟楠岃瘉鏇存柊
     proxy.$refs["formRef"]?.validateField('productModelId');
diff --git a/src/views/inventoryManagement/stockManagement/Qualified.vue b/src/views/inventoryManagement/stockManagement/Qualified.vue
index a958f42..0f8e6ac 100644
--- a/src/views/inventoryManagement/stockManagement/Qualified.vue
+++ b/src/views/inventoryManagement/stockManagement/Qualified.vue
@@ -25,6 +25,7 @@
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
         <el-table-column label="浜у搧澶х被" prop="productName" show-overflow-tooltip />
         <el-table-column label="瑙勬牸鍨嬪彿" prop="model" show-overflow-tooltip />
+        <el-table-column label="鍘氬害(mm)" prop="thickness" show-overflow-tooltip />
         <el-table-column label="鍗曚綅" prop="unit" show-overflow-tooltip />
         <el-table-column label="搴撳瓨鏁伴噺" prop="qualitity" show-overflow-tooltip />
         <el-table-column label="鍐荤粨鏁伴噺" prop="lockedQuantity" show-overflow-tooltip />
diff --git a/src/views/inventoryManagement/stockManagement/Unqualified.vue b/src/views/inventoryManagement/stockManagement/Unqualified.vue
index 55662be..38a95ae 100644
--- a/src/views/inventoryManagement/stockManagement/Unqualified.vue
+++ b/src/views/inventoryManagement/stockManagement/Unqualified.vue
@@ -22,6 +22,7 @@
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
         <el-table-column label="浜у搧澶х被" prop="productName" show-overflow-tooltip />
         <el-table-column label="瑙勬牸鍨嬪彿" prop="model" show-overflow-tooltip />
+        <el-table-column label="鍘氬害(mm)" prop="thickness" show-overflow-tooltip />
         <el-table-column label="鍗曚綅" prop="unit" show-overflow-tooltip />
         <el-table-column label="搴撳瓨鏁伴噺" prop="qualitity" show-overflow-tooltip />
         <el-table-column label="鍐荤粨鏁伴噺" prop="lockedQuantity" show-overflow-tooltip />
diff --git a/src/views/inventoryManagement/stockReport/index.vue b/src/views/inventoryManagement/stockReport/index.vue
index 89773cf..2850269 100644
--- a/src/views/inventoryManagement/stockReport/index.vue
+++ b/src/views/inventoryManagement/stockReport/index.vue
@@ -185,6 +185,11 @@
              prop="model"
              show-overflow-tooltip
            />
+          <el-table-column
+             label="鍘氬害(mm)"
+             prop="thickness"
+             show-overflow-tooltip
+           />
            <el-table-column
              label="鍗曚綅"
              prop="unit"
diff --git a/src/views/procurementManagement/procurementReport/index.vue b/src/views/procurementManagement/procurementReport/index.vue
index 93eb7d9..748f237 100644
--- a/src/views/procurementManagement/procurementReport/index.vue
+++ b/src/views/procurementManagement/procurementReport/index.vue
@@ -115,6 +115,10 @@
     prop: 'specificationModel',
   },
   {
+    label: '鍘氬害(mm)',
+    prop: 'thickness',
+  },
+  {
     label: '閲囪喘鏁伴噺',
     prop: 'purchaseNum',
     width: 120,
diff --git a/src/views/qualityManagement/finalInspection/components/formDia.vue b/src/views/qualityManagement/finalInspection/components/formDia.vue
index 5f4c975..a6013f9 100644
--- a/src/views/qualityManagement/finalInspection/components/formDia.vue
+++ b/src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -49,6 +49,11 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="鍘氬害(mm)锛�" prop="thickness">
+              <el-input v-model="form.thickness" placeholder="璇疯緭鍏�" disabled/>
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
@@ -149,6 +154,7 @@
     quantity: "",
     checkCompany: "",
     checkResult: "",
+    thickness:""
   },
   rules: {
     checkTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },],
@@ -258,6 +264,7 @@
           if (selectedModel) {
             form.value.model = selectedModel.model || '';
             form.value.unit = selectedModel.unit || '';
+            form.value.thickness = selectedModel.thickness || ''
           }
         }
         
@@ -311,6 +318,7 @@
 const handleChangeModel = (value) => {
   form.value.model = modelOptions.value.find(item => item.id == value)?.model || '';
   form.value.unit = modelOptions.value.find(item => item.id == value)?.unit || '';
+  form.value.thickness = modelOptions.value.find(item => item.id == value)?.thickness || '';
 }
 
 const findNodeById = (nodes, productId) => {
diff --git a/src/views/qualityManagement/finalInspection/index.vue b/src/views/qualityManagement/finalInspection/index.vue
index db44222..15bfd2d 100644
--- a/src/views/qualityManagement/finalInspection/index.vue
+++ b/src/views/qualityManagement/finalInspection/index.vue
@@ -113,6 +113,10 @@
     prop: "model",
   },
   {
+    label: "鍘氬害(mm)",
+    prop: "thickness",
+  },
+  {
     label: "鍗曚綅",
     prop: "unit",
   },
diff --git a/src/views/qualityManagement/nonconformingManagement/components/formDia.vue b/src/views/qualityManagement/nonconformingManagement/components/formDia.vue
index 0c6562c..ee5a7d6 100644
--- a/src/views/qualityManagement/nonconformingManagement/components/formDia.vue
+++ b/src/views/qualityManagement/nonconformingManagement/components/formDia.vue
@@ -45,9 +45,16 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍗曚綅锛�" prop="unit">
-              <el-input v-model="form.unit" placeholder="璇疯緭鍏�" clearable/>
+              <el-input v-model="form.unit" placeholder="鑷姩甯﹀嚭" readonly class="readonly-display"/>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="鍘氬害锛�" prop="thickness">
+              <el-input v-model="form.thickness" placeholder="鑷姩甯﹀嚭" readonly class="readonly-display"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鏁伴噺锛�" prop="quantity">
               <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="璇疯緭鍏�" clearable :precision="2"/>
@@ -149,6 +156,7 @@
     productId: "",
     model: "",
     unit: "",
+    thickness: "",
     quantity: "",
     checkCompany: "",
     checkResult: "",
@@ -165,6 +173,7 @@
     productId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
     model: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
     unit: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
+    thickness: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
     quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
     checkCompany: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
     checkResult: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -199,6 +208,7 @@
       productId: '',
       model: '',
       unit: '',
+      thickness: '',
       quantity: '',
       productName: '',
     };
@@ -220,9 +230,22 @@
 };
 const getModels = (value) => {
   form.value.productName = findNodeById(productOptions.value, value);
+  form.value.model = '';
+  form.value.unit = '';
+  form.value.thickness = '';
   modelList({ id: value }).then((res) => {
     modelOptions.value = res;
   })
+};
+const handleChangeModel = (modelId) => {
+  const selectedModel = modelOptions.value.find(item => item.id === modelId);
+  if (!selectedModel) {
+    form.value.unit = '';
+    form.value.thickness = '';
+    return;
+  }
+  form.value.unit = selectedModel.unit || '';
+  form.value.thickness = selectedModel.thickness ?? '';
 };
 const findNodeById = (nodes, productId) => {
   for (let i = 0; i < nodes.length; i++) {
@@ -285,4 +308,15 @@
 
 <style scoped>
 
+:deep(.readonly-display .el-input__wrapper) {
+  background-color: var(--el-disabled-bg-color);
+  box-shadow: 0 0 0 1px var(--el-disabled-border-color) inset;
+}
+
+:deep(.readonly-display .el-input__inner) {
+  color: var(--el-disabled-text-color);
+  -webkit-text-fill-color: var(--el-disabled-text-color);
+  cursor: not-allowed;
+}
+
 </style>
\ No newline at end of file
diff --git a/src/views/qualityManagement/nonconformingManagement/index.vue b/src/views/qualityManagement/nonconformingManagement/index.vue
index 55d2472..631b362 100644
--- a/src/views/qualityManagement/nonconformingManagement/index.vue
+++ b/src/views/qualityManagement/nonconformingManagement/index.vue
@@ -144,6 +144,10 @@
     prop: "model",
   },
   {
+    label: "鍘氬害(mm)",
+    prop: "thickness",
+  },
+  {
     label: "鍗曚綅",
     prop: "unit",
   },
diff --git a/src/views/qualityManagement/processInspection/components/formDia.vue b/src/views/qualityManagement/processInspection/components/formDia.vue
index c1185d2..d9dbee3 100644
--- a/src/views/qualityManagement/processInspection/components/formDia.vue
+++ b/src/views/qualityManagement/processInspection/components/formDia.vue
@@ -62,9 +62,16 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍗曚綅锛�" prop="unit">
-              <el-input v-model="form.unit" placeholder="璇疯緭鍏�" disabled/>
+              <el-input v-model="form.unit" placeholder="鑷姩甯﹀嚭" readonly class="readonly-display"/>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="鍘氬害锛�" prop="thickness">
+              <el-input v-model="form.thickness" placeholder="鑷姩甯﹀嚭" readonly class="readonly-display"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鏁伴噺锛�" prop="quantity">
               <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="璇疯緭鍏�" clearable :precision="2" :disabled="processQuantityDisabled"/>
@@ -158,6 +165,7 @@
     model: "",
     testStandardId: "",
     unit: "",
+    thickness: "",
     quantity: "",
     checkCompany: "",
     checkResult: "",
@@ -170,6 +178,7 @@
     productModelId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
     testStandardId: [{required: false, message: "璇烽�夋嫨鎸囨爣", trigger: "change"}],
     unit: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
+    thickness: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
     quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
     checkCompany: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
     checkResult: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }],
@@ -242,6 +251,7 @@
 		model: "",
 		testStandardId: "",
 		unit: "",
+		thickness: "",
 		quantity: "",
 		checkCompany: "",
 		checkResult: "",
@@ -326,6 +336,7 @@
 const getModels = (value) => {
   form.value.productModelId = undefined;
   form.value.unit = undefined;
+  form.value.thickness = undefined;
   modelOptions.value = [];
   currentProductId.value = value
   form.value.productName = findNodeById(productOptions.value, value);
@@ -338,8 +349,10 @@
 };
 
 const handleChangeModel = (value) => {
-  form.value.model = modelOptions.value.find(item => item.id == value)?.model || '';
-  form.value.unit = modelOptions.value.find(item => item.id == value)?.unit || '';
+  const selectedModel = modelOptions.value.find(item => item.id == value);
+  form.value.model = selectedModel?.model || '';
+  form.value.unit = selectedModel?.unit || '';
+  form.value.thickness = selectedModel?.thickness ?? '';
 }
 
 const findNodeById = (nodes, productId) => {
@@ -460,4 +473,15 @@
 
 <style scoped>
 
+:deep(.readonly-display .el-input__wrapper) {
+  background-color: var(--el-disabled-bg-color);
+  box-shadow: 0 0 0 1px var(--el-disabled-border-color) inset;
+}
+
+:deep(.readonly-display .el-input__inner) {
+  color: var(--el-disabled-text-color);
+  -webkit-text-fill-color: var(--el-disabled-text-color);
+  cursor: not-allowed;
+}
+
 </style>
\ No newline at end of file
diff --git a/src/views/qualityManagement/processInspection/index.vue b/src/views/qualityManagement/processInspection/index.vue
index cbeab71..0441ec4 100644
--- a/src/views/qualityManagement/processInspection/index.vue
+++ b/src/views/qualityManagement/processInspection/index.vue
@@ -118,6 +118,10 @@
     prop: "model",
   },
   {
+    label: "鍘氬害(mm)",
+    prop: "thickness",
+  },
+  {
     label: "鍗曚綅",
     prop: "unit",
   },
diff --git a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
index 7e373bf..5170b60 100644
--- a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -72,9 +72,16 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍗曚綅锛�" prop="unit">
-              <el-input v-model="form.unit" disabled/>
+              <el-input v-model="form.unit" placeholder="鑷姩甯﹀嚭" readonly class="readonly-display"/>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="鍘氬害锛�" prop="thickness">
+              <el-input v-model="form.thickness" placeholder="鑷姩甯﹀嚭" readonly class="readonly-display"/>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鏁伴噺锛�" prop="quantity">
               <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="璇疯緭鍏�"
@@ -169,6 +176,7 @@
     model: "",
     testStandardId: "",
     unit: "",
+    thickness: "",
     quantity: "",
     checkCompany: "",
     checkResult: "",
@@ -181,6 +189,7 @@
     productModelId: [{required: true, message: "璇烽�夋嫨浜у搧鍨嬪彿", trigger: "change"}],
     testStandardId: [{required: false, message: "璇烽�夋嫨鎸囨爣", trigger: "change"}],
     unit: [{required: false, message: "璇疯緭鍏�", trigger: "blur"}],
+    thickness: [{required: false, message: "璇疯緭鍏�", trigger: "blur"}],
     quantity: [{required: true, message: "璇疯緭鍏�", trigger: "blur"}],
     checkCompany: [{required: false, message: "璇疯緭鍏�", trigger: "blur"}],
     checkResult: [{required: true, message: "璇烽�夋嫨妫�娴嬬粨鏋�", trigger: "change"}],
@@ -252,6 +261,7 @@
     model: "",
     testStandardId: "",
     unit: "",
+    thickness: "",
     quantity: "",
     checkCompany: "",
     checkResult: "",
@@ -334,6 +344,7 @@
 const getModels = (value) => {
   form.value.productModelId = undefined;
   form.value.unit = undefined;
+  form.value.thickness = undefined;
   modelOptions.value = [];
   currentProductId.value = value
   form.value.productName = findNodeById(productOptions.value, value);
@@ -346,8 +357,10 @@
 };
 
 const handleChangeModel = (value) => {
-  form.value.model = modelOptions.value.find(item => item.id == value)?.model || '';
-  form.value.unit = modelOptions.value.find(item => item.id == value)?.unit || '';
+  const selectedModel = modelOptions.value.find(item => item.id == value);
+  form.value.model = selectedModel?.model || '';
+  form.value.unit = selectedModel?.unit || '';
+  form.value.thickness = selectedModel?.thickness ?? '';
 }
 
 const findNodeById = (nodes, productId) => {
@@ -464,4 +477,15 @@
 
 <style scoped>
 
+:deep(.readonly-display .el-input__wrapper) {
+  background-color: var(--el-disabled-bg-color);
+  box-shadow: 0 0 0 1px var(--el-disabled-border-color) inset;
+}
+
+:deep(.readonly-display .el-input__inner) {
+  color: var(--el-disabled-text-color);
+  -webkit-text-fill-color: var(--el-disabled-text-color);
+  cursor: not-allowed;
+}
+
 </style>
\ No newline at end of file
diff --git a/src/views/qualityManagement/rawMaterialInspection/index.vue b/src/views/qualityManagement/rawMaterialInspection/index.vue
index 26504b0..3ba4df4 100644
--- a/src/views/qualityManagement/rawMaterialInspection/index.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/index.vue
@@ -120,6 +120,10 @@
     prop: "model",
   },
   {
+    label: "鍘氬害(mm)",
+    prop: "thickness",
+  },
+  {
     label: "鍗曚綅",
     prop: "unit",
   },
diff --git a/src/views/salesManagement/deliveryLedger/index.vue b/src/views/salesManagement/deliveryLedger/index.vue
index 0eb60cc..21a0c5a 100644
--- a/src/views/salesManagement/deliveryLedger/index.vue
+++ b/src/views/salesManagement/deliveryLedger/index.vue
@@ -36,6 +36,7 @@
         <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" show-overflow-tooltip />
         <el-table-column label="浜у搧鍚嶇О" prop="productName" show-overflow-tooltip />
         <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" show-overflow-tooltip />
+        <el-table-column label="鍘氬害(mm)" prop="thickness" show-overflow-tooltip />
         <el-table-column label="鍙戣揣鏃堕棿" prop="shippingDate" show-overflow-tooltip />
         <el-table-column label="鍙戣揣杞︾墝鍙�" prop="shippingCarNumber" show-overflow-tooltip />
         <el-table-column label="蹇�掑叕鍙�" prop="expressCompany" show-overflow-tooltip />

--
Gitblit v1.9.3