设备日志界面的持续时间的显示处理,设备数据对比分析界面调取接口,渲染,设备工作日历界面的班制接口的修改
已修改8个文件
853 ■■■■■ 文件已修改
src/views/mdc/base/ComparativeAnalysis.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysisBar.vue 45 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysisGauge.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue 581 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/comparativeAnalysis/conparativeAnalysisPie.vue 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/deviceLog/AlarmLogList.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/deviceLog/LogList.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/deviceLog/WorkLogList.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/ComparativeAnalysis.vue
@@ -29,11 +29,13 @@
<script>
  import BaseTree from '../common/BaseTree'
  import comparativeAnalysismain from './modules/comparativeAnalysis/comparativeAnalysismain'
  import DepartTree from './modules/DepartList/DepartListTree/DepartTree'
  export default {
    name: 'ComparativeAnalysis',
    components:{
      BaseTree,
      comparativeAnalysismain
      comparativeAnalysismain,
      DepartTree
    },
    data() {
      return {
src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysisBar.vue
@@ -9,17 +9,28 @@
  import * as echarts from 'echarts'
  export default {
    name: 'comparativeAnalysisBar',
    propa:{},
    props:{
      dataList:''
    },
    data(){
      return{
        openRate:0,
        utilizationRate:0,
        openLong:0,
        closeLong:0
        OpenCloseList:[],
        openRate:[],
        utilizationRate:[],
        openLong:[],
        closeLong:[],
        equipmentList:[]
      }
    },
    created(){
    },
    watch:{
      dataList(val){
        this.OpenCloseList = val
        this.drawTu()
      },
    },
    mounted() {
      this.drawTu()
@@ -328,8 +339,32 @@
            }
          ]
        };
        if(this.OpenCloseList != null){
          this.equipmentList = []
          this.openRate =[]
          this.utilizationRate =[]
          this.openLong = []
          this.closeLong = []
          for(var i = 0;i<this.OpenCloseList.length;i++){
              this.equipmentList.push(this.OpenCloseList[i].equipmentId)
              this.openRate.push(this.OpenCloseList[i].openRate)
              this.utilizationRate.push(this.OpenCloseList[i].utilizationRate)
              this.openLong.push(this.OpenCloseList[i].openLong)
              this.closeLong.push(this.OpenCloseList[i].closeLong)
          }
          compAnalBarOption1.xAxis[0].data = this.equipmentList
          compAnalBarOption1.series[0].data = this.openRate
          compAnalBarOption1.series[1].data = this.utilizationRate
          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);
        }
        window.addEventListener('resize', function() {
          compAnalBar1.resize()
          compAnalBar2.resize()
src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysisGauge.vue
@@ -29,20 +29,38 @@
  import * as echarts from 'echarts'
  export default {
    name: 'comparativeAnalysisGauge',
    props:{},
    props:{dataList:''},
    data(){
      return{
        utilizationRateTopOne:0,
        utilizationRateTopOneEquipment:0,
        utilizationRateTopTwo:0,
        utilizationRateTopTwoEquipment:0,
        utilizationRateTopThree:0,
        utilizationRateTopThreeEquipment:0,
        utilizationRateTopFour:0,
        utilizationRateTopFourEquipment:0,
        utilizationRateTopFive:0,
        utilizationRateTopFiveEquipment:0,
        utilizationRateLastOne:0,
        utilizationRateLastOneEquipment:0,
        utilizationRateLastTwo:0,
        utilizationRateLastTwoEquipment:0,
        utilizationRateLastThree:0,
        utilizationRateLastThreeEquipment:0,
        utilizationRateLastFour:0,
        utilizationRateLastFive:0
        utilizationRateLastFourEquipment:0,
        utilizationRateLastFive:0,
        utilizationRateLastFiveEquipment:0,
        TopLastList:[]
      }
    },
    watch:{
      dataList(val){
        console.log(val);
        this.TopLastList = val
        this.draw()
      },
    },
    mounted(){
      this.draw();
@@ -679,6 +697,110 @@
            }
          ]
        };
        if(this.TopLastList != null){
            this.utilizationRateTopOne=0
            this.utilizationRateTopOneEquipment = 'TOP1'
            this.utilizationRateTopTwo=0
            this.utilizationRateTopTwoEquipment = 'TOP2'
            this.utilizationRateTopThree=0
            this.utilizationRateTopThreeEquipment = 'TOP3'
            this.utilizationRateTopFour =0
            this.utilizationRateTopFourEquipment = 'TOP4'
            this.utilizationRateTopFive=0
            this.utilizationRateTopFiveEquipment = 'TOP5'
            this.utilizationRateLastOne=0
            this.utilizationRateLastOneEquipment = 'LAST1'
            this.utilizationRateLastTwo=0
            this.utilizationRateLastTwoEquipment = 'LAST2'
            this.utilizationRateLastThree=0
            this.utilizationRateLastThreeEquipment = 'LAST3'
            this.utilizationRateLastFour=0
            this.utilizationRateLastFourEquipment = 'LAST4'
            this.utilizationRateLastFive=0
            this.utilizationRateLastFiveEquipment = 'LAST5'
          if(this.TopLastList.tops){
            for(var i = 0;i<this.TopLastList.tops.length;i++){
              if(i == 0){
                this.utilizationRateTopOneEquipment=this.TopLastList.tops[0].equipmentId
                this.utilizationRateTopOne=this.TopLastList.tops[0].utilizationRate
              }else if(i == 1){
                this.utilizationRateTopTwoEquipment=this.TopLastList.tops[1].equipmentId
                this.utilizationRateTopTwo=this.TopLastList.tops[1].utilizationRate
              }else if(i == 2){
                this.utilizationRateTopThreeEquipment=this.TopLastList.tops[2].equipmentId
                this.utilizationRateTopThree=this.TopLastList.tops[2].utilizationRate
              }else if(i == 3){
                this.utilizationRateTopFourEquipment=this.TopLastList.tops[3].equipmentId
                this.utilizationRateTopFour=this.TopLastList.tops[3].utilizationRate
              }else if(i == 4){
                this.utilizationRateTopFiveEquipment=this.TopLastList.tops[4].equipmentId
                this.utilizationRateTopFive=this.TopLastList.tops[4].utilizationRate
              }
            }
          }
          if(this.TopLastList.lasts){
            for(var j = 0;j<this.TopLastList.lasts.length;j++){
              if(j == 0){
                this.utilizationRateLastOneEquipment=this.TopLastList.lasts[0].equipmentId
                this.utilizationRateLastOne=this.TopLastList.lasts[0].utilizationRate
              }else if(j == 1){
                this.utilizationRateLastTwoEquipment=this.TopLastList.lasts[1].equipmentId
                this.utilizationRateLastTwo=this.TopLastList.lasts[1].utilizationRate
              }else if(j == 2){
                this.utilizationRateLastThreeEquipment=this.TopLastList.lasts[2].equipmentId
                this.utilizationRateLastThree=this.TopLastList.lasts[2].utilizationRate
              }else if(j == 3){
                this.utilizationRateLastFourEquipment=this.TopLastList.lasts[3].equipmentId
                this.utilizationRateLastFour=this.TopLastList.lasts[3].utilizationRate
              }else if(j == 4){
                this.utilizationRateLastFiveEquipment=this.TopLastList.lasts[4].equipmentId
                this.utilizationRateLastFive=this.TopLastList.lasts[4].utilizationRate
              }
            }
          }
          gaugeTopOption1.title.text = this.utilizationRateTopOneEquipment
          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 : '利用率'}];
          gaugeTopOption3.title.text = this.utilizationRateTopThreeEquipment
          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 : '利用率'}];
          gaugeTopOption5.title.text = this.utilizationRateTopFiveEquipment
          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 : '利用率'}];
          gaugeLessOption2.title.text = this.utilizationRateLastTwoEquipment
          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 : '利用率'}];
          gaugeLessOption4.title.text = this.utilizationRateLastFourEquipment
          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);
        }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);
