list.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <template>
  2. <div>
  3. <BasicTable @register="registerTable">
  4. <template #toolbar>
  5. <a-button type="primary" @click="handleRole" v-if="getCheckPerm('role-add')"> 新增备件类型 </a-button>
  6. <a-button type="primary" @click="handleIn" v-if="getCheckPerm('role-add')"> 备件入库 </a-button>
  7. <a-button type="primary" @click="handleCreate" v-if="getCheckPerm('role-add')"> 入库记录 </a-button>
  8. </template>
  9. <template #action="{ record }">
  10. <TableAction v-if="record.id != 1"
  11. :actions="[
  12. {
  13. label: t('common.edit'),
  14. ifShow:getCheckPerm('role-update'),
  15. onClick: handleRole.bind(null, record),
  16. },
  17. ]"
  18. />
  19. </template>
  20. </BasicTable>
  21. <RoleDrawer @register="registerTableModal" @success="handleSuccess" />
  22. <SpareModal @register="register" @update="reload" />
  23. <SpareInModal @register="registerIn" @update="reload" />
  24. </div>
  25. </template>
  26. <script lang="ts">
  27. import { defineComponent, nextTick } from 'vue';
  28. import { useI18n } from '/@/hooks/web/useI18n';
  29. import { BasicTable, useTable, TableAction } from '/@/components/Table';
  30. import { partList } from '/@/api/spares';//deleteRoleApi
  31. import RoleDrawer from './RoleDrawer.vue';
  32. import SpareModal from './spareModal.vue';
  33. import SpareInModal from './spareInModal.vue';
  34. import { useModal } from '/@/components/Modal';
  35. import { usePermissionStore } from '/@/store/modules/permission';
  36. // import { useUserStore } from '/@/store/modules/user';
  37. import { columns, searchFormSchema } from './role.data';
  38. export default defineComponent({
  39. name: 'RoleManagement',
  40. components: { BasicTable, TableAction, RoleDrawer, SpareModal, SpareInModal },//
  41. setup() {
  42. const { t } = useI18n();
  43. const [registerTableModal, { openModal:openTableModal }] = useModal();
  44. const [register, { openModal }] = useModal();
  45. const [registerIn, { openModal:openInModal }] = useModal();
  46. const permissionStore = usePermissionStore();
  47. const { getCheckPerm } = permissionStore;
  48. // const userStore = useUserStore();
  49. // const { getCheckRole } = userStore;
  50. const [registerTable, { reload }] = useTable({
  51. title: t('routes.system.roleTitle'),
  52. api: partList,
  53. columns,
  54. formConfig: {
  55. labelWidth: 120,
  56. schemas: searchFormSchema,
  57. },
  58. useSearchForm: true,
  59. showTableSetting: true,
  60. bordered: true,
  61. showIndexColumn: false,
  62. canResize: true,
  63. fetchSetting: {
  64. pageField: 'pageNum',
  65. sizeField: 'pageSize',
  66. listField: 'list',
  67. totalField: 'total',
  68. },
  69. actionColumn: {
  70. // ifShow: getCheckRole('super'),
  71. width: 110,
  72. title: t('common.operating'),
  73. dataIndex: 'action',
  74. slots: { customRender: 'action' },
  75. fixed: undefined,
  76. },
  77. });
  78. function handleCreate() {
  79. openTableModal(true, {
  80. isUpdate: false,
  81. });
  82. }
  83. function handleRole(record: Recordable) {
  84. openModal(true, record);
  85. }
  86. function handleIn(record: Recordable) {
  87. openInModal(true, record);
  88. }
  89. function handleEdit(record: Recordable) {
  90. openDrawer(true, {
  91. record,
  92. isUpdate: true,
  93. });
  94. }
  95. async function handleDelete(record: Recordable) {
  96. try {
  97. console.log('roleId', [record.roleId]);
  98. // const result = await deleteRoleApi({id:record.id});
  99. // console.log('result', result);
  100. nextTick(reload);
  101. } catch (error) {
  102. console.log('error', error);
  103. }
  104. }
  105. function handleSuccess() {
  106. reload();
  107. }
  108. return {
  109. registerTable,
  110. registerTableModal,
  111. handleCreate,
  112. handleEdit,
  113. handleDelete,
  114. handleSuccess,
  115. handleRole,
  116. handleIn,
  117. register,
  118. registerIn,
  119. reload,
  120. getCheckPerm,
  121. t,
  122. };
  123. },
  124. });
  125. </script>