bill 1 year ago
parent
commit
3a55cd85c8

+ 22 - 20
src/app/fire/view/dispatch/editFire.vue

@@ -46,13 +46,13 @@
         :props="{ expandTrigger: 'hover' }"
       />
     </el-form-item>
-    <el-form-item label="全宗名称">
+    <!-- <el-form-item label="全宗名称">
       <el-input v-model="bindFire.field2" maxlength="50" placeholder="请输入全宗名称" />
-    </el-form-item>
+    </el-form-item> -->
 
     <div class="el-form-item">
       <el-col :span="12">
-        <el-form-item label="承办单位" class="mandatory">
+        <el-form-item label="勘验单位" class="mandatory">
           <companySelect v-model="bindFire.deptId" hideAll :notUpdate="true" disabled />
         </el-form-item>
       </el-col>
@@ -63,7 +63,7 @@
       </el-col>
     </div>
     <div class="el-form-item">
-      <el-col :span="12">
+      <!-- <el-col :span="12">
         <el-form-item label="勘验人姓名">
           <el-input
             v-model="bindFire.field3"
@@ -71,7 +71,7 @@
             placeholder="请输入勘验人姓名"
           />
         </el-form-item>
-      </el-col>
+      </el-col> -->
       <el-col :span="12">
         <el-form-item label="单位、职务">
           <el-input
@@ -81,6 +81,17 @@
           />
         </el-form-item>
       </el-col>
+      <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>
     </div>
 
     <div class="el-form-item">
@@ -124,10 +135,12 @@
 
     <div class="el-form-item">
       <el-col :span="12">
-        <el-form-item label="勘验信息">
+        <el-form-item label="天气情况">
           <el-input
             v-model="bindFire.field7"
-            placeholder="请输入天气情况等标准化勘验信息"
+            placeholder="请输入天气情况"
+            show-word-limit
+            maxlength="100"
           />
         </el-form-item>
       </el-col>
@@ -142,17 +155,6 @@
         </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>
 
