diff --git a/backend/src/main/java/io/dataease/service/dataset/PermissionService.java b/backend/src/main/java/io/dataease/service/dataset/PermissionService.java index 24dc2dca26..6ef55b9604 100644 --- a/backend/src/main/java/io/dataease/service/dataset/PermissionService.java +++ b/backend/src/main/java/io/dataease/service/dataset/PermissionService.java @@ -169,12 +169,29 @@ public class PermissionService { dataSetColumnPermissionsDTO.setAuthTargetIds(Collections.singletonList(userId)); dataSetColumnPermissionsDTO.setAuthTargetType("user"); datasetColumnPermissions.addAll(columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)); + dataSetColumnPermissionsDTO.setAuthTargetIds(roleIds); dataSetColumnPermissionsDTO.setAuthTargetType("role"); - datasetColumnPermissions.addAll(columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)); + List roleColumnPermissionsDTOS = new ArrayList<>(); + for (DataSetColumnPermissionsDTO columnPermissionsDTO : columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)) { + columnPermissionsDTO.getWhiteListUser(); + List userIdList = new Gson().fromJson(columnPermissionsDTO.getWhiteListUser(), new TypeToken>() {}.getType()); + if(!userIdList.contains(userId)){ + roleColumnPermissionsDTOS.add(columnPermissionsDTO); + } + } + datasetColumnPermissions.addAll(roleColumnPermissionsDTOS); + dataSetColumnPermissionsDTO.setAuthTargetIds(Collections.singletonList(deptId)); dataSetColumnPermissionsDTO.setAuthTargetType("dept"); - datasetColumnPermissions.addAll(columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)); + List deptColumnPermissionsDTOS = new ArrayList<>(); + for (DataSetColumnPermissionsDTO columnPermissionsDTO : columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)) { + List userIdList = new Gson().fromJson(columnPermissionsDTO.getWhiteListUser(), new TypeToken>() {}.getType()); + if(!userIdList.contains(userId)){ + deptColumnPermissionsDTOS.add(columnPermissionsDTO); + } + } + datasetColumnPermissions.addAll(deptColumnPermissionsDTOS); return datasetColumnPermissions; } diff --git a/backend/src/main/resources/db/migration/V38__1.13.sql b/backend/src/main/resources/db/migration/V38__1.13.sql index 278d59da6a..5d3e9f0ba5 100644 --- a/backend/src/main/resources/db/migration/V38__1.13.sql +++ b/backend/src/main/resources/db/migration/V38__1.13.sql @@ -72,6 +72,9 @@ INSERT INTO `system_parameter` (`param_key`, `param_value`, `type`, `sort`) VALU INSERT INTO `system_parameter` (`param_key`, `param_value`, `type`, `sort`) VALUES ('basic.templateMarketUlr', 'https://dataease.io/templates', 'text', 4); + +ALTER TABLE `dataset_column_permissions` ADD COLUMN `white_list_user` longtext DEFAULT NULL COMMENT '白名单' AFTER `permissions` ; + ALTER TABLE `panel_group` ADD COLUMN `update_by` varchar(255) NULL COMMENT '更新人' AFTER `status`, ADD COLUMN `update_time` bigint(13) NULL COMMENT '更新时间' AFTER `update_by`; diff --git a/frontend/src/main.js b/frontend/src/main.js index dc94902478..bc30338344 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -23,6 +23,8 @@ import './utils/dialog' import DeComplexInput from '@/components/business/condition-table/DeComplexInput' import DeComplexSelect from '@/components/business/condition-table/DeComplexSelect' import DeViewSelect from '@/components/DeViewSelect' +import RemarkEditor from '@/views/chart/components/component-style/dialog/RemarkEditor' +import TitleRemark from '@/views/chart/view/TitleRemark' import '@/components/canvas/custom-component' // 注册自定义组件 import '@/utils/DateUtil' @@ -90,6 +92,8 @@ Vue.component('Treeselect', Treeselect) Vue.component('DeComplexInput', DeComplexInput) Vue.component('DeComplexSelect', DeComplexSelect) Vue.component('DeViewSelect', DeViewSelect) +Vue.component('RemarkEditor', RemarkEditor) +Vue.component('TitleRemark', TitleRemark) Vue.config.productionTip = false import vueToPdf from 'vue-to-pdf' diff --git a/frontend/src/views/chart/view/TitleRemark.vue b/frontend/src/views/chart/view/TitleRemark.vue index 1bb961df47..409f13ba5a 100644 --- a/frontend/src/views/chart/view/TitleRemark.vue +++ b/frontend/src/views/chart/view/TitleRemark.vue @@ -33,6 +33,32 @@ export default { padding: 10px; border-radius: 4px; } +::-webkit-scrollbar { + width: 0px!important; + height: 0px!important; +} +::v-deep ol { + display: block!important; + list-style-type: decimal; + margin-block-start: 1em!important; + margin-block-end: 1em!important; + margin-inline-start: 0px!important; + margin-inline-end: 0px!important; + padding-inline-start: 40px!important; +} +::v-deep ul { + display: block!important; + list-style-type: disc; + margin-block-start: 1em!important; + margin-block-end: 1em!important; + margin-inline-start: 0px!important; + margin-inline-end: 0px!important; + padding-inline-start: 40px!important; +} +::v-deep li { + display: list-item!important; + text-align: -webkit-match-parent!important; +}