From 60af97808e44b3a483145199f79a0828469db122 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 28 十月 2025 15:23:04 +0800
Subject: [PATCH] 客户管理,供应商列表导入功能
---
src/views/basicData/supplierManage/index.vue | 52 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 45 insertions(+), 7 deletions(-)
diff --git a/src/views/basicData/supplierManage/index.vue b/src/views/basicData/supplierManage/index.vue
index f5eb792..e990bce 100644
--- a/src/views/basicData/supplierManage/index.vue
+++ b/src/views/basicData/supplierManage/index.vue
@@ -192,6 +192,7 @@
:disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
+ :on-error="handleFileError"
:auto-upload="false"
drag
>
@@ -200,13 +201,13 @@
<template #tip>
<div class="el-upload__tip text-center">
<span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
- <!-- <el-link
+ <el-link
type="primary"
:underline="false"
style="font-size: 12px; vertical-align: baseline"
@click="importTemplate"
>涓嬭浇妯℃澘</el-link
- > -->
+ >
</div>
</template>
</el-upload>
@@ -221,7 +222,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";
@@ -244,6 +245,11 @@
width: 250,
},
{
+ label: "绾崇◣浜鸿瘑鍒彿",
+ prop: "taxpayerIdentificationNum",
+ width: 230,
+ },
+ {
label: "鍏徃鍦板潃",
prop: "companyAddress",
width: 220,
@@ -251,14 +257,17 @@
{
label: "鑱旂郴鏂瑰紡",
prop: "companyPhone",
+ width:150
},
{
label: "寮�鎴疯",
prop: "bankAccountName",
+ width: 220,
},
{
label: "璐﹀彿",
prop: "bankAccountNum",
+ width: 220,
},
{
label: "鑱旂郴浜�",
@@ -267,6 +276,7 @@
{
label: "鑱旂郴鐢佃瘽",
prop: "contactUserPhone",
+ width: 150,
},
{
label: "缁存姢浜�",
@@ -276,11 +286,13 @@
{
label: "缁存姢鏃堕棿",
prop: "maintainTime",
+ width:100
},
{
dataType: "action",
label: "鎿嶄綔",
align: "center",
+ fixed: 'right',
operation: [
{
name: "缂栬緫",
@@ -288,6 +300,9 @@
clickFun: (row) => {
openForm("edit", row);
},
+ disabled: (row) => {
+ return row.maintainUserName !== userStore.nickName
+ }
},
],
},
@@ -351,7 +366,7 @@
};
/** 鎻愪氦涓婁紶鏂囦欢 */
function submitFileForm() {
- console.log(upload.url + '?updateSupport=' + upload.updateSupport)
+ upload.isUploading = true;
proxy.$refs["uploadRef"].submit();
}
const getList = () => {
@@ -381,6 +396,10 @@
upload.title = "渚涘簲鍟嗗鍏�";
upload.open = true;
}
+/** 涓嬭浇妯℃澘 */
+function importTemplate() {
+ proxy.download("/system/supplier/downloadTemplate", {}, "渚涘簲鍟嗗鍏ユā鏉�.xlsx");
+}
/**鏂囦欢涓婁紶涓鐞� */
const handleFileUploadProgress = (event, file, fileList) => {
@@ -389,10 +408,23 @@
/** 鏂囦欢涓婁紶鎴愬姛澶勭悊 */
const handleFileSuccess = (response, file, fileList) => {
- upload.open = false;
upload.isUploading = false;
- proxy.$refs["uploadRef"].handleRemove(file);
- getList();
+ 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) => {
@@ -465,6 +497,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