@@ -256,8 +258,8 @@ defineExpose<QuiskExpose>({
       ElMessage.error("起火场所不能为空!");
       throw "起火场所不能为空!";
     } else if (!bindFire.value.deptId || !bindFire.value.deptId.trim()) {
-      ElMessage.error("承办单位不能为空!");
-      throw "承办单位不能为空!";
+      ElMessage.error("勘验单位不能为空!");
+      throw "勘验单位不能为空!";
     } else if (!bindFire.value.organizerUsers || !bindFire.value.organizerUsers.trim()) {
       ElMessage.error("勘验人员不能为空!");
       throw "勘验人员不能为空!";

+ 1 - 1
src/app/fire/view/dispatch/header.vue

@@ -26,7 +26,7 @@
         ></el-cascader>
       </el-form-item>
 
-      <el-form-item label="承办单位:">
+      <el-form-item label="勘验单位:">
         <com-company v-model="pagging.state.query.deptId" />
       </el-form-item>
       <el-form-item label="事故日期:">

+ 5 - 1
src/app/fire/view/dispatch/index.vue

@@ -1,6 +1,10 @@
 <template>
   <Header :pagging="pagging" :isTeached="isTeached" />
-  <List :pagging="pagging" :checkPerm="isTeached ? 'cancel' : 'teach'">
+  <List
+    :pagging="pagging"
+    :checkPerm="isTeached ? 'cancel' : 'teach'"
+    :isRecycle="isRecycle"
+  >
     <template v-slot:tableCtrl>
       <template v-if="!isRecycle">
         <template v-if="isTeached">

+ 95 - 16
src/app/fire/view/dispatch/list.vue

@@ -16,6 +16,7 @@
       @selection-change="pagging.changeSelectRows"
     >
       <el-table-column
+        v-if="!isRecycle"
         type="selection"
         width="50"
         :selectable="() => !!operateIsPermissionByPath(checkPerm)"
@@ -26,29 +27,51 @@
         </div>
       </el-table-column>
       <el-table-column label="项目编号" prop="projectSn"></el-table-column>
-      <el-table-column label="事件分类" prop="field5"></el-table-column>
+      <el-table-column label="事件分类" prop="field5" v-slot:default="{ row }">
+        <el-tooltip
+          class="item"
+          effect="dark"
+          :content="row.field5"
+          placement="bottom-start"
+          v-if="row.field5 && row.field5.length > 10"
+        >
+          <p class="tip oper-user">{{ row.field5.substring(0, 10) }}...</p>
+        </el-tooltip>
+        <p class="tip" v-else>{{ row.field5 }}</p>
+      </el-table-column>
       <el-table-column label="起火对象" prop="projectName" v-slot:default="{ row }">
         <el-tooltip
           class="item"
           effect="dark"
           :content="row.projectName"
           placement="bottom-start"
-          v-if="row.projectName && row.projectName.length > 15"
+          v-if="row.projectName && row.projectName.length > 10"
         >
-          <p class="tip oper-user">{{ row.projectName }}</p>
+          <p class="tip oper-user">{{ row.projectName.substring(0, 10) }}...</p>
         </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="field6" v-slot:default="{ row }">
+        <el-tooltip
+          class="item"
+          effect="dark"
+          :content="row.field6"
+          placement="bottom-start"
+          v-if="row.field6 && row.field6.length > 10"
+        >
+          <p class="tip oper-user">{{ row.field6.substring(0, 10) }}...</p>
+        </el-tooltip>
+        <p class="tip" v-else>{{ row.field6 }}</p>
+      </el-table-column>
       <el-table-column label="详细地址" prop="projectAddress" v-slot:default="{ row }">
         <el-tooltip
           class="item"
           effect="dark"
           :content="row.projectAddress"
           placement="bottom-start"
-          v-if="row.projectAddress && row.projectAddress.length > 15"
+          v-if="row.projectAddress && row.projectAddress.length > 10"
         >
-          <p class="tip oper-user">{{ row.projectAddress }}</p>
+          <p class="tip oper-user">{{ row.projectAddress.substring(0, 10) }}...</p>
         </el-tooltip>
         <p class="tip" v-else>{{ row.projectAddress }}</p>
       </el-table-column>
@@ -60,17 +83,73 @@
           placement="bottom-start"
           v-if="row.projectSite && row.projectSite.length > 10"
         >
-          <p class="tip oper-user">{{ row.projectSite }}</p>
+          <p class="tip oper-user">{{ row.projectSite.substring(0, 10) }}...</p>
         </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="field7" v-slot:default="{ row }">
+        <el-tooltip
+          class="item"
+          effect="dark"
+          :content="row.field7"
+          placement="bottom-start"
+          v-if="row.field7 && row.field7.length > 10"
+        >
+          <p class="tip oper-user">{{ row.field7.substring(0, 10) }}...</p>
+        </el-tooltip>
+        <p class="tip" v-else>{{ row.field7 }}</p>
+      </el-table-column>
+
+      <el-table-column label="勘验地址" prop="field1" v-slot:default="{ row }">
+        <el-tooltip
+          class="item"
+          effect="dark"
+          :content="row.field1"
+          placement="bottom-start"
+          v-if="row.field1 && row.field1.length > 10"
+        >
+          <p class="tip oper-user">{{ row.field1.substring(0, 10) }}...</p>
+        </el-tooltip>
+        <p class="tip" v-else>{{ row.field1 }}</p>
+      </el-table-column>
+      <el-table-column label="全宗名称" prop="caseNewName" v-slot:default="{ row }">
+        <el-tooltip
+          class="item"
+          effect="dark"
+          :content="row.caseNewName"
+          placement="bottom-start"
+          v-if="row.caseNewName && row.caseNewName.length > 10"
+        >
+          <p class="tip oper-user">{{ row.caseNewName.substring(0, 10) }}...</p>
+        </el-tooltip>
+        <p class="tip" v-else>{{ row.caseNewName }}</p>
+      </el-table-column>
+      <el-table-column label="勘验人员" prop="organizerUsers" v-slot:default="{ row }">
+        <el-tooltip
+          class="item"
+          effect="dark"
+          :content="row.field3"
+          placement="bottom-start"
+          v-if="row.field3 && row.field3.length > 10"
+        >
+          <p class="tip oper-user">{{ row.field3.substring(0, 10) }}...</p>
+        </el-tooltip>
+        <p class="tip" v-else>{{ row.field3 }}</p>
+      </el-table-column>
+      <el-table-column label="勘验人单位、职务" prop="field4" v-slot:default="{ row }">
+        <el-tooltip
+          class="item"
+          effect="dark"
+          :content="row.field4"
+          placement="bottom-start"
+          v-if="row.field4 && row.field4.length > 10"
+        >
+          <p class="tip oper-user">{{ row.field4.substring(0, 10) }}...</p>
+        </el-tooltip>
+        <p class="tip" v-else>{{ row.field4 }}</p>
+      </el-table-column>
 
-      <el-table-column label="承办单位" prop="organizerDeptName"></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="field8"></el-table-column>
       <el-table-column label="火灾原因" prop="fireReason" v-slot:default="{ row }">
@@ -79,9 +158,9 @@
           effect="dark"
           :content="row.fireReason"
           placement="bottom-start"
-          v-if="row.fireReason && row.fireReason.length > 15"
+          v-if="row.fireReason && row.fireReason.length > 10"
         >
-          <p class="tip oper-user">{{ row.fireReason }}</p>
+          <p class="tip oper-user">{{ row.fireReason.substring(0, 10) }}...</p>
         </el-tooltip>
         <p class="tip" v-else>{{ row.fireReason }}</p>
       </el-table-column>
@@ -111,5 +190,5 @@ import { FireStatus } from "@/app/fire/store/fire";
 import { operateIsPermissionByPath } from "@/directive/permission";
 import { FirePagging } from "./pagging";
 
-defineProps<{ pagging: FirePagging; checkPerm: string }>();
+defineProps<{ pagging: FirePagging; checkPerm: string; isRecycle: boolean }>();
 </script>

+ 4 - 1
src/app/fire/view/dispatch/pagging.ts

@@ -24,7 +24,10 @@ export const useFirePagging = () => {
       await delFire(raw, isRecycle.value ? 1 : 2);
     },
     mapper: {
-      delMsg: "删除火调项目,相关档案也会一并删除,确定要删除吗?",
+      delMsg: () =>
+        isRecycle.value
+          ? "删除后将无法恢复,确定要删除吗?"
+          : "删除火调项目,相关档案也会一并删除,确定要删除吗?",
     },
     paramsTemlate: {
       projectSn: "",

+ 1 - 1
src/app/map/company-select/index.vue

@@ -3,7 +3,7 @@
     style="width: 100%"
     v-model="state.path"
     :disabled="disabled"
-    placeholder="承办单位:"
+    placeholder="勘验单位:"
     :options="state.options"
     :props="{ expandTrigger: 'hover', checkStrictly: true }"
   />

+ 1 - 1
src/components/company-select/index.vue

@@ -3,7 +3,7 @@
     style="width: 100%"
     v-model="state.path"
     :disabled="disabled"
-    placeholder="承办单位:"
+    placeholder="勘验单位:"
     :options="state.options"
     :props="{ expandTrigger: 'hover', checkStrictly: true }"
   />

+ 11 - 7
src/hook/pagging.ts

@@ -65,7 +65,7 @@ type Operate<P, RAW, NRAW> = {
   set?: (param: RAW) => void;
   add?: (param: NRAW) => void;
   del?: (param: RAW) => void;
-  mapper?: { delMsg?: string };
+  mapper?: { delMsg?: string | (() => string) };
 };
 
 type PaggingProps<P, RAW, NRAW> = Operate<P, RAW, NRAW> & {
@@ -148,21 +148,25 @@ export const usePagging = <PARAM, RAW, NRAW>(
 
   return {
     async del(data: RAW) {
-      if (await confirm(props.mapper?.delMsg || "确定要删除此数据吗?")) {
+      const msg =
+        typeof props.mapper?.delMsg === "function"
+          ? props.mapper?.delMsg()
+          : props.mapper?.delMsg;
+      if (await confirm(msg || "确定要删除此数据吗?")) {
         const result = await itemAPI.del!(data);
         ElMessage.success("删除成功");
         return result;
       }
     },
     async deleteSelected() {
+      const msg =
+        typeof props.mapper?.delMsg === "function"
+          ? props.mapper?.delMsg()
+          : props.mapper?.delMsg;
       const rows = tableOperate.tableState.value.selectRows;
       if (rows.length === 0) {
         ElMessage.error("请勾选数据后再删除数据!");
-      } else if (
-        await confirm(
-          props.mapper?.delMsg || `确定要删除这${rows.length}条数据吗?`
-        )
-      ) {
+      } else if (await confirm(msg || `确定要删除这${rows.length}条数据吗?`)) {
         await Promise.all(rows.map((item) => itemAPI?.del!(item as any)));
         ElMessage.success("删除成功");
         refresh();

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

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

+ 286 - 146
src/view/case/records/index.vue

@@ -7,102 +7,219 @@
     </div>
     <h3 class="title">基本信息</h3>
     <div class="content">
-
       <div class="line">
         <span>勘验次数:</span>
         <span>第</span>
-        <el-input class="input" v-model="data.count" placeholder="" style="width: 80px;" />
+        <el-input class="input" v-model="data.count" placeholder="" style="width: 80px" />
         <span>次勘验</span>
       </div>
 
       <div class="line">
         <span>勘验时间:</span>
         <div>
-          <el-input class="input" :maxlength="4" type="text" v-model="data.startTime.year" placeholder=""
-            style="width: 80px;" />
+          <el-input
+            class="input"
+            :maxlength="4"
+            type="text"
+            v-model="data.startTime.year"
+            placeholder=""
+            style="width: 80px"
+          />
           <span>年</span>
-          <el-input class="input" :maxlength="2" type="text" v-model="data.startTime.month" placeholder=""
-            style="width: 80px;" />
+          <el-input
+            class="input"
+            :maxlength="2"
+            type="text"
+            v-model="data.startTime.month"
+            placeholder=""
+            style="width: 80px"
+          />
           <span>月</span>
-          <el-input class="input" :maxlength="2" type="text" v-model="data.startTime.day" placeholder=""
-            style="width: 80px;" />
+          <el-input
+            class="input"
+            :maxlength="2"
+            type="text"
+            v-model="data.startTime.day"
+            placeholder=""
+            style="width: 80px"
+          />
           <span>日</span>
-          <el-input class="input" :maxlength="2" type="text" v-model="data.startTime.hour" placeholder=""
-            style="width: 80px;" />
+          <el-input
+            class="input"
+            :maxlength="2"
+            type="text"
+            v-model="data.startTime.hour"
+            placeholder=""
+            style="width: 80px"
+          />
           <span>时</span>
-          <el-input class="input" :maxlength="2" type="text" v-model="data.startTime.min" placeholder=""
-            style="width: 80px;" />
+          <el-input
+            class="input"
+            :maxlength="2"
+            type="text"
+            v-model="data.startTime.min"
+            placeholder=""
+            style="width: 80px"
+          />
           <span>分</span>
         </div>
-        <span style="width: 60px;text-align: center">至</span>
+        <span style="width: 60px; text-align: center">至</span>
         <div>
-          <el-input class="input" :maxlength="4" v-model="data.endTime.year" placeholder="" style="width: 80px;" />
+          <el-input
+            class="input"
+            :maxlength="4"
+            v-model="data.endTime.year"
+            placeholder=""
+            style="width: 80px"
+          />
           <span>年</span>
-          <el-input class="input" :maxlength="2" v-model="data.endTime.month" placeholder="" style="width: 80px;" />
+          <el-input
+            class="input"
+            :maxlength="2"
+            v-model="data.endTime.month"
+            placeholder=""
+            style="width: 80px"
+          />
           <span>月</span>
-          <el-input class="input" :maxlength="2" v-model="data.endTime.day" placeholder="" style="width: 80px;" />
+          <el-input
+            class="input"
+            :maxlength="2"
+            v-model="data.endTime.day"
+            placeholder=""
+            style="width: 80px"
+          />
           <span>日</span>
-          <el-input class="input" :maxlength="2" type="text" v-model="data.endTime.hour" placeholder=""
-            style="width: 80px;" />
+          <el-input
+            class="input"
+            :maxlength="2"
+            type="text"
+            v-model="data.endTime.hour"
+            placeholder=""
+            style="width: 80px"
+          />
           <span>时</span>
-          <el-input class="input" :maxlength="2" type="text" v-model="data.endTime.min" placeholder=""
-            style="width: 80px;" />
+          <el-input
+            class="input"
+            :maxlength="2"
+            type="text"
+            v-model="data.endTime.min"
+            placeholder=""
+            style="width: 80px"
+          />
           <span>分</span>
         </div>
       </div>
 
       <div class="line">
         <span>勘验地点:</span>
-        <el-input class="input" type="tel" v-model="data.address" placeholder="" style="width: 100%;" />
+        <el-input
+          class="input"
+          type="tel"
+          v-model="data.address"
+          placeholder=""
+          style="width: 100%"
+        />
       </div>
       <div class="line">
         <span>勘验人员姓名、单位、职务(含技术职务):</span>
-        <el-input class="input" type="tel" v-model="data.userInfo" placeholder="" style="width: 100%;" />
-
+        <el-input
+          class="input"
+          type="tel"
+          v-model="data.userInfo"
+          placeholder=""
+          style="width: 100%"
+        />
       </div>
 
       <div class="line">
         <span>勘验气象条件(天气、风力、温度):</span>
-        <el-input class="input" type="tel" v-model="data.weather" placeholder="" style="width: 100%;" />
+        <el-input
+          class="input"
+          type="tel"
+          v-model="data.weather"
+          placeholder=""
+          style="width: 100%"
+        />
       </div>
 
       <div class="textarea">
         <span>勘验情况:</span>
-        <el-input type="textarea" :rows="4" v-model="data.situation" placeholder="" style="width: 100%;" />
-
+        <el-input
+          type="textarea"
+          :rows="4"
+          v-model="data.situation"
+          placeholder=""
+          style="width: 100%"
+        />
       </div>
       <div class="textarea">
         <span>一、环境勘验</span>
-        <el-input type="textarea" :rows="4" v-model="data.environment" placeholder="" style="width: 100%;" />
+        <el-input
+          type="textarea"
+          :rows="4"
+          v-model="data.environment"
+          placeholder=""
+          style="width: 100%"
+        />
       </div>
 
       <div class="textarea">
         <span>二、初步勘验</span>
-        <el-input type="textarea" :rows="4" v-model="data.firstInquest" placeholder="" style="width: 100%;" />
+        <el-input
+          type="textarea"
+          :rows="4"
+          v-model="data.firstInquest"
+          placeholder=""
+          style="width: 100%"
+        />
       </div>
 
       <div class="textarea">
         <span>三、细项勘验</span>
-        <el-input type="textarea" :rows="4" v-model="data.carefulInquest" placeholder="" style="width: 100%;" />
+        <el-input
+          type="textarea"
+          :rows="4"
+          v-model="data.carefulInquest"
+          placeholder=""
+          style="width: 100%"
+        />
       </div>
 
       <div class="textarea">
         <span>四、专项勘验</span>
-        <el-input type="textarea" :rows="6" v-model="data.specialInquest" placeholder="" style="width: 100%;" />
+        <el-input
+          type="textarea"
+          :rows="6"
+          v-model="data.specialInquest"
+          placeholder=""
+          style="width: 100%"
+        />
       </div>
 
       <div class="textarea">
         <span>提取物品描述:</span>
-        <el-input type="textarea" :rows="6" v-model="data.itemDescription" placeholder="" style="width: 100%;" />
+        <el-input
+          type="textarea"
+          :rows="6"
+          v-model="data.itemDescription"
+          placeholder=""
+          style="width: 100%"
+        />
       </div>
 
       <div class="textarea">
         <span>现场拍照制图描述:</span>
-        <el-input type="textarea" :rows="6" v-model="data.imgDescription" placeholder="" style="width: 100%;" />
+        <el-input
+          type="textarea"
+          :rows="6"
+          v-model="data.imgDescription"
+          placeholder=""
+          style="width: 100%"
+        />
       </div>
 
       <div class="info">
-        <span class="sub-tit">勘验信息:</span>
+        <span class="sub-tit">天气情况:</span>
         <div class="inner">
           <div class="sec">
             <span>勘验负责人</span>
@@ -128,50 +245,77 @@
           <span class="sub-tit">证人信息:</span>
           <div class="line">
             <span>证人或当事人:</span>
-            <el-input class="input" v-model="item.name" placeholder="" style="width: 180px;" />
+            <el-input
+              class="input"
+              v-model="item.name"
+              placeholder=""
+              style="width: 180px"
+            />
             <div>
-              <el-input class="input" v-model="item.year" placeholder="" style="width: 80px;" />
+              <el-input
+                class="input"
+                v-model="item.year"
+                placeholder=""
+                style="width: 80px"
+              />
               <span>年</span>
-              <el-input class="input" v-model="item.month" placeholder="" style="width: 80px;" />
+              <el-input
+                class="input"
+                v-model="item.month"
+                placeholder=""
+                style="width: 80px"
+              />
               <span>月</span>
-              <el-input class="input" v-model="item.day" placeholder="" style="width: 80px;" />
+              <el-input
+                class="input"
+                v-model="item.day"
+                placeholder=""
+                style="width: 80px"
+              />
               <span>日</span>
             </div>
 
-            <span style="margin-left:50px">身份证件号码:</span>
-            <el-input class="input" v-model="item.id" placeholder="" style="width: 280px;" />
+            <span style="margin-left: 50px">身份证件号码:</span>
+            <el-input
+              class="input"
+              v-model="item.id"
+              placeholder=""
+              style="width: 280px"
+            />
           </div>
           <div class="line">
             <span>单位或住址:</span>
-            <el-input class="input" v-model="item.address" placeholder="" style="width: 100%;" />
+            <el-input
+              class="input"
+              v-model="item.address"
+              placeholder=""
+              style="width: 100%"
+            />
           </div>
         </div>
-
       </template>
 
       <div class="btn-container">
         <el-button class="btn" @click="addwitnessInfo">+新增</el-button>
       </div>
 
-      <div>
-      </div>
+      <div></div>
     </div>
   </div>
-
 </template>
 <script setup>
-import { onMounted, ref, watch } from 'vue';
-import { reactive } from 'vue'
+import { onMounted, ref, watch } from "vue";
+import { reactive } from "vue";
 import {
   getCaseInquestInfo,
   saveCaseInquestInfo,
-  exportCaseInquestInfo
+  exportCaseInquestInfo,
 } from "@/store/case";
-import { ElMessage } from 'element-plus'
+import { ElMessage } from "element-plus";
 import saveAs from "@/util/file-serve";
-const props = defineProps({ caseId: Number })
+const props = defineProps({ caseId: Number });
 
-console.log(props)
+console.log(props);
 
 const data = reactive({
   count: "",
@@ -180,96 +324,99 @@ const data = reactive({
     month: "",
     day: "",
     hour: "",
-    min: ""
+    min: "",
   },
   endTime: {
     year: "",
     month: "",
     day: "",
     hour: "",
-    min: ""
+    min: "",
   },
-  address: '',
-  userInfo: '',
-  weather: '',
-  situation: '',
-  environment: '',  //环境勘验
-  firstInquest: '', //初步勘验
-  carefulInquest: '', //细项勘验
-  specialInquest: '', //专项勘验
-  itemDescription: '',
-  imgDescription: '',
-  leader: '',
-  recorder: '',
-  inspector: '',
-  witnessInfo: [{
-    name: "",
-    year: "",
-    month: "",
-    day: "",
-    id: "",
-    address: ""
-  }, {
-    name: "",
-    year: "",
-    month: "",
-    day: "",
-    id: "",
-    address: ""
-  }]
-})
-
-watch(data, newValue => {
-  // data.userName = newValue.userName.replace(/[^0-9]/g, '');
-  const sMonth = newValue.startTime.month.replace(/[^0-9]/g, '');
-  const sDay = newValue.startTime.day.replace(/[^0-9]/g, '');
-  const sHour = newValue.startTime.hour.replace(/[^0-9]/g, '');
-  const sMin = newValue.startTime.min.replace(/[^0-9]/g, '');
-
-  const eMonth = newValue.endTime.month.replace(/[^0-9]/g, '');
-  const eDay = newValue.endTime.day.replace(/[^0-9]/g, '');
-  const eHour = newValue.endTime.hour.replace(/[^0-9]/g, '');
-  const eMin = newValue.endTime.min.replace(/[^0-9]/g, '');
-
-
-  data.startTime.year = newValue.startTime.year.replace(/[^0-9]/g, '');
-  data.startTime.month = Number(sMonth) > 12 ? '12' : sMonth;
-  data.startTime.day = Number(sDay) > 31 ? '31' : sDay;
-  data.startTime.hour = Number(sDay) > 24 ? '24' : sHour;
-  data.startTime.min = Number(sMin) > 60 ? '0' : sMin;
-
-  data.endTime.year = newValue.endTime.year.replace(/[^0-9]/g, '');
-  data.endTime.month = Number(eMonth) > 12 ? '12' : eMonth;
-  data.endTime.day = Number(eDay) > 31 ? '31' : eDay;
-  data.endTime.hour = Number(eHour) > 24 ? '24' : eHour;
-  data.endTime.min = Number(eMin) > 60 ? '0' : eMin;
-
-
-  newValue.witnessInfo.forEach((item, key) => {
-    const year = newValue.witnessInfo[key].year.replace(/[^0-9]/g, '');
-    const month = newValue.witnessInfo[key].month.replace(/[^0-9]/g, '');
-    const day = newValue.witnessInfo[key].day.replace(/[^0-9]/g, '');
-    data.witnessInfo[key].year = year;
-    data.witnessInfo[key].month = Number(month) > 12 ? '12' : month;
-    data.witnessInfo[key].day = Number(day) > 31 ? '31' : day;
-  })
-
-}, {
-  immediate: true,
-  deep: true
-})
+  address: "",
+  userInfo: "",
+  weather: "",
+  situation: "",
+  environment: "", //环境勘验
+  firstInquest: "", //初步勘验
+  carefulInquest: "", //细项勘验
+  specialInquest: "", //专项勘验
+  itemDescription: "",
+  imgDescription: "",
+  leader: "",
+  recorder: "",
+  inspector: "",
+  witnessInfo: [
+    {
+      name: "",
+      year: "",
+      month: "",
+      day: "",
+      id: "",
+      address: "",
+    },
+    {
+      name: "",
+      year: "",
+      month: "",
+      day: "",
+      id: "",
+      address: "",
+    },
+  ],
+});
+
+watch(
+  data,
+  (newValue) => {
+    // data.userName = newValue.userName.replace(/[^0-9]/g, '');
+    const sMonth = newValue.startTime.month.replace(/[^0-9]/g, "");
+    const sDay = newValue.startTime.day.replace(/[^0-9]/g, "");
+    const sHour = newValue.startTime.hour.replace(/[^0-9]/g, "");
+    const sMin = newValue.startTime.min.replace(/[^0-9]/g, "");
+
+    const eMonth = newValue.endTime.month.replace(/[^0-9]/g, "");
+    const eDay = newValue.endTime.day.replace(/[^0-9]/g, "");
+    const eHour = newValue.endTime.hour.replace(/[^0-9]/g, "");
+    const eMin = newValue.endTime.min.replace(/[^0-9]/g, "");
+
+    data.startTime.year = newValue.startTime.year.replace(/[^0-9]/g, "");
+    data.startTime.month = Number(sMonth) > 12 ? "12" : sMonth;
+    data.startTime.day = Number(sDay) > 31 ? "31" : sDay;
+    data.startTime.hour = Number(sDay) > 24 ? "24" : sHour;
+    data.startTime.min = Number(sMin) > 60 ? "0" : sMin;
+
+    data.endTime.year = newValue.endTime.year.replace(/[^0-9]/g, "");
+    data.endTime.month = Number(eMonth) > 12 ? "12" : eMonth;
+    data.endTime.day = Number(eDay) > 31 ? "31" : eDay;
+    data.endTime.hour = Number(eHour) > 24 ? "24" : eHour;
+    data.endTime.min = Number(eMin) > 60 ? "0" : eMin;
+
+    newValue.witnessInfo.forEach((item, key) => {
+      const year = newValue.witnessInfo[key].year.replace(/[^0-9]/g, "");
+      const month = newValue.witnessInfo[key].month.replace(/[^0-9]/g, "");
+      const day = newValue.witnessInfo[key].day.replace(/[^0-9]/g, "");
+      data.witnessInfo[key].year = year;
+      data.witnessInfo[key].month = Number(month) > 12 ? "12" : month;
+      data.witnessInfo[key].day = Number(day) > 31 ? "31" : day;
+    });
+  },
+  {
+    immediate: true,
+    deep: true,
+  }
+);
 
 onMounted(async () => {
   const res = await getCaseInquestInfo(props.caseId);
-  console.log('res', res)
+  console.log("res", res);
   for (var k in data) {
     if (res.data && res.data.hasOwnProperty(k)) {
-      console.log("Key is " + k)
-      data[k] = res.data[k]
+      console.log("Key is " + k);
+      data[k] = res.data[k];
     }
   }
-
-})
+});
 
 const addwitnessInfo = () => {
   // witnessInfoes.value += 1
@@ -278,23 +425,22 @@ const addwitnessInfo = () => {
     year: "",
     month: "",
     day: "",
-    id: ""
-  })
-}
+    id: "",
+  });
+};
 
 const handleSave = async () => {
-  console.log('data', data)
+  console.log("data", data);
   const res = await saveCaseInquestInfo(props.caseId, data);
   if (res.code === 0) {
-    ElMessage.success('保存成功!')
+    ElMessage.success("保存成功!");
   }
-}
+};
 const handleExport = async () => {
   const res = await exportCaseInquestInfo(props.caseId);
-  console.log('res', res)
-  saveAs(res, `勘验笔录-${props.caseId}.docx`)
-}
-
+  console.log("res", res);
+  saveAs(res, `勘验笔录-${props.caseId}.docx`);
+};
 </script>
 
 <style lang="scss">
