index.vue 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <script setup lang="ts">
  2. import { ref } from "vue";
  3. import contentConfig from "./config/content.config";
  4. import searchConfig from "./config/search.config";
  5. import { usePageSearch, type PageHooks, type PageEvents } from "/@/hooks/page";
  6. import { useRenderIcon } from "/@/components/ReIcon/src/hooks";
  7. import { ModalTypes } from "/@/modules/modal";
  8. import QrdModal from "./qrd-modal.vue";
  9. import { useUserInfo } from "/@/hooks/core/useUser";
  10. const PageName = "netOrderEnter";
  11. const qrdModalRef = ref<InstanceType<typeof QrdModal> | null>(null);
  12. const pageContentRef = ref<any>(null);
  13. const { isSuperUser } = useUserInfo();
  14. const hooks: PageHooks = {
  15. pageSearchHook: () => usePageSearch(undefined, undefined, searchConfig)
  16. };
  17. const handleUpdate = ({ id }) => {
  18. qrdModalRef.value.onDisplay(ModalTypes.proUpdate, id);
  19. };
  20. const events: PageEvents = {
  21. content: {
  22. create: () => qrdModalRef.value.onDisplay(ModalTypes.create),
  23. preview: ({ id }) => qrdModalRef.value.onDisplay(ModalTypes.preview, id),
  24. update: ({ id }) => qrdModalRef.value.onDisplay(ModalTypes.update, id)
  25. }
  26. };
  27. </script>
  28. <template>
  29. <PageAuth :pageName="PageName">
  30. <PageContainer
  31. :hooks="hooks"
  32. :events="events"
  33. :contentConfig="contentConfig"
  34. :search-config="searchConfig"
  35. :get-content-ref="ref => (pageContentRef = ref)"
  36. >
  37. <template #content_action="row">
  38. <el-button
  39. v-if="isSuperUser"
  40. type="primary"
  41. link
  42. size="small"
  43. :icon="useRenderIcon('edit')"
  44. @click="handleUpdate({ id: row.id })"
  45. />
  46. </template>
  47. <template #expand="row">
  48. <div style="padding: 0 60px; box-sizing: border-box">
  49. <ElDescriptions :column="2">
  50. <ElDescriptionsItem label="商品名称">{{
  51. row.goodName
  52. }}</ElDescriptionsItem>
  53. <ElDescriptionsItem label="部门">{{
  54. row.sale_depart
  55. }}</ElDescriptionsItem>
  56. <ElDescriptionsItem label="单价">{{
  57. row.goodPrice
  58. }}</ElDescriptionsItem>
  59. <ElDescriptionsItem label="数量">{{
  60. row.goodNum
  61. }}</ElDescriptionsItem>
  62. <ElDescriptionsItem label="单据号">{{
  63. row.workCode
  64. }}</ElDescriptionsItem>
  65. <ElDescriptionsItem label="平台订单编码">{{
  66. row.poCode
  67. }}</ElDescriptionsItem>
  68. <ElDescriptionsItem label="税点">{{ row.tax }}%</ElDescriptionsItem>
  69. </ElDescriptions>
  70. </div>
  71. </template>
  72. </PageContainer>
  73. <QrdModal ref="qrdModalRef" @reload="() => pageContentRef.onSearch()" />
  74. </PageAuth>
  75. </template>