From 2cc2f4f83a90aac000792a3b65aac9c1aeedbdf1 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 13 十一月 2023 17:33:24 +0800
Subject: [PATCH] +1
---
src/views/intelligentPatrol/studyJudge/index.vue | 405 ++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 254 insertions(+), 151 deletions(-)
diff --git a/src/views/intelligentPatrol/studyJudge/index.vue b/src/views/intelligentPatrol/studyJudge/index.vue
index e19e9d6..fd6310b 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>
+ <span>鎶ヨ璁板綍--{{ currentEvent.alarmName }}</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