From d1733a6f090c0caf96c30c4b2f4f08c7d43c8d3c Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期三, 18 三月 2026 14:35:34 +0800
Subject: [PATCH] Merge branch 'dev_银川_中盛建材' of http://114.132.189.42:9002/r/product-inventory-management into dev_银川_中盛建材

---
 src/views/qualityManagement/rawMaterialInspection/components/formDia.vue |  312 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 267 insertions(+), 45 deletions(-)

diff --git a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
index e96317d..2928e42 100644
--- a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -5,53 +5,92 @@
                width="70%"
                @close="closeDia">
       <el-form :model="form"
-               label-width="140px"
-               label-position="top"
+               label-width="100px"
+               label-position="left"
                :rules="rules"
-               ref="formRef">
-        <el-row :gutter="30">
-          <el-col :span="12">
+               ref="formRef"
+               class="inspection-form">
+        <el-row :gutter="20">
+          <el-col :span="8">
             <el-form-item label="渚涘簲鍟嗭細"
                           prop="supplier">
-              <el-select v-model="form.supplier"
-                         placeholder="璇烽�夋嫨"
-                         clearable
-                         :disabled="supplierQuantityDisabled">
-                <el-option v-for="item in supplierList"
-                           :key="item.id"
-                           :label="item.supplierName"
-                           :value="item.supplierName" />
-              </el-select>
+              <el-input v-model="form.supplier"
+                        placeholder="璇疯緭鍏�"
+                        clearable />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="浜у搧锛�"
                           prop="productId">
               <el-button type="primary"
                          @click="openProductSelectDialog"
-                         :disabled="operationType === 'edit'">閫夋嫨浜у搧</el-button>
-              <div class="selected-product mt-2"
-                   v-if="form.productName">
-                <el-tag closable
-                        @close="clearProductSelection"
-                        class="mr-2">
-                  {{ form.productName }} - {{ form.model }}
-                </el-tag>
-              </div>
-              <div v-else
-                   class="text-gray-400">璇烽�夋嫨浜у搧</div>
+                         :disabled="operationType === 'edit'"
+                         class="product-select-btn">{{form.productName || "閫夋嫨浜у搧"}}{{form.model?(" - "+form.model):""}}</el-button>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row :gutter="30">
-          <el-col :span="12">
+          <el-col :span="8">
+            <el-form-item label="璇曟牱缂栧彿锛�"
+                          prop="sampleCode">
+              <el-input v-model="form.sampleCode"
+                        placeholder="璇疯緭鍏�"
+                        clearable />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="杞︾墝鍙凤細"
+                          prop="licensePlateNumber">
+              <el-input v-model="form.licensePlateNumber"
+                        placeholder="璇疯緭鍏�"
+                        clearable />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="妫�娴嬫�ц川锛�"
+                          prop="inspectNature">
+              <el-select v-model="form.inspectNature"
+                         style="width: 100%">
+                <el-option label="鏃ュ父妫�娴�"
+                           value="鏃ュ父妫�娴�" />
+                <el-option label="鍏ュ満楠屾敹"
+                           value="鍏ュ満楠屾敹" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="璇曟牱鐘舵�侊細"
+                          prop="sampleState">
+              <el-select v-model="form.sampleState"
+                         style="width: 100%">
+                <el-option label="鍥轰綋"
+                           value="鍥轰綋" />
+                <el-option label="棰楃矑"
+                           value="棰楃矑" />
+                <el-option label="鑶忎綋"
+                           value="鑶忎綋" />
+                <el-option label="绮夋湯"
+                           value="绮夋湯" />
+                <el-option label="娑蹭綋"
+                           value="娑蹭綋" />
+                <el-option label="姘斾綋"
+                           value="姘斾綋" />
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="鏁伴噺锛�"
+                          prop="quantity">
+              <el-input type="number"
+                        v-model="form.quantity" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
             <el-form-item label="鍗曚綅锛�"
                           prop="unit">
               <el-input v-model="form.unit"
                         disabled />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="鎸囨爣閫夋嫨锛�"
                           prop="testStandardId">
               <el-select v-model="form.testStandardId"
@@ -66,9 +105,7 @@
               </el-select>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row :gutter="30">
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="妫�娴嬪崟浣嶏細"
                           prop="checkCompany">
               <el-input v-model="form.checkCompany"
@@ -76,10 +113,11 @@
                         clearable />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="妫�娴嬬粨鏋滐細"
                           prop="checkResult">
-              <el-select v-model="form.checkResult">
+              <el-select v-model="form.checkResult"
+                         style="width: 100%">
                 <el-option label="鍚堟牸"
                            value="鍚堟牸" />
                 <el-option label="涓嶅悎鏍�"
@@ -87,9 +125,7 @@
               </el-select>
             </el-form-item>
           </el-col>
-        </el-row>
-        <el-row :gutter="30">
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="妫�楠屽憳锛�"
                           prop="checkName">
               <el-select v-model="form.checkName"
@@ -103,10 +139,22 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="妫�娴嬫棩鏈燂細"
                           prop="checkTime">
               <el-date-picker v-model="form.checkTime"
+                              type="date"
+                              placeholder="璇烽�夋嫨鏃ユ湡"
+                              value-format="YYYY-MM-DD"
+                              format="YYYY-MM-DD"
+                              clearable
+                              style="width: 100%" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label="鍙栨牱鏃ユ湡锛�"
+                          prop="sampleTime">
+              <el-date-picker v-model="form.sampleTime"
                               type="date"
                               placeholder="璇烽�夋嫨鏃ユ湡"
                               value-format="YYYY-MM-DD"
@@ -190,9 +238,14 @@
       quantity: "",
       checkCompany: "",
       checkResult: "",
+      inspectNature: "",
+      sampleCode: "",
+      sampleState: "",
+      licensePlateNumber: "",
+      sampleTime: "",
     },
     rules: {
-      checkTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+      checkTime: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
       supplier: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       checkName: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
       productId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -203,11 +256,22 @@
         { required: false, message: "璇烽�夋嫨鎸囨爣", trigger: "change" },
       ],
       unit: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
-      quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+      // quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       checkCompany: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
       checkResult: [
-        { required: true, message: "璇烽�夋嫨妫�娴嬬粨鏋�", trigger: "change" },
+        { required: false, message: "璇烽�夋嫨妫�娴嬬粨鏋�", trigger: "change" },
       ],