@@ -352,8 +498,6 @@ const handleExport = async () => {
 .info {
   display: block;
 
-
-
   .inner {
     display: flex;
     flex-direction: row;
@@ -369,15 +513,11 @@ const handleExport = async () => {
       align-items: center;
       justify-content: center;
     }
-
-
   }
-
-
 }
 
 .witnessInfo {
-  background: #F5F5F5;
+  background: #f5f5f5;
   padding: 15px;
   margin-top: 20px;
   margin-right: 8px;
@@ -391,13 +531,13 @@ const handleExport = async () => {
   padding: 20px 0;
 
   .btn {
-    color: #26559B;
+    color: #26559b;
     width: 100%;
 
     &:hover {
-      background: #F5F5F5;
+      background: #f5f5f5;
       border-color: #dcdfe6;
     }
   }
 }
-</style>
+</style>

+ 6 - 1
src/view/setting/index.vue

@@ -4,7 +4,12 @@
   <div class="body-layer" style="padding: 24px" v-loading="loading">
     <el-form :model="form" label-width="auto" style="max-width: 600px">
       <el-form-item label="系统标题">
-        <el-input v-model="form.name" placeholder="请输入系统标题" />
+        <el-input
+          v-model="form.name"
+          placeholder="请输入系统标题"
+          :maxlength="100"
+          show-word-limit
+        />
       </el-form-item>
       <el-form-item label="系统主题色">
         <el-radio-group v-model="form.color">

+ 4 - 2
src/view/vrmodel/downloadLog.vue

@@ -12,8 +12,10 @@
       </el-form-item>
       <el-form-item label="下载时间:">
         <el-date-picker
-          type="datetimerange"
-          format="YYYY-MM-DD HH:mm:ss"
+          type="daterange"
+          format="YYYY-MM-DD"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
           v-model="createTime"
           placeholder="请选择"
           :defaultTime="defaultTime"

+ 1 - 1
src/view/vrmodel/list.vue

@@ -33,7 +33,7 @@ import { useScenePaggingParams } from "./pagging";
 defineProps<{ params: ReturnType<typeof useScenePaggingParams> }>();
 
 const headOptions = [
-  { value: SceneType.SWKK, name: SceneTypeDesc[SceneType.SWKK] },
+  // { value: SceneType.SWKK, name: SceneTypeDesc[SceneType.SWKK] },
   { value: SceneType.SWKJ, name: SceneTypeDesc[SceneType.SWKJ] },
   { value: SceneType.SWSS, name: SceneTypeDesc[SceneType.SWSS] },
   { value: SceneType.SWSSMX, name: SceneTypeDesc[SceneType.SWSSMX] },

+ 1 - 1
src/view/vrmodel/pagging.ts

@@ -6,7 +6,7 @@ export const useScenePaggingParams = () => {
   const pagging = usePagging({
     get: getScenePagging,
     paramsTemlate: {
-      type: SceneType.SWKK,
+      type: SceneType.SWKJ,
       sceneName: "",
       modelTitle: "",
       deptId: "",