Bladeren bron

shiyu首页接口按权限筛选和编辑账户独占类型只读

shiyu 2 jaren geleden
bovenliggende
commit
8945de2c66
3 gewijzigde bestanden met toevoegingen van 47 en 32 verwijderingen
  1. 35 30
      src/views/mainPage.vue
  2. 11 1
      src/views/systemManagement/addAccount.vue
  3. 1 1
      src/views/systemManagement/editAccount.vue

+ 35 - 30
src/views/mainPage.vue

@@ -323,17 +323,21 @@ export default {
     watch:{
         roleCode:{
             handler(newV){
-                if(newV == '0'|| newV == '1'){
-                    this.tabsList=[
-                        {label: '系统监控', name: '1'},
-                        {label: '系统监控', name: '2'},
-                    ]
-                    this.activeName = '1'
-                }else{
-                    this.tabsList=[
-                        {label: '系统监控', name: '2'},
-                    ]
-                    this.activeName = '2'
+                if(newV){
+                    if(newV == '0'|| newV == '1'){
+                        this.tabsList=[
+                            {label: '服务监控', name: '1'},
+                            {label: '系统监控', name: '2'},
+                        ]
+                        this.activeName = '1'
+                        this.init()
+                    }else{
+                        this.tabsList=[
+                            {label: '系统监控', name: '2'},
+                        ]
+                        this.activeName = '2'
+                        this.init2()
+                    }  
                 }
             },
             immediate: true
@@ -373,35 +377,36 @@ export default {
             });
         },
         init() {
-            this.getData(this.$api.mainPage.selectHardware, "hardware");
-            this.getData(this.$api.mainPage.selectService, "serviceData");
-            this.getData(this.$api.mainPage.selectAccess, "dateAccessList");
+            this.getData(this.$api.mainPage.selectHardware, "hardware");  //1
+            this.getData(this.$api.mainPage.selectService, "serviceData");   //1
+            this.getData(this.$api.mainPage.selectAccess, "dateAccessList");  //1
 
             this.getDataWay = {
                 dataType: "url",
                 type: "post",
                 data: this.$api.mainPage.selectServer,
                 param: {},
-            };
-
-            this.getData(this.$api.mainPage.queryAllNum, "dataOverview");
-            this.getData(
-                this.$api.mainPage.selectRunProjectBySy,
-                "runProjectList"
-            );
-            this.getData(this.$api.mainPage.selectRunTaskBySy, "runTaskList");
-            this.getData(
-                this.$api.mainPage.selectRunProjectByState,
-                "dataListA"
-            );
-            this.getData(this.$api.mainPage.selectRunTaskByState, "dataListB");
-            this.getData(this.$api.mainPage.selectEvaluationLevel, "dataListC");
+            };  //1
+
+            this.getData(this.$api.mainPage.queryAllNum, "dataOverview");  //2
+            this.getData(this.$api.mainPage.selectRunProjectBySy, "runProjectList");  //2
+            this.getData(this.$api.mainPage.selectRunTaskBySy, "runTaskList"); //2
+            this.getData(this.$api.mainPage.selectRunProjectByState, "dataListA");  //2
+            this.getData(this.$api.mainPage.selectRunTaskByState, "dataListB");  //2
+            this.getData(this.$api.mainPage.selectEvaluationLevel, "dataListC");  //2
+        },
+        init2(){
+            this.getData(this.$api.mainPage.queryAllNum, "dataOverview");  //2
+            this.getData(this.$api.mainPage.selectRunProjectBySy, "runProjectList");  //2
+            this.getData(this.$api.mainPage.selectRunTaskBySy, "runTaskList"); //2
+            this.getData(this.$api.mainPage.selectRunProjectByState, "dataListA");  //2
+            this.getData(this.$api.mainPage.selectRunTaskByState, "dataListB");  //2
+            this.getData(this.$api.mainPage.selectEvaluationLevel, "dataListC");  //2
         },
     },
-
     mounted() {
         if (localStorage.getItem("Authorization")) {
-            this.init();
+            //this.init();
         }else{  //如果没有Authorization
             /*this.$alert('用户信息过期,请重新登陆','提示',{
                 confirmButtonText:'确定',

+ 11 - 1
src/views/systemManagement/addAccount.vue

@@ -93,7 +93,7 @@
                 </el-form-item>
                 -->
                 <el-form-item label="独占类型:" prop="useType">
-                    <el-radio v-for="item in useTypeList" :key="item.code" :label="item.code" v-model="form.useType">{{item.caption}}</el-radio>
+                    <el-radio v-for="item in useTypeList" :key="item.code" :label="item.code" v-model="form.useType" :disabled="useTypeReadonly">{{item.caption}}</el-radio>
                 </el-form-item>
 
                 <div class="btns">
@@ -152,6 +152,7 @@ export default {
                 //password: [{ required: true, message: "请输入", trigger: "blur" }],
                 useType: [{ required: true, message: "请选择", trigger: "change" }],
             },
+            
         };
     },
     async created(){
@@ -162,11 +163,20 @@ export default {
             roleCodeList: "roleCode",
             useTypeList: "useType"
         });
+        //管理员用户创建时可以选择useType,普通账户只能继承useType且不可修改
+
     },
     computed: {
         roleCode(){
             return this.$store.state.roleCode
         },
+        useTypeReadonly(){
+            if(this.roleCode == '0'|| this.roleCode == '1'){
+                return false
+            }else{
+                return true
+            }
+        },
         limitRoleCodeList(){
             let list = []
             this.roleCodeList.map(item=>{

+ 1 - 1
src/views/systemManagement/editAccount.vue

@@ -82,7 +82,7 @@
                 </el-form-item>
                 -->
                 <el-form-item label="独占类型:" prop="useType">
-                    <el-radio v-for="item in useTypeList" :key="item.code" :label="item.code" v-model="form.useType">{{item.caption}}</el-radio>
+                    <el-radio v-for="item in useTypeList" :key="item.code" :label="item.code" v-model="form.useType" disabled>{{item.caption}}</el-radio>
                 </el-form-item>
 
                 <div class="btns">