index.vue 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <template>
  2. <fs-page>
  3. <!-- <TreeList ref="treeListRef" :treeData="treeData" /> -->
  4. <fs-crud ref="crudRef" :dialog-width="800" v-bind="crudBinding"> </fs-crud>
  5. <PermissionDrawerCom />
  6. <BatchTagsDialog ref="batchTagsDialogRef" :crudExpose="crudExpose" />
  7. <BatchCategoryDialog ref="batchCategoryDialogRef" :crudExpose="crudExpose" />
  8. <BatchCompetencyTagsDialog ref="batchCompetencyTagsDialogRef" :crudExpose="crudExpose" />
  9. </fs-page>
  10. </template>
  11. <script lang="ts" setup name="role">
  12. import { defineAsyncComponent, onMounted, ref } from 'vue';
  13. import { useFs } from '@fast-crud/fast-crud';
  14. import { createCrudOptions } from './crud';
  15. import { RoleDrawerStores } from './stores/RoleDrawerStores';
  16. import { RoleMenuBtnStores } from './stores/RoleMenuBtnStores';
  17. import { RoleMenuFieldStores } from './stores/RoleMenuFieldStores';
  18. import { RoleUsersStores } from './stores/RoleUsersStores';
  19. import { successMessage } from '../../../utils/message';
  20. import TreeList from './components/treeList.vue';
  21. const PermissionDrawerCom = defineAsyncComponent(() => import('./components/RoleDrawer.vue'));
  22. const BatchTagsDialog = defineAsyncComponent(() => import('./components/BatchTagsDialog.vue'));
  23. const BatchCategoryDialog = defineAsyncComponent(() => import('./components/BatchCategoryDialog.vue'));
  24. const BatchCompetencyTagsDialog = defineAsyncComponent(() => import('./components/BatchCompetencyTagsDialog.vue'));
  25. const batchTagsDialogRef = ref();
  26. const batchCategoryDialogRef = ref();
  27. const batchCompetencyTagsDialogRef = ref();
  28. const RoleDrawer = RoleDrawerStores(); // 角色-抽屉
  29. const RoleMenuBtn = RoleMenuBtnStores(); // 角色-菜单
  30. const RoleMenuField = RoleMenuFieldStores();// 角色-菜单-字段
  31. const RoleUsers = RoleUsersStores();// 角色-用户
  32. const treeListRef = ref();
  33. const treeData = ref([]);
  34. const { crudBinding, crudRef, crudExpose } = useFs({
  35. createCrudOptions,
  36. context: {
  37. RoleDrawer,
  38. RoleMenuBtn,
  39. RoleMenuField,
  40. $message: {
  41. warning: (msg: string) => successMessage(msg)
  42. },
  43. openBatchTagsDialog: (selection: any) => {
  44. batchTagsDialogRef.value.open(selection);
  45. },
  46. openBatchCategoryDialog: (selection: any) => {
  47. batchCategoryDialogRef.value.open(selection);
  48. },
  49. openBatchCompetencyTagsDialog: (selection: any) => {
  50. batchCompetencyTagsDialogRef.value.open(selection);
  51. },
  52. selectedRows: [] // 存储选中的行
  53. },
  54. });
  55. // 页面打开后获取列表数据
  56. onMounted(async () => {
  57. // 刷新
  58. crudExpose.doRefresh();
  59. // 获取全部用户
  60. RoleUsers.get_all_users();
  61. });
  62. </script>