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/customerFileOpenSea/index.vue | 71 ++++++++++++++++++-----------------
1 files changed, 37 insertions(+), 34 deletions(-)
diff --git a/src/views/basicData/customerFileOpenSea/index.vue b/src/views/basicData/customerFileOpenSea/index.vue
index be39125..cc2523c 100644
--- a/src/views/basicData/customerFileOpenSea/index.vue
+++ b/src/views/basicData/customerFileOpenSea/index.vue
@@ -151,38 +151,6 @@
</el-form-item>
</el-col>
</el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="浠g悊浜�"
- prop="agent">
- <el-select v-model="form.agent"
- placeholder="璇烽�夋嫨浠g悊浜�"
- clearable
- filterable
- :disabled="agentOptions.length === 0"
- :no-data-text="agentNoDataText">
- <el-option v-for="(contact, index) in agentOptions"
- :key="getAgentOptionKey(contact, index)"
- :label="getAgentLabel(contact)"
- :value="contact.contactPhone"
- :disabled="!contact.contactPhone">
- <span>{{ contact.contactPerson || "-" }}</span>
- <span style="float: right; color: var(--el-text-color-secondary); font-size: 12px;">
- {{ contact.contactPhone || "" }}
- </span>
- </el-option>
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="浼犵湡"
- prop="fax">
- <el-input v-model="form.fax"
- placeholder="璇疯緭鍏�"
- clearable />
- </el-form-item>
- </el-col>
- </el-row>
<el-row :gutter="30"
v-for="(contact, index) in formYYs.contactList"
:key="index">
@@ -215,6 +183,38 @@
</el-row>
<el-button @click="addNewContact"
style="margin-bottom: 10px;">+ 鏂板鑱旂郴浜�</el-button>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="浠g悊浜�"
+ prop="agent">
+ <el-select v-model="form.agent"
+ placeholder="璇烽�夋嫨浠g悊浜�"
+ clearable
+ filterable
+ :disabled="agentOptions.length === 0"
+ :no-data-text="agentNoDataText">
+ <el-option v-for="(contact, index) in agentOptions"
+ :key="getAgentOptionKey(contact, index)"
+ :label="getAgentLabel(contact)"
+ :value="contact.contactPhone"
+ :disabled="!contact.contactPhone">
+ <span>{{ contact.contactPerson || "-" }}</span>
+ <span style="float: right; color: var(--el-text-color-secondary); font-size: 12px;">
+ {{ contact.contactPhone || "" }}
+ </span>
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="浼犵湡"
+ prop="fax">
+ <el-input v-model="form.fax"
+ placeholder="璇疯緭鍏�"
+ clearable />
+ </el-form-item>
+ </el-col>
+ </el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="缁存姢浜猴細"
@@ -779,6 +779,9 @@
import { getToken } from "@/utils/auth.js";
const { proxy } = getCurrentInstance();
const userStore = useUserStore();
+ const isAdminUser = computed(() =>
+ ["admin", "鏅��2", "鏈�楂�1"].some(r => (userStore.roles || []).includes(r))
+ );
const assignDialogVisible = ref(false);
const assignFormRef = ref();
const assignForm = reactive({
@@ -1433,9 +1436,9 @@
const handleDelete = () => {
let ids = [];
if (selectedRows.value.length > 0) {
- // 妫�鏌ユ槸鍚︽湁浠栦汉缁存姢鐨勬暟鎹�
+ // 妫�鏌ユ槸鍚︽湁浠栦汉缁存姢鐨勬暟鎹紙绠$悊鍛樹笉鍙楅檺锛�
const unauthorizedData = selectedRows.value.filter(
- item => item.maintainer !== userStore.nickName
+ item => item.maintainer !== userStore.nickName && !isAdminUser.value
);
if (unauthorizedData.length > 0) {
proxy.$modal.msgWarning("涓嶅彲鍒犻櫎浠栦汉缁存姢鐨勬暟鎹�");
--
Gitblit v1.9.3