1、调整设备打卡率页面查询区域样式
2、对比分析页面新增图表数据加载提示以及优化整体页面图表展示及代码
3、调整班次班制管理页面左侧新增班制后刷新列表逻辑以及右侧配置按钮展示条件
| | |
| | | this.loadData() |
| | | } else { |
| | | // this.$message.error(`${info.file.name} ${info.file.response.message}.`); |
| | | this.loading = false |
| | | this.$notification.error({ |
| | | message:'æ¶æ¯', |
| | | description:`${info.file.name} ${info.file.response.message}.` |
| | |
| | | <template> |
| | | <a-card :bordered="false"> |
| | | <div style="width: 100%; height: 100%;overflow: hidden"> |
| | | <div> |
| | | <a-row type="flex" :gutter="16"> |
| | | <a-col :md="5"> |
| | | <a-tabs :activeKey="activeKey" @change="tabChange"> |
| | |
| | | </a-tabs> |
| | | </a-col> |
| | | <a-col :md="24-5" :sm="24"> |
| | | <ComparativeAnalysisMain ref="ComparativeAnalysisMain" :nodeTree='selectEquement' :nodePeople='selectPeople' :Type="slectTypeTree"></ComparativeAnalysisMain> |
| | | <ComparativeAnalysisMain ref="ComparativeAnalysisMain" :nodeTree='selectEquipment' :nodePeople='selectPeople' |
| | | :Type="selectTypeTree"/> |
| | | </a-col> |
| | | </a-row> |
| | | </div> |
| | |
| | | import ComparativeAnalysisMain from './modules/comparativeAnalysis/ComparativeAnalysisMain' |
| | | import DepartTree from './modules/DepartList/DepartListTree/DepartTree' |
| | | import {mapActions} from 'vuex' |
| | | |
| | | export default { |
| | | name: 'comparativeAnalysis', |
| | | components:{ |
| | |
| | | data() { |
| | | return { |
| | | activeKey: '1', |
| | | description: '设å¤ä¿¡æ¯', |
| | | selectEquementId: '', |
| | | selectEquement: {}, |
| | | selectEquipmentId: '', |
| | | selectEquipment: {}, |
| | | selectPeople:{}, |
| | | slectTypeTree: '', |
| | | url: { |
| | | equipmentStatistics: '/mdc/equipment/equipmentStatistics' |
| | | }, |
| | | isDepartType:'', |
| | | selectTypeTree: '', |
| | | isDepartType: '' |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | if (res.success) { |
| | | this.isDepartType = res.result[0].value |
| | | } else { |
| | | // this.$message.warn(res.message) |
| | | this.$notification.warning({ |
| | | message:'æ¶æ¯', |
| | | description:res.message |
| | | }); |
| | | }) |
| | | } |
| | | }).finally(() =>{ |
| | | }) |
| | |
| | | tabChange(val) { |
| | | // console.log(val) |
| | | this.activeKey = val |
| | | this.slectTypeTree = val |
| | | this.selectTypeTree = val |
| | | }, |
| | | /* changeSelection(val) { |
| | | this.selectEquementId = val |
| | | this.$refs.DeviceRepairList.pQuery(val) |
| | | },*/ |
| | | changeSelectionNode(val) { |
| | | this.selectEquement = val |
| | | this.slectTypeTree = '1' |
| | | this.selectEquipment = val |
| | | this.selectTypeTree = '1' |
| | | }, |
| | | changeSelectionNodedd(val) { |
| | | this.selectPeople = val |
| | | this.slectTypeTree = '2' |
| | | this.selectTypeTree = '2' |
| | | } |
| | | } |
| | | } |
| | |
| | | <div class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-col :xl="4" :lg="5" :md="6" :sm="24"> |
| | | <a-form-item label="è®°å½æ¶é´"> |
| | | <a-date-picker format="YYYY-MM-DD" :allowClear="false" v-model="queryParam.theDate" |
| | | @change="dateParamChange"></a-date-picker> |
| | | <a-date-picker value-format="YYYYMMDD" :allowClear="false" v-model="queryParam.theDate" |
| | | style="width: 100%"/> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <a-col :xl="4" :lg="5" :md="6" :sm="24"> |
| | | <a-form-item label="çæ¬¡"> |
| | | <j-dict-select-tag v-model="queryParam.shiftSchedule" dictCode="shift_schedule" |
| | | placeholder="è¯·éæ©çæ¬¡"></j-dict-select-tag> |
| | | </a-form-item> |
| | | </a-col> |
| | | <a-col :xl="6" :lg="7" :md="8" :sm="24"> |
| | | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
| | | <a-space> |
| | | <a-button type="primary" @click="searchQuery" icon="search">æ¥è¯¢</a-button> |
| | | <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">éç½®</a-button> |
| | | </span> |
| | | <a-button type="info" @click="searchReset" icon="reload">éç½®</a-button> |
| | | </a-space> |
| | | </a-col> |
| | | </a-row> |
| | | </a-form> |
| | |
| | | <!-- æä½æé®åºå --> |
| | | <div class="table-operator"> |
| | | <a-button type="primary" icon="download" @click="handleExportXls('è®¾å¤æå¡çæ¥è¡¨')">导åº</a-button> |
| | | |
| | | </div> |
| | | |
| | | <!-- tableåºå-begin --> |
| | |
| | | </a-table> |
| | | </div> |
| | | <!-- tableåºå-end --> |
| | | <efficiency-punch-report-modal ref="modalForm" @ok="modalFormOk"></efficiency-punch-report-modal> |
| | | </a-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import '@/assets/less/TableExpand.less' |
| | | |
| | | import moment from 'moment' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import EfficiencyPunchReportModal from '@views/mdc/base/modules/EfficiencyPunchReport/EfficiencyPunchReportModal.vue' |
| | | |
| | | export default { |
| | | name: 'EfficiencyPunchReport', |
| | | mixins: [JeecgListMixin], |
| | | components: { |
| | | EfficiencyPunchReportModal |
| | | }, |
| | | data() { |
| | | return { |
| | | queryParam: { |
| | | theDate: this.formatDate(new Date(new Date().setDate(new Date().getDate() - 1))), // é»è®¤è®¾ç½®ä¸ºæ¨å¤© |
| | | shiftSchedule: '' |
| | | theDate: moment().add(-1, 'days').format('YYYYMMDD') // é»è®¤è®¾ç½®ä¸ºæ¨å¤© |
| | | }, |
| | | |
| | | dataSource: [], // ç¡®ä¿åå§å为空æ°ç» |
| | | description: 'è®¾å¤æå¡ç', |
| | | // 表头 |
| | | columns: [ |
| | |
| | | return parseInt(index) + 1 |
| | | } |
| | | }, |
| | | |
| | | { |
| | | title: 'è®°å½æ¶é´', |
| | | align: 'center', |
| | |
| | | align: 'center', |
| | | dataIndex: 'shiftSchedule_dictText' |
| | | }, |
| | | |
| | | { |
| | | title: 'æ©çä¸çæå¡è®¾å¤æ°é', |
| | | align: 'center', |
| | |
| | | title: 'æ©çä¸çæå¡ç(%)', |
| | | align: 'center', |
| | | dataIndex: 'mornShiftOutRate' |
| | | |
| | | }, |
| | | { |
| | | title: 'æçä¸çæå¡ç(%)', |
| | |
| | | dataIndex: 'evenShiftInRate', |
| | | customRender: (text) => { |
| | | if (text !== null && text !== undefined) { |
| | | return parseFloat(text).toFixed(2); |
| | | return parseFloat(text).toFixed(2) |
| | | } |
| | | return text; |
| | | return text |
| | | } |
| | | }, |
| | | { |
| | |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | searchQuery() { |
| | | if (this.queryParam.theDate) { |
| | | // ç¡®ä¿ queryParam.recordDate æ¯ä¸ä¸ªææç Date 对象 |
| | | const date = new Date(this.queryParam.recordDate) |
| | | if (!isNaN(date.getTime())) { // æ£æ¥æ¯å¦ä¸ºæææ¥æ |
| | | const formattedDate = this.formatDate(date) |
| | | this.queryParam.theDate = formattedDate |
| | | console.log('Formatted theDate:', this.queryParam.theDate) // éªè¯æ ¼å¼ |
| | | } else { |
| | | console.error('Invalid date format') |
| | | } |
| | | } |
| | | |
| | | this.loadData() |
| | | }, |
| | | |
| | | formatDate(date) { |
| | | const year = date.getFullYear() |
| | | const month = String(date.getMonth() + 1).padStart(2, '0') |
| | | const day = String(date.getDate()).padStart(2, '0') |
| | | return `${year}${month}${day}` |
| | | }, |
| | | |
| | | dateParamChange(value) { |
| | | // value æ¯ä¸ä¸ªæ¶å»å¯¹è±¡ï¼moment objectï¼ï¼éè¦è½¬æ¢ä¸º Date 对象 |
| | | if (value) { |
| | | const date = value.toDate() // 转æ¢ä¸º Date 对象 |
| | | const formattedDate = this.formatDate(date) |
| | | this.queryParam.theDate = formattedDate |
| | | } else { |
| | | this.queryParam.theDate = null |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | </script> |
| | | <style scoped> |
| | | @import '~@assets/less/common.less'; |
| | | </style> |
| | |
| | | </div> |
| | | |
| | | <a-spin :spinning="spinning"> |
| | | <!--弿ºç--> |
| | | <!--å©ç¨ç--> |
| | | <div class="PowerOnRate Line-box"> |
| | | <div class="title"> |
| | | <div class="circle"></div> |
| | |
| | | <div class="PowerOnRate-right" ref="PowerOnRateLine" id="PowerOnRateLine"></div> |
| | | </div> |
| | | </div> |
| | | <!--å©ç¨çåå¼å¨ç--> |
| | | <!--弿ºçåå¼å¨ç--> |
| | | <div class="UtilizationStartup"> |
| | | <div class="Utilization Line-box"> |
| | | <div class="title"> |
| | |
| | | } |
| | | |
| | | #StatisticsLegend .PowerOnRate { |
| | | flex: 1; |
| | | height: 50%; |
| | | margin-bottom: 15px; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | #StatisticsLegend .UtilizationStartup { |
| | | flex: 1; |
| | | height: 50%; |
| | | display: flex; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .PowerOnRate-box .PowerOnRate-right { |
| | | flex: 1; |
| | | width: 75%; |
| | | } |
| | | |
| | | .Utilization-box { |
| | |
| | | <template> |
| | | <div class="comparative_Bar" style="width: 100%;height: 900px;display: flex;flex-direction: column;overflow: scroll"> |
| | | <div id="compAnalBar1" style="flex: 1;"></div> |
| | | <div id="compAnalBar2" style="flex: 1;"></div> |
| | | <div style="height: 100%;overflow: auto"> |
| | | <div id="compAnalBar1" style="height: 400px"></div> |
| | | <div id="compAnalBar2" style="height: 400px"></div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import * as echarts from 'echarts' |
| | | |
| | | export default { |
| | | name: 'comparativeAnalysisBar', |
| | | props:{ |
| | |
| | | dataList(val){ |
| | | this.OpenCloseList = val |
| | | this.drawTu() |
| | | }, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.drawTu() |
| | | }, |
| | | methods:{ |
| | | drawTu(){ |
| | | let compAnalBar1 = this.$echarts.init(document.getElementById('compAnalBar1'), 'macarons'); |
| | | let compAnalBar2 = this.$echarts.init(document.getElementById('compAnalBar2'), 'macarons'); |
| | | let compAnalBar1 = this.$echarts.init(document.getElementById('compAnalBar1'), 'macarons') |
| | | let compAnalBar2 = this.$echarts.init(document.getElementById('compAnalBar2'), 'macarons') |
| | | let compAnalBarOption1 = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: "shadow", |
| | | type: 'shadow', |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | } |
| | | |
| | | } |
| | |
| | | grid: { |
| | | borderWidth: 0, |
| | | top: 110, |
| | | bottom: 95, |
| | | bottom: 110, |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | splitLine: { |
| | | "show": false |
| | | 'show': false |
| | | }, |
| | | axisTick: { |
| | | "show": false |
| | | 'show': false |
| | | }, |
| | | splitArea: { |
| | | show: false |
| | |
| | | boundaryGap : true, |
| | | axisLabel : { |
| | | interval : 0, |
| | | rotate : 0, |
| | | rotate: 45, |
| | | show: true, |
| | | wigth:20, |
| | | splitNumber: 8, |
| | | textStyle: { |
| | | fontFamily: "微软é
é»", |
| | | fontSize: 12 |
| | | } |
| | | }, |
| | | data : [0] |
| | | } |
| | |
| | | handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z', |
| | | handleSize: '110%', |
| | | handleStyle: { |
| | | color: "#d3dee5" |
| | | color: '#d3dee5' |
| | | }, |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | }, |
| | | borderColor: "#90979c" |
| | | borderColor: '#90979c' |
| | | }, { |
| | | type: "inside", |
| | | type: 'inside', |
| | | show: true, |
| | | height: 15, |
| | | start: 1, |
| | |
| | | normal: { |
| | | color: function(params) { |
| | | let colorList = [ |
| | | ["#6496e9","#6bded3"], |
| | | // ["#849db8","#b4b8cc"], |
| | | // ["#4fe1c5","#4ecee1"], |
| | | // // ["#9978fa","#88a1fa"], |
| | | // ["#ffbb65","#fdc68b"], |
| | | ]; |
| | | // return colorList[params.dataIndex]; |
| | | let colorItem = colorList[params.dataIndex]; |
| | | ['#6496e9', '#6bded3'] |
| | | ] |
| | | let colorItem = colorList[params.dataIndex] |
| | | return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | offset:0, |
| | | color:'#6496e9' |
| | | }, |
| | | { |
| | | offset:1, |
| | | color:"#6bded3" |
| | | color: '#6bded3' |
| | | }],false) |
| | | }, |
| | | barBorderRadius: [5, 5, 0, 0], |
| | | barBorderRadius: [5, 5, 0, 0] |
| | | } |
| | | }, |
| | | data: [0], |
| | | // barCategoryGap: '20%', |
| | | // barGap : '-10%', |
| | | markPoint : { |
| | | data : [ |
| | | {type : 'max', name: 'æå¤§å¼',symbolSize:70}, |
| | |
| | | { |
| | | name: 'å©ç¨ç', |
| | | type: 'bar', |
| | | //barWidth: 30, |
| | | barWidth: 25, |
| | | // barCategoryGap: '20%', |
| | | // barGap : '-10%', |
| | | itemStyle: { |
| | | normal: { |
| | | color: function(params) { |
| | | let colorList = [ |
| | | // ["#6496e9","#6bded3"], |
| | | // ["#849db8","#b4b8cc"], |
| | | ["#4fe1c5","#4ecee1"], |
| | | // ["#9978fa","#88a1fa"], |
| | | // ["#ffbb65","#fdc68b"], |
| | | ]; |
| | | ['#4fe1c5', '#4ecee1'] |
| | | ] |
| | | // return colorList[params.dataIndex]; |
| | | let colorItem = colorList[params.dataIndex]; |
| | | let colorItem = colorList[params.dataIndex] |
| | | return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | offset:0, |
| | | color:"#4fe1c5" |
| | | color: '#4fe1c5' |
| | | }, |
| | | { |
| | | offset:1, |
| | | color:"#4ecee1" |
| | | color: '#4ecee1' |
| | | }],false) |
| | | }, |
| | | barBorderRadius: [5, 5, 0, 0], |
| | | barBorderRadius: [5, 5, 0, 0] |
| | | } |
| | | }, |
| | | data: [0], |
| | |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | // let compAnalBarOption2 = { |
| | | // tooltip: { |
| | | // trigger: 'axis', |
| | | // axisPointer: { |
| | | // type: "shadow", |
| | | // textStyle: { |
| | | // color: "#fff" |
| | | // } |
| | | // |
| | | // } |
| | | // }, |
| | | // legend: { |
| | | // x: '4%', |
| | | // top: '11%', |
| | | // textStyle: { |
| | | // color: '#90979c' |
| | | // }, |
| | | // data: ['弿ºæ¶é´', 'å
³æºæ¶é´'], |
| | | // color:['#6496e9','#b4b8cc'] |
| | | // }, |
| | | // toolbox: { |
| | | // show : true, |
| | | // feature : { |
| | | // mark : {show: true}, |
| | | // magicType : {show: true, type: ['line', 'bar']}, |
| | | // restore : {show: true}, |
| | | // saveAsImage : {show: true,name:'设å¤è¿è¡æ¶é´å¯¹æ¯åæå¾'} |
| | | // } |
| | | // }, |
| | | // calculable: true, |
| | | // grid: { |
| | | // borderWidth: 0, |
| | | // top: 110, |
| | | // bottom: 95, |
| | | // textStyle: { |
| | | // color: "#fff" |
| | | // } |
| | | // }, |
| | | // xAxis: [ |
| | | // { |
| | | // type: 'category', |
| | | // splitLine: { |
| | | // "show": false |
| | | // }, |
| | | // axisTick: { |
| | | // "show": false |
| | | // }, |
| | | // splitArea: { |
| | | // show: false |
| | | // }, |
| | | // boundaryGap : true, |
| | | // axisLabel : { |
| | | // interval : 0, |
| | | // rotate : 0, |
| | | // show: true, |
| | | // wigth:20, |
| | | // splitNumber: 8, |
| | | // textStyle: { |
| | | // fontFamily: "微软é
é»", |
| | | // fontSize: 12 |
| | | // } |
| | | // }, |
| | | // data : [0] |
| | | // } |
| | | // ], |
| | | // yAxis: [ |
| | | // { |
| | | // type: 'value', |
| | | // splitLine: { |
| | | // show: false |
| | | // }, |
| | | // axisLine: { |
| | | // lineStyle: { |
| | | // color: '#90979c' |
| | | // } |
| | | // }, |
| | | // axisTick: { |
| | | // show: false |
| | | // }, |
| | | // axisLabel: { |
| | | // interval: 0 |
| | | // |
| | | // }, |
| | | // splitArea: { |
| | | // show: false |
| | | // } |
| | | // } |
| | | // ], |
| | | // dataZoom: [{ |
| | | // show: true, |
| | | // height: 30, |
| | | // xAxisIndex: [0], |
| | | // bottom: 30, |
| | | // start: 0, |
| | | // end: 100, |
| | | // handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z', |
| | | // handleSize: '110%', |
| | | // handleStyle: { |
| | | // color: "#d3dee5" |
| | | // }, |
| | | // textStyle: { |
| | | // color: "#fff" |
| | | // }, |
| | | // borderColor: "#90979c" |
| | | // }, { |
| | | // type: "inside", |
| | | // show: true, |
| | | // height: 15, |
| | | // start: 1, |
| | | // end: 35 |
| | | // }], |
| | | // series: [ |
| | | // { |
| | | // name: '弿ºæ¶é´', |
| | | // type: 'bar', |
| | | // //barWidth: 30, |
| | | // barWidth: 25, |
| | | // // stack: 'sum', |
| | | // // barCategoryGap: '20%', |
| | | // itemStyle: { |
| | | // normal: { |
| | | // color: function(params) { |
| | | // let colorList = [ |
| | | // ["#6496e9","#6bded3"], |
| | | // // ["#849db8","#b4b8cc"], |
| | | // // ["#4fe1c5","#4ecee1"], |
| | | // // // ["#9978fa","#88a1fa"], |
| | | // // ["#ffbb65","#fdc68b"], |
| | | // ]; |
| | | // // return colorList[params.dataIndex]; |
| | | // let colorItem = colorList[params.dataIndex]; |
| | | // return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | // offset:0, |
| | | // color:'#6496e9' |
| | | // }, |
| | | // { |
| | | // offset:1, |
| | | // color:"#6bded3" |
| | | // }],false) |
| | | // }, |
| | | // barBorderRadius: [5, 5, 0, 0], |
| | | // } |
| | | // }, |
| | | // data: [0] |
| | | // }, |
| | | // { |
| | | // name: 'å
³æºæ¶é´', |
| | | // type: 'bar', |
| | | // //barWidth: 30, |
| | | // barWidth: 25, |
| | | // // stack: 'sum', |
| | | // // barCategoryGap: '20%', |
| | | // itemStyle: { |
| | | // normal: { |
| | | // color: function(params) { |
| | | // let colorList = [ |
| | | // // ["#6496e9","#6bded3"], |
| | | // ["#849db8","#b4b8cc"], |
| | | // // ["#4fe1c5","#4ecee1"], |
| | | // // // ["#9978fa","#88a1fa"], |
| | | // // ["#ffbb65","#fdc68b"], |
| | | // ]; |
| | | // // return colorList[params.dataIndex]; |
| | | // let colorItem = colorList[params.dataIndex]; |
| | | // return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | // offset:0, |
| | | // color:'#849db8' |
| | | // }, |
| | | // { |
| | | // offset:1, |
| | | // color:"#b4b8cc" |
| | | // }],false) |
| | | // }, |
| | | // barBorderRadius: [5, 5, 0, 0], |
| | | // } |
| | | // }, |
| | | // data: [0] |
| | | // } |
| | | // ] |
| | | // }; |
| | | } |
| | | let compAnalBarOption2 = { |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | axisPointer: { |
| | | type: "shadow", |
| | | type: 'shadow', |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | } |
| | | |
| | | } |
| | |
| | | grid: { |
| | | borderWidth: 0, |
| | | top: 110, |
| | | bottom: 95, |
| | | bottom: 110, |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | } |
| | | }, |
| | | xAxis: [ |
| | | { |
| | | type: 'category', |
| | | splitLine: { |
| | | "show": false |
| | | 'show': false |
| | | }, |
| | | axisTick: { |
| | | "show": false |
| | | 'show': false |
| | | }, |
| | | splitArea: { |
| | | show: false |
| | |
| | | boundaryGap : true, |
| | | axisLabel : { |
| | | interval : 0, |
| | | rotate : 0, |
| | | rotate: 45, |
| | | show: true, |
| | | wigth:20, |
| | | splitNumber: 8, |
| | | textStyle: { |
| | | fontFamily: "微软é
é»", |
| | | fontSize: 12 |
| | | } |
| | | }, |
| | | data : [0] |
| | | } |
| | |
| | | handleIcon: 'path://M306.1,413c0,2.2-1.8,4-4,4h-59.8c-2.2,0-4-1.8-4-4V200.8c0-2.2,1.8-4,4-4h59.8c2.2,0,4,1.8,4,4V413z', |
| | | handleSize: '110%', |
| | | handleStyle: { |
| | | color: "#d3dee5" |
| | | color: '#d3dee5' |
| | | }, |
| | | textStyle: { |
| | | color: "#fff" |
| | | color: '#fff' |
| | | }, |
| | | borderColor: "#90979c" |
| | | borderColor: '#90979c' |
| | | }, { |
| | | type: "inside", |
| | | type: 'inside', |
| | | show: true, |
| | | height: 15, |
| | | start: 1, |
| | |
| | | normal: { |
| | | color: function(params) { |
| | | let colorList = [ |
| | | ["#6496e9","#6bded3"], |
| | | // ["#849db8","#b4b8cc"], |
| | | // ["#4fe1c5","#4ecee1"], |
| | | // // ["#9978fa","#88a1fa"], |
| | | // ["#ffbb65","#fdc68b"], |
| | | ]; |
| | | // return colorList[params.dataIndex]; |
| | | let colorItem = colorList[params.dataIndex]; |
| | | ['#6496e9', '#6bded3'] |
| | | ] |
| | | let colorItem = colorList[params.dataIndex] |
| | | return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | offset:0, |
| | | color:'#6496e9' |
| | | }, |
| | | { |
| | | offset:1, |
| | | color:"#6bded3" |
| | | color: '#6bded3' |
| | | }],false) |
| | | }, |
| | | barBorderRadius: [5, 5, 0, 0], |
| | | barBorderRadius: [5, 5, 0, 0] |
| | | } |
| | | }, |
| | | data: [0], |
| | | // barCategoryGap: '20%', |
| | | // barGap : '-10%', |
| | | markPoint : { |
| | | data : [ |
| | | {type : 'max', name: 'æå¤§å¼',symbolSize:70}, |
| | |
| | | { |
| | | name: 'å
³æºæ¶é´', |
| | | type: 'bar', |
| | | //barWidth: 30, |
| | | barWidth: 25, |
| | | // barCategoryGap: '20%', |
| | | // barGap : '-10%', |
| | | itemStyle: { |
| | | normal: { |
| | | color: function(params) { |
| | | let colorList = [ |
| | | // ["#6496e9","#6bded3"], |
| | | ["#849db8","#b4b8cc"], |
| | | // ["#4fe1c5","#4ecee1"], |
| | | // ["#9978fa","#88a1fa"], |
| | | // ["#ffbb65","#fdc68b"], |
| | | ]; |
| | | // return colorList[params.dataIndex]; |
| | | let colorItem = colorList[params.dataIndex]; |
| | | ['#849db8', '#b4b8cc'] |
| | | ] |
| | | let colorItem = colorList[params.dataIndex] |
| | | return new echarts.graphic.LinearGradient(0,0,0,1,[{ |
| | | offset:0, |
| | | color:"#849db8" |
| | | color: '#849db8' |
| | | }, |
| | | { |
| | | offset:1, |
| | | color:"#b4b8cc" |
| | | color: '#b4b8cc' |
| | | }],false) |
| | | }, |
| | | barBorderRadius: [5, 5, 0, 0], |
| | | barBorderRadius: [5, 5, 0, 0] |
| | | } |
| | | }, |
| | | data: [0], |
| | |
| | | } |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | if(this.OpenCloseList != null){ |
| | | this.equipmentList = [] |
| | | this.openRate =[] |
| | |
| | | for(var i = 0;i<this.OpenCloseList.length;i++){ |
| | | this.equipmentList.push(this.OpenCloseList[i].equipmentId) |
| | | this.openRate.push((this.OpenCloseList[i].openRate*100).toFixed(2)) |
| | | // (this.openRate * 100).toFixed(2) |
| | | this.utilizationRate.push((this.OpenCloseList[i].utilizationRate*100).toFixed(2)) |
| | | this.openLong.push(this.OpenCloseList[i].openLong) |
| | | this.closeLong.push(this.OpenCloseList[i].closeLong) |
| | |
| | | compAnalBarOption2.xAxis[0].data = this.equipmentList |
| | | compAnalBarOption2.series[0].data = this.openLong |
| | | compAnalBarOption2.series[1].data = this.closeLong |
| | | compAnalBar1.setOption(compAnalBarOption1); |
| | | compAnalBar2.setOption(compAnalBarOption2); |
| | | }else{ |
| | | compAnalBar1.setOption(compAnalBarOption1); |
| | | compAnalBar2.setOption(compAnalBarOption2); |
| | | } |
| | | compAnalBar1.setOption(compAnalBarOption1) |
| | | compAnalBar2.setOption(compAnalBarOption2) |
| | | window.addEventListener('resize', function() { |
| | | compAnalBar1.resize() |
| | | compAnalBar2.resize() |
| | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | <template> |
| | | <div class="comparative_Gauge" style="width: 100%;height: 700px;display: flex;flex-direction: column;overflow: scroll"> |
| | | <div style="flex: 1;text-align:center;display: flex;flex-direction: column"> |
| | | <h3 style="height: 18px;margin: 0 auto;">å©ç¨ç Top 5</h3> |
| | | <div class="outer-container"> |
| | | <div> |
| | | <h3 style="margin: 0 auto;">å©ç¨ç Top 5</h3> |
| | | |
| | | <div style="flex: 1;display: flex;"> |
| | | <div style="flex: 1;display: flex"> |
| | | <div id="top1Gauge" class="div-inline"></div> |
| | | <div id="top2Gauge" class="div-inline"></div> |
| | | <div id="top3Gauge" class="div-inline"></div> |
| | |
| | | <div id="top5Gauge" class="div-inline"></div> |
| | | </div> |
| | | </div> |
| | | <div style="flex: 1;text-align:center;display: flex;flex-direction: column"> |
| | | <h3 style="height: 18px; margin: 0 auto;">å©ç¨ç Last 5</h3> |
| | | |
| | | <div style="flex: 1;display: flex;"> |
| | | <div> |
| | | <h3 style="margin: 0 auto;">å©ç¨ç Last 5</h3> |
| | | |
| | | <div style="flex: 1;display: flex"> |
| | | <div id="last1Gauge" class="div-inline"></div> |
| | | <div id="last2Gauge" class="div-inline"></div> |
| | | <div id="last3Gauge" class="div-inline"></div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import * as echarts from 'echarts' |
| | | export default { |
| | | name: 'comparativeAnalysisGauge', |
| | | props:{dataList:''}, |
| | |
| | | }, |
| | | watch:{ |
| | | dataList(val){ |
| | | console.log(val); |
| | | console.log(val) |
| | | this.TopLastList = val |
| | | this.draw() |
| | | }, |
| | | } |
| | | }, |
| | | mounted(){ |
| | | this.draw(); |
| | | this.draw() |
| | | }, |
| | | methods:{ |
| | | draw(){ |
| | | let gaugeTopChart1 = this.$echarts.init(document.getElementById('top1Gauge'),'macarons'); |
| | | let gaugeTopChart2 = this.$echarts.init(document.getElementById('top2Gauge'),'macarons'); |
| | | let gaugeTopChart3 = this.$echarts.init(document.getElementById('top3Gauge'),'macarons'); |
| | | let gaugeTopChart4 = this.$echarts.init(document.getElementById('top4Gauge'),'macarons'); |
| | | let gaugeTopChart5 = this.$echarts.init(document.getElementById('top5Gauge'),'macarons'); |
| | | let gaugeLastChart1 = this.$echarts.init(document.getElementById('last1Gauge'),'macarons'); |
| | | let gaugeLastChart2 = this.$echarts.init(document.getElementById('last2Gauge'),'macarons'); |
| | | let gaugeLastChart3 = this.$echarts.init(document.getElementById('last3Gauge'),'macarons'); |
| | | let gaugeLastChart4 = this.$echarts.init(document.getElementById('last4Gauge'),'macarons'); |
| | | let gaugeLastChart5 = this.$echarts.init(document.getElementById('last5Gauge'),'macarons'); |
| | | let gaugeTopChart1 = this.$echarts.init(document.getElementById('top1Gauge'), 'macarons') |
| | | let gaugeTopChart2 = this.$echarts.init(document.getElementById('top2Gauge'), 'macarons') |
| | | let gaugeTopChart3 = this.$echarts.init(document.getElementById('top3Gauge'), 'macarons') |
| | | let gaugeTopChart4 = this.$echarts.init(document.getElementById('top4Gauge'), 'macarons') |
| | | let gaugeTopChart5 = this.$echarts.init(document.getElementById('top5Gauge'), 'macarons') |
| | | let gaugeLastChart1 = this.$echarts.init(document.getElementById('last1Gauge'), 'macarons') |
| | | let gaugeLastChart2 = this.$echarts.init(document.getElementById('last2Gauge'), 'macarons') |
| | | let gaugeLastChart3 = this.$echarts.init(document.getElementById('last3Gauge'), 'macarons') |
| | | let gaugeLastChart4 = this.$echarts.init(document.getElementById('last4Gauge'), 'macarons') |
| | | let gaugeLastChart5 = this.$echarts.init(document.getElementById('last5Gauge'), 'macarons') |
| | | let gaugeTopOption1 = { |
| | | title : { |
| | | x : 'center', |
| | |
| | | text : 'TOP1' |
| | | }, |
| | | tooltip : { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series : [ |
| | | { |
| | |
| | | data:[{value: 0, name: 'å©ç¨ç'}] |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | let gaugeTopOption2 = { |
| | | title : { |
| | | x : 'center', |
| | |
| | | text : 'TOP2' |
| | | }, |
| | | tooltip : { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series : [ |
| | | { |
| | |
| | | data:[{value: 0, name: 'å©ç¨ç'}] |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | let gaugeTopOption3 = { |
| | | title : { |
| | | x : 'center', |
| | |
| | | text : 'TOP3' |
| | | }, |
| | | tooltip : { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series : [ |
| | | { |
| | |
| | | data:[{value: 0, name: 'å©ç¨ç'}] |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | let gaugeTopOption4 = { |
| | | title : { |
| | | x : 'center', |
| | |
| | | text : 'TOP4' |
| | | }, |
| | | tooltip : { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series : [ |
| | | { |
| | |
| | | data:[{value: 0, name: 'å©ç¨ç'}] |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | let gaugeTopOption5 = { |
| | | title : { |
| | | x : 'center', |
| | |
| | | text : 'TOP5' |
| | | }, |
| | | tooltip : { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series : [ |
| | | { |
| | |
| | | data:[{value: 0, name: 'å©ç¨ç'}] |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | let gaugeLessOption1 = { |
| | | title : { |
| | | x : 'center', |
| | |
| | | text : 'LAST1' |
| | | }, |
| | | tooltip : { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series : [ |
| | | { |
| | |
| | | data:[{value: 0, name: 'å©ç¨ç'}] |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | let gaugeLessOption2 = { |
| | | title : { |
| | | x : 'center', |
| | |
| | | text : 'LAST2' |
| | | }, |
| | | tooltip : { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series : [ |
| | | { |
| | |
| | | data:[{value: 0, name: 'å©ç¨ç'}] |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | let gaugeLessOption3 = { |
| | | title : { |
| | | x : 'center', |
| | |
| | | text : 'LAST3' |
| | | }, |
| | | tooltip : { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series : [ |
| | | { |
| | |
| | | data:[{value: 0, name: 'å©ç¨ç'}] |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | let gaugeLessOption4 = { |
| | | title : { |
| | | x : 'center', |
| | |
| | | text : 'LAST4' |
| | | }, |
| | | tooltip : { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series : [ |
| | | { |
| | |
| | | data:[{value: 0, name: 'å©ç¨ç'}] |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | let gaugeLessOption5 = { |
| | | title : { |
| | | x : 'center', |
| | |
| | | text : 'LAST5' |
| | | }, |
| | | tooltip : { |
| | | formatter: "{a} <br/>{b} : {c}%" |
| | | formatter: '{a} <br/>{b} : {c}%' |
| | | }, |
| | | series : [ |
| | | { |
| | |
| | | data:[{value: 0, name: 'å©ç¨ç'}] |
| | | } |
| | | ] |
| | | }; |
| | | } |
| | | if(this.TopLastList != null){ |
| | | this.utilizationRateTopOne=0 |
| | | this.utilizationRateTopOneEquipment = 'TOP1' |
| | |
| | | } |
| | | } |
| | | gaugeTopOption1.title.text = this.utilizationRateTopOneEquipment |
| | | gaugeTopOption1.series[0].data = [{value : (this.utilizationRateTopOne * 100).toFixed(2), name : 'å©ç¨ç'}]; |
| | | gaugeTopOption1.series[0].data = [{ value: (this.utilizationRateTopOne * 100).toFixed(2), name: 'å©ç¨ç' }] |
| | | gaugeTopOption2.title.text = this.utilizationRateTopTwoEquipment |
| | | gaugeTopOption2.series[0].data = [{value : (this.utilizationRateTopTwo * 100).toFixed(2), name : 'å©ç¨ç'}]; |
| | | gaugeTopOption2.series[0].data = [{ value: (this.utilizationRateTopTwo * 100).toFixed(2), name: 'å©ç¨ç' }] |
| | | gaugeTopOption3.title.text = this.utilizationRateTopThreeEquipment |
| | | gaugeTopOption3.series[0].data = [{value : (this.utilizationRateTopThree * 100).toFixed(2), name : 'å©ç¨ç'}]; |
| | | gaugeTopOption3.series[0].data = [{ value: (this.utilizationRateTopThree * 100).toFixed(2), name: 'å©ç¨ç' }] |
| | | gaugeTopOption4.title.text = this.utilizationRateTopFourEquipment |
| | | gaugeTopOption4.series[0].data = [{value : (this.utilizationRateTopFour * 100).toFixed(2), name : 'å©ç¨ç'}]; |
| | | gaugeTopOption4.series[0].data = [{ value: (this.utilizationRateTopFour * 100).toFixed(2), name: 'å©ç¨ç' }] |
| | | gaugeTopOption5.title.text = this.utilizationRateTopFiveEquipment |
| | | gaugeTopOption5.series[0].data = [{value : (this.utilizationRateTopFive * 100).toFixed(2), name : 'å©ç¨ç'}]; |
| | | gaugeTopOption5.series[0].data = [{ value: (this.utilizationRateTopFive * 100).toFixed(2), name: 'å©ç¨ç' }] |
| | | |
| | | gaugeLessOption1.title.text = this.utilizationRateLastOneEquipment |
| | | gaugeLessOption1.series[0].data = [{value : (this.utilizationRateLastOne * 100).toFixed(2), name : 'å©ç¨ç'}]; |
| | | gaugeLessOption1.series[0].data = [{ value: (this.utilizationRateLastOne * 100).toFixed(2), name: 'å©ç¨ç' }] |
| | | gaugeLessOption2.title.text = this.utilizationRateLastTwoEquipment |
| | | gaugeLessOption2.series[0].data = [{value : (this.utilizationRateLastTwo * 100).toFixed(2), name : 'å©ç¨ç'}]; |
| | | gaugeLessOption2.series[0].data = [{ value: (this.utilizationRateLastTwo * 100).toFixed(2), name: 'å©ç¨ç' }] |
| | | gaugeLessOption3.title.text = this.utilizationRateLastThreeEquipment |
| | | gaugeLessOption3.series[0].data = [{value : (this.utilizationRateLastThree * 100).toFixed(2), name : 'å©ç¨ç'}]; |
| | | gaugeLessOption3.series[0].data = [{ value: (this.utilizationRateLastThree * 100).toFixed(2), name: 'å©ç¨ç' }] |
| | | gaugeLessOption4.title.text = this.utilizationRateLastFourEquipment |
| | | gaugeLessOption4.series[0].data = [{value : (this.utilizationRateLastFour * 100).toFixed(2), name : 'å©ç¨ç'}]; |
| | | gaugeLessOption4.series[0].data = [{ value: (this.utilizationRateLastFour * 100).toFixed(2), name: 'å©ç¨ç' }] |
| | | gaugeLessOption5.title.text = this.utilizationRateLastFiveEquipment |
| | | gaugeLessOption5.series[0].data = [{value : (this.utilizationRateLastFive * 100).toFixed(2), name : 'å©ç¨ç'}]; |
| | | gaugeTopChart1.setOption(gaugeTopOption1); |
| | | gaugeTopChart2.setOption(gaugeTopOption2); |
| | | gaugeTopChart3.setOption(gaugeTopOption3); |
| | | gaugeTopChart4.setOption(gaugeTopOption4); |
| | | gaugeTopChart5.setOption(gaugeTopOption5); |
| | | gaugeLastChart1.setOption(gaugeLessOption1); |
| | | gaugeLastChart2.setOption(gaugeLessOption2); |
| | | gaugeLastChart3.setOption(gaugeLessOption3); |
| | | gaugeLastChart4.setOption(gaugeLessOption4); |
| | | gaugeLastChart5.setOption(gaugeLessOption5); |
| | | gaugeLessOption5.series[0].data = [{ value: (this.utilizationRateLastFive * 100).toFixed(2), name: 'å©ç¨ç' }] |
| | | gaugeTopChart1.setOption(gaugeTopOption1) |
| | | gaugeTopChart2.setOption(gaugeTopOption2) |
| | | gaugeTopChart3.setOption(gaugeTopOption3) |
| | | gaugeTopChart4.setOption(gaugeTopOption4) |
| | | gaugeTopChart5.setOption(gaugeTopOption5) |
| | | gaugeLastChart1.setOption(gaugeLessOption1) |
| | | gaugeLastChart2.setOption(gaugeLessOption2) |
| | | gaugeLastChart3.setOption(gaugeLessOption3) |
| | | gaugeLastChart4.setOption(gaugeLessOption4) |
| | | gaugeLastChart5.setOption(gaugeLessOption5) |
| | | }else{ |
| | | gaugeTopChart1.setOption(gaugeTopOption1); |
| | | gaugeTopChart2.setOption(gaugeTopOption2); |
| | | gaugeTopChart3.setOption(gaugeTopOption3); |
| | | gaugeTopChart4.setOption(gaugeTopOption4); |
| | | gaugeTopChart5.setOption(gaugeTopOption5); |
| | | gaugeLastChart1.setOption(gaugeLessOption1); |
| | | gaugeLastChart2.setOption(gaugeLessOption2); |
| | | gaugeLastChart3.setOption(gaugeLessOption3); |
| | | gaugeLastChart4.setOption(gaugeLessOption4); |
| | | gaugeLastChart5.setOption(gaugeLessOption5); |
| | | gaugeTopChart1.setOption(gaugeTopOption1) |
| | | gaugeTopChart2.setOption(gaugeTopOption2) |
| | | gaugeTopChart3.setOption(gaugeTopOption3) |
| | | gaugeTopChart4.setOption(gaugeTopOption4) |
| | | gaugeTopChart5.setOption(gaugeTopOption5) |
| | | gaugeLastChart1.setOption(gaugeLessOption1) |
| | | gaugeLastChart2.setOption(gaugeLessOption2) |
| | | gaugeLastChart3.setOption(gaugeLessOption3) |
| | | gaugeLastChart4.setOption(gaugeLessOption4) |
| | | gaugeLastChart5.setOption(gaugeLessOption5) |
| | | } |
| | | gaugeTopChart1.setOption(gaugeTopOption1); |
| | | gaugeTopChart2.setOption(gaugeTopOption2); |
| | | gaugeTopChart3.setOption(gaugeTopOption3); |
| | | gaugeTopChart4.setOption(gaugeTopOption4); |
| | | gaugeTopChart5.setOption(gaugeTopOption5); |
| | | gaugeLastChart1.setOption(gaugeLessOption1); |
| | | gaugeLastChart2.setOption(gaugeLessOption2); |
| | | gaugeLastChart3.setOption(gaugeLessOption3); |
| | | gaugeLastChart4.setOption(gaugeLessOption4); |
| | | gaugeLastChart5.setOption(gaugeLessOption5); |
| | | gaugeTopChart1.setOption(gaugeTopOption1) |
| | | gaugeTopChart2.setOption(gaugeTopOption2) |
| | | gaugeTopChart3.setOption(gaugeTopOption3) |
| | | gaugeTopChart4.setOption(gaugeTopOption4) |
| | | gaugeTopChart5.setOption(gaugeTopOption5) |
| | | gaugeLastChart1.setOption(gaugeLessOption1) |
| | | gaugeLastChart2.setOption(gaugeLessOption2) |
| | | gaugeLastChart3.setOption(gaugeLessOption3) |
| | | gaugeLastChart4.setOption(gaugeLessOption4) |
| | | gaugeLastChart5.setOption(gaugeLessOption5) |
| | | window.addEventListener('resize', function() { |
| | | gaugeTopChart1.resize() |
| | | gaugeTopChart2.resize() |
| | |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | <style lang="less" scoped> |
| | | .outer-container { |
| | | height: 100%; |
| | | overflow: auto; |
| | | |
| | | > div { |
| | | height: 320px; |
| | | display: flex; |
| | | flex-direction: column |
| | | } |
| | | |
| | | .div-inline{ |
| | | flex: 1; |
| | | width: 20%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div :bordered="false" class="device_list"> |
| | | <div class="com_box"> |
| | | <div class="device_list"> |
| | | <!-- æ¥è¯¢åºå --> |
| | | <div style="width: 100%; background-color: #fff" class="table-page-search-wrapper"> |
| | | <div style="background-color: #fff" class="table-page-search-wrapper"> |
| | | <a-form layout="inline" @keyup.enter.native="searchQuery"> |
| | | <a-row :gutter="24"> |
| | | <a-col :md="5" :sm="5"> |
| | | <a-form-item label="设å¤"> |
| | | <a-input-search :readOnly="true" v-model="queryParam.equipmentId" @search="deviceSearch" @click="deviceSearch" |
| | | <a-input-search readOnly v-model="queryParam.equipmentId" @search="deviceSearch" |
| | | @click="deviceSearch" |
| | | placeholder='è¯·éæ©è®¾å¤'/> |
| | | </a-form-item> |
| | | </a-col> |
| | |
| | | </a-row> |
| | | </a-form> |
| | | </div> |
| | | <!-- tableåºå-begin --> |
| | | <div id="DeviceList"> |
| | | <a-tabs :activeKey="activeKey" @change="tabChange" tabPosition="top"> |
| | | |
| | | <a-spin :spinning="spinning"> |
| | | <a-tabs tabPosition="top" id="custom-tabs"> |
| | | <a-tab-pane key="1" tab="å¾å½¢"> |
| | | <ComparativeAnalysisBar ref="AnalysisBar" :dataList='AnalysisBarList'></ComparativeAnalysisBar> |
| | | <ComparativeAnalysisBar ref="AnalysisBar" :dataList='AnalysisBarList'/> |
| | | </a-tab-pane> |
| | | <a-tab-pane key="2" tab="仪表" forceRender> |
| | | <ComparativeAnalysisGauge ref="AnalysisGauge" :dataList="AnalysisGauge"></ComparativeAnalysisGauge> |
| | | <ComparativeAnalysisGauge ref="AnalysisGauge" :dataList="AnalysisGauge"/> |
| | | </a-tab-pane> |
| | | <a-tab-pane key="3" tab="饼å¾" forceRender> |
| | | <ComparativeAnalysisPie ref="AnalysisPie" :dataList="AnalysisPie"></ComparativeAnalysisPie> |
| | | <ComparativeAnalysisPie ref="AnalysisPie" :dataList="AnalysisPie"/> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </div> |
| | | <!-- tableåºå-end --> |
| | | </div> |
| | | </a-spin> |
| | | |
| | | <SelectDeviceDrawer ref="selectDeviceDrawer" @selectFinished="selectOK" :title="'éæ©è®¾å¤'"></SelectDeviceDrawer> |
| | | <SelectDeviceDrawer ref="selectDeviceDrawer" @selectFinished="selectOK" :title="'éæ©è®¾å¤'"/> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import moment from 'moment' |
| | | import $ from 'jquery' |
| | | import JDictSelectTag from '@/components/dict/JDictSelectTag' |
| | | import JDate from '../../../../../components/jeecg/JDate' |
| | | import { |
| | | requestPut, |
| | | deleteAction, |
| | | getAction |
| | | } from '@/api/manage' |
| | | import { getAction } from '@/api/manage' |
| | | import api from '@/api/mdc' |
| | | import ComparativeAnalysisBar from './ComparativeAnalysisBar' |
| | | import ComparativeAnalysisGauge from './ComparativeAnalysisGauge' |
| | | import ComparativeAnalysisPie from './ComparativeAnalysisPie' |
| | | import '@/components/table2excel/table2excel' |
| | | import JInput from '@/components/jeecg/JInput' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | import Tooltip from 'ant-design-vue/es/tooltip' |
| | | import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api' |
| | | import api from '@/api/mdc' |
| | | import SelectDeviceDrawer from '../../../../system/modules/SelectDeviceDrawer.vue' |
| | | |
| | | export default { |
| | | name: 'ComparativeAnalysisMain', |
| | | components: { |
| | | Tooltip, |
| | | ComparativeAnalysisBar, |
| | | ComparativeAnalysisGauge, |
| | | ComparativeAnalysisPie, |
| | | JDictSelectTag, |
| | | JInput, |
| | | JDate, |
| | | JEllipsis, |
| | | SelectDeviceDrawer |
| | | }, |
| | | props: { nodeTree: '', Type: '', nodePeople: '' }, |
| | | data() { |
| | | return { |
| | | activeKey: '1', |
| | | typeTree: '', |
| | | typeParent: 1, |
| | | typeEquipment: 1, |
| | |
| | | AnalysisGauge: [], |
| | | AnalysisPie: [], |
| | | dates: [], |
| | | xianshi: '', |
| | | readOnly: true, |
| | | queryParam: { |
| | | equipmentId: '' |
| | | }, |
| | | queryParams: {}, |
| | | queryParamEquip: {}, |
| | | queryParamPeople: {}, |
| | | dataStartsoucre: [], |
| | | url: { |
| | | comparativeAnalysis: '/mdc/efficiencyReport/comparativeAnalysis' |
| | | }, |
| | | AnalysisList: {}, |
| | | driveTypeList: [] |
| | | driveTypeList: [], |
| | | spinning: false |
| | | } |
| | | }, |
| | | watch: { |
| | | Type(valmath) { |
| | | this.dataList = [] |
| | | this.queryParams.typeTree = valmath |
| | | // console.log(this.queryParams.typeTree) |
| | | }, |
| | | nodeTree(val) { //çå¬currSelected ååï¼å°åååçæ°å¼ä¼ éç» getCurrSelected äºä»¶ |
| | | if (JSON.stringify(val) != '{}') { |
| | | if (val.equipmentId) { |
| | | // this.$set(this.queryParam, 'tierName', val.title) |
| | | this.queryParamEquip.parentId = '' |
| | | // this.queryParams.equipmentId = val.equipmentId |
| | | this.queryParam.equipmentId = val.equipmentId |
| | | this.queryParamEquip.equipmentId = val.equipmentId |
| | | } else { |
| | | // this.$set(this.queryParam, 'tierName', val.title) |
| | | this.queryParamEquip.parentId = val.key |
| | | this.queryParams.equipmentId = '' |
| | | } |
| | |
| | | nodePeople(val) { |
| | | if (JSON.stringify(val) != '{}') { |
| | | if (val.equipmentId) { |
| | | // this.$set(this.queryParam, 'tierName', val.title) |
| | | this.queryParamEquip.parentId = '' |
| | | this.queryParams.equipmentId = val.equipmentId |
| | | this.queryParamEquip.equipmentId = val.equipmentId |
| | | } else { |
| | | // this.$set(this.queryParam, 'tierName', val.title) |
| | | this.queryParamEquip.parentId = val.key |
| | | this.queryParams.equipmentId = '' |
| | | } |
| | |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | tabChange(val) { |
| | | this.activeKey = val |
| | | created() { |
| | | this.dates = [moment().subtract('days', 7), moment().subtract('days', 0)] |
| | | this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD') |
| | | this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD') |
| | | this.queryParam.typeTree = '1' |
| | | this.loadAnalysis() |
| | | this.getDriveTypeByApi() |
| | | }, |
| | | |
| | | mounted() { |
| | | const tabsBar = document.querySelector('#custom-tabs .ant-tabs-bar') |
| | | const tabsContent = document.querySelector('#custom-tabs .ant-tabs-content') |
| | | const tabsBarHeight = window.getComputedStyle(tabsBar).height |
| | | const tabsBarMarginBottom = window.getComputedStyle(tabsBar).marginBottom |
| | | tabsContent.style.height = `calc(100% - ${tabsBarHeight} - ${tabsBarMarginBottom})` |
| | | }, |
| | | methods: { |
| | | dateParamChange(v1, v2) { |
| | | // console.log(v1,v2) |
| | | this.queryParam.startTime = v2[0] |
| | | this.queryParam.endTime = v2[1] |
| | | console.log(v2[0], v2[1]) |
| | | }, |
| | | |
| | | loadAnalysis() { |
| | | this.spinning = true |
| | | getAction(this.url.comparativeAnalysis, this.queryParam).then(res => { |
| | | if (res.success) { |
| | | this.AnalysisList = res.result |
| | |
| | | this.$message.warning(res.message) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | this.spinning = false |
| | | }) |
| | | }, |
| | | |
| | |
| | | this.AnalysisPie = [] |
| | | if (this.queryParams.typeTree == '1') { |
| | | this.queryParams.parentId = this.queryParamEquip.parentId |
| | | // this.queryParams.equipmentId = this.queryParamEquip.equipmentId |
| | | } else { |
| | | this.queryParams.parentId = this.queryParamEquip.parentId |
| | | // this.queryParams.equipmentId = "" |
| | | } |
| | | this.AnalysisList = [] |
| | | //è·åæ¥è¯¢æ¡ä»¶ |
| | | this.queryParam.parentId = this.queryParams.parentId |
| | | // this.queryParam.equipmentId = this.queryParams.equipmentId |
| | | this.queryParam.typeTree = this.queryParams.typeTree |
| | | getAction(this.url.comparativeAnalysis, this.queryParam).then((res) => { |
| | | if (res.success) { |
| | | this.AnalysisList = res.result |
| | | this.AnalysisBarList = res.result.graphics |
| | | this.AnalysisGauge = res.result.meters |
| | | this.AnalysisPie.push(res.result.pieCharts) |
| | | } else { |
| | | // this.$message.warning(res.message) |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | this.loadAnalysis() |
| | | }, |
| | | |
| | | searchReset() { |
| | |
| | | this.queryParams.equipmentId = this.queryParamEquip.equipmentId |
| | | } |
| | | } |
| | | getAction(this.url.comparativeAnalysis, this.queryParams).then((res) => { |
| | | if (res.success) { |
| | | this.AnalysisList = res.result |
| | | this.AnalysisBarList = res.result.graphics |
| | | this.AnalysisGauge = res.result.meters |
| | | this.AnalysisPie.push(res.result.pieCharts) |
| | | } else { |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | } else { |
| | | this.typeTree = this.queryParams.typeTree |
| | | this.typeParent = this.queryParams.parentId |
| | |
| | | this.queryParams.equipmentId = this.queryParamEquip.equipmentId |
| | | } |
| | | } |
| | | getAction(this.url.comparativeAnalysis, this.queryParams).then((res) => { |
| | | if (res.success) { |
| | | this.AnalysisList = res.result |
| | | this.AnalysisBarList = res.result.graphics |
| | | this.AnalysisGauge = res.result.meters |
| | | this.AnalysisPie.push(res.result.pieCharts) |
| | | } else { |
| | | this.$notification.warning({ |
| | | message: 'æ¶æ¯', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | } |
| | | this.loadAnalysis() |
| | | }, |
| | | |
| | | /** |
| | |
| | | * @param data 已鿩çè®¾å¤ |
| | | */ |
| | | selectOK(data) { |
| | | console.log('data=', data) |
| | | this.queryParam.equipmentId = data.join(',') |
| | | console.log('queryParam', this.queryParam.equipmentId) |
| | | } |
| | | }, |
| | | created() { |
| | | this.dates = [moment().subtract('days', 7), moment().subtract('days', 0)] |
| | | this.queryParam.startTime = moment(this.dates[0]).format('YYYYMMDD') |
| | | this.queryParam.endTime = moment(this.dates[1]).format('YYYYMMDD') |
| | | this.queryParam.typeTree = '1' |
| | | this.loadAnalysis() |
| | | this.getDriveTypeByApi() |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | /*@import '~@assets/less/common.less';*/ |
| | | .device_list { |
| | | display: flex; |
| | | flex-direction: column; |
| | | overflow: hidden; |
| | | |
| | | /deep/ .ant-spin-nested-loading { |
| | | flex: 1; |
| | | overflow: hidden; |
| | | |
| | | .ant-spin-container { |
| | | height: 100%; |
| | | |
| | | .ant-tabs { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @media screen and (min-width: 1920px) { |
| | | .device_list { |
| | | height: 811px !important; |
| | | overflow: scroll; |
| | | } |
| | | } |
| | | |
| | | @media screen and (min-width: 1680px) and (max-width: 1920px) { |
| | | .device_list { |
| | | height: 811px !important; |
| | | overflow: scroll; |
| | | } |
| | | } |
| | | |
| | | @media screen and (min-width: 1400px) and (max-width: 1680px) { |
| | | .device_list { |
| | | height: 663px !important; |
| | | overflow: scroll; |
| | | } |
| | | } |
| | | |
| | | @media screen and (min-width: 1280px) and (max-width: 1400px) { |
| | | .device_list { |
| | | height: 564px !important; |
| | | overflow: scroll; |
| | | } |
| | | } |
| | | |
| | | @media screen and (max-width: 1280px) { |
| | | .device_list { |
| | | height: 564px !important; |
| | | overflow: scroll; |
| | | } |
| | | } |
| | | |
| | | /*.device_list{*/ |
| | | /*display: flex;*/ |
| | | /*}*/ |
| | | /*.device_list .table-page-search-wrapper{*/ |
| | | /**/ |
| | | /*}*/ |
| | | /deep/ .ant-card-body { |
| | | height: 100% !important; |
| | | } |
| | | |
| | | .device_list .com_box { |
| | | display: flex !important; |
| | | height: 100% !important; |
| | | flex-direction: column !important; |
| | | } |
| | | |
| | | .device_list .table-page-search-wrapper { |
| | | height: 6% !important; |
| | | } |
| | | |
| | | .device_list #DeviceList { |
| | | height: 90% !important; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="comparative_pie" style="width: 100%;height: 600px;display: flex;overflow: scroll"> |
| | | <div id="compAnalPie1" style="flex: 1;"></div> |
| | | <div id="compAnalPie2" style="flex: 1;"></div> |
| | | <div style="display: flex;height: 100%;overflow: auto"> |
| | | <div id="compAnalPie1" style="width:50%;height:600px"></div> |
| | | <div id="compAnalPie2" style="width:50%;height:600px"></div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import * as echarts from 'echarts' |
| | | export default { |
| | | name: 'conparativeAnalysisPie', |
| | | name: 'comparativeAnalysisPie', |
| | | props:{ dataList:''}, |
| | | data(){ |
| | | return{ |
| | |
| | | RateList:[] |
| | | } |
| | | }, |
| | | created(){ |
| | | |
| | | }, |
| | | watch:{ |
| | | dataList(val){ |
| | | this.RateList = val |
| | | console.log(val) |
| | | this.drawTu() |
| | | }, |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.drawTu() |
| | | }, |
| | | methods:{ |
| | | drawTu(){ |
| | | let pieCompChart1 = this.$echarts.init(document.getElementById('compAnalPie1'),'macarons'); |
| | | let pieCompChart2 = this.$echarts.init(document.getElementById('compAnalPie2'),'macarons'); |
| | | let pieCompChart1 = this.$echarts.init(document.getElementById('compAnalPie1'), 'macarons') |
| | | let pieCompChart2 = this.$echarts.init(document.getElementById('compAnalPie2'), 'macarons') |
| | | let pieCompChartOption1 = { |
| | | title: { |
| | | x: 'center', |
| | |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item', |
| | | formatter: "{a} <br/>{b} : {c} ({d}%)" |
| | | formatter: '{a} <br/>{b} : {c} ({d}%)' |
| | | }, |
| | | legend: { |
| | | orient: 'vertical', |
| | |
| | | itemStyle: { |
| | | normal: { |
| | | color: function (params) { |
| | | var colorList = ['#4169E1', '#A8A8A8']; |
| | | var colorList = ['#4169E1', '#A8A8A8'] |
| | | return colorList[params.dataIndex] |
| | | }, |
| | | label: { |
| | |
| | | data: [{value: 0, name: '弿ºç'}, |
| | | {value: 0, name: 'å
³æºç'}] |
| | | }] |
| | | }; |
| | | } |
| | | let pieCompChartOption2 = { |
| | | title: { |
| | | x: 'center', |
| | |
| | | }, |
| | | tooltip: { |
| | | trigger: 'item', |
| | | formatter: "{a} <br/>{b} : {c} ({d}%)" |
| | | formatter: '{a} <br/>{b} : {c} ({d}%)' |
| | | }, |
| | | legend: { |
| | | orient: 'vertical', |
| | |
| | | itemStyle: { |
| | | normal: { |
| | | color: function (params) { |
| | | var colorList = ['#00ee00', '#FCCE10', '#A8A8A8']; |
| | | var colorList = ['#00ee00', '#FCCE10', '#A8A8A8'] |
| | | return colorList[params.dataIndex] |
| | | }, |
| | | label: { |
| | |
| | | {value: 0, name: 'å¾
æºç'}, |
| | | {value: 0, name: 'å
³æºç'}] |
| | | }] |
| | | }; |
| | | } |
| | | if(this.RateList != null){ |
| | | this.closeRate =[] |
| | | this.openRate =[] |
| | |
| | | this.openRate=this.RateList[0].openRate |
| | | this.usedRate=this.RateList[0].processRate |
| | | this.waitRate=this.RateList[0].waitRate |
| | | pieCompChartOption1.series[0].data = [{value:(this.openRate * 100).toFixed(2), name:'弿ºç'},{value:(this.closeRate * 100).toFixed(2), name:'å
³æºç'}]; |
| | | pieCompChartOption2.series[0].data = [{value:(this.usedRate * 100).toFixed(2), name:'å å·¥ç'},{value:(this.waitRate * 100).toFixed(2), name:'å¾
æºç'},{value:(this.closeRate * 100).toFixed(2), name:'å
³æºç'}]; |
| | | pieCompChart1.setOption(pieCompChartOption1); |
| | | pieCompChart2.setOption(pieCompChartOption2); |
| | | pieCompChartOption1.series[0].data = [{ |
| | | value: (this.openRate * 100).toFixed(2), |
| | | name: '弿ºç' |
| | | }, { value: (this.closeRate * 100).toFixed(2), name: 'å
³æºç' }] |
| | | pieCompChartOption2.series[0].data = [{ |
| | | value: (this.usedRate * 100).toFixed(2), |
| | | name: 'å å·¥ç' |
| | | }, { value: (this.waitRate * 100).toFixed(2), name: 'å¾
æºç' }, { |
| | | value: (this.closeRate * 100).toFixed(2), |
| | | name: 'å
³æºç' |
| | | }] |
| | | pieCompChart1.setOption(pieCompChartOption1) |
| | | pieCompChart2.setOption(pieCompChartOption2) |
| | | }else{ |
| | | pieCompChart1.setOption(pieCompChartOption1); |
| | | pieCompChart2.setOption(pieCompChartOption2); |
| | | pieCompChart1.setOption(pieCompChartOption1) |
| | | pieCompChart2.setOption(pieCompChartOption2) |
| | | } |
| | | |
| | | }else{ |
| | | pieCompChart1.setOption(pieCompChartOption1); |
| | | pieCompChart2.setOption(pieCompChartOption2); |
| | | pieCompChart1.setOption(pieCompChartOption1) |
| | | pieCompChart2.setOption(pieCompChartOption2) |
| | | } |
| | | |
| | | pieCompChart1.setOption(pieCompChartOption1); |
| | | pieCompChart2.setOption(pieCompChartOption2); |
| | | pieCompChart1.setOption(pieCompChartOption1) |
| | | pieCompChart2.setOption(pieCompChartOption2) |
| | | window.addEventListener('resize', function() { |
| | | pieCompChart1.resize() |
| | | pieCompChart2.resize() |
| | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | <div class="shift_info"> |
| | | <!-- æä½æé®åºå --> |
| | | <div class="table-operator"> |
| | | <a-button type="primary" v-if="Object.keys(shiftSystemRow).length>0" @click="handleAdd" icon="plus">é
ç½®</a-button> |
| | | <a-button type="primary" :disabled="Object.keys(shiftSystemRow).length===0" @click="handleAdd" icon="plus">é
ç½®</a-button> |
| | | </div> |
| | | <!-- tableåºå-begin --> |
| | | <div style="width: 100%;flex: 1;overflow: auto"> |
| | |
| | | </div> |
| | | <!-- tableåºå-begin --> |
| | | <div style="flex: 1;overflow: auto"> |
| | | <a-table ref="table" bordered size="middle" rowKey="id" :columns="columns" |
| | | <a-table ref="table" bordered size="middle" rowKey="id" :columns="columns" :customRow="customRow" |
| | | :dataSource="dataSource" :pagination="false" :loading="loading" |
| | | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange,type:'radio'}"> |
| | | <span |
| | |
| | | </a-table> |
| | | </div> |
| | | |
| | | <shift-system-model ref="modalForm" @ok="modalFormOk"></shift-system-model> |
| | | <shift-system-model ref="modalForm" @ok="loadData"></shift-system-model> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import qs from 'qs' |
| | | import { |
| | | requestPut, putAction, deleteAction,postAction |
| | | } from '@/api/manage' |
| | | import { |
| | | JeecgListMixin |
| | | } from '@/mixins/JeecgListMixin' |
| | | import { putAction, deleteAction, postAction } from '@/api/manage' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import ShiftSystemModel from './ShiftSystemModel' |
| | | |
| | | export default { |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | statusName: '', |
| | | disabled: true, |
| | | disableMixinCreated: false, |
| | | url: { |
| | | list: '/mdc/mdcMdcShift/queryPageList', |
| | | changeStatus: '/mdc/mdcMdcShift/changeStatus', |
| | | deleteBatch:'/mdc/mdcMdcShift/deleteShift', |
| | | changeDefaultShift: '/mdc/mdcMdcShift/changeDefaultShift' |
| | | }, |
| | | columns: [ |
| | | { |
| | | title: 'çå¶', |
| | |
| | | dataIndex: 'action', |
| | | scopedSlots: { customRender: 'action' } |
| | | } |
| | | ] |
| | | ], |
| | | url: { |
| | | list: '/mdc/mdcMdcShift/queryPageList', |
| | | changeStatus: '/mdc/mdcMdcShift/changeStatus', |
| | | deleteBatch: '/mdc/mdcMdcShift/deleteShift', |
| | | changeDefaultShift: '/mdc/mdcMdcShift/changeDefaultShift' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | _this.$notification.warning({ |
| | | message:'æ¶æ¯', |
| | | description:res.message |
| | | }); |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | this.$notification.success({ |
| | | message:'æ¶æ¯', |
| | | description:res.message |
| | | }); |
| | | }) |
| | | this.loadData() |
| | | }else{ |
| | | // this.$message.success(res.message); |
| | | this.$notification.warning({ |
| | | message:'æ¶æ¯', |
| | | description:res.message |
| | | }); |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | handleDelete: function(record){ |
| | | if(!this.url.deleteBatch){ |
| | | this.$message.error("请设置url.delete屿§!") |
| | | this.$message.error('请设置url.delete屿§!') |
| | | return |
| | | } |
| | | var that = this; |
| | | var that = this |
| | | deleteAction(that.url.deleteBatch, {id: record}).then((res) => { |
| | | if (res.success) { |
| | | // that.$message.success(res.message); |
| | | that.$notification.success({ |
| | | message:'æ¶æ¯', |
| | | description:res.message |
| | | }); |
| | | that.loadData(); |
| | | }) |
| | | that.loadData() |
| | | } else { |
| | | // that.$message.warning(res.message); |
| | | that.$notification.warning({ |
| | | message:'æ¶æ¯', |
| | | description:res.message |
| | | }); |
| | | }) |
| | | } |
| | | }); |
| | | }) |
| | | }, |
| | | handleEdit(record) { |
| | | this.$refs.modalForm.edit(record) |
| | |
| | | |
| | | }, |
| | | onSelectChange(selectedRowKeys, selectionRows) { |
| | | this.selectedRowKeys = selectedRowKeys; |
| | | this.selectionRows = selectionRows; |
| | | this.selectedRowKeys = selectedRowKeys |
| | | this.selectionRows = selectionRows |
| | | this.$emit('selectionShiftRow', this.selectionRows[0]) |
| | | }, |
| | | }, |
| | | created() { |
| | | } |
| | | |
| | | customRow(record) { |
| | | return { |
| | | style: { |
| | | cursor: 'pointer' |
| | | }, |
| | | on: { |
| | | click: () => { |
| | | this.onSelectChange([record.id], [record]) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | |
| | | height: 748px!important; |
| | | } |
| | | } |
| | | |
| | | @media screen and (min-width: 1680px) and (max-width: 1920px){ |
| | | .shift_system{ |
| | | height: 748px!important; |
| | | } |
| | | } |
| | | |
| | | @media screen and (min-width: 1400px) and (max-width: 1680px){ |
| | | .shift_system{ |
| | | height: 600px!important; |
| | | } |
| | | } |
| | | |
| | | @media screen and (min-width: 1280px) and (max-width: 1400px){ |
| | | .shift_system{ |
| | | height: 501px!important; |
| | | } |
| | | } |
| | | |
| | | @media screen and (max-width: 1280px){ |
| | | .shift_system{ |
| | | height: 501px!important; |