From f96e393e62b4c7496f7ace44b6aa5abb69ae58df Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 11 九月 2023 21:54:55 +0800
Subject: [PATCH] bug修改

---
 src/views/intelligentPatrol/studyJudge/index.vue |  403 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 253 insertions(+), 150 deletions(-)

diff --git a/src/views/intelligentPatrol/studyJudge/index.vue b/src/views/intelligentPatrol/studyJudge/index.vue
index e19e9d6..9c9c348 100644
--- a/src/views/intelligentPatrol/studyJudge/index.vue
+++ b/src/views/intelligentPatrol/studyJudge/index.vue
@@ -1,160 +1,208 @@
 <template>
   <div class="study-judge">
-    <div class="study-judge-header">
-      <span
-      >鎮ㄦ湁<span @click="openDialogTable">{{ countData.review }}</span>鏉″緟瀹℃牳鎶ヨ淇℃伅,浠婃棩绔嬫{{
-          countData.register
-        }}鏉�,鍐嶅涔爗{ countData.study }}鏉�</span
-      >
-    </div>
+    <!--    <div class="study-judge-header">-->
+    <!--      <span-->
+    <!--        >鎮ㄦ湁{{ countData.review }}鏉″緟瀹℃牳鎶ヨ淇℃伅,浠婃棩绔嬫{{-->
+    <!--          countData.register-->
+    <!--        }}鏉�,鍐嶅涔爗{ countData.study }}鏉�</span-->
+    <!--      >-->
+    <!--    </div>-->
     <div class="study-judge-main">
-      <div class="sjm-header">
-        <div class="sjm-header-left">
-          <span class="moni-name">鐩戞帶鐐逛綅鍚嶇О: {{ currentEvent.name }} </span>
-          <span class="moni-area">{{ currentEvent.street }}</span>
-          <span>{{ currentEvent.address }}</span>
-        </div>
-        <div class="sjm-header-right">
-          <el-button size="small" @click="createVideo(currentEvent, 'live')"
-          >瀹炴椂棰勮
-          </el-button
-          >
-          <el-button size="small" @click="createVideo(currentEvent, 'playback')"
-          >褰曞儚鍥炴斁
-          </el-button
-          >
-        </div>
-      </div>
+      <!--      <div class="sjm-header">-->
+      <!--        <div class="sjm-header-left">-->
+      <!--          <span class="moni-name">鐩戞帶鐐逛綅鍚嶇О: {{ currentEvent.name }} </span>-->
+      <!--          <span class="moni-area">{{ currentEvent.street }}</span>-->
+      <!--          <span>{{ currentEvent.address }}</span>-->
+      <!--        </div>-->
+      <!--        <div class="sjm-header-right">-->
+      <!--          <el-button size="small" @click="createVideo(currentEvent, 'live')"-->
+      <!--            >瀹炴椂棰勮</el-button-->
+      <!--          >-->
+      <!--          <el-button size="small" @click="createVideo(currentEvent, 'playback')"-->
+      <!--            >褰曞儚鍥炴斁</el-button-->
+      <!--          >-->
+      <!--        </div>-->
+      <!--      </div>-->
       <div class="sjm-content">
         <div class="sjm-content-left">
+          <!--          <div class="sjm-header-left">-->
+          <!--            <span class="moni-name">鐩戞帶鐐逛綅鍚嶇О: {{ currentEvent.name }} </span>-->
+          <!--            <span class="moni-area">{{ currentEvent.street }}</span>-->
+          <!--            <span>{{ currentEvent.address }}</span>-->
+          <!--          </div>-->
+          <span @click="openDialogTable" class="count-data-span"
+            >鎮ㄦ湁{{ countData.review }}鏉″緟瀹℃牳鎶ヨ淇℃伅,浠婃棩绔嬫{{
+              countData.register
+            }}鏉�,鍐嶅涔爗{ countData.study }}鏉�</span
+          >
+          <div class="sjm-header-left">
+            <span class="moni-name"
+              >鐩戞帶鐐逛綅鍚嶇О: {{ currentEvent.name }}
+            </span>
+            <span class="moni-area">{{ currentEvent.street }}</span>
+            <span>{{ currentEvent.address }}</span>
+          </div>
           <div
-              class="img-item"
-              v-for="(item, index) in imageList"
-              :key="item.id"
+            class="img-item"
+            v-for="(item, index) in imageList"
+            :key="item.id"
           >
             <span>鎶ヨ鍥剧墖</span>
-            <img :src="item"/>
+            <!-- <img :src="item" /> -->
+            <el-image style="width:240px"  :src="item" :preview-src-list="[item]"> </el-image>
             <span v-if="index === 0"
