From d47e5437da19a4a49762986dcf49eb1ec3195c16 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 29 三月 2023 17:39:15 +0800
Subject: [PATCH] 预警研判优化
---
vue.config.js | 2
src/views/systemSetting/device/point/index.vue | 2
src/components/map/leafletMap.vue | 188 ++--
src/views/intelligentPatrol/studyJudge/index.vue | 1538 +++++++++++++++++---------------
src/utils/index.js | 2
src/views/intelligentPatrol/statistics/unlawful/type/index.vue | 1021 +++++++++++----------
6 files changed, 1,453 insertions(+), 1,300 deletions(-)
diff --git a/src/components/map/leafletMap.vue b/src/components/map/leafletMap.vue
index b75ffa7..9deeb37 100644
--- a/src/components/map/leafletMap.vue
+++ b/src/components/map/leafletMap.vue
@@ -1,108 +1,112 @@
<template>
- <div class="map-container" id="map-container"></div>
+ <div class="map-container" id="map-container"></div>
</template>
<script>
export default {
- name: "map",
- components: {},
- data() {
- return {
- map: null,
- map_point: { x: "119.27179890", y: "28.59027084" },
- map_zoom: 15,
- mapUrl:
- "http://172.28.194.179:41005/tilermap/rest/services/mapserver/baidu-image-db/{z}/{x}/{y}",
- // mapUrls: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
- // mapUrls: "http://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}",
- option: {
- crs: L.CRS.Baidu,
- minZoom: 2,
- maxZoom: 19,
- zoomControl: true, // 绂佺敤 + - 鎸夐挳
- doubleClickZoom: true, // 绂佺敤鍙屽嚮鏀惧ぇ
- attributionControl: false, // 绉婚櫎鍙充笅瑙抣eaflet鏍囪瘑
- dragging: true, // 绂佹榧犳爣鎷栧姩婊氬姩
- boxZoom: true, // 鍐冲畾鍦板浘鏄惁鍙缂╂斁鍒伴紶鏍囨嫋鎷藉嚭鐨勭煩褰㈢殑瑙嗗浘锛岄紶鏍囨嫋鎷芥椂闇�瑕佸悓鏃舵寜浣弒hift閿�.
- scrollWheelZoom: true, // 绂佹榧犳爣婊氬姩缂╂斁
- },
- options: {
- position: "topright",
- drawPolygon: true, // 娣诲姞缁樺埗澶氳竟褰�
- drawMarker: false, // 娣诲姞鎸夐挳浠ョ粯鍒舵爣璁�
- drawCircleMarker: false, // 娣诲姞鎸夐挳浠ョ粯鍒跺渾褰㈡爣璁�
- drawPolyline: false, // 娣诲姞鎸夐挳缁樺埗绾挎潯
- drawRectangle: false, // 娣诲姞鎸夐挳缁樺埗鐭╁舰
- drawCircle: false, // 娣诲姞鎸夐挳缁樺埗鍦嗗湀
- editMode: false, // 娣诲姞鎸夐挳缂栬緫澶氳竟褰�
- dragMode: false, // 娣诲姞鎸夐挳鎷栧姩澶氳竟褰�
- cutPolygon: false, // 娣诲姞涓�涓寜閽互鍒犻櫎鍥惧眰閲岄潰鐨勯儴鍒嗗唴瀹�
- removalMode: true, // 娓呴櫎鍥惧眰
- },
- };
- },
- mounted() {
- console.log('/* 鍒涘缓鍦板浘瀹炰緥 */')
- setTimeout(() => {
- this.createrMap();
- }, 100);
- },
- methods: {
- /* 鍒涘缓鍦板浘瀹炰緥 */
- createrMap() {
+ name: "map",
+ components: {},
+ data() {
+ return {
+ map: null,
+ map_point: { x: "119.27179890", y: "28.59027084" },
+ map_zoom: 15,
+ mapUrl:
+ "http://172.28.194.179:41005/tilermap/rest/services/mapserver/baidu-image-db/{z}/{x}/{y}",
+ // mapUrls: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
+ // mapUrls: "http://webrd01.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}",
+ option: {
+ crs: L.CRS.Baidu,
+ minZoom: 2,
+ maxZoom: 19,
+ zoomControl: true, // 绂佺敤 + - 鎸夐挳
+ doubleClickZoom: true, // 绂佺敤鍙屽嚮鏀惧ぇ
+ attributionControl: false, // 绉婚櫎鍙充笅瑙抣eaflet鏍囪瘑
+ dragging: true, // 绂佹榧犳爣鎷栧姩婊氬姩
+ boxZoom: true, // 鍐冲畾鍦板浘鏄惁鍙缂╂斁鍒伴紶鏍囨嫋鎷藉嚭鐨勭煩褰㈢殑瑙嗗浘锛岄紶鏍囨嫋鎷芥椂闇�瑕佸悓鏃舵寜浣弒hift閿�.
+ scrollWheelZoom: true, // 绂佹榧犳爣婊氬姩缂╂斁
+ },
+ options: {
+ position: "topright",
+ drawPolygon: true, // 娣诲姞缁樺埗澶氳竟褰�
+ drawMarker: false, // 娣诲姞鎸夐挳浠ョ粯鍒舵爣璁�
+ drawCircleMarker: false, // 娣诲姞鎸夐挳浠ョ粯鍒跺渾褰㈡爣璁�
+ drawPolyline: false, // 娣诲姞鎸夐挳缁樺埗绾挎潯
+ drawRectangle: false, // 娣诲姞鎸夐挳缁樺埗鐭╁舰
+ drawCircle: false, // 娣诲姞鎸夐挳缁樺埗鍦嗗湀
+ editMode: false, // 娣诲姞鎸夐挳缂栬緫澶氳竟褰�
+ dragMode: false, // 娣诲姞鎸夐挳鎷栧姩澶氳竟褰�
+ cutPolygon: false, // 娣诲姞涓�涓寜閽互鍒犻櫎鍥惧眰閲岄潰鐨勯儴鍒嗗唴瀹�
+ removalMode: true, // 娓呴櫎鍥惧眰
+ },
+ };
+ },
+ mounted() {
+ console.log('/* 鍒涘缓鍦板浘瀹炰緥 */')
+ setTimeout(() => {
+ this.createrMap();
+ }, 100);
+ },
+ methods: {
+ /* 鍒涘缓鍦板浘瀹炰緥 */
+ createrMap() {
- this.option.center = [eval(this.map_point.y), eval(this.map_point.x)];
- this.option.zoom = this.map_zoom;
- this.map = this.$map.createrMap("map-container", this.option);
- // this.$map.createrLayers(this.map, this.mapUrls) //鍒囩墖鍦板浘
- // this.$map.createrChinatm(this.map, this.mapUrl); // 鍥惧眰
+ this.option.center = [eval(this.map_point.y), eval(this.map_point.x)];
+ this.option.zoom = this.map_zoom;
+ this.map = this.$map.createrMap("map-container", this.option);
+ // this.$map.createrLayers(this.map, this.mapUrls) //鍒囩墖鍦板浘
+ // this.$map.createrChinatm(this.map, this.mapUrl); // 鍥惧眰
- this.map.pm.setLang("zh");
- // this.map.pm.addControls(this.options);
- // this.map.on("pm:drawstart", (e) => {
- // // // workingLayer.on('pm:create', e => {
- // // console.log("缁樺埗寮�濮�");
- // // console.log(e);
- // // // });
- // });
- // this.map.on("pm:drawend", (e) => {
- // // // workingLayer.on('pm:create', e => {
- // // console.log("缁樺埗缁撴潫");
- // // // });
- // });
- this.locationMap();
+ this.map.pm.setLang("zh");
+ // this.map.pm.addControls(this.options);
+ // this.map.on("pm:drawstart", (e) => {
+ // // // workingLayer.on('pm:create', e => {
+ // // console.log("缁樺埗寮�濮�");
+ // // console.log(e);
+ // // // });
+ // });
+ // this.map.on("pm:drawend", (e) => {
+ // // // workingLayer.on('pm:create', e => {
+ // // console.log("缁樺埗缁撴潫");
+ // // // });
+ // });
+ this.locationMap();
+ },
+ locationMap() {
+ debugger
+ if (this.map_point && this.map_point.y) {
+ this.map.setView([eval(this.map_point.y), eval(this.map_point.x)], this.map_zoom);
+
+ }
+ if (this.mark && this.map) {
+ // 鍒涘缓涓�涓� Marker 瀹炰緥锛�
+ var marker = L.marker([eval(this.map_point.y), eval(this.map_point.x)]).addTo(
+ this.map
+ );
+ let that = this
+ // 灏嗗垱寤虹殑鐐规爣璁版坊鍔犲埌宸叉湁鐨勫湴鍥惧疄渚嬶細
+ marker.on("click", function (e) {
+ that.$emit("fatherMethod");
+ });
+ }
+ },
},
- locationMap() {
- if (this.mark && this.map) {
- // 鍒涘缓涓�涓� Marker 瀹炰緥锛�
- var marker = L.marker([eval(this.map_point.y), eval(this.map_point.x)]).addTo(
- this.map
- );
- let that = this
- // 灏嗗垱寤虹殑鐐规爣璁版坊鍔犲埌宸叉湁鐨勫湴鍥惧疄渚嬶細
- marker.on("click", function (e) {
- console.log("666");
- that.$emit("fatherMethod");
- });
- }
+ watch: {
+ point(newval, oldval) {
+ this.map_point = newval;
+ this.locationMap();
+ },
+ zoom(newval, oldval) {
+ this.map_zoom = newval;
+ },
},
- },
- watch: {
- point(newval, oldval) {
- this.map_point = newval;
- this.locationMap();
- },
- zoom(newval, oldval) {
- this.map_zoom = newval;
- },
- },
- props: ["point", "zoom", "mark"],
+ props: ["point", "zoom", "mark"],
};
</script>
<style >
.map-container {
- width: 100%;
- height: 100%;
+ width: 100%;
+ height: 100%;
}
</style>
diff --git a/src/utils/index.js b/src/utils/index.js
index 3132ba3..e05bee1 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -55,4 +55,4 @@
export const SUCCESS_CODE = 200;
-export const FILE_ORIGINAL_URL = 'http://140.143.152.226:8410/'
+export const FILE_ORIGINAL_URL = 'http://10.53.157.24:8001/'
diff --git a/src/views/intelligentPatrol/statistics/unlawful/type/index.vue b/src/views/intelligentPatrol/statistics/unlawful/type/index.vue
index 376a2fe..da0a8ac 100644
--- a/src/views/intelligentPatrol/statistics/unlawful/type/index.vue
+++ b/src/views/intelligentPatrol/statistics/unlawful/type/index.vue
@@ -1,165 +1,201 @@
<template xmlns="http://www.w3.org/1999/html">
- <div class="list">
- <header>
- <div class="header-content">
- <div class="search">
- <span style="padding-right: 20px">鏃堕棿鑼冨洿:</span>
- <el-date-picker
- v-model="value2"
- type="daterange"
- align="right"
- unlink-panels
- range-separator="鑷�"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡"
- :picker-options="pickerOptions"
- value-format="yyyy-MM-dd HH:mm:ss"
- >
- </el-date-picker>
- </div>
+ <div class="list">
+ <header>
+ <div class="header-content">
+ <div class="search">
+ <span style="padding-right: 20px">鏃堕棿鑼冨洿:</span>
+ <el-date-picker
+ v-model="value2"
+ type="daterange"
+ align="right"
+ unlink-panels
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ :picker-options="pickerOptions"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ >
+ </el-date-picker>
+ </div>
- <div class="find">
- <el-button
- type="primary"
- icon="el-icon-search"
- @click="setTableDataHandle"
- >鏌ヨ</el-button
- >
- <el-button icon="el-icon-delete-solid" @click="resetTableData"
- >閲嶇疆</el-button
- >
- </div>
+ <div class="find">
+ <el-button
+ type="primary"
+ icon="el-icon-search"
+ @click="setTableDataHandle"
+ >鏌ヨ</el-button
+ >
+ <el-button
+ icon="el-icon-delete-solid"
+ @click="resetTableData"
+ >閲嶇疆</el-button
+ >
+ </div>
- <div class="main-nav-right">
- <el-button type="primary" icon="el-icon-upload2" @click="handleExport"
- >瀵煎嚭</el-button
- >
- </div>
- </div>
- </header>
- <main>
- <div class="main-content">
- <!-- 鏁版嵁灞曠ず -->
- <el-table
- border
- stripe
- ref="multipleTable"
- :header-cell-style="{
- background: '#F5F5F5',
- 'font-weight': '650',
- 'line-height': '45px',
- }"
- :row-class-name="tableRowClassName"
- :data="list"
- style="width: 100%"
- >
- <el-table-column type="selection" min-width="5"> </el-table-column>
- <el-table-column prop="name" label="绫诲瀷鍚嶇О" min-width="10">
- </el-table-column>
- <el-table-column prop="count" label="浜嬩欢鎬绘暟" min-width="5">
- <template slot-scope="scope">
-
- <el-button type="text" @click="seachTotalEvents(scope.row.id)">{{scope.row.count}}</el-button>
- </template>
- </el-table-column>
- <el-table-column prop="ratio" label="鍗犳瘮" min-width="5">
- </el-table-column>
- <el-table-column prop="register" label="绔嬫" min-width="5">
- </el-table-column>
- <el-table-column prop="notRegister" label="鏆備笉绔嬫" min-width="5">
- </el-table-column>
- <el-table-column prop="closing" label="缁撴" min-width="5">
- </el-table-column>
- <el-table-column prop="relearn" label="鍐嶅涔�" min-width="5">
- </el-table-column>
- <el-table-column prop="checked" label="宸插鏍�" min-width="5">
- </el-table-column>
- <el-table-column prop="checkedRatio" label="瀹℃牳鐜�" min-width="5">
- </el-table-column>
- <el-table-column prop="registerRatio" label="绔嬫鐜�" min-width="5">
- </el-table-column>
- </el-table>
- </div>
-
- <!-- tools -->
- <div class="tools">
- <div class="funs"></div>
- <div class="pagination">
- <el-pagination
- background
- :current-page="currentPage"
- layout="prev, pager, next"
- :total="totalNum"
- :page-size="pageSize"
- @current-change="changeCurrentPage"
- @prev-click="handlePrev"
- @next-click="handleNext"
- >
- </el-pagination>
- </div>
- </div>
-
- <el-dialog
- title="浜嬩欢鎬绘暟"
- :visible.sync="dialogVisibleEvent"
- width="80%"
- :before-close="handClose">
- <el-table
- border
- stripe
- ref="multipleTable"
- :header-cell-style="{
+ <div class="main-nav-right">
+ <el-button
+ type="primary"
+ icon="el-icon-upload2"
+ @click="handleExport"
+ >瀵煎嚭</el-button
+ >
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="main-content">
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table
+ border
+ stripe
+ ref="multipleTable"
+ :header-cell-style="{
background: '#F5F5F5',
'font-weight': '650',
'line-height': '45px'
}"
- :data="gridData"
- style="width: 100%"
- :row-class-name="tableRowClassName"
+ :row-class-name="tableRowClassName"
+ :data="list"
+ style="width: 100%"
+ >
+ <el-table-column type="selection" min-width="5">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="绫诲瀷鍚嶇О"
+ min-width="10"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="count"
+ label="浜嬩欢鎬绘暟"
+ min-width="5"
+ >
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ @click="seachTotalEvents(scope.row.id, 1)"
+ >{{ scope.row.count }}</el-button
+ >
+ </template>
+ </el-table-column>
+ <el-table-column prop="ratio" label="鍗犳瘮" min-width="5">
+ </el-table-column>
+ <el-table-column prop="register" label="绔嬫" min-width="5">
+ </el-table-column>
+ <el-table-column
+ prop="notRegister"
+ label="鏆備笉绔嬫"
+ min-width="5"
+ >
+ </el-table-column>
+ <el-table-column prop="closing" label="缁撴" min-width="5">
+ </el-table-column>
+ <el-table-column
+ prop="relearn"
+ label="鍐嶅涔�"
+ min-width="5"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="checked"
+ label="宸插鏍�"
+ min-width="5"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="checkedRatio"
+ label="瀹℃牳鐜�"
+ min-width="5"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="registerRatio"
+ label="绔嬫鐜�"
+ min-width="5"
+ >
+ </el-table-column>
+ </el-table>
+ </div>
- >
+ <!-- tools -->
+ <div class="tools">
+ <div class="funs"></div>
+ <div class="pagination">
+ <el-pagination
+ background
+ :current-page="currentPage"
+ layout="prev, pager, next"
+ :total="totalNum"
+ :page-size="pageSize"
+ @current-change="changeCurrentPage"
+ @prev-click="handlePrev"
+ @next-click="handleNext"
+ >
+ </el-pagination>
+ </div>
+ </div>
- <el-table-column
- prop="code"
- label="浜嬩欢缂栧彿"
- min-width="18"
- >
- </el-table-column>
- <el-table-column
- prop="eventSource"
- label="闂鏉ユ簮"
- min-width="8"
- >
- <template slot-scope="scope">
+ <el-dialog
+ title="浜嬩欢鎬绘暟"
+ :visible.sync="dialogVisibleEvent"
+ width="80%"
+ :before-close="handClose"
+ >
+ <el-table
+ border
+ stripe
+ ref="multipleTable"
+ :header-cell-style="{
+ background: '#F5F5F5',
+ 'font-weight': '650',
+ 'line-height': '45px'
+ }"
+ :data="gridData"
+ style="width: 100%"
+ :row-class-name="tableRowClassName"
+ >
+ <el-table-column
+ prop="code"
+ label="浜嬩欢缂栧彿"
+ min-width="18"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="eventSource"
+ label="闂鏉ユ簮"
+ min-width="8"
+ >
+ <template slot-scope="scope">
<span>{{
scope.row.eventSource === 2
? '缃戞牸宸℃煡'
: '瑙嗛宸℃煡'
- }}</span>
- </template>
- </el-table-column>
- <el-table-column
- :prop="mystatus === 1 ? 'category' : 'category'"
- :label="mystatus === 1 ? '澶х被鍚嶇О' : '杩濆缓绫诲埆'"
- :min-width="mystatus === 1 ? '10' : '15'"
- >
- </el-table-column>
- <el-table-column
- :prop="mystatus === 1 ? 'type' : 'site'"
- :label="mystatus === 1 ? '灏忕被鍚嶇О' : '杩濆缓鍦扮偣'"
- min-width="10"
- >
- </el-table-column>
- <el-table-column
- :prop="mystatus === 1 ? 'site' : ''"
- :label="
+ }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ :prop="mystatus === 1 ? 'category' : 'category'"
+ :label="mystatus === 1 ? '澶х被鍚嶇О' : '杩濆缓绫诲埆'"
+ :min-width="mystatus === 1 ? '10' : '15'"
+ >
+ </el-table-column>
+ <el-table-column
+ :prop="mystatus === 1 ? 'type' : 'site'"
+ :label="mystatus === 1 ? '灏忕被鍚嶇О' : '杩濆缓鍦扮偣'"
+ min-width="10"
+ >
+ </el-table-column>
+ <el-table-column
+ :prop="mystatus === 1 ? 'site' : ''"
+ :label="
mystatus === 1 ? '鎶ヨ鐐逛綅' : '杩濇硶寤虹瓚闀裤�佸銆侀珮'
"
- :min-width="mystatus === 1 ? '10' : '20'"
- show-overflow-tooltip
- >
- <template slot-scope="scope">
- <div v-if="mystatus === 2">
+ :min-width="mystatus === 1 ? '10' : '20'"
+ show-overflow-tooltip
+ >
+ <template slot-scope="scope">
+ <div v-if="mystatus === 2">
<span>{{
scope.row.buildingLength +
'绫�' +
@@ -169,50 +205,49 @@
'銆�' +
scope.row.buildingHigh +
'绫�'
- }}</span>
- </div>
- <div v-else>{{ scope.row.site }}</div>
- </template>
- </el-table-column>
- <el-table-column
- :prop="mystatus === 1 ? 'street' : 'buildingArea'"
- :label="mystatus === 1 ? '鎵�灞炲尯鍩�' : '杩濇硶寤虹瓚闈㈢Н'"
- min-width="12"
- >
- </el-table-column>
- <el-table-column
- prop="alarmTime"
- label="鎶ヨ鏃堕棿"
- min-width="15"
- v-if="mystatus === 1"
- >
- <template slot-scope="scope">
- <span>{{ filterTime(scope.row.alarmTime) }}</span>
- </template>
- </el-table-column>
- <el-table-column
- :prop="mystatus === 1 ? 'continueTime' : 'materials'"
- :label="mystatus === 1 ? '鎸佺画鏃堕棿' : '杩濇硶寤虹瓚鏉愭枡'"
- min-width="12"
- >
- </el-table-column>
- </el-table>
+ }}</span>
+ </div>
+ <div v-else>{{ scope.row.site }}</div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ :prop="mystatus === 1 ? 'street' : 'buildingArea'"
+ :label="mystatus === 1 ? '鎵�灞炲尯鍩�' : '杩濇硶寤虹瓚闈㈢Н'"
+ min-width="12"
+ >
+ </el-table-column>
+ <el-table-column
+ prop="alarmTime"
+ label="鎶ヨ鏃堕棿"
+ min-width="15"
+ v-if="mystatus === 1"
+ >
+ <template slot-scope="scope">
+ <span>{{ filterTime(scope.row.alarmTime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ :prop="mystatus === 1 ? 'continueTime' : 'materials'"
+ :label="mystatus === 1 ? '鎸佺画鏃堕棿' : '杩濇硶寤虹瓚鏉愭枡'"
+ min-width="12"
+ >
+ </el-table-column>
+ </el-table>
- <div >
- <el-pagination
- background
- :current-page="currentPages"
- layout="prev, pager, next"
- :total="totalNums"
- :page-size="pageSizes"
- @current-change="changeCurrentPages"
- >
- </el-pagination>
- </div>
-
- </el-dialog>
- </main>
- </div>
+ <div>
+ <el-pagination
+ background
+ :current-page="currentPages"
+ layout="prev, pager, next"
+ :total="totalNums"
+ :page-size="pageSizes"
+ @current-change="changeCurrentPages"
+ >
+ </el-pagination>
+ </div>
+ </el-dialog>
+ </main>
+ </div>
</template>
<script>
import { createNamespacedHelpers } from "vuex";
@@ -221,331 +256,331 @@
const { mapActions } = createNamespacedHelpers("statistics");
export default {
- data() {
- return {
- seachID:'',
- dialogVisibleEvent:false,
- mystatus:1,
- totalNums:1,
- pageSizes:10,
- currentPages:1,
- gridData:[],
- pickerOptions: {
- shortcuts: [
- {
- text: "鏈�杩戜竴鍛�",
- onClick(picker) {
- const end = new Date();
- const start = new Date();
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
- picker.$emit("pick", [start, end]);
+ data() {
+ return {
+ seachID: '',
+ dialogVisibleEvent: false,
+ mystatus: 1,
+ totalNums: 1,
+ pageSizes: 10,
+ currentPages: 1,
+ gridData: [],
+ pickerOptions: {
+ shortcuts: [
+ {
+ text: "鏈�杩戜竴鍛�",
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+ picker.$emit("pick", [start, end]);
+ },
+ },
+ {
+ text: "鏈�杩戜竴涓湀",
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+ picker.$emit("pick", [start, end]);
+ },
+ },
+ {
+ text: "鏈�杩戜笁涓湀",
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+ picker.$emit("pick", [start, end]);
+ },
+ },
+ ],
},
- },
- {
- text: "鏈�杩戜竴涓湀",
- onClick(picker) {
- const end = new Date();
- const start = new Date();
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
- picker.$emit("pick", [start, end]);
- },
- },
- {
- text: "鏈�杩戜笁涓湀",
- onClick(picker) {
- const end = new Date();
- const start = new Date();
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
- picker.$emit("pick", [start, end]);
- },
- },
- ],
- },
- value1: "",
- value2: "",
- list: [],
- totalNum: 0,
- pageSize: 10,
- currentPage: 1,
- };
- },
- created() {
- this.setTableData();
- },
- methods: {
- ...mapActions(["searchByType"]),
- handClose(){
- this.dialogVisibleEvent=false
+ value1: "",
+ value2: "",
+ list: [],
+ totalNum: 0,
+ pageSize: 10,
+ currentPage: 1,
+ };
},
- changeCurrentPages(page){
- this.currentPages = page;
-
- this.seachTotalEvents(this.seachID)
+ created() {
+ this.setTableData();
},
-// 澶勭悊鏃堕棿
- filterTime(time) {
- return helper(time);
- },
- seachTotalEvents(id){
- this.seachID=id
- this.dialogVisibleEvent =true
- console.log(this.value2)
- let params ={
- type:1,
- violationsTypeId:id,
- current: this.currentPages,
- size: this.pageSizes,
- }
- params.startTime = this.value2[0]||''
- params.endTime = this.value2[1]||''
- basecase.baseCasePoolList(params).then(res=>{
- console.log(res)
- this.gridData =res.records
- this.pageSizes =res.size
- this.currentPages =res.current
- this.totalNums = res.total
- })
- },
- handleExport(e) {
- this.$axios({
- method: "post",
- // url: `sccg/intelligentPatrol/statistics/export/unlawful`,
- url: `sccg/intelligentPatrol/statistics/export/unlawful/type`,
- responseType: "arraybuffer",
- data: {
- beginTime: this.value2[0],
- endTime: this.value2[1],
+ methods: {
+ ...mapActions(["searchByType"]),
+ handClose() {
+ this.dialogVisibleEvent = false
},
- }).then((res) => {
- let time = new Date();
- let deathdate = time.toLocaleDateString();
- const blob = new Blob([res.data], {
- type: "application/vnd.ms-excel;charset=utf-8",
- });
+ changeCurrentPages(page) {
- if (window.navigator.msSaveBlob) {
- window.navigator.msSaveBlob(
- blob,
- deathdate + "鎸夎繚瑙勭被鍨嬬粺璁�" + ".xlsx"
- );
- } else {
- const url = window.URL.createObjectURL(blob);
- const link = document.createElement("a");
- link.style.display = "none";
- link.href = url;
- link.download = deathdate + "鎸夎繚瑙勭被鍨嬬粺璁�" + ".xlsx";
- document.body.appendChild(link);
- link.click();
- document.body.removeChild(link);
- }
- this.$message.success("鎿嶄綔鎴愬姛");
- });
+ this.seachTotalEvents(this.seachID, page)
+ },
+ // 澶勭悊鏃堕棿
+ filterTime(time) {
+ return helper(time);
+ },
+ seachTotalEvents(id, page) {
+ this.seachID = id
+ this.dialogVisibleEvent = true
+
+ this.currentPages = page;
+ let params = {
+ type: 1,
+ violationsTypeId: id,
+ current: this.currentPages,
+ size: this.pageSizes,
+ }
+ params.startTime = this.value2[0] || ''
+ params.endTime = this.value2[1] || ''
+ basecase.baseCasePoolList(params).then(res => {
+ // console.log(res)
+ this.gridData = res.records
+ this.pageSizes = res.size
+ this.currentPages = res.current
+ this.totalNums = res.total
+ })
+ },
+ handleExport(e) {
+ this.$axios({
+ method: "post",
+ // url: `sccg/intelligentPatrol/statistics/export/unlawful`,
+ url: `sccg/intelligentPatrol/statistics/export/unlawful/type`,
+ responseType: "arraybuffer",
+ data: {
+ beginTime: this.value2[0],
+ endTime: this.value2[1],
+ },
+ }).then((res) => {
+ let time = new Date();
+ let deathdate = time.toLocaleDateString();
+ const blob = new Blob([res.data], {
+ type: "application/vnd.ms-excel;charset=utf-8",
+ });
+
+ if (window.navigator.msSaveBlob) {
+ window.navigator.msSaveBlob(
+ blob,
+ deathdate + "鎸夎繚瑙勭被鍨嬬粺璁�" + ".xlsx"
+ );
+ } else {
+ const url = window.URL.createObjectURL(blob);
+ const link = document.createElement("a");
+ link.style.display = "none";
+ link.href = url;
+ link.download = deathdate + "鎸夎繚瑙勭被鍨嬬粺璁�" + ".xlsx";
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ }
+ this.$message.success("鎿嶄綔鎴愬姛");
+ });
+ },
+ setTableDataHandle(e) {
+ this.setTableData();
+ },
+ resetTableData(e) {
+ this.value2 = "";
+ this.setTableData();
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 == 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ return "";
+ },
+ // 璁剧疆tableData
+ setTableData() {
+ const { currentPage, pageSize, context } = this;
+ this.searchByType({
+ currentPage,
+ pageSize,
+ beginTime: this.value2[0],
+ endTime: this.value2[1],
+ }).then((res) => {
+ this.list = res.records;
+ this.totalNum = res.total;
+ });
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.setTableData();
+ },
+ // 涓婁竴椤电偣鍑讳簨浠�
+ handlePrev(page) {
+ this.currentPage = page;
+ this.setTableData();
+ },
+ // 涓嬩竴椤电偣鍑讳簨浠�
+ handleNext(page) {
+ this.currentPage = page;
+ this.setTableData();
+ },
},
- setTableDataHandle(e) {
- this.setTableData();
- },
- resetTableData(e) {
- this.value2 = "";
- this.setTableData();
- },
- // 璁剧疆琛ㄦ牸鏂戦┈绾�
- tableRowClassName({ row, rowIndex }) {
- if ((rowIndex + 1) % 2 == 0) {
- return "warning-row";
- } else {
- return "success-row";
- }
- return "";
- },
- // 璁剧疆tableData
- setTableData() {
- const { currentPage, pageSize, context } = this;
- this.searchByType({
- currentPage,
- pageSize,
- beginTime: this.value2[0],
- endTime: this.value2[1],
- }).then((res) => {
- this.list = res.records;
- this.totalNum = res.total;
- });
- },
- // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
- changeCurrentPage(page) {
- this.currentPage = page;
- this.setTableData();
- },
- // 涓婁竴椤电偣鍑讳簨浠�
- handlePrev(page) {
- this.currentPage = page;
- this.setTableData();
- },
- // 涓嬩竴椤电偣鍑讳簨浠�
- handleNext(page) {
- this.currentPage = page;
- this.setTableData();
- },
- },
};
</script>
<style lang="scss" scoped>
.list {
- text-align: left;
- padding: 10px 20px;
- color: #4b9bb7;
- border: 1px solid #ccc;
- header {
- background-color: white;
- border: 1px solid #fff;
+ text-align: left;
+ padding: 10px 20px;
+ color: #4b9bb7;
+ border: 1px solid #ccc;
+ header {
+ background-color: white;
+ border: 1px solid #fff;
- .header-content {
- //padding: 0 40px;
- display: flex;
- line-height: 100px;
- justify-content: space-between;
- align-items: center;
+ .header-content {
+ //padding: 0 40px;
+ display: flex;
+ line-height: 100px;
+ justify-content: space-between;
+ align-items: center;
- .search {
- // display: flex;
- justify-content: flex-start;
+ .search {
+ // display: flex;
+ justify-content: flex-start;
- span {
- flex: 1;
+ span {
+ flex: 1;
+ }
+
+ .el-input {
+ flex: 2;
+ color: #1d3f57;
+
+ &::v-deep .el-input__inner {
+ // background-color: #09152f;
+ border: 1px solid #17324c;
+ }
+ }
+ .el-select {
+ flex: 1;
+ }
+ .el-date-editor {
+ flex: 1;
+ }
+ // :deep(.el-range-input) {
+ // background-color: #09152f;
+ // }
+ }
+ .find {
+ margin-right: auto;
+ margin-left: 30px;
+ }
}
+ }
- .el-input {
- flex: 2;
- color: #1d3f57;
-
- &::v-deep .el-input__inner {
- // background-color: #09152f;
- border: 1px solid #17324c;
- }
- }
- .el-select {
- flex: 1;
- }
- .el-date-editor {
- flex: 1;
- }
- // :deep(.el-range-input) {
+ :deep(.el-range-separator) {
+ padding: 0px !important;
+ }
+ main {
// background-color: #09152f;
+ margin-top: 20px;
+ padding-bottom: 50px;
+ border: 1pox solid #fff;
+
+ .main-title {
+ line-height: 60px;
+ padding: 10px 20px;
+ }
+
+ .tools {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20px;
+
+ .funs {
+ display: flex;
+
+ .funsItem {
+ line-height: 28px;
+ display: flex;
+ align-items: center;
+ border: 1px solid #17324c;
+ border-radius: 4px;
+ font-size: 12px;
+ margin-left: 10px;
+
+ .el-checkbox {
+ width: 80px;
+ padding: 0 10px;
+ }
+
+ .el-select {
+ width: 120px;
+ }
+
+ &::v-deep .el-input__inner {
+ border: none;
+ // background-color: #09152f;
+ }
+
+ &:hover {
+ border: 1px solid #4b9bb7;
+ }
+
+ &:hover .el-checkbox {
+ color: #4b9bb7;
+ }
+ }
+ }
+
+ .pagination {
+ margin-top: 50px;
+ display: flex;
+ line-height: 50px;
+ justify-content: center;
+
+ .el-pagination {
+ &::v-deep li,
+ &::v-deep .btn-prev,
+ &::v-deep .btn-next {
+ // background-color: #071f39;
+ color: #4b9bb7;
+ }
+
+ &::v-deep .active {
+ background-color: #409eff;
+ color: #fff;
+ }
+ }
+ }
+ }
+ // &::v-deep .warning-row {
+ // background-color: #06122c;
// }
- }
- .find {
- margin-right: auto;
- margin-left: 30px;
- }
- }
- }
- :deep(.el-range-separator) {
- padding: 0px !important;
- }
- main {
- // background-color: #09152f;
- margin-top: 20px;
- padding-bottom: 50px;
- border: 1pox solid #fff;
+ // &::v-deep .success-row {
+ // background-color: #071f39;
+ // }s
- .main-title {
- line-height: 60px;
- padding: 10px 20px;
- }
-
- .tools {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 0 20px;
-
- .funs {
- display: flex;
-
- .funsItem {
- line-height: 28px;
- display: flex;
- align-items: center;
- border: 1px solid #17324c;
- border-radius: 4px;
- font-size: 12px;
- margin-left: 10px;
-
- .el-checkbox {
- width: 80px;
- padding: 0 10px;
- }
-
- .el-select {
- width: 120px;
- }
-
- &::v-deep .el-input__inner {
- border: none;
- // background-color: #09152f;
- }
-
- &:hover {
- border: 1px solid #4b9bb7;
- }
-
- &:hover .el-checkbox {
- color: #4b9bb7;
- }
- }
- }
-
- .pagination {
- margin-top: 50px;
- display: flex;
- line-height: 50px;
- justify-content: center;
-
- .el-pagination {
- &::v-deep li,
- &::v-deep .btn-prev,
- &::v-deep .btn-next {
- // background-color: #071f39;
- color: #4b9bb7;
- }
-
- &::v-deep .active {
- background-color: #409eff;
- color: #fff;
- }
- }
- }
- }
- // &::v-deep .warning-row {
- // background-color: #06122c;
- // }
-
- // &::v-deep .success-row {
- // background-color: #071f39;
- // }s
-
- .operationBox {
- display: flex;
- }
-
- .el-divider {
- background-color: #4b9bb7;
- }
- .el-table {
- // color: #4b9bb7;
- // font-size: 10px;
- .operation {
- display: flex;
- color: var(--operation-color);
- .line {
- padding: 0 5px;
+ .operationBox {
+ display: flex;
}
- span:hover {
- cursor: pointer;
+ .el-divider {
+ background-color: #4b9bb7;
}
- }
+ .el-table {
+ // color: #4b9bb7;
+ // font-size: 10px;
+ .operation {
+ display: flex;
+ color: var(--operation-color);
+ .line {
+ padding: 0 5px;
+ }
+
+ span:hover {
+ cursor: pointer;
+ }
+ }
+ }
}
- }
}
</style>
diff --git a/src/views/intelligentPatrol/studyJudge/index.vue b/src/views/intelligentPatrol/studyJudge/index.vue
index 04d997c..24781fa 100644
--- a/src/views/intelligentPatrol/studyJudge/index.vue
+++ b/src/views/intelligentPatrol/studyJudge/index.vue
@@ -1,237 +1,303 @@
<template>
- <div class="study-judge">
- <!-- <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-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"
- >
- <span>鎶ヨ鍥剧墖</span>
- <img :src="item" />
- <span v-if="index === 0"
- >鎶ヨ鏃堕棿锛歿{ currentEvent.alarmTime }}</span
- >
- </div>
- <div class="img-item" v-for="item in imageList" :key="item.id">
- <img :src="item" />
- </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 :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 class="study-judge">
+ <!-- <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-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"
+ >
+ <span>鎶ヨ鍥剧墖</span>
+ <img :src="item" />
+ <span v-if="index === 0"
+ >鎶ヨ鏃堕棿锛歿{ currentEvent.alarmTime }}</span
+ >
+ </div>
+ <div
+ class="img-item"
+ v-for="item in imageList"
+ :key="item.id"
+ >
+ <img :src="item" />
+ </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 :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="header">
+ <el-form
+ :inline="true"
+ :model="seachData"
+ class="demo-form-inline"
+ >
+ <el-form-item label="浜嬩欢绫诲瀷">
+ <el-cascader
+ v-model="seachData.gradeId"
+ :options="eventGradeOptions"
+ :props="options"
+ clearable
+ ></el-cascader>
+ </el-form-item>
+ <el-form-item label="鍙戠敓鐐逛綅">
+ <el-select
+ v-model="seachData.videoId"
+ placeholder="璇烽�夋嫨"
+ >
+ <el-option
+ v-for="item in videoOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎶ヨ鏃堕棿">
+ <el-date-picker
+ v-model="seachData.alarmTime"
+ type="daterange"
+ align="right"
+ unlink-panels
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ >
+ </el-date-picker>
+ </el-form-item>
+ <el-form-item>
+ <el-button
+ type="primary"
+ @click="getInspectionData"
+ >鏌ヨ</el-button
+ >
+ <el-button type="primary" @click="resetAll"
+ >閲嶇疆</el-button
+ >
+ </el-form-item>
+ </el-form>
+ </div>
+ <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"
+ >
+ <!-- <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="璇烽�夋嫨鍏宠仈搴楅摵"
+ >
+ <el-option
+ 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>
+ </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
+ >
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="澶х被鍚嶇О:" prop="categoryId">
+ <el-select
+ v-model="eventInfoData.categoryId"
+ placeholder="璇烽�夋嫨澶х被鍚嶇О"
+ @change="categoryChange"
+ >
+ <el-option
+ 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="璇烽�夋嫨灏忕被鍚嶇О"
+ >
+ <el-option
+ 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="璇峰~鍐欒溅鐗屽彿鐮�"
+ ></el-input>
+ </el-form-item>
+ <el-form-item label="澶囨敞:" prop="description">
+ <el-input
+ 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
+ >
+ <el-button @click.native.prevent="handleConfirm"
+ >纭</el-button
+ >
+ <el-button @click="pageChange('next')"
+ >涓嬩竴鏉�</el-button
+ >
+ </el-form-item>
+ </el-form>
+ </div>
+ </div>
</div>
- <div class="card-header">
- <span>鎶ヨ璁板綍--{{ currentEvent.algoName }}</span>
- </div>
- <el-form
- 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="鍏宠仈搴楅摵" prop="store">
- <el-select
- v-model="eventInfoData.store"
- clearable
- @change="selectStoreChange"
- placeholder="璇烽�夋嫨鍏宠仈搴楅摵"
- >
- <el-option
- 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>
- </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
- >
- </el-radio-group>
- </el-form-item>
- <el-form-item label="澶х被鍚嶇О:" prop="categoryId">
- <el-select
- v-model="eventInfoData.categoryId"
- placeholder="璇烽�夋嫨澶х被鍚嶇О"
- @change="categoryChange"
- >
- <el-option
- 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="璇烽�夋嫨灏忕被鍚嶇О"
- >
- <el-option
- 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="璇峰~鍐欒溅鐗屽彿鐮�"
- ></el-input>
- </el-form-item>
- <el-form-item label="澶囨敞:" prop="description">
- <el-input
- 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
- >
- <el-button @click.native.prevent="handleConfirm"
- >纭</el-button
- >
- <el-button @click="pageChange('next')">涓嬩竴鏉�</el-button>
- </el-form-item>
- </el-form>
- </div>
</div>
- </div>
+ <el-dialog :visible="isShowDialog" title="璋冨害淇℃伅">
+ <MyDispatch
+ 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"
+ >
+ <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 />
+ </el-dialog>
</div>
- <el-dialog :visible="isShowDialog" title="璋冨害淇℃伅">
- <MyDispatch
- 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"
- >
- <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 />
- </el-dialog>
- </div>
</template>
<script>
@@ -244,511 +310,559 @@
import InspectionTable from "@/views/intelligentPatrol/studyJudge/inspectionTable/index.vue";
// import MyMap from "@/components/map";
import MyMap from "@/components/map/leafletMap.vue";
+import videoPoint from "@/api/system/videoPoint";
+import { getTypeList } from "@/utils/helper"
export default {
- components: { MyDispatch, MyMap, InspectionTable },
- created() {
- this.getInspectionData();
- this.initEventParams();
- this.getInspectionCount();
- getStoreInfoList({ current: 1, size: 100 })
- .then(({ list }) => {
- this.storeList = list;
- })
- .catch((err) => {
- this.$message.error(err);
- });
+ components: { MyDispatch, MyMap, InspectionTable },
+ created() {
+ this.loadVideo();
+ this.loadEventGrade();
+ this.getInspectionData();
+ this.initEventParams();
+ this.getInspectionCount();
+ getStoreInfoList({ current: 1, size: 100 })
+ .then(({ list }) => {
+ this.storeList = list;
+ })
+ .catch((err) => {
+ this.$message.error(err);
+ });
- baseInfo
- .getCategoryList()
- .then((res) => {
- this.categoryOptions = res;
- })
- .catch((err) => this.$message.error(err));
+ baseInfo
+ .getCategoryList()
+ .then((res) => {
+ this.categoryOptions = res;
+ })
+ .catch((err) => this.$message.error(err));
- baseInfo
- .getTypeList()
- .then((res) => {
- this.typeList = res;
- })
- .catch((err) => this.$message.error(err));
- },
- mounted() {
- this.timer = setInterval(() => {
- this.getInspectionCount();
- }, 1000 * 10);
- },
- data() {
- const validateCarNumber = (rule, value, callback) => {
- if (value) {
- if (validateCarNum(value)) {
- callback();
- } else {
- callback(new Error("璇疯緭鍏ユ纭殑杞︾墝鍙�"));
- }
- } else {
- callback();
- }
- };
- return {
- isShowTable: false,
- timer: null,
- countData: {
- study: 0,
- review: 0,
- register: 0,
- },
- currentEvent: {},
- stateList: [
- {
- id: 2,
- label: "涓婃姤",
- },
- {
- id: 6,
- label: "璋冨害",
- },
- {
- id: 3,
- label: "鍐嶅涔�",
- },
- {
- id: 4,
- label: "鏆備笉澶勭悊",
- },
- ],
- eventInfoData: null,
- rules: {
- state: [
- {
- required: true,
- trigger: ["blur"],
- message: "澶勭悊鎰忚涓嶈兘涓虹┖",
- },
- ],
- categoryId: [
- {
- required: true,
- trigger: ["blur"],
- message: "澶х被鍚嶇О涓嶈兘涓虹┖",
- },
- ],
- typeId: [
- {
- required: true,
- trigger: ["blur"],
- message: "灏忕被鍚嶇О涓嶈兘涓虹┖",
- },
- ],
- carNumber: [
- { trigger: ["blur", "change"], validator: validateCarNumber },
- ],
- },
- imageList: [],
- currentPage: 1,
- categoryOptions: [],
- typeOptions: [],
- storeList: [],
- typeList: [],
- isShowDialog: false,
- dialogCreate: false,
- cutPosX: 10,
- cutPosY: 10,
- cutWidth: 100,
- cutHeight: 100,
- crtPosX: 0,
- crtPosY: 0,
- crtWidth: 1000,
- crtHeight: 600,
- domId: "dom1",
- ctrl: "ctrl1",
- playType: "live",
- point: null,
- mark: null,
- zoom: null,
- };
- },
- methods: {
- getInspectionCount() {
- basecase
- .getInspectionCountData({
- showLoading: false,
- })
- .then((res) => {
- this.countData = res;
- })
- .catch((err) => this.$message.error(err));
+ baseInfo
+ .getTypeList()
+ .then((res) => {
+ this.typeList = res;
+ })
+ .catch((err) => this.$message.error(err));
},
- openDialogTable() {
- this.isShowTable = true;
+ mounted() {
+ this.timer = setInterval(() => {
+ this.getInspectionCount();
+ }, 1000 * 60 * 15);
},
- pageChange(type) {
- if (type === "next") {
- this.currentPage += 1;
- } else {
- this.currentPage -= 1;
- }
- this.getInspectionData();
- },
-
- getInspectionData() {
- basecase
- .getInspectionData({ current: this.currentPage })
- .then(({ records }) => {
- this.currentEvent = records[0];
- 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}${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)}灏忔椂`;
- }
- })
- .catch((err) => this.$message.error(err));
- },
-
- // 纭鐐瑰嚮浜嬩欢
- handleConfirm() {
- this.$refs.currentEvent.validate((flag) => {
- if (flag) {
- this.eventInfoData.baseId = this.currentEvent.baseId;
-
- // 璋冨害
- if (this.eventInfoData.state === 6) {
- this.isShowDialog = true;
- } else {
- this.confirmInspection();
- }
- } else {
- this.$message.warning("璇锋鏌ュ繀濉」");
- }
- });
- },
-
- initEventParams() {
- this.eventInfoData = {
- baseId: null,
- store: null,
- state: null,
- categoryId: null,
- typeId: null,
- carNumber: null,
- description: null,
- linkShop: 0,
- shopName: null,
- };
- },
-
- categoryChange(id) {
- this.typeOptions = this.typeList.filter((type) => type.parentId === id);
- },
-
- confirmInspection(data) {
- const eventParams = Object.assign({}, this.eventInfoData);
- delete eventParams.store;
- basecase
- .confirmInspection({ ...eventParams, ...data })
- .then(() => {
- this.$message.success("鎿嶄綔鎴愬姛");
- this.getInspectionData();
- this.initEventParams();
- })
- .catch((err) => this.$message.error(err));
- },
-
- closeDialog() {
- this.isShowDialog = false;
- },
-
- selectStoreChange(id) {
- if (id === "") {
- this.eventInfoData.shopName = null;
- this.eventInfoData.linkShop = 0;
- this.eventInfoData.store = null;
- return;
- }
- const selectedStore = this.storeList.find((store) => store.id === id);
- this.eventInfoData.shopName = selectedStore.id;
- this.eventInfoData.linkShop = 1;
- return selectedStore;
- },
- handleClose2() {
- this.dialogCreate = false;
- this.destroy();
- },
- login() {
- // 璋冪敤鐧诲綍鎺ュ彛
- this.ws.detectConnectQt().then((res) => {
- if (res) {
- // 杩炴帴瀹㈡埛绔垚鍔�
- this.ws.login({
- loginIp: "172.28.194.180",
- loginPort: "7902",
- userName: "suichang",
- userPwd: "a12345677",
- https: 1,
- });
- this.$message.info("鐧诲綍涓�...");
- this.ws.on("loginState", (res) => {
- this.isLogin = res;
- if (res) {
- this.$message.success("鐧诲綍鎴愬姛");
- this.activePanel = "key2";
+ data() {
+ const validateCarNumber = (rule, value, callback) => {
+ if (value) {
+ if (validateCarNum(value)) {
+ callback();
+ } else {
+ callback(new Error("璇疯緭鍏ユ纭殑杞︾墝鍙�"));
+ }
} else {
- this.$message.info("鐧诲綍澶辫触");
+ callback();
}
- });
- } else {
- // 杩炴帴瀹㈡埛绔け璐�
- this.$message.info("璇烽噸鏂板畨瑁呭鎴风");
- }
- });
- },
- logout() {
- // 璋冪敤鐧诲嚭鎺ュ彛
- this.ws.logout({
- loginIp: this.loginIp,
- });
- },
- createVideo(item, ctrlType) {
- this.playType = ctrlType;
- const DHWsInstance = DHWs.getInstance();
- this.ws = DHWsInstance;
- console.log(this.ws);
- this.login();
- // 璋冪敤鍒涘缓鎺т欢鎺ュ彛
- // if (!this.isLogin) {
- // this.$message.info('姝e湪鐧婚檰瀹㈡埛绔紝璇风◢绛�......');
- // return false;
- // }
- this.dialogCreate = true;
- setTimeout(() => {
- let _this = this;
- const params = [
- {
- // ctrlType: "realMonitorUI",
- ctrlType: "playerWin",
- ctrlCode: this.ctrl,
- ctrlProperty: {
- displayMode: ctrlType == "playback" ? 2 : 1,
- splitNum: 1,
- channelList: [{ channelId: item.videoCode }],
+ };
+ return {
+ isShowTable: false,
+ timer: null,
+ countData: {
+ study: 0,
+ review: 0,
+ register: 0,
},
- visible: true,
- domId: this.domId,
- },
- ];
- this.setPos();
-
- // _this.ws.on("createCtrlResult", (res) => {
- // console.warn(res);
- // });
-
- _this.ws
- .createCtrl(params)
- .then((res) => {
- this.$message.success("鍒涘缓鎴愬姛");
- console.log("res", res);
- })
- .catch((e) => {
- console.log("error;", e);
- });
-
- if (ctrlType == "playback") {
- const end = new Date();
- const start = new Date();
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 1);
-
- let beginTime = _this.formatDate(start);
- let endTime = _this.formatDate(end);
- const params = [
- {
- ctrlCode: this.ctrl,
- array: [
+ currentEvent: {},
+ stateList: [
{
- beginTime: beginTime,
- endTime: endTime,
- channelId: item.videoCode,
+ id: 2,
+ label: "涓婃姤",
},
- ],
+ {
+ id: 6,
+ label: "璋冨害",
+ },
+ {
+ id: 3,
+ label: "鍐嶅涔�",
+ },
+ {
+ id: 4,
+ label: "鏆備笉澶勭悊",
+ },
+ ],
+ eventInfoData: null,
+ rules: {
+ state: [
+ {
+ required: true,
+ trigger: ["blur"],
+ message: "澶勭悊鎰忚涓嶈兘涓虹┖",
+ },
+ ],
+ categoryId: [
+ {
+ required: true,
+ trigger: ["blur"],
+ message: "澶х被鍚嶇О涓嶈兘涓虹┖",
+ },
+ ],
+ typeId: [
+ {
+ required: true,
+ trigger: ["blur"],
+ message: "灏忕被鍚嶇О涓嶈兘涓虹┖",
+ },
+ ],
+ carNumber: [
+ { trigger: ["blur", "change"], validator: validateCarNumber },
+ ],
},
- ];
- _this.ws.openCtrlRecord(params);
- }
- }, 1000);
+ imageList: [],
+ currentPage: 1,
+ categoryOptions: [],
+ typeOptions: [],
+ storeList: [],
+ typeList: [],
+ isShowDialog: false,
+ dialogCreate: false,
+ cutPosX: 10,
+ cutPosY: 10,
+ cutWidth: 100,
+ cutHeight: 100,
+ crtPosX: 0,
+ crtPosY: 0,
+ crtWidth: 1000,
+ crtHeight: 600,
+ domId: "dom1",
+ ctrl: "ctrl1",
+ playType: "live",
+ point: null,
+ mark: null,
+ zoom: null,
+ eventGradeOptions: [],
+ videoOptions: [],
+ options: {
+ label: 'name',
+ value: 'id',
+ },
+ seachData: {}
+ };
},
- destroy() {
- // 璋冪敤閿�姣佹帶浠舵帴鍙�
- if (!this.isLogin) {
- this.$Message.info("姝e湪鐧婚檰瀹㈡埛绔紝璇风◢绛�......");
- return false;
- }
- const ctrls = this.ws.ctrls.map((i) => {
- if (i.ctrlCode === this.ctrl) {
- return i.ctrlCode;
- }
- });
- this.ws.destroyCtrl(ctrls);
- },
- setPos() {
- let target = document.getElementById(this.domId);
- console.log(target, "target");
- target.style.right = `${this.crtPosX}px`;
- target.style.top = `${this.crtPosY}px`;
- target.style.width = `${this.crtWidth}px`;
- target.style.height = `${this.crtHeight}px`;
- if (document.createEvent) {
- var event = document.createEvent("HTMLEvents");
- event.initEvent("resize", true, true);
- window.dispatchEvent(event);
- } else if (document.createEventObject) {
- window.fireEvent("onresize");
- }
- },
+ methods: {
+ loadVideo() {
+ videoPoint
+ .getVideoPointList({
+ current: 1,
+ size: 1000
+ })
+ .then(({ records, total }) => {
+ this.videoOptions = records;
+ })
+ },
+ loadEventGrade() {
+ getTypeList("1", "02").then((result) => {
+ this.eventGradeOptions = result;
+ })
+ },
+ 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") {
+ this.currentPage += 1;
+ } else {
+ this.currentPage -= 1;
+ }
+ this.getInspectionData();
+ },
- // 鏃堕棿鎴宠浆 yyyy-MM-dd HH:mm:ss
- formatDate(inputTime) {
- var date = new Date(inputTime);
- var y = date.getFullYear();
- var m = date.getMonth() + 1;
- m = m < 10 ? "0" + m : m;
- var d = date.getDate();
- d = d < 10 ? "0" + d : d;
- var h = date.getHours();
- h = h < 10 ? "0" + h : h;
- var minute = date.getMinutes();
- var second = date.getSeconds();
- minute = minute < 10 ? "0" + minute : minute;
- second = second < 10 ? "0" + second : second;
- return y + "-" + m + "-" + d + " " + h + ":" + minute + ":" + second;
+ getInspectionData() {
+ let data = {
+ current: this.currentPage,
+ 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(data)
+ .then(({ records, total }) => {
+ this.countData.review = total
+ if (records.length > 0) {
+ this.currentEvent = records[0];
+ 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}`);
+ }
+ 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)}灏忔椂`;
+ }
+ } else {
+ this.currentEvent = {}
+ this.$message("褰撳墠鏌ヨ鏉′欢鏃犳暟鎹�");
+ }
+ })
+ .catch((err) => this.$message.error(err));
+ },
+
+ // 纭鐐瑰嚮浜嬩欢
+ handleConfirm() {
+ this.$refs.currentEvent.validate((flag) => {
+ if (flag) {
+ this.eventInfoData.baseId = this.currentEvent.baseId;
+
+ // 璋冨害
+ if (this.eventInfoData.state === 6) {
+ this.isShowDialog = true;
+ } else {
+ this.confirmInspection();
+ }
+ } else {
+ this.$message.warning("璇锋鏌ュ繀濉」");
+ }
+ });
+ },
+
+ initEventParams() {
+ this.eventInfoData = {
+ baseId: null,
+ store: null,
+ state: null,
+ categoryId: null,
+ typeId: null,
+ carNumber: null,
+ description: null,
+ linkShop: 0,
+ shopName: null,
+ };
+ },
+
+ categoryChange(id) {
+ this.typeOptions = this.typeList.filter((type) => type.parentId === id);
+ },
+
+ confirmInspection(data) {
+ const eventParams = Object.assign({}, this.eventInfoData);
+ delete eventParams.store;
+ basecase
+ .confirmInspection({ ...eventParams, ...data })
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getInspectionData();
+ this.initEventParams();
+ })
+ .catch((err) => this.$message.error(err));
+ },
+
+ closeDialog() {
+ this.isShowDialog = false;
+ },
+
+ selectStoreChange(id) {
+ if (id === "") {
+ this.eventInfoData.shopName = null;
+ this.eventInfoData.linkShop = 0;
+ this.eventInfoData.store = null;
+ return;
+ }
+ const selectedStore = this.storeList.find((store) => store.id === id);
+ this.eventInfoData.shopName = selectedStore.id;
+ this.eventInfoData.linkShop = 1;
+ return selectedStore;
+ },
+ handleClose2() {
+ this.dialogCreate = false;
+ this.destroy();
+ },
+ login() {
+ // 璋冪敤鐧诲綍鎺ュ彛
+ this.ws.detectConnectQt().then((res) => {
+ if (res) {
+ // 杩炴帴瀹㈡埛绔垚鍔�
+ this.ws.login({
+ loginIp: "172.28.194.180",
+ loginPort: "7902",
+ userName: "suichang",
+ userPwd: "a12345677",
+ https: 1,
+ });
+ this.$message.info("鐧诲綍涓�...");
+ this.ws.on("loginState", (res) => {
+ this.isLogin = res;
+ if (res) {
+ this.$message.success("鐧诲綍鎴愬姛");
+ this.activePanel = "key2";
+ } else {
+ this.$message.info("鐧诲綍澶辫触");
+ }
+ });
+ } else {
+ // 杩炴帴瀹㈡埛绔け璐�
+ this.$message.info("璇烽噸鏂板畨瑁呭鎴风");
+ }
+ });
+ },
+ logout() {
+ // 璋冪敤鐧诲嚭鎺ュ彛
+ this.ws.logout({
+ loginIp: this.loginIp,
+ });
+ },
+ createVideo(item, ctrlType) {
+ this.playType = ctrlType;
+ const DHWsInstance = DHWs.getInstance();
+ this.ws = DHWsInstance;
+ console.log(this.ws);
+ this.login();
+ // 璋冪敤鍒涘缓鎺т欢鎺ュ彛
+ // if (!this.isLogin) {
+ // this.$message.info('姝e湪鐧婚檰瀹㈡埛绔紝璇风◢绛�......');
+ // return false;
+ // }
+ this.dialogCreate = true;
+ setTimeout(() => {
+ let _this = this;
+ const params = [
+ {
+ // ctrlType: "realMonitorUI",
+ ctrlType: "playerWin",
+ ctrlCode: this.ctrl,
+ ctrlProperty: {
+ displayMode: ctrlType == "playback" ? 2 : 1,
+ splitNum: 1,
+ channelList: [{ channelId: item.videoCode }],
+ },
+ visible: true,
+ domId: this.domId,
+ },
+ ];
+ this.setPos();
+
+ // _this.ws.on("createCtrlResult", (res) => {
+ // console.warn(res);
+ // });
+
+ _this.ws
+ .createCtrl(params)
+ .then((res) => {
+ this.$message.success("鍒涘缓鎴愬姛");
+ console.log("res", res);
+ })
+ .catch((e) => {
+ console.log("error;", e);
+ });
+
+ if (ctrlType == "playback") {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 1);
+
+ let beginTime = _this.formatDate(start);
+ let endTime = _this.formatDate(end);
+ const params = [
+ {
+ ctrlCode: this.ctrl,
+ array: [
+ {
+ beginTime: beginTime,
+ endTime: endTime,
+ channelId: item.videoCode,
+ },
+ ],
+ },
+ ];
+ _this.ws.openCtrlRecord(params);
+ }
+ }, 1000);
+ },
+ destroy() {
+ // 璋冪敤閿�姣佹帶浠舵帴鍙�
+ if (!this.isLogin) {
+ this.$Message.info("姝e湪鐧婚檰瀹㈡埛绔紝璇风◢绛�......");
+ return false;
+ }
+ const ctrls = this.ws.ctrls.map((i) => {
+ if (i.ctrlCode === this.ctrl) {
+ return i.ctrlCode;
+ }
+ });
+ this.ws.destroyCtrl(ctrls);
+ },
+ setPos() {
+ let target = document.getElementById(this.domId);
+ console.log(target, "target");
+ target.style.right = `${this.crtPosX}px`;
+ target.style.top = `${this.crtPosY}px`;
+ target.style.width = `${this.crtWidth}px`;
+ target.style.height = `${this.crtHeight}px`;
+ if (document.createEvent) {
+ var event = document.createEvent("HTMLEvents");
+ event.initEvent("resize", true, true);
+ window.dispatchEvent(event);
+ } else if (document.createEventObject) {
+ window.fireEvent("onresize");
+ }
+ },
+
+ // 鏃堕棿鎴宠浆 yyyy-MM-dd HH:mm:ss
+ formatDate(inputTime) {
+ var date = new Date(inputTime);
+ var y = date.getFullYear();
+ var m = date.getMonth() + 1;
+ m = m < 10 ? "0" + m : m;
+ var d = date.getDate();
+ d = d < 10 ? "0" + d : d;
+ var h = date.getHours();
+ h = h < 10 ? "0" + h : h;
+ var minute = date.getMinutes();
+ var second = date.getSeconds();
+ minute = minute < 10 ? "0" + minute : minute;
+ second = second < 10 ? "0" + second : second;
+ return y + "-" + m + "-" + d + " " + h + ":" + minute + ":" + second;
+ },
+ resetAll() {
+ this.seachData = {}
+ }
},
- },
- beforeDestroy() {
- clearInterval(this.timer);
- this.timer = null;
- },
+ beforeDestroy() {
+ clearInterval(this.timer);
+ this.timer = null;
+ },
};
</script>
<style lang="scss" scoped>
.study-judge {
- text-align: left;
- color: #4b9bb7;
- padding: 10px 20px;
-
- .study-judge-header {
- line-height: 3vh;
- }
-
- .study-judge-main {
- .sjm-header {
- line-height: 8vh;
- display: flex;
- justify-content: space-between;
-
- .sjm-header-left {
- flex: 1;
- display: flex;
- justify-content: flex-start;
-
- .moni-area {
- margin-left: 4vw;
- }
- }
-
- .sjm-header-right {
- flex: 1;
- display: flex;
- justify-content: flex-end;
-
- .el-button {
- padding: 0 1vw;
- height: 4vh;
- }
- }
- }
-
- .sjm-content {
- display: flex;
- justify-content: space-between;
-
- .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;
- }
- }
-
- .img-item + .img-item {
- 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;
- }
- }
- }
- }
- }
-
- .el-form {
- ::v-deep .el-form-item {
- margin-bottom: 15px;
- }
-
- ::v-deep .el-form-item__label {
- color: #4b9bb7;
- }
- }
-
- ::v-deep .el-radio__label {
+ text-align: left;
color: #4b9bb7;
- }
+ padding: 10px 20px;
+
+ .study-judge-header {
+ line-height: 3vh;
+ }
+
+ .study-judge-main {
+ .sjm-header {
+ line-height: 8vh;
+ display: flex;
+ justify-content: space-between;
+
+ .sjm-header-left {
+ flex: 1;
+ display: flex;
+ justify-content: flex-start;
+
+ .moni-area {
+ margin-left: 4vw;
+ }
+ }
+
+ .sjm-header-right {
+ flex: 1;
+ display: flex;
+ justify-content: flex-end;
+
+ .el-button {
+ padding: 0 1vw;
+ height: 4vh;
+ }
+ }
+ }
+
+ .sjm-content {
+ display: flex;
+ justify-content: space-between;
+
+ .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;
+ }
+ }
+
+ .img-item + .img-item {
+ 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;
+ }
+ }
+ }
+ }
+ }
+
+ .el-form {
+ ::v-deep .el-form-item {
+ margin-bottom: 15px;
+ }
+
+ ::v-deep .el-form-item__label {
+ color: #4b9bb7;
+ }
+ }
+
+ ::v-deep .el-radio__label {
+ color: #4b9bb7;
+ }
}
.map {
- height: 100%;
- min-width: 460px;
+ height: 100%;
+ min-width: 460px;
+}
+.header {
+ line-height: normal;
}
</style>
diff --git a/src/views/systemSetting/device/point/index.vue b/src/views/systemSetting/device/point/index.vue
index d9bc3c3..6b0d6e3 100644
--- a/src/views/systemSetting/device/point/index.vue
+++ b/src/views/systemSetting/device/point/index.vue
@@ -28,7 +28,7 @@
<div
v-for="item in videoData"
:key="item.id"
- style="position: relative"
+ style="position: relative;height:350px"
>
<div class="video-title">{{ item.name }}{{ item.community }}</div>
diff --git a/vue.config.js b/vue.config.js
index 9e2d8e8..5387c35 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -40,7 +40,7 @@
// 璺ㄥ煙閰嶇疆
"/sccg": {
// target: `http://42.193.1.25/`, //娴嬭瘯鐜
- target: `http://192.168.3.240:8082/`,
+ target: `http://127.0.0.1:8082/`,
changeOrigin: true
}
},
--
Gitblit v1.8.0