gemercheung пре 1 година
родитељ
комит
ff0ea8f2cd
6 измењених фајлова са 1155 додато и 829 уклоњено
  1. 1071 781
      pnpm-lock.yaml
  2. 6 0
      src/request/urls.ts
  3. 10 0
      src/store/case.ts
  4. 4 0
      src/view/case/caseFile.vue
  5. 64 48
      src/view/case/records/index.vue
  6. 0 0
      src/view/case/records/manifest.vue

Разлика између датотеке није приказан због своје велике величине
+ 1071 - 781
pnpm-lock.yaml


+ 6 - 0
src/request/urls.ts

@@ -180,6 +180,12 @@ export const insertCaseFile = "/fusion-xj/caseFiles/add";
 export const deleteCaseFile = "/fusion-xj/caseFiles/delete";
 export const updateCaseFile = "/fusion-xj/caseFiles/updateTitle";
 
+//勘验笔录信息
+export const caseInquestInfo = "/fusion-xj/caseInquest/info";
+export const caseInquestOpt = "/fusion-xj/caseInquest/saveOrUpdate";
+export const caseInquestExport = "/fusion-xj/caseInquest/downDocx";
+
+
 // 火调链接地址设置密码
 export const setCasePsw = "/fusion-xj/web/fireProject/updateRandomCode";
 export const getCasePsw = "/fusion-xj/web/fireProject/getRandCode";

+ 10 - 0
src/store/case.ts

@@ -7,6 +7,8 @@ import {
   setCasePsw,
   syncInfo,
   updateCaseFile,
+  caseInquestInfo,
+  caseInquestOpt
 } from "@/request";
 import { ModelScene, QuoteScene, Scene, SceneType } from "./scene";
 import { CaseFile } from "./caseFile";
