sceneList.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <PageWrapper contentBackground>
  3. <template #footer>
  4. <a-tabs v-model:activeKey="state" @change="changeTable">
  5. <a-tab-pane :key="0" tab="待处理" />
  6. <a-tab-pane :key="1" tab="已处理" />
  7. </a-tabs>
  8. </template>
  9. <div class="desc-wrap-BasicTable">
  10. <BasicTable @register="registerTimeTable" >
  11. <template #action="{ record }">
  12. <TableAction
  13. stopButtonPropagation
  14. :actions="[
  15. {
  16. label: '发送',
  17. icon: 'icon-park-outline:door-handle',
  18. ifShow: getCheckPerm('apply-send') && record.state == 0,
  19. onClick: handleWithdraw.bind(null, record),
  20. },
  21. ]"
  22. />
  23. </template>
  24. </BasicTable>
  25. </div>
  26. <addMessgeModal @register="register" @update="reload" />
  27. </PageWrapper>
  28. </template>
  29. <script lang="ts">
  30. import { defineComponent, ref } from 'vue';
  31. import { BasicTable, useTable, TableAction, FormProps } from '/@/components/Table';
  32. import { PageWrapper } from '/@/components/Page';
  33. import { Divider, Card, Empty, Descriptions, Steps, Tabs } from 'ant-design-vue';
  34. import { intercomMessageList, intercomMessageHandle } from '/@/api/operate'
  35. import { sceneApplyList } from '/@/api/operate'
  36. import { useI18n } from '/@/hooks/web/useI18n';
  37. import addMessgeModal from './components/scene/addModal.vue'
  38. import { useModal } from '/@/components/Modal';
  39. import { DMegaSchema, refundTimeTableData } from './data';
  40. import { useMessage } from '/@/hooks/web/useMessage';
  41. import { usePermissionStore } from '/@/store/modules/permission';
  42. export default defineComponent({
  43. components: {
  44. BasicTable,
  45. PageWrapper,
  46. TableAction,
  47. addMessgeModal,
  48. [Divider.name]: Divider,
  49. [Card.name]: Card,
  50. Empty,
  51. [Descriptions.name]: Descriptions,
  52. [Descriptions.Item.name]: Descriptions.Item,
  53. [Steps.name]: Steps,
  54. [Steps.Step.name]: Steps.Step,
  55. [Tabs.name]: Tabs,
  56. [Tabs.TabPane.name]: Tabs.TabPane,
  57. },
  58. setup() {
  59. const { t } = useI18n();
  60. const { createConfirm, createMessage } = useMessage();
  61. const [register, { openModal }] = useModal();
  62. const permissionStore = usePermissionStore();
  63. const { getCheckPerm } = permissionStore;
  64. const state = ref<number>(0); //未处理,0已处理(默认1)
  65. const searchForm: Partial<FormProps> = {
  66. labelWidth: 100,
  67. autoSubmitOnEnter:true,
  68. schemas: [
  69. {
  70. field: 'payTime',
  71. label: '提交时间',
  72. component: 'RangePicker',
  73. componentProps: {
  74. maxLength: 100,
  75. format: 'YYYY-MM-DD',
  76. valueFormat:'YYYY-MM-DD',
  77. showTime: true,
  78. },
  79. colProps: {
  80. xl: 11,
  81. xxl: 11,
  82. },
  83. },
  84. {
  85. field: 'companyName',
  86. label: '公司名称',
  87. component: 'Input',
  88. colProps: {
  89. xl: 6,
  90. xxl: 6,
  91. },
  92. },
  93. ],
  94. };
  95. const [registerTimeTable,{reload}] = useTable({
  96. api: sceneApplyList,
  97. title: '申请列表',
  98. rowKey: 'id',
  99. fetchSetting: {
  100. pageField: 'pageNum',
  101. sizeField: 'pageSize',
  102. listField: 'list',
  103. totalField: 'total',
  104. },
  105. searchInfo: { handleState:state },
  106. columns: DMegaSchema,
  107. formConfig: searchForm,
  108. useSearchForm: true,
  109. dataSource: refundTimeTableData,
  110. showTableSetting: true,
  111. showIndexColumn: false,
  112. // pagination: { pageSize: 20 },
  113. // scroll: { y: 300 },
  114. beforeFetch:(params)=>{
  115. return {
  116. ...params,
  117. startTime: params.payTime && params.payTime[0],
  118. endTime: params.payTime && params.payTime[1],
  119. }
  120. },
  121. actionColumn: {
  122. width: 100,
  123. title: '操作',
  124. ifShow:state.value == 0,
  125. dataIndex: 'action',
  126. slots: { customRender: 'action' },
  127. },
  128. });
  129. function changeTable(val: string) {
  130. state.value = val;
  131. reload();
  132. }
  133. async function handleWithdraw(record: Recordable) {
  134. // createConfirm({
  135. // iconType: 'info',
  136. // title: '发送邮件',
  137. // content: `此操作将对${record.applicationName}进行删除, 是否继续?`,
  138. // onOk: async () => {
  139. // await buryPointDlt({ id: record.id });
  140. // reload();
  141. // createMessage.success(t('common.optSuccess'));
  142. // },
  143. // });
  144. openModal(true,record)
  145. }
  146. return {
  147. registerTimeTable,
  148. handleWithdraw,
  149. changeTable,
  150. state,
  151. reload,
  152. register,
  153. openModal,
  154. getCheckPerm,
  155. };
  156. },
  157. });
  158. </script>