src/views/mdc/base/modules/comparativeAnalysis/comparativeAnalysismain.vue
@@ -5,21 +5,21 @@
    <div style="width: 100%; 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 placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParam.tierName"></a-input>-->
            <!--</a-form-item>-->
          <!--</a-col>-->
          <a-col :md="5" :sm="5">
            <a-form-item label="名称">
              <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParam.tierName"></a-input>
            <a-form-item label="驱动类型">
              <j-dict-select-tag placeholder="请选择驱动类型"
                                 :triggerChange="true" dictCode="mdc_driveType"
                                 v-model="queryParam.driveType" allow-clear/>
            </a-form-item>
          </a-col>
          <!--<a-col :md="4" :sm="4">-->
          <!--<a-form-model-item label="驱动类型" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
            <!--<j-dict-select-tag :disabled="true" :readOnly="disableSubmit" placeholder="请选择驱动类型"-->
                               <!--:triggerChange="true" dictCode="mdc_driveType"-->
                               <!--v-model="model.driveType" allow-clear/>-->
          <!--</a-form-model-item>-->
        <!--</a-col>-->
          <a-col :md="9" :sm="9" :xs="4">
            <a-form-item label="时间">
              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD"/>
              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYYMMDD"/>
            </a-form-item>
          </a-col>
          <a-col :md="2" :sm="3" :xs="3">