@@ -69,3 +71,11 @@ export const getCaseScenes = (scenes: Scene[]) => {
 
 export const replaceCaseScenes = (caseId: number, caseScenes: CaseScenes) =>
   axios.post(repCaseScenes, { sceneNumParam: caseScenes, caseId });
+
+
+export const getCaseInquestInfo = (caseId: number) =>
+  axios.get(caseInquestInfo, { params: { caseId } });
+
+
+export const saveCaseInquestInfo = (caseId: number, data) =>
+  axios.post(caseInquestOpt, { caseId, ...data });

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

@@ -8,6 +8,9 @@
     <template v-else-if="currentTypeId === 3">
       <Records :caseId="caseId" />
     </template>
+    <template v-else-if="currentTypeId === 5">
+      <Manifest :caseId="caseId" />
+    </template>
     <template v-else>
       <div class="body-head">
         <h3 style="visibility: hidden">场景管理</h3>
@@ -91,6 +94,7 @@ import { appConstant } from "@/app";
 import { ElIcon, ElInput, ElMessage } from "element-plus";
 import Photos from "./photos/index.vue";
 import Records from "./records/index.vue";
+import Manifest from "./records/manifest.vue";
 
 const caseId = computed(() => {
   const caseId = router.currentRoute.value.params.caseId;

+ 64 - 48
src/view/case/records/index.vue

@@ -11,7 +11,7 @@
       <div class="line">
         <span>勘验次数:</span>
         <span>第</span>
-        <el-input class="input" v-model="data.times" placeholder="" style="width: 80px;" />
+        <el-input class="input" v-model="data.count" placeholder="" style="width: 80px;" />
         <span>次勘验</span>
       </div>
 
@@ -41,17 +41,17 @@
 
       <div class="line">
         <span>勘验地点:</span>
-        <el-input class="input" type="tel" v-model="data.location" 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.job" 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.condition" placeholder="" style="width: 100%;" />
+        <el-input class="input" type="tel" v-model="data.weather" placeholder="" style="width: 100%;" />
       </div>
 
       <div class="textarea">
@@ -61,32 +61,32 @@
       </div>
       <div class="textarea">
         <span>一、环境勘验</span>
-        <el-input type="textarea" :rows="4" v-model="data.situationEnv" 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.situationPrimary" 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.situationDetail" 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.situationTask" 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.objectDesc" 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.sceneDesc" placeholder="" style="width: 100%;" />
+        <el-input type="textarea" :rows="6" v-model="data.imgDescription" placeholder="" style="width: 100%;" />
       </div>
 
       <div class="info">
@@ -94,47 +94,47 @@
         <div class="inner">
           <div class="sec">
             <span>勘验负责人</span>
-            <el-input class="input" v-model="data.start.month" placeholder="" />
+            <el-input class="input" v-model="data.leader" placeholder="" />
           </div>
 
           <div class="sec">
             <span> 记录人</span>
-            <el-input class="input" v-model="data.start.month" placeholder="" />
+            <el-input class="input" v-model="data.recorder" placeholder="" />
           </div>
 
           <div class="sec">
             <span>勘验人</span>
-            <el-input class="input" v-model="data.start.month" placeholder="" />
+            <el-input class="input" v-model="data.inspector" placeholder="" />
           </div>
         </div>
       </div>
 
       <div class="gap"></div>
       <!-- 证人 -->
-      <template v-for="index of witnesses">
-        <div class="witness">
+      <template v-for="index of witnessInfoes">
+        <div class="witnessInfo">
           <span class="sub-tit">证人信息:</span>
           <div class="line">
             <span>证人或当事人:</span>
-            <el-input class="input" v-model="data.witness[index - 1].name" placeholder="" style="width: 180px;" />
+            <el-input class="input" v-model="data.witnessInfo[index - 1].name" placeholder="" style="width: 180px;" />
             <div>
-              <el-input class="input" v-model="data.witness[index - 1].year" placeholder="" style="width: 80px;" />
+              <el-input class="input" v-model="data.witnessInfo[index - 1].year" placeholder="" style="width: 80px;" />
               <span>年</span>
-              <el-input class="input" v-model="data.witness[index - 1].month" placeholder="" style="width: 80px;" />
+              <el-input class="input" v-model="data.witnessInfo[index - 1].month" placeholder="" style="width: 80px;" />
               <span>月</span>
-              <el-input class="input" v-model="data.witness[index - 1].day" placeholder="" style="width: 80px;" />
+              <el-input class="input" v-model="data.witnessInfo[index - 1].day" placeholder="" style="width: 80px;" />
               <span>日</span>
             </div>
 
             <span style="margin-left:50px">身份证件号码:</span>
-            <el-input class="input" v-model="data.witness[index - 1].id" placeholder="" style="width: 280px;" />
+            <el-input class="input" v-model="data.witnessInfo[index - 1].id" placeholder="" style="width: 280px;" />
           </div>
         </div>
 
       </template>
 
       <div class="btn-container">
-        <el-button class="btn" @click="addWitness">+新增</el-button>
+        <el-button class="btn" @click="addwitnessInfo">+新增</el-button>
       </div>
 
       <div>
@@ -146,12 +146,17 @@
 <script setup>
 import { onMounted, ref, watch } from 'vue';
 import { reactive } from 'vue'
+import {
+  getCaseInquestInfo,
+  saveCaseInquestInfo
+} from "@/store/case";
+import { start } from 'repl';
 const props = defineProps({ caseId: Number })
 
 console.log(props)
 
 const data = reactive({
-  times: "",
+  count: "",
   start: {
     year: "",
     month: "",
@@ -162,17 +167,20 @@ const data = reactive({
     month: "",
     day: ""
   },
-  location: '',
-  job: '',
-  condition: '',
+  address: '',
+  userInfo: '',
+  weather: '',
   situation: '',
-  situationEnv: '',  //环境勘验
-  situationPrimary: '', //初步勘验
-  situationDetail: '', //初步勘验
-  situationTask: '', //专项勘验
-  objectDesc: '',
-  sceneDesc: '',
-  witness: [{
+  environment: '',  //环境勘验
+  firstInquest: '', //初步勘验
+  carefulInquest: '', //细项勘验
+  specialInquest: '', //专项勘验
+  itemDescription: '',
+  imgDescription: '',
+  leader: '',
+  recorder: '',
+  inspector: '',
+  witnessInfo: [{
     name: "",
     year: "",
     month: "",
@@ -203,13 +211,13 @@ watch(data, newValue => {
   data.end.month = Number(eMonth) > 12 ? '12' : eMonth;
   data.end.day = Number(eDay) > 31 ? '31' : eDay;
 
-  newValue.witness.forEach((item, key) => {
-    const year = newValue.witness[key].year.replace(/[^0-9]/g, '');
-    const month = newValue.witness[key].month.replace(/[^0-9]/g, '');
-    const day = newValue.witness[key].day.replace(/[^0-9]/g, '');
-    data.witness[key].year = year;
-    data.witness[key].month = Number(month) > 12 ? '12' : month;
-    data.witness[key].day = Number(day) > 31 ? '31' : day;
+  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;
   })
 
 }, {
@@ -217,13 +225,16 @@ watch(data, newValue => {
   deep: true
 })
 
-const witnesses = ref(2)
-onMounted(() => {
+const witnessInfoes = ref(2)
+
+onMounted(async () => {
+  const res = await getCaseInquestInfo(props.caseId);
+  console.log('res', res)
 })
 
-const addWitness = () => {
-  witnesses.value += 1
-  data.witness.push({
+const addwitnessInfo = () => {
+  witnessInfoes.value += 1
+  data.witnessInfo.push({
     name: "",
     year: "",
     month: "",
@@ -232,9 +243,14 @@ const addWitness = () => {
   })
 }
 
-const handleSave = () => {
-  console.log('data', data)
-
+const handleSave = async () => {
+  // console.log('data', data)
+  // const postData = {
+  //   startTime: data.start.year + data.start.month + data.start.day,
+  //   endTime: data.end.year + data.end.month + data.end.day,
+  //   ...data
+  // }
+  // await saveCaseInquestInfo(props.caseId, postData);
 }
 
 </script>
@@ -318,7 +334,7 @@ const handleSave = () => {
 
 }
 
-.witness {
+.witnessInfo {
   background: #F5F5F5;
   padding: 15px;
   margin-top: 20px;

src/view/case/records/index copy.vue → src/view/case/records/manifest.vue