From 9601915072973553406f549f06aa1cfa93172b92 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期一, 29 十二月 2025 13:30:52 +0800
Subject: [PATCH] 添加客户分类功能,零售客户和进销商客户

---
 src/views/basicData/customerFile/index.vue |   94 +++++++++++++++++++++++++++++++---------------
 1 files changed, 63 insertions(+), 31 deletions(-)

diff --git a/src/views/basicData/customerFile/index.vue b/src/views/basicData/customerFile/index.vue
index a706616..0f39e25 100644
--- a/src/views/basicData/customerFile/index.vue
+++ b/src/views/basicData/customerFile/index.vue
@@ -5,12 +5,23 @@
         <span class="search_title">瀹㈡埛鍚嶇О锛�</span>
         <el-input
           v-model="searchForm.customerName"
-          style="width: 240px"
+          style="width: 240px;margin-right: 10px"
           placeholder="璇疯緭鍏�"
           @change="handleQuery"
           clearable
           :prefix-icon="Search"
         />
+         <span class="search_title">瀹㈡埛鍒嗙被锛�</span>
+         <el-select
+          v-model="searchForm.customerType"
+          placeholder="璇烽�夋嫨"
+          style="width: 240px"
+          clearable
+           @change="handleQuery"
+        >
+           <el-option  label="闆跺敭瀹㈡埛" value="闆跺敭瀹㈡埛" />
+           <el-option  label="杩涢攢鍟嗗鎴�" value="杩涢攢鍟嗗鎴�" />
+        </el-select>
         <el-button type="primary" @click="handleQuery" style="margin-left: 10px"
           >鎼滅储</el-button
         >
@@ -92,25 +103,6 @@
             </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="閾惰鍩烘湰鎴凤細" prop="basicBankAccount">
@@ -141,7 +133,33 @@
               />
             </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-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="缁存姢浜猴細" prop="maintainer">
@@ -170,7 +188,6 @@
                 type="date"
                 placeholder="璇烽�夋嫨"
                 clearable
-                disabled
               />
             </el-form-item>
           </el-col>
@@ -210,13 +227,13 @@
         <template #tip>
           <div class="el-upload__tip text-center">
             <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
-<!--            <el-link-->
-<!--              type="primary"-->
-<!--              :underline="false"-->
-<!--              style="font-size: 12px; vertical-align: baseline"-->
-<!--              @click="importTemplate"-->
-<!--              >涓嬭浇妯℃澘</el-link-->
-<!--            >-->
+            <el-link
+              type="primary"
+              :underline="false"
+              style="font-size: 12px; vertical-align: baseline"
+              @click="importTemplate"
+              >涓嬭浇妯℃澘</el-link
+            >
           </div>
         </template>
       </el-upload>
@@ -248,6 +265,11 @@
 const userStore = useUserStore();
 
 const tableColumn = ref([
+  {
+    label: "瀹㈡埛鍒嗙被",
+    prop: "customerType",
+    width: 120,
+  },
   {
     label: "瀹㈡埛鍚嶇О",
     prop: "customerName",
@@ -308,9 +330,6 @@
         clickFun: (row) => {
           openForm("edit", row);
         },
-				disabled: (row) => {
-					return row.maintainer !== userStore.nickName
-				}
       },
     ],
   },
@@ -340,6 +359,7 @@
 const data = reactive({
   searchForm: {
     customerName: "",
+    customerType: "",
   },
   form: {
     customerName: "",
@@ -353,6 +373,7 @@
     basicBankAccount: "",
     bankAccount: "",
     bankCode: "",
+    customerType: "",
   },
   rules: {
     customerName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -370,6 +391,7 @@
     basicBankAccount: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
     bankAccount: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
     bankCode: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+    customerType: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
   },
 });
 const upload = reactive({
@@ -400,8 +422,12 @@
   // 鏂囦欢涓婁紶鎴愬姛鏃剁殑鍥炶皟
   onSuccess: (response, file, fileList) => {
     console.log('涓婁紶鎴愬姛', response, file, fileList);
+    upload.isUploading = false;
     if(response.code === 200){
       proxy.$modal.msgSuccess("鏂囦欢涓婁紶鎴愬姛");
+      upload.open = false;
+      proxy.$refs["uploadRef"].clearFiles();
+      getList();
     }else if(response.code === 500){
       proxy.$modal.msgError(response.msg);
     }else{
@@ -411,6 +437,7 @@
   // 鏂囦欢涓婁紶澶辫触鏃剁殑鍥炶皟
   onError: (error, file, fileList) => {
     console.error('涓婁紶澶辫触', error, file, fileList);
+    upload.isUploading = false;
     proxy.$modal.msgError("鏂囦欢涓婁紶澶辫触");
   },
   // 鏂囦欢涓婁紶杩涘害鍥炶皟
@@ -456,6 +483,7 @@
 };
 /** 鎻愪氦涓婁紶鏂囦欢 */
 function submitFileForm() {
+  upload.isUploading = true;
   proxy.$refs["uploadRef"].submit();
 }
 /** 瀵煎叆鎸夐挳鎿嶄綔 */
@@ -463,6 +491,10 @@
   upload.title = "瀹㈡埛瀵煎叆";
   upload.open = true;
 }
+/** 涓嬭浇妯℃澘 */
+function importTemplate() {
+  proxy.download("/basic/customer/downloadTemplate", {}, "瀹㈡埛瀵煎叆妯℃澘.xlsx");
+}
 // 鎵撳紑寮规
 const openForm = (type, row) => {
   operationType.value = type;

--
Gitblit v1.9.3