zhangherong
2025-06-02 d0223045d2dd1cccc26c995c972e80e60bd19b26
Merge remote-tracking branch 'origin/master'
已添加1个文件
已修改38个文件
1563 ■■■■ 文件已修改
src/assets/dashboard.png 补丁 | 查看 | 原始文档 | blame | 历史
src/components/layouts/TabLayout.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/page/GlobalLayout.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/dashboard/Analysis.vue 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/AlarmManager.vue 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/EquipmentList.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/RepairWorkshopSignage.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/WorkshopSignageEntrance.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/DeviceBaseInfo/EquipmentDetailModal.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/DeviceBaseInfo/EquipmentList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/DeviceLog/LogInfo.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/DeviceLog/WorkChartModel.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/DeviceLog/WorkHistoryModel.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/EquipmentAvailCompare/EquipmentAvailCompareMain.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/EquipmentDayAvail/EquipmentDayAvailMain.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/EquipmentList/UserModal.vue 92 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownModal.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/GradeSignage/EquipmentSignage.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/GradeSignage/SectionSignage.vue 268 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/OEEAnalysis/OEEAnalysisList.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/OpenRateFractionAnalysis/OpenRateFractionAnalysisMain.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/OpenRateTrendAnalysis/OpenRateTrendAnalysisMain.vue 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/comparativeAnalysis/ComparativeAnalysisBar.vue 541 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/comparativeAnalysis/ComparativeAnalysisMain.vue 267 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/deviceRepair/DeviceRepairModel.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/deviceRepair/DeviceRepairModelAdd.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/WorkshopSignageManagement.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/modules/ProductionManager/ProductionEquipment.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/dashboard.png
src/components/layouts/TabLayout.vue
@@ -18,7 +18,7 @@
        <span slot="tab" :pagekey="page.fullPath">{{ page.meta.title }}</span>
      </a-tab-pane>
    </a-tabs>
    <div style="margin: 12px 12px 0;">
    <div :style="{margin:$route.meta.title!=='首页'? '12px 12px 0':0,flex:1,display: 'flex',flexDirection: 'column'}">
      <!-- update-begin-author:taoyan date:20201221 for:此处删掉transition标签 不知道为什么加上后 页面路由切换的时候即1及菜单切到2及菜单的时候 两个菜单页面会同时出现300-500秒左右 -->
      <keep-alive v-if="multipage">
        <router-view v-if="reloadFlag"/>
src/components/page/GlobalLayout.vue
@@ -69,7 +69,7 @@
      />
      <!-- layout content -->
      <a-layout-content :style="{ height: '100%', paddingTop: fixedHeader ? '59px' : '0' }">
      <a-layout-content :style="{ height: '100%', paddingTop: fixedHeader ? '59px' : '0',display:'flex',flexDirection:'column' }">
        <slot></slot>
      </a-layout-content>
@@ -134,11 +134,11 @@
      //--update-begin----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------
      //this.menus = this.mainRouters.find((item) => item.path === '/').children;
      this.menus = this.permissionMenuList
      //--update-begin----author:liusq---date:20210223------for:关于测边菜单遮挡内容问题详细说明 #2255
      this.collapsed=!this.sidebarOpened;
      //--update-begin----author:liusq---date:20210223------for:关于测边菜单遮挡内容问题详细说明 #2255
      // 根据后台配置菜单,重新排序加载路由信息
      //console.log('----加载菜单逻辑----')
      //console.log(this.mainRouters)
src/views/dashboard/Analysis.vue
@@ -1,25 +1,28 @@
<template>
  <div>
  <div class="container">
  </div>
</template>
<script>
  export default {
    name: "Analysis",
    components: {
    },
    name: 'Analysis',
    components: {},
    data() {
      return {
      }
      return {}
    },
    created() {
    },
    methods: {
    }
    methods: {}
  }
</script>
</script>
<style scoped lang="less">
  .container {
    flex: 1;
    background-image: url("../../assets/dashboard.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
</style>
src/views/mdc/base/AlarmManager.vue
@@ -7,32 +7,6 @@
        @keyup.enter.native="searchQuery"
      >
        <a-row :gutter="24">
          <!--<a-col-->
            <!--:xl="4"-->
            <!--:lg="4"-->
            <!--:md="4"-->
            <!--:sm="24"-->
          <!--&gt;-->
            <!--<a-form-item label="设备编号">-->
              <!--<a-input-->
                <!--placeholder="请输入设备编号"-->
                <!--v-model="queryParam.equipmentId"-->
              <!--&gt;</a-input>-->
            <!--</a-form-item>-->
          <!--</a-col>-->
          <!--<a-col-->
            <!--:xl="4"-->
            <!--:lg="4"-->
            <!--:md="4"-->
            <!--:sm="24"-->
          <!--&gt;-->
            <!--<a-form-item label="设备名称">-->
              <!--<a-input-->
                <!--placeholder="请输入设备名称"-->
                <!--v-model="queryParam.equipmentName"-->
              <!--&gt;</a-input>-->
            <!--</a-form-item>-->
          <!--</a-col>-->
          <a-col
            :xl="6"
            :lg="7"
@@ -40,11 +14,6 @@
            :sm="24"
          >
            <a-form-item label="控制系统类型">
              <!--<j-dict-select-tag-->
                <!--placeholder="请选择控制系统类型"-->
                <!--v-model="queryParam.driveType"-->
                <!--dictCode="mdc_driveType"-->
              <!--/>-->
              <a-auto-complete
                v-model="queryParam.driveType"
                :data-source="driveTypeList"
@@ -102,13 +71,6 @@
                icon="reload"
                style="margin-left: 8px"
              >重置</a-button>
              <!--<a-->
                <!--@click="handleToggleSearch"-->
                <!--style="margin-left: 8px"-->
              <!--&gt;-->
                <!--{{ toggleSearchStatus ? '收起' : '展开' }}-->
                <!--<a-icon :type="toggleSearchStatus ? 'up' : 'down'" />-->
              <!--</a>-->
            </span>
          </a-col>
        </a-row>
@@ -255,18 +217,6 @@
              return parseInt(index) + 1;
            }
          },
          // {
          //   title: '设备编号',
          //   align: "center",
          //   // sorter: true,
          //   dataIndex: 'equipmentId'
          // },
          // {
          //   title: '设备名称',
          //   align: "center",
          //   // sorter: true,
          //   dataIndex: 'equipmentName'
          // },
          {
            title: '报警号',
            align: "center",
src/views/mdc/base/EquipmentList.vue
@@ -13,8 +13,8 @@
          </a-col>
          <a-col :md="4" :sm="4">
            <a-form-item label="设备名称">
              <a-input placeholder="请输入设备名称" v-model="queryParam.equipmentName"></a-input>
            <a-form-item label="安装位置">
              <a-input placeholder="请输入安装位置" v-model="queryParam.equipmentName"></a-input>
            </a-form-item>
          </a-col>
@@ -151,7 +151,7 @@
            width: 200
          },
          {
            title: '设备名称',
            title: '安装位置',
            align: 'center',
            width: 200,
            dataIndex: 'equipmentName'
@@ -250,10 +250,17 @@
                  // sorter: true
                },
                {
                  title: '安装位置',
                  align: 'center',
                  dataIndex: 'equipmentName',
                  width: 200
                  // sorter: true
                },
                {
                  title: '设备名称',
                  align: 'center',
                  width: 200,
                  dataIndex: 'equipmentName'
                  dataIndex: 'equipmentAddress'
                },
                {
                  title: '车间',
@@ -323,7 +330,7 @@
                  // sorter: true
                },
                {
                  title: '设备名称',
                  title: '安装位置',
                  align: 'center',
                  width: 200,
                  dataIndex: 'equipmentName'
src/views/mdc/base/RepairWorkshopSignage.vue
@@ -45,28 +45,6 @@
          <div>
            <img src="@/assets/signage/repair/table-container.png"/>
            <dv-scroll-board class="scroll-table-container" :config="scrollTableConfig"/>
            <!--<table>-->
            <!--<thead>-->
            <!--<tr>-->
            <!--<th>设备编号</th>-->
            <!--<th>设备名称</th>-->
            <!--<th>所属车间</th>-->
            <!--<th>安装位置</th>-->
            <!--<th>报修人</th>-->
            <!--<th>报修时间</th>-->
            <!--<th>维修人</th>-->
            <!--<th>接单时间</th>-->
            <!--<th>故障持续时间</th>-->
            <!--<th>状态</th>-->
            <!--</tr>-->
            <!--</thead>-->
            <!--<tbody>-->
            <!--<tr v-for="item in 8">-->
            <!--</tr>-->
            <!--</tbody>-->
            <!--</table>-->
          </div>
          <div>
            <img src="@/assets/signage/repair/repaired-rank.png"/>
@@ -419,23 +397,6 @@
            right: '10%',
            containLabel: true
          },
          legend: {
            top: 80,
            right: '10%',
            itemGap: 15,
            textStyle: {
              fontSize: 14,
              fontFamily: 'LanTing',
              color: '#eee',
              height: 10,
              rich: {
                a: {
                  verticalAlign: 'bottom'
                }
              }
            },
            data: ['设备平均故障率']
          },
          xAxis: {
            type: 'category',
            data: [],
@@ -477,9 +438,6 @@
                color: '#eee',
                fontWeight: 'bold',
                margin: 14,
                formatter(value) {
                  return value + '%'
                }
              }
            }
          ],
