From fda6d3c555fd317137a24e9a6c0d342eb50bfe57 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 21 四月 2026 09:33:38 +0800
Subject: [PATCH] 湟水峡 1.项目利润页面加上采购合同号字段。项目名称、增值税字段去掉 2.生产订单删掉404接口

---
 src/views/basicData/customerFile/index.vue |  359 +++++++++++------------------------------------------------
 1 files changed, 66 insertions(+), 293 deletions(-)

diff --git a/src/views/basicData/customerFile/index.vue b/src/views/basicData/customerFile/index.vue
index 79b1616..812dc5f 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 label="涓�鎵瑰晢"
+                     value="涓�鎵瑰晢" />
+          <el-option label="缁堢鍟�"
+                     value="缁堢鍟�" />
         </el-select>
         <el-button type="primary"
                    @click="handleQuery"
@@ -66,16 +66,6 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="绾崇◣浜鸿瘑鍒彿锛�"
-                          prop="taxpayerIdentificationNumber">
-              <el-input v-model="form.taxpayerIdentificationNumber"
-                        placeholder="璇疯緭鍏�"
-                        clearable />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="30">
-          <el-col :span="12">
             <el-form-item label="鍏徃鍦板潃锛�"
                           prop="companyAddress">
               <el-input v-model="form.companyAddress"
@@ -83,88 +73,22 @@
                         clearable />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="鍏徃鐢佃瘽锛�"
-                          prop="companyPhone">
-              <el-input v-model="form.companyPhone"
-                        placeholder="璇疯緭鍏�"
-                        clearable />
-            </el-form-item>
-          </el-col>
         </el-row>
         <el-row :gutter="30">
-          <el-col :span="12">
-            <el-form-item label="閾惰鍩烘湰鎴凤細"
-                          prop="basicBankAccount">
-              <el-input v-model="form.basicBankAccount"
-                        placeholder="璇疯緭鍏�"
-                        clearable />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="閾惰璐﹀彿锛�"
-                          prop="bankAccount">
-              <el-input v-model="form.bankAccount"
-                        placeholder="璇疯緭鍏�"
-                        clearable />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="30">
-          <el-col :span="12">
-            <el-form-item label="寮�鎴疯鍙凤細"
-                          prop="bankCode">
-              <el-input v-model="form.bankCode"
-                        placeholder="璇疯緭鍏�"
-                        clearable />
-            </el-form-item>
-          </el-col>
           <el-col :span="12">
             <el-form-item label="瀹㈡埛鍒嗙被锛�"
                           prop="customerType">
               <el-select v-model="form.customerType"
                          placeholder="璇烽�夋嫨"
                          clearable>
-                <el-option label="闆跺敭瀹㈡埛"
-                           value="闆跺敭瀹㈡埛" />
-                <el-option label="杩涢攢鍟嗗鎴�"
-                           value="杩涢攢鍟嗗鎴�" />
+                <el-option label="涓�鎵瑰晢"
+                           value="涓�鎵瑰晢" />
+                <el-option label="缁堢鍟�"
+                           value="缁堢鍟�" />
               </el-select>
             </el-form-item>
           </el-col>
         </el-row>
-        <el-row :gutter="30"
-                v-for="(contact, index) in formYYs.contactList"
-                :key="index">
-          <el-col :span="12">
-            <el-form-item label="鑱旂郴浜猴細"
-                          prop="contactPerson">
-              <el-input v-model="contact.contactPerson"
-                        placeholder="璇疯緭鍏�"
-                        clearable />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鑱旂郴鐢佃瘽锛�"
-                          prop="contactPhone">
-              <div style="display: flex; align-items: center;width: 100%;">
-                <el-input v-model="contact.contactPhone"
-                          placeholder="璇疯緭鍏�"
-                          clearable />
-                <el-button @click="removeContact(index)"
-                           type="danger"
-                           circle
-                           style="margin-left: 5px;">
-                  <el-icon>
-                    <Close />
-                  </el-icon>
-                </el-button>
-              </div>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-button @click="addNewContact"
-                   style="margin-bottom: 10px;">+ 鏂板鑱旂郴浜�</el-button>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="缁存姢浜猴細"
@@ -390,56 +314,8 @@
           <el-row :gutter="20">
             <el-col :span="12">
               <div class="info-item">