-            >鎶ヨ鏃堕棿锛歿{ currentEvent.alarmTime }}</span
+              >鎶ヨ鏃堕棿锛歿{ currentEvent.alarmTime }}</span
             >
           </div>
           <div class="img-item" v-for="item in imageList" :key="item.id">
-            <img :src="item"/>
+            <!-- <img :src="item" /> -->            
+            <el-image style="width:240px" :src="item" :preview-src-list="[item]"> </el-image>
           </div>
+          <el-form
+            ref="currentEvent"
+            label-width="120px"
+            :model="eventInfoData"
+            :rules="rules"
+            label-position="left"
+            class="left-form"
+          >
+            <!-- <el-form-item label="浜嬩欢缂栧彿:">
+              <span>{{ currentEvent.code }}</span>
+            </el-form-item> -->
+            <el-form-item label="浜嬩欢绛夌骇:">
+              <span>{{ currentEvent.grade }}</span>
+            </el-form-item>
+            <el-form-item label="棣栨鎶ヨ鏃堕棿:">
+              <span>{{ currentEvent.alarmTime }}</span>
+            </el-form-item>
+            <el-form-item label="鏈�杩戞姤璀︽椂闂�:">
+              <span>{{ currentEvent.currentAlarmTime }}</span>
+            </el-form-item>
+            <el-form-item label="鎸佺画鏃堕棿:">
+              <span>{{ currentEvent.conntinueTime }}</span>
+            </el-form-item>
+          </el-form>
         </div>
         <div class="sjm-content-center">
           <div class="map">
-            <MyMap></MyMap>
+            <MyMap :point="point" :zoom="zoom" :mark="mark"></MyMap>
           </div>
           <!-- <iframe src="https://183.245.159.161:8282/OneMap/index.html#/OneMap?code=2&clientVersion=&skin=white&locale=zh&otherAuthor=allowable"></iframe> -->
         </div>
         <div class="sjm-content-right">
           <div class="card-box">
+            <div class="but-live">
+              <el-button size="small" @click="createVideo(currentEvent, 'live')"
+                >瀹炴椂棰勮</el-button
+              >
+              <el-button
+                size="small"
+                @click="createVideo(currentEvent, 'playback')"
+                >褰曞儚鍥炴斁</el-button
+              >
+            </div>
             <div class="card-header">
               <span>鎶ヨ璁板綍--{{ currentEvent.algoName }}</span>
             </div>
             <el-form
-                ref="currentEvent"
-                label-width="120px"
-                :model="eventInfoData"
-                :rules="rules"
+              ref="currentEvent"
+              label-width="120px"
+              :model="eventInfoData"
+              :rules="rules"
             >
-              <el-form-item label="浜嬩欢缂栧彿:">
-                <span>{{ currentEvent.code }}</span>
-              </el-form-item>
-              <el-form-item label="浜嬩欢绛夌骇:">
-                <span>{{ currentEvent.grade }}</span>
-              </el-form-item>
-              <el-form-item label="棣栨鎶ヨ鏃堕棿:">
-                <span>{{ currentEvent.alarmTime }}</span>
-              </el-form-item>
-              <el-form-item label="鏈�杩戞姤璀︽椂闂�:">
-                <span>{{ currentEvent.currentAlarmTime }}</span>
-              </el-form-item>
-              <el-form-item label="鎸佺画鏃堕棿:">
-                <span>{{ currentEvent.conntinueTime }}</span>
-              </el-form-item>
+              <!--              <el-form-item label="浜嬩欢缂栧彿:">-->
+              <!--                <span>{{ currentEvent.code }}</span>-->
+              <!--              </el-form-item>-->
+              <!--              <el-form-item label="浜嬩欢绛夌骇:">-->
+              <!--                <span>{{ currentEvent.grade }}</span>-->
+              <!--              </el-form-item>-->
+              <!--              <el-form-item label="棣栨鎶ヨ鏃堕棿:">-->
+              <!--                <span>{{ currentEvent.alarmTime }}</span>-->
+              <!--              </el-form-item>-->
+              <!--              <el-form-item label="鏈�杩戞姤璀︽椂闂�:">-->
+              <!--                <span>{{ currentEvent.currentAlarmTime }}</span>-->
+              <!--              </el-form-item>-->
+              <!--              <el-form-item label="鎸佺画鏃堕棿:">-->
+              <!--                <span>{{ currentEvent.conntinueTime }}</span>-->
+              <!--              </el-form-item>-->
               <el-form-item label="鍏宠仈搴楅摵" prop="store">
                 <el-select
