12 files modified
4 files added
1 files deleted
| | |
| | | background: #fff; |
| | | border-radius: 5px; |
| | | z-index: 97; |
| | | background-color: $bg-color !important; |
| | | // background-color: $table-header-bg-color !important; |
| | | cursor: pointer; |
| | | |
| | | .img, |
| | |
| | | background-size: 100% 100%; |
| | | width: 80px; |
| | | height: 60px; |
| | | border: 2px solid #1a6bae; |
| | | border: 2px solid $table-header-bg-color; |
| | | |
| | | span { |
| | | position: absolute; |
| | |
| | | } |
| | | |
| | | &>.on { |
| | | background-color: #1a6bae; |
| | | background-color: $table-header-bg-color; |
| | | } |
| | | } |
| | | |
| | | .img:hover, |
| | | .elec:hover { |
| | | border: 2px solid #fff; |
| | | .img:hover span, |
| | | .elec:hover span { |
| | | // border: 2px solid #eee; |
| | | font-weight: 700; |
| | | } |
| | | |
| | | .elec { |
| | |
| | | .el-input__inner { |
| | | background-color: $table-body-tr-2n-color; |
| | | color: #fff; |
| | | border: 1px solid rgba(0, 92, 169, 1.0); |
| | | // border: 1px solid rgba(0, 92, 169, 1.0); |
| | | border: 1px solid $table-body-tr-n-color; |
| | | } |
| | | |
| | | .el-select-dropdown { |
| | | border: 1px solid rgba(0, 92, 169, 1.0); |
| | | // border: 1px solid rgba(0, 92, 169, 1.0); |
| | | border: 1px solid $table-body-tr-n-color; |
| | | } |
| | | |
| | | .el-select-dropdown__item { |
| | | font-size: 12px; |
| | | color: #fff; |
| | | font-weight: 200; |
| | | background-color: #26426a !important; |
| | | background-color: $table-body-tr-n-color!important; |
| | | } |
| | | |
| | | .el-select-dropdown__list { |
| | |
| | | } |
| | | |
| | | .el-select-dropdown__item:onBlur { |
| | | background-color: rgba(0, 92, 169, 0.3); |
| | | // background-color: rgba(0, 92, 169, 0.3); |
| | | background-color: $table-body-tr-n-color; |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | |
| | | .el-date-editor .el-range-input { |
| | | background-color: #1b3e6f; |
| | | // background-color: #1b3e6f; |
| | | background-color: transparent; |
| | | color: #fff; |
| | | height: 32px; |
| | | } |
| | |
| | | |
| | | .el-picker-panel [slot=sidebar], |
| | | .el-picker-panel__sidebar { |
| | | background-color: #1b3e6f; |
| | | // background-color: #1b3e6f; |
| | | background-color: transparent; |
| | | } |
| | | |
| | | .el-picker-panel__shortcut { |
| | |
| | | <div class="category">活动类型:</div> |
| | | <div class="category-value"> |
| | | <el-select size="small" v-model="activityType" placeholder="请选择"> |
| | | <el-option v-for="item in activityOptions" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | <el-option |
| | | v-for="item in activityOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></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 |
| | | size="small" |
| | | v-model="selectTime" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | style="width:268px" |
| | | ></el-date-picker> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="result-content"> |
| | | <div class="table-box"> |
| | | <div class="row-box" :class="{ on: currentClickIndex === index }" |
| | | <div |
| | | class="row-box" |
| | | :class="{ on: currentClickIndex === index }" |
| | | v-for="(item, index) in activityList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | :key="index" @click="activityListClick(item, index)"> |
| | | :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.updateTime }}</div> |
| | | <div |
| | | class="category-value" |
| | | >{{ item.startTime }} 至 {{ item.updateTime }}</div> |
| | | </div> |
| | | <div> |
| | | <div class="category">活动详情:</div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="activityList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="activityList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | </div> |
| | | </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> |
| | | <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> |
| | | <el-switch |
| | | v-model="polylineBtnSwitch" |
| | | @change="switchBtnChange" |
| | | active-color="#13ce66" |
| | | inactive-color="#ccc" |
| | | ></el-switch> |
| | | </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-weight: 700; |
| | | width: 60px; |
| | | height: 32px; |
| | | background-color: rgb(0, 92, 169); |
| | | background-color: $table-body-tr-2n-color; |
| | | color: #fff; |
| | | border: 1px solid rgb(0, 92, 169); |
| | | cursor: pointer; |
| | |
| | | } |
| | | |
| | | button:active { |
| | | background-color: rgb(0, 92, 169); |
| | | background-color: $table-body-tr-2n-color; |
| | | border: 1px solid rgb(0, 92, 169); |
| | | color: rgb(189, 185, 185) !important; |
| | | } |
| | |
| | | font-size: 14px; |
| | | |
| | | .row-content { |
| | | &>div { |
| | | & > div { |
| | | display: flex; |
| | | line-height: 28px; |
| | | |
| | |
| | | line-height: 28px; |
| | | display: flex; |
| | | |
| | | &>div { |
| | | & > div { |
| | | text-align: left; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | li:nth-child(2n) { |
| | | background: rgba(20, 50, 123, 1); |
| | | background: $table-body-tr-2n-color; |
| | | color: #fff !important; |
| | | } |
| | | |
| | | li:nth-child(2n-1) { |
| | | background: rgba(29, 38, 105, 1); |
| | | background: $table-body-tr-n-color; |
| | | color: #fff; |
| | | } |
| | | } |
| | |
| | | <div class="title"> |
| | | 案件统计 |
| | | <div class="timer"> |
| | | <el-date-picker v-model="eventTime" type="daterange" align="right" unlink-panels range-separator="至" |
| | | start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions"> |
| | | </el-date-picker> |
| | | <el-date-picker |
| | | v-model="eventTime" |
| | | type="daterange" |
| | | align="right" |
| | | unlink-panels |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | :picker-options="pickerOptions" |
| | | ></el-date-picker> |
| | | </div> |
| | | </div> |
| | | <div id="EventChangeEcharts" class="echarts-box"></div> |
| | |
| | | |
| | | <div class="alert-box" ref="alertBox"> |
| | | <div class="title" ref="alertBoxTitle"> |
| | | <div> |
| | | 安保活动 |
| | | </div> |
| | | <div>安保活动</div> |
| | | <div class="title-tab"> |
| | | <span :class="{ choosed: acttype == 0 }" @click="actTabClick(0)">正在进行</span>/<span |
| | | :class="{ choosed: acttype == 1 }" @click="actTabClick(1)">历史活动</span> |
| | | <span :class="{ choosed: acttype == 0 }" @click="actTabClick(0)">正在进行</span>/ |
| | | <span :class="{ choosed: acttype == 1 }" @click="actTabClick(1)">历史活动</span> |
| | | </div> |
| | | </div> |
| | | <div id="peopleList" class="echarts-box"> |
| | | <el-table size="small" :height="tableHeight" :data="acttype == 0 ? underwayArr : historyArr" |
| | | <el-table |
| | | size="small" |
| | | :height="tableHeight" |
| | | :data="acttype == 0 ? underwayArr : historyArr" |
| | | 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" ref="activityTable" @row-click="activityRowClick"> |
| | | :row-class-name="tableRowClassName" |
| | | ref="activityTable" |
| | | @row-click="activityRowClick" |
| | | > |
| | | <el-table-column prop="activityName" label="活动名称"></el-table-column> |
| | | <el-table-column prop="startTime" label="开始时间"></el-table-column> |
| | | <el-table-column prop="endTime" label="结束时间"></el-table-column> |
| | |
| | | |
| | | <div class="crowd-box" ref="crowdBox"> |
| | | <div class="title"> |
| | | <div> |
| | | 现有设备 |
| | | </div> |
| | | <div>现有设备</div> |
| | | <div class="title-tab"> |
| | | <span :class="{ choosed: linetype == 0 }" @click="lineTabClick(0)">设备种类</span>/<span |
| | | :class="{ choosed: linetype == 1 }" @click="lineTabClick(1)">设备状态</span> |
| | | <span :class="{ choosed: linetype == 0 }" @click="lineTabClick(0)">设备种类</span>/ |
| | | <span :class="{ choosed: linetype == 1 }" @click="lineTabClick(1)">设备状态</span> |
| | | </div> |
| | | <div class="legend"> |
| | | <ul> |
| | | <li> |
| | | <div> |
| | | <img src="/img/icon/pCar.png" alt /> |
| | | </div>车辆 |
| | | </li> |
| | | <li> |
| | | <img src="/img/icon/monitor.png" alt /> |
| | | <div></div>摄像头 |
| | | </li> |
| | | <li> |
| | | <img src="/img/icon/recorder.png" alt /> |
| | | <div></div>执法记录仪 |
| | | </li> |
| | | <li> |
| | | <img src="/img/icon/pPhone.png" alt /> |
| | | <div></div>手台 |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | <div style="overflow: hidden;" id="EquipmentEcharts" class="echarts-box"></div> |
| | |
| | | tipHtml = `<span style="display: inline-block; margin-right: 4px; border-radius: 10px; width: 10px; height: 10px;background-color: #91cc75;"></span> ${params.data.name}<strong style="margin-left:10px">${params.data.value}台</strong><strong style="margin-left:10px;color:#5c7bd9">${params.percent}%</strong><br /><span style="color:#00fe01">运行:${params.data.working}台</span><span style="margin-left:10px;color:#949494">备用:${params.data.spare}台</span><br /><span style="color:#fe2929">检修:${params.data.overhaul}台</span><span style="margin-left:10px;color:#69a9ff">禁用:${params.data.disable}台</span>` |
| | | } |
| | | return tipHtml |
| | | } |
| | | }, |
| | | legend: { |
| | | left: '60%', |
| | | y: '25%', |
| | | itemGap: 20, |
| | | textStyle: { |
| | | color: '#fff' |
| | | }, |
| | | formatter: function (name) { |
| | | let tarValue |
| | | for (let i = 0; i < dataArr.length; i++) { |
| | | if (dataArr[i].name == name) { |
| | | tarValue = dataArr[i].value |
| | | } |
| | | } |
| | | let v = tarValue |
| | | return `${name} ${v} 台 ` |
| | | }, |
| | | backgroundColor: 'rgba(0,0,0,0.8)', |
| | | borderColor: 'rgba(0,0,0,0.7)', |
| | | }, |
| | | // legend: { |
| | | // left: '60%', |
| | | // y: '25%', |
| | | // itemGap: 20, |
| | | // textStyle: { |
| | | // color: '#fff' |
| | | // }, |
| | | // formatter: function (name) { |
| | | // let tarValue |
| | | // for (let i = 0; i < dataArr.length; i++) { |
| | | // if (dataArr[i].name == name) { |
| | | // tarValue = dataArr[i].value |
| | | // } |
| | | // } |
| | | // let v = tarValue |
| | | // return `${name} ${v} 台 ` |
| | | // }, |
| | | // }, |
| | | graphic: { |
| | | type: "text", |
| | | left: "16.5%", |
| | | top: "45%", |
| | | left: "36.5%", |
| | | top: "48%", |
| | | style: { |
| | | text: "设备总数", |
| | | textAlign: "center", |
| | |
| | | }, |
| | | title: { |
| | | text: `${this.regionTotal}`, |
| | | left: "22%", |
| | | left: "42%", |
| | | top: "56%", |
| | | textStyle: { |
| | | color: "#27D9C8", |
| | |
| | | name: '', |
| | | type: 'pie', |
| | | radius: ['40%', '70%'], |
| | | center: ['27%', '57%'], |
| | | center: ['47%', '57%'], |
| | | avoidLabelOverlap: false, |
| | | labelLine: { |
| | | normal: { |
| | | length: 15, |
| | | lineStyle: { |
| | | width: 3 |
| | | } |
| | | } |
| | | }, |
| | | label: { |
| | | show: false, |
| | | position: 'center', |
| | | // normal: { |
| | | // formatter: function (params) { |
| | | // // return params.name + "\n\n" + params.percent + "%" |
| | | // console.log(params, 22222) |
| | | // let tipHtml = `` |
| | | // if ('carCount' in params.data) { |
| | | // tipHtml = `${params.data.name}${params.data.value}台${params.percent}%警车:${params.data.carCount}台\n\n监控:${params.data.monitorCount}台手台:${params.data.phoneCount}台手持记录仪:${params.data.recorderCount}台` |
| | | // } else { |
| | | // tipHtml = `${params.data.name}${params.data.value}台${params.percent}%运行:${params.data.working}台\n\n备用:${params.data.spare}台检修:${params.data.overhaul}台禁用:${params.data.disable}台` |
| | | // } |
| | | // return tipHtml |
| | | // }, |
| | | // textStyle: { |
| | | // color: '#fff', |
| | | // fontSize: 14 |
| | | // } |
| | | // } |
| | | }, |
| | | labelLine: { |
| | | show: false |
| | | normal: { |
| | | formatter: '{b}', |
| | | // formatter: function (params) { |
| | | // // return params.name + "\n\n" + params.percent + "%" |
| | | // console.log(params, 22222) |
| | | // let tipHtml = `` |
| | | // if ('carCount' in params.data) { |
| | | // tipHtml = `${params.data.name}${params.data.value}台${params.percent}%警车:${params.data.carCount}台\n\n监控:${params.data.monitorCount}台手台:${params.data.phoneCount}台手持记录仪:${params.data.recorderCount}台` |
| | | // } else { |
| | | // tipHtml = `${params.data.name}${params.data.value}台${params.percent}%运行:${params.data.working}台\n\n备用:${params.data.spare}台检修:${params.data.overhaul}台禁用:${params.data.disable}台` |
| | | // } |
| | | // return tipHtml |
| | | // }, |
| | | textStyle: { |
| | | color: '#fff', |
| | | fontSize: 14 |
| | | } |
| | | } |
| | | }, |
| | | data: dataArr, |
| | | itemStyle: { |
| | |
| | | equipmentmyChart.dispatchAction({ |
| | | type: 'highlight', seriesIndex: 0, dataIndex: curIndex |
| | | }) |
| | | equipmentmyChart.dispatchAction({ |
| | | type: "showTip", |
| | | seriesIndex: 0, |
| | | dataIndex: curIndex, |
| | | // position: ['5%', '5%'], |
| | | }) |
| | | // equipmentmyChart.dispatchAction({ select |
| | | // type: "showTip", |
| | | // seriesIndex: 0, |
| | | // dataIndex: curIndex, |
| | | // // position: ['5%', '5%'], |
| | | // }) |
| | | }, 1000) |
| | | equipmentmyChart.on('mouseover', function (param) { |
| | | clearInterval(timer) |
| | |
| | | equipmentmyChart.dispatchAction({ |
| | | type: 'highlight', seriesIndex: 0, dataIndex: curIndex |
| | | }) |
| | | equipmentmyChart.dispatchAction({ |
| | | type: "showTip", |
| | | seriesIndex: 0, |
| | | dataIndex: curIndex, |
| | | // position: ['5%', '5%'], |
| | | }) |
| | | // equipmentmyChart.dispatchAction({ |
| | | // type: "showTip", |
| | | // seriesIndex: 0, |
| | | // dataIndex: curIndex, |
| | | // // position: ['5%', '5%'], |
| | | // }) |
| | | }, 1000) |
| | | }) |
| | | }, |
| | |
| | | // background-image: linear-gradient(to right, #2e4aba, #010d3e); |
| | | |
| | | .title-tab { |
| | | color: #99CCCC; |
| | | color: #99cccc; |
| | | |
| | | span { |
| | | cursor: pointer; |
| | |
| | | margin-left: 50%; |
| | | letter-spacing: 1px; |
| | | } |
| | | .legend { |
| | | position: absolute; |
| | | width: calc(100% - 36px); |
| | | height: 70%; |
| | | top: 100%; |
| | | ul { |
| | | display: flex; |
| | | height: 100%; |
| | | li { |
| | | height: 100%; |
| | | display: flex; |
| | | line-height: 100%; |
| | | img { |
| | | height: 80%; |
| | | } |
| | | // div::before { |
| | | // content: ''; |
| | | // } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .sub-title { |
| | |
| | | background: $sub-tab-bg-color; |
| | | cursor: pointer; |
| | | |
| | | &>div { |
| | | & > div { |
| | | height: 26px; |
| | | line-height: 26px; |
| | | } |
| | |
| | | .others { |
| | | width: 100%; |
| | | height: 495px; |
| | | background-color: red; |
| | | |
| | | .pages { |
| | | background-color: #14327b; |
| | | background-color: transparent; |
| | | padding-bottom: 3px; |
| | | padding-top: 10px; |
| | | } |
| | |
| | | |
| | | <template> |
| | | <div class="container"> |
| | | <div v-show='boxShow' class="container-content"> |
| | | |
| | | <div v-show="boxShow" class="container-content"> |
| | | <div v-show="contentShow" class="search-box"> |
| | | <!-- <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入搜索条件" /> |
| | | <button @click="searchClick" class="el-icon-search"></button> --> |
| | | <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-input placeholder="请输入搜索条件" v-model="filterText"> </el-input> |
| | | <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 |
| | | @click="searchVlaClick(item)" |
| | | v-for="(item, index) in searchArray" |
| | | :key="index" |
| | | > |
| | | {{ |
| | | item.name |
| | | }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | |
| | | <div class="nav-tab"> |
| | | <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 == 2 ? 'choosed' : ''" @click="navClick" data-type="2">预警信息 |
| | | </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 |
| | | class="nav" |
| | | :class="navType == 2 ? 'choosed' : ''" |
| | | @click="navClick" |
| | | data-type="2" |
| | | >预警信息</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"> |
| | |
| | | <i class="el-icon-caret-left"></i> |
| | | </div> |
| | | <div class="build-outBox"> |
| | | <div class="build-box" style="left: 0px;" |
| | | :style="{ width: Math.ceil(villageHousesList.length / 10) * 356 + 'px' }"> |
| | | <div class="ridgepole-list" |
| | | v-for="index of Math.ceil(villageHousesList.length / 10)" :key="index"> |
| | | <div v-for="(item, index) in villageHousesList.slice((index - 1) * 10, index * 10)" |
| | | :key="index" @click="buildingClick(item)" |
| | | :class="{ on: ridgepoleNum.name == item.name }">{{ item.name }}</div> |
| | | <div |
| | | class="build-box" |
| | | style="left: 0px;" |
| | | :style="{ width: Math.ceil(villageHousesList.length / 10) * 356 + 'px' }" |
| | | > |
| | | <div |
| | | class="ridgepole-list" |
| | | v-for="index of Math.ceil(villageHousesList.length / 10)" |
| | | :key="index" |
| | | > |
| | | <div |
| | | v-for="(item, index) in villageHousesList.slice((index - 1) * 10, index * 10)" |
| | | :key="index" |
| | | @click="buildingClick(item)" |
| | | :class="{ on: ridgepoleNum.name == item.name }" |
| | | >{{ item.name }}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="condo"> |
| | | <div class="type">选择单元</div> |
| | | <div class="type-select"> |
| | | <el-select size="small" v-model="apartmentValue" placeholder="请选择" |
| | | @change="chooseUnit"> |
| | | <el-option v-for="item in ridgepoleNum1.unit" :key="item.value" |
| | | :label="item.label" :value="item.value"></el-option> |
| | | <el-select |
| | | size="small" |
| | | v-model="apartmentValue" |
| | | placeholder="请选择" |
| | | @change="chooseUnit" |
| | | > |
| | | <el-option |
| | | v-for="item in ridgepoleNum1.unit" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="type-val"> |
| | | <div> |
| | | <span |
| | | style="width: 10px; height: 10px; background: #0E88FF; border-radius: 50%;"></span> |
| | | style="width: 10px; height: 10px; background: #0E88FF; border-radius: 50%;" |
| | | ></span> |
| | | 流动人口 |
| | | </div> |
| | | <div> |
| | | <span |
| | | style="width: 10px; height: 10px; background: #FF796C; border-radius: 50%;"></span> |
| | | style="width: 10px; height: 10px; background: #FF796C; border-radius: 50%;" |
| | | ></span> |
| | | 重点人员 |
| | | </div> |
| | | <div> |
| | | <span |
| | | style="width: 10px; height: 10px; background: #FEAC04; border-radius: 50%;"></span> |
| | | style="width: 10px; height: 10px; background: #FEAC04; border-radius: 50%;" |
| | | ></span> |
| | | 境外人口 |
| | | </div> |
| | | </div> |
| | |
| | | <div class="type">房屋图例</div> |
| | | <div class="type-val"> |
| | | <div> |
| | | <span style="width: 14px; height: 8px; border: 1px solid #3A8B3A;"></span> |
| | | <span |
| | | style="width: 14px; height: 8px; border: 1px solid #3A8B3A;" |
| | | ></span> |
| | | 出租 |
| | | </div> |
| | | <div> |
| | | <span style="width: 14px; height: 8px; border: 1px solid #2C77BB;"></span> |
| | | <span |
| | | style="width: 14px; height: 8px; border: 1px solid #2C77BB;" |
| | | ></span> |
| | | 自住 |
| | | </div> |
| | | <div> |
| | | <span style="width: 14px; height: 8px; border: 1px solid #5C6169;"></span> |
| | | <span |
| | | style="width: 14px; height: 8px; border: 1px solid #5C6169;" |
| | | ></span> |
| | | 空置 |
| | | </div> |
| | | <div> |
| | | <span style="width: 14px; height: 8px; border: 1px solid #CC9456;"></span> |
| | | <span |
| | | style="width: 14px; height: 8px; border: 1px solid #CC9456;" |
| | | ></span> |
| | | 商业 |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="floor-box"> |
| | | <div class="floor-num" style="left: 0"> |
| | | <div :class="{ on: floorsType == 1 }" @click="floorsType = 1">1~5层</div> |
| | | <div :class="{ on: floorsType == 2 }" @click="floorsType = 2">6~10层</div> |
| | | <div :class="{ on: floorsType == 3 }" @click="floorsType = 3">11~15层</div> |
| | | <div :class="{ on: floorsType == 4 }" @click="floorsType = 4">16~20层</div> |
| | | <div :class="{ on: floorsType == 5 }" @click="floorsType = 5">21~25层</div> |
| | | <div :class="{ on: floorsType == 6 }" @click="floorsType = 6">26~30层</div> |
| | | <div |
| | | :class="{ on: floorsType == 1 }" |
| | | @click="floorsType = 1" |
| | | >1~5层</div> |
| | | <div |
| | | :class="{ on: floorsType == 2 }" |
| | | @click="floorsType = 2" |
| | | >6~10层</div> |
| | | <div |
| | | :class="{ on: floorsType == 3 }" |
| | | @click="floorsType = 3" |
| | | >11~15层</div> |
| | | <div |
| | | :class="{ on: floorsType == 4 }" |
| | | @click="floorsType = 4" |
| | | >16~20层</div> |
| | | <div |
| | | :class="{ on: floorsType == 5 }" |
| | | @click="floorsType = 5" |
| | | >21~25层</div> |
| | | <div |
| | | :class="{ on: floorsType == 6 }" |
| | | @click="floorsType = 6" |
| | | >26~30层</div> |
| | | </div> |
| | | </div> |
| | | <div @click="nextFloorBtn" class="floorBtn rightFloorBtn" v-show="nextFloorShow"> |
| | | <div |
| | | @click="nextFloorBtn" |
| | | class="floorBtn rightFloorBtn" |
| | | v-show="nextFloorShow" |
| | | > |
| | | <i class="el-icon-caret-right"></i> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="floor-detail"> |
| | | <div v-for="(item, index) in levelList.slice((floorsType - 1) * 5, floorsType * 5)" |
| | | :key="index"> |
| | | <div |
| | | v-for="(item, index) in levelList.slice((floorsType - 1) * 5, floorsType * 5)" |
| | | :key="index" |
| | | > |
| | | <div class="title">{{ index + 1 + (floorsType - 1) * 5 }}层:</div> |
| | | <div class="detail"> |
| | | <div v-for="(value, index) in item" :key="index" |
| | | <div |
| | | v-for="(value, index) in item" |
| | | :key="index" |
| | | @click="residentDetailsClick(value)" |
| | | :class="[{ 'chuzu': value.houseType == '出租' }, { 'zizhu': value.houseType == '自住' }, { 'kongzhi': value.houseType == '空置' }, { 'shangye': value.houseType == '商业' }]"> |
| | | :class="[{ 'chuzu': value.houseType == '出租' }, { 'zizhu': value.houseType == '自住' }, { 'kongzhi': value.houseType == '空置' }, { 'shangye': value.houseType == '商业' }]" |
| | | > |
| | | {{ value.Doorplate }} |
| | | <div class="flow" v-show="isHaveLiudong(value.householdsDate)"></div> |
| | | <div class="focus" v-show="isHaveZhongdian(value.householdsDate)"></div> |
| | | <div class="warning" v-show="isHaveJingwai(value.householdsDate)"></div> |
| | | <div |
| | | class="flow" |
| | | v-show="isHaveLiudong(value.householdsDate)" |
| | | ></div> |
| | | <div |
| | | class="focus" |
| | | v-show="isHaveZhongdian(value.householdsDate)" |
| | | ></div> |
| | | <div |
| | | class="warning" |
| | | v-show="isHaveJingwai(value.householdsDate)" |
| | | ></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="come-out-content" v-show="subNavType == 2"> |
| | | <el-table :data="comeoutArr" style="width: 100%" |
| | | <el-table |
| | | :data="comeoutArr" |
| | | 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 prop="name" label="名称" width="130"></el-table-column> |
| | | <el-table-column prop="position" label="位置" width="150"></el-table-column> |
| | | <el-table-column prop="type" label="类别" width="120"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="park-content" v-show="subNavType == 3"> |
| | | <el-table :data="parkArr" style="width: 100%" |
| | | <el-table |
| | | :data="parkArr" |
| | | 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 prop="name" label="名称" width="130"></el-table-column> |
| | | <el-table-column prop="position" label="位置" width="150"></el-table-column> |
| | | <el-table-column prop="type" label="类别" width="120"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="business-content" v-show="subNavType == 4"> |
| | | <el-table :data="businessArr" style="width: 100%" |
| | | <el-table |
| | | :data="businessArr" |
| | | 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 prop="name" label="名称" width="130"></el-table-column> |
| | | <el-table-column prop="position" label="位置" width="150"></el-table-column> |
| | | <el-table-column prop="type" label="类别" width="120"></el-table-column> |
| | |
| | | </div> |
| | | |
| | | <div class="police-info" v-show="navType == 1"> |
| | | <el-table :data="arr" style="width: 100%" |
| | | <el-table |
| | | :data="arr" |
| | | 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="clickData"> |
| | | :row-class-name="tableRowClassName" |
| | | @row-click="clickData" |
| | | > |
| | | <el-table-column prop="name" label="名称" width="130"></el-table-column> |
| | | <el-table-column prop="time" label="时间" width="150"></el-table-column> |
| | | <el-table-column prop="type" label="类别" width="120"></el-table-column> |
| | |
| | | </div> |
| | | |
| | | <div class="warning-info" v-show="navType == 2"> |
| | | <el-table :data="warningArray" style="width: 100%" |
| | | <el-table |
| | | :data="warningArray" |
| | | 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="clickData"> |
| | | :row-class-name="tableRowClassName" |
| | | @row-click="clickData" |
| | | > |
| | | <el-table-column prop="name" label="名称" width="130"></el-table-column> |
| | | <el-table-column prop="time" label="时间" width="150"></el-table-column> |
| | | <el-table-column prop="type" label="类别" width="120"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | <!-- |
| | | <transition name="special-animal"> |
| | | |
| | | </transition> --> |
| | | </transition>--> |
| | | |
| | | <el-dialog title="信息详情" :modal="true" :visible.sync="dialogVisible" :before-close="handleClose" |
| | | :close-on-click-modal="true" class="police-affairs-details-box"> |
| | | <el-dialog |
| | | title="信息详情" |
| | | :modal="true" |
| | | :visible.sync="dialogVisible" |
| | | :before-close="handleClose" |
| | | :close-on-click-modal="true" |
| | | class="police-affairs-details-box" |
| | | > |
| | | <div class="item"> |
| | | <div>名称:</div> |
| | | <div>{{ JWdetails.name }}</div> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="residentDetailsTitle" :modal="true" :visible.sync="residentDetailsShow" |
| | | :before-close="residentDetailsClose" :close-on-click-modal="true" class="resident-details-box" width="30%"> |
| | | <el-dialog |
| | | :title="residentDetailsTitle" |
| | | :modal="true" |
| | | :visible.sync="residentDetailsShow" |
| | | :before-close="residentDetailsClose" |
| | | :close-on-click-modal="true" |
| | | class="resident-details-box" |
| | | width="30%" |
| | | > |
| | | <h3 style="text-align:left;margin:10px 0 10px 0">户主信息</h3> |
| | | <el-table :data="houseDate.householdsDate" |
| | | <el-table |
| | | :data="houseDate.householdsDate" |
| | | :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="name" label="姓名"></el-table-column> |
| | | <el-table-column prop="peopleType" label="重点人员"></el-table-column> |
| | | <el-table-column prop="nation" label="民族"></el-table-column> |
| | |
| | | border-radius: 10px; |
| | | overflow: hidden; |
| | | |
| | | &>div { |
| | | & > div { |
| | | height: 100%; |
| | | overflow-y: auto; |
| | | |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | .housing-introduce { |
| | | &>div { |
| | | & > div { |
| | | padding: 0 10px; |
| | | display: flex; |
| | | |
| | |
| | | } |
| | | |
| | | .choosed { |
| | | background-color: rgba(0, 92, 169, 1); |
| | | // background-color: rgba(0, 92, 169, 1); |
| | | background-color: #3d5ad5; |
| | | } |
| | | } |
| | | |
| | |
| | | height: 26px; |
| | | line-height: 26px; |
| | | border-radius: 13px; |
| | | background: #0158a2; |
| | | // background: #0158a2; |
| | | cursor: pointer; |
| | | color: rgb(223, 219, 219); |
| | | } |
| | | |
| | | .on { |
| | | border: 1px solid #fff; |
| | | background-color: #0158a2; |
| | | // background-color: #0158a2; |
| | | background-color: #3d5ad5; |
| | | color: #fff; |
| | | } |
| | | } |
| | | |
| | | &>.floor-content { |
| | | & > .floor-content { |
| | | .build-info { |
| | | display: flex; |
| | | position: relative; |
| | |
| | | flex-wrap: wrap; |
| | | width: 356px; |
| | | |
| | | &>div { |
| | | & > div { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | |
| | | .content { |
| | | display: flex; |
| | | |
| | | &>div { |
| | | & > div { |
| | | height: 26px; |
| | | line-height: 26px; |
| | | flex: 1; |
| | |
| | | justify-content: center; |
| | | border-right: 1px solid #50555f; |
| | | |
| | | &>div:last-child { |
| | | & > div:last-child { |
| | | margin-left: 14px; |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | |
| | | } |
| | | } |
| | | |
| | | &>div:first-child { |
| | | & > div:first-child { |
| | | width: 30%; |
| | | } |
| | | |
| | | &>div:last-child { |
| | | & > div:last-child { |
| | | border: none; |
| | | } |
| | | } |
| | |
| | | display: flex; |
| | | justify-content: space-around; |
| | | |
| | | &>div { |
| | | & > div { |
| | | flex: 1; |
| | | |
| | | &>div:first-child { |
| | | & > div:first-child { |
| | | height: 30px; |
| | | line-height: 30px; |
| | | font-size: 18px; |
| | |
| | | color: #499d99; |
| | | } |
| | | |
| | | &>div:last-child { |
| | | & > div:last-child { |
| | | height: 26px; |
| | | line-height: 26px; |
| | | } |
| | |
| | | display: flex; |
| | | justify-content: space-around; |
| | | |
| | | &>div { |
| | | &>div:first-child { |
| | | & > div { |
| | | & > div:first-child { |
| | | height: 30px; |
| | | line-height: 30px; |
| | | font-size: 18px; |
| | |
| | | } |
| | | |
| | | .house-element-info { |
| | | |
| | | .condo, |
| | | .legend { |
| | | display: flex; |
| | |
| | | display: flex; |
| | | flex: 1; |
| | | |
| | | &>div { |
| | | & > div { |
| | | flex: 1; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | &>span { |
| | | & > span { |
| | | margin: 0 10px; |
| | | } |
| | | } |
| | |
| | | left: 0; |
| | | transition: all 1s; |
| | | |
| | | &>div { |
| | | & > div { |
| | | margin: 0 4px; |
| | | display: flex; |
| | | justify-content: center; |
| | |
| | | cursor: default; |
| | | } |
| | | |
| | | &>.on { |
| | | & > .on { |
| | | border: 1px solid orange; |
| | | color: orange; |
| | | } |
| | |
| | | .floor-detail { |
| | | margin-top: 14px; |
| | | |
| | | &>div { |
| | | & > div { |
| | | margin: 8px; |
| | | height: 36px; |
| | | line-height: 36px; |
| | |
| | | flex: 1; |
| | | display: flex; |
| | | |
| | | &>div { |
| | | & > div { |
| | | margin: 0 4px; |
| | | position: relative; |
| | | width: 68px; |
| | |
| | | } |
| | | |
| | | .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; |
| | | } |
| | | } |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | <div class="main-header"> |
| | | <!-- <div class="title"></div> --> |
| | | <div class="menu-list left"> |
| | | <div @mouseenter="item.childrenFlag = true" @mouseleave="item.childrenFlag = false" class="nav-list" |
| | | @click="goToPath(item)" v-for="(item, index) in menuLeftList" :key="index"> |
| | | <span :class="{ on: currentUrl.indexOf(item.path) != -1 }"> |
| | | {{ item.menuName }} |
| | | </span> |
| | | <div |
| | | @mouseenter="item.childrenFlag = true" |
| | | @mouseleave="item.childrenFlag = false" |
| | | class="nav-list" |
| | | @click="goToPath(item)" |
| | | v-for="(item, index) in menuLeftList" |
| | | :key="index" |
| | | > |
| | | <span :class="{ on: currentUrl.indexOf(item.path) != -1 }">{{ item.menuName }}</span> |
| | | <div class="sub-nav-list" v-show="item.children && item.childrenFlag"> |
| | | <div v-for="(subItem, subIndex) in item.children" :key="subIndex" @click="goToPath(subItem)">{{ |
| | | subItem.menuName |
| | | }}</div> |
| | | <div |
| | | v-for="(subItem, subIndex) in item.children" |
| | | :key="subIndex" |
| | | @click="goToPath(subItem)" |
| | | > |
| | | {{ |
| | | subItem.menuName |
| | | }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <!-- 菜单导航 --> |
| | | <div class="menu-list right"> |
| | | <div @mouseenter="item.childrenFlag = true" @mouseleave="item.childrenFlag = false" class="nav-list" |
| | | @click="goToPath(item)" v-for="(item, index) in menuRightList" :key="index"> |
| | | <span :class="{ on: currentUrl.indexOf(item.path) != -1 }"> |
| | | {{ item.menuName }} |
| | | </span> |
| | | <div |
| | | @mouseenter="item.childrenFlag = true" |
| | | @mouseleave="item.childrenFlag = false" |
| | | class="nav-list" |
| | | @click="goToPath(item)" |
| | | v-for="(item, index) in menuRightList" |
| | | :key="index" |
| | | > |
| | | <span :class="{ on: currentUrl.indexOf(item.path) != -1 }">{{ item.menuName }}</span> |
| | | <div class="sub-nav-list" v-show="item.children && item.childrenFlag"> |
| | | <div v-for="(subItem, subIndex) in item.children" :key="subIndex" @click="goToPath(subItem)">{{ |
| | | subItem.menuName |
| | | }}</div> |
| | | <div |
| | | v-for="(subItem, subIndex) in item.children" |
| | | :key="subIndex" |
| | | @click="goToPath(subItem)" |
| | | > |
| | | {{ |
| | | subItem.menuName |
| | | }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <mapBox ref="modalForm" /> |
| | | |
| | | <!-- 主体内容区域 --> |
| | | <div class="main-content" id="MainContent" |
| | | :class="{ 'spread': leftShow && show, 'take-back': leftShow && !show }"> |
| | | <div |
| | | class="main-content" |
| | | id="MainContent" |
| | | :class="{ 'spread': leftShow && show, 'take-back': leftShow && !show }" |
| | | > |
| | | <router-view ref="target-name"></router-view> |
| | | </div> |
| | | |
| | | <el-button v-show="leftShow" class="flexible-btn" |
| | | <el-button |
| | | v-show="leftShow" |
| | | class="flexible-btn" |
| | | :class="{ 'spread': leftShow && show, 'take-back': leftShow && !show }" |
| | | :icon="show ? 'el-icon-arrow-left' : 'el-icon-arrow-right'" id="FlexibleBtn" type="primary" |
| | | @click="flexibelClick"></el-button> |
| | | :icon="show ? 'el-icon-arrow-left' : 'el-icon-arrow-right'" |
| | | id="FlexibleBtn" |
| | | type="primary" |
| | | @click="flexibelClick" |
| | | ></el-button> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | overflow: hidden; |
| | | letter-spacing: 6px; |
| | | |
| | | &>img { |
| | | & > img { |
| | | // width: 100%; |
| | | height: 80%; |
| | | margin: 0 10px 0 10px; |
| | |
| | | // border-radius: 10px 16px 10px 16px; |
| | | transform: skew(58deg); |
| | | |
| | | &>span { |
| | | & > span { |
| | | transform: skew(-58deg); |
| | | } |
| | | } |
| | |
| | | // border-radius: 16px 10px 16px 10px; |
| | | transform: skew(-58deg); |
| | | |
| | | &>span { |
| | | & > span { |
| | | transform: skew(58deg); |
| | | } |
| | | } |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | &>.nav-list { |
| | | |
| | | & > .nav-list { |
| | | // color: rgba(32, 106, 181, 1); |
| | | // border-bottom: 2px solid #409eff; |
| | | &>span.on { |
| | | & > span.on { |
| | | color: rgba(252, 189, 86, 1); |
| | | } |
| | | } |
| | |
| | | text-align: center; |
| | | line-height: 36px; |
| | | font-size: 18px; |
| | | background: $bg-blue; |
| | | // background: $bg-blue; |
| | | background: $table-body-tr-n-color; |
| | | cursor: pointer; |
| | | box-sizing: content-box; |
| | | } |
| | |
| | | div:last-child { |
| | | padding-bottom: 10px; |
| | | } |
| | | div:hover { |
| | | text-shadow: 0px 1px 1px #fff; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | <div v-show="boxShow" class="container-content"> |
| | | <div class="switch-box"> |
| | | <el-select v-model="typeValue" @change="navClick" placeholder="请选择"> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | | <div class="list-show" ref="tableBox" v-show="!detailFlag"> |
| | | <div class="search-box"> |
| | | <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入搜索条件" /> |
| | | <input |
| | | v-model="searchValue" |
| | | @input="searchChange" |
| | | type="text" |
| | | placeholder="请输入搜索条件" |
| | | /> |
| | | <button @click="searchClick" class="el-icon-search"></button> |
| | | </div> |
| | | |
| | | <div v-show="searchValBoxShow" class="search-val-box"> |
| | | <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 class="list" v-show="navType == 1"> |
| | | <el-table :data="carList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | <el-table |
| | | :data="carList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" |
| | | :height="currentTableHeight"> |
| | | :height="currentTableHeight" |
| | | > |
| | | <el-table-column prop="serialNumber" label="编号" min-width="25%"></el-table-column> |
| | | <el-table-column prop="carType" label="类型" min-width="25%"></el-table-column> |
| | | <el-table-column prop="status" label="状态" min-width="25%"> |
| | |
| | | |
| | | <el-table-column label="操作" align="center" min-width="25%"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <el-button |
| | | @click="rowClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="定位" |
| | | > |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <el-button |
| | | @click="carDetail(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="轨迹" |
| | | > |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="carList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="carList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="list" v-show="navType == 2"> |
| | | <el-table :data="phoneList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | <el-table |
| | | :data="phoneList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" |
| | | :height="currentTableHeight"> |
| | | :height="currentTableHeight" |
| | | > |
| | | <el-table-column prop="name" label="名称" min-width="25%"></el-table-column> |
| | | <el-table-column prop="phoneType" label="类型" min-width="25%"></el-table-column> |
| | | <el-table-column prop="state" label="状态" min-width="25%"> |
| | |
| | | |
| | | <el-table-column label="操作" align="center" min-width="25%"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <el-button |
| | | @click="rowClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="定位" |
| | | > |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <el-button |
| | | @click="carDetail(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="轨迹" |
| | | > |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="phoneList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="phoneList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="list" v-show="navType == 3"> |
| | | <el-table :data="dtList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | <el-table |
| | | :data="dtList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" |
| | | :height="currentTableHeight"> |
| | | :height="currentTableHeight" |
| | | > |
| | | <el-table-column prop="name" label="名称" min-width="25%"></el-table-column> |
| | | <el-table-column prop="dtType" label="类型" min-width="25%"></el-table-column> |
| | | <el-table-column prop="state" label="状态" min-width="25%"> |
| | |
| | | |
| | | <el-table-column label="操作" align="center" min-width="25%"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <el-button |
| | | @click="rowClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="定位" |
| | | > |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <el-button |
| | | @click="carDetail(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="轨迹" |
| | | > |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="dtList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="dtList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="list" v-show="navType == 4"> |
| | | <el-table :data="zfList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | <el-table |
| | | :data="zfList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" |
| | | :height="currentTableHeight"> |
| | | :height="currentTableHeight" |
| | | > |
| | | <el-table-column prop="name" label="名称" min-width="25%"></el-table-column> |
| | | <el-table-column prop="phoneType" label="类型" min-width="25%"></el-table-column> |
| | | <el-table-column label="状态" min-width="25%"> |
| | |
| | | |
| | | <el-table-column label="操作" align="center" min-width="25%"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <el-button |
| | | @click="rowClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="定位" |
| | | > |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <el-button |
| | | @click="carDetail(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="轨迹" |
| | | > |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="zfList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="zfList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <li> |
| | | <div>选择时间:</div> |
| | | <div class="datetime"> |
| | | <el-date-picker v-model="trackTime" type="datetimerange" range-separator="至" |
| | | start-placeholder="开始日期" size="mini" :editable="false" |
| | | end-placeholder="结束日期"></el-date-picker> |
| | | <el-date-picker |
| | | v-model="trackTime" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | size="mini" |
| | | :editable="false" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </div> |
| | | </li> |
| | | |
| | |
| | | <li> |
| | | <div>选择时间:</div> |
| | | <div class="datetime"> |
| | | <el-date-picker v-model="trackTime" type="datetimerange" range-separator="至" |
| | | start-placeholder="开始日期" size="mini" :editable="false" |
| | | end-placeholder="结束日期"></el-date-picker> |
| | | <el-date-picker |
| | | v-model="trackTime" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | size="mini" |
| | | :editable="false" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </div> |
| | | </li> |
| | | |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog :title="dialogTitle" :modal="true" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" class="car-video-box"> |
| | | <video src="/video/sp.mp4" autoplay controls width="100%" height="100%" ref="videoElement" |
| | | style="object-fit: fill"></video> |
| | | <el-dialog |
| | | :title="dialogTitle" |
| | | :modal="true" |
| | | :visible.sync="dialogVisible" |
| | | :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="car-video-box" |
| | | > |
| | | <video |
| | | src="/video/sp.mp4" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | ref="videoElement" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | </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> |
| | |
| | | display: flex; |
| | | justify-content: space-around; |
| | | |
| | | &>div { |
| | | & > div { |
| | | flex: 1; |
| | | } |
| | | } |
| | |
| | | font-weight: 700; |
| | | width: 80px; |
| | | height: 100%; |
| | | background-color: rgb(0, 92, 169); |
| | | background-color: $table-body-tr-2n-color; |
| | | color: #fff; |
| | | border: 1px solid rgb(0, 92, 169); |
| | | cursor: pointer; |
| | |
| | | } |
| | | |
| | | button:active { |
| | | background-color: rgb(0, 92, 169); |
| | | background-color: $table-body-tr-n-color; |
| | | border: 1px solid rgb(0, 92, 169); |
| | | } |
| | | } |
| | |
| | | border-radius: 10px; |
| | | overflow-y: auto; |
| | | |
| | | &>div { |
| | | & > div { |
| | | height: 100%; |
| | | padding: 0 10px; |
| | | line-height: 36px; |
| | |
| | | color: #fff; |
| | | border-bottom: 1px solid #fff; |
| | | |
| | | &>div { |
| | | & > div { |
| | | text-align: center; |
| | | } |
| | | |
| | | &>div:first-child { |
| | | & > div:first-child { |
| | | flex: 2; |
| | | } |
| | | |
| | | &>div:last-child { |
| | | & > div:last-child { |
| | | flex: 6; |
| | | |
| | | &>div { |
| | | & > div { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | |
| | | <div class="container"> |
| | | <div v-show="boxShow" class="container-content"> |
| | | <div class="search-box"> |
| | | <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入搜索条件" /> |
| | | <input |
| | | v-model="searchValue" |
| | | @input="searchChange" |
| | | type="text" |
| | | placeholder="请输入搜索条件" |
| | | /> |
| | | <button @click="searchClick" class="el-icon-search"></button> |
| | | </div> |
| | | |
| | |
| | | <button @click="changeRange" class="btn">确定</button> |
| | | </div> |
| | | <div v-show="searchValBoxShow" class="search-val-box"> |
| | | <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 class="list-show"> |
| | | <div class="car-list"> |
| | | <div class="list-box"> |
| | | <el-table :data="monitoringList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | <el-table |
| | | :data="monitoringList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" @cell-click="rowClick"> |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" |
| | | @cell-click="rowClick" |
| | | > |
| | | <el-table-column prop="name" label="设备名称" min-width="50%"></el-table-column> |
| | | <el-table-column prop="manufacture" label="设备类型" min-width="50%"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="monitoringList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="monitoringList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog :title="dialogTitle" :modal="true" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" class="car-video-box"> |
| | | <video id="videoElement" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> |
| | | <el-dialog |
| | | :title="dialogTitle" |
| | | :modal="true" |
| | | :visible.sync="dialogVisible" |
| | | :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="car-video-box" |
| | | > |
| | | <video |
| | | id="videoElement" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | </el-dialog> |
| | | <el-dialog :title="drawDialogTitle" :modal="true" :visible.sync="drawDialogVisible" |
| | | :before-close="drawDialogBeforeClose" :close-on-click-modal="true" class="video-draw-box"> |
| | | <el-dialog |
| | | :title="drawDialogTitle" |
| | | :modal="true" |
| | | :visible.sync="drawDialogVisible" |
| | | :before-close="drawDialogBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="video-draw-box" |
| | | > |
| | | <input type="text" v-model="drawName" placeholder="请输入绘制线或面的名称" /> |
| | | <button @click="saveDrawInfo">保存</button> |
| | | </el-dialog> |
| | |
| | | font-weight: 700; |
| | | width: 80px; |
| | | height: 100%; |
| | | background-color: rgb(0, 92, 169); |
| | | background-color: $table-body-tr-n-color; |
| | | color: #fff; |
| | | border: 1px solid rgb(0, 92, 169); |
| | | cursor: pointer; |
| | |
| | | } |
| | | |
| | | button:active { |
| | | background-color: rgb(0, 92, 169); |
| | | background-color: $table-body-tr-2n-color; |
| | | border: 1px solid rgb(0, 92, 169); |
| | | } |
| | | } |
| | |
| | | border-radius: 10px; |
| | | overflow-y: auto; |
| | | |
| | | &>div { |
| | | & > div { |
| | | height: 100%; |
| | | padding: 0 10px; |
| | | line-height: 36px; |
| | |
| | | .list-show { |
| | | flex: 1; |
| | | |
| | | &>div { |
| | | & > div { |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | <div class="left-container"> |
| | | <div v-show="boxShow" class="container-content"> |
| | | <div class="search-box"> |
| | | <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入搜索条件" /> |
| | | <input |
| | | v-model="searchValue" |
| | | @input="searchChange" |
| | | type="text" |
| | | placeholder="请输入搜索条件" |
| | | /> |
| | | <button @click="searchClick" class="el-icon-search"></button> |
| | | </div> |
| | | |
| | | <div v-show="true" class="search-val-box"> |
| | | <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 class="list-show"> |
| | | <div class="car-list"> |
| | | <div class="list-box"> |
| | | <el-table :data="saveRangeList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | <el-table |
| | | :data="saveRangeList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" |
| | | @cell-click="rowClick"> |
| | | @cell-click="rowClick" |
| | | > |
| | | <el-table-column prop="name" label="范围名称" min-width="50%"></el-table-column> |
| | | <el-table-column prop="type" label="范围类型" min-width="50%"> |
| | | <template slot-scope="scope"> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="id" label="操作" min-width="50%"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="flytoRange(scope.row)" type="text" size="small" title="定位"> |
| | | <el-button |
| | | @click="flytoRange(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="定位" |
| | | > |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="deleteRegionSaveList(scope.row.id)" type="text" size="small" |
| | | title="删除"> |
| | | <el-button |
| | | @click="deleteRegionSaveList(scope.row.id)" |
| | | type="text" |
| | | size="small" |
| | | title="删除" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-table> |
| | | </div> |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="monitoringList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="monitoringList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="right-container"> |
| | | <div class="item"> |
| | | <div class="select"> |
| | | <el-select size="small" v-model="monitorType1" @change="navClick1" placeholder="请选择"> |
| | | <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | <el-select |
| | | size="small" |
| | | v-model="monitorType1" |
| | | @change="navClick1" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in monitorOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="video"> |
| | | <video id="videoElement1" autoplay controls width="100%" height="100%" |
| | | style="object-fit: fill"></video> |
| | | <video |
| | | id="videoElement1" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="select"> |
| | | <el-select size="small" v-model="monitorType2" @change="navClick2" placeholder="请选择"> |
| | | <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | <el-select |
| | | size="small" |
| | | v-model="monitorType2" |
| | | @change="navClick2" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in monitorOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="video"> |
| | | <video id="videoElement2" autoplay controls width="100%" height="100%" |
| | | style="object-fit: fill"></video> |
| | | <video |
| | | id="videoElement2" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="select"> |
| | | <el-select size="small" v-model="monitorType3" @change="navClick3" placeholder="请选择"> |
| | | <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | <el-select |
| | | size="small" |
| | | v-model="monitorType3" |
| | | @change="navClick3" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in monitorOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="video"> |
| | | <video id="videoElement3" autoplay controls width="100%" height="100%" |
| | | style="object-fit: fill"></video> |
| | | <video |
| | | id="videoElement3" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | </div> |
| | | </div> |
| | | <div class="item"> |
| | | <div class="select"> |
| | | <el-select size="small" v-model="monitorType4" @change="navClick4" placeholder="请选择"> |
| | | <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | <el-select |
| | | size="small" |
| | | v-model="monitorType4" |
| | | @change="navClick4" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in monitorOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="video"> |
| | | <video id="videoElement4" autoplay controls width="100%" height="100%" |
| | | style="object-fit: fill"></video> |
| | | <video |
| | | id="videoElement4" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | </div> |
| | | </div> |
| | | <div class="item t-left"> |
| | | <div class="select"> |
| | | <el-select size="small" v-model="monitorType5" @change="navClick5" placeholder="请选择"> |
| | | <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | <el-select |
| | | size="small" |
| | | v-model="monitorType5" |
| | | @change="navClick5" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in monitorOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="video"> |
| | | <video id="videoElement5" autoplay controls width="100%" height="100%" |
| | | style="object-fit: fill"></video> |
| | | <video |
| | | id="videoElement5" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | </div> |
| | | </div> |
| | | <div class="item t-right"> |
| | | <div class="select"> |
| | | <el-select size="small" v-model="monitorType6" @change="navClick6" placeholder="请选择"> |
| | | <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | <el-select |
| | | size="small" |
| | | v-model="monitorType6" |
| | | @change="navClick6" |
| | | placeholder="请选择" |
| | | > |
| | | <el-option |
| | | v-for="item in monitorOption" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="video"> |
| | | <video id="videoElement6" autoplay controls width="100%" height="100%" |
| | | style="object-fit: fill"></video> |
| | | <video |
| | | id="videoElement6" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog :title="dialogTitle" :modal="true" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" class="car-video-box"> |
| | | <video id="videoElement" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> |
| | | <el-dialog |
| | | :title="dialogTitle" |
| | | :modal="true" |
| | | :visible.sync="dialogVisible" |
| | | :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="car-video-box" |
| | | > |
| | | <video |
| | | id="videoElement" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | font-weight: 700; |
| | | width: 80px; |
| | | height: 100%; |
| | | background-color: rgb(0, 92, 169); |
| | | background-color: $table-body-tr-n-color; |
| | | color: #fff; |
| | | border: 1px solid rgb(0, 92, 169); |
| | | cursor: pointer; |
| | |
| | | } |
| | | |
| | | button:active { |
| | | background-color: rgb(0, 92, 169); |
| | | background-color: $table-body-tr-2n-color; |
| | | border: 1px solid rgb(0, 92, 169); |
| | | } |
| | | } |
| | |
| | | border-radius: 10px; |
| | | overflow-y: auto; |
| | | |
| | | &>div { |
| | | & > div { |
| | | height: 100%; |
| | | padding: 0 10px; |
| | | line-height: 36px; |
| | |
| | | .list-show { |
| | | flex: 1; |
| | | |
| | | &>div { |
| | | & > div { |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |