index.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <template>
  2. <Modal
  3. width="1200px"
  4. :title="title"
  5. @cancel="router.push({ name: RoutesName.show })"
  6. :open="router.currentRoute.value.name === RoutesName.fireInfo"
  7. :footer="null"
  8. >
  9. <Info
  10. title="案件信息"
  11. :data="caseProject.tmProject"
  12. :label-map="tmLabelMap1"
  13. v-if="caseProject?.tmProject"
  14. />
  15. <Info
  16. title="勘验信息"
  17. :data="caseProject.tmProject"
  18. :label-map="tmLabelMap2"
  19. v-if="caseProject?.tmProject"
  20. />
  21. </Modal>
  22. </template>
  23. <script setup lang="ts">
  24. import { Modal } from "ant-design-vue";
  25. import Info from "./info.vue";
  26. import { showRightPanoStack } from "@/env";
  27. import { useViewStack } from "@/hook";
  28. import router, { RoutesName } from "@/router";
  29. import { title } from "@/store";
  30. import { caseProject } from "@/store/case";
  31. import { ref } from "vue";
  32. type LabelMap = Record<string, string | [string, (v: any) => any]>;
  33. const tmLabelMap1 = {
  34. projectSn: "案件名称",
  35. projectAddress: "立案编号",
  36. projectSite: "案件类别",
  37. organizerDeptName: "案发时间",
  38. projectName: ["是否命案", (v: any) => (v === undefined ? "" : v ? "是" : "否")],
  39. organizerUsers: ["是否刑案", (v: any) => {
  40. console.error(v)
  41. return v === undefined ? "" : v ? "是" : "否"
  42. }],
  43. accidentDate: "案发区域",
  44. fireReason: "案发地点",
  45. statusDesc: "经纬度",
  46. } as LabelMap;
  47. const tmLabelMap2 = {
  48. creatorName: "指挥中心电话时间",
  49. editorName: "报警时间",
  50. createTime: "现场勘验单位",
  51. editTime: "指派方式",
  52. statusDesc: "勘验地点",
  53. fireReason: "勘验时间",
  54. } as LabelMap;
  55. useViewStack(() => showRightPanoStack.push(ref(false)));
  56. </script>
  57. <style lang="scss" scoped></style>