-                    v-model="eventInfoData.store"
-                    clearable
-                    @change="selectStoreChange"
-                    placeholder="璇烽�夋嫨鍏宠仈搴楅摵"
+                  v-model="eventInfoData.store"
+                  clearable
+                  @change="selectStoreChange"
+                  placeholder="璇烽�夋嫨鍏宠仈搴楅摵"
                 >
                   <el-option
-                      v-for="store in storeList"
-                      :value="store.id"
-                      :label="store.storeName"
-                      :key="store.id"
+                    v-for="store in storeList"
+                    :value="store.id"
+                    :label="store.storeName"
+                    :key="store.id"
                   />
                 </el-select>
               </el-form-item>
               <el-form-item v-if="eventInfoData.store" label="搴楅摵寰楀垎:">
                 <span>{{
-                    selectStoreChange(eventInfoData.store).storeScore
-                  }}</span>
+                  selectStoreChange(eventInfoData.store).storeScore
+                }}</span>
               </el-form-item>
               <el-form-item label="澶勭悊鎰忚:" prop="state">
                 <el-radio-group v-model="eventInfoData.state">
                   <el-radio
-                      :label="item.id"
-                      v-for="item in stateList"
-                      :key="item.id"
-                  >{{ item.label }}
-                  </el-radio
+                    :label="item.id"
+                    v-for="item in stateList"
+                    :key="item.id"
+                    >{{ item.label }}</el-radio
                   >
                 </el-radio-group>
               </el-form-item>
               <el-form-item label="澶х被鍚嶇О:" prop="categoryId">
                 <el-select
-                    v-model="eventInfoData.categoryId"
-                    placeholder="璇烽�夋嫨澶х被鍚嶇О"
-                    @change="categoryChange"
+                  v-model="eventInfoData.categoryId"
+                  placeholder="璇烽�夋嫨澶х被鍚嶇О"
+                  @change="categoryChange"
                 >
                   <el-option
-                      v-for="category in categoryOptions"
-                      :key="category.id"
-                      :value="category.id"
-                      :label="category.name"
+                    v-for="category in categoryOptions"
+                    :key="category.id"
+                    :value="category.id"
+                    :label="category.name"
                   />
                 </el-select>
               </el-form-item>
               <el-form-item label="灏忕被鍚嶇О:" prop="typeId">
                 <el-select
-                    v-model="eventInfoData.typeId"
-                    placeholder="璇烽�夋嫨灏忕被鍚嶇О"
+                  v-model="eventInfoData.typeId"
+                  placeholder="璇烽�夋嫨灏忕被鍚嶇О"
                 >
                   <el-option
-                      v-for="type in typeOptions"
-                      :key="type.id"
-                      :value="type.id"
-                      :label="type.name"
+                    v-for="type in typeOptions"
+                    :key="type.id"
+                    :value="type.id"
+                    :label="type.name"
                   />
                 </el-select>
               </el-form-item>
               <el-form-item label="杞︾墝鍙�:" prop="carNumber">
                 <el-input
-                    v-model="eventInfoData.carNumber"
-                    placeholder="璇峰~鍐欒溅鐗屽彿鐮�"
+                  v-model="eventInfoData.carNumber"
+                  placeholder="璇峰~鍐欒溅鐗屽彿鐮�"
                 ></el-input>
               </el-form-item>
               <el-form-item label="澶囨敞:" prop="description">
                 <el-input
-                    type="textarea"
-                    :rows="5"
-                    v-model="eventInfoData.description"
+                  type="textarea"
+                  :rows="5"
+                  v-model="eventInfoData.description"
                 ></el-input>
               </el-form-item>
               <el-form-item>
                 <el-button
-                    :disabled="currentPage === 1"
-                    @click="pageChange('prev')"
-                >涓婁竴鏉�
-                </el-button
+                  :disabled="currentPage === 1"
+                  @click="pageChange('prev')"
+                  >涓婁竴鏉�</el-button
                 >
                 <el-button @click.native.prevent="handleConfirm"
-                >纭
-                </el-button
+                  >纭</el-button
                 >
                 <el-button @click="pageChange('next')">涓嬩竴鏉�</el-button>
               </el-form-item>
@@ -165,25 +213,25 @@
     </div>
     <el-dialog :visible="isShowDialog" title="璋冨害淇℃伅">
       <MyDispatch
-          v-if="isShowDialog"
-          :mytype="1"
-          @getDispatchData="confirmInspection"
-          :isGetData="true"
-          @changeDialog="closeDialog"
+        v-if="isShowDialog"
+        :mytype="1"
+        @getDispatchData="confirmInspection"
+        :isGetData="true"
+        @changeDialog="closeDialog"
       ></MyDispatch>
     </el-dialog>
     <el-dialog
