UserSetRole.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <template>
  2. <BasicModal @register="registerModal" :title="t('system.views.user.button.setRole')">
  3. <SmartTable @register="registerTable" />
  4. </BasicModal>
  5. </template>
  6. <script setup lang="ts">
  7. import { BasicModal, useModalInner } from '@/components/Modal';
  8. import { SmartTable, useSmartTable } from '@/components/SmartTable';
  9. import { ref } from 'vue';
  10. import { useI18n } from '@/hooks/web/useI18n';
  11. import { ApiServiceEnum, defHttp } from '@/utils/http/axios';
  12. const { t } = useI18n();
  13. const currentUserId = ref<number | null>(null);
  14. const [registerModal] = useModalInner(async (userId: number) => {
  15. currentUserId.value = userId;
  16. await query();
  17. });
  18. // const setSelectRole = () => {
  19. // const userId = unref(currentUserId)!;
  20. // };
  21. const [registerTable, { query }] = useSmartTable({
  22. border: true,
  23. size: 'small',
  24. checkboxConfig: {
  25. rowTrigger: 'multiple',
  26. },
  27. proxyConfig: {
  28. autoLoad: false,
  29. ajax: {
  30. query: ({ ajaxParameter }) => {
  31. return defHttp.post({
  32. service: ApiServiceEnum.SMART_SYSTEM,
  33. url: 'sys/role/list',
  34. data: {
  35. sortName: 'seq',
  36. ...ajaxParameter,
  37. parameter: {
  38. ...ajaxParameter?.parameter,
  39. 'useYn@=': true,
  40. },
  41. },
  42. });
  43. },
  44. },
  45. },
  46. columns: [
  47. {
  48. type: 'checkbox',
  49. width: 50,
  50. },
  51. {
  52. title: '#',
  53. type: 'seq',
  54. width: 50,
  55. },
  56. {
  57. title: '角色编码',
  58. field: 'roleCode',
  59. width: 160,
  60. },
  61. {
  62. title: '角色名称',
  63. field: 'roleName',
  64. minWidth: 160,
  65. },
  66. ],
  67. });
  68. </script>
  69. <style scoped lang="less"></style>