| | |
| | | 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" |
| | |
| | | <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> |
| | |
| | | <div> |
| | | <div class="value-name-box">选择范围颜色:</div> |
| | | <div class="color-box"> |
| | | <div class="red-color" @click="changeLineColor('#FF0000')">{{ chooseColor == '#FF0000' ? '√' : '' }}</div> |
| | | <div class="green-color" @click="changeLineColor('#00FF00')">{{ chooseColor == '#00FF00' ? '√' : '' }}</div> |
| | | <div class="blue-color" @click="changeLineColor('#0000FF')">{{ chooseColor == '#0000FF' ? '√' : '' }}</div> |
| | | <div class="red-color" @click="changeLineColor('#FF0000')">{{ chooseColor == '#FF0000' ? '√' : '' }} |
| | | </div> |
| | | <div class="green-color" @click="changeLineColor('#00FF00')">{{ chooseColor == '#00FF00' ? '√' : '' }} |
| | | </div> |
| | | <div class="blue-color" @click="changeLineColor('#0000FF')">{{ chooseColor == '#0000FF' ? '√' : '' }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div> |
| | |
| | | <div class="color-box"> |
| | | <div class="red-color" @click="changePlotColor('#FF0000')">{{ choosePlotColor == '#FF0000' ? '√' : '' }} |
| | | </div> |
| | | <div class="green-color" @click="changePlotColor('#00FF00')">{{ choosePlotColor == '#00FF00' ? '√' : '' }} |
| | | <div class="green-color" @click="changePlotColor('#00FF00')">{{ choosePlotColor == '#00FF00' ? '√' : '' |
| | | }} |
| | | </div> |
| | | <div class="blue-color" @click="changePlotColor('#0000FF')">{{ choosePlotColor == '#0000FF' ? '√' : '' }} |
| | | <div class="blue-color" @click="changePlotColor('#0000FF')">{{ choosePlotColor == '#0000FF' ? '√' : '' |
| | | }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | ...item, |
| | | lng: item.longitude, |
| | | lat: item.latitude, |
| | | alt: 100, |
| | | alt: 1, |
| | | url: '/img/icon/camera.png' |
| | | }, |
| | | // incident: this.siteClick |
| | |
| | | ...item, |
| | | lng: item.location.lng, |
| | | lat: item.location.lat, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: `/img/icon/${iconType}.png` |
| | | }, |
| | | }) |
| | |
| | | params: { |
| | | lng: `${this.searchExtensivelyArray[0].location.lng}`, |
| | | lat: `${this.searchExtensivelyArray[0].location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: this.searchExtensivelyArray[0].name |
| | | }, |
| | | }) |
| | |
| | | params: { |
| | | lng: `${item.location.lng}`, |
| | | lat: `${item.location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: item.name |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: `${item.location.lng}`, |
| | | lat: `${item.location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/location.png' |
| | | }, |
| | | }) |
| | |
| | | cursor: pointer; |
| | | z-index: 100; |
| | | } |
| | | } |
| | | </style> |
| | | }</style> |
| | |
| | | <el-checkbox v-model="areaPolygonLayerShow" @change="areaPolygonChange">辖区</el-checkbox> |
| | | </div> |
| | | <!-- <div class="layers-control-btn house"> |
| | | <el-checkbox v-model="houseLayerShow" @change="houseChange">小区</el-checkbox> |
| | | <el-checkbox v-model="houseLayerShow" @change="houseChange">小区</el-checkbox> |
| | | </div>--> |
| | | <div class="layers-control-btn car"> |
| | | <el-checkbox v-model="carLayerShow" @change="carChange">警车</el-checkbox> |
| | |
| | | <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>--> |
| | | <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="panoramaLayerShow" @change="panoramaChange">全景</el-checkbox> |
| | | </div>--> |
| | | <div class="layers-control-btn police-situation"> |
| | | <el-checkbox v-model="policeSituationLayerShow" @change="policeSituationChange">警情</el-checkbox> |
| | | </div> |
| | |
| | | params: { |
| | | lng: center[0], |
| | | lat: center[1], |
| | | alt: 0, |
| | | alt: 1, |
| | | text: item.housingsName |
| | | } |
| | | }) |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-23 08:46:15 |
| | | * @LastEditTime: 2023-02-23 08:57:03 |
| | | * @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> |
| | |
| | | params: { |
| | | lng: `${this.searchExtensivelyArray[0].location.lng}`, |
| | | lat: `${this.searchExtensivelyArray[0].location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: this.searchExtensivelyArray[0].name |
| | | }, |
| | | }) |
| | |
| | | params: { |
| | | lng: `${item.location.lng}`, |
| | | lat: `${item.location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: item.name |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: `${item.location.lng}`, |
| | | lat: `${item.location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/location.png' |
| | | }, |
| | | }) |
| | |
| | | params: { |
| | | lng: `${row.x}`, |
| | | lat: `${row.y}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: row.name |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: `${row.x}`, |
| | | lat: `${row.y}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: url |
| | | }, |
| | | }) |
| | |
| | | } |
| | | } |
| | | |
| | | return { ...item, newName: newName, lng: item.longitude, lat: item.latitude, alt: 100 } |
| | | return { ...item, newName: newName, lng: item.longitude, lat: item.latitude, alt: 1 } |
| | | }) |
| | | |
| | | this.equimentTableData.forEach(item => { |
| | |
| | | params: { |
| | | lng: positionsArr[0].longitude, |
| | | lat: positionsArr[0].latitude, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/orgin.png' |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: positionsArr[positionsArr.length - 1].longitude, |
| | | lat: positionsArr[positionsArr.length - 1].latitude, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/end.png' |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: `${this.searchExtensivelyArray[0].location.lng}`, |
| | | lat: `${this.searchExtensivelyArray[0].location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: this.searchExtensivelyArray[0].name |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: `${item.location.lng}`, |
| | | lat: `${item.location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: item.name |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: `${item.location.lng}`, |
| | | lat: `${item.location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/location.png' |
| | | } |
| | | }) |
| | |
| | | } |
| | | } |
| | | |
| | | return { ...item, newName: newName, lng: item.longitude, lat: item.latitude, alt: 100 } |
| | | return { ...item, newName: newName, lng: item.longitude, lat: item.latitude, alt: 1 } |
| | | }) |
| | | |
| | | this.equimentTableData.forEach(item => { |
| | |
| | | params: { |
| | | lng: positionsArr[0].longitude, |
| | | lat: positionsArr[0].latitude, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/orgin.png' |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: positionsArr[positionsArr.length - 1].longitude, |
| | | lat: positionsArr[positionsArr.length - 1].latitude, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/end.png' |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: `${this.searchExtensivelyArray[0].location.lng}`, |
| | | lat: `${this.searchExtensivelyArray[0].location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: this.searchExtensivelyArray[0].name |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: `${item.location.lng}`, |
| | | lat: `${item.location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: item.name |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: `${item.location.lng}`, |
| | | lat: `${item.location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/location.png' |
| | | } |
| | | }) |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-20 10:43:51 |
| | | * @LastEditTime: 2023-02-23 08:56:50 |
| | | * @FilePath: \srs-police-affairs\src\views\video\list.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | <el-button type="primary" size="mini" @click="draww('polyline')">绘制测试</el-button> |
| | | </div> |
| | | <!-- <div class="range-input" v-show="inputpopup"> |
| | | <div class="close" @click="closeRangeInput"></div> |
| | | <h3>请输入距离</h3> |
| | | <input type="text" v-model="range" /> |
| | | <button @click="changeRange" class="btn">确定</button> |
| | | </div>--> |
| | | <div class="close" @click="closeRangeInput"></div> |
| | | <h3>请输入距离</h3> |
| | | <input type="text" v-model="range" /> |
| | | <button @click="changeRange" class="btn">确定</button> |
| | | </div>--> |
| | | |
| | | <div class="down-tree"> |
| | | <el-scrollbar> |
| | |
| | | name: item.name, |
| | | lng: item.longitude, |
| | | lat: item.latitude, |
| | | alt: 100, |
| | | alt: 1, |
| | | url: '/img/icon/video.png', |
| | | deviceId: item.deviceId, |
| | | channelId: item.channelId |
| | |
| | | params: { |
| | | lng: `${this.searchExtensivelyArray[0].location.lng}`, |
| | | lat: `${this.searchExtensivelyArray[0].location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: this.searchExtensivelyArray[0].name |
| | | }, |
| | | }) |
| | |
| | | params: { |
| | | lng: `${item.location.lng}`, |
| | | lat: `${item.location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: item.name |
| | | } |
| | | }) |
| | |
| | | params: { |
| | | lng: `${item.location.lng}`, |
| | | lat: `${item.location.lat}`, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/location.png' |
| | | }, |
| | | }) |
| | |
| | | params: { |
| | | lng: node.longitude, |
| | | lat: node.latitude, |
| | | alt: 0, |
| | | alt: 1, |
| | | text: node.name |
| | | } |
| | | }) |
| | |
| | | name: node.name, |
| | | lng: node.longitude, |
| | | lat: node.latitude, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/video.png', |
| | | channelId: node.id |
| | | }, |
| | |
| | | text: item.name, |
| | | lng: item.longitude, |
| | | lat: item.latitude, |
| | | alt: 0, |
| | | alt: 1, |
| | | url: '/img/icon/video.png', |
| | | channelId: item.channelId |
| | | }, |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-23 08:47:38 |
| | | * @LastEditTime: 2023-02-23 08:56:44 |
| | | * @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"> |
| | |
| | | name: item.name, |
| | | lng: item.longitude, |
| | | lat: item.latitude, |
| | | alt: 10, |
| | | alt: 1, |
| | | url: '/img/icon/video.png', |
| | | // deviceId: item.deviceId |
| | | }, |
| | |
| | | .deleteVideo-new-left { |
| | | left: calc(1380 / 1920 * 100vw); |
| | | } |
| | | }</style> |
| | | } |
| | | </style> |