| src/components/map/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/permission.js | ●●●●● patch | view | raw | blame | history | |
| src/router/axios.js | ●●●●● patch | view | raw | blame | history | |
| src/views/home/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/house/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/layout/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/login/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/police/index.vue | ●●●●● patch | view | raw | blame | history |
src/components/map/index.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 17:00:30 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-01-15 14:56:18 * @LastEditTime: 2023-01-17 08:56:47 * @FilePath: \srs-police-affairs\src\components\map\index.vue * @Description: 公用地图组件 * @@ -22,7 +22,8 @@ </el-tooltip> </div> <!-- 切换矢量图按钮 --> <div class="image-switch-icon-btn" title="切换影像" @mouseover="showImgBtn = true" @mouseleave="showImgBtn = false"> <div style="display: none !important;" class="image-switch-icon-btn" title="切换影像" @mouseover="showImgBtn = true" @mouseleave="showImgBtn = false"> <div class="icon-box"> <img src="/img/base_map.png" alt /> </div> @@ -216,7 +217,7 @@ let sqTileset = new global.DC.Tileset( 'http://10.141.11.11:18080/sf3d/361102/model/wanda/tileset.json' ) sqTileset.setHeight(12) sqTileset.setHeight(0) sqTitleLayer.addOverlay(sqTileset) // sqTileset.on(global.DC.MouseEventType.CLICK, (e) => { src/permission.js
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:16:10 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2022-12-27 09:00:06 * @LastEditTime: 2023-01-16 15:39:08 * @FilePath: \srs-police-affairs\src\permission.js * @Description: 路由守卫 * @@ -15,21 +15,21 @@ router.beforeEach((to, from, next) => { const meta = to.meta || {} next() // if (getToken()) { // if (to.path === '/login') { // 如果登录成功访问登录页跳转到主页 // next({ // path: '/' // }) // } else { // next() // } // } else { // // 判断是否需要认证,没有登录访问去登录页 // if (meta.isAuth === false) { // next() // } else { // next('/login') // } // } // next() if (getToken()) { if (to.path === '/login') { // 如果登录成功访问登录页跳转到主页 next({ path: '/' }) } else { next() } } else { // 判断是否需要认证,没有登录访问去登录页 if (meta.isAuth === false) { next() } else { next('/login') } } }) src/router/axios.js
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-07-29 15:19:13 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-01-09 11:37:35 * @LastEditTime: 2023-01-16 15:43:03 * @FilePath: \srs-police-affairs\src\router\axios.js * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ @@ -62,6 +62,12 @@ config.baseURL = defaultApi } else if (config.requestBaseUrl == "fengtDS") { config.baseURL = searchAllApi } else { const meta = config.meta || {} const isToken = meta.isToken === false if (auth.getToken() && !isToken) { config.headers['Blade-Auth'] = "bearer " + auth.getToken() } } //headers判断是否需要 @@ -70,15 +76,11 @@ // config.headers["Authorization"] = `Basic ${Base64.encode("saber:saber_secret")}` // } //让每个请求携带token const meta = config.meta || {} const isToken = meta.isToken === false if (auth.getToken() && !isToken) { config.headers['Blade-Auth'] = "bearer " + auth.getToken() } //headers中配置text请求 if (config.text === true) { config.headers["Content-Type"] = "text/plain" } // if (config.text === true) { // config.headers["Content-Type"] = "text/plain" // } // const token = auth.getToken() src/views/home/index.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-01-15 15:49:07 * @LastEditTime: 2023-01-17 09:09:17 * @FilePath: \srs-police-affairs\src\views\home\index.vue * @Description: 小区-栋-层-房屋 * @@ -11,29 +11,17 @@ <template> <div class="home-page container"> <left-container class="left-container" @showpeopledetail="showpeopledetail" @showlanddetail="showlanddetail" @showkeypersondetail="showkeypersondetail" ref="leftContainer" ></left-container> <left-container class="left-container" @showpeopledetail="showpeopledetail" @showlanddetail="showlanddetail" @showkeypersondetail="showkeypersondetail" ref="leftContainer"></left-container> <right-container class="right-container" @showequimentdetail="showequimentdetail" @selectPoliceChangeEventData="selectPoliceChangeEventData" @changeActivityType="changeActivityType" ref="rightContainer" ></right-container> <right-container class="right-container" @showequimentdetail="showequimentdetail" @selectPoliceChangeEventData="selectPoliceChangeEventData" @changeActivityType="changeActivityType" ref="rightContainer"></right-container> <bottom-container class="bottom-container" ref="bottomContainer" <bottom-container class="bottom-container" ref="bottomContainer" @changePoliceSituationHistoryType="changePoliceSituationHistoryType" @policeSituationChange="policeSituationChange" @policeSituationSiteClick="policeSituationSiteClick" ></bottom-container> @policeSituationSiteClick="policeSituationSiteClick"></bottom-container> <div class="center-container"> <div class="layers-control-btn house"> @@ -57,51 +45,24 @@ </div> <div ref="RegionSelect" style="left: 0;" class="region-select"> <map-select class="map-select" @selectCheck="policeStationSelect" :checkValue="policeStationCheckValue" :options="policeStationOptions" :optionsName="'name'" ></map-select> <map-select class="map-select" @selectCheck="policeStationSelect" :checkValue="policeStationCheckValue" :options="policeStationOptions" :optionsName="'name'"></map-select> <map-select class="map-select" @selectCheck="areaSelect" :checkValue="areaCheckValue" :options="areaOptions" :optionsName="'name'" ></map-select> <map-select class="map-select" @selectCheck="areaSelect" :checkValue="areaCheckValue" :options="areaOptions" :optionsName="'name'"></map-select> <map-select class="map-select" @selectCheck="housingSelect" :checkValue="housingCheckValue" :options="housingOptions" :optionsName="'name'" ></map-select> <map-select class="map-select" @selectCheck="housingSelect" :checkValue="housingCheckValue" :options="housingOptions" :optionsName="'name'"></map-select> </div> <el-dialog :title="panoramaTitle" :modal="true" :visible.sync="panoramaVisible" :before-close="panoramaBeforeClose" :close-on-click-modal="true" class="panorama-details-box" > <el-dialog :title="panoramaTitle" :modal="true" :visible.sync="panoramaVisible" :before-close="panoramaBeforeClose" :close-on-click-modal="true" class="panorama-details-box"> <!-- <iframe src="http://vr.jxpskj.com/JXSFKZQJ/QJ/" style="width: 100%; height: 100%;" frameborder="0"></iframe>--> <iframe :src="panoramaVrUrl" style="width: 100%; height: 100%;" frameborder="0" /> </el-dialog> <el-dialog :title="phoneTitle" :modal="true" :visible.sync="phoneVisible" :before-close="phoneBeforeClose" :close-on-click-modal="true" class="phone-details-box" > <el-dialog :title="phoneTitle" :modal="true" :visible.sync="phoneVisible" :before-close="phoneBeforeClose" :close-on-click-modal="true" class="phone-details-box"> <div class="item"> <div>责任人:</div> <div>{{ phoneDetails.person }}</div> @@ -120,14 +81,8 @@ </div> </el-dialog> <el-dialog :title="peopleTitle" :modal="true" :visible.sync="peopleVisible" :before-close="peopleBeforeClose" :close-on-click-modal="true" class="area-details-box" > <el-dialog :title="peopleTitle" :modal="true" :visible.sync="peopleVisible" :before-close="peopleBeforeClose" :close-on-click-modal="true" class="area-details-box"> <div class="header"> <div> 负责人: @@ -138,21 +93,14 @@ <input type="text" v-model="peopleCallPhone" placeholder="请输入联系电话" /> </div> <el-button type="primary" icon="el-icon-search" @click="searchPeopleDetail">搜索</el-button> <el-button type="primary" icon="el-icon-delete" @click="clearPeopleDetailSearchValue" >清空</el-button> <el-button type="primary" icon="el-icon-delete" @click="clearPeopleDetailSearchValue">清空</el-button> </div> <el-table :data="peopleInfoList" style="width: 100%" <el-table :data="peopleInfoList" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" > :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }"> <el-table-column label="序号" type="index" align="center"> <template scope="scope"> <span>{{(peoplePage.currentPage - 1) * peoplePage.pageSize + scope.$index +1}}</span> <template slot-scope="scope"> <span>{{(peoplePage.currentPage - 1) * peoplePage.pageSize + scope.$index + 1}}</span> </template> </el-table-column> <el-table-column prop="name" label="责任区名称"></el-table-column> @@ -162,34 +110,20 @@ </el-table> <div class="pages" ref="tablePagination"> <el-pagination background layout="prev, pager, next" :page-size="peoplePage.pageSize" :total="peoplePage.total" :current-page="peoplePage.currentPage" @current-change="handlePeopleCurrentChange" ></el-pagination> <el-pagination background layout="prev, pager, next" :page-size="peoplePage.pageSize" :total="peoplePage.total" :current-page="peoplePage.currentPage" @current-change="handlePeopleCurrentChange"></el-pagination> </div> </el-dialog> <el-dialog :title="equimentTitle" :modal="true" :visible.sync="equimentVisible" :before-close="equimentBeforeClose" :close-on-click-modal="true" class="equiment-details-box" > <el-dialog :title="equimentTitle" :modal="true" :visible.sync="equimentVisible" :before-close="equimentBeforeClose" :close-on-click-modal="true" class="equiment-details-box"> <div class="equiment-detail"> <div class="others"> <el-table :data="equimentTableData" style="width: 100%" <el-table :data="equimentTableData" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName" > :row-class-name="tableRowClassName"> <el-table-column type="index" :index="indexMethod" label="序号"></el-table-column> <el-table-column prop="channelId" label="通道编号"></el-table-column> <el-table-column prop="deviceId" label="设备编号"></el-table-column> @@ -201,40 +135,23 @@ </el-table-column> <el-table-column label="操作"> <template slot-scope="scope"> <el-button @click="play(scope.row)" type="text" size="small" title="播放视频" > <el-button @click="play(scope.row)" type="text" size="small" title="播放视频"> <i class="el-icon-video-play"></i> </el-button> </template> </el-table-column> </el-table> <div class="pages"> <el-pagination background layout="prev, pager, next" :total="equimentPagingTotal" :page-size="pagesize" pager-count="3" :current-page="currentPage" @current-change="handleCurrentChange" ></el-pagination> <el-pagination background layout="prev, pager, next" :total="equimentPagingTotal" :page-size="pagesize" pager-count="3" :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination> </div> </div> </div> </el-dialog> <el-dialog :title="landTitle" :modal="true" :visible.sync="landVisible" :before-close="landBeforeClose" :close-on-click-modal="true" class="land-details-box" > <el-dialog :title="landTitle" :modal="true" :visible.sync="landVisible" :before-close="landBeforeClose" :close-on-click-modal="true" class="land-details-box"> <div class="header"> <div> 负责人: @@ -245,22 +162,15 @@ <input type="text" v-model="callPhone" placeholder="请输入联系电话" /> </div> <el-button type="primary" icon="el-icon-search" @click="searchLandDetail">搜索</el-button> <el-button type="primary" icon="el-icon-delete" @click="clearLandDetailSearchValue" >清空</el-button> <el-button type="primary" icon="el-icon-delete" @click="clearLandDetailSearchValue">清空</el-button> </div> <el-table :data="landDetailArr" style="width: 100%" <el-table :data="landDetailArr" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" > :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }"> <el-table-column label="序号" type="index" width="50" align="center"> <template scope="scope"> <span>{{(landPage.currentPage - 1) * landPage.pageSize + scope.$index +1}}</span> <template slot-scope="scope"> <span>{{(landPage.currentPage - 1) * landPage.pageSize + scope.$index + 1}}</span> </template> </el-table-column> <el-table-column prop="name" label="责任区名称" v-if="this.landType == 1"></el-table-column> @@ -269,31 +179,17 @@ <el-table-column prop="phone" label="联系电话"></el-table-column> </el-table> <div class="pages" ref="tablePagination"> <el-pagination background layout="prev, pager, next" :page-size="landPage.pageSize" :total="landPage.total" :current-page="landPage.currentPage" @current-change="landHandleCurrentChange" ></el-pagination> <el-pagination background layout="prev, pager, next" :page-size="landPage.pageSize" :total="landPage.total" :current-page="landPage.currentPage" @current-change="landHandleCurrentChange"></el-pagination> </div> </el-dialog> <el-dialog :title="keyPersonTitle" :modal="true" :visible.sync="keyPersonVisible" :before-close="keyPersonBeforeClose" :close-on-click-modal="true" class="keyPerson-details-box" > <el-table :data="keyPersonDetailArr" style="width: 100%" <el-dialog :title="keyPersonTitle" :modal="true" :visible.sync="keyPersonVisible" :before-close="keyPersonBeforeClose" :close-on-click-modal="true" class="keyPerson-details-box"> <el-table :data="keyPersonDetailArr" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" > :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }"> <el-table-column prop="type" label="重点人员类型"></el-table-column> <el-table-column prop="name" label="姓名"></el-table-column> <el-table-column prop="sex" label="性别"></el-table-column> @@ -304,23 +200,11 @@ </el-table> </el-dialog> <el-dialog title="警情信息" :modal="true" :visible.sync="policeSituationVisible" :before-close="policeSituationBeforeClose" :close-on-click-modal="true" class="policeSituation-details-box" > <el-dialog title="警情信息" :modal="true" :visible.sync="policeSituationVisible" :before-close="policeSituationBeforeClose" :close-on-click-modal="true" class="policeSituation-details-box"> <div class="btn-change"> <div :class="{ on: policeInformationType == '接警信息' }" @click="alarmOrActAsPolice('接警信息')" >接警信息</div> <div :class="{ on: policeInformationType == '出警信息' }" @click="alarmOrActAsPolice('出警信息')" >出警信息</div> <div :class="{ on: policeInformationType == '接警信息' }" @click="alarmOrActAsPolice('接警信息')">接警信息</div> <div :class="{ on: policeInformationType == '出警信息' }" @click="alarmOrActAsPolice('出警信息')">出警信息</div> </div> <div v-show="policeInformationType == '接警信息'" class="box"> @@ -382,10 +266,7 @@ </div> </div> <div v-show="policeInformationType == '出警信息' && JSON.stringify(CJdata) != '{}'" class="box" > <div v-show="policeInformationType == '出警信息' && JSON.stringify(CJdata) != '{}'" class="box"> <div class="item"> <div>处警单位编号:</div> <div>{{ CJdata.CJDWBH }}</div> @@ -442,29 +323,14 @@ </div> </div> <div v-show="policeInformationType == '出警信息' && JSON.stringify(CJdata) == '{}'" class="box no-data" >暂无数据</div> <div v-show="policeInformationType == '出警信息' && JSON.stringify(CJdata) == '{}'" class="box no-data">暂无数据 </div> </el-dialog> <el-dialog :title="dialogEquimentVideoTitle" :modal="true" :visible.sync="dialogEquimentVideoVisible" :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box" > <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" style="object-fit: fill" ></video> <el-dialog :title="dialogEquimentVideoTitle" :modal="true" :visible.sync="dialogEquimentVideoVisible" :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box"> <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" style="object-fit: fill"></video> </el-dialog> </div> </template> src/views/house/index.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-01-13 15:55:55 * @LastEditTime: 2023-01-17 09:19:04 * @FilePath: \srs-police-affairs\src\views\house\index.vue * @Description: 小区-栋-层-房屋 * @@ -16,48 +16,25 @@ <!-- <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入搜索条件" /> <button @click="searchClick" class="el-icon-search"></button>--> <el-popover ref="popover" placement="bottom" trigger="click" :visible-arrow="false" popper-class="tree-search-popup" > <el-popover ref="popover" placement="bottom" trigger="click" :visible-arrow="false" popper-class="tree-search-popup"> <el-input placeholder="请输入搜索条件" v-model="filterText"></el-input> <el-tree style="width: 360px; height: 400px; overflow: auto;" class="select-tree-box" :data="testData" :props="defaultProps" ref="popupTree" @current-change="currentChangeHandle" :default-expand-all="defaultExpandAll" :accordion="accordion" :highlight-current="highlightCurrent" :expand-on-click-node="true" check-strictly :filter-node-method="filterNode" ></el-tree> <el-tree style="width: 360px; height: 400px; overflow: auto;" class="select-tree-box" :data="testData" :props="defaultProps" ref="popupTree" @current-change="currentChangeHandle" :default-expand-all="defaultExpandAll" :accordion="accordion" :highlight-current="highlightCurrent" :expand-on-click-node="true" check-strictly :filter-node-method="filterNode"></el-tree> </el-popover> <el-input slot="reference" v-model="prop" v-popover:popover :readonly="true" placeholder="请输入搜索条件" style="cursor: pointer;" ></el-input> <el-input slot="reference" v-model="prop" v-popover:popover :readonly="true" placeholder="请输入搜索条件" style="cursor: pointer;"></el-input> </div> <div v-show="searchValBoxShow" class="search-val-box"> <div> <div @click="searchVlaClick(item)" v-for="(item, index) in searchArray" :key="index" >{{ item.name }}</div> <div @click="searchVlaClick(item)" v-for="(item, index) in searchArray" :key="index">{{ item.name }} </div> </div> </div> @@ -69,11 +46,8 @@ </div> <div class="housing-bg"> <!-- <img style="height: 100%;" :src="villageInfo.pic_url" alt /> --> <el-image style=" height: 100%" :src="villageInfo.pic_url" :preview-src-list="villageInfo.pic_url_list" ></el-image> <el-image style=" height: 100%" :src="villageInfo.pic_url" :preview-src-list="villageInfo.pic_url_list"></el-image> </div> <div class="housing-introduce"> <div> @@ -96,42 +70,16 @@ </div> <div class="nav-tab" ref="navTabBox"> <div class="nav" :class="navType == 0 ? 'choosed' : ''" @click="navClick" data-type="0" >基本信息</div> <div class="nav" :class="navType == 1 ? 'choosed' : ''" @click="navClick" data-type="1" >报警信息</div> <div class="nav" :class="navType == 0 ? 'choosed' : ''" @click="navClick" data-type="0">基本信息</div> <div class="nav" :class="navType == 1 ? 'choosed' : ''" @click="navClick" data-type="1">报警信息</div> </div> <div class="base-info" v-show="navType == 0"> <div class="sub-nav-list"> <div class="sub-nav" :class="{ on: subNavType == 1 }" @click="subNavType = 1" >楼栋</div> <div class="sub-nav" :class="{ on: subNavType == 2 }" @click="subNavType = 2" >出入口</div> <div class="sub-nav" :class="{ on: subNavType == 3 }" @click="subNavType = 3" >停车场</div> <div class="sub-nav" :class="{ on: subNavType == 4 }" @click="subNavType = 4" >商业</div> <div class="sub-nav" :class="{ on: subNavType == 1 }" @click="subNavType = 1">楼栋</div> <div class="sub-nav" :class="{ on: subNavType == 2 }" @click="subNavType = 2">出入口</div> <div class="sub-nav" :class="{ on: subNavType == 3 }" @click="subNavType = 3">停车场</div> <div class="sub-nav" :class="{ on: subNavType == 4 }" @click="subNavType = 4">商业</div> </div> <div class="floor-content" v-show="subNavType == 1"> @@ -142,30 +90,20 @@ <div class="build-outBox" ref="BuildOutBox"> <div class="build-box" style="left: 0px;"> <!-- :style="{ width: `calc(${Math.ceil(buildingList.length / 10)} * (356 / 1920) * 100vw` }" --> <div class="ridgepole-list" v-for="index of Math.ceil(buildingList.length / 10)" :key="index" > <div v-for="(item, index) in buildingList.slice((index - 1) * 10, index * 10)" :key="index" @click="buildingClick(item)" :class="{ on: buildingChoosed.name == item.name }" :title="item.name" > <div class="ridgepole-list" v-for="index of Math.ceil(buildingList.length / 10)" :key="index"> <div v-for="(item, index) in buildingList.slice((index - 1) * 10, index * 10)" :key="index" @click="buildingClick(item)" :class="{ on: buildingChoosed.name == item.name }" :title="item.name"> {{ item.name item.name }} </div> </div> </div> </div> <div class="nextBtn rightBtn" @click="nextBtn"> <i v-show="buildingList.length > 10 && nextBtnShow" class="el-icon-caret-right" ></i> <i v-show="buildingList.length > 10 && nextBtnShow" class="el-icon-caret-right"></i> </div> </div> @@ -175,15 +113,15 @@ <div class="content"> <div> <div>电梯</div> <div>{{floorInfo.elev == 1 ? '有' :'无'}}</div> <div>{{ floorInfo.elev == 1 ? '有' : '无' }}</div> </div> <div> <div>楼层总数</div> <div>{{floorInfo.floor_num}}</div> <div>{{ floorInfo.floor_num }}</div> </div> <div> <div>户室总数</div> <div>{{floorInfo.house_num}}</div> <div>{{ floorInfo.house_num }}</div> </div> </div> </div> @@ -197,7 +135,7 @@ <div>户籍人口</div> </div> <div @click="goTOPeopleDetail(2)"> <div style="color:#FF796C">{{peopleInfo.KeyPopulation}}</div> <div style="color:#FF796C">{{ peopleInfo.KeyPopulation }}</div> <div>重点人口</div> </div> </div> @@ -245,19 +183,9 @@ <div class="condo"> <div class="type">选择单元</div> <div class="type-select"> <el-select size="small" v-model="unitValue" placeholder="请选择" @change="chooseUnit" > <el-option v-for="item in unitOptions" :key="item.value" :label="item.label" :value="item.value" class="unit-option" ></el-option> <el-select size="small" v-model="unitValue" placeholder="请选择" @change="chooseUnit"> <el-option v-for="item in unitOptions" :key="item.value" :label="item.label" :value="item.value" class="unit-option"></el-option> </el-select> </div> </div> @@ -371,60 +299,36 @@ </div> <div class="come-out-content" v-show="subNavType == 2"> <el-table :data="comeOutData" style="width: 100%" <el-table :data="comeOutData" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'comeOut')" > <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true" ></el-table-column> :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'comeOut')"> <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true"></el-table-column> <el-table-column prop="x" label="经度" width="100"></el-table-column> <el-table-column prop="y" label="纬度" width="100"></el-table-column> </el-table> </div> <div class="park-content" v-show="subNavType == 3"> <el-table :data="parkingLotData" style="width: 100%" <el-table :data="parkingLotData" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'park')" > <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true" ></el-table-column> :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'park')"> <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true"></el-table-column> <el-table-column prop="x" label="经度" width="100"></el-table-column> <el-table-column prop="y" label="纬度" width="100"></el-table-column> </el-table> </div> <div class="business-content" v-show="subNavType == 4"> <el-table :data="businessData" style="width: 100%" <el-table :data="businessData" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'business')" > <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true" ></el-table-column> :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'business')"> <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true"></el-table-column> <el-table-column prop="x" label="经度" width="100"></el-table-column> <el-table-column prop="y" label="纬度" width="100"></el-table-column> </el-table> @@ -432,62 +336,35 @@ </div> <div class="police-info" v-if="navType == 1" ref="policeTableBox"> <el-table :data="callPoliceData" style="width: 100%" :height="currentTableHeight" <el-table :data="callPoliceData" style="width: 100%" :height="currentTableHeight" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName" @row-click="clickData" > <el-table-column prop="JJDWMC" :show-overflow-tooltip="true" label="接警单位" min-width="34%" ></el-table-column> :row-class-name="tableRowClassName" @row-click="clickData"> <el-table-column prop="JJDWMC" :show-overflow-tooltip="true" label="接警单位" min-width="34%"></el-table-column> <el-table-column label="报警时间" min-width="26%"> <template slot-scope="scope"> <span>{{ scope.row.BJSJ.substring(0, 10) }}</span> </template> </el-table-column> <el-table-column prop="JJYXM" :show-overflow-tooltip="true" label="接警员" min-width="20%" ></el-table-column> <el-table-column prop="BJRXM" :show-overflow-tooltip="true" label="报警人" min-width="20%" ></el-table-column> <el-table-column prop="JJYXM" :show-overflow-tooltip="true" label="接警员" min-width="20%"></el-table-column> <el-table-column prop="BJRXM" :show-overflow-tooltip="true" label="报警人" min-width="20%"></el-table-column> </el-table> <div class="pages" 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-pagination background layout="prev, pager, next" :page-size="callPolicePage.pageSize" :page-count="callPolicePage.count" :current-page="callPolicePage.currentPage" @current-change="handleCurrentChange"></el-pagination> </div> </div> </div> </div> <!-- <transition name="special-animal"></transition>--> <div class="search-content"> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <div class="clear" v-show="isShowClearBtn" @click="clearSearchValue" title="清空"> <img src="../../../public/img/icon/clear.png" alt /> </div> @@ -495,23 +372,13 @@ </div> <div v-show="searchExtensivelyValBoxShow" class="searchExtensively-val-box"> <div> <div @click="searchExtensivelyVlaClick(item)" v-for="(item, index) in searchExtensivelyArray" :key="index" >{{ item.name }}</div> <div @click="searchExtensivelyVlaClick(item)" v-for="(item, index) in searchExtensivelyArray" :key="index">{{ item.name }}</div> </div> </div> <el-dialog title="报警信息" :modal="true" :visible.sync="policeSituationVisible" :append-to-body="true" :before-close="policeSituationBeforeClose" :close-on-click-modal="true" class="policeSituation-details-box" > <el-dialog title="报警信息" :modal="true" :visible.sync="policeSituationVisible" :append-to-body="true" :before-close="policeSituationBeforeClose" :close-on-click-modal="true" class="policeSituation-details-box"> <div class="box"> <div class="item"> <div>接警单位编号:</div> @@ -572,34 +439,19 @@ </div> </el-dialog> <el-dialog :title="residentDetailsTitle" :modal="false" :visible.sync="residentDetailsShow" :before-close="residentDetailsClose" :close-on-click-modal="true" class="resident-details-box" width="30%" > <el-table :data="houseDate" <el-dialog :title="residentDetailsTitle" :modal="false" :visible.sync="residentDetailsShow" :before-close="residentDetailsClose" :close-on-click-modal="true" class="resident-details-box" width="30%"> <el-table :data="houseDate" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" > :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }"> <el-table-column prop="realName" label="姓名"></el-table-column> <el-table-column prop="phone" label="电话"></el-table-column> <el-table-column prop="cardNo" label="身份证号"></el-table-column> </el-table> </el-dialog> <el-dialog :title="keyPersonTitle" :modal="false" :visible.sync="keyPersonVisible" :before-close="keyPersonBeforeClose" :close-on-click-modal="true" class="keyPerson-details-box" > <el-dialog :title="keyPersonTitle" :modal="false" :visible.sync="keyPersonVisible" :before-close="keyPersonBeforeClose" :close-on-click-modal="true" class="keyPerson-details-box"> <div class="header"> <div> 姓名: @@ -610,21 +462,14 @@ <input type="text" v-model="callPhone" placeholder="请输入联系电话" /> </div> <el-button type="primary" icon="el-icon-search" @click="searchPeopleDetail">搜索</el-button> <el-button type="primary" icon="el-icon-delete" @click="clearPeopleDetailSearchValue" >清空</el-button> <el-button type="primary" icon="el-icon-delete" @click="clearPeopleDetailSearchValue">清空</el-button> </div> <el-table :data="personDetailArr" style="width: 100%" <el-table :data="personDetailArr" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" > :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }"> <el-table-column label="序号" type="index" width="50" align="center"> <template scope="scope"> <span>{{(peoplePage.currentPage - 1) * peoplePage.pageSize + scope.$index +1}}</span> <template slot-scope="scope"> <span>{{(peoplePage.currentPage - 1) * peoplePage.pageSize + scope.$index + 1}}</span> </template> </el-table-column> <el-table-column prop="type" label="重点人员类型" v-if="keyPeopleType == 2"></el-table-column> @@ -636,14 +481,9 @@ <el-table-column prop="areaName" label="所属责任区"></el-table-column> </el-table> <div class="pages" 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-pagination background layout="prev, pager, next" :page-size="peoplePage.pageSize" :total="peoplePage.total" :current-page="peoplePage.currentPage" @current-change="peopleHandleCurrentChange"></el-pagination> </div> </el-dialog> </div> @@ -791,7 +631,7 @@ if (this.navType == 1) { this.callPolicePage.currentPage = 1 // this.getAlarmList() this.getAlarmList() } }, @@ -1318,7 +1158,7 @@ border-radius: 10px; overflow: hidden; & > div { &>div { height: 100%; overflow-y: auto; @@ -1353,11 +1193,9 @@ left: 10px; right: 10px; bottom: 4px; background: linear-gradient( 135deg, rgb(33 150 243 / 74%), rgb(254 254 254 / 0%) ); background: linear-gradient(135deg, rgb(33 150 243 / 74%), rgb(254 254 254 / 0%)); z-index: -1; } } @@ -1368,7 +1206,7 @@ } .housing-introduce { & > div { &>div { padding: 0 10px; display: flex; @@ -1431,7 +1269,7 @@ } } & > .floor-content { &>.floor-content { .build-info { display: flex; position: relative; @@ -1480,7 +1318,7 @@ flex-wrap: wrap; width: 356px; & > div { &>div { display: flex; align-items: center; justify-content: center; @@ -1514,7 +1352,7 @@ .content { display: flex; & > div { &>div { height: 26px; line-height: 26px; flex: 1; @@ -1522,11 +1360,11 @@ justify-content: center; border-right: 1px solid #50555f; & > div { &>div { cursor: pointer; } & > div:last-child { &>div:last-child { margin-left: 14px; font-size: 18px; font-weight: bold; @@ -1534,11 +1372,11 @@ } } & > div:first-child { &>div:first-child { width: 30%; } & > div:last-child { &>div:last-child { border: none; } } @@ -1563,10 +1401,10 @@ display: flex; justify-content: space-around; & > div { &>div { flex: 1; & > div:first-child { &>div:first-child { height: 30px; line-height: 30px; font-size: 18px; @@ -1574,7 +1412,7 @@ color: #499d99; } & > div:last-child { &>div:last-child { height: 26px; line-height: 26px; } @@ -1589,8 +1427,8 @@ justify-content: space-around; background: rgba(8, 56, 185, 0.5); & > div { & > div:first-child { &>div { &>div:first-child { height: 30px; line-height: 30px; font-size: 18px; @@ -1628,6 +1466,7 @@ } .house-element-info { .condo, .legend { display: flex; @@ -1650,12 +1489,12 @@ display: flex; flex: 1; & > div { &>div { flex: 1; display: flex; align-items: center; & > span { &>span { margin: 0 10px; width: 14px; height: 8px; @@ -1722,7 +1561,7 @@ left: 0; transition: all 1s; & > div { &>div { margin: 0 4px; display: flex; justify-content: center; @@ -1735,7 +1574,7 @@ border: 0.0925925926vh solid #fff; } & > .on { &>.on { border: 1px solid orange; color: orange; } @@ -1747,7 +1586,7 @@ margin-top: 14px; height: 220px; & > div { &>div { margin: 8px; height: 36px; line-height: 36px; @@ -1761,7 +1600,7 @@ flex: 1; display: flex; & > div { &>div { margin: 0 4px; position: relative; width: 68px; @@ -1785,33 +1624,29 @@ } .focus { top: calc( (100% - 18px) / 4 * 2 + 6px ); top: calc((100% - 18px) / 4 * 2 + 6px); background: rgb(255, 121, 108); } .warning { top: calc( (100% - 18px) / 4 * 3 + 12px ); top: calc((100% - 18px) / 4 * 3 + 12px); background: rgb(254, 172, 4); } } & > .chuzu { &>.chuzu { border: 1px solid #3a8b3a; } & > .zizhu { &>.zizhu { border: 1px solid #2c77bb; } & > .kongzhi { &>.kongzhi { border: 1px solid #5c6169; } & > .shangye { &>.shangye { border: 1px solid #cc9456; } } @@ -1932,7 +1767,7 @@ border-radius: 10px; overflow: hidden; & > div { &>div { height: 100%; overflow-y: auto; @@ -1962,11 +1797,9 @@ height: 100%; overflow: hidden; border-radius: 2px; background: linear-gradient( 135deg, rgba(252, 252, 252, 0.108), rgb(254, 254, 254) ); background: linear-gradient(135deg, rgba(252, 252, 252, 0.108), rgb(254, 254, 254)); animation: prog 3s ease infinite; } src/views/layout/index.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:24 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-01-12 10:26:58 * @LastEditTime: 2023-01-16 15:50:43 * @FilePath: \srs-police-affairs\src\views\layout\index.vue * @Description: * @@ -89,7 +89,7 @@ </template> <script> import { getUserInfo,getToken } from '@/utils/auth' import { getUserInfo, getToken } from '@/utils/auth' export default { data () { return { @@ -131,7 +131,9 @@ { menuName: '运维管理', openExternal: true, path: 'http://192.168.0.126:1888/#/security/security' // 内网 path: 'http://10.141.11.11:8081/#/security/security' // path: 'http://192.168.0.126:1888/#/security/security' } ], @@ -196,7 +198,7 @@ goToPath (params) { if (params.openExternal) { var path = params.path + "?token=" + getToken() console.log(path,3333) console.log(path, 3333) window.open(path) return } src/views/login/index.vue
@@ -70,9 +70,9 @@ //角色ID roleId: "", //用户名 username: "admin", username: "", //密码 password: "admin", password: "", //账号类型 type: "account", //验证码的值 src/views/police/index.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-01-13 15:41:27 * @LastEditTime: 2023-01-15 16:03:00 * @FilePath: \srs-police-affairs\src\views\police\index.vue * @Description: 辖区管理 * @@ -552,7 +552,12 @@ this.$EventBus.$emit('layerPolylineAdd', { layerName: 'polylineLayer', positions: positionStr, material: global.DC.Color.RED, material: new global.DC.PolylineImageTrailMaterialProperty({ color: global.DC.Color.GREEN, speed: 10, image: '/img/icon/arrow.png', repeat: { x: 10, y: 1 } }), width: 6 })