detail.vue 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <template>
  2. <LjDetail
  3. name="bedNetAreaListDetail"
  4. ref="LjDetailRef"
  5. v-bind="detailProps"
  6. v-model:order-status="orderStatus"
  7. :data="mainData"
  8. :init-param="mainData[0]"
  9. :if-fold-layout="false"
  10. :if-layout-editable="false"
  11. :search-col="{ xs: 4, sm: 4, md: 4, lg: 4, xl: 4 }"
  12. :basic-group-col="{ xs: 4, sm: 4, md: 4, lg: 4, xl: 4 }"
  13. :enum="props.enum"
  14. :if-basic-editable="false"
  15. >
  16. <!-- :action="orderStatus ? orderEditAction : orderDefaultAction" -->
  17. </LjDetail>
  18. </template>
  19. <script setup lang="tsx" name="bedNetAreaListDetail">
  20. import { ref, watch, reactive, inject, onMounted } from "vue";
  21. import { DwnameEnum } from "@/enums/dwnameEnum";
  22. import LjDetail from "@/components/LjDetail/index.vue";
  23. import { DetailProp } from "@/components/LjDetail/interface";
  24. import { useI18n } from "vue-i18n";
  25. import { useHooks } from "./hooks/index";
  26. import { useAuthButtons } from "@/hooks/useAuthButtons";
  27. interface detailProp {
  28. /**
  29. * @argument any 页面数据
  30. */
  31. data?: any;
  32. /**
  33. * @argument string 请求数据的api ==> 非必传
  34. */
  35. requestApi?: (params: any) => Promise<any>;
  36. /**
  37. * @argument any 基础信息,表格展示数据
  38. */
  39. // columns?: any;
  40. /**
  41. * @description 是否可编辑
  42. */
  43. status: "edit" | "new" | string;
  44. enum?: any;
  45. }
  46. const props = withDefaults(defineProps<detailProp>(), {});
  47. const { t } = useI18n();
  48. const { LjDetailRef, columns } = useHooks(t);
  49. const { CheckPower, CheckOption, buttonNew, buttonDefault } = useAuthButtons(t);
  50. const mainData = ref([{}]);
  51. /**
  52. * @description 是否可编辑
  53. */
  54. const orderStatus = ref("");
  55. const detailProps = reactive<DetailProp>({
  56. dwname: DwnameEnum.bednetarealist,
  57. columns: columns,
  58. // addPower: 5,
  59. // editPower: 4359,
  60. header: {
  61. icon: "iconuser-01",
  62. tabsProp: {
  63. scrollspy: false,
  64. sticky: true
  65. }
  66. },
  67. mould: []
  68. });
  69. watch(
  70. () => props.data,
  71. val => {
  72. console.log("props.data, val :>> ", val);
  73. mainData.value = [val];
  74. // initParam.value.cusid = val.cusid;
  75. // getDetailData(val).then(res => {
  76. // detailData.value = res;
  77. // });
  78. },
  79. { immediate: true }
  80. );
  81. watch(
  82. () => props.status,
  83. val => {
  84. console.log("props.status val :>> ", val);
  85. orderStatus.value = val;
  86. },
  87. { immediate: true, deep: true }
  88. );
  89. </script>