index.vue 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <script setup lang="ts">
  2. import { ref } from "vue"
  3. import { useRouter } from "vue-router"
  4. import contentConfig from "./config/content.config";
  5. import searchConfig from "./config/search.config";
  6. import { PageAuth } from "/@/components/PageAuth";
  7. import { PageContainer } from "/@/components/PageContainer";
  8. import { usePageSearch, type PageHooks, type PageEvents } from "/@/hooks/page";
  9. import { httpStatus } from "/@/api/purchase/orderRecord";
  10. import { usePermission } from "/@/hooks/core/usePermission";
  11. import { ElButton } from "element-plus"
  12. import { useAsync } from "/@/hooks";
  13. import { useRenderIcon } from "/@/components/ReIcon/src/hooks";
  14. import { useUserInfo } from "/@/hooks/core/useUser";
  15. const pageName = "currentcyOrderRecord";
  16. const contentRef = ref<any>(null);
  17. const { push } = useRouter();
  18. const { hasPermissionWithCode } = usePermission(pageName);
  19. const { isSuperUser } = useUserInfo();
  20. const baseDetailPath = '/InvoiceSales/currentcyOrderRecordDetail';
  21. const hooks: PageHooks = {
  22. pageSearchHook: () => usePageSearch(undefined, undefined, searchConfig)
  23. };
  24. const events: PageEvents = {
  25. content: {
  26. preview: ({ payNo }) => push(`${baseDetailPath}?id=${payNo}`),
  27. create:() => push('/InvoiceSales/currentcyOrderRecordDetail')
  28. }
  29. };
  30. const { run: revoke } = useAsync({
  31. success: () => contentRef.value.onSearch()
  32. });
  33. const handleRevoke = payNo => revoke(httpStatus({ payNo, status: "4" }));
  34. </script>
  35. <template>
  36. <PageAuth :pageName="pageName">
  37. <PageContainer
  38. :hooks="hooks"
  39. :events="events"
  40. :contentConfig="contentConfig"
  41. :searchConfig="searchConfig"
  42. :get-content-ref="ref => contentRef = ref"
  43. >
  44. <!-- <template #content_header>
  45. <ElButton
  46. v-if="hasPermissionWithCode('002')"
  47. size="small" type="primary"
  48. @click="() => push('/InvoiceSales/currentcyOrderRecordDetail')"
  49. >
  50. 添加
  51. </ElButton>
  52. </template> -->
  53. <template #content_action="row">
  54. <ElTooltip placement="top" content="撤销对账申请">
  55. <ElButton
  56. v-if="
  57. (String(row.status) === '1' || String(row.status) === '2') &&
  58. hasPermissionWithCode('022') && String(row.is_comon) === '1' && !isSuperUser
  59. "
  60. type="primary"
  61. link
  62. text
  63. :icon="useRenderIcon('refresh-right')"
  64. @click="() => handleRevoke(row.payNo)"
  65. />
  66. </ElTooltip>
  67. </template>
  68. </PageContainer>
  69. </PageAuth>
  70. </template>