linwenxin 5 ماه پیش
والد
کامیت
322b1073a3
2فایلهای تغییر یافته به همراه63 افزوده شده و 6 حذف شده
  1. 8 0
      src/api/setting.js
  2. 55 6
      src/views/setting/role/index.vue

+ 8 - 0
src/api/setting.js

@@ -4,6 +4,14 @@ export function adminWebsitImport(data) {
   return handleImport('/admin/websit/import', data.formdata, data.id || '')
 }
 
+export function adminRoleGetRoleType(data) {
+  return request({
+    url: `/admin/role/get/role/type`,
+    method: 'post',
+    data
+  })
+}
+
 export function carouselMapListPageV2(data) {
   return request({
     url: `/carouselMap/list/pageV2?moduleId=${data.moduleId}`,

+ 55 - 6
src/views/setting/role/index.vue

@@ -50,6 +50,18 @@
                 <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
                 <el-table-column align="center" label="商户" prop="companyName"></el-table-column>
                 <el-table-column align="center" label="角色" prop="name"></el-table-column>
+
+                <el-table-column align="center" label="适用机构" prop="type">
+                  <template slot-scope="scope">
+                    {{ ['部门', '企业', 'admin'][scope.row.type] }}
+                  </template>
+                </el-table-column>
+                <el-table-column align="center" label="级别" prop="level">
+                  <template slot-scope="scope">
+                    {{ ['无', '一级网点', '二级网点'][scope.row.level] }}
+                  </template>
+                </el-table-column>
+
                 <el-table-column align="center" label="操作" width="180">
                   <template slot-scope="scope">
                     <el-button type="text" @click="setMenuRole(scope.row.adminRoleId)">设置权限</el-button>
@@ -89,10 +101,38 @@
         </div>
       </div>
       <div v-if="~['add', 'edit'].indexOf(activeKey)" style="box-sizing: border-box; padding: 16px">
-        <el-form ref="addForm" :model="addForm" :rules="addFormRules" label-position="left" label-width="100px">
+        <el-form
+          ref="addForm"
+          :model="addForm"
+          :inline="true"
+          :rules="addFormRules"
+          label-position="left"
+          label-width="100px"
+        >
           <el-form-item label="角色名" prop="name">
             <el-input v-model="addForm.name" autocomplete="off" placeholder="请输入角色名"></el-input>
           </el-form-item>
+          <el-form-item label="适用机构" prop="type">
+            <el-select
+              v-model="addForm.type"
+              placeholder="请选择"
+              @change="
+                () => {
+                  addForm.level = ''
+                }
+              "
+            >
+              <el-option v-for="item in adminRoleGetRoleType" :key="item.code" :label="item.name" :value="item.code">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="级别" prop="level" v-if="addForm.type === 0">
+            <el-select v-model="addForm.level" placeholder="请选择">
+              <el-option label="无" value="0" />
+              <el-option label="一级网点" value="1" />
+              <el-option label="二级网点" value="2" />
+            </el-select>
+          </el-form-item>
         </el-form>
         <div slot="footer" class="dialog-footer" style="text-align: right">
           <el-button size="mini" @click="data.removeTab()">取 消</el-button>
@@ -131,7 +171,8 @@ import {
   deleteRole,
   getMenuList,
   getMenuRoleIds,
-  setMenuRole
+  setMenuRole,
+  adminRoleGetRoleType
 } from '@/api/setting'
 
 export default {
@@ -149,16 +190,21 @@ export default {
         companyWechatName: ''
       },
       addForm: {
-        name: '' // 角色名
+        name: '', // 角色名
+        type: '',
+        level: ''
       },
       addFormRules: {
-        name: [{ required: true, message: '请输入角色名', trigger: 'blur' }]
+        name: [{ required: true, message: '请输入角色名', trigger: 'blur' }],
+        type: [{ required: true, message: '请输入角色名', trigger: 'blur' }],
+        level: [{ required: true, message: '请输入角色名', trigger: 'blur' }]
       },
       menuRoleList: [],
       defaultProps: {
         children: 'children',
         label: 'moduleName'
-      }
+      },
+      adminRoleGetRoleType: []
     }
   },
   computed: {
@@ -166,6 +212,9 @@ export default {
   },
   created() {
     this.getList()
+    adminRoleGetRoleType().then(res => {
+      this.adminRoleGetRoleType = res.data
+    })
   },
   methods: {
     getList() {
@@ -223,7 +272,7 @@ export default {
             this.editId = id
             getRoleDetail({ adminRoleId: id }).then(res => {
               this.addForm = {
-                name: res.data.name
+                ...res.data
               }
             })
           }