@@ -35,16 +35,13 @@
    <div id="DeviceList">
      <a-tabs :activeKey="activeKey" @change="tabChange" tabPosition="top">
        <a-tab-pane key="1" tab="图形" force-render>
          <comparative-analysis-bar></comparative-analysis-bar>
          <!--<log-list :dataList='normalList' ref="logList" :loadingequip='loadingstayus'></log-list>-->
          <comparative-analysis-bar ref="AnalysisBar" :dataList='AnalysisBarList'></comparative-analysis-bar>
        </a-tab-pane>
        <a-tab-pane key="2" tab="仪表">
          <comparative-analysis-gauge></comparative-analysis-gauge>
          <!--<work-log-list :dataList='runList' ref="workLogList" :loadingrun="loadingrunStatus"></work-log-list>-->
          <comparative-analysis-gauge ref="AnalysisGauge" :dataList="AnalysisGauge"></comparative-analysis-gauge>
        </a-tab-pane>
        <a-tab-pane key="3" tab="饼图">
          <conparative-analysis-pie></conparative-analysis-pie>
          <!--<alarm-log-list :dataList='waringList' ref="alarmLogList" :loadingwarn="loadingwarnStatus"></alarm-log-list>-->
          <conparative-analysis-pie ref="AnalysisPie" :dataList="AnalysisPie"></conparative-analysis-pie>
        </a-tab-pane>
      </a-tabs>
    </div>
