Sfoglia il codice sorgente

Merge branch 'xj' of http://192.168.0.115:3000/bill/public-fuse into xj

gemercheung 1 anno fa
parent
commit
b106943522

+ 7 - 0
src/app/fire/store/fire.ts

@@ -52,6 +52,13 @@ export type Fire = {
   field2: string;
   field3: string;
   field4: string;
+
+  field5: string;
+  field6: string;
+  field7: string;
+  field8: string;
+  field9: string;
+  field10: string;
 };
 
 export enum FirePaggingRoute {

+ 75 - 25
src/app/fire/view/dispatch/editFire.vue

@@ -3,20 +3,20 @@
     <div class="def-select-map" ref="mapEl"></div>
     <div class="el-form-item">
       <el-col :span="12">
-        <el-form-item label="事件分类" class="mandatory">
+        <el-form-item label="项目编号" class="mandatory">
           <el-input
             v-model="bindFire.projectSn"
             maxlength="18"
-            placeholder="请输入事件分类"
+            placeholder="请输入项目编号"
           />
         </el-form-item>
       </el-col>
       <el-col :span="12">
-        <el-form-item label="分类登记" class="mandatory">
+        <el-form-item label="起火对象" class="mandatory">
           <el-input
             v-model="bindFire.projectName"
             maxlength="50"
-            placeholder="请输入分类登记"
+            placeholder="请输入起火对象"
           />
         </el-form-item>
       </el-col>
@@ -37,19 +37,14 @@
     <el-form-item label="勘验地址" class="mandatory">
       <el-input v-model="bindFire.field1" maxlength="50" placeholder="请输入勘验地址" />
     </el-form-item>
-    <el-form-item label="勘验信息" class="mandatory">
-      <el-input
-        v-model="bindFire.projectSite"
-        placeholder="请输入天气情况等标准化勘验信息"
-      />
-      <!--       
+    <el-form-item label="起火场所" class="mandatory">
       <el-cascader
         style="width: 100%"
         v-model="projectSite"
-        placeholder="天气情况等标准化勘验信息"
+        placeholder="起火场所"
         :options="place"
         :props="{ expandTrigger: 'hover' }"
-      /> -->
+      />
     </el-form-item>
     <el-form-item label="全宗名称" class="mandatory">
       <el-input v-model="bindFire.field2" maxlength="50" placeholder="请输入全宗名称" />
@@ -87,9 +82,10 @@
         </el-form-item>
       </el-col>
     </div>
+
     <div class="el-form-item">
       <el-col :span="12">
-        <el-form-item label="勘验日期" class="mandatory" placeholder="请选择勘验日期">
+        <el-form-item label="事故日期" class="mandatory" placeholder="请选择事故日期">
           <el-date-picker
             type="date"
             v-model="accidentDate"
@@ -104,6 +100,59 @@
         </el-form-item>
       </el-col>
     </div>
+
+    <div class="el-form-item">
+      <el-col :span="12">
+        <el-form-item label="事件分类" class="mandatory">
+          <el-input
+            v-model="bindFire.field5"
+            maxlength="18"
+            placeholder="请输入事件分类"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="12">
+        <el-form-item label="分类登记" class="mandatory">
+          <el-input
+            v-model="bindFire.field6"
+            maxlength="50"
+            placeholder="请输入分类登记"
+          />
+        </el-form-item>
+      </el-col>
+    </div>
+
+    <div class="el-form-item">
+      <el-col :span="12">
+        <el-form-item label="勘验信息" class="mandatory">
+          <el-input
+            v-model="bindFire.field7"
+            placeholder="请输入天气情况等标准化勘验信息"
+          />
+        </el-form-item>
+      </el-col>
+      <el-col :span="12">
+        <el-form-item label="勘验日期" class="mandatory" placeholder="请选择勘验日期">
+          <el-date-picker
+            type="date"
+            v-model="f8"
+            style="width: 100%"
+            :disabled-date="(date) => date.getTime() > new Date().getTime()"
+          />
+        </el-form-item>
+      </el-col>
+    </div>
+    <el-col :span="12">
+      <el-form-item label="火灾原因" class="mandatory">
+        <el-cascader
+          style="width: 100%"
+          v-model="fireReason"
+          placeholder="火灾原因:"
+          :options="reason"
+          :props="{ expandTrigger: 'hover' }"
+        />
+      </el-form-item>
+    </el-col>
   </el-form>
 </template>
 
@@ -135,6 +184,7 @@ const projectSite = genCascaderValue(bindFire, "projectSite");
 const accidentDate = ref(
   bindFire.value.accidentDate ? new Date(bindFire.value.accidentDate) : new Date()
 );
+const f8 = ref(bindFire.value.field8 ? new Date(bindFire.value.field8) : new Date());
 const keyword = ref(bindFire.value.projectAddress || "");
 const resultEl = ref<HTMLDivElement>();
 const searchAMap = ref<any>();
@@ -197,14 +247,14 @@ defineExpose<QuiskExpose>({
       ElMessage.error("详细地址不能为空!");
       throw "详细地址不能为空!";
     } else if (!bindFire.value.projectSn || !bindFire.value.projectSn.trim()) {
-      ElMessage.error("事件分类不能为空!");
-      throw "事件分类不能为空!";
+      ElMessage.error("项目编号不能为空!");
+      throw "项目编号不能为空!";
     } else if (!bindFire.value.projectName || !bindFire.value.projectName.trim()) {
-      ElMessage.error("分类登记不能为空!");
-      throw "分类登记不能为空!";
+      ElMessage.error("起火对象不能为空!");
+      throw "起火对象不能为空!";
     } else if (!bindFire.value.projectSite || !bindFire.value.projectSite.trim()) {
-      ElMessage.error("天气情况等标准化勘验信息不能为空!");
-      throw "天气情况等标准化勘验信息不能为空!";
+      ElMessage.error("起火场所不能为空!");
+      throw "起火场所不能为空!";
     } else if (!bindFire.value.deptId || !bindFire.value.deptId.trim()) {
       ElMessage.error("承办单位不能为空!");
       throw "承办单位不能为空!";
@@ -212,15 +262,15 @@ defineExpose<QuiskExpose>({
       ElMessage.error("勘验人员不能为空!");
       throw "勘验人员不能为空!";
     } else if (!accidentDate) {
-      ElMessage.error("勘验日期不能为空!");
-      throw "勘验日期不能为空!";
+      ElMessage.error("事故日期不能为空!");
+      throw "事故日期不能为空!";
+    } else if (!bindFire.value.fireReason || !bindFire.value.fireReason.trim()) {
+      ElMessage.error("火灾原因不能为空!");
+      throw "火灾原因不能为空!";
     }
-    // else if (!bindFire.value.fireReason || !bindFire.value.fireReason.trim()) {
-    //   ElMessage.error("火灾原因不能为空!");
-    //   throw "火灾原因不能为空!";
-    // }
 
     bindFire.value.accidentDate = dateFormat(accidentDate.value, "yyyy-MM-dd");
+    bindFire.value.field8 = dateFormat(f8.value, "yyyy-MM-dd");
     bindFire.value.projectSiteCode = getCode(place, bindFire.value.projectSite);
     bindFire.value.id
       ? await setFire(bindFire.value)

+ 14 - 10
src/app/fire/view/dispatch/header.vue

@@ -1,10 +1,10 @@
 <template>
   <com-head :options="head" showCtrl>
     <el-form label-width="84px">
-      <el-form-item label="事件分类:">
+      <el-form-item label="项目编号:">
         <el-input v-model="pagging.state.query.projectSn" placeholder="请输入"></el-input>
       </el-form-item>
-      <el-form-item label="分类登记:">
+      <el-form-item label="起火对象:">
         <el-input
           v-model="pagging.state.query.projectName"
           placeholder="请输入"
@@ -16,23 +16,27 @@
           placeholder="请输入"
         ></el-input>
       </el-form-item>
-      <el-form-item label="勘验信息:">
-        <el-input
-          v-model="pagging.state.query.projectSite"
-          placeholder="请输入"
-        ></el-input>
-        <!-- <el-cascader
+      <el-form-item label="起火场所:">
+        <el-cascader
           style="width: 100%"
           v-model="projectSite"
           placeholder="请选择"
           :options="[{ label: '全部', value: UN_REQ_NUM.toString() }].concat(place)"
           :props="{ expandTrigger: 'hover', checkStrictly: true }"
-        ></el-cascader> -->
+        ></el-cascader>
+      </el-form-item>
+
+      <el-form-item label="勘验信息:">
+        <el-input
+          v-model="pagging.state.query.field7"
+          placeholder="请输入"
+        ></el-input>
       </el-form-item>
+      
       <el-form-item label="承办单位:">
         <com-company v-model="pagging.state.query.deptId" />
       </el-form-item>
-      <el-form-item label="勘验日期:">
+      <el-form-item label="事故日期:">
         <el-date-picker
           type="date"
           v-model="pagging.state.query.accidentDate"

+ 10 - 10
src/app/fire/view/dispatch/list.vue

@@ -25,8 +25,9 @@
           {{ pagging.state.pag.size * (pagging.state.pag.currentPage - 1) + $index + 1 }}
         </div>
       </el-table-column>
-      <el-table-column label="事件分类" prop="projectSn"></el-table-column>
-      <el-table-column label="分类登记" prop="projectName" v-slot:default="{ row }">
+      <el-table-column label="项目编号" prop="projectSn"></el-table-column>
+      <el-table-column label="事件分类" prop="field5"></el-table-column>
+      <el-table-column label="起火对象" prop="projectName" v-slot:default="{ row }">
         <el-tooltip
           class="item"
           effect="dark"
@@ -38,6 +39,7 @@
         </el-tooltip>
         <p class="tip" v-else>{{ row.projectName }}</p>
       </el-table-column>
+      <el-table-column label="分类登记" prop="field6"></el-table-column>
       <el-table-column label="详细地址" prop="projectAddress" v-slot:default="{ row }">
         <el-tooltip
           class="item"
@@ -50,11 +52,7 @@
         </el-tooltip>
         <p class="tip" v-else>{{ row.projectAddress }}</p>
       </el-table-column>
-      <el-table-column
-        label="天气情况等标准化勘验信息"
-        prop="projectSite"
-        v-slot:default="{ row }"
-      >
+      <el-table-column label="起火场所" prop="projectSite" v-slot:default="{ row }">
         <el-tooltip
           class="item"
           effect="dark"
@@ -66,14 +64,16 @@
         </el-tooltip>
         <p class="tip" v-else>{{ row.projectSite }}</p>
       </el-table-column>
+      <el-table-column label="勘验信息" prop="field7"></el-table-column>
       <el-table-column label="勘验地址" prop="field1"></el-table-column>
       <el-table-column label="全宗名称" prop="field2"></el-table-column>
       <el-table-column label="勘验人姓名" prop="field3"></el-table-column>
       <el-table-column label="勘验人单位、职务" prop="field4"></el-table-column>
 
       <el-table-column label="承办单位" prop="organizerDeptName"></el-table-column>
-      <el-table-column label="勘验日期" prop="accidentDate"></el-table-column>
-      <!-- <el-table-column label="火灾原因" prop="fireReason" v-slot:default="{ row }">
+      <el-table-column label="事故日期" prop="accidentDate"></el-table-column>
+      <el-table-column label="勘验日期" prop="field8"></el-table-column>
+      <el-table-column label="火灾原因" prop="fireReason" v-slot:default="{ row }">
         <el-tooltip
           class="item"
           effect="dark"
@@ -84,7 +84,7 @@
           <p class="tip oper-user">{{ row.fireReason }}</p>
         </el-tooltip>
         <p class="tip" v-else>{{ row.fireReason }}</p>
-      </el-table-column> -->
+      </el-table-column>
       <el-table-column label="项目状态" v-slot:default="{ row }">
         {{ fireStatusDesc[row.status as FireStatus] }}
       </el-table-column>

+ 2 - 2
src/constant/caseFile.ts

@@ -1,13 +1,13 @@
 import { BoardType } from "@/store/caseFile";
 
 export const FileDrawType = 1;
-export const DrawFormats = [".jpg", ".jpeg", ".png", ".raw"];
+export const DrawFormats = [".jpg", ".jpeg", ".png", ".raw", ".dcm"];
 export const OtherFormats = [".pdf", ".jpeg", ".doc", ".docx", ".jpg", ".png"];
 export const BoardTypeDesc = {
   [BoardType.scene]: "现场图",
   [BoardType.map]: "方位图",
 };
-export const DrawFormatDesc = "jpg、png、raw等格式的文件";
+export const DrawFormatDesc = "jpg、png、raw、dcm等格式的文件";
 export const OtherFormatDesc = "pdf、word、jpg、png等格式的文件";
 
 export const maxFileSize = 100 * 1024 * 1024;

+ 1 - 1
src/view/case/caseFile.vue

@@ -131,7 +131,7 @@ watchEffect(() => caseId.value && currentTypeId.value && refresh());
 
 const query = (file: CaseFile) => {
   const ext = file.filesUrl.substring(file.filesUrl.lastIndexOf(".")).toLocaleLowerCase();
-  if (ext === ".raw") {
+  if ([".raw", ".dcm"].includes(ext)) {
     window.open(`/xfile-viewer/index.html?file=${file.filesUrl}&time=` + Date.now());
   } else {
     window.open(file.filesUrl + "?time=" + Date.now());

+ 1 - 1
src/view/case/share.vue

@@ -1,7 +1,7 @@
 <template>
   <el-form ref="form" label-width="80px" class="share-from">
     <el-form-item label="链接">
-      <el-input :modelValue="shareLink" placeholder="请输入事件分类" disabled />
+      <el-input :modelValue="shareLink" disabled />
     </el-form-item>
     <el-form-item label="密码">
       <el-input

+ 3 - 7
src/view/statistics/statisticsInject.ts

@@ -139,7 +139,7 @@ export const statisticsConfigs: ConfigItem[] = reactive([
     },
   },
   {
-    title: "天气情况等标准化勘验信息统计",
+    title: "起火场所",
     data: {
       tooltip: {
         trigger: "axis",
@@ -212,9 +212,7 @@ export const updateParams = async (params: StatisticsParams) => {
       }));
       console.log(statisticsConfigs[ndx].data);
     } else {
-      statisticsConfigs[ndx].data.xAxis.data = items.map(
-        (item) => item.groupKey
-      );
+      statisticsConfigs[ndx].data.xAxis.data = items.map((item) => item.groupKey);
       statisticsConfigs[ndx].data.xAxis.axisLabel = {
         interval: "auto",
         rotate: 0,
@@ -265,9 +263,7 @@ export const updateParams = async (params: StatisticsParams) => {
           },
         ];
       }
-      statisticsConfigs[ndx].data.series![0].data = items.map(
-        (item) => item.dataCount
-      );
+      statisticsConfigs[ndx].data.series![0].data = items.map((item) => item.dataCount);
     }
   }
 };