src/views/mdc/base/WorkshopSignageEntrance.vue
@@ -1,24 +1,26 @@
<template>
  <div class="page-container">
    <h1>车间布局看板</h1>
    <a-list
      :grid="{gutter: 16, xs: 1, sm: 2, md: 4, lg: 4, xl: 6, xxl: 3 }"
      :data-source="workshopList">
      <a-list-item slot="renderItem" slot-scope="item, index">
        <div class="workshop-name" @click="navigateToWorkshopSignage(item.id)">{{item.workshopName}}</div>
      </a-list-item>
    </a-list>
    <a-row>
      <h1>车间布局看板</h1>
      <a-list :grid="{gutter: 16, column:4}">
        <a-list-item v-for="item in workshopList" :key="item.id">
          <div class="workshop-name" @click="navigateToWorkshopSignage(item.id)">{{item.workshopName}}</div>
        </a-list-item>
      </a-list>
    </a-row>
    <h1>分级看板</h1>
    <a-list
      :grid="{gutter: 16, column:4}">
      <a-list-item>
        <div class="workshop-name" @click="navigateToWorkshopSignageByUrl('/GradeWorkshopSignage')">分级看板</div>
      </a-list-item>
      <a-list-item>
        <div class="workshop-name" @click="navigateToWorkshopSignageByUrl('/RepairWorkshopSignage')">维修看板</div>
      </a-list-item>
    </a-list>
    <a-row>
      <h1>分级看板</h1>
      <a-list :grid="{gutter: 16, column:4}">
        <a-list-item>
          <div class="workshop-name" @click="navigateToWorkshopSignageByUrl('/GradeWorkshopSignage')">分级看板</div>
        </a-list-item>
        <a-list-item>
          <div class="workshop-name" @click="navigateToWorkshopSignageByUrl('/RepairWorkshopSignage')">维修看板</div>
        </a-list-item>
      </a-list>
    </a-row>
  </div>
</template>
src/views/mdc/base/modules/DeviceBaseInfo/EquipmentDetailModal.vue
@@ -81,7 +81,7 @@
                :column="4"
              >
                <a-descriptions-item label="设备编号">{{resultData.equipmentId}}</a-descriptions-item>
                <a-descriptions-item label="设备名称">{{resultData.equipmentName}}</a-descriptions-item>
                <a-descriptions-item label="安装位置">{{resultData.equipmentName}}</a-descriptions-item>
                <a-descriptions-item label="IP地址">{{resultData.equipmentIp}}</a-descriptions-item>
                <a-descriptions-item label="端口号">{{resultData.dataPort}}</a-descriptions-item>
                <a-descriptions-item label="驱动类型">{{resultData.driveType}}</a-descriptions-item>
