From add04dce2ad833ecbb7495a641f42fb835ddff62 Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期三, 14 五月 2025 15:24:00 +0800
Subject: [PATCH] 新增实验调度逻辑

---
 laboratory/src/components/DynamicComponent/addTableData.vue |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/laboratory/src/components/DynamicComponent/addTableData.vue b/laboratory/src/components/DynamicComponent/addTableData.vue
index a7ddd06..b8956ac 100644
--- a/laboratory/src/components/DynamicComponent/addTableData.vue
+++ b/laboratory/src/components/DynamicComponent/addTableData.vue
@@ -38,6 +38,7 @@
                   <el-input
                     v-model="form[header.name]"
                     :placeholder="'请输入' + header.name"
+                    :disabled="!checkEditPermission(header)"
                   />
                 </el-form-item>
                 <el-form-item
@@ -58,6 +59,7 @@
                     list-type="picture-card"
                     :on-change="handleSpectrumChange"
                     :on-remove="handleSpectrumRemove"
+                    :disabled="!checkEditPermission(header)"
                   >
                     <i class="el-icon-plus"></i>
                   </el-upload>
@@ -77,6 +79,7 @@
                     type="datetime"
                     placeholder="选择日期时间"
                     value-format="yyyy-MM-dd HH:mm:ss"
+                    :disabled="!checkEditPermission(header)"
                     :picker-options="{
                       shortcuts: [{
                         text: '今天',
@@ -116,6 +119,7 @@
                     multiple
                     filterable
                     placeholder="请选择用户"
+                    :disabled="!checkEditPermission(header)"
                   >
                     <el-option
                       v-for="item in userOptions"
@@ -185,6 +189,10 @@
         this.$emit("update:visible", val);
       },
     },
+    currentUserId() {
+      const userInfo = JSON.parse(sessionStorage.getItem('userInfo') || '{}');
+      return userInfo.userId;
+    }
   },
   watch: {
     visible: {
@@ -232,6 +240,12 @@
     },
   },
   methods: {
+    checkEditPermission(header) {
+      if (!header.role || !Array.isArray(header.role)) {
+        return true;
+      }
+      return header.role.includes(this.currentUserId);
+    },
     initRules() {
       // 初始化校验规则
       const rules = {};

--
Gitblit v1.7.1