From a5222bcc6e79b89459175d3a10a1e24cea5d96f6 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 19 一月 2026 15:24:35 +0800
Subject: [PATCH] 湟水峡 1.下拉框加筛选 2.销售模块不要客户合同号、项目名称 3.客户档案、供应商档案不要和银行有关的字段

---
 src/views/basicData/supplierManage/index.vue |  161 +++++++++++++++++------------------------------------
 1 files changed, 53 insertions(+), 108 deletions(-)

diff --git a/src/views/basicData/supplierManage/index.vue b/src/views/basicData/supplierManage/index.vue
index 63a179c..3d8b7d0 100644
--- a/src/views/basicData/supplierManage/index.vue
+++ b/src/views/basicData/supplierManage/index.vue
@@ -28,14 +28,14 @@
     </div>
     <div class="table_list">
       <PIMTable
+        rowKey="id"
         :column="tableColumn"
         :tableData="tableData"
         :page="page"
         :isSelection="true"
-        :handleSelectionChange="handleSelectionChange"
+        @selection-change="handleSelectionChange"
         :tableLoading="tableLoading"
-        @pagination="pagination"
-        :total="total"
+				@pagination="pagination"
       ></PIMTable>
     </div>
     <el-dialog
@@ -62,72 +62,9 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item
-              label="绾崇◣浜鸿瘑鍒彿锛�"
-              prop="taxpayerIdentificationNum"
-            >
-              <el-input
-                v-model="form.taxpayerIdentificationNum"
-                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"
-                placeholder="璇疯緭鍏�"
-                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="bankAccountName">
-              <el-input
-                v-model="form.bankAccountName"
-                placeholder="璇疯緭鍏�"
-                clearable
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="璐﹀彿锛�" prop="bankAccountNum">
-              <el-input
-                v-model="form.bankAccountNum"
-                placeholder="璇疯緭鍏�"
-                clearable
-              />
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="30">
-          <el-col :span="12">
-            <el-form-item label="鑱旂郴浜猴細" prop="contactUserName">
-              <el-input
-                v-model="form.contactUserName"
-                placeholder="璇疯緭鍏�"
-                clearable
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="鑱旂郴鐢佃瘽锛�" prop="contactUserPhone">
-              <el-input
-                v-model="form.contactUserPhone"
                 placeholder="璇疯緭鍏�"
                 clearable
               />
@@ -138,6 +75,7 @@
           <el-col :span="12">
             <el-form-item label="缁存姢浜猴細" prop="maintainUserId">
               <el-select
+								filterable
                 v-model="form.maintainUserId"
                 placeholder="璇烽�夋嫨"
                 clearable
@@ -162,7 +100,6 @@
                 type="date"
                 placeholder="璇烽�夋嫨"
                 clearable
-                disabled
               />
             </el-form-item>
           </el-col>
@@ -192,6 +129,7 @@
         :disabled="upload.isUploading"
         :on-progress="handleFileUploadProgress"
         :on-success="handleFileSuccess"
+        :on-error="handleFileError"
         :auto-upload="false"
         drag
       >
@@ -221,7 +159,7 @@
 </template>
 
 <script setup>
-import { ref } from "vue";
+import { onMounted, ref } from "vue";
 import { Search } from "@element-plus/icons-vue";
 import { delSupplier } from "@/api/basicData/supplierManageFile.js";
 import { ElMessageBox } from "element-plus";
@@ -241,46 +179,25 @@
   {
     label: "渚涘簲鍟嗗悕绉�",
     prop: "supplierName",
-    width: 250,
   },
   {
     label: "鍏徃鍦板潃",
     prop: "companyAddress",
-    width: 220,
-  },
-  {
-    label: "鑱旂郴鏂瑰紡",
-    prop: "companyPhone",
-  },
-  {
-    label: "寮�鎴疯",
-    prop: "bankAccountName",
-  },
-  {
-    label: "璐﹀彿",
-    prop: "bankAccountNum",
-  },
-  {
-    label: "鑱旂郴浜�",
-    prop: "contactUserName",
-  },
-  {
-    label: "鑱旂郴鐢佃瘽",
-    prop: "contactUserPhone",
   },
   {
     label: "缁存姢浜�",
     prop: "maintainUserName",
   },
