header.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <template>
  2. <com-head :options="head" showCtrl>
  3. <el-form label-width="84px">
  4. <el-form-item label="项目编号:">
  5. <el-input v-model="pagging.state.query.projectSn" placeholder="请输入"></el-input>
  6. </el-form-item>
  7. <el-form-item label="起火对象:">
  8. <el-input
  9. v-model="pagging.state.query.projectName"
  10. placeholder="请输入"
  11. ></el-input>
  12. </el-form-item>
  13. <el-form-item label="详细地址:">
  14. <el-input
  15. v-model="pagging.state.query.projectAddress"
  16. placeholder="请输入"
  17. ></el-input>
  18. </el-form-item>
  19. <el-form-item label="起火场所:">
  20. <el-cascader
  21. style="width: 100%"
  22. v-model="projectSite"
  23. placeholder="请选择"
  24. :options="[{ label: '全部', value: UN_REQ_NUM.toString() }].concat(place)"
  25. :props="{ expandTrigger: 'hover', checkStrictly: true }"
  26. ></el-cascader>
  27. </el-form-item>
  28. <el-form-item label="勘验信息:">
  29. <el-input
  30. v-model="pagging.state.query.field7"
  31. placeholder="请输入"
  32. ></el-input>
  33. </el-form-item>
  34. <el-form-item label="承办单位:">
  35. <com-company v-model="pagging.state.query.deptId" />
  36. </el-form-item>
  37. <el-form-item label="事故日期:">
  38. <el-date-picker
  39. type="date"
  40. v-model="pagging.state.query.accidentDate"
  41. placeholder="请选择"
  42. style="width: 100%"
  43. />
  44. </el-form-item>
  45. <!-- <el-form-item label="火灾原因:">
  46. <el-cascader
  47. style="width: 100%"
  48. v-model="fireReason"
  49. placeholder="请选择"
  50. :options="[{ label: '全部', value: UN_REQ_NUM.toString() }].concat(reason)"
  51. :props="{ expandTrigger: 'hover', checkStrictly: true }"
  52. ></el-cascader>
  53. </el-form-item> -->
  54. <el-form-item label="项目状态:">
  55. <el-select placeholder="请选择" v-model="pagging.state.query.status" showAll>
  56. <el-option
  57. v-for="option in fireStatuOptions"
  58. :key="option.value"
  59. :value="option.value"
  60. :label="option.label"
  61. />
  62. </el-select>
  63. </el-form-item>
  64. <el-form-item class="searh-btns" style="grid-area: 1/4/4/5">
  65. <el-button type="primary" @click="pagging.refresh">查询</el-button>
  66. <el-button type="primary" plain @click="pagging.queryReset">重置</el-button>
  67. </el-form-item>
  68. </el-form>
  69. </com-head>
  70. </template>
  71. <script lang="ts" setup>
  72. import { FirePagging } from "./pagging";
  73. import comCompany from "@/components/company-select/index.vue";
  74. import { genCascaderValue, getCode, getRaw, getValue } from "@/helper/cascader";
  75. import { reason, place, fireStatuOptions } from "@/app/fire/constant/fire";
  76. import comHead from "@/components/head/index.vue";
  77. import { computed, ref, watchEffect } from "vue";
  78. import { UN_REQ_NUM } from "@/constant/sys";
  79. const props = defineProps<{ pagging: FirePagging; isTeached: boolean }>();
  80. const head = computed(() => [
  81. { name: props.isTeached ? "教学平台" : "火调管理", value: "2" },
  82. ]);
  83. const projectSite = genCascaderValue(
  84. computed(() => props.pagging.state.query),
  85. "projectSite",
  86. UN_REQ_NUM.toString()
  87. );
  88. watchEffect(() => {
  89. props.pagging.state.query.projectSiteCode = getCode(place, getRaw(projectSite.value!));
  90. });
  91. const fireReason = genCascaderValue(
  92. computed(() => props.pagging.state.query),
  93. "fireReason"
  94. );
  95. </script>