src/components/map/leafletMap.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/utils/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/intelligentPatrol/statistics/unlawful/type/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/intelligentPatrol/studyJudge/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/systemSetting/device/point/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
vue.config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/components/map/leafletMap.vue
@@ -74,6 +74,11 @@ }, 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( @@ -82,7 +87,6 @@ let that = this // 将创建的点标记添加到已有的地图实例: marker.on("click", function (e) { console.log("666"); that.$emit("fatherMethod"); }); } 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/' src/views/intelligentPatrol/statistics/unlawful/type/index.vue
@@ -25,13 +25,18 @@ @click="setTableDataHandle" >查询</el-button > <el-button icon="el-icon-delete-solid" @click="resetTableData" <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 type="primary" icon="el-icon-upload2" @click="handleExport" >导出</el-button > </div> @@ -47,36 +52,68 @@ :header-cell-style="{ background: '#F5F5F5', 'font-weight': '650', 'line-height': '45px', '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 type="selection" min-width="5"> </el-table-column> <el-table-column prop="count" label="事件总数" min-width="5"> <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> <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 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 prop="relearn" label="再学习" min-width="5" > </el-table-column> <el-table-column prop="checked" label="已审核" min-width="5"> <el-table-column prop="checked" label="已审核" min-width="5" > </el-table-column> <el-table-column prop="checkedRatio" label="审核率" min-width="5"> <el-table-column prop="checkedRatio" label="审核率" min-width="5" > </el-table-column> <el-table-column prop="registerRatio" label="立案率" min-width="5"> <el-table-column prop="registerRatio" label="立案率" min-width="5" > </el-table-column> </el-table> </div> @@ -103,7 +140,8 @@ title="事件总数" :visible.sync="dialogVisibleEvent" width="80%" :before-close="handClose"> :before-close="handClose" > <el-table border stripe @@ -116,9 +154,7 @@ :data="gridData" style="width: 100%" :row-class-name="tableRowClassName" > <el-table-column prop="code" label="事件编号" @@ -209,7 +245,6 @@ > </el-pagination> </div> </el-dialog> </main> </div> @@ -278,18 +313,18 @@ this.dialogVisibleEvent=false }, changeCurrentPages(page){ this.currentPages = page; this.seachTotalEvents(this.seachID) this.seachTotalEvents(this.seachID, page) }, // 处理时间 filterTime(time) { return helper(time); }, seachTotalEvents(id){ seachTotalEvents(id, page) { this.seachID=id this.dialogVisibleEvent =true console.log(this.value2) this.currentPages = page; let params ={ type:1, violationsTypeId:id, @@ -299,7 +334,7 @@ params.startTime = this.value2[0]||'' params.endTime = this.value2[1]||'' basecase.baseCasePoolList(params).then(res=>{ console.log(res) // console.log(res) this.gridData =res.records this.pageSizes =res.size this.currentPages =res.current src/views/intelligentPatrol/studyJudge/index.vue
@@ -53,7 +53,11 @@ >报警时间:{{ currentEvent.alarmTime }}</span > </div> <div class="img-item" v-for="item in imageList" :key="item.id"> <div class="img-item" v-for="item in imageList" :key="item.id" > <img :src="item" /> </div> <el-form @@ -88,9 +92,62 @@ <!-- <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 size="small" @click="createVideo(currentEvent, 'live')" >实时预览</el-button > <el-button @@ -138,9 +195,13 @@ /> </el-select> </el-form-item> <el-form-item v-if="eventInfoData.store" label="店铺得分:"> <el-form-item v-if="eventInfoData.store" label="店铺得分:" > <span>{{ selectStoreChange(eventInfoData.store).storeScore selectStoreChange(eventInfoData.store) .storeScore }}</span> </el-form-item> <el-form-item label="处理意见:" prop="state"> @@ -202,7 +263,9 @@ <el-button @click.native.prevent="handleConfirm" >确认</el-button > <el-button @click="pageChange('next')">下一条</el-button> <el-button @click="pageChange('next')" >下一条</el-button > </el-form-item> </el-form> </div> @@ -224,7 +287,10 @@ v-show="dialogCreate" :before-close="handleClose2" > <div class="dom" style="width: 100%; height: 600px; position: relative"> <div class="dom" style="width: 100%; height: 600px; position: relative" > <div id="dom1" class="dom1"></div> </div> </el-dialog> @@ -244,10 +310,14 @@ 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.loadVideo(); this.loadEventGrade(); this.getInspectionData(); this.initEventParams(); this.getInspectionCount(); @@ -276,7 +346,7 @@ mounted() { this.timer = setInterval(() => { this.getInspectionCount(); }, 1000 * 10); }, 1000 * 60 * 15); }, data() { const validateCarNumber = (rule, value, callback) => { @@ -366,9 +436,31 @@ point: null, mark: null, zoom: null, eventGradeOptions: [], videoOptions: [], options: { label: 'name', value: 'id', }, seachData: {} }; }, 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({ @@ -392,9 +484,21 @@ }, 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({ current: this.currentPage }) .then(({ records }) => { .getInspectionData(data) .then(({ records, total }) => { this.countData.review = total if (records.length > 0) { this.currentEvent = records[0]; this.point = { x: this.currentEvent.longitude, @@ -405,7 +509,7 @@ if (this.currentEvent?.picData) { this.imageList = this.currentEvent.picData .split(",") .map((item) => `${FILE_ORIGINAL_URL}${item}`); .map((item) => `${FILE_ORIGINAL_URL}sccg/API/img?fileUrl=${item}`); } if ( this.currentEvent?.alarmTime || @@ -422,6 +526,10 @@ this.currentEvent.conntinueTime = `${parseInt( CONTINUE_DAY )}天${parseInt(CONTINUE_HOURS)}小时`; } } else { this.currentEvent = {} this.$message("当前查询条件无数据"); } }) .catch((err) => this.$message.error(err)); @@ -642,6 +750,9 @@ second = second < 10 ? "0" + second : second; return y + "-" + m + "-" + d + " " + h + ":" + minute + ":" + second; }, resetAll() { this.seachData = {} } }, beforeDestroy() { clearInterval(this.timer); @@ -751,4 +862,7 @@ height: 100%; min-width: 460px; } .header { line-height: normal; } </style> 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> 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 } },