list.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <script lang="ts" setup>
  2. import type { VxeTableGridOptions } from '#/adapter/vxe-table';
  3. import type { SystemModel } from '#/api';
  4. import { Page, useVbenModal } from '@vben/common-ui';
  5. import { useVbenVxeGrid } from '#/adapter/vxe-table';
  6. import { useUserSearchFormSchema, useUserTableColumns } from './data';
  7. import Form from './modules/form.vue';
  8. const [FormModal, formModalApi] = useVbenModal({
  9. connectedComponent: Form,
  10. destroyOnClose: true,
  11. });
  12. const [Grid, gridApi] = useVbenVxeGrid({
  13. formOptions: {
  14. schema: useUserSearchFormSchema(),
  15. submitOnChange: true,
  16. },
  17. gridOptions: {
  18. columns: useUserTableColumns(),
  19. height: 'auto',
  20. keepSource: true,
  21. // proxyConfig: {
  22. // ajax: {
  23. // query({ page }, formValues) {
  24. // return listOrganizationsMethod(
  25. // page.currentPage,
  26. // page.pageSize,
  27. // formValues,
  28. // );
  29. // },
  30. // },
  31. // },
  32. // rowConfig: {
  33. // keyField: 'id',
  34. // },
  35. proxyConfig: {
  36. ajax: {
  37. query() {
  38. return Promise.resolve({
  39. Data: {
  40. TotalRecordCount: 3,
  41. Items: [
  42. {
  43. pid: '1',
  44. name: '重药煎药中心华东区',
  45. code: 'cyeast',
  46. createUser: 'createUser',
  47. createTime: '2025-10-26 11:23:21',
  48. type: '企业煎药中心',
  49. remark: '备注1',
  50. relatedOrganizations: '医疗机构1',
  51. relatedEnterprise: '浙江药业公司',
  52. },
  53. {
  54. pid: '2',
  55. name: '煎药中心1',
  56. code: 'jyzhongxin1',
  57. createUser: 'createUser',
  58. createTime: '2025-10-26 11:23:21',
  59. type: '第三方煎药中心',
  60. remark: '备注2',
  61. relatedOrganizations: '医疗机构2',
  62. relatedEnterprise: '重药控股有限公司',
  63. },
  64. {
  65. pid: '3',
  66. name: '煎药中心2',
  67. code: 'jyzhongxin2',
  68. createUser: 'createUser',
  69. createTime: '2025-10-26 11:23:21',
  70. type: '第三方煎药中心',
  71. remark: '备注333',
  72. relatedOrganizations: '医疗机构3',
  73. relatedEnterprise: '重药控股有限公司',
  74. },
  75. ],
  76. },
  77. ResultCode: 0,
  78. });
  79. },
  80. },
  81. response: {
  82. result: 'Data.Items',
  83. total: 'Data.TotalRecordCount',
  84. },
  85. },
  86. rowConfig: {
  87. keyField: 'pid',
  88. },
  89. } as VxeTableGridOptions<SystemModel.User>,
  90. });
  91. // 刷新
  92. function onRefresh() {
  93. gridApi.query();
  94. }
  95. </script>
  96. <template>
  97. <Page auto-content-height>
  98. <FormModal @success="onRefresh" />
  99. <Grid>
  100. <template #toolbar-tools></template>
  101. </Grid>
  102. </Page>
  103. </template>