src/views/mdc/base/modules/DeviceBaseInfo/EquipmentList.vue
@@ -24,7 +24,7 @@
            width:210
          },
          {
            title: '设备名称',
            title: '安装位置',
            align: "center",
            dataIndex: 'equipmentName',
            width:300
src/views/mdc/base/modules/DeviceLog/LogInfo.vue
@@ -10,7 +10,7 @@
            </a-form-item>
          </a-col>
          <a-col :md="6" :sm="6">
            <a-form-item label="设备名称">
            <a-form-item label="安装位置">
              <a-input placeholder="请选择设备" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
            </a-form-item>
          </a-col>
src/views/mdc/base/modules/DeviceLog/WorkChartModel.vue
@@ -24,8 +24,8 @@
          </a-row>
          <a-row :gutter="24">
            <a-col :span="6">
              <a-form-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
                <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
              <a-form-item label="安装位置" :labelCol="labelCol" :wrapperCol="wrapperCol">
                <a-input placeholder="输入安装位置查询" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
              </a-form-item>
            </a-col>
src/views/mdc/base/modules/DeviceLog/WorkHistoryModel.vue
@@ -8,8 +8,8 @@
          <a-form-item label="设备编号">
            <a-input placeholder="输入设备编号查询" :readOnly="true" v-model="queryParams.equipmentId"></a-input>
          </a-form-item>
          <a-form-item label="设备名称">
            <a-input placeholder="输入设备名称查询" :readOnly="true" v-model="queryParams.equipmentName"></a-input>
          <a-form-item label="安装位置">
            <a-input placeholder="输入安装位置查询" :readOnly="true" v-model="queryParams.equipmentName"></a-input>
          </a-form-item>
          <a-form-item label="日期">
            <a-range-picker v-model="dates" :disabledDate="disabledDate" @change="dateParamChange" format='YYYY-MM-DD'/>
src/views/mdc/base/modules/EquipmentAvailCompare/EquipmentAvailCompareMain.vue
@@ -12,8 +12,8 @@
                </a-form-item>
              </a-col>
              <a-col :md="4" :sm="4">
                <a-form-item label="设备名称">
                  <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
                <a-form-item label="安装位置">
                  <a-input placeholder="输入安装位置查询" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
                </a-form-item>
              </a-col>
              <a-col :md="5" :sm="5" :xs="5">
src/views/mdc/base/modules/EquipmentDayAvail/EquipmentDayAvailMain.vue
@@ -12,8 +12,8 @@
                </a-form-item>
              </a-col>
              <a-col :md="4" :sm="4">
                <a-form-item label="设备名称">
                  <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
                <a-form-item label="安装位置">
                  <a-input placeholder="输入设备安装位置" :readOnly="readOnly" v-model="queryParams.equipmentName"></a-input>
                </a-form-item>
              </a-col>
              <a-col :md="4" :sm="4" :xs="4">
src/views/mdc/base/modules/EquipmentList/UserModal.vue
@@ -19,17 +19,19 @@
    </template>
    <a-spin :spinning="confirmLoading">
      <a-form-model ref="form" :form="form" :model="model" :rules="validatorRules">
      <a-form-model ref="form" :form="form" :model="model" :rules="validatorRules" :labelCol="labelCol"
                    :wrapperCol="wrapperCol">
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-model-item label="统一编码" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId">
              <a-input-search v-model="model.equipmentId" :disabled="disableSubmit" @search="deviceSearch" enter-button
            <a-form-model-item label="统一编码" prop="equipmentId">
              <a-input-search v-model="model.equipmentId" readOnly :disabled="disableSubmit" @search="deviceSearch"
                              enter-button
                              placeholder='请选择统一编码'/>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input :disabled="disableSubmit" allow-clear placeholder="请输入设备名称"
            <a-form-model-item label="安装位置">
              <a-input :disabled="disableSubmit || model.id" allow-clear placeholder="请输入安装位置"
                       v-model="model.equipmentName"/>
            </a-form-model-item>
          </a-col>
@@ -37,14 +39,14 @@
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-model-item v-if="isDepartType == 0" label="部门分配" :labelCol="labelCol" :wrapperCol="wrapperCol"
            <a-form-model-item v-if="isDepartType == 0" label="部门分配"
                               v-show="!departDisabled">
              <j-select-equipment-depart :disabled="disableSubmit" v-model="model.selectedDeparts" :multi="false"
                                         @back="backDepartInfo" :backDepart="true"
                                         :treeOpera="true"></j-select-equipment-depart>
            </a-form-model-item>
            <a-form-model-item v-if="isDepartType == -1" label="设备类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
            <a-form-model-item v-if="isDepartType == -1" label="设备类型">
              <a-select :disabled="disableSubmit" placeholder="请选择设备类型"
                        :triggerChange="true"
                        v-model="model.equipmentType">
@@ -55,7 +57,7 @@
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="车间分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!productionDisabled"
            <a-form-model-item label="车间分配" v-show="!productionDisabled"
                               ref="selectedProduction" prop="selectedProduction">
              <!--<j-select-equipment-production  v-decorator="['selectedProduction',{rules:[{required:true,message:'请选择车间!'}]}]" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production>-->
              <j-select-equipment-production :disabled="disableSubmit" v-model="model.selectedProduction" :multi="false"
@@ -67,11 +69,11 @@
        </a-row>
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-model-item v-if="isDepartType == -1" label="系统版本号" :labelCol="labelCol" :wrapperCol="wrapperCol">
            <a-form-model-item v-if="isDepartType == -1" label="系统版本号">
              <a-input :disabled="disableSubmit" allow-clear placeholder="请输入系统版本号"
                       v-model="model.systemVersion"/>
            </a-form-model-item>
            <a-form-model-item v-if="isDepartType == 0" label="设备类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
            <a-form-model-item v-if="isDepartType == 0" label="设备类型">
              <a-select :disabled="disableSubmit" placeholder="请选择设备类型"
                        :triggerChange="true"
                        v-model="model.equipmentType">
@@ -83,7 +85,7 @@
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="设备功率(kw)" :labelCol="labelCol" :wrapperCol="wrapperCol">
            <a-form-model-item label="设备功率(kw)">
              <a-input :disabled="disableSubmit" allow-clear placeholder="请输入设备功率"
                       v-model="model.devicePower"/>
            </a-form-model-item>
@@ -92,13 +94,13 @@
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-model-item label="机床IP" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input :disabled="true"  placeholder="请输入机床IP"
            <a-form-model-item label="机床IP">
              <a-input :disabled="true" placeholder="请输入机床IP"
                       v-model="model.equipmentIp"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="机床端口" :labelCol="labelCol" :wrapperCol="wrapperCol">
            <a-form-model-item label="机床端口">
              <a-input :disabled="true" placeholder="请输入机床端口"
                       v-model="model.dataPort"/>
            </a-form-model-item>
@@ -107,15 +109,15 @@
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-model-item label="驱动类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
            <a-form-model-item label="驱动类型">
              <j-dict-select-tag :disabled="true" placeholder="请选择驱动类型"
                                 :triggerChange="true" dictCode="mdc_driveType"
                                 v-model="model.driveType" allow-clear/>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="设备型号" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input :disabled="true"  allow-clear placeholder="请输入设备型号"
            <a-form-model-item label="设备型号">
              <a-input :disabled="true" allow-clear placeholder="请输入设备型号"
                       v-model="model.equipmentModel"/>
            </a-form-model-item>
          </a-col>
@@ -123,22 +125,23 @@
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-model-item label="系统类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <j-dict-select-tag placeholder="请选择系统类型" :triggerChange="true" dictCode="system_type" :disabled="disableSubmit"
            <a-form-model-item label="系统类型">
              <j-dict-select-tag placeholder="请选择系统类型" :triggerChange="true" dictCode="system_type"
                                 :disabled="disableSubmit"
                                 v-model="model.systemType" allow-clear/>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="排序" :labelCol="labelCol" :wrapperCol="wrapperCol">
            <a-form-model-item label="排序">
              <a-input :disabled="disableSubmit" :readOnly="disableSubmit" placeholder="请输入排序"
                       v-model="model.sortNo" style="width: 100%"/>
            </a-form-model-item>
          </a-col>
        </a-row>
        <a-row :gutter="24" v-if="systemType">
          <a-col :span='24'>
            <a-form-model-item label="系统类型" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
        <a-row :gutter="24">
          <a-col :span='12' v-if="systemType">
            <a-form-model-item label="系统类型">
              <a-radio-group name="radioGroup" v-model="systemValue" :disabled="disableSubmit">
                <a-radio value="1">DNC</a-radio>
                <a-radio value="2">MDC</a-radio>
@@ -146,12 +149,17 @@
              </a-radio-group>
            </a-form-model-item>
          </a-col>
          <a-col :span='12'>
            <a-form-model-item label="设备名称">
              <a-input v-model="model.equipmentAddress" allow-clear placeholder="请输入设备名称" :disabled="disableSubmit"/>
            </a-form-model-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span='12'>
            <a-form-model-item v-if="isDepartType == 0" label="系统版本号" :labelCol="labelCol" :wrapperCol="wrapperCol">
            <a-form-model-item v-if="isDepartType == 0" label="系统版本号">
              <a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="请输入系统版本号"
                       v-model="model.systemVersion"/>
            </a-form-model-item>
@@ -224,7 +232,7 @@
          equipmentId:
            [
              {
                required: true, message: '请选择设备编号!'
                required: true, message: '请选择设备编号!', trigger: 'change'
              }
              // {
              // validator: this.validatequipmentId
@@ -235,7 +243,7 @@
          selectedProduction:
            [
              {
                required: true, message: '请选择车间'
                required: true, message: '请选择车间!'
              }
            ]
@@ -355,7 +363,7 @@
        console.log(val)
        if (val.equipmentid) {
          this.model.equipmentId = val.equipmentid
          this.model.equipmentName = val.equipmentname
          this.model.equipmentAddress = val.equipmentname
          this.model.equipmentModel = val.equipmentmodel
          this.model.equipmentIp = val.equipmentip
          this.model.dataPort = val.dataport
@@ -405,7 +413,7 @@
        this.$nextTick(() => {
          this.form.setFieldsValue(pick(that.model, 'selectedDeparts', 'selectedProduction', 'equipmentId', 'equipmentName', 'equipmentModel', 'equipmentType', 'equipmentIp', 'dataPort',
            'driveType', 'sortNo', 'remark', 'systemVersion', 'devicePower', 'controlSystem', 'saveTableName', 'systemValue'))
            'driveType', 'sortNo', 'remark', 'systemVersion', 'devicePower', 'controlSystem', 'saveTableName', 'systemValue', 'equipmentAddress'))
        })
        if (record.hasOwnProperty('id')) {
          // that.getUserRoles(record.id);
@@ -431,7 +439,7 @@
        if (screenWidth < 500) {
          this.drawerWidth = screenWidth
        } else {
          this.drawerWidth = 700
          this.drawerWidth = 800
        }
      },
      getUserDeparts(userid) {
@@ -525,20 +533,20 @@
            // if(this.model.userIdentity!==2){
            //   this.model.departIds="";
            // }
            if (this.systemValue==null){
              this.$message.warning('请选择系统类型!');
              return false;
            if (this.systemValue == null) {
              this.$message.warning('请选择系统类型!')
              return false
            }
            let obj;
            if(!this.model.id){
              this.model.id = this.userId;
              this.model.systemValue=this.systemValue;
              obj=addEquipment(this.model);
            }else{
              this.model.systemValue=this.systemValue;
              obj=editEquipment(this.model,{
                        id: this.model.id
                      });
            let obj
            if (!this.model.id) {
              this.model.id = this.userId
              this.model.systemValue = this.systemValue
              obj = addEquipment(this.model)
            } else {
              this.model.systemValue = this.systemValue
              obj = editEquipment(this.model, {
                id: this.model.id
              })
            }
            obj.then((res) => {
              if (res.success) {
src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownList.vue
@@ -89,7 +89,7 @@
            width: 200
          },
          {
            title: '设备名称',
            title: '安装位置',
            align: 'center',
            dataIndex: 'equipmentName',
            width: 200
src/views/mdc/base/modules/EquipmentStandbyShutDown/EquipmentStandbyShutdownModal.vue
@@ -142,7 +142,7 @@
      },
      edit(record) {
        this.model = Object.assign({}, record)
        this.model = Object.assign({}, record, { equipmentIds: record.equipmentId })
        this.getDowntimeDescriptionListByApi()
        if (this.model.downtimeType === null) {
          delete this.model.downtimeType
src/views/mdc/base/modules/GradeSignage/EquipmentSignage.vue
@@ -29,7 +29,7 @@
            <thead>
            <tr>
              <th>设备编号</th>
              <th>设备名称</th>
              <th>安装位置</th>
            </tr>
            </thead>
@@ -64,9 +64,9 @@
              <table>
                <tr>
                  <td>设备名称</td>
                  <a-tooltip :title="setTooltipTittle(equipmentStatusAndInfoObj.equipmentName)">
                    <td :style="{color:setNullValueFontColor(equipmentStatusAndInfoObj.equipmentName)}">
                      {{equipmentStatusAndInfoObj.equipmentName|filterNullValue}}
                  <a-tooltip :title="setTooltipTittle(equipmentStatusAndInfoObj.equipmentAddress)">
                    <td :style="{color:setNullValueFontColor(equipmentStatusAndInfoObj.equipmentAddress)}">
                      {{equipmentStatusAndInfoObj.equipmentAddress|filterNullValue}}
                    </td>
                  </a-tooltip>
                </tr>
src/views/mdc/base/modules/GradeSignage/SectionSignage.vue
@@ -25,8 +25,13 @@
        <div class="equipment-search-container">
          <img src="@/assets/signage/section/search-input.png"/>
          <a-auto-complete @select="handleSelectChange" placeholder="回车键查询" :filter-option="filterOption"
                           :dataSource="equipmentList.map(item=>item.equipmentId)"
                           style="position: absolute;width: 15vw;height: 2.24vw;"/>
                           style="position: absolute;width: 15vw;height: 2.24vw;">
            <template slot="dataSource">
              <a-select-option v-for="item in equipmentList" :key="item.equipmentId">
                {{item.equipmentId+`[${item.equipmentName}]`}}
              </a-select-option>
            </template>
          </a-auto-complete>
        </div>
      </div>
    </div>
@@ -81,239 +86,7 @@
        chartQuantity: 6,
        hasLoadedChartDataQuantity: 0,
        activeIndex: null,
        equipmentList: [
          {
            'id': '1694181185660579842',
            'createBy': 'admin',
            'createTime': '2023-08-23 10:54:05',
            'updateBy': 'admin',
            'updateTime': '2024-09-14 09:15:10',
            'equipmentId': '2140342',
            'equipmentName': '数控卧车',
            'equipmentType': '复合机床',
            'productionName': null,
            'orgCodeTxt': null,
            'systemVersion': null,
            'devicePower': null,
            'equipmentIp': '192.168.86.44',
            'dataPort': '8193',
            'driveType': 'FANUC',
            'equipmentModel': 'GLS-200',
            'controlSystem': 'FANUC',
            'systemType': null,
            'deviceCategory': null,
            'alarm': null,
            'collectTime': null,
            'oporation': null,
            'saveTableName': 'FANUC_2140342',
            'deviceAbnormalStatus': 1,
            'equipmentStatus': 0,
            'deviceLevel': 'A',
            'deviceImportanceLevel': null,
            'sortNo': null,
            'remark': null,
            'selectedDeparts': null,
            'selectedProduction': null
          },
          {
            'id': '1694181274449801217',
            'createBy': 'admin',
            'createTime': '2023-08-23 10:54:26',
            'updateBy': 'admin',
            'updateTime': '2024-09-12 13:27:27',
            'equipmentId': '2140345',
            'equipmentName': '数控卧式车床',
            'equipmentType': '车床',
            'productionName': null,
            'orgCodeTxt': null,
            'systemVersion': null,
            'devicePower': null,
            'equipmentIp': '192.168.86.45',
            'dataPort': '8193',
            'driveType': 'FANUC',
            'equipmentModel': 'FTC-350L',
            'controlSystem': 'FANUC',
            'systemType': null,
            'deviceCategory': null,
            'alarm': null,
            'collectTime': null,
            'oporation': null,
            'saveTableName': 'FANUC_2140345',
            'deviceAbnormalStatus': 1,
            'equipmentStatus': 0,
            'deviceLevel': null,
            'deviceImportanceLevel': null,
            'sortNo': null,
            'remark': null,
            'selectedDeparts': null,
            'selectedProduction': null
          },
          {
            'id': '1694182117068697602',
            'createBy': 'admin',
            'createTime': '2023-08-23 10:57:47',
            'updateBy': 'admin',
            'updateTime': '2024-01-31 11:30:00',
            'equipmentId': '2640236',
            'equipmentName': '立式加工中心',
            'equipmentType': '加工中心',
            'productionName': null,
            'orgCodeTxt': null,
            'systemVersion': null,
            'devicePower': null,
            'equipmentIp': '192.168.86.17',
            'dataPort': '8193',
            'driveType': 'FANUC',
            'equipmentModel': 'VNP-32A',
            'controlSystem': 'FANUC',
            'systemType': null,
            'deviceCategory': null,
            'alarm': null,
            'collectTime': null,
            'oporation': null,
            'saveTableName': 'FANUC_2640236',
            'deviceAbnormalStatus': 1,
            'equipmentStatus': 0,
            'deviceLevel': null,
            'deviceImportanceLevel': null,
            'sortNo': null,
            'remark': null,
            'selectedDeparts': null,
            'selectedProduction': null
          },
          {
            'id': '1694182375483961346',
            'createBy': 'admin',
            'createTime': '2023-08-23 10:58:49',
            'updateBy': 'admin',
            'updateTime': '2024-01-31 11:29:19',
            'equipmentId': '2640263',
            'equipmentName': '数控加工中心',
            'equipmentType': '加工中心',
            'productionName': null,
            'orgCodeTxt': null,
            'systemVersion': null,
            'devicePower': null,
            'equipmentIp': '192.168.86.74',
            'dataPort': '8193',
            'driveType': 'FANUC',
            'equipmentModel': 'SW-850',
            'controlSystem': 'FANUC',
            'systemType': null,
            'deviceCategory': null,
            'alarm': null,
            'collectTime': null,
            'oporation': null,
            'saveTableName': 'FANUC_2640263',
            'deviceAbnormalStatus': 1,
            'equipmentStatus': 0,
            'deviceLevel': null,
            'deviceImportanceLevel': null,
            'sortNo': null,
            'remark': null,
            'selectedDeparts': null,
            'selectedProduction': null
          },
          {
            'id': '1701169612893388801',
            'createBy': 'admin',
            'createTime': '2023-09-11 17:43:36',
            'updateBy': 'admin',
            'updateTime': '2023-11-29 16:45:11',
            'equipmentId': '2640315',
            'equipmentName': '加工中心',
            'equipmentType': '车床',
            'productionName': null,
            'orgCodeTxt': null,
            'systemVersion': null,
            'devicePower': null,
            'equipmentIp': '192.168.86.90',
            'dataPort': '19000',
            'driveType': 'LSV2',
            'equipmentModel': 'C32U',
            'controlSystem': 'LSV2',
            'systemType': null,
            'deviceCategory': null,
            'alarm': null,
            'collectTime': null,
            'oporation': null,
            'saveTableName': 'LSV2_2640315',
            'deviceAbnormalStatus': 1,
            'equipmentStatus': 0,
            'deviceLevel': null,
            'deviceImportanceLevel': null,
            'sortNo': null,
            'remark': null,
            'selectedDeparts': null,
            'selectedProduction': null
          },
          {
            'id': '1728950536953856002',
            'createBy': 'admin',
            'createTime': '2023-11-27 09:35:05',
            'updateBy': 'admin',
            'updateTime': '2024-01-31 11:29:01',
            'equipmentId': '2140111',
            'equipmentName': '数控车床',
            'equipmentType': '车床',
            'productionName': null,
            'orgCodeTxt': null,
            'systemVersion': null,
            'devicePower': null,
            'equipmentIp': '192.168.86.167',
            'dataPort': '502',
            'driveType': 'ZUOLAN',
            'equipmentModel': 'SSCKZ40-1000',
            'controlSystem': 'ZUOLAN',
            'systemType': null,
            'deviceCategory': null,
            'alarm': null,
            'collectTime': null,
            'oporation': null,
            'saveTableName': 'ZUOLAN_2140111',
            'deviceAbnormalStatus': 1,
            'equipmentStatus': 0,
            'deviceLevel': null,
            'deviceImportanceLevel': null,
            'sortNo': null,
            'remark': null,
            'selectedDeparts': null,
            'selectedProduction': null
          },
          {
            'id': '1753259512871624705',
            'createBy': 'admin',
            'createTime': '2024-02-02 11:30:16',
            'updateBy': null,
            'updateTime': null,
            'equipmentId': '3102038',
            'equipmentName': '电火花成型机',
            'equipmentType': null,
            'productionName': null,
            'orgCodeTxt': null,
            'systemVersion': null,
            'devicePower': null,
            'equipmentIp': '192.168.86.23',
            'dataPort': '502',
            'driveType': 'ZUOLAN',
            'equipmentModel': 'DM7150',
            'controlSystem': 'ZUOLAN',
            'systemType': null,
            'deviceCategory': null,
            'alarm': null,
            'collectTime': null,
            'oporation': null,
            'saveTableName': 'ZUOLAN_3102038',
            'deviceAbnormalStatus': 1,
            'equipmentStatus': 0,
            'deviceLevel': null,
            'deviceImportanceLevel': null,
            'sortNo': null,
            'remark': '222333',
            'selectedDeparts': null,
            'selectedProduction': null
          }
        ],
        equipmentList: []
      }
    },
    watch: {
@@ -356,9 +129,9 @@
        signageApi.getEquipmentStatusAnalysisApi(this.currentProductionId)
          .then(res => {
            if (res.success) {
              this.leftChart1Data = res.result.equipmentStatus
              that.leftChart1Data = res.result.equipmentStatus
            }
            this.initLeftChart1()
            that.initLeftChart1()
          })
          .finally(() => {
            that.hasLoadedChartDataQuantity++
@@ -370,14 +143,14 @@
        signageApi.getRepairAndMaintenanceStatusApi(this.currentProductionId)
          .then(res => {
            if (res.success) {
              this.leftChart2Data = res.result.map(item => {
              that.leftChart2Data = res.result.map(item => {
                return {
                  name: item.statusText,
                  value: item.totalNumber
                }
              })
            }
            this.initLeftChart2()
            that.initLeftChart2()
          })
          .finally(() => {
            that.hasLoadedChartDataQuantity++
@@ -388,8 +161,8 @@
        const that = this
        signageApi.getRateAnalysisTrendApi(this.currentProductionId)
          .then(res => {
            if (res.success) this.rightTopChartData = res.result
            this.initRightTopChart()
            if (res.success) that.rightTopChartData = res.result
            that.initRightTopChart()
          })
          .finally(() => {
            that.hasLoadedChartDataQuantity++
@@ -400,8 +173,8 @@
        const that = this
        signageApi.getRepairAnalysisApi(this.currentProductionId)
          .then(res => {
            if (res.success) this.rightBottomChart1Data = res.result
            this.initRightBottomChart1()
            if (res.success) that.rightBottomChart1Data = res.result
            that.initRightBottomChart1()
          })
          .finally(() => {
            that.hasLoadedChartDataQuantity++
@@ -412,8 +185,8 @@
        const that = this
        signageApi.getInspectionAnalysisApi(this.currentProductionId)
          .then(res => {
            if (res.success) this.rightBottomChart2Data = res.result
            this.initRightBottomChart2()
            if (res.success) that.rightBottomChart2Data = res.result
            that.initRightBottomChart2()
          })
          .finally(() => {
            that.hasLoadedChartDataQuantity++
@@ -424,8 +197,8 @@
        const that = this
        signageApi.getMaintenanceAnalysisApi(this.currentProductionId)
          .then(res => {
            if (res.success) this.rightBottomChart3Data = res.result
            this.initRightBottomChart3()
            if (res.success) that.rightBottomChart3Data = res.result
            that.initRightBottomChart3()
          })
          .finally(() => {
            that.hasLoadedChartDataQuantity++
@@ -1217,7 +990,6 @@
       * @param equipmentId 设备编号
       */
      handleSelectChange(equipmentId) {
        // this.equipmentId = value
        console.log('equipment', equipmentId)
        this.$emit('nextSignage', { id: equipmentId })
      },
src/views/mdc/base/modules/OEEAnalysis/OEEAnalysisList.vue
@@ -158,18 +158,6 @@
            scopedSlots: { customRender: 'percent' }
          },
          {
            title: '加工零件数量',
            align: 'center',
            dataIndex: 'processCount',
            width: 150
          },
          {
            title: '合格零件数量',
            align: 'center',
            dataIndex: 'passCount',
            width: 150
          },
          {
            title: '一次合格率',
            align: 'center',
            dataIndex: 'passRate',
src/views/mdc/base/modules/OpenRateFractionAnalysis/OpenRateFractionAnalysisMain.vue
@@ -36,7 +36,7 @@
                      设备编号
                    </th>
                    <th class="thgu dong2 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">
                      设备名称
                      安装位置
                    </th>
                    <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">
                      设备类型
src/views/mdc/base/modules/OpenRateTrendAnalysis/OpenRateTrendAnalysisMain.vue
@@ -32,7 +32,7 @@
                      设备编号
                    </th>
                    <th class="thgu dong2 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">
                      设备名称
                      安装位置
                    </th>
                    <th class="thgu dong3 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">
                      设备类型
@@ -194,9 +194,6 @@
        }
        this.XData = Xarr
        this.YData = Yarr
        // if(this.openRateTrendAnalysisChart !=null && this.openRateTrendAnalysisChart != '' && this.openRateTrendAnalysisChart != undefined){
        //     this.openRateTrendAnalysisChart.dispose()
        // }
        this.draw()
      },
@@ -251,75 +248,6 @@
        this.requestAlldataSize = moment.duration(moment(this.queryParam.endDate) - moment(this.queryParam.startDate), 'millisecond').asDays() + 1
        this.loadData1()
      },
      // searchReset() {
      //   this.typeTree = this.queryParam.typeTree
      //   this.typeParent =  this.queryParam.parentId
      //   this.typeEquipment = this.queryParam.equipmentId
      //   this.queryParam = {}
      //   this.dates = []
      //   this.queryParam.typeTree = this.typeTree
      //   this.queryParam.parentId = this.typeParent
      //   this.queryParam.equipmentId =  this.typeEquipment
      //   // this.ipagination.current = 1
      //   this.loadData1();
      //   // this.queryParam = {}
      //   // this.dates = []
      //   // this.loadData()
      //   // this.onClearSelected()
      // },
      // loadData1() {
      //   let that = this
      //   that.columns=[
      //     {
      //       title: '设备编号',
      //       align: 'center',
      //       dataIndex: 'equipmentId',
      //       width:'150px'
      //     },
      //     {
      //       title: '设备名称',
      //       align: 'center',
      //       dataIndex: 'equipmentName',
      //       width:'150px'
      //     },
      //   ]
      //   that.tableHeads = []
      //   that.dataList = []
      //   getAction(this.url.efficiencyList, that.queryParam).then(res => {
      //     var tmp = {}
      //     console.log(res)
      //     if (res.success)
      //
      //       that.dataSource = res.result.mdcEfficiencyList
      //       for(var k = 0;k<that.dataSource[0].dataList.length;k++){
      //         that.columns.push(
      //           {
      //             title:that.dataSource[0].dataList.theDate,
      //             align: 'center',
      //             width:'120px',
      //             // dataIndex:'utilizationRate',
      //           }
      //         )
      //       }
      //       for(var i = 0;i<that.dataSource.length;i++){
      //         for (var j = 0; j < that.dataSource[i].dataList.length;j++){
      //           // that.columns.push(
      //           //   {
      //           //     title:that.dataSource[0].dataList[j].theDate,
      //           //     align: 'center',
      //           //     width:'120px',
      //           //     dataIndex:'utilizationRate',
      //           //   }
      //           // )
      //         }
      //
      //       }
      //       console.log(that.columns)
      //       console.log(that.dataSource)
      //       // this.initDeviceType(this.dataList)
      //       this.draw()
      //     }
      //   }
      loadData1() {
        this.loading = true
        this.tableHeads = []
src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue
@@ -6,7 +6,7 @@
        <a-row :gutter="24">
          <a-col :md="5" :sm="5" :xs="5">
            <a-form-item label="名称">
              <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParam.tierName"></a-input>
              <a-input placeholder="请选择树节点" :readOnly="readOnly" v-model="queryParam.tierName"></a-input>
            </a-form-item>
          </a-col>
          <a-col :md="4" :sm="4" :xs="4">
src/views/mdc/base/modules/StatisticsChart/StatisticsLegend.vue
@@ -7,7 +7,7 @@
        <a-row :gutter="24">
          <a-col :md="5" :sm="5" :xs="5">
            <a-form-item label="名称">
              <a-input placeholder="输入设备名称查询" :readOnly="readOnly" v-model="queryParam.tierName"></a-input>
              <a-input placeholder="请选择树节点" :readOnly="readOnly" v-model="queryParam.tierName"></a-input>
            </a-form-item>
          </a-col>
          <a-col :md="4" :sm="4" :xs="4">
src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationList.vue
@@ -15,8 +15,8 @@
            </a-form-item>
          </a-col>
          <a-col :md="5" :sm="5" :xs="5">
            <a-form-item label="设备名称">
              <a-input placeholder="输入设备名称查询" v-model="queryParams.equipmentName"></a-input>
            <a-form-item label="安装位置">
              <a-input placeholder="输入安装位置查询" v-model="queryParams.equipmentName"></a-input>
            </a-form-item>
          </a-col>
          <a-col :md="2" :sm="2" :xs="2">
@@ -165,7 +165,7 @@
            width:200
          },
          {
            title: '设备名称',
            title: '安装位置',
            align: 'center',
            dataIndex: 'equipmentName',
            width:250
src/views/mdc/base/modules/TorqueconfigurationList/TorqueconfigurationModalEdit.vue
@@ -12,8 +12,8 @@
          </a-col>
          <a-col :span="12">
            <a-form-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="请输入设备名称"
            <a-form-item label="安装位置" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="请输入安装位置"
                       v-decorator="['equipmentName',validatorRules.equipmentName]"/>
            </a-form-item>
          </a-col>
src/views/mdc/base/modules/alarmAnalysis/alarmAnalysisMain.vue
@@ -85,7 +85,7 @@
      }
    },
    { title: '设备编号', dataIndex: 'equipmentId', key: 'equipmentId', align: 'center' },
    { title: '设备名称', dataIndex: 'equipmentName', key: 'equipmentName', align: 'center' },
    { title: '安装位置', dataIndex: 'equipmentName', key: 'equipmentName', align: 'center' },
    { title: '报警时间', dataIndex: 'startTime', key: 'startTime', align: 'center' },
    { title: '结束时间', dataIndex: 'endTime', key: 'endTime', align: 'center' },
    {
src/views/mdc/base/modules/comparativeAnalysis/ComparativeAnalysisBar.vue
@@ -1,51 +1,46 @@
<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>
  <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>
</template>
<script>
  import * as echarts from 'echarts'
  export default {
    name: 'comparativeAnalysisBar',
    props:{
      dataList:''
    },
    data(){
      return{
        OpenCloseList:[],
        openRate:[],
        utilizationRate:[],
        openLong:[],
        closeLong:[],
        equipmentList:[]
    props: {
      dataList: {
        type: Array
      }
    },
    created(){
    data() {
      return {
        compAnalBar1: null,
        compAnalBar2: null
      }
    },
    watch:{
      dataList(val){
        this.OpenCloseList = val
    watch: {
      dataList(val) {
        this.drawTu()
      },
      }
    },
    mounted() {
      this.drawTu()
      window.addEventListener('resize', this.handleWindowResize)
    },
    methods:{
      drawTu(){
       let compAnalBar1 = this.$echarts.init(document.getElementById('compAnalBar1'), 'macarons');
       let compAnalBar2 = this.$echarts.init(document.getElementById('compAnalBar2'), 'macarons');
       let compAnalBarOption1 = {
    methods: {
      drawTu() {
        this.compAnalBar1 = this.$echarts.init(document.getElementById('compAnalBar1'), 'macarons')
        this.compAnalBar2 = this.$echarts.init(document.getElementById('compAnalBar2'), 'macarons')
        let compAnalBarOption1 = {
          tooltip: {
            trigger: 'axis',
            axisPointer: {
              type: "shadow",
              type: 'shadow',
              textStyle: {
                color: "#fff"
                color: '#fff'
              }
            }
@@ -60,12 +55,12 @@
            data: ['开机率', '利用率']
          },
          toolbox: {
            show : true,
            feature : {
              mark : {show: true},
              magicType : {show: true, type: ['line', 'bar']},
              restore : {show: true},
              saveAsImage : {show: true,name:'设备运行效率对比分析图'}
            show: true,
            feature: {
              mark: { show: true },
              magicType: { show: true, type: ['line', 'bar'] },
              restore: { show: true },
              saveAsImage: { show: true, name: '设备运行效率对比分析图' }
            }
          },
          calculable: true,
@@ -74,34 +69,34 @@
            top: 110,
            bottom: 95,
            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,
              boundaryGap: true,
              axisLabel: {
                interval: 0,
                rotate: 0,
                show: true,
                wigth:20,
                wigth: 20,
                splitNumber: 8,
                textStyle: {
                  fontFamily: "微软雅黑",
                  fontFamily: '微软雅黑',
                  fontSize: 12
                }
              },
              data : [0]
              data: [0]
            }
          ],
          yAxis: [
@@ -137,14 +132,14 @@
            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,
@@ -160,276 +155,80 @@
                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'
                      ['#6496e9', '#6bded3']
                    ]
                    let colorItem = colorList[params.dataIndex]
                    return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                      offset: 0,
                      color: '#6496e9'
                    },
                      {
                        offset:1,
                        color:"#6bded3"
                      }],false)
                        offset: 1,
                        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},
                  {type : 'min', name: '最小值',symbolSize:70}
              markPoint: {
                data: [
                  { type: 'max', name: '最大值', symbolSize: 70 },
                  { type: 'min', name: '最小值', symbolSize: 70 }
                ]
              },
              markLine : {
                data : [
                  {type : 'average', name: '平均值'}
              markLine: {
                data: [
                  { type: 'average', name: '平均值' }
                ]
              }
            },
            {
              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];
                    return new echarts.graphic.LinearGradient(0,0,0,1,[{
                      offset:0,
                      color:"#4fe1c5"
                      ['#4fe1c5', '#4ecee1']
                    ]
                    let colorItem = colorList[params.dataIndex]
                    return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                      offset: 0,
                      color: '#4fe1c5'
                    },
                      {
                        offset:1,
                        color:"#4ecee1"
                      }],false)
                        offset: 1,
                        color: '#4ecee1'
                      }], false)
                  },
                  barBorderRadius: [5, 5, 0, 0],
                  barBorderRadius: [5, 5, 0, 0]
                }
              },
              data: [0],
              markPoint : {
                data : [
                  {type : 'max', name: '最大值',symbolSize:70},
                  {type : 'min', name: '最小值',symbolSize:70}
              markPoint: {
                data: [
                  { type: 'max', name: '最大值', symbolSize: 70 },
                  { type: 'min', name: '最小值', symbolSize: 70 }
                ]
              },
              markLine : {
                data : [
                  {type : 'average', name: '平均值'}
              markLine: {
                data: [
                  { type: 'average', name: '平均值' }
                ]
              }
            }
          ]
        };
       // 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'
              }
            }
          },
          legend: {
@@ -438,16 +237,16 @@
            textStyle: {
              color: '#90979c'
            },
            color:['#6496e9','#b4b8cc'],
            color: ['#6496e9', '#b4b8cc'],
            data: ['开机时间', '关机时间']
          },
          toolbox: {
            show : true,
            feature : {
              mark : {show: true},
              magicType : {show: true, type: ['line', 'bar']},
              restore : {show: true},
              saveAsImage : {show: true,name:'设备运行效率对比分析图'}
            show: true,
            feature: {
              mark: { show: true },
              magicType: { show: true, type: ['line', 'bar'] },
              restore: { show: true },
              saveAsImage: { show: true, name: '设备运行效率对比分析图' }
            }
          },
          calculable: true,
@@ -456,34 +255,34 @@
            top: 110,
            bottom: 95,
            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,
              boundaryGap: true,
              axisLabel: {
                interval: 0,
                rotate: 0,
                show: true,
                wigth:20,
                wigth: 20,
                splitNumber: 8,
                textStyle: {
                  fontFamily: "微软雅黑",
                  fontFamily: '微软雅黑',
                  fontSize: 12
                }
              },
              data : [0]
              data: [0]
            }
          ],
          yAxis: [
@@ -519,14 +318,14 @@
            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,
@@ -542,117 +341,95 @@
                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'
                      ['#6496e9', '#6bded3']
                    ]
                    let colorItem = colorList[params.dataIndex]
                    return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                      offset: 0,
                      color: '#6496e9'
                    },
                      {
                        offset:1,
                        color:"#6bded3"
                      }],false)
                        offset: 1,
                        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},
                  {type : 'min', name: '最小值',symbolSize:70}
              markPoint: {
                data: [
                  { type: 'max', name: '最大值', symbolSize: 70 },
                  { type: 'min', name: '最小值', symbolSize: 70 }
                ]
              },
              markLine : {
                data : [
                  {type : 'average', name: '平均值'}
              markLine: {
                data: [
                  { type: 'average', name: '平均值' }
                ]
              }
            },
            {
              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];
                    return new echarts.graphic.LinearGradient(0,0,0,1,[{
                      offset:0,
                      color:"#849db8"
                      ['#849db8', '#b4b8cc']
                    ]
                    let colorItem = colorList[params.dataIndex]
                    return new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                      offset: 0,
                      color: '#849db8'
                    },
                      {
                        offset:1,
                        color:"#b4b8cc"
                      }],false)
                        offset: 1,
                        color: '#b4b8cc'
                      }], false)
                  },
                  barBorderRadius: [5, 5, 0, 0],
                  barBorderRadius: [5, 5, 0, 0]
                }
              },
              data: [0],
              markPoint : {
                data : [
                  {type : 'max', name: '最大值',symbolSize:70},
                  {type : 'min', name: '最小值',symbolSize:70}
              markPoint: {
                data: [
                  { type: 'max', name: '最大值', symbolSize: 70 },
                  { type: 'min', name: '最小值', symbolSize: 70 }
                ]
              },
              markLine : {
                data : [
                  {type : 'average', name: '平均值'}
              markLine: {
                data: [
                  { type: 'average', name: '平均值' }
                ]
              }
            }
          ]
        };
        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*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)
          }
          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()
        })
        console.log('dataList', this.dataList)
        if (this.dataList != null) {
          const equipmentList = this.dataList.map(item => item.equipmentId)
          const openRate = this.dataList.map(item => (item.openRate * 100).toFixed(2))
          const utilizationRate = this.dataList.map(item => (item.utilizationRate * 100).toFixed(2))
          const openLong = this.dataList.map(item => item.openLong)
          const closeLong = this.dataList.map(item => item.closeLong)
          compAnalBarOption1.xAxis[0].data = equipmentList
          compAnalBarOption1.series[0].data = openRate
          compAnalBarOption1.series[1].data = utilizationRate
          compAnalBarOption2.xAxis[0].data = equipmentList
          compAnalBarOption2.series[0].data = openLong
          compAnalBarOption2.series[1].data = closeLong
        }
        this.compAnalBar1.setOption(compAnalBarOption1,true)
        this.compAnalBar2.setOption(compAnalBarOption2,true)
      },
      handleWindowResize() {
        this.compAnalBar1.resize()
        this.compAnalBar2.resize()
      }
    }
  }