-                <span class="info-label">绾崇◣浜鸿瘑鍒彿锛�</span>
-                <span class="info-value">{{ detailForm.taxpayerIdentificationNumber }}</span>
-              </div>
-            </el-col>
-            <el-col :span="12">
-              <div class="info-item">
-                <span class="info-label">鍏徃鐢佃瘽锛�</span>
-                <span class="info-value">{{ detailForm.companyPhone }}</span>
-              </div>
-            </el-col>
-          </el-row>
-          <el-row :gutter="20">
-            <el-col :span="12">
-              <div class="info-item">
                 <span class="info-label">鍏徃鍦板潃锛�</span>
                 <span class="info-value">{{ detailForm.companyAddress }}</span>
-              </div>
-            </el-col>
-            <el-col :span="12">
-              <div class="info-item">
-                <span class="info-label">閾惰鍩烘湰鎴凤細</span>
-                <span class="info-value">{{ detailForm.basicBankAccount }}</span>
-              </div>
-            </el-col>
-          </el-row>
-          <el-row :gutter="20">
-            <el-col :span="12">
-              <div class="info-item">
-                <span class="info-label">閾惰璐﹀彿锛�</span>
-                <span class="info-value">{{ detailForm.bankAccount }}</span>
-              </div>
-            </el-col>
-            <el-col :span="12">
-              <div class="info-item">
-                <span class="info-label">寮�鎴疯鍙凤細</span>
-                <span class="info-value">{{ detailForm.bankCode }}</span>
-              </div>
-            </el-col>
-          </el-row>
-          <el-row :gutter="20">
-            <el-col :span="12">
-              <div class="info-item">
-                <span class="info-label">鑱旂郴浜猴細</span>
-                <span class="info-value">{{ detailForm.contactPerson }}</span>
-              </div>
-            </el-col>
-            <el-col :span="12">
-              <div class="info-item">
-                <span class="info-label">鑱旂郴鐢佃瘽锛�</span>
-                <span class="info-value">{{ detailForm.contactPhone }}</span>
               </div>
             </el-col>
           </el-row>
