-import { ref, onMounted,reactive} from 'vue'
+import { ref, onMounted,nextTick} from 'vue'
import permission_table_edit_blue from '@/assets/svg/permission_table_edit_blue.svg'
import permission_table_del_blue from '@/assets/svg/permission_table_del_blue.svg'
import perission_role_blue from '@/assets/svg/perission_role_blue.svg'
@@ -8,7 +8,6 @@ import type { FormInstance } from 'element-plus'
import { Delete } from '@element-plus/icons-vue'
import { ElTable,ElTree,ElMessage, ElMessageBox } from 'element-plus'
import { listRole,addRole,updateRole,setIsValid,deleteRoleById,deleteRoleByIds,permissionAssignment,setMenuByRoleId } from '@/api/permission/role'
-import { getMenuTree } from '@/api/permission/menu'
const props = defineProps({
applicationId:String
})
@@ -42,6 +41,10 @@ const defaultProps = {
}
const treeloading = ref(false);
const treeRef = ref
>()
+const currenttableid = ref('')
+const Passparameter = ref([])
+//默认展开节点的key数组
+const DefaultDeployment: any = ref([])
const submitForm = (formEl: FormInstance | undefined) => {
if (!formEl) return
formEl.validate((valid) => {
@@ -91,22 +94,23 @@ onMounted(() => {
gettable()
})
function permissionset(row:any){
- // const params = {
- // roleId: row.id,
- // appId: row.appId
- // }
- // permissionAssignment(params).then(res => {
- // console.log(res,'权限设置')
- // })
- const params = {
- appId: props.applicationId,
- name:'',
- isdisplay:''
- }
- getMenuTree(params).then(res => {
- treeData.value = res.data
- })
+ currenttableid.value = row.id
configdialog.value = true
+ treeloading.value = true
+ const params = {
+ roleId: row.id,
+ appId: props.applicationId,
+ }
+ permissionAssignment(params).then(res => {
+ treeData.value = res.data
+ let ids: any = []
+ menuChange(res.data, ids)
+ nextTick(() => {
+ treeRef.value!.setCheckedKeys(ids)
+ })
+ treeloading.value = false
+ })
+
}
function gettable(){
tableloading.value = true
@@ -213,7 +217,6 @@ function setisValid(row:any){
isvaild:row.isvaild
}
setIsValid(params).then(res => {
- console.log(res,'res')
if(res.code == '0'){
gettable()
ElMessage.success('设置成功')
@@ -228,14 +231,33 @@ function confighandleClose(){
}
function consfigsubmit(){
const params = {
- id: '',
- menuIds: ''
+ id: currenttableid.value,
+ menuIds: Passparameter.value.join(',')
}
setMenuByRoleId(params).then(res => {
- console.log(res,'权限设置')
+ if(res.code == '0'){
+ gettable()
+ ElMessage.success('设置成功')
+ }else{
+ ElMessage.error('设置失败')
+ }
})
configdialog.value = false
}
+function currentChecked(nodeObj: any, SelectedObj: any){
+ Passparameter.value = SelectedObj.checkedKeys.concat(SelectedObj.halfCheckedKeys)
+}
+function menuChange(data: any, ids: any) {
+ data.forEach((item: any) => {
+ if (item.checkinfo == true) {
+ ids.push(item.id)
+ DefaultDeployment.value.push(item.id)
+ }
+ if (item.children) {
+ menuChange(item.children, ids)
+ }
+ })
+}
@@ -320,13 +342,13 @@ function consfigsubmit(){
+ default-expand-all :expand-on-click-node="false" show-checkbox @check="currentChecked"
+ style="height: calc(100vh - 300px);overflow: auto;">
diff --git a/core/core-frontend/src/viewsnew/application/permissionset/user/index.vue b/core/core-frontend/src/viewsnew/application/permissionset/user/index.vue
index 0bad951..c95aad7 100644
--- a/core/core-frontend/src/viewsnew/application/permissionset/user/index.vue
+++ b/core/core-frontend/src/viewsnew/application/permissionset/user/index.vue
@@ -423,6 +423,7 @@ function resetclick(row:any){
:deep(.el-tree){
background:#212121;
height: calc(100vh - 145px);
+ overflow: auto;
margin-top: 5px;
color: #ffffff;
font-size: 14px;
diff --git a/core/core-frontend/src/viewsnew/application/service/dataset/form/CalcFieldEdit.vue b/core/core-frontend/src/viewsnew/application/service/dataset/form/CalcFieldEdit.vue
index f3c3f2c..cf4e32e 100644
--- a/core/core-frontend/src/viewsnew/application/service/dataset/form/CalcFieldEdit.vue
+++ b/core/core-frontend/src/viewsnew/application/service/dataset/form/CalcFieldEdit.vue
@@ -899,14 +899,13 @@ initFunction()
border-bottom: 1px solid #333333;
margin-right: 0px;
}
-.ed-dialog__headerbtn{
- color: #ffffff;
-}
.ed-dialog__title{
color: #ffffff;
}
.ed-dialog__headerbtn{
- top: 13px !important;
+ top: 11px !important;
+ right: 15px !important;
+ color: #ffffff;
}
.ed-dialog {
border: 1px solid #5f5f5f;
diff --git a/core/core-frontend/src/viewsnew/application/service/dataset/index.vue b/core/core-frontend/src/viewsnew/application/service/dataset/index.vue
index fe4b3d3..4e19c07 100644
--- a/core/core-frontend/src/viewsnew/application/service/dataset/index.vue
+++ b/core/core-frontend/src/viewsnew/application/service/dataset/index.vue
@@ -1726,13 +1726,12 @@ border-right: 1px solid rgba(54, 54, 54, 1)
}
.ed-dialog__headerbtn{
color: #ffffff;
+ top: 11px !important;
+ right: 15px !important;
}
.ed-dialog__title{
color: #ffffff;
}
-.ed-dialog__headerbtn{
- top: 13px !important;
-}
.ed-dialog {
border: 1px solid #5f5f5f;
border-radius: 4px;
diff --git a/core/core-frontend/src/viewsnew/application/service/datasource/index.vue b/core/core-frontend/src/viewsnew/application/service/datasource/index.vue
index 0fdad9f..6c78663 100644
--- a/core/core-frontend/src/viewsnew/application/service/datasource/index.vue
+++ b/core/core-frontend/src/viewsnew/application/service/datasource/index.vue
@@ -2512,7 +2512,8 @@ border-right: 1px solid rgba(54, 54, 54, 1);
color: #ffffff;
}
.ed-dialog__headerbtn{
- top: 13px !important;
+ top: 11px !important;
+ right: 15px !important;
}
.ed-dialog {
border: 1px solid #5f5f5f;