首页svg隐藏,配置文件更改,样式调整,视频数量显示
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-02-21 14:16:56 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-22 11:23:04 |
| | | * @LastEditTime: 2023-03-06 10:22:12 |
| | | * @FilePath: \srs-police-affairs\public\static\config.js |
| | | * @Description: |
| | | * |
| | |
| | | VUE_APP_INTRANET_VIDEO: 'http://10.141.11.11:18185/api', |
| | | |
| | | // 设备通道号 |
| | | VUE_APP_OUTER_NET_EQUIPMENT: '34020000002000000003', |
| | | VUE_APP_OUTER_NET_EQUIPMENT: '36110000002009999000', |
| | | VUE_APP_INTRANET_EQUIPMENT: '36110000002009999000', |
| | | |
| | | // 模型地址 |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 15:58:10 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-11 15:24:58 |
| | | * @LastEditTime: 2023-03-06 09:52:30 |
| | | * @FilePath: \srs-police-affairs\src\App.vue |
| | | * @Description: app.vue |
| | | * |
| | | * Copyright (c) 2022 by shuishen 1109946754@qq.com, All Rights Reserved. |
| | | --> |
| | | <template> |
| | | <div |
| | | id="app" |
| | | :style="{ |
| | | <div id="app" :style="{ |
| | | width: (useSceen == true ? currentWidth + 'px' : '100%'), |
| | | height: (useSceen == true ? currentHeight + 'px' : '100%') |
| | | }" |
| | | > |
| | | }"> |
| | | <router-view></router-view> |
| | | </div> |
| | | </template> |
| | |
| | | |
| | | created () { |
| | | if (window.screen.availWidth) { |
| | | this.currentWidth = window.screen.width |
| | | this.currentHeight = window.screen.height |
| | | this.currentWidth = window.innerWidth |
| | | this.currentHeight = window.innerHeight |
| | | } |
| | | |
| | | window.addEventListener('resize', this.setDomStyle) |
| | | }, |
| | | |
| | | methods: { |
| | | getWidth () { |
| | | return this.currentWidth |
| | | }, |
| | | |
| | | setDomStyle () { |
| | | this.currentWidth = window.innerWidth |
| | | this.currentHeight = window.innerHeight |
| | | } |
| | | } |
| | | } |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 17:00:30 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-03-02 10:05:29 |
| | | * @LastEditTime: 2023-03-06 10:33:11 |
| | | * @FilePath: \srs-police-affairs\src\components\map\index.vue |
| | | * @Description: 公用地图组件 |
| | | * |
| | |
| | | '31', |
| | | '32', |
| | | '33', |
| | | '34' |
| | | '34', |
| | | '35', |
| | | '36', |
| | | '37', |
| | | '38', |
| | | '39', |
| | | '40', |
| | | '41', |
| | | '42', |
| | | '43', |
| | | '44', |
| | | '45', |
| | | '46', |
| | | '47', |
| | | '48', |
| | | '49', |
| | | '50' |
| | | ] |
| | | |
| | | var siteEntitylayers = null |
| | |
| | | }) |
| | | ) |
| | | |
| | | global.viewer.imageryLayers.addImageryProvider( |
| | | new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | url: '/sryx/{z}/{x}/{y}.png', |
| | | }) |
| | | ) |
| | | // global.viewer.imageryLayers.addImageryProvider( |
| | | // new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({ |
| | | // url: '/sryx/{z}/{x}/{y}.png', |
| | | // }) |
| | | // ) |
| | | |
| | | // 设置地图初始位置,角度等 |
| | | global.viewer.camera.setView({ |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-01-13 15:52:59 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-24 14:35:04 |
| | | * @LastEditTime: 2023-03-06 10:20:32 |
| | | * @FilePath: \srs-police-affairs\src\views\home\components\bottomContainer.vue |
| | | * @Description: |
| | | * |
| | |
| | | <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> |
| | | </el-table> |
| | | |
| | | <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 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"> |
| | | <!-- <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,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" |
| | |
| | | <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,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> |
| | | 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> |
| | | </svg> |
| | | <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> |
| | | </template> |
| | | |
| | |
| | | </div>--> |
| | | </div> |
| | | <div class="sub-tab" v-show="peopletype == 0"> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabType == 0 }" |
| | | @click="personTabClick(0)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabType == 0 }" @click="personTabClick(0)"> |
| | | <div class="tab-title-small">户籍人口:</div> |
| | | <div class="tab-title-small"> |
| | | {{ |
| | | personAll.total ? personAll.total : 0 |
| | | personAll.total ? personAll.total : 0 |
| | | }}人 |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabType == 1 }" |
| | | @click="personTabClick(1)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabType == 1 }" @click="personTabClick(1)"> |
| | | <div class="tab-title-small">重点人员:</div> |
| | | <div class="tab-title-small"> |
| | | {{ |
| | | personAll.emphasisNum ? personAll.emphasisNum : 0 |
| | | personAll.emphasisNum ? personAll.emphasisNum : 0 |
| | | }}人 |
| | | </div> |
| | | </div> |
| | |
| | | </div>--> |
| | | </div> |
| | | <div id="PersonEcharts" class="echarts-box"></div> |
| | | <div |
| | | class="back" |
| | | title="返回上一级" |
| | | v-show="dataDeep == 2 && peopletype == 0 && showBack" |
| | | @click="backBegin" |
| | | ></div> |
| | | <div class="back" title="返回上一级" v-show="dataDeep == 2 && peopletype == 0 && showBack" @click="backBegin"> |
| | | </div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <!-- <svg class="border-svg"> |
| | | <defs> |
| | | <path |
| | | id="border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | |
| | | repeatCount="indefinite" |
| | | /> |
| | | </use> |
| | | </svg> |
| | | </svg> --> |
| | | </div> |
| | | <div class="house-box" style="position: relative;"> |
| | | <div class="box"> |
| | | <div class="title">现有住宅</div> |
| | | <div class="sub-tab"> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabTypeTwo == 0 }" |
| | | @click="houseTabClick(0)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabTypeTwo == 0 }" @click="houseTabClick(0)"> |
| | | <div class="tab-title-small">实有楼栋:</div> |
| | | <div class="tab-title-small">{{ realHouseNum?realHouseNum: 0 }}栋</div> |
| | | <div class="tab-title-small">{{ realHouseNum ? realHouseNum : 0 }}栋</div> |
| | | </div> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabTypeTwo == 1 }" |
| | | @click="houseTabClick(1)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabTypeTwo == 1 }" @click="houseTabClick(1)"> |
| | | <div class="tab-title-small">关注场所:</div> |
| | | <div class="tab-title-small">{{ keyPlaceNum?keyPlaceNum: 0 }}栋</div> |
| | | <div class="tab-title-small">{{ keyPlaceNum ? keyPlaceNum : 0 }}栋</div> |
| | | </div> |
| | | </div> |
| | | <div id="houseEcharts" class="echarts-box"></div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <!-- <svg class="border-svg"> |
| | | <use |
| | | stroke-width="2" |
| | | xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | |
| | | repeatCount="indefinite" |
| | | /> |
| | | </use> |
| | | </svg> |
| | | </svg> --> |
| | | </div> |
| | | <div class="land-box" style="position: relative;"> |
| | | <div class="box"> |
| | | <div class="title">现有地</div> |
| | | <div class="sub-tab" v-show="isAllPoliceStation"> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabTypeThree == 0 }" |
| | | @click="landTabClick(0)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabTypeThree == 0 }" @click="landTabClick(0)"> |
| | | <div class="tab-title-small">小区:</div> |
| | | <div class="tab-title-small">{{ villageNum?villageNum: 0 }}个</div> |
| | | <div class="tab-title-small">{{ villageNum ? villageNum : 0 }}个</div> |
| | | </div> |
| | | <div |
| | | class="tab" |
| | | :class="{ 'select-on-tab': tabTypeThree == 1 }" |
| | | @click="landTabClick(1)" |
| | | > |
| | | <div class="tab" :class="{ 'select-on-tab': tabTypeThree == 1 }" @click="landTabClick(1)"> |
| | | <div class="tab-title-small">责任区:</div> |
| | | <div class="tab-title-small">{{ areaNum?areaNum: 0 }}个</div> |
| | | <div class="tab-title-small">{{ areaNum ? areaNum : 0 }}个</div> |
| | | </div> |
| | | </div> |
| | | <div class="sub-tab" v-show="!isAllPoliceStation"> |
| | | <div class="tab1 select-on-tab"> |
| | | <div class="tab-title-small">小区:</div> |
| | | <div class="tab-title-small">{{ villageNum?villageNum: 0 }}个</div> |
| | | <div class="tab-title-small">{{ villageNum ? villageNum : 0 }}个</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div id="landEcharts" class="echarts-box"></div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <!-- <svg class="border-svg"> |
| | | <use |
| | | stroke-width="2" |
| | | xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | |
| | | repeatCount="indefinite" |
| | | /> |
| | | </use> |
| | | </svg> |
| | | </svg> --> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | color: #fff; |
| | | } |
| | | |
| | | & > div:nth-of-type(2) { |
| | | &>div:nth-of-type(2) { |
| | | font-size: 14px; |
| | | } |
| | | } |
| | |
| | | align-items: center; |
| | | justify-content: center; |
| | | |
| | | & > div { |
| | | &>div { |
| | | height: 22px; |
| | | line-height: 22px; |
| | | white-space: nowrap; |
| | |
| | | <template> |
| | | <div class="container" ref="Container"> |
| | | <div class="case-box" ref="caseBox"> |
| | | <div class="box"> |
| | | <div class="box" ref="caseBoxBox"> |
| | | <div class="title" ref="alertBoxTitle"> |
| | | <div>值班信息(当日)</div> |
| | | </div> |
| | | <div class="table-box"> |
| | | <div class="table-box" ref="caseTableBox"> |
| | | <el-table size="small" :height="tableHeight" :data="schedulingList" style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" |
| | |
| | | <el-table-column prop="person" label="姓名"></el-table-column> |
| | | <el-table-column prop="contact" label="联系方式"></el-table-column> |
| | | </el-table> |
| | | <div class="pointList"> |
| | | <el-tooltip class="item" effect="dark" :content="item.dept" placement="top" v-for="(item, index) in schedulingDeptList" :key="index"> |
| | | <div class="point" @click="getSchedlingList(item)"> |
| | | <div class="pointList" ref="casePointListBox"> |
| | | <el-tooltip class="item" effect="dark" :content="item.dept" placement="top" |
| | | v-for="(item, index) in schedulingDeptList" :key="index"> |
| | | <div class="point" @click="getSchedlingList(item)"> |
| | | </div> |
| | | </el-tooltip> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <!-- <svg class="border-svg"> |
| | | <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" |
| | | repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </svg> --> |
| | | </div> |
| | | |
| | | <div class="alert-box" ref="alertBox "> |
| | |
| | | <div id="EventChangeEcharts" class="echarts-box"></div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <!-- <svg class="border-svg"> |
| | | <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" |
| | | repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </svg> --> |
| | | </div> |
| | | |
| | | <!-- <div class="alert-box" ref="alertBox"> |
| | |
| | | <div style="overflow: hidden;" id="EquipmentEcharts" class="echarts-box"></div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <!-- <svg class="border-svg"> |
| | | <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" |
| | | repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </svg> --> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | let equimentDataLength = 0 |
| | | |
| | | import recorderArr from '@/assets/data/equimentsDate/recorder.js' |
| | | import { getSchedulingList,getSchedulingDeptList } from '@/api/home/index.js' |
| | | import { getSchedulingList, getSchedulingDeptList } from '@/api/home/index.js' |
| | | import { fontSize } from '@/utils/fontSize.js' |
| | | |
| | | import { getCaseAll, getEquipment } from "@/api/home/index.js" |
| | |
| | | |
| | | export default { |
| | | inject: ['userInfo'], |
| | | data() { |
| | | data () { |
| | | return { |
| | | eventTime: [], |
| | | pickerOptions: { |
| | | shortcuts: [{ |
| | | text: '最近一周', |
| | | onClick(picker) { |
| | | onClick (picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) |
| | |
| | | } |
| | | }, { |
| | | text: '最近一个月', |
| | | onClick(picker) { |
| | | onClick (picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) |
| | |
| | | } |
| | | }, { |
| | | text: '最近三个月', |
| | | onClick(picker) { |
| | | onClick (picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) |
| | |
| | | linetype: 0, |
| | | tableHeight: 0, |
| | | schedulingList: [], |
| | | schedulingDeptList:[1,2,3,4,5,6,1,2,3,4,5,6], |
| | | schedulingDeptList: [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6], |
| | | policeStaionID: '' |
| | | } |
| | | }, |
| | | created() { |
| | | created () { |
| | | this.pickerOptions = { |
| | | ...this.pickerOptions, |
| | | disabledDate(time) { |
| | | disabledDate (time) { |
| | | // 设置可选择的日期为今天之后的一个月内 |
| | | let curDate = (new Date()).getTime() |
| | | return time.getTime() > curDate |
| | |
| | | this.getSchedulingDeptList() |
| | | }, |
| | | |
| | | mounted() { |
| | | mounted () { |
| | | |
| | | this.getHomeAllData() |
| | | |
| | | this.$nextTick(() => { |
| | | window.addEventListener("resize", this.echartsResize) |
| | | this.tableHeight = this.$refs.Container.offsetHeight - this.$refs.caseBox.offsetHeight - this.$refs.crowdBox.offsetHeight - this.$refs.alertBoxTitle.offsetHeight - 86 |
| | | this.tableHeight = this.$refs.caseTableBox.offsetHeight - this.$refs.casePointListBox.offsetHeight |
| | | }) |
| | | |
| | | }, |
| | | |
| | | methods: { |
| | | //获取值班列表信息 |
| | | getSchedlingList(item){ |
| | | getSchedlingList (item) { |
| | | this.$emit('showschedulingdetail', item.dept, item.dept, 'type') |
| | | }, |
| | | //获取值班单位信息 |
| | | getSchedulingDeptList(){ |
| | | getSchedulingDeptList().then((res)=>{ |
| | | this.schedulingDeptList = res.data.data; |
| | | getSchedulingDeptList () { |
| | | getSchedulingDeptList().then((res) => { |
| | | this.schedulingDeptList = res.data.data |
| | | }) |
| | | }, |
| | | // actTabClick (type) { |
| | |
| | | * @description: 获取当前组件内所有数据 |
| | | * @return {*} |
| | | */ |
| | | getHomeAllData(id = '') { |
| | | getHomeAllData (id = '') { |
| | | this.policeStaionID = id |
| | | |
| | | this.initEventChangeEcharts() |
| | |
| | | }, 600000) |
| | | }, |
| | | |
| | | getSchedulingList() { |
| | | getSchedulingList () { |
| | | const params = { |
| | | sameday:1 |
| | | sameday: 1 |
| | | } |
| | | getSchedulingList(1,100,params).then(res => { |
| | | getSchedulingList(1, 100, params).then(res => { |
| | | this.schedulingList = res.data.data.records |
| | | }) |
| | | }, |
| | | |
| | | echartsResize() { |
| | | echartsResize () { |
| | | this.tableHeight = this.$refs.caseTableBox.offsetHeight - this.$refs.casePointListBox.offsetHeight |
| | | equipmentmyChart && equipmentmyChart != null && equipmentmyChart.resize() |
| | | eventchangemychart && eventchangemychart != null && eventchangemychart.resize() |
| | | }, |
| | | |
| | | // 案件统计中时间变化 |
| | | async caseTimeChange(e) { |
| | | async caseTimeChange (e) { |
| | | const date = e.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | |
| | | }, |
| | | |
| | | // 设置默认时间 |
| | | defaultDate() { |
| | | defaultDate () { |
| | | var current = new Date() |
| | | |
| | | var seven = new Date(current.getTime() - 7 * 24 * 60 * 60 * 1000) |
| | |
| | | }, |
| | | |
| | | // 获取当前日期 |
| | | dateFormat(dateData) { |
| | | dateFormat (dateData) { |
| | | var date = new Date(dateData) |
| | | var y = date.getFullYear() |
| | | var m = date.getMonth() + 1 |
| | |
| | | }, |
| | | |
| | | // 获取案件统计值 |
| | | getCaseAll(start, end) { |
| | | getCaseAll (start, end) { |
| | | const caseAll = getCaseAll(start, end, this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id).then(res => { |
| | | if (res.data.length > 0) { |
| | | return res.data.reduce((previous, current) => { |
| | |
| | | }, |
| | | |
| | | // 初始化案件统计 |
| | | async initEventChangeEcharts() { |
| | | async initEventChangeEcharts () { |
| | | var chartDom = document.getElementById('EventChangeEcharts') |
| | | |
| | | if (eventchangemychart != null && eventchangemychart != '' && eventchangemychart != undefined) eventchangemychart.dispose() |
| | |
| | | }, |
| | | |
| | | // 案件统计的options |
| | | initEventChangeOption(xData, yData) { |
| | | initEventChangeOption (xData, yData) { |
| | | let option |
| | | if (xData.length == 0) { //暂无数据 |
| | | option = { |
| | |
| | | }, |
| | | |
| | | // 现有设备统计 |
| | | getEquipment() { |
| | | getEquipment () { |
| | | const typeData = { |
| | | carCount: '车辆', |
| | | monitorCount: '摄像头', |
| | |
| | | }, |
| | | |
| | | // 现有设备饼图初始化 |
| | | async initEquipmentEcharts(type) { |
| | | async initEquipmentEcharts (type) { |
| | | this.linetype = type |
| | | |
| | | if (equipmentmyChart != null && equipmentmyChart != '' && equipmentmyChart != undefined) { |
| | |
| | | }, |
| | | |
| | | // 现有设备options饼图数据 |
| | | initEquipmentOptions(dataArr) { |
| | | initEquipmentOptions (dataArr) { |
| | | return { |
| | | tooltip: { |
| | | trigger: 'item', |
| | |
| | | }, |
| | | |
| | | // 饼图轮播 |
| | | equipmentEchartsCarousel() { |
| | | equipmentEchartsCarousel () { |
| | | let curIndex = 0 |
| | | if (timer) { |
| | | clearInterval(timer) |
| | |
| | | }, |
| | | |
| | | // 现有设备的点击事件(显示弹窗表格) |
| | | clickEquimentChart() { |
| | | clickEquimentChart () { |
| | | equipmentmyChart.on('click', params => { |
| | | // 设备类型,摄像头弹窗显示,其他弹窗显示,【记录仪列显示,警车列显示,手台列显示】,遍历数组 |
| | | if ('equimentType' in params.data) { |
| | |
| | | }, |
| | | }, |
| | | |
| | | destroyed() { |
| | | destroyed () { |
| | | window.removeEventListener("resize", this.echartsResize) |
| | | |
| | | if (equipmentmyChart) { |
| | |
| | | } |
| | | |
| | | .table-box { |
| | | padding: 0 12px; |
| | | flex: 1; |
| | | padding: 12px; |
| | | padding-top: 0; |
| | | width: 100%; |
| | | height: calc(100% - 17.6%); |
| | | |
| | | .pointList{ |
| | | .pointList { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | margin-top: 15px; |
| | | .point{ |
| | | align-items: center; |
| | | height: 40px; |
| | | |
| | | .point { |
| | | width: 12px; |
| | | height: 12px; |
| | | border-radius: 50px; |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-24 13:45:15 |
| | | * @LastEditTime: 2023-03-06 10:29:22 |
| | | * @FilePath: \srs-police-affairs\src\views\video\list.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | node.data.name |
| | | }} |
| | | </span> |
| | | |
| | | |
| | | |
| | | <span v-show="node.data.number && node.data.number != -1"> |
| | | ({{ |
| | | node.data.number |
| | | }}个) |
| | | </span> |
| | | </span> |
| | | </el-tree> |
| | | |
| | |
| | | {{ |
| | | node.data.name |
| | | }} |
| | | </span> |
| | | |
| | | |
| | | |
| | | <span v-show="node.data.number && node.data.number != -1"> |
| | | ({{ |
| | | node.data.number |
| | | }}个) |
| | | </span> |
| | | </span> |
| | | </el-tree> |
| | |
| | | <div class="line"> |
| | | <div class="value-name-box">颜色:</div> |
| | | <div class="pick-color-box"> |
| | | <el-color-picker |
| | | v-model="chooseRangeColor" |
| | | :predefine="predefineColors" size="small"> |
| | | </el-color-picker> |
| | | <el-color-picker v-model="chooseRangeColor" :predefine="predefineColors" size="small"> |
| | | </el-color-picker> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <button @click="saveDrawInfo">保存</button> |
| | | <button @click="cancelSaveDrawInfo">取消</button> |
| | |
| | | drawPlotData: {}, |
| | | chooseRangeColor: '#FF0000', |
| | | predefineColors: [ |
| | | '#ff4500', |
| | | '#ff8c00', |
| | | '#ffd700', |
| | | '#90ee90', |
| | | '#00ced1', |
| | | '#1e90ff', |
| | | '#c71585', |
| | | 'rgba(255, 69, 0, )', |
| | | 'rgb(255, 120, 0)', |
| | | 'hsv(51, 100, 98)', |
| | | 'hsva(120, 40, 94)', |
| | | 'hsl(181, 100%, 37%)', |
| | | 'hsla(209, 100%, 56%)', |
| | | '#c7158577' |
| | | '#ff4500', |
| | | '#ff8c00', |
| | | '#ffd700', |
| | | '#90ee90', |
| | | '#00ced1', |
| | | '#1e90ff', |
| | | '#c71585', |
| | | 'rgba(255, 69, 0, )', |
| | | 'rgb(255, 120, 0)', |
| | | 'hsv(51, 100, 98)', |
| | | 'hsva(120, 40, 94)', |
| | | 'hsl(181, 100%, 37%)', |
| | | 'hsla(209, 100%, 56%)', |
| | | '#c7158577' |
| | | ], |
| | | } |
| | | }, |
| | |
| | | }) |
| | | } |
| | | } |
| | | },{material: global.DC.Color.RED}) |
| | | }, { material: global.DC.Color.RED }) |
| | | }, |
| | | |
| | | removeDrawLayer () { |
| | |
| | | let area = this.$turf.area(polygon) |
| | | extent = area.toFixed(3) |
| | | } |
| | | this.insertRegionSaveList({type:this.drawType, positions:drawPositionStr, name:this.drawName, extent: extent,width:this.range,color:this.chooseRangeColor}) |
| | | this.insertRegionSaveList({ type: this.drawType, positions: drawPositionStr, name: this.drawName, extent: extent, width: this.range, color: this.chooseRangeColor }) |
| | | this.drawDialogVisible = false |
| | | this.drawName = '' |
| | | if (drawPlotLayers != null) { |