src/views/mdc/base/modules/comparativeAnalysis/ComparativeAnalysisMain.vue
@@ -5,11 +5,6 @@
      <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-search :readOnly="true" v-model="queryParam.equipmentId" @search="deviceSearch"
@@ -19,9 +14,6 @@
            <a-col :md="5" :sm="5">
              <a-form-item label="驱动类型">
                <!--<j-dict-select-tag placeholder="请选择驱动类型"-->
                <!--:triggerChange="true" dictCode="mdc_driveType"-->
                <!--v-model="queryParam.driveType" allow-clear/>-->
                <a-auto-complete
                  v-model="queryParam.driveType"
                  :data-source="driveTypeList"
@@ -33,10 +25,10 @@
            </a-col>
            <a-col :md="6" :sm="6" :xs="6">
              <a-form-item label="时间">
                <a-range-picker @change="dateParamChange" v-model="dates" format="YYYYMMDD"/>
                <a-range-picker @change="dateParamChange" v-model="dates" format="YYYYMMDD" :allow-clear="false"/>
              </a-form-item>
            </a-col>
            <a-col>
            <a-col :md="5" :sm="5">
              <a-space>
                <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
                <a-button type="primary" @click="searchReset" icon="reload">重置</a-button>
@@ -47,7 +39,7 @@
      </div>
      <!-- table区域-begin -->
      <div id="DeviceList">
        <a-tabs :activeKey="activeKey" @change="tabChange" tabPosition="top">
        <a-tabs>
          <a-tab-pane key="1" tab="图形">
            <ComparativeAnalysisBar ref="AnalysisBar" :dataList='AnalysisBarList'></ComparativeAnalysisBar>
          </a-tab-pane>