-        :visible.sync="dialogCreate"
-        title="鏌ョ湅瑙嗛"
-        v-show="dialogCreate"
-        :before-close="handleClose2"
+      :visible.sync="dialogCreate"
+      title="鏌ョ湅瑙嗛"
+      v-show="dialogCreate"
+      :before-close="handleClose2"
     >
       <div class="dom" style="width: 100%; height: 600px; position: relative">
         <div id="dom1" class="dom1"></div>
       </div>
     </el-dialog>
     <el-dialog :visible.sync="isShowTable" title="鎶ヨ淇℃伅" width="1200px">
-      <inspection-table/>
+      <inspection-table />
     </el-dialog>
   </div>
 </template>
@@ -195,22 +243,21 @@
 import { FILE_ORIGINAL_URL } from "@/utils";
 import { validateCarNum } from "@/utils/validate";
 import MyDispatch from "@/components/dispatch";
-import InspectionTable from "@/views/intelligentPatrol/studyJudge/inspectionTable/index.vue";
-
-import MyMap from "@/components/map";
+// import InspectionTable from "@/views/intelligentPatrol/studyJudge/inspectionTable/index.vue";
+// import MyMap from "@/components/map";
+import MyMap from "@/components/map/leafletMap.vue";
 
 export default {
-  components: { MyDispatch, MyMap ,InspectionTable},
+  components: { MyDispatch, MyMap },
   created() {
-    this.getInspectionData();
+    if (this.info) {
+      this.currentEvent = this.info;
+      this.loadData();
+    } else {
+      this.getInspectionData();
+    }
     this.initEventParams();
-    basecase
-      .getInspectionCountData()
-      .then((res) => {
-        this.countData = res;
-      })
-      .catch((err) => this.$message.error(err));
-
+    this.getInspectionCount();
     getStoreInfoList({ current: 1, size: 100 })
       .then(({ list }) => {
         this.storeList = list;
@@ -235,8 +282,8 @@
   },
   mounted() {
     this.timer = setInterval(() => {
-      setTimeout(this.getInspectionData, 0);
-    }, 1000 * 10);
+      this.getInspectionCount();
+    }, 1000 * 60 * 15);
   },
   data() {
     const validateCarNumber = (rule, value, callback) => {
@@ -251,17 +298,17 @@
       }
     };
     return {
-      timer:null,
+      isShowTable: false,
+      timer: null,
       countData: {
         study: 0,
         review: 0,
         register: 0,
       },
-      isShowTable: true,
       currentEvent: {},
       stateList: [
         {
-          id: 2,
+          id: 10,
           label: "涓婃姤",
         },
         {
@@ -323,11 +370,24 @@
       domId: "dom1",
       ctrl: "ctrl1",
       playType: "live",
+      point: null,
+      mark: null,
+      zoom: null,
     };
   },
   methods: {
-    openDialogTable(){
-      this.isShowTable = true
+    getInspectionCount() {
+      basecase
+        .getInspectionCountData({
+          showLoading: false,
+        })
+        .then((res) => {
+          this.countData = res;
+        })
+        .catch((err) => this.$message.error(err));
+    },
+    openDialogTable() {
+      this.isShowTable = true;
     },
     pageChange(type) {
       if (type === "next") {
@@ -339,35 +399,59 @@
     },
 
     getInspectionData() {
+      let data = {
+        current: this.currentPage,
+        pageSize: 1,
+        videoId: this.seachData.videoId,
+      };
+      if (this.seachData.alarmTime) {
+        data.beginTime = this.seachData.alarmTime[0];
+        data.endTime = this.seachData.alarmTime[1];
+      }
+      if (this.seachData.gradeId) {
+        data.gradeId = this.seachData.gradeId[1];
+      }
       basecase
-        .getInspectionData({ current: this.currentPage })
-        .then(({ records }) => {
-          this.currentEvent = records[0];
-          if (this.currentEvent?.picData) {
-            this.imageList = this.currentEvent.picData
-              .split(",")
-              .map((item) => `${FILE_ORIGINAL_URL}${item}`);
-          }
-          if (
-            this.currentEvent?.alarmTime ||
-            this.currentEvent?.currentAlarmTime
-          ) {
-            const { alarmTime, currentAlarmTime } = this.currentEvent;
-            const continueAlarmTime =
-              new Date().getTime() -
-              (currentAlarmTime
-                ? new Date(currentAlarmTime).getTime()
-                : new Date(alarmTime).getTime());
-            const CONTINUE_DAY = continueAlarmTime / 1000 / 60 / 60 / 24;
-            const CONTINUE_HOURS = (CONTINUE_DAY - parseInt(CONTINUE_DAY)) * 24;
-            this.currentEvent.conntinueTime = `${parseInt(
-              CONTINUE_DAY
-            )}澶�${parseInt(CONTINUE_HOURS)}灏忔椂`;
+        .getInspectionData(data)
+        .then(({ records, total }) => {
+          this.countData.review = total;
+          if (records.length > 0) {
+            this.currentEvent = records[0];
+            this.loadData();
+          } else {
+            this.currentEvent = {};
+            this.$message("褰撳墠鏌ヨ鏉′欢鏃犳暟鎹�");
           }
         })
         .catch((err) => this.$message.error(err));
     },
-
+    loadData() {
+      this.point = {
+        x: this.currentEvent.longitude,
+        y: this.currentEvent.latitude,
+      };
+      this.zoom = 18;
+      this.mark = { title: this.currentEvent.address };
+      if (this.currentEvent?.picData) {
+        this.imageList = this.currentEvent.picData
+          .split(",")
+          .map((item) => `${FILE_ORIGINAL_URL}sccg/API/img?fileUrl=${item}`);
+        // this.imageList =['https://www.shutterstock.com/image-photo/grandmother-holding-grandson-her-lap-600w-1954531321.jpg','https://www.shutterstock.com/image-photo/grandmother-holding-grandson-her-lap-600w-1954531321.jpg']
+      }
+      if (this.currentEvent?.alarmTime || this.currentEvent?.currentAlarmTime) {
+        const { alarmTime, currentAlarmTime } = this.currentEvent;
+        const continueAlarmTime =
+          new Date().getTime() -
+          (currentAlarmTime
+            ? new Date(currentAlarmTime).getTime()
+            : new Date(alarmTime).getTime());
+        const CONTINUE_DAY = continueAlarmTime / 1000 / 60 / 60 / 24;
+        const CONTINUE_HOURS = (CONTINUE_DAY - parseInt(CONTINUE_DAY)) * 24;
+        this.currentEvent.conntinueTime = `${parseInt(
+          CONTINUE_DAY
+        )}澶�${parseInt(CONTINUE_HOURS)}灏忔椂`;
+      }
+    },
     // 纭鐐瑰嚮浜嬩欢
     handleConfirm() {
       this.$refs.currentEvent.validate((flag) => {
@@ -443,8 +527,8 @@
         if (res) {
           // 杩炴帴瀹㈡埛绔垚鍔�
           this.ws.login({
-            loginIp: "183.245.159.161",
-            loginPort: "8282",
+            loginIp: "172.28.194.180",
+            loginPort: "7902",
             userName: "suichang",
             userPwd: "a12345677",
             https: 1,
@@ -583,11 +667,16 @@
       second = second < 10 ? "0" + second : second;
       return y + "-" + m + "-" + d + " " + h + ":" + minute + ":" + second;
     },
+    resetAll() {
+      this.seachData = {};
+    },
   },
   beforeDestroy() {
     clearInterval(this.timer);
     this.timer = null;
-  }
+  },
+
+  props: ["info", "seachData"],
 };
 </script>
 
@@ -635,11 +724,16 @@
 
       .sjm-content-left {
         line-height: 4.8vh;
-
+        .count-data-span {
+          cursor: pointer;
+          color: #66b1ff;
+        }
+        .left-form > ::v-deep.el-form-item__label {
+          font-size: 16px !important;
+        }
         .img-item {
           display: flex;
           flex-direction: column;
-
           img {
             width: 15vw;
             height: 20vh;
@@ -650,9 +744,15 @@
           margin-top: 2vh;
         }
       }
-
+      .sjm-content-center {
+        width: calc(100% - 920px);
+      }
       .sjm-content-right {
         .card-box {
+          .but-live {
+            padding-left: 48px;
+            line-height: 4.8vh;
+          }
           .card-header {
             padding-left: 48px;
             line-height: 4.8vh;
@@ -664,7 +764,7 @@
 
   .el-form {
     ::v-deep .el-form-item {
-      margin-bottom: 5px;
+      margin-bottom: 15px;
     }
 
     ::v-deep .el-form-item__label {
@@ -678,7 +778,10 @@
 }
 
 .map {
-  height: 488px;
+  height: 100%;
   min-width: 460px;
 }
+.header {
+  line-height: normal;
+}
 </style>

--
Gitblit v1.8.0