| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-02-23 09:09:09 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-24 13:49:38 |
| | | * @LastEditTime: 2023-02-24 14:33:19 |
| | | * @FilePath: \srs-police-affairs\src\components\assemble\index.vue |
| | | * @Description: 聚合图标点的点击事件 |
| | | * |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <div class="pages all-pagination-sty"> |
| | | <el-pagination background layout="prev, pager, next, total" :total="searchData.length" |
| | | :page-size="pages.size" pager-count="3" :current-page="pages.current" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-21 16:54:00 |
| | | * @LastEditTime: 2023-02-24 14:33:12 |
| | | * @FilePath: \srs-police-affairs\src\views\activity\index.vue |
| | | * @Description: 安保活动 |
| | | * |
| | |
| | | v-model="activityType" |
| | | placeholder="请选择" |
| | | @change="activityTypeChange" |
| | | > |
| | | <el-option |
| | | v-for="item in activityOptions" |
| | | :key="item.dictKey" |
| | | :label="item.dictValue" |
| | | > |
| | | <el-option |
| | | v-for="item in activityOptions" |
| | | :key="item.dictKey" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey" |
| | | class="activity-option" |
| | | ></el-option> |
| | |
| | | <div class="category">选择时间:</div> |
| | | <div class="category-value"> |
| | | <!-- <el-date-picker |
| | | size="small" |
| | | v-model="selectTime" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | style="width:268px" |
| | | ></el-date-picker>--> |
| | | size="small" |
| | | v-model="selectTime" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | style="width:268px" |
| | | ></el-date-picker>--> |
| | | <el-date-picker v-model="selectTime" type="daterange" align="right" unlink-panels |
| | | format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" range-separator="至" |
| | | start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" |
| | |
| | | |
| | | <div v-show="activityList == 0" class="no-data">暂无数据</div> |
| | | </div> |
| | | <div class="pages"> |
| | | <div class="pages all-pagination-sty"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount" |
| | | :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | |
| | | <ul> |
| | | <li> |
| | | <!-- <el-button |
| | | title="路线绘制" |
| | | @click="draw('billboard', 'policeman')" |
| | | icon="el-icon-my-route" |
| | | ></el-button>--> |
| | | title="路线绘制" |
| | | @click="draw('billboard', 'policeman')" |
| | | icon="el-icon-my-route" |
| | | ></el-button>--> |
| | | <button @click="draw('polyline', 'policecar')" title="巡逻路线"> |
| | | <img src="../../../public/img/icon/route1.png" style="height:100%" /> |
| | | </button> |
| | |
| | | type: 'VectorLayer' |
| | | }) |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'monitoringLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | layerName: 'monitoringLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | if (item.activityArea && item.activityArea.length > 0) { |
| | | let polyGonData = item.activityArea.slice(11, item.activityArea.length - 1) |
| | | polyGonData = polyGonData.replace(/,/g, ";") |
| | |
| | | this.lineEditVisible = false |
| | | } |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'monitoringLayers', |
| | | type: 'VectorLayer' |
| | | layerName: 'monitoringLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | }, |
| | | |
| | |
| | | getRegionList (positionNewStr) { |
| | | getRegionList({ page: 1, count: 15, range: positionNewStr }).then(res => { |
| | | let monitorData = res.data.data.list |
| | | this.initMonitoringIcon (monitorData) |
| | | this.initMonitoringIcon(monitorData) |
| | | this.monitorOption = [] |
| | | monitorData.forEach((item, index) => { |
| | | let flvAddress = '' |
| | |
| | | }, |
| | | |
| | | // 关闭视频展示 |
| | | closeVideo(){ |
| | | closeVideo () { |
| | | this.videoShow = false |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'monitoringLayers', |
| | | type: 'VectorLayer' |
| | | layerName: 'monitoringLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | }, |
| | | |
| | |
| | | cursor: pointer; |
| | | z-index: 100; |
| | | } |
| | | }</style> |
| | | } |
| | | </style> |
| | |
| | | <div> |
| | | <div class="category">活动类型:</div> |
| | | <div class="category-value"> |
| | | <el-select |
| | | size="small" |
| | | v-model="activityType" |
| | | placeholder="请选择" |
| | | @change="activityTypeChange" |
| | | > |
| | | <el-option |
| | | v-for="item in activityOptions" |
| | | :key="item.dictKey" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey" |
| | | class="activity-option" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <el-select size="small" v-model="activityType" placeholder="请选择" @change="activityTypeChange"> |
| | | <el-option v-for="item in activityOptions" :key="item.dictKey" :label="item.dictValue" |
| | | :value="item.dictKey" class="activity-option"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div> |
| | | <div class="category">选择时间:</div> |
| | | <div class="category-value"> |
| | | <!-- <el-date-picker |
| | | size="small" |
| | | v-model="selectTime" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | style="width:268px" |
| | | ></el-date-picker>--> |
| | | <el-date-picker |
| | | v-model="selectTime" |
| | | type="daterange" |
| | | align="right" |
| | | unlink-panels |
| | | format="yyyy-MM-dd HH:mm:ss" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :picker-options="pickerOptions" |
| | | @change="activityTimeChange" |
| | | ></el-date-picker> |
| | | size="small" |
| | | v-model="selectTime" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | style="width:268px" |
| | | ></el-date-picker>--> |
| | | <el-date-picker v-model="selectTime" type="daterange" align="right" unlink-panels |
| | | format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" range-separator="至" |
| | | start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" |
| | | @change="activityTimeChange"></el-date-picker> |
| | | </div> |
| | | </div> |
| | | |
| | | <div> |
| | | <div class="category">活动名称:</div> |
| | | <div class="category-value"> |
| | | <input |
| | | type="text" |
| | | placeholder="请输入活动名称" |
| | | v-model="searchActivity" |
| | | class="category-input" |
| | | @input="inputChange" |
| | | /> |
| | | <input type="text" placeholder="请输入活动名称" v-model="searchActivity" class="category-input" |
| | | @input="inputChange" /> |
| | | <button class="category-button el-icon-search" @click="searchClick"></button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="result-content"> |
| | | <div class="table-box"> |
| | | <div |
| | | v-show="activityList.length > 0" |
| | | class="row-box" |
| | | :class="{ on: currentClickIndex === index }" |
| | | v-for="(item, index) in activityList" |
| | | :key="index" |
| | | @click="activityListClick(item, index)" |
| | | > |
| | | <div v-show="activityList.length > 0" class="row-box" :class="{ on: currentClickIndex === index }" |
| | | v-for="(item, index) in activityList" :key="index" @click="activityListClick(item, index)"> |
| | | <div class="row-title">常规安保</div> |
| | | <div class="row-content"> |
| | | <div> |
| | |
| | | </div> |
| | | <div> |
| | | <div class="category">活动时间:</div> |
| | | <div |
| | | class="category-value" |
| | | >{{ item.startTime }} 至 {{ item.endTime }}</div> |
| | | <div class="category-value">{{ item.startTime }} 至 {{ item.endTime }}</div> |
| | | </div> |
| | | <div> |
| | | <div class="category">活动详情:</div> |
| | |
| | | |
| | | <div v-show="activityList == 0" class="no-data">暂无数据</div> |
| | | </div> |
| | | <div class="pages"> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :page-size="pagesize" |
| | | :page-count="pagesCount" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | <div class="pages all-pagination-sty"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount" |
| | | :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <span>撤离路线:</span> |
| | | <ul> |
| | | <li> |
| | | <el-button |
| | | title="路线绘制" |
| | | @click="draw('billboard', 'policeman')" |
| | | icon="el-icon-my-route" |
| | | ></el-button> |
| | | <el-button title="路线绘制" @click="draw('billboard', 'policeman')" icon="el-icon-my-route"></el-button> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | |
| | | <div class="category-value">{{ activityDetails.name }}</div> |
| | | </div> |
| | | |
| | | <div class="row-box"> |
| | | <div class="category">活动时间:</div> |
| | | <div |
| | | class="category-value" |
| | | >{{ activityDetails.startTime }} 至 {{ activityDetails.endTime }}</div> |
| | | <div class="row-box"> |
| | | <div class="category">活动时间:</div> |
| | | <div class="category-value">{{ activityDetails.startTime }} 至 {{ activityDetails.endTime }}</div> |
| | | </div> |
| | | |
| | | <div class="row-box"> |
| | | <div class="category">活动内容1:</div> |
| | | <div class="category-value">{{ activityDetails.content }}</div> |
| | | </div> |
| | | |
| | | <!-- <div class="row-box"> |
| | | <div class="category">应急预案:</div> |
| | | <div class="category-value"> |
| | | <el-switch v-model="polylineSwitch" @change="switchChange" active-color="#13ce66" |
| | | inactive-color="#ccc"></el-switch> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row-box"> |
| | | <div class="category">活动内容1:</div> |
| | | <div class="category-value">{{ activityDetails.content }}</div> |
| | | </div> |
| | | <div class="category">巡逻路线:</div> |
| | | <div class="category-value"> |
| | | <el-switch v-model="polylineBtnSwitch" @change="switchBtnChange" active-color="#13ce66" |
| | | inactive-color="#ccc"></el-switch> |
| | | </div> |
| | | </div>--> |
| | | |
| | | <!-- <div class="row-box"> |
| | | <!-- <div class="row-box"> |
| | | <div class="category">分析范围:</div> |
| | | <div class="category-value"> |
| | | <el-input |
| | | @input="analyseChange" |
| | | size="mini" |
| | | type="number" |
| | | v-model="analyseInput" |
| | | placeholder="请输入范围" |
| | | ></el-input> |
| | | </div> |
| | | </div>--> |
| | | |
| | | <div class="row-box"> |
| | | <el-button @click="arrangeDraw">预案布置</el-button> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="plan-control"> |
| | | <div class="row-box"> |
| | | <div class="category">应急预案:</div> |
| | | <div class="category-value"> |
| | | <el-switch v-model="polylineSwitch" @change="switchChange" active-color="#13ce66" |
| | |
| | | <div class="category-value"> |
| | | <el-switch v-model="polylineBtnSwitch" @change="switchBtnChange" active-color="#13ce66" |
| | | inactive-color="#ccc"></el-switch> |
| | | </div> |
| | | </div>--> |
| | | |
| | | <!-- <div class="row-box"> |
| | | <div class="category">分析范围:</div> |
| | | <div class="category-value"> |
| | | <el-input |
| | | @input="analyseChange" |
| | | size="mini" |
| | | type="number" |
| | | v-model="analyseInput" |
| | | placeholder="请输入范围" |
| | | ></el-input> |
| | | </div> |
| | | </div>--> |
| | | |
| | | <div class="row-box"> |
| | | <el-button @click="arrangeDraw">预案布置</el-button> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="plan-control"> |
| | | <div class="row-box"> |
| | | <div class="category">应急预案:</div> |
| | | <div class="category-value"> |
| | | <el-switch |
| | | v-model="polylineSwitch" |
| | | @change="switchChange" |
| | | active-color="#13ce66" |
| | | inactive-color="#ccc" |
| | | ></el-switch> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row-box"> |
| | | <div class="category">巡逻路线:</div> |
| | | <div class="category-value"> |
| | | <el-switch |
| | | v-model="polylineBtnSwitch" |
| | | @change="switchBtnChange" |
| | | active-color="#13ce66" |
| | | inactive-color="#ccc" |
| | | ></el-switch> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </ul> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | :title="policeChooseTitle" |
| | | :modal="true" |
| | | :visible.sync="policeChooseVisible" |
| | | :before-close="policeChooseBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="choose-police-box" |
| | | > |
| | | <el-dialog :title="policeChooseTitle" :modal="true" :visible.sync="policeChooseVisible" |
| | | :before-close="policeChooseBeforeClose" :close-on-click-modal="true" class="choose-police-box"> |
| | | <div> |
| | | <el-select size="small" v-model="policeType" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in policeOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-option v-for="item in policeOption" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | <el-button @click="determine">确定</el-button> |
| | | <el-button @click="cancel">取消</el-button> |
| | |
| | | .search-box { |
| | | padding: 0 10px; |
| | | |
| | | & > div:first-child { |
| | | &>div:first-child { |
| | | margin-top: 0; |
| | | } |
| | | |
| | | & > div { |
| | | &>div { |
| | | margin-top: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | font-size: 14px; |
| | | |
| | | .row-content { |
| | | & > div { |
| | | &>div { |
| | | display: flex; |
| | | line-height: 28px; |
| | | |
| | |
| | | white-space: nowrap; |
| | | transform: translate(-50%, 0); |
| | | |
| | | & > div { |
| | | &>div { |
| | | display: flex; |
| | | } |
| | | |
| | |
| | | line-height: 28px; |
| | | display: flex; |
| | | |
| | | & > div { |
| | | &>div { |
| | | text-align: left; |
| | | } |
| | | |
| | |
| | | padding: 10px; |
| | | color: #fff; |
| | | background-color: $bg-color; |
| | | |
| | | .row-box { |
| | | width: 100%; |
| | | line-height: 28px; |
| | | display: flex; |
| | | |
| | | & > div { |
| | | &>div { |
| | | text-align: left; |
| | | } |
| | | |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-01-13 15:52:59 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-21 17:20:18 |
| | | * @LastEditTime: 2023-02-24 14:35:04 |
| | | * @FilePath: \srs-police-affairs\src\views\home\components\bottomContainer.vue |
| | | * @Description: |
| | | * |
| | |
| | | <div class="header"> |
| | | <div class="bottom-title">警情动态</div> |
| | | <div class="timeTab" v-show="historytype"> |
| | | <span |
| | | class="beforetime" |
| | | :class="{ choosed: timetype == 0 }" |
| | | @click="timeTabClick(0)" |
| | | >周</span> |
| | | <span |
| | | class="beforetime" |
| | | :class="{ choosed: timetype == 1 }" |
| | | @click="timeTabClick(1)" |
| | | >月</span> |
| | | <span |
| | | class="beforetime" |
| | | :class="{ choosed: timetype == 2 }" |
| | | @click="timeTabClick(2)" |
| | | >自定义</span> |
| | | <span class="beforetime" :class="{ choosed: timetype == 0 }" @click="timeTabClick(0)">周</span> |
| | | <span class="beforetime" :class="{ choosed: timetype == 1 }" @click="timeTabClick(1)">月</span> |
| | | <span class="beforetime" :class="{ choosed: timetype == 2 }" @click="timeTabClick(2)">自定义</span> |
| | | </div> |
| | | |
| | | <div class="timeSeclect" v-show="historytype"> |
| | | <el-date-picker |
| | | v-show="timetype == 0" |
| | | v-model="currentWeekTime" |
| | | @change="datePickerChange" |
| | | type="week" |
| | | align="center" |
| | | format="yyyy 第 WW 周" |
| | | placeholder="选择周" |
| | | popper-class="date-week-style" |
| | | ></el-date-picker> |
| | | <el-date-picker v-show="timetype == 0" v-model="currentWeekTime" @change="datePickerChange" type="week" |
| | | align="center" format="yyyy 第 WW 周" placeholder="选择周" |
| | | popper-class="date-week-style"></el-date-picker> |
| | | |
| | | <el-date-picker |
| | | v-show="timetype == 1" |
| | | v-model="currentMonthTime" |
| | | @change="datePickerChange" |
| | | type="month" |
| | | align="center" |
| | | placeholder="选择月" |
| | | popper-class="date-mouth-style" |
| | | ></el-date-picker> |
| | | <el-date-picker v-show="timetype == 1" v-model="currentMonthTime" @change="datePickerChange" |
| | | type="month" align="center" placeholder="选择月" popper-class="date-mouth-style"></el-date-picker> |
| | | |
| | | <el-date-picker |
| | | v-show="timetype == 2" |
| | | :clearable="false" |
| | | v-model="currentTime" |
| | | type="daterange" |
| | | align="center" |
| | | unlink-panels |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | @change="datePickerChange" |
| | | :picker-options="pickerOptions" |
| | | popper-class="date-day-style" |
| | | ></el-date-picker> |
| | | <el-date-picker v-show="timetype == 2" :clearable="false" v-model="currentTime" type="daterange" |
| | | align="center" unlink-panels range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" |
| | | @change="datePickerChange" :picker-options="pickerOptions" |
| | | popper-class="date-day-style"></el-date-picker> |
| | | </div> |
| | | |
| | | <div class="history-tab"> |
| | | <span |
| | | class="beforetime" |
| | | :class="{ choosed: historytype == 0 }" |
| | | @click="historyTabClick(0)" |
| | | >实时</span> |
| | | <span |
| | | class="beforetime" |
| | | :class="{ choosed: historytype == 1 }" |
| | | @click="historyTabClick(1)" |
| | | >历史</span> |
| | | <span class="beforetime" :class="{ choosed: historytype == 0 }" @click="historyTabClick(0)">实时</span> |
| | | <span class="beforetime" :class="{ choosed: historytype == 1 }" @click="historyTabClick(1)">历史</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div |
| | | class="body" |
| | | v-if="historytype == 0" |
| | | ref="tableBox" |
| | | @click="handleSelectClick($event)" |
| | | > |
| | | <div class="body" v-if="historytype == 0" ref="tableBox" @click="handleSelectClick($event)"> |
| | | <ul class="title-header"> |
| | | <li> |
| | | <span class="num">序号</span> |
| | |
| | | </li> |
| | | </ul> |
| | | |
| | | <vue-seamless-scroll |
| | | v-if="policeSituationRealtimeArr.length > 0" |
| | | :data="policeSituationRealtimeArr" |
| | | class="warp" |
| | | :class-option="classOption" |
| | | > |
| | | <vue-seamless-scroll v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" |
| | | class="warp" :class-option="classOption"> |
| | | <ul class="item"> |
| | | <li |
| | | v-for="(item, index) in policeSituationRealtimeArr" |
| | | :key="index" |
| | | :data-obj="JSON.stringify(item)" |
| | | class="row" |
| | | > |
| | | <li v-for="(item, index) in policeSituationRealtimeArr" :key="index" |
| | | :data-obj="JSON.stringify(item)" class="row"> |
| | | <span class="num" v-text="item.index"></span> |
| | | <span class="receiving-alarm-unit" v-text="item.JJDWMC"></span> |
| | | <span class="receiving-alarm-people" v-text="item.JJYXM"></span> |
| | | <span |
| | | class="receiving-alarm-time" |
| | | :title="item.BJSJ" |
| | | v-text="item.BJSJ.substring(0, 10)" |
| | | ></span> |
| | | <span class="receiving-alarm-time" :title="item.BJSJ" |
| | | v-text="item.BJSJ.substring(0, 10)"></span> |
| | | <span class="call-people" v-text="item.BJRXM"></span> |
| | | <span class="call-phone" v-text="item.LXDH"></span> |
| | | <span class="call-police-content" :title="item.BJNR" v-text="item.BJNR"></span> |
| | |
| | | </div> |
| | | |
| | | <div class="current-table-body" ref="ElTableBox" v-if="historytype == 1"> |
| | | <el-table |
| | | :data="policeSituationHistoryArr" |
| | | :key="currentPage" |
| | | style="width: 100%" |
| | | <el-table :data="policeSituationHistoryArr" :key="currentPage" style="width: 100%" |
| | | :height="currentTableHeight" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': 'rgba(9, 40, 199, 0.5)', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" |
| | | @cell-click="rowClick" |
| | | > |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="index" |
| | | label="序号" |
| | | min-width="6%" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="JJDWMC" |
| | | label="接警单位" |
| | | min-width="12.6%" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="JJYXM" |
| | | label="接警员" |
| | | min-width="7.6%" |
| | | ></el-table-column> |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" @cell-click="rowClick"> |
| | | <el-table-column :show-overflow-tooltip="true" prop="index" label="序号" min-width="6%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="JJDWMC" label="接警单位" |
| | | min-width="12.6%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="JJYXM" label="接警员" |
| | | min-width="7.6%"></el-table-column> |
| | | <el-table-column label="报警时间" min-width="9.6%"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ scope.row.BJSJ.substring(0, 10) }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="BJRXM" |
| | | label="报警人" |
| | | min-width="7.6%" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="LXDH" |
| | | label="联系电话" |
| | | min-width="10%" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="BJNR" |
| | | label="报警内容" |
| | | min-width="12%" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="SFDZ" |
| | | label="事发地址" |
| | | min-width="12%" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="BJLX" |
| | | label="报警类型" |
| | | min-width="8%" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="MEMO" |
| | | label="备注" |
| | | min-width="12%" |
| | | ></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="BJRXM" label="报警人" |
| | | min-width="7.6%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="LXDH" label="联系电话" |
| | | min-width="10%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="BJNR" label="报警内容" |
| | | min-width="12%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="SFDZ" label="事发地址" |
| | | min-width="12%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="BJLX" label="报警类型" |
| | | min-width="8%"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="MEMO" label="备注" min-width="12%"></el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages" ref="ElPagination" v-if="policeSituationHistoryArr.length > 0"> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :page-size="pagesize" |
| | | :page-count="pagesCount" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | <div class="pages all-pagination-sty" ref="ElPagination" v-if="policeSituationHistoryArr.length > 0"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount" |
| | | :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <defs> |
| | | <path |
| | | id="bottom-box-path" |
| | | d="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0 |
| | | c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25 |
| | | c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10 |
| | | c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20 |
| | | c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z" |
| | | fill="transparent" |
| | | /> |
| | | <path id="bottom-box-path" |
| | | d="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z" |
| | | fill="transparent" /> |
| | | <radialGradient id="border-box-gradient" cx="50%" cy="50%" r="50%"> |
| | | <stop offset="0%" stop-color="#fff" stop-opacity="1" /> |
| | | <stop offset="100%" stop-color="#fff" stop-opacity="0" /> |
| | | </radialGradient> |
| | | <mask id="border-box-mask"> |
| | | <circle cx="0" cy="0" r="150" fill="url(#border-box-gradient)"> |
| | | <animateMotion |
| | | dur="8s" |
| | | path="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0 |
| | | c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25 |
| | | c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10 |
| | | c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20 |
| | | c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z" |
| | | rotate="auto" |
| | | repeatCount="indefinite" |
| | | /> |
| | | <animateMotion dur="8s" |
| | | path="M0,0c56.33,0,112.67,0,169,0c2.5,4.31,6.95,6.19,11,9c0.67,1,1.33,2,2,3c16.33,0,32.67,0,49,0c55.99,0,112.01,0,168,0c238.64,0,477.36,0,716,0c1.01,1.73,4.64,4.26,5,5c0,20,0,40,0,60c0,49,0,98,0,147c-0.89,1.52,0,19.4,0,25c0,22.33,0,44.67,0,67c-1.43,0.78-4.01,2.77-5,4c-13,0-26,0-39,0c-3-3.33-6-6.67-9-10c-22,0-44,0-66,0c-2.26,3.84-6.72,5.26-8,10c-241.98,0-484.02,0-726,0c-64.33,0-128.67,0-193,0c-17,0-34,0-51,0c-5.68,0-16.19,1.49-20-1c-4.4-2.88-3-12.84-3-20c0-19.33,0-38.67,0-58C0,160.67,0,80.33,0,0z" |
| | | rotate="auto" repeatCount="indefinite" /> |
| | | </circle> |
| | | </mask> |
| | | </defs> |
| | | |
| | | <use |
| | | stroke-width="2" |
| | | xlink:href="#bottom-box-path" |
| | | mask="url(#border-box-mask)" |
| | | stroke="#4fd2dd" |
| | | > |
| | | <animate |
| | | attributeName="stroke-dasharray" |
| | | from="0, 3220" |
| | | to="3220, 0" |
| | | dur="8s" |
| | | repeatCount="indefinite" |
| | | /> |
| | | <use stroke-width="2" xlink:href="#bottom-box-path" mask="url(#border-box-mask)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 3220" to="3220, 0" dur="8s" repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </div> |
| | |
| | | height: 100%; |
| | | z-index: 1; |
| | | } |
| | | } |
| | | </style> |
| | | }</style> |
| | |
| | | <!-- 值班table --> |
| | | <div> |
| | | <el-dialog :title="schedulingTitle" :modal="true" :visible.sync="schedulingVisible" |
| | | :before-close="schedulingBeforeClose" :close-on-click-modal="true" class="area-details-box"> |
| | | :before-close="schedulingBeforeClose" :close-on-click-modal="true" class="area-details-box"> |
| | | <div class="header"> |
| | | <div> |
| | | <span>值班人:</span> |
| | |
| | | <el-table-column :show-overflow-tooltip="true" prop="leadContact" label="带班领导电话"></el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <div class="pages all-pagination-sty"> |
| | | <el-pagination background layout="prev, pager, next, total" :page-size="page.pageSize" :total="page.total" |
| | | :current-page="page.currentPage" @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | |
| | | import { getSchedulingList } from '@/api/home/index' |
| | | export default { |
| | | name: "schedulingList", |
| | | data() { |
| | | data () { |
| | | return { |
| | | person: '', |
| | | contact: '', |
| | |
| | | }, |
| | | schedulingVisible: false, |
| | | schedulingTitle: '', |
| | | dept:'' |
| | | dept: '' |
| | | } |
| | | }, |
| | | methods: { |
| | | //初始化 |
| | | init(data) { |
| | | this.schedulingVisible = true; |
| | | this.schedulingTitle = data.name + "值班信息"; |
| | | this.dept = data.dept; |
| | | init (data) { |
| | | this.schedulingVisible = true |
| | | this.schedulingTitle = data.name + "值班信息" |
| | | this.dept = data.dept |
| | | this.getSchedulingtPaging() |
| | | }, |
| | | /** |
| | | * @description:列表弹窗关闭的事件 |
| | | * @return {*} |
| | | */ |
| | | schedulingBeforeClose() { |
| | | schedulingBeforeClose () { |
| | | this.page.currentPage = 1 |
| | | this.person = ''; |
| | | this.contact = ''; |
| | | this.dept = ""; |
| | | this.person = '' |
| | | this.contact = '' |
| | | this.dept = "" |
| | | this.schedulingTableData = [] |
| | | this.schedulingVisible = false |
| | | }, |
| | |
| | | * @description: 值班查询 |
| | | * @return {*} |
| | | */ |
| | | searchScheduling() { |
| | | searchScheduling () { |
| | | this.page.currentPage = 1 |
| | | this.getSchedulingtPaging() |
| | | }, |
| | |
| | | * @description: 值班查询清空 |
| | | * @return {*} |
| | | */ |
| | | clearSearchScheduling() { |
| | | clearSearchScheduling () { |
| | | this.page.currentPage = 1 |
| | | this.person = '' |
| | | this.contact = '' |
| | |
| | | }, |
| | | |
| | | // 获取值班分页数据 |
| | | getSchedulingtPaging(params = {}) { |
| | | getSchedulingtPaging (params = {}) { |
| | | var values = { |
| | | sameday:1, |
| | | sameday: 1, |
| | | person: this.person, |
| | | contact: this.contact, |
| | | dept:this.dept |
| | | dept: this.dept |
| | | } |
| | | getSchedulingList( |
| | | this.page.currentPage, |
| | |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .global-dialog-seat{ |
| | | .global-dialog-seat { |
| | | height: countSizeVh(700); |
| | | } |
| | | </style> |
| | |
| | | <el-checkbox v-model="cameraLayerShow" @change="cameraChange">摄像头</el-checkbox> |
| | | </div> |
| | | <!-- <div class="layers-control-btn moitor"> |
| | | <el-checkbox v-model="monitoringLayerShow" @change="monitoringChange">监控</el-checkbox> |
| | | </div> |
| | | <div class="layers-control-btn panorama"> |
| | | <el-checkbox v-model="panoramaLayerShow" @change="panoramaChange">全景</el-checkbox> |
| | | </div> --> |
| | | <el-checkbox v-model="monitoringLayerShow" @change="monitoringChange">监控</el-checkbox> |
| | | </div> |
| | | <div class="layers-control-btn panorama"> |
| | | <el-checkbox v-model="panoramaLayerShow" @change="panoramaChange">全景</el-checkbox> |
| | | </div> --> |
| | | <div class="layers-control-btn police-situation"> |
| | | <el-checkbox v-model="policeSituationLayerShow" @change="policeSituationChange">警情</el-checkbox> |
| | | </div> |
| | |
| | | <el-table-column :show-overflow-tooltip="true" prop="areaName" label="所属责任区"></el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages" ref="tablePagination"> |
| | | <div class="pages all-pagination-sty" ref="tablePagination"> |
| | | <el-pagination background layout="prev, pager, next, total" :page-size="peoplePage.pageSize" |
| | | :total="peoplePage.total" :current-page="peoplePage.currentPage" |
| | | @current-change="handlePeopleCurrentChange"></el-pagination> |
| | |
| | | <el-table-column :show-overflow-tooltip="true" prop="areaName" label="所属责任区"></el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages" ref="tablePagination"> |
| | | <div class="pages all-pagination-sty" ref="tablePagination"> |
| | | <el-pagination background layout="prev, pager, next, total" :page-size="peoplePage.pageSize" |
| | | :total="peoplePage.total" :current-page="peoplePage.currentPage" |
| | | @current-change="handlePersonPageChange"></el-pagination> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <div class="pages all-pagination-sty"> |
| | | <el-pagination background layout="prev, pager, next, total" :total="equimentPagingTotal" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | |
| | | <el-table-column :show-overflow-tooltip="true" prop="phone" label="联系电话"></el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages" ref="tablePagination"> |
| | | <div class="pages all-pagination-sty" ref="tablePagination"> |
| | | <el-pagination background layout="prev, pager, next, total" :total="landPage.total" |
| | | :page-size="landPage.pageSize" :current-page="landPage.currentPage" |
| | | @current-change="landHandleCurrentChange"></el-pagination> |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-24 11:18:06 |
| | | * @LastEditTime: 2023-02-24 14:33:25 |
| | | * @FilePath: \srs-police-affairs\src\views\house\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | <div class="two"> |
| | | <div> |
| | | <div>98</div> |
| | | <div>户籍人口</div> |
| | | </div> |
| | | <div> |
| | | <div>户籍人口</div> |
| | | </div> |
| | | <div> |
| | | <div style="color:#0E88FF">20</div> |
| | | <div>流动人口</div> |
| | | </div> |
| | |
| | | <div> |
| | | <div>120</div> |
| | | <div>出租</div> |
| | | </div> |
| | | <div> |
| | | <div>160</div> |
| | | <div>自住</div> |
| | | </div> |
| | | <div> |
| | | <div>8</div> |
| | | <div>空置</div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div>160</div> |
| | | <div>自住</div> |
| | | </div> |
| | | <div> |
| | | <div>8</div> |
| | | <div>空置</div> |
| | | </div> |
| | | </div> |
| | | </div>--> |
| | | </div>--> |
| | | <div class="house-element-info" v-if="isShowHouseBox"> |
| | | <!-- 选择单元 --> |
| | | <div class="condo" v-show="isShowUnitChoose"> |
| | |
| | | <div> |
| | | <span class="zizhu"></span> |
| | | 自住 |
| | | </div> |
| | | <div> |
| | | <span class="kongzhi"></span> |
| | | 空置 |
| | | </div> |
| | | <div> |
| | | <span class="shangye"></span> |
| | | 商业 |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <span class="kongzhi"></span> |
| | | 空置 |
| | | </div> |
| | | <div> |
| | | <span class="shangye"></span> |
| | | 商业 |
| | | </div> |
| | | </div> |
| | | </div>--> |
| | | </div>--> |
| | | <el-main v-loading="pictLoading" element-loading-background="rgba(17, 38, 163, .1)" |
| | | element-loading-text="数据正在加载中" element-loading-spinner="el-icon-loading" |
| | | v-show="isShowHouseBox"> |
| | |
| | | <!-- :class="[{ 'chuzu': value.houseType == '出租' }, { 'zizhu': value.houseType == '自住' }, { 'kongzhi': value.houseType == '空置' }, { 'shangye': value.houseType == '商业' }]" --> |
| | | {{ value.properties.fojcu }} |
| | | <!-- <div class="flow"></div> |
| | | <div class="focus"></div> |
| | | <div class="warning"></div>--> |
| | | <div class="focus"></div> |
| | | <div class="warning"></div>--> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | min-width="20%"></el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages" ref="ElPagination"> |
| | | <div class="pages all-pagination-sty" ref="ElPagination"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="callPolicePage.pageSize" |
| | | :page-count="callPolicePage.count" :current-page="callPolicePage.currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | |
| | | <el-table-column prop="policeStationName" label="所属派出所"></el-table-column> |
| | | <el-table-column prop="areaName" label="所属责任区"></el-table-column> |
| | | </el-table> |
| | | <div class="pages" ref="tablePagination"> |
| | | <div class="pages all-pagination-sty" ref="tablePagination"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="peoplePage.pageSize" |
| | | :total="peoplePage.total" :current-page="peoplePage.currentPage" |
| | | @current-change="peopleHandleCurrentChange"></el-pagination> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages" ref="tablePagination"> |
| | | <div class="pages all-pagination-sty" ref="tablePagination"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="equimentPage.pageSize" |
| | | :page-count="equimentPage.count" :pager-count="4" :current-page="equimentPage.currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | |
| | | min-width="20%"></el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages" ref="ElPagination"> |
| | | <div class="pages all-pagination-sty" ref="ElPagination"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="pages.size" :total="pages.total" |
| | | :current-page="pages.current" :pager-count="3" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-23 08:56:44 |
| | | * @LastEditTime: 2023-02-24 14:34:25 |
| | | * @FilePath: \srs-police-affairs\src\views\video\region.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | <el-table-column prop="name" label="范围名称" min-width="50%"></el-table-column> |
| | | <el-table-column prop="extent" label="长度km/面积㎡" min-width="50%"> |
| | | <!-- <template slot-scope="scope"> |
| | | <span>{{ scope.row.extent }}</span> |
| | | <span>千米</span> |
| | | </template>--> |
| | | <span>{{ scope.row.extent }}</span> |
| | | <span>千米</span> |
| | | </template>--> |
| | | </el-table-column> |
| | | <el-table-column prop="id" label="操作" min-width="50%"> |
| | | <template slot-scope="scope"> |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="pages"> |
| | | <div class="pages all-pagination-sty"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="pagesize" |
| | | :page-count="pagesCount" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | |
| | | |
| | | this.saveRangeList.forEach(item => { |
| | | let positionStr = '' |
| | | if(item.type == 1){ |
| | | let linePositionStr = '' |
| | | linePositionStr = item.positions.replace(/,/g,';') |
| | | linePositionStr = linePositionStr.replace(/ /g, ',') |
| | | linePositionStr +=';' |
| | | if (item.type == 1) { |
| | | let linePositionStr = '' |
| | | linePositionStr = item.positions.replace(/,/g, ';') |
| | | linePositionStr = linePositionStr.replace(/ /g, ',') |
| | | linePositionStr += ';' |
| | | this.$EventBus.$emit('layerPolylineAdd', { |
| | | layerName: 'rangeLayer', |
| | | positions: linePositionStr, |
| | | material: global.DC.Color.YELLOW.withAlpha(0.8), |
| | | width: 1, |
| | | layerName: 'rangeLayer', |
| | | positions: linePositionStr, |
| | | material: global.DC.Color.YELLOW.withAlpha(0.8), |
| | | width: 1, |
| | | }) |
| | | let coords = global.DC.GeoTools.polylineBuffer(linePositionStr, 100) |
| | | let polygon = new global.DC.Polygon(coords) |
| | | let position = '' |
| | | polygon._positions.forEach(item => { |
| | | position += item._lng + ',' + item._lat + ';' |
| | | }) |
| | | positionStr = position |
| | | }else{ |
| | | let coords = global.DC.GeoTools.polylineBuffer(linePositionStr, 100) |
| | | let polygon = new global.DC.Polygon(coords) |
| | | let position = '' |
| | | polygon._positions.forEach(item => { |
| | | position += item._lng + ',' + item._lat + ';' |
| | | }) |
| | | positionStr = position |
| | | } else { |
| | | positionStr = this.convertPositionDate(item.positions, 'polygon') |
| | | } |
| | | this.$EventBus.$emit('layerPolygonAdd', { |
| | | layerName: 'rangeLayer', |
| | | positions: positionStr, |
| | | material: global.DC.Namespace.Cesium.Color.fromBytes( |
| | | 255, 0, 0, 100 |
| | | ), |
| | | polygonName: 'polygon' + item.id, |
| | | incident: this.overlayTypeClick |
| | | layerName: 'rangeLayer', |
| | | positions: positionStr, |
| | | material: global.DC.Namespace.Cesium.Color.fromBytes( |
| | | 255, 0, 0, 100 |
| | | ), |
| | | polygonName: 'polygon' + item.id, |
| | | incident: this.overlayTypeClick |
| | | }) |
| | | }) |
| | | |
| | | }, |
| | | |
| | | // 点击线面 |
| | | overlayTypeClick(e){ |
| | | console.log(e,23232); |
| | | overlayTypeClick (e) { |
| | | console.log(e, 23232) |
| | | }, |
| | | |
| | | convertPositionDate (data, type) { |
| | |
| | | type7: '', |
| | | type8: '' |
| | | } |
| | | if(row.type == 2){ |
| | | if (row.type == 2) { |
| | | getRegionList({ |
| | | page: 1, |
| | | count: 20, |
| | | id: row.id |
| | | }).then(res => { |
| | | let monitorData = res.data.data.list |
| | | page: 1, |
| | | count: 20, |
| | | id: row.id |
| | | }).then(res => { |
| | | let monitorData = res.data.data.list |
| | | |
| | | this.monitoringList = res.data.data.list |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'monitoringLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | this.monitoringList = res.data.data.list |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'monitoringLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.initMonitoringIcon() |
| | | this.initMonitoringIcon() |
| | | |
| | | this.monitorOption = [] |
| | | this.monitorOption = [] |
| | | |
| | | monitorData.forEach((item, index) => { |
| | | this.monitorOption.push({ value: index, label: item.name, item }) |
| | | monitorData.forEach((item, index) => { |
| | | this.monitorOption.push({ value: index, label: item.name, item }) |
| | | |
| | | if (index < 8) { |
| | | const ind = index + 1 |
| | | this.isShowVideo[`video${ind}`] = true |
| | | this.monitor[`type${ind}`] = item.name |
| | | if (item.status == 0) { |
| | | this.isShowOutline[`video${ind}`] = true |
| | | if (index < 8) { |
| | | const ind = index + 1 |
| | | this.isShowVideo[`video${ind}`] = true |
| | | this.monitor[`type${ind}`] = item.name |
| | | if (item.status == 0) { |
| | | this.isShowOutline[`video${ind}`] = true |
| | | } |
| | | |
| | | this.getDevices(item.channelId).then(res => { |
| | | this.playVideoList(`flvPlayer${ind}`, `${res}`, `videoElement${ind}`) |
| | | }) |
| | | } |
| | | |
| | | this.getDevices(item.channelId).then(res => { |
| | | this.playVideoList(`flvPlayer${ind}`, `${res}`, `videoElement${ind}`) |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | }else{ |
| | | let positionStr = row.positions.replace(/,/g,';') |
| | | positionStr = positionStr.replace(/ /g,',') |
| | | positionStr += ';' |
| | | } else { |
| | | let positionStr = row.positions.replace(/,/g, ';') |
| | | positionStr = positionStr.replace(/ /g, ',') |
| | | positionStr += ';' |
| | | let coords = global.DC.GeoTools.polylineBuffer(positionStr, row.width) |
| | | let polygon = new global.DC.Polygon(coords) |
| | | let position = '' |
| | |
| | | position += item._lng + ',' + item._lat + ';' |
| | | }) |
| | | getRegionList({ |
| | | page: 1, |
| | | count: 20, |
| | | range: position |
| | | }).then(res => { |
| | | let monitorData = res.data.data.list |
| | | page: 1, |
| | | count: 20, |
| | | range: position |
| | | }).then(res => { |
| | | let monitorData = res.data.data.list |
| | | |
| | | this.monitoringList = res.data.data.list |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'monitoringLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | this.monitoringList = res.data.data.list |
| | | this.$EventBus.$emit('mapRemoveLayer', { |
| | | layerName: 'monitoringLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.initMonitoringIcon() |
| | | this.initMonitoringIcon() |
| | | |
| | | this.monitorOption = [] |
| | | this.monitorOption = [] |
| | | |
| | | monitorData.forEach((item, index) => { |
| | | this.monitorOption.push({ value: index, label: item.name, item }) |
| | | monitorData.forEach((item, index) => { |
| | | this.monitorOption.push({ value: index, label: item.name, item }) |
| | | |
| | | if (index < 8) { |
| | | const ind = index + 1 |
| | | this.isShowVideo[`video${ind}`] = true |
| | | this.monitor[`type${ind}`] = item.name |
| | | if (item.status == 0) { |
| | | this.isShowOutline[`video${ind}`] = true |
| | | if (index < 8) { |
| | | const ind = index + 1 |
| | | this.isShowVideo[`video${ind}`] = true |
| | | this.monitor[`type${ind}`] = item.name |
| | | if (item.status == 0) { |
| | | this.isShowOutline[`video${ind}`] = true |
| | | } |
| | | |
| | | this.getDevices(item.channelId).then(res => { |
| | | this.playVideoList(`flvPlayer${ind}`, `${res}`, `videoElement${ind}`) |
| | | }) |
| | | } |
| | | |
| | | this.getDevices(item.channelId).then(res => { |
| | | this.playVideoList(`flvPlayer${ind}`, `${res}`, `videoElement${ind}`) |
| | | }) |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | |
| | | } |
| | | this.saveRangeID = row.id |
| | | }, |
| | |
| | | } |
| | | }, |
| | | |
| | | |
| | | |
| | | //#region |
| | | // enterVideoBox (num) { |
| | | // for (let key in this.isShowSelect) { |