@@ -68,43 +60,24 @@
<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 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',
    // mixins: [JeecgListMixin],
    components: {
      Tooltip,
      ComparativeAnalysisBar,
      ComparativeAnalysisGauge,
      ComparativeAnalysisPie,
      JDictSelectTag,
      JInput,
      JDate,
      JEllipsis,
      SelectDeviceDrawer
    },
    props: { nodeTree: '', Type: '', nodePeople: '' },
    data() {
      return {
        activeKey: '1',
        typeTree: '',
        typeParent: 1,
        typeEquipment: 1,
@@ -112,15 +85,12 @@
        AnalysisGauge: [],
        AnalysisPie: [],
        dates: [],
        xianshi: '',
        readOnly: true,
        queryParam: {
          equipmentId: ''
        },
        queryParams: {},
        queryParamEquip: {},
        queryParamPeople: {},
        dataStartsoucre: [],
        url: {
          comparativeAnalysis: '/mdc/efficiencyReport/comparativeAnalysis'
        },
@@ -132,19 +102,16 @@
      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.queryParam.equipmentId = ''
            this.queryParams.equipmentId = ''
          }
          this.searchQuery()
@@ -167,71 +134,63 @@
      }
    },
    methods: {
      tabChange(val) {
        this.activeKey = val
      },
      dateParamChange(v1, v2) {
        // console.log(v1,v2)
        this.queryParam.startTime = v2[0]
        this.queryParam.endTime = v2[1]
        console.log(v2[0], v2[1])
      },
      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
        })
      },
      searchQuery() {
        if (this.dates && this.dates.length > 0) {
          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) => {
        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
              })
              this.$message.warning(res.message)
            }
          }).finally(() => {
          })
          .finally(() => {
            this.loading = false
          })
        } else {
          this.$notification.warning({
            message: '提示',
            description: '请选择时间'
          })
        }
      },
      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)
          } else {
            // this.$message.warning(res.message)
            this.$notification.warning({
              message: '消息',
              description: res.message
            })
          }
        }).finally(() => {
          this.loading = false
        })
      },
      searchReset() {
        this.AnalysisList = []
        this.AnalysisBarList = []
@@ -277,7 +236,9 @@
          this.typeEquipment = this.queryParams.equipmentId
          this.queryParams = {}
          this.queryParam = {}
          this.dates = []
          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.queryParams.typeTree = this.typeTree
          this.queryParams.parentId = this.typeParent
          if (this.queryParams.parentId != '') {
@@ -307,6 +268,7 @@
          })
        }
      },
      /**
       * 调用接口获取控制系统类型
       */