@@ -67,16 +64,13 @@
  import comparativeAnalysisGauge from'./comparativeAnalysisGauge'
  import conparativeAnalysisPie from './conparativeAnalysisPie'
  import '@/components/table2excel/table2excel'
  import {
    JeecgListMixin
  } from '@/mixins/JeecgListMixin'
  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'
  export default {
    name: 'comparativeAnalysismain',
    mixins: [JeecgListMixin],
    // mixins: [JeecgListMixin],
    components: {
      Tooltip,
      comparativeAnalysisBar,
@@ -94,6 +88,9 @@
        typeTree:"",
        typeParent:1,
        typeEquipment:1,
        AnalysisBarList:[],
        AnalysisGauge:[],
        AnalysisPie:[],
        dates: [],
        xianshi:"",
        readOnly:true,
@@ -102,52 +99,10 @@
        queryParamEquip:{},
        queryParamPeople:{},
        dataStartsoucre:[],
        columns: [
          {
            title: '设备编号',
            align: 'center',
            dataIndex: 'equipmentId'
          },
          {
            title: '设备名称',
            align: 'center',
            dataIndex: 'equipmentName',
            defaultSortOrder:'descend',
            sorter: (a, b) => {return a.equipmentName>b.equipmentName?1:-1}
          },
          {
            title: '维修类型',
            align: 'center',
            dataIndex: 'mdcRepairTypeDictText'
          },
          {
            title: '开始时间',
            align: 'center',
            dataIndex: 'startTime',
            // scopedSlots:{customRender:'startTime'},
            // customRender:(text,row,index) => {
            //   return moment(text).format("YYYY-MM-DD HH:mm:ss")
            // }
          },
          {
            title: '结束时间',
            align: 'center',
            dataIndex: 'endTime'
          },
          {
            title: '操作',
            dataIndex: 'action',
            scopedSlots: {customRender: 'action'},
            align: "center",
            width: 150
          }
        ],
        url: {
          list: '/mdc/mdcEquipmentRepair/pageList',
          deleteBatch: '/mdc/mdcEquipmentRepair/delete',
          getEquipmentByPid: '/mdc/mdcequipment/getEquipmentByPid',
          getBaseTree: '/mdc/mdcEquipment/queryTreeListByProduction',
        }
          comparativeAnalysis:'/mdc/efficiencyReport/comparativeAnalysis'
        },
        AnalysisList:{}
      }
    },
    watch:{
@@ -159,28 +114,30 @@
      nodeTree(val) { //监听currSelected 变化,将变化后的数值传递给 getCurrSelected 事件
        if (JSON.stringify(val) != '{}') {
          if (val.equipmentId) {
            this.$set(this.queryParam, 'tierName', val.title)
            // 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.$set(this.queryParam, 'tierName', val.title)
            this.queryParamEquip.parentId = val.key
            this.queryParams.equipmentId = ''
          }
          this.searchQuery()
        }
      },
      nodePeople(val){
        if (JSON.stringify(val) != '{}') {
          if (val.equipmentId) {
            this.$set(this.queryParam, 'tierName', val.title)
            // 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.queryParamPeople.parentId = val.key
            // this.$set(this.queryParam, 'tierName', val.title)
            this.queryParamEquip.parentId = val.key
            this.queryParams.equipmentId = ''
          }
          this.searchQuery()
@@ -188,34 +145,6 @@
      }
    },
    methods: {
      initEquipmentNode(id) {
        let _this = this
        getAction(this.url.getBaseTree).then((res) => {
          if (res.success) {
            // console.log(res.result[0].entity.tierName)
            _this.$set(this.queryParam, 'tierName', res.result[0].title)
            _this.$set(this.queryParams, 'parentId', res.result[0].key)
            // _this.queryStatistical()
          } else {
            this.$message.warn(res.message)
          }
        }).finally(() => {
          this.loading = false
          this.cardLoading = false
        })
        // getAction(this.url.getEquipmentByPid, { pid: id }).then((res) => {
        //   if (res.success) {
        //     if (res.result) {
        //       _this.$set(this.queryParam, 'tierName', res.result.tierName)
        //       _this.$set(this.queryParam, 'equipmentId', res.result.equipmentId)
        //       // _this.quip = res.result
        //       _this.searchQuery()
        //     } else {
        //       _this.$message.warning('请配置设备!')
        //     }
        //   }
        // })
      },
      tabChange(val) {
        this.activeKey = val
      },
@@ -223,16 +152,61 @@
        // console.log(v1,v2)
        this.queryParam.startTime = v2[0]
        this.queryParam.endTime = v2[1]
        // console.log(v2[0],v2[1])
        console.log(v2[0],v2[1])
      },
      onChange(value, dateString) {
        // console.log('Selected Time: ', value);
        // console.log('Formatted Selected Time: ', dateString);
      loadAnalysis(){
        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)
          }
        }).finally(() => {
          this.loading = false
        })
      },
      onOk(value) {
        console.log('onOk: ', value);
      searchQuery(){
        this.AnalysisList = []
        this.AnalysisBarList = []
        this.AnalysisGauge = []
        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)
            console.log(res.result.pieCharts)
            console.log(this.AnalysisPie)
          }else{
            this.$message.warning(res.message)
          }
        }).finally(() => {
          this.loading = false
        })
      },
      searchReset() {
        this.AnalysisList = []
        this.AnalysisBarList = []
        this.AnalysisGauge = []
        this.AnalysisPie = []
        if(this.queryParams.typeTree == "1"){
          this.typeTree = this.queryParams.typeTree
          this.typeParent =  this.queryParams.parentId
@@ -250,295 +224,170 @@
            }else{
              this.queryParams.equipmentId = this.queryParamEquip.equipmentId
            }
          }
          this.ipagination.current = 1
          this.ResetloadData();
          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.$message.warning(res.message)
            }
          }).finally(() => {
            this.loading = false
          })
        }else{
          this.typeTree = this.queryParams.typeTree
          this.typeParent =  this.queryParams.parentId
          // this.typeEquipment = this.queryParams.equipmentId
          this.typeEquipment = this.queryParams.equipmentId
          this.queryParams = {}
          this.queryParam = {}
          this.dates = []
          this.queryParams.typeTree = this.typeTree
          this.queryParams.parentId = this.typeParent
          // this.queryParams.equipmentId =  this.typeEquipment
          this.ipagination.current = 1
          this.ResetloadData();
        }
      },
      ResetloadData() {
        if(!this.url.list){
          this.$message.error("请设置url.list属性!")
          return
        }
        //加载数据 若传入参数1则加载第一页的内容
        var params = this.getQueryParams();//查询条件
        if(!params){
          return false;
        }
        params.typeTree = this.queryParams.typeTree
        params.parentId = this.queryParams.parentId
        params.equipmentId = this.queryParams.equipmentId
        this.loading = true;
        getAction(this.url.list, params).then((res) => {
          if (res.success) {
            this.dataSource = res.result.records||res.result;
            // this.initDeviceType(this.dataSource)
            //update-begin---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
            // this.dataSource = res.result.records||res.result;
            if(res.result.total)
            {
              this.ipagination.total = res.result.total;
          if(this.queryParams.parentId !=  ""){
            this.queryParams.equipmentId =  ""
            }else{
              this.ipagination.total = 0;
            if(this.queryParams.equipmentId == this.queryParamEquip.equipmentId){
              this.queryParams.equipmentId =  this.typeEquipment
            }else{
              this.queryParams.equipmentId = this.queryParamEquip.equipmentId
            }
            //update-end---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
          }
          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.$message.warning(res.message)
          }
        }).finally(() => {
          this.loading = false
        })
      },
      handleEdit: function (record) {
        this.$refs.modalFormedit.edit(record);
        this.$refs.modalFormedit.title = "编辑";
        this.$refs.modalFormedit.disableSubmit = false;
      },
      handleTableChange(pagination, filters, sorter) {
        this.dataSource = []
        //分页、排序、筛选变化时触发
        //TODO 筛选
        // console.log(pagination)
        if (Object.keys(sorter).length > 0) {
          this.isorter.column = sorter.field;
          this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
        }
        this.ipagination = pagination;
        //获取查询条件
        let sqp = {}
        if(this.superQueryParams){
          sqp['superQueryParams']=encodeURI(this.superQueryParams)
          sqp['superQueryMatchType'] = this.superQueryMatchType
        }
        var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters);
        param.pageNo = this.ipagination.current;
        param.pageSize = this.ipagination.pageSize;
        param.field = this.getQueryField();
        param.parentId = this.queryParams.parentId;
        param.equipmentId = this.queryParams.equipmentId;
        param.startTime = this.queryParam.startTime;
        param.endTime =  this.queryParam.endTime;
        getAction(this.url.list,param).then((res) => {
          if(res.success){
            this.dataSource = res.result.records||res.result;
            if(res.result.total)
            {
              this.ipagination.total = res.result.total;
            }else{
              this.ipagination.total = 0;
            }
          }else{
            this.$message.warning(res.message)
          }
        }).finally(() => {
          this.loading = false
        })
      },
      searchQueryEdit(){
        if(this.queryParams.typeTree == "1"){
          this.queryParams.parentId =  this.queryParamEquip.parentId
        }else{
          this.queryParams.parentId = this.queryParamPeople.parentId
          this.queryParams.equipmentIds = ""
        }
        this.dataSource = [];
        //获取查询条件
        let sqp = {}
        if(this.superQueryParams){
          sqp['superQueryParams']=encodeURI(this.superQueryParams)
          sqp['superQueryMatchType'] = this.superQueryMatchType
        }
        var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters);
        param.pageNo = this.ipagination.current;
        param.pageSize = this.ipagination.pageSize;
        param.field = this.getQueryField();
        param.parentId = this.queryParams.parentId;
        param.equipmentId = this.queryParams.equipmentId;
        param.startTime = this.queryParam.startTime;
        param.endTime =  this.queryParam.endTime;
        getAction(this.url.list,param).then((res) => {
          if(res.success){
            this.dataSource = res.result.records||res.result;
            if(res.result.total)
            {
              this.ipagination.total = res.result.total;
            }else{
              this.ipagination.total = 0;
            }
          }else{
            this.$message.warning(res.message)
          }
        }).finally(() => {
          this.loading = false
        })
      },
      searchQuery(){
        if(this.queryParams.typeTree == "1"){
          this.queryParams.parentId =  this.queryParamEquip.parentId
          // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
        }else{
          this.queryParams.parentId = this.queryParamPeople.parentId
      },
      // onChange(value, dateString) {
      //   // console.log('Selected Time: ', value);
      //   // console.log('Formatted Selected Time: ', dateString);
      // },
      // searchReset() {
      //   if(this.queryParams.typeTree == "1"){
      //     this.typeTree = this.queryParams.typeTree
      //     this.typeParent =  this.queryParams.parentId
      //     this.typeEquipment = this.queryParams.equipmentId
      //     this.queryParams = {}
      //     this.queryParam = {}
      //     this.dates = []
      //     this.queryParams.typeTree = this.typeTree
      //     this.queryParams.parentId = this.typeParent
      //     if(this.queryParams.parentId !=  ""){
          // this.queryParams.equipmentId = ""
        }
        this.dataSource = [];
        //获取查询条件
        let sqp = {}
        if(this.superQueryParams){
          sqp['superQueryParams']=encodeURI(this.superQueryParams)
          sqp['superQueryMatchType'] = this.superQueryMatchType
        }
        var param = Object.assign(sqp, this.queryParams, this.isorter ,this.filters);
        param.pageNo = 1;
        param.pageSize = this.ipagination.pageSize;
        param.field = this.getQueryField();
        param.parentId = this.queryParams.parentId;
        param.equipmentId = this.queryParams.equipmentId;
        param.startTime = this.queryParam.startTime;
        param.endTime =  this.queryParam.endTime;
        // console.log(param);
        getAction(this.url.list,param).then((res) => {
          if(res.success){
            this.dataSource = res.result.records||res.result;
            if(res.result.total)
            {
              this.ipagination.total = res.result.total;
            }else{
              this.ipagination.total = 0;
            }
          }else{
            this.$message.warning(res.message)
          }
        }).finally(() => {
          this.loading = false
        })
      },
      loadData(arg) {
        if(!this.url.list){
          this.$message.error("请设置url.list属性!")
          return
        }
        //加载数据 若传入参数1则加载第一页的内容
        if (arg === 1) {
          this.ipagination.current = 1;
        }
        var params = this.getQueryParams();//查询条件
        if(!params){
          return false;
        }
        this.loading = true;
        getAction(this.url.list, params).then((res) => {
          if (res.success) {
            this.dataSource = res.result.records||res.result;
            // this.initDeviceType(this.dataSource)
            //update-begin---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
      //     }else{
      //       if(this.queryParams.equipmentId == this.queryParamEquip.equipmentId){
      //         this.queryParams.equipmentId =  this.typeEquipment
      //       }else{
      //         this.queryParams.equipmentId = this.queryParamEquip.equipmentId
      //       }
      //
      //     }
      //
      //     this.ipagination.current = 1
      //     this.ResetloadData();
      //   }else{
      //     this.typeTree = this.queryParams.typeTree
      //     this.typeParent =  this.queryParams.parentId
      //     // this.typeEquipment = this.queryParams.equipmentId
      //     this.queryParams = {}
      //     this.queryParam = {}
      //     this.dates = []
      //     this.queryParams.typeTree = this.typeTree
      //     this.queryParams.parentId = this.typeParent
      //     // this.queryParams.equipmentId =  this.typeEquipment
      //     this.ipagination.current = 1
      //     this.ResetloadData();
      //   }
      //
      // },
      // ResetloadData() {
      //   if(!this.url.list){
      //     this.$message.error("请设置url.list属性!")
      //     return
      //   }
      //   var params = {}
      //   params.typeTree = this.queryParams.typeTree
      //   params.parentId = this.queryParams.parentId
      //   params.equipmentId = this.queryParams.equipmentId
      //   this.loading = true;
      //   getAction(this.url.list, params).then((res) => {
      //     if (res.success) {
            // this.dataSource = res.result.records||res.result;
            if(res.result.total)
            {
              this.ipagination.total = res.result.total;
            }else{
              this.ipagination.total = 0;
            }
            //update-end---author:zhangyafei    Date:20201118  for:适配不分页的数据列表------------
          }else{
            this.$message.warning(res.message)
          }
        }).finally(() => {
          this.loading = false
        })
      },
      modalFormOk(val) {
        // 新增/修改 成功时,重载列表
        this.searchQueryEdit();
        // this.$emit('openBasetree','')
        this.selectedRowKeys = []
      },
      handleDelete: function (id) {
        if(!this.url.deleteBatch){
          this.$message.error("请设置url.delete属性!")
          return
        }
        var that = this;
        deleteAction(that.url.deleteBatch, {id: id}).then((res) => {
          if (res.success) {
            //重新计算分页问题
            that.reCalculatePage(1)
            that.$message.success(res.message);
            that.searchQuery();
          } else {
            that.$message.warning(res.message);
          }
        });
      },
      handleAdd() {
        this.$refs.modalForm.add(this.node)
        this.$refs.modalForm.title = '新增'
        this.$refs.modalForm.disableSubmit = false
      },
      handleAddXIU() {
        this.$refs.modalFormadd.add()
        this.$refs.modalFormadd.title = '新增'
        this.$refs.modalFormadd.disableSubmit = false
      },
      pQuery(parentId) {
        this.queryParam.parentId = parentId[0]
        if(this.selectedRowKeys.length >= 1) {
          this.selectedRowKeys.length = 0
        }
        this.loadData()
      },
      onSelectChange(selectedRowKeys) {
        this.selectedRowKeys = selectedRowKeys
      },
      initEquipment(id) {
        let _this = this
        getAction(this.url.getEquipmentByPid, { pid: id }).then((res) => {
          if (res.success) {
            if (res.result) {
              _this.$set(this.queryParams, 'equipmentName', res.result.equipmentName)
              _this.$set(this.queryParams, 'equipmentId', res.result.equipmentId)
              _this.equipment = res.result
              _this.searchQuery()
            } else {
              _this.$message.warning('请配置设备!')
            }
          }
        })
      },
      exportExcel() {
        $("#DeviceList").table2excel({
          exclude: ".noExl",
          name: "Excel Document Name",
          filename: "设备维修详情",
          exclude_img: true,
          fileext: ".xls",
          exclude_links: true,
          exclude_inputs: true
        });
      },
      //     }else{
      //       this.$message.warning(res.message)
      //     }
      //   }).finally(() => {
      //     this.loading = false
      //   })
      // },
      // searchQuery(){
      //   if(this.queryParams.typeTree == "1"){
      //     this.queryParams.parentId =  this.queryParamEquip.parentId
      //     // this.queryParams.equipmentId =  this.queryParamEquip.equipmentId
      //
      //   }else{
      //     this.queryParams.parentId = this.queryParamPeople.parentId
      //
      //     // this.queryParams.equipmentId = ""
      //   }
      //   this.dataSource = [];
      //   //获取查询条件
      //   let  param = {}
      //   param.parentId = this.queryParams.parentId;
      //   param.equipmentId = this.queryParams.equipmentId;
      //   param.startTime = this.queryParam.startTime;
      //   param.driveType = this.queryParam.driveType;
      //   param.endTime =  this.queryParam.endTime;
      //   getAction(this.url.list,param).then((res) => {
      //     if(res.success){
      //       this.dataSource = res.result.records||res.result;
      //     }else{
      //       this.$message.warning(res.message)
      //     }
      //   }).finally(() => {
      //     this.loading = false
      //   })
      // },
      // loadData() {
      //   if(!this.url.list){
      //     this.$message.error("请设置url.list属性!")
      //     return
      //   }
      //   //加载数据 若传入参数1则加载第一页的内容
      //   var params = {}
      //   this.loading = true;
      //   params.startTime = this.queryParam.startTime;
      //   params.endTime =  this.queryParam.endTime;
      //   params.typeTree = this.queryParams.typeTree
      //   getAction(this.url.list, params).then((res) => {
      //     if (res.success) {
      //       this.dataSource = res.result.records||res.result;
      //     }else{
      //       this.$message.warning(res.message)
      //     }
      //   }).finally(() => {
      //     this.loading = false
      //   })
      // },
    },
    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.initEquipmentNode()
      this.loadAnalysis();
    }
  }