-
   {
     label: "缁存姢鏃堕棿",
     prop: "maintainTime",
+    width:160
   },
   {
     dataType: "action",
     label: "鎿嶄綔",
     align: "center",
+		fixed: 'right',
     operation: [
       {
         name: "缂栬緫",
@@ -288,6 +205,9 @@
         clickFun: (row) => {
           openForm("edit", row);
         },
+				disabled: (row) => {
+					return row.maintainUserName !== userStore.nickName
+				}
       },
     ],
   },
@@ -298,9 +218,9 @@
 const tableLoading = ref(false);
 const page = reactive({
   current: 1,
-  size: 10,
+  size: 100,
+  total: 0,
 });
-const total = ref(0);
 
 // 鐢ㄦ埛淇℃伅琛ㄥ崟寮规鏁版嵁
 const operationType = ref("");
@@ -311,27 +231,13 @@
   },
   form: {
     supplierName: "",
-    taxpayerIdentificationNum: "",
     companyAddress: "",
-    companyPhone: "",
-    bankAccountName: "",
-    bankAccountNum: "",
-    contactUserName: "",
-    contactUserPhone: "",
     maintainUserId: "",
     maintainTime: "",
   },
   rules: {
     supplierName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-    taxpayerIdentificationNum: [
-      { required: true, message: "璇疯緭鍏�", trigger: "blur" },
-    ],
     companyAddress: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-    companyPhone: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-    bankAccountName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-    bankAccountNum: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
-    contactUserName: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
-    contactUserPhone: [{ required: false, message: "璇疯緭鍏�", trigger: "blur" }],
     maintainUserId: [{ required: false, message: "璇烽�夋嫨", trigger: "change" }],
     maintainTime: [{ required: false, message: "璇烽�夋嫨", trigger: "change" }],
   },
@@ -351,6 +257,7 @@
 };
 /** 鎻愪氦涓婁紶鏂囦欢 */
 function submitFileForm() {
+  upload.isUploading = true;
   proxy.$refs["uploadRef"].submit();
 }
 const getList = () => {
@@ -358,7 +265,7 @@
   listSupplier({ ...searchForm.value, ...page }).then((res) => {
     tableLoading.value = false;
     tableData.value = res.data.records;
-    total.value = res.data.total;
+    page.total = res.data.total;
   });
 };
 const upload = reactive({
@@ -368,6 +275,8 @@
   title: "",
   // 鏄惁绂佺敤涓婁紶
   isUploading: false,
+  // 鏄惁鏇存柊宸茬粡瀛樺湪鐨勭敤鎴锋暟鎹�
+  updateSupport: 1,
   // 璁剧疆涓婁紶鐨勮姹傚ご閮�
   headers: { Authorization: "Bearer " + getToken() },
   // 涓婁紶鐨勫湴鍧�
@@ -378,6 +287,36 @@
   upload.title = "渚涘簲鍟嗗鍏�";
   upload.open = true;
 }
+/** 涓嬭浇妯℃澘 */
+function importTemplate() {
+  proxy.download("/system/supplier/downloadTemplate", {}, "渚涘簲鍟嗗鍏ユā鏉�.xlsx");
+}
+
+/**鏂囦欢涓婁紶涓鐞� */
+const handleFileUploadProgress = (event, file, fileList) => {
+  upload.isUploading = true;
+};
+
+/** 鏂囦欢涓婁紶鎴愬姛澶勭悊 */
+const handleFileSuccess = (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{
+    proxy.$modal.msgWarning(response.msg);
+  }
+};
+
+/** 鏂囦欢涓婁紶澶辫触澶勭悊 */
+const handleFileError = (error, file, fileList) => {
+  upload.isUploading = false;
+  proxy.$modal.msgError("鏂囦欢涓婁紶澶辫触");
+};
 // 琛ㄦ牸閫夋嫨鏁版嵁
 const handleSelectionChange = (selection) => {
   selectedRows.value = selection;
@@ -449,6 +388,12 @@
 const handleDelete = () => {
   let ids = [];
   if (selectedRows.value.length > 0) {
+		// 妫�鏌ユ槸鍚︽湁浠栦汉缁存姢鐨勬暟鎹�
+		const unauthorizedData = selectedRows.value.filter(item => item.maintainUserName !== userStore.nickName);
+		if (unauthorizedData.length > 0) {
+			proxy.$modal.msgWarning("涓嶅彲鍒犻櫎浠栦汉缁存姢鐨勬暟鎹�");
+			return;
+		}
     ids = selectedRows.value.map((item) => item.id);
   } else {
     proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");

--
Gitblit v1.9.3