@@ -315,6 +277,7 @@
          this.driveTypeList = res.result.map(item => item.value)
        })
      },
      /**
       * 联想输入框筛选功能
       * @param input 输入的内容
@@ -326,119 +289,8 @@
          option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
        )
      },
      // 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 =  ""
      //     }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;
      //     }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
      //   })
      // },
      deviceSearch() {
        console.log('触发')
        this.$refs.selectDeviceDrawer.visible = true
        this.$refs.selectDeviceDrawer.selectedRowKeys = []
        this.$refs.selectDeviceDrawer.selectedRows = []
@@ -450,11 +302,6 @@
       * @param data 已选择的设备
       */
      selectOK(data) {
        // let params = {}
        // params.equipmentIdList = []
        // for (var a = 0; a < data.length; a++) {
        //   params.equipmentIdList.push(data[a])
        // }
        console.log('data=', data)
        this.queryParam.equipmentId = data.join(',')
        console.log('queryParam', this.queryParam.equipmentId)
@@ -472,8 +319,6 @@
</script>
<style lang="less" scoped>
  /*@import '~@assets/less/common.less';*/
  @media screen and (min-width: 1920px) {
    .device_list {
      height: 811px !important;
@@ -509,12 +354,6 @@
    }
  }
  /*.device_list{*/
  /*display: flex;*/
  /*}*/
  /*.device_list .table-page-search-wrapper{*/
  /**/
  /*}*/
  /deep/ .ant-card-body {
    height: 100% !important;
  }
src/views/mdc/base/modules/deviceCalendar/DeviceCalendarList.vue
@@ -62,15 +62,11 @@
  import { filterObj } from '@/utils/util'
  import { putAction, getAction } from '@/api/manage'
  import DeviceCalendarModel from './DeviceCalendarModel'
  import DeviceCalendarAdd from './DeviceCalendarAdd'
  import DeviceCalendarListModel from './DeviceCalendarListModel'
  import {
    JeecgListMixin
  } from '@/mixins/JeecgListMixin'
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  export default {
    name: 'DeviceCalendarList',
    components: { DeviceCalendarModel, DeviceCalendarAdd, DeviceCalendarListModel },
    components: { DeviceCalendarModel },
    mixins: [JeecgListMixin],
    data() {
      return {
@@ -106,7 +102,7 @@
            width: 150
          },
          {
            title: '设备名称',
            title: '安装位置',
            align: 'center',
            dataIndex: 'equipmentName',
            width: 150
src/views/mdc/base/modules/deviceRepair/DeviceRepairList.vue
@@ -15,8 +15,8 @@
            </a-form-item>
          </a-col>
          <a-col :md="5" :sm="5" :xs="5">
            <a-form-item label="设备名称">
              <a-input placeholder="输入设备名称查询" v-model="queryParams.equipmentName"></a-input>
            <a-form-item label="安装位置">
              <a-input placeholder="输入安装位置查询" v-model="queryParams.equipmentName"></a-input>
            </a-form-item>
          </a-col>
          <a-col :md="2" :sm="2" :xs="2">
src/views/mdc/base/modules/deviceRepair/DeviceRepairModel.vue
@@ -5,23 +5,9 @@
      <a-form :form="form">
        <a-row :gutter="24">
          <a-col :span="24">
            <!--<a-form-item label="设备编号" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
            <!--<a-input-search :readOnly="true" v-decorator="['equipmentId', validatorRules.equipmentId]"-->
            <!--@search="deviceSearch" enter-button/>-->
            <!--&lt;!&ndash;<a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="请输入设备编号"&ndash;&gt;-->
            <!--&lt;!&ndash;v-decorator="['equipmentId',validatorRules.equipmentId]"/>&ndash;&gt;-->
            <!--</a-form-item>-->
            <!--</a-col>-->
            <!--<a-col :span="12">-->
            <!--<a-form-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
            <!--<a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="请输入设备名称"-->
            <!--v-decorator="['equipmentName',validatorRules.equipmentName]"/>-->
            <!--</a-form-item>-->
            <a-form-item label="设备组" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
              <a-input-search :readOnly="true" v-decorator="['equipmentIds', validatorRules.equipmentIds]"
                              @search="deviceSearch" enter-button placeholder="请选择设备"/>
              <!--<a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="请输入设备编号"-->
              <!--v-decorator="['equipmentId',validatorRules.equipmentId]"/>-->
            </a-form-item>
          </a-col>
        </a-row>
@@ -63,15 +49,6 @@
            </a-form-item>
          </a-col>
        </a-row>
        <!--<a-row :gutter="24">-->
        <!--<a-col :span="12">-->
        <!--<a-form-item v-show="this.mesag == 1" label="维修类型" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
        <!--<a-input :disabled="disableSubmit" :readOnly="readOnly" placeholder="请选择设备类型"-->
        <!--:triggerChange="true"-->
        <!--v-decorator="['mdcRepairType', validatorRules.mdcRepairType]"/>-->
        <!--</a-form-item>-->
        <!--</a-col>-->
        <!--</a-row>-->
      </a-form>
    </a-spin>
    <select-device-drawer ref="selectDeviceDrawer" @selectFinished="selectOK" :title="'选择设备'"/>
src/views/mdc/base/modules/deviceRepair/DeviceRepairModelAdd.vue
@@ -5,34 +5,12 @@
      <a-form :form="form">
        <a-row :gutter="24">
          <a-col :span="24">
            <!--<a-form-item label="设备编号" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
              <!--<a-input-search :readOnly="true" v-decorator="['equipmentId', validatorRules.equipmentId]"-->
                              <!--@search="deviceSearch" enter-button/>-->
              <!--&lt;!&ndash;<a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="请输入设备编号"&ndash;&gt;-->
              <!--&lt;!&ndash;v-decorator="['equipmentId',validatorRules.equipmentId]"/>&ndash;&gt;-->
            <!--</a-form-item>-->
            <a-form-item label="设备组" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
              <a-input-search :readOnly="true" v-decorator="['equipmentIds', validatorRules.equipmentIds]"
                              @search="deviceSearch" enter-button/>
              <!--<a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="请输入设备编号"-->
              <!--v-decorator="['equipmentId',validatorRules.equipmentId]"/>-->
            </a-form-item>
          </a-col>
          <!--<a-col :span="12">-->
            <!--<a-form-item label="设备名称" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
              <!--<a-input :disabled="disableSubmit" :readOnly="readOnly" allow-clear placeholder="请输入设备名称"-->
                       <!--v-decorator="['equipmentName',validatorRules.equipmentName]"/>-->
            <!--</a-form-item>-->
          <!--</a-col>-->
        </a-row>
        <!--<a-row :gutter="24">-->
          <!--<a-col :span="24">-->
            <!--<a-form-item label="设备名称" :labelCol="labelColLong" :wrapperCol="wrapperColLong">-->
              <!--<a-input :readOnly="true" v-decorator="['equipmentName', validatorRules.equipmentName]"-->
                               <!--enter-button/>-->
            <!--</a-form-item>-->
          <!--</a-col>-->
        <!--</a-row>-->
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-item label="开始时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
@@ -82,7 +82,7 @@
                <th  class="thgu dong2 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">车间</th>
                <th  class="thgu dong3 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">工段</th>
                <th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备编号</th>
                <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">设备名称</th>
                <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">安装位置</th>
                <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备类型</th>
                <!--<th rowspan="2">组别</th>-->
                <template v-for="(tableHead, index) in tableHeads">
src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
@@ -93,7 +93,7 @@
                <th class="thgu dong3 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">工段</th>
                <th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备编号
                </th>
                <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">设备名称
                <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">安装位置
                </th>
                <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备类型
                </th>
src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
@@ -108,7 +108,7 @@
                <th class="thgu dong3 name" rowspan="2" style="min-width: 50px; max-width: 50px;width: 50px;">工段</th>
                <th class="thgu dong4 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备编号
                </th>
                <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">设备名称
                <th class="thgu dong5 name" rowspan="2" style="min-width: 162px; max-width: 162px;width: 162px;">安装位置
                </th>
                <th class="thgu dong6 name" rowspan="2" style="min-width: 100px; max-width: 100px;width: 100px;">设备类型
                </th>
src/views/system/WorkshopSignageManagement.vue
@@ -9,7 +9,7 @@
            <a-row :gutter="24">
              <a-col :md="8" :sm="8">
                <a-form-item label="车间名称" :labelCol="{ span: 5 }" :wrapperCol="{ span: 19}">
                  <a-input placeholder="" v-model="queryParam.workshopName"></a-input>
                  <a-input placeholder="请输入车间名称" v-model="queryParam.workshopName"></a-input>
                </a-form-item>
              </a-col>
              <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
@@ -85,7 +85,7 @@
            <a-row :gutter="24">
              <a-col :md="12" :sm="12">
                <a-form-item label="统一编码">
                  <a-input placeholder="" v-model="queryParam2.equipmentId"></a-input>
                  <a-input placeholder="请输入统一编码" v-model="queryParam2.equipmentId"></a-input>
                </a-form-item>
              </a-col>
              <span style="float: left; overflow: hidden" class="table-page-search-submitButtons">
@@ -252,7 +252,7 @@
          width: 120,
        },
        {
          title: '设备名称',
          title: '安装位置',
          align: 'center',
          width: 100,
          dataIndex: 'equipmentName',
src/views/system/modules/ProductionManager/ProductionEquipment.vue
@@ -96,7 +96,7 @@
            // sorter: true
          },
          {
            title: '设备名称',
            title: '安装位置',
            align: "center",
            width: 150,
            dataIndex: 'equipmentName',