index.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <script setup lang="ts">
  2. import { PageSearch, usePageSearch } from "/@/components/PageSearch";
  3. import { PageModal, usePageModal } from "/@/components/PageModal";
  4. import { PageContent } from "/@/components/PageContent";
  5. import searchFormConfig from "./config/search.config";
  6. import contentConfig from "./config/content.config";
  7. import modalConfig from "./config/modal.config";
  8. import { usePermission } from "/@/hooks";
  9. defineOptions({
  10. name: "invoiceheader"
  11. });
  12. const { pageContentRef, handleResetClick, handleSearchClick } = usePageSearch();
  13. const {
  14. pageModalRef,
  15. handleUpdateData,
  16. handleCreateData,
  17. handlePreviewData,
  18. handleConfrim,
  19. defaultInfo
  20. } = usePageModal({ pageContentRef });
  21. const { permission, contentConfigRef } = usePermission({
  22. pageName: "setProcess",
  23. contentConfig,
  24. callback: powers => (contentConfig.powers = powers)
  25. });
  26. </script>
  27. <template>
  28. <div class="main role">
  29. <PagePower :is-show="permission.list">
  30. <div w-full>
  31. <PageSearch
  32. :form-config="searchFormConfig"
  33. @search-btn-click="handleSearchClick"
  34. @reset-btn-click="handleResetClick"
  35. />
  36. <PageContent
  37. ref="pageContentRef"
  38. :content-config="contentConfigRef"
  39. @create-btn-click="handleCreateData"
  40. @update-btn-click="handleUpdateData"
  41. @preview-btn-click="handlePreviewData"
  42. />
  43. </div>
  44. </PagePower>
  45. <PageModal
  46. ref="pageModalRef"
  47. :modal-config="modalConfig"
  48. :default-info="defaultInfo"
  49. @confirm-btn-click="handleConfrim"
  50. />
  51. </div>
  52. </template>
  53. <style scoped lang="scss">
  54. :deep(.el-dropdown-menu__item i) {
  55. margin: 0;
  56. }
  57. </style>