From 32556bda58dc73c0450b4082530b7ee78e17384d Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 16 一月 2026 15:13:35 +0800
Subject: [PATCH] Merge branch 'dev_天津军泰伟业' of http://114.132.189.42:9002/r/product-inventory-management into dev_天津军泰伟业

---
 src/views/qualityManagement/processInspection/components/formDia.vue     |   30 +++++++---
 src/views/procurementManagement/procurementLedger/index.vue              |   22 +++++++
 src/views/qualityManagement/finalInspection/components/formDia.vue       |   37 +++++++++---
 src/views/qualityManagement/rawMaterialInspection/components/formDia.vue |   29 +++++++--
 src/views/salesManagement/salesLedger/index.vue                          |   19 ++++++
 5 files changed, 111 insertions(+), 26 deletions(-)

diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index f508e08..8a3ea73 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -391,6 +391,15 @@
                            prop="taxExclusiveTotalPrice"
                            :formatter="formattedNumber"
                            width="150" />
+          <el-table-column label="鏄惁璐ㄦ"
+                           prop="isChecked"
+                           width="150" >
+            <template #default="scope">
+              <el-tag :type="scope.row.isChecked ? 'success' : 'info'">
+                {{ scope.row.isChecked ? '鏄�' : '鍚�' }}
+              </el-tag>
+            </template>
+          </el-table-column>
           <el-table-column fixed="right"
                            label="鎿嶄綔"
                            min-width="60"
@@ -582,6 +591,16 @@
                                :step="0.1"
                                clearable
                                style="width: 100%" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row :gutter="30">
+          <el-col :span="12">
+            <el-form-item label="鏄惁璐ㄦ锛�" prop="isChecked">
+              <el-radio-group v-model="productForm.isChecked">
+                <el-radio label="鏄�" :value="true"/>
+                <el-radio label="鍚�" :value="false"/>
+              </el-radio-group>
             </el-form-item>
           </el-col>
         </el-row>
@@ -999,6 +1018,7 @@
       supplierId: "",
       paymentMethod: "",
       executionDate: "",
+      isChecked: true,
     },
     rules: {
       purchaseContractNumber: [
@@ -1046,6 +1066,7 @@
       taxExclusiveTotalPrice: "",
       invoiceType: "",
       warnNum: "",
+      isChecked:true
     },
     productRules: {
       productId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
@@ -1064,6 +1085,7 @@
         { required: true, message: "璇疯緭鍏�", trigger: "blur" },
       ],
       invoiceType: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+      isChecked: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
     },
   });
   const { productForm, productRules } = toRefs(productFormData);
diff --git a/src/views/qualityManagement/finalInspection/components/formDia.vue b/src/views/qualityManagement/finalInspection/components/formDia.vue
index 9e5c109..d1bd982 100644
--- a/src/views/qualityManagement/finalInspection/components/formDia.vue
+++ b/src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -26,11 +26,18 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="瑙勬牸鍨嬪彿锛�"
-                          prop="model">
-              <el-input v-model="form.model"
-                        :disabled="operationType === 'edit'"
-                        placeholder="璇疯緭鍏�"
-                        clearable />
+                          prop="productModelId">
+              <el-select v-model="form.productModelId"
+                         placeholder="璇烽�夋嫨"
+                         clearable
+                         :disabled="operationType === 'edit'"
+                         filterable
+                         readonly>
+                <el-option v-for="item in modelOptions"
+                           :key="item.id"
+                           :label="item.model"
+                           :value="item.id" />
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
@@ -134,6 +141,7 @@
       <template #footer>
         <div class="dialog-footer">
           <el-button type="primary"
+                     :disabled="isSubmitting"
                      @click="submitForm">纭</el-button>
           <el-button @click="closeDia">鍙栨秷</el-button>
         </div>
@@ -145,7 +153,7 @@
 <script setup>
   import { ref } from "vue";
   import { getOptions } from "@/api/procurementManagement/procurementLedger.js";