@@ -612,11 +488,13 @@
   import { onMounted, ref, reactive, getCurrentInstance, toRefs } from "vue";
   import { Search, Paperclip, Upload } from "@element-plus/icons-vue";
   import {
-    addCustomer,
-    delCustomer,
+    addCustomerPrivate,
+    delCustomerPrivate,
     getCustomer,
-    listCustomer,
-    updateCustomer,
+    getCustomerPrivatePoolById,
+    getCustomerPrivatePoolInfo,
+    listCustomerPrivatePool,
+    updateCustomerPrivatePool,
     addCustomerFollow,
     updateCustomerFollow,
     delCustomerFollow,
@@ -654,7 +532,7 @@
   const negotiationFormRef = ref();
   const negotiationForm = reactive({
     customerName: "",
-    customerId: "",
+		customerPrivatePoolId: "",
     followUpMethod: "",
     followUpLevel: "",
     followUpTime: "",
@@ -679,14 +557,7 @@
   const detailForm = reactive({
     customerName: "",
     customerType: "",
-    taxpayerIdentificationNumber: "",
-    companyPhone: "",
     companyAddress: "",
-    basicBankAccount: "",
-    bankAccount: "",
-    bankCode: "",
-    contactPerson: "",
-    contactPhone: "",
     maintainer: "",
     maintenanceTime: "",
   });
@@ -710,33 +581,26 @@
 
   const tableColumn = ref([
     {
-      label: "瀹㈡埛鍒嗙被",
-      prop: "customerType",
-      width: 120,
-    },
-    {
       label: "瀹㈡埛鍚嶇О",
       prop: "customerName",
       width: 220,
     },
     {
-      label: "绾崇◣浜鸿瘑鍒爜",
-      prop: "taxpayerIdentificationNumber",
-      width: 220,
+      label: "瀹㈡埛鍒嗙被",
+      prop: "customerType",
+      dataType: "tag",
+      width: 120,
+      formatType: value => {
+        if (value === "涓�鎵瑰晢") {
+          return "primary";
+        }
+        return "success";
+      },
     },
     {
-      label: "鍦板潃鍙婅仈绯绘柟寮�",
-      prop: "addressPhone",
+      label: "鍏徃鍦板潃",
+      prop: "companyAddress",
       width: 250,
-    },
-    {
-      label: "鑱旂郴浜�",
-      prop: "contactPerson",
-    },
-    {
-      label: "鑱旂郴鐢佃瘽",
-      prop: "contactPhone",
-      width: 150,
     },
     {
       label: "璺熻繘杩涘害",
@@ -749,23 +613,26 @@
       width: 120,
     },
     {
-      label: "閾惰鍩烘湰鎴�",
-      prop: "basicBankAccount",
-      width: 220,
-    },
-    {
-      label: "閾惰璐﹀彿",
-      prop: "bankAccount",
-      width: 220,
-    },
-    {
-      label: "寮�鎴疯鍙�",
-      prop: "bankCode",
-      width: 220,
-    },
-    {
       label: "缁存姢浜�",
       prop: "maintainer",
+    },
+    {
+      label: "瀹㈡埛鏉ユ簮",
+      prop: "type",
+      dataType: "tag",
+      width: 100,
+      formatData: value => {
+        if (value === 1 || value === "1") {
+          return "鍏捣";
+        }
+        return "绉佹捣";
+      },
+      formatType: value => {
+        if (value === 1 || value === "1") {
+          return "warning";
+        }
+        return "success";
+      },
     },
     {
       label: "缁存姢鏃堕棿",
@@ -824,15 +691,6 @@
   // 鐢ㄦ埛淇℃伅琛ㄥ崟寮规鏁版嵁
   const operationType = ref("");
   const dialogFormVisible = ref(false);
-  const formYYs = ref({
-    // 鍏朵粬瀛楁...
-    contactList: [
-      {
-        contactPerson: "",
-        contactPhone: "",
-      },
-    ],
-  });
   const data = reactive({
     searchForm: {
       customerName: "",
@@ -840,34 +698,18 @@
     },
     form: {
       customerName: "",
-      taxpayerIdentificationNumber: "",
       companyAddress: "",
-      companyPhone: "",
-      contactPerson: "",
-      contactPhone: "",
       maintainer: "",
       maintenanceTime: "",
-      basicBankAccount: "",
-      bankAccount: "",
-      bankCode: "",
       customerType: "",
     },
     rules: {
       customerName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-      taxpayerIdentificationNumber: [
-        { required: true, message: "璇疯緭鍏�", trigger: "blur" },
-      ],
       companyAddress: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-      companyPhone: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-      // contactPerson: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-      // contactPhone: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       maintainer: [{ required: false, message: "璇烽�夋嫨", trigger: "change" }],
       maintenanceTime: [
         { required: false, message: "璇烽�夋嫨", trigger: "change" },
       ],
-      basicBankAccount: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-      bankAccount: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-      bankCode: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
       customerType: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
     },
   });
@@ -881,7 +723,7 @@
     // 璁剧疆涓婁紶鐨勮姹傚ご閮�
     headers: { Authorization: "Bearer " + getToken() },
     // 涓婁紶鐨勫湴鍧�
-    url: import.meta.env.VITE_APP_BASE_API + "/basic/customer/importData",
+    url: import.meta.env.VITE_APP_BASE_API + "/customerPrivate/importData",
     // 鏂囦欢涓婁紶鍓嶇殑鍥炶皟
     beforeUpload: file => {
       console.log("鏂囦欢鍗冲皢涓婁紶", file);
@@ -927,18 +769,6 @@
     },
   });
   const { searchForm, form, rules } = toRefs(data);
-  const addNewContact = () => {
-    formYYs.value.contactList.push({
-      contactPerson: "",
-      contactPhone: "",
-    });
-  };
-
-  const removeContact = index => {
-    if (formYYs.value.contactList.length > 1) {
-      formYYs.value.contactList.splice(index, 1);
-    }
-  };
   // 鏌ヨ鍒楄〃
   /** 鎼滅储鎸夐挳鎿嶄綔 */
   const handleQuery = () => {
@@ -952,10 +782,10 @@
   };
   const getList = () => {
     tableLoading.value = true;
-    listCustomer({ ...searchForm.value, ...page }).then(res => {
+    listCustomerPrivatePool({ ...searchForm.value, ...page }).then(res => {
       tableLoading.value = false;
-      tableData.value = res.records;
-      page.total = res.total;
+      tableData.value = res.data.records;
+      page.total = res.data.total;
     });
   };
   // 琛ㄦ牸閫夋嫨鏁版嵁
@@ -974,34 +804,20 @@
   }
   /** 涓嬭浇妯℃澘 */
   function importTemplate() {
-    proxy.download("/basic/customer/downloadTemplate", {}, "瀹㈡埛瀵煎叆妯℃澘.xlsx");
+    proxy.download("/customerPrivate/downloadTemplate", {}, "瀹㈡埛瀵煎叆妯℃澘.xlsx");
   }
   // 鎵撳紑寮规
   const openForm = (type, row) => {
     operationType.value = type;
     form.value = {};
     form.value.maintainer = userStore.nickName;
-    formYYs.value.contactList = [
-      {
-        contactPerson: "",
-        contactPhone: "",
-      },
-    ];
     form.value.maintenanceTime = getCurrentDate();
     userListNoPage().then(res => {
       userList.value = res.data;
     });
     if (type === "edit") {
-      getCustomer(row.id).then(res => {
+      getCustomerPrivatePoolById(row.id).then(res => {
         form.value = { ...res.data };
-        formYYs.value.contactList = res.data.contactPerson
-          .split(",")
-          .map((item, index) => {
-            return {
-              contactPerson: item,
-              contactPhone: res.data.contactPhone.split(",")[index],
-            };
-          });
       });
     }
     dialogFormVisible.value = true;
@@ -1020,16 +836,7 @@
   };
   // 鎻愪氦鏂板
   const submitAdd = () => {
-    if (formYYs.value.contactList.length < 1) {
-      return proxy.$modal.msgWarning("璇疯嚦灏戞坊鍔犱竴涓仈绯讳汉");
-    }
-    form.value.contactPerson = formYYs.value.contactList
-      .map(item => item.contactPerson)
-      .join(",");
-    form.value.contactPhone = formYYs.value.contactList
-      .map(item => item.contactPhone)
-      .join(",");
-    addCustomer(form.value).then(res => {
+    addCustomerPrivate(form.value).then(res => {
       proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
       closeDia();
       getList();
@@ -1037,13 +844,7 @@
   };
   // 鎻愪氦淇敼
   const submitEdit = () => {
-    form.value.contactPerson = formYYs.value.contactList
-      .map(item => item.contactPerson)
-      .join(",");
-    form.value.contactPhone = formYYs.value.contactList
-      .map(item => item.contactPhone)
-      .join(",");
-    updateCustomer(form.value).then(res => {
+    updateCustomerPrivatePool(form.value).then(res => {
       proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
       closeDia();
       getList();
@@ -1062,7 +863,7 @@
       type: "warning",
     })
       .then(() => {
-        proxy.download("/basic/customer/export", {}, "瀹㈡埛妗f.xlsx");
+        proxy.download("/customerPrivate/export", {}, "瀹㈡埛妗f.xlsx");
       })
       .catch(() => {
         proxy.$modal.msg("宸插彇娑�");
@@ -1072,12 +873,11 @@
   const handleDelete = () => {
     let ids = [];
     if (selectedRows.value.length > 0) {
-      // 妫�鏌ユ槸鍚︽湁浠栦汉缁存姢鐨勬暟鎹�
       const unauthorizedData = selectedRows.value.filter(
-        item => item.maintainer !== userStore.nickName
+        item => item.type === 1 || item.type === "1"
       );
       if (unauthorizedData.length > 0) {
-        proxy.$modal.msgWarning("涓嶅彲鍒犻櫎浠栦汉缁存姢鐨勬暟鎹�");
+        proxy.$modal.msgWarning("鍏捣鍒嗛厤鐨勫鎴蜂笉鑳藉垹闄�");
         return;
       }
       ids = selectedRows.value.map(item => item.id);
@@ -1092,8 +892,8 @@
     })
       .then(() => {
         tableLoading.value = true;
-        delCustomer(ids)
-          .then(res => {
+        delCustomerPrivate(ids)
+          .then(() => {
             proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
             getList();
           })
@@ -1146,7 +946,8 @@
         if (reminderForm.id) {
           submitvalue.value = {
             id: reminderForm.id,
-            customerId: currentCustomerId.value,
+						customerPrivatePoolId: reminderForm.id,
+						customerPrivatePoolId: currentCustomerId.value,
             isEnabled: reminderForm.reminderSwitch ? 1 : 0,
             content: reminderForm.reminderContent,
             reminderTime: reminderForm.reminderTime,
@@ -1154,15 +955,13 @@
           };
         } else {
           submitvalue.value = {
-            customerId: currentCustomerId.value,
+						customerPrivatePoolId: currentCustomerId.value,
             isEnabled: reminderForm.reminderSwitch ? 1 : 0,
             content: reminderForm.reminderContent,
             reminderTime: reminderForm.reminderTime,
             remindUserId: userStore.id,
           };
         }
-
-        console.log("鎻愪氦鍥炶鎻愰啋鏁版嵁:", submitvalue.value);
 
         // 璋冪敤鎺ュ彛
         addReturnVisit(submitvalue.value)
@@ -1185,20 +984,12 @@
   // 鎵撳紑娲借皥杩涘害寮圭獥
   const openNegotiationDialog = row => {
     negotiationForm.customerName = row.customerName;
-    negotiationForm.customerId = row.id;
+    negotiationForm.customerPrivatePoolId = row.id;
     negotiationForm.followUpMethod = "";
     negotiationForm.followUpLevel = "";
     negotiationForm.followUpTime = "";
     negotiationForm.followerUserName = userStore.nickName; // 榛樿褰撳墠鐧诲綍浜�
     negotiationForm.content = "";
-    // {
-    // 	"customerId": 152,
-    // 	"followUpMethod": "鐢佃瘽娌熼��",
-    // 	"followUpLevel": "娌℃湁鎰忓悜",
-    // 	"followUpTime": "2026-03-04T15:30:00",
-    // 	"followerUserName": "绠$悊鍛樿处鍙�",
-    // 	"content": "111"
-    // }
     negotiationDialogVisible.value = true;
   };
 
@@ -1220,26 +1011,9 @@
 
         if (isEdit) {
           // 淇敼鎿嶄綔
-          console.log("淇敼娲借皥杩涘害鏁版嵁:", negotiationForm);
-          // 杩欓噷鍙互璋冪敤鏇存柊鎺ュ彛
-          // 瀹為檯椤圭洰涓渶瑕佹牴鎹悗绔帴鍙h繘琛岃皟鏁�
-          // 绀轰緥锛歶pdateCustomerFollow(negotiationForm).then(res => {
-          //   // 鏇存柊鏈湴鏁版嵁
-          //   const index = negotiationForm.editIndex;
-          //   negotiationRecords.value[index] = {
-          //     followUpTime: negotiationForm.followUpTime,
-          //     followUpMethod: negotiationForm.followUpMethod,
-          //     followUpLevel: negotiationForm.followUpLevel,
-          //     followerUserName: negotiationForm.followerUserName,
-          //     content: negotiationForm.content,
-          //     id: negotiationForm.id,
-          //   };
-          //   proxy.$modal.msgSuccess("淇敼鎴愬姛");
-          //   closeNegotiationDialog();
-          // });
           updateCustomerFollow(negotiationForm).then(res => {
             // 鏇存柊鏈湴鏁版嵁
-            getCustomer(negotiationForm.customerId).then(res => {
+            getCustomer(negotiationForm.customerPrivatePoolId).then(res => {
               // 鏇存柊鏈湴鏁版嵁
               negotiationRecords.value = res.data.followUpList || [];
             });
@@ -1271,8 +1045,7 @@
 
   // 鎵撳紑璇︽儏寮圭獥
   const openDetailDialog = row => {
-    // 璋冪敤getCustomer鎺ュ彛鑾峰彇瀹㈡埛璇︽儏
-    getCustomer(row.id).then(res => {
+    getCustomerPrivatePoolInfo(row.id).then(res => {
       // 濉厖瀹㈡埛鍩烘湰淇℃伅
       Object.assign(detailForm, res.data);
 
@@ -1293,7 +1066,7 @@
     // 灏嗗綋鍓嶈褰曟暟鎹~鍏呭埌琛ㄥ崟
     Object.assign(negotiationForm, {
       customerName: row.customerName,
-      customerId: row.customerId,
+			customerPrivatePoolId: row.customerPrivatePoolId,
       followUpMethod: row.followUpMethod,
       followUpLevel: row.followUpLevel,
       followUpTime: row.followUpTime,
@@ -1321,7 +1094,7 @@
         // });
         delCustomerFollow(row.id).then(() => {
           // 鍒犻櫎鎴愬姛鍚庢洿鏂版湰鍦版暟鎹�
-          getCustomer(row.customerId).then(res => {
+          getCustomer(row.customerPrivatePoolId).then(res => {
             // 鏇存柊鏈湴鏁版嵁
             negotiationRecords.value = res.data.followUpList || [];
           });

--
Gitblit v1.9.3