Просмотр исходного кода

Merge commit '8bac3fb08bd8af3efef3ed1f1e1422626203cd5b' into dev

刘恒 1 год назад
Родитель
Сommit
223ce4cb1d
2 измененных файлов с 120 добавлено и 6 удалено
  1. 18 0
      src/http/moudules/sys.js
  2. 102 6
      src/views/Sys/DataPermissions.vue

+ 18 - 0
src/http/moudules/sys.js

@@ -427,3 +427,21 @@ export const dataPermissionsUpdate = (data) => {
     })
 }
 
+//数据权限详情列表
+export const getDataPermissions = (data) => {
+    return axios({
+        url: '/dataPermissions/queryPage',
+        method: 'post',
+        data
+    })
+}
+
+//数据权限回显
+export const getDataPermissionsItem = (id) => {
+    return axios({
+        url:`/dataPermissions/${id}`,
+        method: 'get',
+      
+    })
+}
+

+ 102 - 6
src/views/Sys/DataPermissions.vue

@@ -59,9 +59,17 @@
         fixed="right" header-align="center" align="center" width="185" :label="$t('action.operation')">
         <template slot-scope="scope">
           <kt-button 
-           label="数据权限" 
-           sperms="sys:menu:edit" 
-          @click="handPermissions(scope.row)"/>
+            label="数据权限" 
+            sperms="sys:dataPermissions:save" 
+            @click="handPermissions(scope.row)"
+            type="primary"
+          />
+          <kt-button 
+            label="详情" 
+            sperms="sys:dataPermissions:view" 
+            @click="watchPermissions(scope.row)"
+            type="primary"
+          />
           <!-- <kt-button icon="fa fa-trash" :label="$t('action.delete')" perms="sys:menu:delete" type="danger" @click="handleDelete(scope.row)"/> -->
         </template>
       </el-table-column>
@@ -96,6 +104,7 @@
         </el-form-item>
         
         <el-form-item label="状态" prop="status">
+        
             <el-radio-group v-model="form.status"  size="mini">
               <el-radio-button label="有效" :value="1"></el-radio-button>
               <el-radio-button label="无效" :value="0"></el-radio-button>
@@ -107,6 +116,35 @@
         <el-button type="primary" @click="submit" :disabled="btnDisabled">确 定</el-button>
       </div>
     </el-dialog>
+    <el-dialog title="权限详情" :visible.sync="messageDialog">
+      <el-table :data="messageList">
+        <el-table-column property="ruleName" label="规则名称" ></el-table-column>
+        <el-table-column property="ruleField" label="规则字段" ></el-table-column>
+        <el-table-column property="ruleCondition" label="条件规则"></el-table-column>
+        <el-table-column property="ruleValue" label="规则值"></el-table-column>
+        <el-table-column property="status" label="状态"></el-table-column>
+        <el-table-column property="createTime" label="创建日期"></el-table-column>
+        <el-table-column property="operation" label="操作">
+          <template slot-scope="scope">
+            <kt-button 
+              label="编辑" 
+              sperms="sys:dataPermissions:update" 
+              @click="updatePermission(scope.row)"
+              type="primary"
+            />
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="pageInfo.pageNum"
+        :page-sizes="[10, 20, 30, 40]"
+        :page-size="pageInfo.pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="pageInfo.total">
+      </el-pagination>
+    </el-dialog>
   </div>
 </template>
 
@@ -185,7 +223,14 @@ export default {
           
       },
       conditionalRule:[],
-      btnDisabled:false
+      btnDisabled:false,
+      messageDialog:false,
+      messageList:[],
+      pageInfo:{
+        pageNum:1,
+        pageSize:10,
+        total:0
+      }
     };
   },
   mounted() {
@@ -226,7 +271,7 @@ export default {
             this.$api.sys
               .dataPermissionsUpdate({
                 ...this.form,
-               
+                status:this.form.status=="有效" ? 1:0
               })
               .then((res) => {
                 if (res.code === 200) {
@@ -237,6 +282,9 @@ export default {
                     this.$refs.ruleForm.clearValidate();
                   });
                   this.findTreeData();
+                  if(this.messageDialog){
+                    this.getMessageList()
+                  }
                 } else {
                   this.$message.error(res.msg);
                   this.btnDisabled = false;
@@ -293,11 +341,59 @@ export default {
     iconActiveHandle(iconName) {
       this.dataForm.icon = iconName;
     },
+    //给菜单设置数据权限
     handPermissions(data){
-      console.log(data)
+    
       this.dialogFormVisible=true
       this.form.menuId=data.id
     },
+    //修改菜单的数据权限-单项
+    updatePermission(data){
+      
+      this.$api.sys.getDataPermissionsItem(data.id).then(res=>{
+        // console.log(res)
+        if(res.code===200){
+          this.form={...res.data}
+          // console.log(res.data.status)
+          this.form.status=res.data.status=='0' ? '无效':'有效'
+          console.log(this.form)
+
+          this.dialogFormVisible=true
+        }
+      })
+    },
+    //查看菜单的数据权限列表
+    watchPermissions(data){
+      // console.log(data)
+      this.form.menuId=data.id
+      this.messageDialog=true
+      this.getMessageList()
+
+    },
+    handleSizeChange(val) {
+      // console.log(`每页 ${val} 条`);
+      this.pageInfo.pageSize=val
+
+      this.getMessageList()
+    },
+    handleCurrentChange(val) {
+      this.pageInfo.pageNum=val
+
+      // console.log(`当前页: ${val}`);
+    },
+    getMessageList(){
+      this.$api.sys.getDataPermissions({
+        menuId:this.form.menuId,
+        ...this.pageInfo
+
+      }).then(res=>{
+       
+        if(res.code===200){
+          this.messageList=[...res.data.records]
+          this.pageInfo.total=res.data.total
+        }
+      })
+    },
     
   },