5 files modified
1 files added
| | |
| | | * @param {*} |
| | | * @returns |
| | | */ |
| | | export const getSchedulingList = () => { |
| | | export const getSchedulingList = (current,size,params) => { |
| | | return request({ |
| | | url: `/api/scheduling/scheduling/page`, |
| | | method: 'get', |
| | | params: { |
| | | current: 1, |
| | | size: 100, |
| | | sameday: 1, |
| | | ...params, |
| | | current: current, |
| | | size: size |
| | | } |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * 获取值班单位集合信息 |
| | | * @param {*} |
| | | * @returns |
| | | */ |
| | | export const getSchedulingDeptList = (current,size,params) => { |
| | | return request({ |
| | | url: `/api/scheduling/scheduling/getSchedulingDeptList`, |
| | | method: 'get', |
| | | params: params |
| | | }) |
| | | } |
| | | |
| | | export const getAnswerPolices = (params) => { |
| | | return request({ |
| | | url: `/api/doorplate/doorplate/acceptAlarmList`, |
| | |
| | | |
| | | .car-video-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 1000px; |
| | | height: 620px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__body { |
| | | flex: 1; |
| | |
| | | |
| | | .police-affairs-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 540px; |
| | | height: 320px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__header { |
| | | height: 56px; |
| | |
| | | |
| | | .resident-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 420px; |
| | | top: 30%; |
| | | left: 86% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__body { |
| | | flex: 1; |
| | |
| | | |
| | | .panorama-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 960px; |
| | | height: 600px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | } |
| | | } |
| | | |
| | | .phone-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 720px; |
| | | height: 400px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__header { |
| | | height: 56px; |
| | |
| | | |
| | | .area-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 1000px; |
| | | height: 700px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__header { |
| | | height: 56px; |
| | |
| | | |
| | | .equiment-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 1000px; |
| | | height: 620px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__body { |
| | | flex: 1; |
| | |
| | | |
| | | .land-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 1000px; |
| | | height: 620px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-table__header-wrapper { |
| | | height: 60px; |
| | |
| | | |
| | | .keyPerson-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 1000px; |
| | | height: 700px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__header { |
| | | height: 40px; |
| | |
| | | |
| | | .policeSituation-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 800px; |
| | | height: 500px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__header { |
| | | height: 40px; |
| | |
| | | |
| | | .activity-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 640px; |
| | | height: 400px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__header { |
| | | height: 56px; |
| | |
| | | |
| | | .video-draw-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 320px; |
| | | height: 180px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__body { |
| | | flex: 1; |
| | |
| | | |
| | | .choose-police-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 320px; |
| | | height: 180px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__body { |
| | | &>div { |
| | |
| | | |
| | | .choose-policeCar-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 320px; |
| | | height: 200px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__body { |
| | | .el-button { |
| | |
| | | |
| | | .edit-line-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 300px; |
| | | height: 190px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__body { |
| | | .el-button { |
| | |
| | | |
| | | .add-polygon-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 300px; |
| | | height: 140px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__body { |
| | | .el-button { |
| | |
| | | |
| | | .edit-plot-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 240px; |
| | | height: 130px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__body { |
| | | .el-button { |
| | |
| | | .el-dialog__wrapper { |
| | | |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -50%); |
| | | background: $el-dialog-bg-color; |
| | | } |
| | | |
| | |
| | | <div>值班信息(当日)</div> |
| | | </div> |
| | | <div class="table-box"> |
| | | <el-table |
| | | size="small" |
| | | :height="tableHeight" |
| | | :data="schedulingList" |
| | | style="width: 100%" |
| | | <el-table size="small" :height="tableHeight" :data="schedulingList" style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" |
| | | :row-class-name="tableRowClassName" |
| | | > |
| | | <el-table-column prop="station" label="岗位"></el-table-column> |
| | | <el-table-column prop="name" label="姓名"></el-table-column> |
| | | :row-class-name="tableRowClassName"> |
| | | <el-table-column prop="dept" label="值班单位"></el-table-column> |
| | | <el-table-column prop="person" label="姓名"></el-table-column> |
| | | <el-table-column prop="contact" label="联系方式"></el-table-column> |
| | | </el-table> |
| | | <div class="pointList"> |
| | | <div class="point" v-for="(item, index) in schedulingDeptList" :key="index" @click="getSchedlingList(item)"></div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <use |
| | | stroke-width="2" |
| | | xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" |
| | | stroke="#4fd2dd" |
| | | > |
| | | <animate |
| | | attributeName="stroke-dasharray" |
| | | from="0, 1442" |
| | | to="1442, 0" |
| | | dur="8s" |
| | | repeatCount="indefinite" |
| | | /> |
| | | <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" |
| | | repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </div> |
| | |
| | | <div class="title"> |
| | | 案件统计 |
| | | <div class="timer"> |
| | | <el-date-picker |
| | | :clearable="false" |
| | | v-model="eventTime" |
| | | type="daterange" |
| | | align="right" |
| | | unlink-panels |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | @change="caseTimeChange" |
| | | :picker-options="pickerOptions" |
| | | ></el-date-picker> |
| | | <el-date-picker :clearable="false" v-model="eventTime" type="daterange" align="right" unlink-panels |
| | | range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" @change="caseTimeChange" |
| | | :picker-options="pickerOptions"></el-date-picker> |
| | | </div> |
| | | </div> |
| | | <div id="EventChangeEcharts" class="echarts-box"></div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <use |
| | | stroke-width="2" |
| | | xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" |
| | | stroke="#4fd2dd" |
| | | > |
| | | <animate |
| | | attributeName="stroke-dasharray" |
| | | from="0, 1442" |
| | | to="1442, 0" |
| | | dur="8s" |
| | | repeatCount="indefinite" |
| | | /> |
| | | <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" |
| | | repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </div> |
| | |
| | | <div class="title"> |
| | | <div>现有设备</div> |
| | | <div class="title-tab"> |
| | | <span |
| | | :class="{ choosed: linetype == 0 }" |
| | | @click="initEquipmentEcharts(0)" |
| | | >设备种类</span>/ |
| | | <span |
| | | :class="{ choosed: linetype == 1 }" |
| | | @click="initEquipmentEcharts(1)" |
| | | >设备状态</span> |
| | | <span :class="{ choosed: linetype == 0 }" @click="initEquipmentEcharts(0)">设备种类</span>/ |
| | | <span :class="{ choosed: linetype == 1 }" @click="initEquipmentEcharts(1)">设备状态</span> |
| | | </div> |
| | | </div> |
| | | <div style="overflow: hidden;" id="EquipmentEcharts" class="echarts-box"></div> |
| | | </div> |
| | | |
| | | <svg class="border-svg"> |
| | | <use |
| | | stroke-width="2" |
| | | xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" |
| | | stroke="#4fd2dd" |
| | | > |
| | | <animate |
| | | attributeName="stroke-dasharray" |
| | | from="0, 1442" |
| | | to="1442, 0" |
| | | dur="8s" |
| | | repeatCount="indefinite" |
| | | /> |
| | | <use stroke-width="2" xlink:href="#border-box-8-path-974b4d7cfafa444396861ca1d1173c8c" |
| | | mask="url(#border-box-8-mask-974b4d7cfafa444396861ca1d1173c8c)" stroke="#4fd2dd"> |
| | | <animate attributeName="stroke-dasharray" from="0, 1442" to="1442, 0" dur="8s" |
| | | repeatCount="indefinite" /> |
| | | </use> |
| | | </svg> |
| | | </div> |
| | |
| | | let equimentDataLength = 0 |
| | | |
| | | import recorderArr from '@/assets/data/equimentsDate/recorder.js' |
| | | import { getSchedulingList } from '@/api/home/index.js' |
| | | import { getSchedulingList,getSchedulingDeptList } from '@/api/home/index.js' |
| | | import { fontSize } from '@/utils/fontSize.js' |
| | | |
| | | import { getCaseAll, getEquipment } from "@/api/home/index.js" |
| | |
| | | |
| | | export default { |
| | | inject: ['userInfo'], |
| | | |
| | | data () { |
| | | data() { |
| | | return { |
| | | eventTime: [], |
| | | pickerOptions: { |
| | | shortcuts: [{ |
| | | text: '最近一周', |
| | | onClick (picker) { |
| | | onClick(picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) |
| | |
| | | } |
| | | }, { |
| | | text: '最近一个月', |
| | | onClick (picker) { |
| | | onClick(picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) |
| | |
| | | } |
| | | }, { |
| | | text: '最近三个月', |
| | | onClick (picker) { |
| | | onClick(picker) { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) |
| | |
| | | linetype: 0, |
| | | tableHeight: 0, |
| | | schedulingList: [], |
| | | schedulingDeptList:[1,2,3,4,5,6,1,2,3,4,5,6], |
| | | policeStaionID: '' |
| | | } |
| | | }, |
| | | created () { |
| | | created() { |
| | | this.pickerOptions = { |
| | | ...this.pickerOptions, |
| | | disabledDate (time) { |
| | | disabledDate(time) { |
| | | // 设置可选择的日期为今天之后的一个月内 |
| | | let curDate = (new Date()).getTime() |
| | | return time.getTime() > curDate |
| | |
| | | this.defaultDate() |
| | | |
| | | this.getSchedulingList() |
| | | |
| | | this.getSchedulingDeptList() |
| | | }, |
| | | |
| | | mounted () { |
| | | mounted() { |
| | | |
| | | this.getHomeAllData() |
| | | |
| | | this.$nextTick(() => { |
| | | window.addEventListener("resize", this.echartsResize) |
| | | this.tableHeight = this.$refs.Container.offsetHeight - this.$refs.caseBox.offsetHeight - this.$refs.crowdBox.offsetHeight - this.$refs.alertBoxTitle.offsetHeight - 62 |
| | | this.tableHeight = this.$refs.Container.offsetHeight - this.$refs.caseBox.offsetHeight - this.$refs.crowdBox.offsetHeight - this.$refs.alertBoxTitle.offsetHeight - 86 |
| | | }) |
| | | |
| | | }, |
| | | |
| | | methods: { |
| | | //获取值班列表信息 |
| | | getSchedlingList(item){ |
| | | this.$emit('showschedulingdetail', item.dept, "1", 'type') |
| | | }, |
| | | //获取值班单位信息 |
| | | getSchedulingDeptList(){ |
| | | getSchedulingDeptList().then((res)=>{ |
| | | this.schedulingDeptList = res.data.data; |
| | | }) |
| | | }, |
| | | // actTabClick (type) { |
| | | // this.acttype = type |
| | | // this.$refs.activityTable.bodyWrapper.scrollTop = 0 |
| | |
| | | * @description: 获取当前组件内所有数据 |
| | | * @return {*} |
| | | */ |
| | | getHomeAllData (id = '') { |
| | | getHomeAllData(id = '') { |
| | | this.policeStaionID = id |
| | | |
| | | this.initEventChangeEcharts() |
| | |
| | | }, 600000) |
| | | }, |
| | | |
| | | getSchedulingList () { |
| | | getSchedulingList() { |
| | | getSchedulingList().then(res => { |
| | | this.schedulingList = res.data.data.records |
| | | }) |
| | | }, |
| | | |
| | | echartsResize () { |
| | | echartsResize() { |
| | | equipmentmyChart && equipmentmyChart != null && equipmentmyChart.resize() |
| | | eventchangemychart && eventchangemychart != null && eventchangemychart.resize() |
| | | }, |
| | | |
| | | // 案件统计中时间变化 |
| | | async caseTimeChange (e) { |
| | | async caseTimeChange(e) { |
| | | const date = e.map(item => { |
| | | return this.dateFormat(item) |
| | | }) |
| | |
| | | }, |
| | | |
| | | // 设置默认时间 |
| | | defaultDate () { |
| | | defaultDate() { |
| | | var current = new Date() |
| | | |
| | | var seven = new Date(current.getTime() - 7 * 24 * 60 * 60 * 1000) |
| | |
| | | }, |
| | | |
| | | // 获取当前日期 |
| | | dateFormat (dateData) { |
| | | dateFormat(dateData) { |
| | | var date = new Date(dateData) |
| | | var y = date.getFullYear() |
| | | var m = date.getMonth() + 1 |
| | |
| | | }, |
| | | |
| | | // 获取案件统计值 |
| | | getCaseAll (start, end) { |
| | | getCaseAll(start, end) { |
| | | const caseAll = getCaseAll(start, end, this.policeStaionID != '' ? this.policeStaionID : this.userInfo.dept_id).then(res => { |
| | | if (res.data.length > 0) { |
| | | return res.data.reduce((previous, current) => { |
| | |
| | | }, |
| | | |
| | | // 初始化案件统计 |
| | | async initEventChangeEcharts () { |
| | | async initEventChangeEcharts() { |
| | | var chartDom = document.getElementById('EventChangeEcharts') |
| | | |
| | | if (eventchangemychart != null && eventchangemychart != '' && eventchangemychart != undefined) eventchangemychart.dispose() |
| | |
| | | }, |
| | | |
| | | // 案件统计的options |
| | | initEventChangeOption (xData, yData) { |
| | | initEventChangeOption(xData, yData) { |
| | | let option |
| | | if (xData.length == 0) { //暂无数据 |
| | | option = { |
| | |
| | | }, |
| | | |
| | | // 现有设备统计 |
| | | getEquipment () { |
| | | getEquipment() { |
| | | const typeData = { |
| | | carCount: '车辆', |
| | | monitorCount: '摄像头', |
| | |
| | | }, |
| | | |
| | | // 现有设备饼图初始化 |
| | | async initEquipmentEcharts (type) { |
| | | async initEquipmentEcharts(type) { |
| | | this.linetype = type |
| | | |
| | | if (equipmentmyChart != null && equipmentmyChart != '' && equipmentmyChart != undefined) { |
| | |
| | | }, |
| | | |
| | | // 现有设备options饼图数据 |
| | | initEquipmentOptions (dataArr) { |
| | | initEquipmentOptions(dataArr) { |
| | | return { |
| | | tooltip: { |
| | | trigger: 'item', |
| | |
| | | }, |
| | | |
| | | // 饼图轮播 |
| | | equipmentEchartsCarousel () { |
| | | equipmentEchartsCarousel() { |
| | | let curIndex = 0 |
| | | if (timer) { |
| | | clearInterval(timer) |
| | |
| | | }, |
| | | |
| | | // 现有设备的点击事件(显示弹窗表格) |
| | | clickEquimentChart () { |
| | | clickEquimentChart() { |
| | | equipmentmyChart.on('click', params => { |
| | | // 设备类型,摄像头弹窗显示,其他弹窗显示,【记录仪列显示,警车列显示,手台列显示】,遍历数组 |
| | | if ('equimentType' in params.data) { |
| | |
| | | }, |
| | | }, |
| | | |
| | | destroyed () { |
| | | destroyed() { |
| | | window.removeEventListener("resize", this.echartsResize) |
| | | |
| | | if (equipmentmyChart) { |
| | |
| | | background: $sub-tab-bg-color; |
| | | cursor: pointer; |
| | | |
| | | & > div { |
| | | &>div { |
| | | height: 26px; |
| | | line-height: 26px; |
| | | } |
| | |
| | | .table-box { |
| | | padding: 0 12px; |
| | | flex: 1; |
| | | |
| | | .pointList{ |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: space-evenly; |
| | | margin-top: 15px; |
| | | .point{ |
| | | width: 12px; |
| | | height: 12px; |
| | | border-radius: 50px; |
| | | background-color: #006699; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | } |
| | | |
| | | #peopleList { |
| New file |
| | |
| | | <template> |
| | | <!-- 值班table --> |
| | | <div> |
| | | <el-dialog :title="schedulingTitle" :modal="true" :visible.sync="schedulingVisible" |
| | | :before-close="schedulingBeforeClose" :close-on-click-modal="true" class="global-dialog-seat"> |
| | | <div class="header"> |
| | | <div> |
| | | <span>值班人:</span> |
| | | <input type="text" v-model="person" placeholder="请输入值班人" /> |
| | | <span style="margin-left: 10px;">值班人电话:</span> |
| | | <input type="text" v-model="contact" placeholder="请输入值班人电话" /> |
| | | </div> |
| | | <el-button type="primary" icon="el-icon-search" @click="searchScheduling">搜索</el-button> |
| | | <el-button type="primary" icon="el-icon-delete" @click="clearSearchScheduling">清空</el-button> |
| | | </div> |
| | | |
| | | <el-table :data="schedulingTableData" style="width: 100%" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }"> |
| | | |
| | | <el-table-column label="序号" type="index" align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ (page.currentPage - 1) * page.pageSize + scope.$index + 1 }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="day" label="值班日期"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="dept" label="值班单位"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="person" label="值班人员"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="contact" label="值班人员电话"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="type" label="值班类型"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="leads" label="带班领导"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="leadContact" label="带班领导电话"></el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next, total" :page-size="page.pageSize" :total="page.total" |
| | | :current-page="page.currentPage" @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { getSchedulingList } from '@/api/home/index' |
| | | export default { |
| | | name: "schedulingList", |
| | | data() { |
| | | return { |
| | | person: '', |
| | | contact: '', |
| | | // 值班搜索条件 |
| | | schedulingSearchVal: '', |
| | | // 现有值班表格 |
| | | schedulingTableData: [], |
| | | schedulingCurrentSelect: {}, |
| | | // 值班分页 |
| | | page: { |
| | | currentPage: 1, |
| | | pageSize: 15, |
| | | total: 0 |
| | | }, |
| | | schedulingVisible: false, |
| | | schedulingTitle: '', |
| | | } |
| | | }, |
| | | methods: { |
| | | //初始化 |
| | | init(data) { |
| | | this.schedulingVisible = true; |
| | | this.schedulingTitle = data.name + "值班信息"; |
| | | this.getSchedulingtPaging() |
| | | }, |
| | | /** |
| | | * @description:列表弹窗关闭的事件 |
| | | * @return {*} |
| | | */ |
| | | schedulingBeforeClose() { |
| | | this.page.currentPage = 1 |
| | | this.person = ''; |
| | | this.contact = ''; |
| | | this.schedulingTableData = [] |
| | | this.schedulingVisible = false |
| | | }, |
| | | /** |
| | | * @description: 值班查询 |
| | | * @return {*} |
| | | */ |
| | | searchScheduling() { |
| | | this.page.currentPage = 1 |
| | | this.getSchedulingtPaging() |
| | | }, |
| | | |
| | | /** |
| | | * @description: 值班查询清空 |
| | | * @return {*} |
| | | */ |
| | | clearSearchScheduling() { |
| | | this.page.currentPage = 1 |
| | | this.person = '' |
| | | this.contact = '' |
| | | this.getSchedulingtPaging() |
| | | }, |
| | | // 值班分页查询 |
| | | handleCurrentChange: function (currentPage) { |
| | | this.page.currentPage = currentPage |
| | | |
| | | this.getSchedulingtPaging() |
| | | }, |
| | | |
| | | // 获取值班分页数据 |
| | | getSchedulingtPaging(params = {}) { |
| | | var values = { |
| | | sameday:1, |
| | | person: this.person, |
| | | contact: this.contact |
| | | } |
| | | getSchedulingList( |
| | | this.page.currentPage, |
| | | this.page.pageSize, |
| | | values).then(res => { |
| | | this.schedulingTableData = [] |
| | | this.page.total = 0 |
| | | if (res.data.data.total > 0) { |
| | | this.schedulingTableData = res.data.data.records |
| | | this.page.total = res.data.data.total |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped lang="scss"></style> |
| | |
| | | <right-container |
| | | class="right-container" |
| | | @showequimentdetail="showequimentdetail" |
| | | @showschedulingdetail="showschedulingdetail" |
| | | @selectPoliceChangeEventData="selectPoliceChangeEventData" |
| | | @changeActivityType="changeActivityType" |
| | | ref="rightContainer" |
| | |
| | | @policeSituationChange="policeSituationChange" |
| | | @policeSituationSiteClick="policeSituationSiteClick" |
| | | ></bottom-container> |
| | | |
| | | <scheduling-list ref="schedulingList"></scheduling-list> |
| | | |
| | | <div class="center-container"> |
| | | <div class="layers-control-btn area"> |
| | |
| | | |
| | | import monitoringList from '@/assets/data/monitoring.js' |
| | | import leftContainer from './components/leftContainer' |
| | | import schedulingList from './components/schedulingList' |
| | | import rightContainer from './components/rightContainer' |
| | | import bottomContainer from './components/bottomContainer' |
| | | import historyArr from '@/assets/data/activitysData/history.js' |
| | |
| | | } |
| | | }, |
| | | |
| | | components: { leftContainer, rightContainer, bottomContainer }, |
| | | components: { leftContainer, rightContainer, bottomContainer,schedulingList }, |
| | | |
| | | created () { |
| | | const that = this |
| | |
| | | }, |
| | | |
| | | /** |
| | | * @description: 显示现有列表表格数据 |
| | | * @param {*} name |
| | | * @param {*} typeVale |
| | | * @param {*} type |
| | | * @return {*} |
| | | */ |
| | | async showschedulingdetail (name, typeVale, type) { |
| | | const data = { |
| | | name:name, |
| | | typeVale:typeVale, |
| | | type:type |
| | | } |
| | | this.$refs.schedulingList.init(data); |
| | | }, |
| | | |
| | | /** |
| | | * @description: 设备查询 |
| | | * @return {*} |
| | | */ |