+      inspectNature: [
+        { required: false, message: "璇烽�夋嫨妫�娴嬫�ц川", trigger: "change" },
+      ],
+      sampleState: [
+        { required: false, message: "璇烽�夋嫨璇曟牱鐘舵��", trigger: "change" },
+      ],
+      sampleCode: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
+      licensePlateNumber: [
+        { required: false, message: "璇疯緭鍏�", trigger: "blur" },
+      ],
+      sampleTime: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
     },
   });
   const tableColumn = ref([
@@ -270,7 +334,6 @@
     form.value = {
       checkTime: "",
       supplier: "",
-      checkName: "",
       productName: "",
       productId: "",
       productModelId: "",
@@ -297,7 +360,7 @@
           modelOptions.value = res || [];
           // 鍚屾鍥炲~ model / unit锛堟湁浜涙帴鍙h繑鍥炵殑 row 閲屽彲鑳芥病甯﹀叏锛�
           if (form.value.productModelId) {
-            handleChangeModel(form.value.productModelId);
+            // handleChangeModel(form.value.productModelId);
           }
         } catch (e) {
           console.error("鍔犺浇瑙勬牸鍨嬪彿澶辫触", e);
@@ -533,4 +596,163 @@
 </script>
 
 <style scoped>
-</style>
\ No newline at end of file
+  .inspection-form {
+    background-color: #f9f9f9;
+    border-radius: 8px;
+    padding: 20px;
+    margin-bottom: 20px;
+    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+  }
+
+  .product-select-btn {
+    width: 100%;
+    text-align: left;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    transition: all 0.3s ease;
+  }
+
+  .product-select-btn:hover {
+    box-shadow: 0 2px 8px rgba(0, 122, 255, 0.3);
+  }
+
+  /* 澧炲姞琛ㄥ崟椤归棿璺� */
+  .el-form-item {
+    margin-bottom: 15px;
+  }
+
+  /* 杈撳叆妗嗗拰閫夋嫨鍣ㄧ殑鎮仠鏁堟灉 */
+  :deep(.el-input__wrapper) {
+    transition: all 0.3s ease;
+  }
+
+  :deep(.el-input__wrapper:hover) {
+    box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.2) !important;
+  }
+
+  :deep(.el-select) {
+    transition: all 0.3s ease;
+  }
+
+  :deep(.el-select:hover .el-input__wrapper) {
+    box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.2) !important;
+  }
+
+  /* 鏃ユ湡閫夋嫨鍣ㄧ殑鎮仠鏁堟灉 */
+  :deep(.el-date-picker) {
+    transition: all 0.3s ease;
+  }
+
+  :deep(.el-date-picker:hover .el-input__wrapper) {
+    box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.2) !important;
+  }
+
+  /* 浼樺寲琛ㄦ牸鏍峰紡 */
+  :deep(.el-table) {
+    border-radius: 8px;
+    overflow: hidden;
+    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+    transition: all 0.3s ease;
+  }
+
+  :deep(.el-table:hover) {
+    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
+  }
+
+  :deep(.el-table th) {
+    background-color: #f5f7fa;
+    font-weight: 600;
+  }
+
+  :deep(.el-table tr:hover) {
+    background-color: #f0f9ff;
+  }
+
+  /* 琛ㄦ牸杈撳叆妗嗘牱寮� */
+  :deep(.el-table .el-input__wrapper) {
+    box-shadow: none !important;
+  }
+
+  :deep(.el-table .el-input__wrapper:hover) {
+    box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.2) !important;
+  }
+
+  /* 浼樺寲瀵硅瘽妗嗗簳閮ㄦ寜閽� */
+  .dialog-footer {
+    display: flex;
+    justify-content: flex-end;
+    gap: 10px;
+    margin-top: 20px;
+  }
+
+  .dialog-footer .el-button {
+    transition: all 0.3s ease;
+    padding: 8px 20px;
+    border-radius: 4px;
+  }
+
+  .dialog-footer .el-button:hover {
+    transform: translateY(-1px);
+    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
+  }
+
+  .dialog-footer .el-button--primary:hover {
+    box-shadow: 0 2px 8px rgba(0, 122, 255, 0.4);
+  }
+
+  /* 琛ㄥ崟楠岃瘉鐘舵�佹牱寮� */
+  :deep(.el-form-item__error) {
+    font-size: 12px;
+    color: #f56c6c;
+    margin-top: 4px;
+  }
+
+  :deep(.el-form-item.is-error .el-input__wrapper) {
+    box-shadow: 0 0 0 2px rgba(245, 108, 108, 0.2) !important;
+  }
+
+  :deep(.el-form-item.is-success .el-input__wrapper) {
+    box-shadow: 0 0 0 2px rgba(103, 194, 58, 0.2) !important;
+  }
+
+  /* 鍝嶅簲寮忚璁� */
+  @media screen and (max-width: 1200px) {
+    .el-col {
+      :deep(.el-col) {
+        &[class*="el-col-8"] {
+          flex: 0 0 50%;
+          max-width: 50%;
+        }
+      }
+    }
+  }
+
+  @media screen and (max-width: 768px) {
+    .el-col {
+      :deep(.el-col) {
+        &[class*="el-col-8"] {
+          flex: 0 0 100%;
+          max-width: 100%;
+        }
+      }
+    }
+
+    .inspection-form {
+      padding: 15px;
+    }
+
+    .el-form {
+      label-width: 80px !important;
+    }
+
+    .dialog-footer {
+      flex-direction: column;
+      align-items: stretch;
+    }
+
+    .dialog-footer .el-button {
+      width: 100%;
+    }
+  }
+</style>

--
Gitblit v1.9.3