-  import { productTreeList } from "@/api/basicData/product.js";
+  import {modelList, productTreeList} from "@/api/basicData/product.js";
   import {
     qualityInspectAdd,
     qualityInspectUpdate,
@@ -159,13 +167,14 @@
   const dialogFormVisible = ref(false);
   const operationType = ref("");
   const data = reactive({
+    isSubmitting: false,
     form: {
       checkTime: "",
       process: "",
       checkName: "",
       productName: "",
       productId: "",
-      model: "",
+      productModelId: undefined,
       unit: "",
       quantity: "",
       checkCompany: "",
@@ -177,16 +186,17 @@
       process: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       checkName: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
       productId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-      model: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
+      productModelId: [{ required: false, message: "璇烽�夋嫨", trigger: "blur" }],
       unit: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
       quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       checkCompany: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
       checkResult: [{ required: true, message: "璇疯緭鍏�", trigger: "change" }],
     },
   });
-  const { form, rules } = toRefs(data);
+  const { form, rules, isSubmitting } = toRefs(data);
   const supplierList = ref([]);
   const productOptions = ref([]);
+  const modelOptions = ref([]);
   const tableColumn = ref([
     {
       label: "鎸囨爣",
@@ -228,6 +238,7 @@
     form.value = {};
     getProductOptions();
     if (operationType.value === "edit") {
+      getModels(row.productId || 0);
       form.value = { ...row };
       currentProductId.value = row.productId || 0;
       getQualityInspectParamList(row.id);
@@ -240,7 +251,11 @@
   };
   const getModels = value => {
     currentProductId.value = value;
+    form.value.productModelId = undefined;
     form.value.productName = findNodeById(productOptions.value, value);
+    modelList({ id: value }).then((res) => {
+      modelOptions.value = res;
+    });
     if (currentProductId) {
       getList();
     }
@@ -275,6 +290,7 @@
   }
   // 鎻愪氦浜у搧琛ㄥ崟
   const submitForm = () => {
+    isSubmitting.value = true
     if (form.value.checkResult == "鍚堟牸") {
       form.value.defectivePhenomena = "";
     }
@@ -298,7 +314,10 @@
             closeDia();
           });
         }
+        isSubmitting.value = false
       }
+    }).finally(() => {
+      isSubmitting.value = false
     });
   };
   const getList = () => {
diff --git a/src/views/qualityManagement/processInspection/components/formDia.vue b/src/views/qualityManagement/processInspection/components/formDia.vue
index c5cd6ad..dcc863a 100644
--- a/src/views/qualityManagement/processInspection/components/formDia.vue
+++ b/src/views/qualityManagement/processInspection/components/formDia.vue
@@ -37,11 +37,18 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="瑙勬牸鍨嬪彿锛�"
-                          prop="model">
-              <el-input v-model="form.model"
-                        placeholder="璇疯緭鍏�"
-                        :disabled="operationType === 'edit'"
-                        clearable />
+                          prop="productModelId">
+              <el-select v-model="form.productModelId"
+                         placeholder="璇烽�夋嫨"
+                         clearable
+                         :disabled="operationType === 'edit'"
+                         filterable
+                         readonly>
+                <el-option v-for="item in modelOptions"
+                           :key="item.id"
+                           :label="item.model"
+                           :value="item.id" />
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
@@ -156,7 +163,7 @@
 <script setup>
   import { ref } from "vue";
   import { getOptions } from "@/api/procurementManagement/procurementLedger.js";
-  import { productTreeList } from "@/api/basicData/product.js";
+  import {modelList, productTreeList} from "@/api/basicData/product.js";
   import {
     qualityInspectAdd,
     qualityInspectUpdate,
@@ -176,7 +183,7 @@
       checkName: "",
       productName: "",
       productId: "",
-      model: "",
+      productModelId: undefined,
       unit: "",
       quantity: "",
       checkCompany: "",
@@ -188,7 +195,7 @@
       process: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       checkName: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
       productId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-      model: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
+      productModelId: [{ required: false, message: "璇烽�夋嫨", trigger: "blur" }],
       unit: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
       quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       checkCompany: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -202,6 +209,7 @@
   const { form, rules } = toRefs(data);
   const supplierList = ref([]);
   const productOptions = ref([]);
+  const modelOptions = ref([]);
   const tableColumn = ref([
     {
       label: "鎸囨爣",
@@ -242,6 +250,7 @@
     form.value = {};
     getProductOptions();
     if (operationType.value === "edit") {
+      getModels(row.productId || 0);
       form.value = { ...row };
       currentProductId.value = row.productId || 0;
       getQualityInspectParamList(row.id);
@@ -254,8 +263,11 @@
   };
   const getModels = value => {
     currentProductId.value = value;
+    form.value.productModelId = undefined;
     form.value.productName = findNodeById(productOptions.value, value);
-
+    modelList({ id: value }).then((res) => {
+      modelOptions.value = res;
+    });
     if (currentProductId) {
       getList();
     }
diff --git a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
index 66746d4..a20d642 100644
--- a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -45,11 +45,18 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="瑙勬牸鍨嬪彿锛�"
-                          prop="model">
-              <el-input v-model="form.model"
-                        :disabled="operationType === 'edit'"
-                        placeholder="璇疯緭鍏�"
-                        clearable />
+                          prop="productModelId">
+              <el-select v-model="form.productModelId"
+                         placeholder="璇烽�夋嫨"
+                         clearable
+                         :disabled="operationType === 'edit'"
+                         filterable
+                         readonly>
+                <el-option v-for="item in modelOptions"
+                           :key="item.id"
+                           :label="item.model"
+                           :value="item.id" />
+              </el-select>
             </el-form-item>
           </el-col>
         </el-row>
@@ -159,7 +166,7 @@
 <script setup>
   import { ref } from "vue";
   import { getOptions } from "@/api/procurementManagement/procurementLedger.js";
-  import { productTreeList } from "@/api/basicData/product.js";
+  import {modelList, productTreeList} from "@/api/basicData/product.js";
   import {
     qualityInspectAdd,
     qualityInspectUpdate,
@@ -183,7 +190,7 @@
       checkName: "",
       productName: "",
       productId: "",
-      model: "",
+      productModelId: undefined,
       unit: "",
       quantity: "",
       checkCompany: "",
@@ -195,7 +202,7 @@
       supplier: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       checkName: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
       productId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-      model: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
+      productModelId: [{ required: false, message: "璇烽�夋嫨", trigger: "blur" }],
       unit: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
       quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       checkCompany: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -234,6 +241,7 @@
   const { form, rules } = toRefs(data);
   const supplierList = ref([]);
   const productOptions = ref([]);
+  const modelOptions = ref([]);
   const currentProductId = ref(0);
 
   // 鎵撳紑寮规
@@ -246,6 +254,7 @@
     form.value = {};
     getProductOptions();
     if (operationType.value === "edit") {
+      getModels(row.productId || 0);
       form.value = { ...row };
       currentProductId.value = row.productId || 0;
       getQualityInspectParamList(row.id);
@@ -258,7 +267,11 @@
   };
   const getModels = value => {
     currentProductId.value = value;
+    form.value.productModelId = undefined;
     form.value.productName = findNodeById(productOptions.value, value);
+    modelList({ id: value }).then((res) => {
+      modelOptions.value = res;
+    });
     if (currentProductId) {
       getList();
     }
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 6dc4489..69e3c59 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -145,6 +145,15 @@
               <el-table-column label="涓嶅惈绋庢�讳环(鍏�)"
                                prop="taxExclusiveTotalPrice"
                                :formatter="formattedNumber" />
+              <el-table-column label="鏄惁璐ㄦ"
+                               prop="isChecked"
+                               width="100"
+                               align="center">
+                <template #default="scope">
+                  <el-tag v-if="scope.row.isChecked === true || scope.row.isChecked === '鏄�'" type="success">鏄�</el-tag>
+                  <el-tag v-else type="info">鍚�</el-tag>
+                </template>
+              </el-table-column>
               <!--鎿嶄綔-->
               <el-table-column Width="60px"
                                label="鎿嶄綔"
@@ -595,6 +604,15 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="12">
+            <el-form-item label="鏄惁璐ㄦ锛�"
+                          prop="isChecked">
+              <el-radio-group v-model="productForm.isChecked">
+                <el-radio :label="true">鏄�</el-radio>
+                <el-radio :label="false">鍚�</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
         </el-row>
       </el-form>
       <template #footer>
@@ -883,6 +901,7 @@
       taxInclusiveTotalPrice: "",
       taxExclusiveTotalPrice: "",
       invoiceType: "",
+      isChecked: false,
       speculativeTradingName: "",
     },
     productRules: {

--
Gitblit v1.9.3