From 78121f6093c7fb3a5c8b8e9a3a72fbaf9bf54d12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BE=99=E8=BF=90=E6=A8=A1?= <1724894114@qq.com> Date: Tue, 27 Aug 2024 21:30:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=95=B0=E7=BB=84=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/directives/authSetup.js | 19 ++++++++++ src/scui.js | 2 ++ src/views/order/dataConfirm/index.vue | 2 +- src/views/order/preview-order.vue | 6 ++-- src/views/order/view-mail.vue | 6 ++-- src/views/setting/advanced/index.vue | 26 ++++++++------ src/views/setting/role/dataTree.vue | 42 +++++++++++----------- src/views/setting/role/index.vue | 32 ++++++++++------- src/views/setting/role/members.vue | 10 +++--- src/views/setting/role/permission.vue | 4 ++- src/views/setting/user/index.vue | 1 - src/views/setting/user/view-permission.vue | 2 +- 12 files changed, 96 insertions(+), 56 deletions(-) create mode 100644 src/directives/authSetup.js diff --git a/src/directives/authSetup.js b/src/directives/authSetup.js new file mode 100644 index 0000000..fbcf956 --- /dev/null +++ b/src/directives/authSetup.js @@ -0,0 +1,19 @@ +import { permissionAll } from '@/utils/permission' +import tool from '@/utils/tool'; + +/** + * 用户权限指令 + * @directive 单个权限验证(v-auth="xxx") + */ +export default { + mounted (el, binding) { + if(permissionAll()){ + return + } + let permissions = tool.data.get("PERMISSIONS"); + // if(permissions.auth.some((v)=> v === binding.value)){ + // console.log(binding.value,800) + // } + if (!permissions.auth.some((v) => v === binding.value)) el.parentNode.removeChild(el); + } +} diff --git a/src/scui.js b/src/scui.js index 8ebfd27..23d3749 100644 --- a/src/scui.js +++ b/src/scui.js @@ -33,6 +33,7 @@ import scImport from "./components/scImport"; import scStatusIndicator from './components/scMini/scStatusIndicator' import scTrend from './components/scMini/scTrend' +import authSetup from './directives/authSetup' import auth from './directives/auth' import auths from './directives/auths' import authsAll from './directives/authsAll' @@ -86,6 +87,7 @@ export default { app.component('scImport', scImport); //注册全局指令 + app.directive('authSetup', authSetup) app.directive('auth', auth) app.directive('auths', auths) app.directive('auths-all', authsAll) diff --git a/src/views/order/dataConfirm/index.vue b/src/views/order/dataConfirm/index.vue index c0f067f..dd4d7dd 100644 --- a/src/views/order/dataConfirm/index.vue +++ b/src/views/order/dataConfirm/index.vue @@ -281,6 +281,7 @@ export default { async getData() { this.listLoading = true; const res = await this.$API.orders.order.mail.list.get(this.listParams); + this.listLoading = false; if(res.code == 200){ if(res.data.rows && res.data.rows.length>0){ res.data.rows.forEach(item=>{ @@ -299,7 +300,6 @@ export default { this.confirmList = this.confirmList.concat(res.data.rows); } } - this.listLoading = false; }, stripHtmlTags(html) { const div = document.createElement('div'); diff --git a/src/views/order/preview-order.vue b/src/views/order/preview-order.vue index a27aabe..8cff570 100644 --- a/src/views/order/preview-order.vue +++ b/src/views/order/preview-order.vue @@ -7,8 +7,8 @@
- 审核通过 - 审核拒绝 + 审核通过 + 审核拒绝
@@ -99,6 +99,6 @@ export default { diff --git a/src/views/order/view-mail.vue b/src/views/order/view-mail.vue index ebb4501..94deef0 100644 --- a/src/views/order/view-mail.vue +++ b/src/views/order/view-mail.vue @@ -1,5 +1,5 @@ - diff --git a/src/views/setting/user/view-permission.vue b/src/views/setting/user/view-permission.vue index 5191aad..a63ba6c 100644 --- a/src/views/setting/user/view-permission.vue +++ b/src/views/setting/user/view-permission.vue @@ -96,7 +96,7 @@ export default { res.data.menu.forEach(item=>{ if(item.children){ item.children.forEach(em=>{ - if(em.meta.data_permission){ + if(em.meta.data_permission && em.meta.data_permission.length>0){ let check = em.meta.data_permission.filter((li)=>li.checked).length; let ed = em.meta.data_permission.length; em.isCheck = check>0 && check != ed?true:false;