</script>
src/views/mdc/base/modules/comparativeAnalysis/conparativeAnalysisPie.vue
@@ -9,17 +9,25 @@
  import * as echarts from 'echarts'
  export default {
    name: 'conparativeAnalysisPie',
    propa:{},
    props:{ dataList:''},
    data(){
      return{
        closeRate:0,
        openRate:0,
        usedRate:0,
        waitRate:0,
        RateList:[]
      }
    },
    created(){
    },
    watch:{
      dataList(val){
        this.RateList = val
        console.log(val)
        this.drawTu()
      },
    },
    mounted() {
      this.drawTu()
@@ -105,6 +113,33 @@
              {value: 0, name: '关机率'}]
          }]
        };
       console.log(this.RateList)
        if(this.RateList != null){
          console.log(this.RateList)
          this.closeRate =[]
          this.openRate =[]
          this.usedRate = []
          this.waitRate = []
          if(this.RateList.length>0){
            this.closeRate=this.RateList[0].closeRate
            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, name:'开机率'},{value:this.closeRate, 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:'关机率'}];
            console.log(pieCompChartOption1.series[0].data)
            pieCompChart1.setOption(pieCompChartOption1);
            pieCompChart2.setOption(pieCompChartOption2);
          }else{
            pieCompChart1.setOption(pieCompChartOption1);
            pieCompChart2.setOption(pieCompChartOption2);
          }
        }else{
          pieCompChart1.setOption(pieCompChartOption1);
          pieCompChart2.setOption(pieCompChartOption2);
        }
        pieCompChart1.setOption(pieCompChartOption1);
        pieCompChart2.setOption(pieCompChartOption2);
        window.addEventListener('resize', function() {
src/views/mdc/base/modules/deviceLog/AlarmLogList.vue
@@ -69,6 +69,25 @@
            title: '持续时间',
            align: 'center',
            dataIndex: 'duration',
            customRender:(t,r,index) =>{
              // console.log(t)
              var ss = parseInt(t)
              if(ss>=3600){
                // 根据秒数转换成对应的时分秒
                const hour = parseInt(ss / 3600) < 10 ? '0' + parseInt(ss / 3600) : parseInt(ss / 3600)
                const min = parseInt(ss % 3600 / 60) < 10 ? '0' + parseInt(ss % 3600 / 60) : parseInt(ss % 3600 / 60)
                const sec = parseInt(ss % 3600 % 60) < 10 ? '0' + parseInt(ss % 3600 % 60) : parseInt(ss % 3600 % 60)
                return hour + '时' + min + '分' + sec + '秒'
              }else if(60<ss && ss<3600){
                const min1 = parseInt(ss % 3600 / 60) < 10 ? '0' + parseInt(ss % 3600 / 60) : parseInt(ss % 3600 / 60)
                const sec1 = parseInt(ss % 3600 % 60) < 10 ? '0' + parseInt(ss % 3600 % 60) : parseInt(ss % 3600 % 60)
                return  min1 + '分' + sec1 + "秒"
              }else{
                const sec2 = parseInt(ss % 3600 % 60) < 10 ? '0' + parseInt(ss % 3600 % 60) : parseInt(ss % 3600 % 60)
                return sec2 + '秒'
              }
            }
            // defaultSortOrder:'descend',
            // sorter: (a, b) => {return a.duration>b.duration?1:-1}
          },
src/views/mdc/base/modules/deviceLog/LogList.vue
@@ -48,6 +48,9 @@
        default: false
      }
    },
    watch:{
    },
    data() {
      return {
        statusName: '',
@@ -90,6 +93,25 @@
            title: '持续时间',
            align: 'center',
            dataIndex: 'duration',
            customRender:(t,r,index) =>{
              // console.log(t)
              var ss = parseInt(t)
              if(ss>=3600){
                // 根据秒数转换成对应的时分秒
                const hour = parseInt(ss / 3600) < 10 ? '0' + parseInt(ss / 3600) : parseInt(ss / 3600)
                const min = parseInt(ss % 3600 / 60) < 10 ? '0' + parseInt(ss % 3600 / 60) : parseInt(ss % 3600 / 60)
                const sec = parseInt(ss % 3600 % 60) < 10 ? '0' + parseInt(ss % 3600 % 60) : parseInt(ss % 3600 % 60)
                return hour + '时' + min + '分' + sec + '秒'
              }else if(60<ss && ss<3600){
                const min1 = parseInt(ss % 3600 / 60) < 10 ? '0' + parseInt(ss % 3600 / 60) : parseInt(ss % 3600 / 60)
                const sec1 = parseInt(ss % 3600 % 60) < 10 ? '0' + parseInt(ss % 3600 % 60) : parseInt(ss % 3600 % 60)
                return  min1 + '分' + sec1 + "秒"
              }else{
                const sec2 = parseInt(ss % 3600 % 60) < 10 ? '0' + parseInt(ss % 3600 % 60) : parseInt(ss % 3600 % 60)
                return sec2 + '秒'
              }
            }
            // defaultSortOrder:'descend',
            // sorter: (a, b) => {return a.duration>b.duration?1:-1}
          },
src/views/mdc/base/modules/deviceLog/WorkLogList.vue
@@ -73,6 +73,25 @@
            title: '持续时间',
            align: 'center',
            dataIndex: 'duration',
            customRender:(t,r,index) =>{
              // console.log(t)
              var ss = parseInt(t)
              if(ss>=3600){
                // 根据秒数转换成对应的时分秒
                const hour = parseInt(ss / 3600) < 10 ? '0' + parseInt(ss / 3600) : parseInt(ss / 3600)
                const min = parseInt(ss % 3600 / 60) < 10 ? '0' + parseInt(ss % 3600 / 60) : parseInt(ss % 3600 / 60)
                const sec = parseInt(ss % 3600 % 60) < 10 ? '0' + parseInt(ss % 3600 % 60) : parseInt(ss % 3600 % 60)
                return hour + '时' + min + '分' + sec + '秒'
              }else if(60<ss && ss<3600){
                const min1 = parseInt(ss % 3600 / 60) < 10 ? '0' + parseInt(ss % 3600 / 60) : parseInt(ss % 3600 / 60)
                const sec1 = parseInt(ss % 3600 % 60) < 10 ? '0' + parseInt(ss % 3600 % 60) : parseInt(ss % 3600 % 60)
                return  min1 + '分' + sec1 + "秒"
              }else{
                const sec2 = parseInt(ss % 3600 % 60) < 10 ? '0' + parseInt(ss % 3600 % 60) : parseInt(ss % 3600 % 60)
                return sec2 + '秒'
              }
            }
            // defaultSortOrder:'descend',
            // sorter: (a, b) => {return a.duration>b.duration?1:-1}
          },