Browse Source

fix: 角色分配bug

double.huang 5 năm trước cách đây
mục cha
commit
a560925a80

+ 6 - 0
src/api/modules/index.js

@@ -29,6 +29,12 @@ module.exports.sysOrg = require('./sys_org')
 module.exports.sysPermission = require('./sys_permission')
 // sysRole 角色
 module.exports.sysRole = require('./sys_role')
+// sysRoleMenu 角色菜单
+module.exports.sysRoleMenu = require('./sys_role_menu')
+// sysSchedule 调度
+module.exports.sysSchedule = require('./sys_schedule')
+// sysScheduleHistory 调度历史
+module.exports.sysScheduleHistory = require('./sys_schedule_history')
 // sysScheduling 调度
 module.exports.sysScheduling = require('./sys_scheduling')
 // sysSetting 设置

+ 76 - 0
src/api/modules/sys_role_menu.js

@@ -0,0 +1,76 @@
+// Code generated by dol build. DO NOT EDIT.
+const axios = require('@/utils/request').default
+
+// add 添加角色菜单
+module.exports.add = (data) => {
+  const url = '/api/sys/role/menu/add'
+  return axios({
+    url: url,
+    method: 'post',
+    data
+  })
+}
+
+// batchAdd 添加角色菜单
+module.exports.batchAdd = (data) => {
+  const url = '/api/sys/role/menu/batch_add'
+  return axios({
+    url: url,
+    method: 'post',
+    data
+  })
+}
+
+// del 删除角色菜单
+module.exports.del = (data) => {
+  const url = '/api/sys/role/menu/del'
+  return axios({
+    url: url,
+    method: 'delete',
+    data
+  })
+}
+
+// batchDel 删除角色菜单
+module.exports.batchDel = (data) => {
+  const url = '/api/sys/role/menu/batch_del'
+  return axios({
+    url: url,
+    method: 'delete',
+    data
+  })
+}
+
+// update 更新角色菜单
+module.exports.update = (data) => {
+  const url = '/api/sys/role/menu/update'
+  return axios({
+    url: url,
+    method: 'put',
+    data
+  })
+}
+
+// page 角色菜单分页查询
+module.exports.page = (data) => {
+  let url = '/api/sys/role/menu/page?'
+  for (var key in data) {
+    url += key + '=' + encodeURIComponent(data[key]) + '&'
+  }
+  return axios({
+    url: url,
+    method: 'get'
+  })
+}
+
+// get 获取角色菜单信息
+module.exports.get = (data) => {
+  let url = '/api/sys/role/menu/get?'
+  for (var key in data) {
+    url += key + '=' + encodeURIComponent(data[key]) + '&'
+  }
+  return axios({
+    url: url,
+    method: 'get'
+  })
+}

+ 66 - 0
src/api/modules/sys_schedule.js

@@ -0,0 +1,66 @@
+// Code generated by dol build. DO NOT EDIT.
+const axios = require('@/utils/request').default
+
+// add 添加调度
+module.exports.add = (data) => {
+  const url = '/api/sys/schedule/add'
+  return axios({
+    url: url,
+    method: 'post',
+    data
+  })
+}
+
+// del 删除调度
+module.exports.del = (data) => {
+  const url = '/api/sys/schedule/del'
+  return axios({
+    url: url,
+    method: 'delete',
+    data
+  })
+}
+
+// batchDel 删除调度
+module.exports.batchDel = (data) => {
+  const url = '/api/sys/schedule/batch_del'
+  return axios({
+    url: url,
+    method: 'delete',
+    data
+  })
+}
+
+// update 更新调度
+module.exports.update = (data) => {
+  const url = '/api/sys/schedule/update'
+  return axios({
+    url: url,
+    method: 'put',
+    data
+  })
+}
+
+// page 调度分页查询
+module.exports.page = (data) => {
+  let url = '/api/sys/schedule/page?'
+  for (var key in data) {
+    url += key + '=' + encodeURIComponent(data[key]) + '&'
+  }
+  return axios({
+    url: url,
+    method: 'get'
+  })
+}
+
+// get 获取调度信息
+module.exports.get = (data) => {
+  let url = '/api/sys/schedule/get?'
+  for (var key in data) {
+    url += key + '=' + encodeURIComponent(data[key]) + '&'
+  }
+  return axios({
+    url: url,
+    method: 'get'
+  })
+}

+ 14 - 0
src/api/modules/sys_schedule_history.js

@@ -0,0 +1,14 @@
+// Code generated by dol build. DO NOT EDIT.
+const axios = require('@/utils/request').default
+
+// page 调度分页查询
+module.exports.page = (data) => {
+  let url = '/api/sys/schedule/history/page?'
+  for (var key in data) {
+    url += key + '=' + encodeURIComponent(data[key]) + '&'
+  }
+  return axios({
+    url: url,
+    method: 'get'
+  })
+}

+ 10 - 18
src/views/role/index.vue

@@ -18,8 +18,8 @@
         <el-form-item label="编码:" prop="code">
           <el-input v-model="temp.code" :size="size" placeholder="请输入编码" />
         </el-form-item>
-        <el-form-item label="后台首页:" prop="index_component">
-          <el-input v-model="temp.index_component" :size="size" placeholder="请输入后台首页" />
+        <el-form-item label="后台首页:" prop="admin_index">
+          <el-input v-model="temp.admin_index" :size="size" placeholder="请输入后台首页" />
         </el-form-item>
         <el-form-item label="APP首页:" prop="app_index">
           <el-input v-model="temp.app_index" :size="size" placeholder="请输入APP首页" />
@@ -131,7 +131,7 @@ export default {
       rules: {
         name: [{ required: true, message: '请输入名称', trigger: 'blur' }],
         code: [{ required: true, message: '请输入编码', trigger: 'blur' }],
-        index_component: [
+        admin_index: [
           { required: true, message: '请输入后台组件', trigger: 'blur' }
         ],
         app_index: [
@@ -142,7 +142,7 @@ export default {
         id: undefined,
         name: '',
         code: '',
-        index_component: '',
+        admin_index: '',
         app_index: ''
       },
       mode: 'transfer',
@@ -201,14 +201,10 @@ export default {
       return array
     },
     changeMenu(fromData, toData, obj) {
-      let menu_ids = []
-      toData.forEach(item => {
-        const submenus = this.treeToArray(item, 'id')
-        menu_ids = menu_ids.concat(submenus)
-      })
-      this.menu = menu_ids
-      this.$api.system
-        .AddRoleMenu({ role_id: this.role_id, menu_ids: menu_ids })
+      const menuIds = toData.map(x => this.treeToArray(x, 'id')).reduce((acc, curr) => acc.concat(curr), [])
+      const roleMenus = menuIds.map(x => ({ role_id: this.role_id, menu_id: x }))
+      this.$api.sysRoleMenu
+        .batchAdd(roleMenus)
         .then(res => {
           this.getRoleMenuTree(this.role_id)
         })
@@ -270,14 +266,10 @@ export default {
       })
     },
     updateData() {
-      if (this.menu.length === 0) {
-        this.$message.error('最少选择一个菜单,加入到已选择项中')
-        return
-      }
       this.$refs['dataForm'].validate(valid => {
         if (valid) {
-          const postData = Object.assign({}, this.temp)
-          this.$api.system.UpdateRole(postData).then(res => {
+          const payload = Object.assign({}, this.temp)
+          this.$api.sysRole.update(payload).then(res => {
             this.dialogVisible = false
             this.$message({
               message: '修改成功',