From 41c7dd199f1919a01dfc5e04f62359ca8bc3cb2c Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期六, 12 九月 2026 12:43:32 +0800
Subject: [PATCH] feat: 库存管理三表单与详情页签分组、采购台账分栏、油品联动与电话校验、冻结解冻修复

---
 src/views/basicData/customerFile/index.vue |   33 +++++++++++++++++++++++++--------
 1 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/src/views/basicData/customerFile/index.vue b/src/views/basicData/customerFile/index.vue
index 7091a02..d300494 100644
--- a/src/views/basicData/customerFile/index.vue
+++ b/src/views/basicData/customerFile/index.vue
@@ -15,10 +15,10 @@
                    style="width: 240px"
                    clearable
                    @change="handleQuery">
-          <el-option label="闆跺敭瀹㈡埛"
-                     value="闆跺敭瀹㈡埛" />
-          <el-option label="杩涢攢鍟嗗鎴�"
-                     value="杩涢攢鍟嗗鎴�" />
+          <el-option v-for="dict in customer_type"
+                     :key="dict.value"
+                     :label="dict.label"
+                     :value="dict.value" />
         </el-select>
         <el-button type="primary"
                    @click="handleQuery"
@@ -128,10 +128,10 @@
               <el-select v-model="form.customerType"
                          placeholder="璇烽�夋嫨"
                          clearable>
-                <el-option label="闆跺敭瀹㈡埛"
-                           value="闆跺敭瀹㈡埛" />
-                <el-option label="杩涢攢鍟嗗鎴�"
-                           value="杩涢攢鍟嗗鎴�" />
+                <el-option v-for="dict in customer_type"
+                           :key="dict.value"
+                           :label="dict.label"
+                           :value="dict.value" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -629,6 +629,7 @@
   import { getToken } from "@/utils/auth.js";
   const { proxy } = getCurrentInstance();
   const userStore = useUserStore();
+  const { customer_type } = proxy.useDict("customer_type");
 
   // 鍥炶鎻愰啋鐩稿叧
   const reminderDialogVisible = ref(false);
@@ -713,6 +714,7 @@
       label: "瀹㈡埛鍒嗙被",
       prop: "customerType",
       width: 120,
+      formatData: value => proxy.selectDictLabel(customer_type.value, value),
     },
     {
       label: "瀹㈡埛鍚嶇О",
@@ -800,7 +802,12 @@
         {
           name: "缂栬緫",
           type: "text",
+          showHide: row => !isCustomerEditLocked(row),
           clickFun: row => {
+            if (isCustomerEditLocked(row)) {
+              proxy.$modal.msgWarning("宸茶閿�鍞ā鍧楀紩鐢ㄧ殑绉佹捣瀹㈡埛涓嶈兘缂栬緫");
+              return;
+            }
             openForm("edit", row);
           },
         },
@@ -1001,6 +1008,10 @@
   }
   // 鎵撳紑寮规
   const openForm = (type, row) => {
+    if (type === "edit" && isCustomerEditLocked(row)) {
+      proxy.$modal.msgWarning("宸茶閿�鍞ā鍧楀紩鐢ㄧ殑绉佹捣瀹㈡埛涓嶈兘缂栬緫");
+      return;
+    }
     operationType.value = type;
     form.value = {};
     form.value.maintainer = userStore.nickName;
@@ -1030,6 +1041,12 @@
     }
     dialogFormVisible.value = true;
   };
+  const isCustomerEditLocked = row => {
+    const salesReferenced = Number(row?.salesReferenceFlag || 0) === 1;
+    const customerType = Number(row?.type);
+    const usageStatus = Number(row?.usageStatus || 0);
+    return salesReferenced && (customerType === 0 || (customerType === 1 && usageStatus === 1));
+  };
   // 鎻愪氦琛ㄥ崟
   const submitForm = () => {
     proxy.$refs["formRef"].validate(valid => {

--
Gitblit v1.9.3