Browse Source

租户和角色管理的菜单权限不能滚动
租户新增菜单权限校验不通过
角色管理详情页不展示对应的部门
XTable中主题颜色不跟随项目主体一起切换

gexinzhineng/gxzn27 2 năm trước cách đây
mục cha
commit
cea7b41ae8

+ 27 - 4
src/components/XTable/src/XTable.vue

@@ -12,7 +12,7 @@ import { useAppStore } from '@/store/modules/app'
 import { useDesign } from '@/hooks/web/useDesign'
 import { XTableProps } from './type'
 import { isBoolean, isFunction } from '@/utils/is'
-
+import styleCss from './style/dark.scss'
 import download from '@/utils/download'
 
 const { t } = useI18n()
@@ -25,15 +25,38 @@ const prefixCls = getPrefixCls('x-vxe-table')
 
 const attrs = useAttrs()
 const emit = defineEmits(['register'])
-
+const removeStyles = () => {
+  var filename = 'cssTheme'
+  //移除引入的文件名
+  var targetelement = 'style'
+  var targetattr = 'id'
+  var allsuspects = document.getElementsByTagName(targetelement)
+  for (var i = allsuspects.length; i >= 0; i--) {
+    if (
+      allsuspects[i] &&
+      allsuspects[i].getAttribute(targetattr) != null &&
+      allsuspects[i].getAttribute(targetattr)?.indexOf(filename) != -1
+    ) {
+      console.log(allsuspects[i], 'node')
+      allsuspects[i].parentNode?.removeChild(allsuspects[i])
+    }
+  }
+}
+const reImport = () => {
+  var head = document.getElementsByTagName('head')[0]
+  var style = document.createElement('style')
+  style.innerText = styleCss
+  style.id = 'cssTheme'
+  head.appendChild(style)
+}
 watch(
   () => appStore.getIsDark,
   () => {
     if (appStore.getIsDark == true) {
-      import('./style/dark.scss')
+      reImport()
     }
     if (appStore.getIsDark == false) {
-      import('./style/light.scss')
+      removeStyles()
     }
   },
   { immediate: true }

+ 6 - 1
src/views/system/tenantPackage/tenantPackage.data.ts

@@ -33,7 +33,12 @@ const crudSchemas = reactive<VxeCrudSchema>({
     {
       title: '菜单权限',
       field: 'menuIds',
-      isTable: false
+      isTable: false,
+      form: {
+        colProps: {
+          span: 24
+        }
+      }
     },
     {
       title: t('form.remark'),

+ 23 - 1
src/views/system/user/index.vue

@@ -159,7 +159,7 @@
       :data="detailData"
     >
       <template #deptId="{ row }">
-        <span>{{ row.dept?.name }}</span>
+        <el-tag>{{ dataFormater(row.deptId) }}</el-tag>
       </template>
       <template #postIds="{ row }">
         <template v-if="row.postIds !== ''">
@@ -332,6 +332,28 @@ const getPostOptions = async () => {
   const res = await listSimplePostsApi()
   postOptions.value.push(...res)
 }
+const dataFormater = (val) => {
+  return deptFormater(deptOptions.value, val)
+}
+//部门回显
+const deptFormater = (ary, val: any) => {
+  var o = ''
+  if (ary && val) {
+    for (const v of ary) {
+      if (v.id == val) {
+        o = v.name
+        if (o) return o
+      } else if (v.children?.length) {
+        o = deptFormater(v.children, val)
+        if (o) return o
+      }
+    }
+    return o
+  } else {
+    return val
+  }
+}
+
 // 设置标题
 const setDialogTile = async (type: string) => {
   dialogTitle.value = t('action.' + type)