From 22229c67d87f0fae4c4bc90db106b8a1e2c49b53 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 20 八月 2026 15:50:11 +0800
Subject: [PATCH] feat(permission): 为多个模块添加管理员权限控制功能
---
src/views/basicData/supplierManage/components/HomeTab.vue | 26 +++++++++++++++++++++++---
1 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/src/views/basicData/supplierManage/components/HomeTab.vue b/src/views/basicData/supplierManage/components/HomeTab.vue
index 7b90272..794f430 100644
--- a/src/views/basicData/supplierManage/components/HomeTab.vue
+++ b/src/views/basicData/supplierManage/components/HomeTab.vue
@@ -168,6 +168,16 @@
</el-row>
<el-row :gutter="30">
<el-col :span="12">
+ <el-form-item label="渚涘簲鍟嗙被鍨嬶細" prop="supplierType">
+ <el-select v-model="form.supplierType" 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-col :span="12">
<el-form-item label="鏄惁鐧藉悕鍗曪細" prop="isWhite">
<el-select v-model="form.isWhite" placeholder="璇烽�夋嫨" clearable>
<el-option label="鏄�" :value="0" />
@@ -232,7 +242,7 @@
</template>
<script setup>
-import { onMounted, ref } from "vue";
+import { onMounted, ref, computed } from "vue";
import { Search } from "@element-plus/icons-vue";
import { delSupplier } from "@/api/basicData/supplierManageFile.js";
import { ElMessageBox } from "element-plus";
@@ -248,12 +258,20 @@
import FilesDia from "../filesDia.vue";
const { proxy } = getCurrentInstance();
const userStore = useUserStore();
+const isAdminUser = computed(() =>
+ ["admin", "鏅��2", "鏈�楂�1"].some(r => (userStore.roles || []).includes(r))
+);
const tableColumn = ref([
{
label: "渚涘簲鍟嗗悕绉�",
prop: "supplierName",
width: 250,
+ },
+ {
+ label: "渚涘簲鍟嗙被鍨�",
+ prop: "supplierType",
+ width: 120,
},
{
label: "绾崇◣浜鸿瘑鍒彿",
@@ -352,6 +370,7 @@
contactUserPhone: "",
maintainUserId: "",
maintainTime: "",
+ supplierType: "",
isWhite: "",
},
rules: {
@@ -360,13 +379,14 @@
{ required: true, message: "璇疯緭鍏�", trigger: "blur" },
],
companyAddress: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- companyPhone: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ companyPhone: [{ required: false, 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" }],
+ supplierType: [{ required: true, message: "璇烽�夋嫨渚涘簲鍟嗙被鍨�", trigger: "change" }],
},
});
const { searchForm, form, rules } = toRefs(data);
@@ -516,7 +536,7 @@
let ids = [];
if (selectedRows.value.length > 0) {
// 妫�鏌ユ槸鍚︽湁浠栦汉缁存姢鐨勬暟鎹�
- const unauthorizedData = selectedRows.value.filter(item => item.maintainUserName !== userStore.nickName);
+ const unauthorizedData = selectedRows.value.filter(item => item.maintainUserName !== userStore.nickName && !isAdminUser.value);
if (unauthorizedData.length > 0) {
proxy.$modal.msgWarning("涓嶅彲鍒犻櫎浠栦汉缁存姢鐨勬暟鎹�");
return;
--
Gitblit v1.9.3