Merge pull request #8730 from ulleo/dev

feat(X-Pack): 数据填报菜单权限调整
This commit is contained in:
ulleo 2024-03-27 14:56:32 +08:00 committed by GitHub
commit 7409a8e6da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 64 additions and 7 deletions

View File

@ -307,4 +307,24 @@ create index data_fill_user_task_task_id_index
on data_fill_user_task (task_id);
INSERT INTO dataease.sys_auth (id, auth_source, auth_source_type, auth_target, auth_target_type, auth_time, auth_details, auth_user, update_time, copy_from, copy_id) VALUES ('3c790b17-17c0-4ba6-8c8b-b7a6bee57772', '1200', 'menu', '1', 'role', 1711448429062, null, 'admin', null, null, null);
INSERT INTO dataease.sys_auth (id, auth_source, auth_source_type, auth_target, auth_target_type, auth_time, auth_details, auth_user, update_time, copy_from, copy_id) VALUES ('8e5404a8-ef7f-407e-b67e-4ff7064fdede', '1200', 'menu', '2', 'role', 1711517966976, null, 'admin', null, null, null);
INSERT INTO dataease.sys_auth (id, auth_source, auth_source_type, auth_target, auth_target_type, auth_time, auth_details, auth_user, update_time, copy_from, copy_id) VALUES ('31fa8a67-1513-4297-8a00-c34458a0f760', '1201', 'menu', '1', 'role', 1711448429055, null, 'admin', null, null, null);
INSERT INTO dataease.sys_auth (id, auth_source, auth_source_type, auth_target, auth_target_type, auth_time, auth_details, auth_user, update_time, copy_from, copy_id) VALUES ('44d9496a-047c-4fd4-9b20-94eaff01fa0b', '1201', 'menu', '2', 'role', 1711517966965, null, 'admin', null, null, null);
INSERT INTO dataease.sys_auth (id, auth_source, auth_source_type, auth_target, auth_target_type, auth_time, auth_details, auth_user, update_time, copy_from, copy_id) VALUES ('16eeb4df-e194-4f5b-9817-d1e48c006036', '1202', 'menu', '2', 'role', 1711448593512, null, 'admin', null, null, null);
INSERT INTO dataease.sys_auth (id, auth_source, auth_source_type, auth_target, auth_target_type, auth_time, auth_details, auth_user, update_time, copy_from, copy_id) VALUES ('f4112033-f9bf-4e99-9d8e-9417663a6683', '1202', 'menu', '1', 'role', 1711448429067, null, 'admin', null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('31b8e9ef-ebfc-11ee-8430-0242ac140002', '44d9496a-047c-4fd4-9b20-94eaff01fa0b', 'i18n_auth_use', 1, 0, 'use', '基础权限-使用', 'admin', 1711517966000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('31ba695a-ebfc-11ee-8430-0242ac140002', '8e5404a8-ef7f-407e-b67e-4ff7064fdede', 'i18n_auth_use', 1, 0, 'use', '基础权限-使用', 'admin', 1711517966000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('49c77c8d-eb5a-11ee-8430-0242ac140002', '31fa8a67-1513-4297-8a00-c34458a0f760', 'i18n_auth_use', 1, 1, 'use', '基础权限-使用', 'admin', 1711448429000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('49c81b67-eb5a-11ee-8430-0242ac140002', '3c790b17-17c0-4ba6-8c8b-b7a6bee57772', 'i18n_auth_use', 1, 1, 'use', '基础权限-使用', 'admin', 1711448429000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('49c8c0b7-eb5a-11ee-8430-0242ac140002', 'f4112033-f9bf-4e99-9d8e-9417663a6683', 'i18n_auth_use', 1, 1, 'use', '基础权限-使用', 'admin', 1711448429000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('abccfe10-eb5a-11ee-8430-0242ac140002', '16eeb4df-e194-4f5b-9817-d1e48c006036', 'i18n_auth_use', 1, 1, 'use', '基础权限-使用', 'admin', 1711448593000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('31b8e988-ebfc-11ee-8430-0242ac140002', '44d9496a-047c-4fd4-9b20-94eaff01fa0b', 'i18n_auth_grant', 15, 0, 'grant', '基础权限-授权', 'admin', 1711517966000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('31ba6902-ebfc-11ee-8430-0242ac140002', '8e5404a8-ef7f-407e-b67e-4ff7064fdede', 'i18n_auth_grant', 15, 0, 'grant', '基础权限-授权', 'admin', 1711517966000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('49c77c73-eb5a-11ee-8430-0242ac140002', '31fa8a67-1513-4297-8a00-c34458a0f760', 'i18n_auth_grant', 15, 0, 'grant', '基础权限-授权', 'admin', 1711448429000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('49c81b44-eb5a-11ee-8430-0242ac140002', '3c790b17-17c0-4ba6-8c8b-b7a6bee57772', 'i18n_auth_grant', 15, 0, 'grant', '基础权限-授权', 'admin', 1711448429000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('49c8c096-eb5a-11ee-8430-0242ac140002', 'f4112033-f9bf-4e99-9d8e-9417663a6683', 'i18n_auth_grant', 15, 0, 'grant', '基础权限-授权', 'admin', 1711448429000, null, null, null);
INSERT INTO dataease.sys_auth_detail (id, auth_id, privilege_name, privilege_type, privilege_value, privilege_extend, remark, create_user, create_time, update_time, copy_from, copy_id) VALUES ('abccfdbb-eb5a-11ee-8430-0242ac140002', '16eeb4df-e194-4f5b-9817-d1e48c006036', 'i18n_auth_grant', 15, 0, 'grant', '基础权限-授权', 'admin', 1711448593000, null, null, null);

View File

@ -19,6 +19,24 @@ function checkPermission(el, binding) {
}
}
export function hasPermission(binding) {
const { value } = binding
// 我们是基于资源授鉴权 不用角色 因为后期可能有对部门授权 对 人员授权
const permissions = store.getters && store.getters.permissions
if (value && value instanceof Array) {
const needPermissions = value
// 满足指令中的每个权限才可放行 而不是 满足任意一个即可
const hasPermission = needPermissions.every(needP => {
const result = permissions.includes(needP)
return result
})
console.log(needPermissions, hasPermission)
return hasPermission
} else {
return false
}
}
export default {
inserted(el, binding) {
checkPermission(el, binding)

View File

@ -1,15 +1,15 @@
<script>
import DeContainer from '@/components/dataease/DeContainer.vue'
import DeMainContainer from '@/components/dataease/DeMainContainer.vue'
import DeAsideContainer from '@/components/dataease/DeAsideContainer.vue'
import NoSelect from './NoSelect.vue'
import ViewTable from './ViewTable.vue'
import { listForm, saveForm, updateForm, deleteForm, getWithPrivileges } from '@/views/dataFilling/form/dataFilling'
import { cloneDeep } from 'lodash-es'
import { hasPermission } from '@/directive/Permission'
export default {
name: 'DataFillingForm',
components: { DeAsideContainer, DeMainContainer, DeContainer, NoSelect, ViewTable },
components: { DeAsideContainer, DeContainer, NoSelect, ViewTable },
data() {
return {
treeLoading: false,
@ -38,6 +38,9 @@ export default {
})
},
methods: {
hasPermission(binding) {
return hasPermission(binding)
},
createFolder(folder) {
this.folderForm.name = undefined
this.folderForm.pid = folder.id
@ -206,7 +209,10 @@ export default {
v-model="activeName"
class="tab-panel"
>
<el-tab-pane name="my-tasks">
<el-tab-pane
v-if="hasPermission(['my-data-filling:manage'])"
name="my-tasks"
>
<span slot="label">
<router-link to="/data-filling/my-jobs">
我的填报
@ -214,7 +220,9 @@ export default {
</span>
</el-tab-pane>
<el-tab-pane name="forms">
<el-tab-pane
name="forms"
>
<span slot="label">
表单管理
</span>

View File

@ -6,6 +6,7 @@ import GridTable from '@/components/gridTable/index.vue'
import { getForm, searchFormMyTasks, searchTable } from '@/views/dataFilling/form/dataFilling'
import EditFormData from '@/views/dataFilling/form/EditFormData.vue'
import { forIn, includes, map, filter, forEach } from 'lodash-es'
import { hasPermission } from '@/directive/Permission'
export default {
name: 'MyDataFillingJobs',
@ -56,6 +57,9 @@ export default {
this.searchTableMyTaskData()
},
methods: {
hasPermission(binding) {
return hasPermission(binding)
},
changeKey(key) {
this.currentKey = key
if (key === 'finished') {
@ -295,7 +299,9 @@ export default {
v-model="activeName"
class="tab-panel"
>
<el-tab-pane name="my-tasks">
<el-tab-pane
name="my-tasks"
>
<span slot="label">我的填报</span>
<div style="padding:0 24px 16px">
@ -311,8 +317,13 @@ export default {
</div>
</el-tab-pane>
<el-tab-pane name="forms">
<span slot="label">
<el-tab-pane
v-if="hasPermission(['data-filling-form:manage'])"
name="forms"
>
<span
slot="label"
>
<router-link to="/data-filling/forms">
表单管理
</router-link>