qushaowei
2024-07-25 52190152691bc217844d4f87b700274c297b104e
设备管理修改
已添加1个文件
已修改33个文件
760 ■■■■ 文件已修改
src/views/eam/ABC/modules/EquipmentSelectModel.vue 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/ABC/modules/StreamForm.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/ABC/modules/StreamModal.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfAll.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfCrane.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfEnvProEquipment.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfFilesCarousel.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfMetrological.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfPressureVessel.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfProduct.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfRide.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfTester.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfTruck.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/EquipmentListOfWeldingMachine.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/FaultCauseChart.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/FaultCauseChartEquipment.vue 189 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/MTBF.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyInspectionStandard/DailylnspectionStandardModal.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyInspectionStandard/JSelectDailylnspectionStandardModal.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyMaintenanceOrder/ActualMaterialEditTable.vue 218 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyMaintenanceOrder/ActualWorkHoursEditTable.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyMaintenanceStandard/DailyMaintenanceStandardModal.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyMaintenanceStandard/JSelectMaintenanceStandardModal.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyMaintenanceStandard3/DailyMaintenanceStandardModal.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/dailyMaintenanceStandard3/JSelectMaintenanceStandardModal.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/malfunctionRepair/EquipmentList.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/operationCertificateApply/OperationCertificateApplyForm.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/repairStandard/RepairStandardModel.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/repairStandard/RepairStandardRight.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/repairorder/moudles/RepairOrderActualMaterialReport.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/modules/UserModal.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/ABC/modules/EquipmentSelectModel.vue
@@ -39,6 +39,22 @@
                />
              </a-form-item>
            </a-col>
            <a-col
              :md="8"
              :sm="6"
            >
              <a-form-item label="中心">
                <!-- <a-input
                  placeholder="中心"
                  v-model="queryParam.useId"
                /> -->
                <j-dict-select-tag
                  placeholder='请选择所属中心'
                  dictCode="mom_base_area,name,id,del_flag!='1' and type='1'"
                  v-model="queryParam.workCenterId"
                />
              </a-form-item>
            </a-col>
            <a-col :md="3">
              <span
                style="float: left;overflow: hidden;"
@@ -72,9 +88,22 @@
        :loading="loading"
        @change="handleTableChange"
      >
       <template slot="equipmentPhoto" slot-scope="text,record">
         <span v-if="!text" style="font-size: 12px;font-style: italic;">无图片</span>
         <img v-else :src="getImgView(text)" :preview="record.id" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
        <template
          slot="equipmentPhoto"
          slot-scope="text,record"
        >
          <span
            v-if="!text"
            style="font-size: 12px;font-style: italic;"
          >无图片</span>
          <img
            v-else
            :src="getImgView(text)"
            :preview="record.id"
            height="25px"
            alt=""
            style="max-width:80px;font-size: 12px;font-style: italic;"
          />
       </template>
      </a-table>
    </a-card>
@@ -159,6 +188,7 @@
      scrollTrigger: {},
      dataSource: [],
      selectionRows: [],
      selectionRowsNotClear: [],
      title: '选择设备',
      ipagination: {
        current: 1,
@@ -188,14 +218,29 @@
        type: 'checkbox',
        onChange: (selectedRowKeys, selectedRows) => {
          this.selectedRowKeys = selectedRowKeys
          this.onSelectChange(selectedRows)
          this.selectionRows = selectedRows
          // debugger
          // this.selectionRowsNotClear.push(selectedRows)
          // this.onSelectChange(selectedRows)
        },
        onSelect: (record, selected, selectedRows) => {
          if (selected) {
            this.selectionRowsNotClear.push(record);
          }
          if (!selected) {
            let delIndex = this.selectionRowsNotClear.findIndex(val => {
              return val.id === record.id
            })
            this.selectionRowsNotClear.splice(delIndex, 1);
          }
        },
        getCheckboxProps: record => ({
          props: {
            disabled: record.distable
          }
        }),
        selectedRowKeys: this.selectedRowKeys
        selectedRowKeys: this.selectedRowKeys,
        selectedRows: this.selectionRows
      }
    }
  },
@@ -230,6 +275,9 @@
    },
    showModals(oldSelectRows) {
      this.selectionRows = []
      this.selectedRowKeys = []
      this.selectionRowsNotClear = []
      this.oldSelectRows = oldSelectRows
      this.visible = true
      this.loadData(1)
@@ -273,7 +321,8 @@
      this.loadData()
    },
    handleSubmit() {
      this.$emit('selectionRows', this.selectionRows)
      debugger
      this.$emit('selectionRows', this.selectionRowsNotClear)
      this.searchReset(0)
      this.close()
    },
src/views/eam/ABC/modules/StreamForm.vue
@@ -2,11 +2,25 @@
  <a-spin :spinning="confirmLoading">
    <j-form-container :disabled="formDisabled">
      <!-- ä¸»è¡¨å•区域 -->
      <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail">
      <a-form-model
        ref="form"
        :model="model"
        :rules="validatorRules"
        slot="detail"
      >
        <a-row :gutter="24">
          <a-col :span="12" >
            <a-form-model-item label="单据号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="num">
              <a-input v-model="model.num" placeholder="系统自动生成" :disabled="true" ></a-input>
            <a-form-model-item
              label="单据号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="num"
            >
              <a-input
                v-model="model.num"
                placeholder="系统自动生成"
                :disabled="true"
              ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="12">
@@ -145,8 +159,15 @@
      </a-form-model>
    </j-form-container>
      <!-- å­è¡¨å•区域 -->
    <a-tabs v-model="activeKey" @change="handleChangeTabs">
      <a-tab-pane tab="ABC评价" :key="refKeys[0]" :forceRender="true">
    <a-tabs
      v-model="activeKey"
      @change="handleChangeTabs"
    >
      <a-tab-pane
        tab="ABC评价"
        :key="refKeys[0]"
        :forceRender="true"
      >
        <j-vxe-table
          keep-source
          :ref="refKeys[0]"
@@ -163,13 +184,20 @@
          :toolbarConfig="toolbarConfig"
          >
              <template slot="toolbarPrefix">
                <a-button type="primary" @click="selectEquipmentList" :disabled="formDisabled">选择设备
            <a-button
              type="primary"
              @click="selectEquipmentList"
              :disabled="formDisabled"
            >选择设备
                </a-button>
              </template>
        </j-vxe-table>
      </a-tab-pane>
    </a-tabs>
    <equipment-select-model ref="EquipmentSelectModal" @selectionRows="addSelectedEquipments"></equipment-select-model>
    <equipment-select-model
      ref="EquipmentSelectModal"
      @selectionRows="addSelectedEquipments"
    ></equipment-select-model>
  </a-spin>
</template>
@@ -512,6 +540,7 @@
      },
      addSelectedEquipments(data) {
        let tableData = this.$refs.aBCAssessment.getTableData()
      debugger
        // const seletedEquipmentIds = tableData.
        var tableStr = JSON.stringify(tableData)
        const addRows = []
src/views/eam/ABC/modules/StreamModal.vue
@@ -1,15 +1,20 @@
<template>
  <j-modal
    :title="title"
    :width="1200"
    :width="1500"
    :visible="visible"
    :maskClosable="false"
    switchFullscreen
    :fullscreen="true"
    :fullscreen="false"
    @ok="handleOk"
    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
    @cancel="handleCancel">
    <stream-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"/>
    @cancel="handleCancel"
  >
    <stream-form
      ref="realForm"
      @ok="submitCallback"
      :disabled="disableSubmit"
    />
  </j-modal>
</template>
src/views/eam/EquipmentListOfAll.vue
@@ -89,7 +89,7 @@
                allow-clear
                placeholder="请选择工区"
                :triggerChange="true"
                dictCode="mom_base_area,name,id,del_flag!='1'"
                dictCode="mom_base_area,name,id,del_flag!='1' and type = '2'"
                v-model="queryParam.factoryModelId"
              />
            </a-form-item>
@@ -982,7 +982,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/EquipmentListOfCrane.vue
@@ -942,7 +942,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/EquipmentListOfEnvProEquipment.vue
@@ -963,7 +963,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/EquipmentListOfFilesCarousel.vue
@@ -956,7 +956,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/EquipmentListOfMetrological.vue
@@ -956,7 +956,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/EquipmentListOfPressureVessel.vue
@@ -952,7 +952,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/EquipmentListOfProduct.vue
@@ -952,7 +952,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/EquipmentListOfRide.vue
@@ -957,7 +957,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/EquipmentListOfTester.vue
@@ -956,7 +956,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/EquipmentListOfTruck.vue
@@ -951,7 +951,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/EquipmentListOfWeldingMachine.vue
@@ -952,7 +952,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
        delete: "/eam/equipment/delete",
        deleteBatch: "/eam/equipment/deleteBatch",
        active: "/eam/equipment/active",
src/views/eam/FaultCauseChart.vue
@@ -1,6 +1,6 @@
<template>
  <a-card
    title="设备故障原因"
    title="设备故障类型统计"
    :bordered="true"
  >
    <!-- æŸ¥è¯¢åŒºåŸŸ -->
@@ -19,6 +19,20 @@
                placeholder="请输入统一编码"
                v-model="queryParam.equipmentNum"
              ></a-input>
            </a-form-item>
          </a-col>
          <a-col
            :md="6"
            :sm="8"
          >
            <a-form-item label="使用部门">
              <j-dict-select-tag
                allow-clear
                placeholder='请选择使用部门'
                :triggerChange='true'
                dictCode="sys_depart,depart_name,id,del_flag!='1'"
                v-model='queryParam.useId'
              />
            </a-form-item>
          </a-col>
          <a-col
@@ -109,7 +123,7 @@
import moment from 'moment'
export default {
  name: 'TeamList',
  name: 'FaultCauseChart',
  mixins: [JeecgListMixin, mixinDevice],
  components: {
    Pie,
src/views/eam/FaultCauseChartEquipment.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,189 @@
<template>
  <a-card
    title="设备故障次数统计"
    :bordered="true"
  >
    <!-- æŸ¥è¯¢åŒºåŸŸ -->
    <div class="table-page-search-wrapper">
      <a-form
        layout="inline"
        @keyup.enter.native="searchQuery"
      >
        <a-row :gutter="24">
          <a-col
            :md="6"
            :sm="8"
          >
            <a-form-item label="统一编码">
              <a-input
                placeholder="请输入统一编码"
                v-model="queryParam.equipmentNum"
              ></a-input>
            </a-form-item>
          </a-col>
          <a-col
            :md="6"
            :sm="8"
          >
            <a-form-item label="使用部门">
              <j-dict-select-tag
                allow-clear
                placeholder='请选择使用部门'
                :triggerChange='true'
                dictCode="sys_depart,depart_name,id,del_flag!='1'"
                v-model='queryParam.useId'
              />
            </a-form-item>
          </a-col>
          <a-col
            :md="6"
            :sm="8"
          >
            <a-form-item label="维修时间">
              <a-range-picker
                style="width: 100%;"
                format="YYYY-MM-DD HH:mm:ss"
                v-model="faultTime"
                @change="timeChange"
              />
            </a-form-item>
          </a-col>
          <a-col
            :md="6"
            :sm="8"
          >
            <span
              style="float: left;overflow: hidden;"
              class="table-page-search-submitButtons"
            >
              <a-button
                type="primary"
                @click="searchQuery"
                icon="search"
              >查询</a-button>
              <a-button
                type="primary"
                @click="searchReset"
                icon="reload"
                style="margin-left: 8px"
              >重置</a-button>
            </span>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- æŸ¥è¯¢åŒºåŸŸ-END -->
    <a-row>
      <a-col :span="24">
        <a-card
          :loading="loading"
          :bordered="false"
          title="最近一月设备故障次数统计"
          :style="{ marginTop: '24px' }"
        >
          <!--<a-row>
            <a-col :span="6">
              <head-info title="今日IP" :content="loginfo.todayIp"></head-info>
            </a-col>
            <a-col :span="2">
              <a-spin class='circle-cust'>
                <a-icon slot="indicator" type="environment" style="font-size: 24px"  />
              </a-spin>
            </a-col>
            <a-col :span="6">
              <head-info title="今日访问" :content="loginfo.todayVisitCount"></head-info>
            </a-col>
            <a-col :span="2">
              <a-spin class='circle-cust'>
                <a-icon slot="indicator" type="team" style="font-size: 24px"  />
              </a-spin>
            </a-col>
            <a-col :span="6">
              <head-info title="总访问量" :content="loginfo.totalVisitCount"></head-info>
            </a-col>
            <a-col :span="2">
              <a-spin class='circle-cust'>
                <a-icon slot="indicator" type="rise" style="font-size: 24px"  />
              </a-spin>
            </a-col>
          </a-row> -->
          <line-chart-multid
            :dataSource="visitInfo"
            :fields="visitFields"
          ></line-chart-multid>
        </a-card>
      </a-col>
    </a-row>
  </a-card>
</template>
<script>
import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin'
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import { getAction, deleteAction, postAction } from '@/api/manage'
import LineChartMultid from '@/components/chart/LineChartMultid'
import moment from 'moment'
export default {
  name: 'FaultCauseChartEquipment',
  mixins: [JeecgListMixin, mixinDevice],
  components: {
    LineChartMultid
  },
  data() {
    return {
      description: 'FaultCauseChartEquipment',
      visitFields: ['设备故障次数'],
      // visitInfo: [{ '设备故障次数': '5', type: '07-28' }, { '设备故障次数': '6', type: '07-29' }],
      visitInfo: [],
      url: {
        list: "/eam/repairOrder/getEquipmentFaultCause",
      },
      // è¡¨å¤´
      faultTime: [],
      dictOptions: {},
      superFieldList: [],
      queryParam: {}
    }
  },
  // created() {
  //   this.loadData2(1);
  // },
  methods: {
    timeChange() {
      this.queryParam.faultStartTime = moment(this.faultTime[0]).format("YYYY-MM-DD HH:mm:ss")
      this.queryParam.faultEndTime = moment(this.faultTime[1]).format("YYYY-MM-DD HH:mm:ss")
    },
    searchQuery() {
      this.loadData(1);
    },
    searchReset() {
      this.faultTime = []
      this.queryParam = {}
      this.loadData(1);
    },
    loadData(arg) {
      this.loading = true;
      getAction(this.url.list, this.queryParam).then((res) => {
        if (res.success) {
          this.visitInfo = res.result.records || res.result;
        } else {
          this.$message.warning(res.message)
        }
      }).finally(() => {
        this.loading = false
      })
    },
  }
}
</script>
<style scoped>
@import '~@assets/less/common.less';
</style>
src/views/eam/MTBF.vue
@@ -1,7 +1,7 @@
<template>
  <a-card
    :bordered="false"
    title="MTBF"
    title="故障类型统计"
  >
    <!-- æŸ¥è¯¢åŒºåŸŸ -->
    <div class="table-page-search-wrapper">
@@ -25,6 +25,20 @@
            :md="6"
            :sm="8"
          >
            <a-form-item label="使用部门">
              <j-dict-select-tag
                allow-clear
                placeholder='请选择使用部门'
                :triggerChange='true'
                dictCode="sys_depart,depart_name,id,del_flag!='1'"
                v-model='queryParam.useId'
              />
            </a-form-item>
          </a-col>
          <a-col
            :md="6"
            :sm="8"
          >
            <a-form-item label="维修时间">
              <a-range-picker
                style="width: 100%;"
src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer.vue
@@ -270,7 +270,7 @@
              >
                <maintenance-standard-work-instruction :maintenanceStandardId='maintenanceStandardId' />
              </div>
            </a-tab-pane>
            </a-tab-pane>-->
            <a-tab-pane
              tab='实际用料'
              key="5"
@@ -285,7 +285,7 @@
                  :equipmentId="this.model.equipmentId"
                ></actual-material-edit-table>
              </div>
            </a-tab-pane>-->
            </a-tab-pane>
            <a-tab-pane
              tab='实际工时'
              key="6"
src/views/eam/modules/dailyInspectionStandard/DailylnspectionStandardModal.vue
@@ -441,14 +441,15 @@
  mounted() {
    this.$bus.$on('selectionRows', (data) => {
      for (let i = 0; i < data.length; i++) {
        debugger
        this.dataSource.push({
          id: data[i][0].id,
          inspectionProjectId: data[i][0].id,
          name: data[i][0].name,
          detectionStandard: data[i][0].detectionStandard,
          acceptabilityLimit: data[i][0].acceptabilityLimit,
          inspectionMethodName: data[i][0].inspectionMethod_dictText,
          inspectionTool: data[i][0].inspectionTool,
          id: data[i].id,
          inspectionProjectId: data[i].id,
          name: data[i].name,
          detectionStandard: data[i].detectionStandard,
          acceptabilityLimit: data[i].acceptabilityLimit,
          inspectionMethodName: data[i].inspectionMethod_dictText,
          inspectionTool: data[i].inspectionTool,
          inspectionCycles: this.inspectionCycles,
        })
      }
src/views/eam/modules/dailyInspectionStandard/JSelectDailylnspectionStandardModal.vue
@@ -129,6 +129,7 @@
      ],
      selectedRowKeys: [],
      selectedRows: [],
      selectionRowsNotClear: [],
      oldSelectRows: [],
      scrollTrigger: {},
@@ -163,8 +164,17 @@
        type: 'checkbox',
        onChange: (selectedRowKeys, selectedRows) => {
          this.selectedRowKeys = selectedRowKeys
          this.selectionRows = selectedRows
          this.selectionRowsNotClear.push(selectedRows)
        },
        onSelect: (record, selected, selectedRows) => {
          if (selected) {
            this.selectionRowsNotClear.push(record);
          }
          if (!selected) {
            let delIndex = this.selectionRowsNotClear.findIndex(val => {
              return val.id === record.id
            })
            this.selectionRowsNotClear.splice(delIndex, 1);
          }
        },
        getCheckboxProps: record => ({
          props: {
@@ -172,13 +182,11 @@
          }
        }),
        selectedRowKeys: this.selectedRowKeys,
        selectedRows: this.selectionRows
      }
    }
  },
  methods: {
    async loadData(arg) {
      if (arg === 1) {
        this.ipagination.current = 1
@@ -234,7 +242,6 @@
      if (num !== 0) {
        that.loadData(1)
      }
      that.selectborrowIds = []
    },
    close() {
      this.searchReset(0)
@@ -256,9 +263,11 @@
      this.searchReset(0)
      this.close()
    },
    onSelectChange(selectionRows) {
      this.selectionRows = selectionRows
    onSelectionChange(selectedRowKeys, selectedRows) {
      this.selectedRowKeys = selectedRowKeys;
      this.selectedRows = selectedRows;
    },
    searchQuery() {
      this.loadData(1)
    }
src/views/eam/modules/dailyMaintenanceOrder/ActualMaterialEditTable.vue
@@ -13,20 +13,35 @@
      @change="handleTableChange"
      :loading="loading"
    >
      <template
        v-for="col in columns"
        :slot="col.dataIndex"
        slot-scope='text, record, index'
      >
        <div :key="col.dataIndex">
          <a-input-search
            v-if="col.dataIndex == 'materialName'"
            enter-button
            @search="onSearchMaterial(index)"
          <a-input
            :value="text"
            :read-only="true"
            v-if="col.dataIndex == 'sparePartId'"
            auto-size
            placeholder="请输入物料名称"
            @change="(e) => handleChange(e, record.key, col, index)"
            :disabled="dailyMaintenanceOrderStatus!='4'"
          />
          <a-input
            :value="text"
            v-if="col.dataIndex == 'smoamUda2'"
            auto-size
            placeholder="请输入单位"
            @change="(e)=>handleChange(e, record.key, col, index)"
            :disabled="dailyMaintenanceOrderStatus!='4'"
          />
          <j-dict-select-tag
            :value='text'
            v-if="col.dataIndex == 'smoamUda1'"
            dictCode="material_type"
            style="width: 100%;"
            @change="(e)=>handleChange(e, record.key, col, index)"
            :disabled="dailyMaintenanceOrderStatus!='4'"
          />
          <a-input-number
            :value="text"
@@ -34,47 +49,19 @@
            :min="1"
            :max="99999"
            @change="(e)=>handleChange(e, record.key, col, index)"
            :disabled="record.isLock == 'yes'||dailyMaintenanceOrderStatus!='4'"
            :disabled="dailyMaintenanceOrderStatus!='4'"
          />
        </div>
      </template>
      <span
        slot='action'
        slot-scope='text, record'
      >
        <a-popconfirm
          title="确认锁料吗?"
          @confirm="() => handleLock(record)"
          dailyMaintenanceOrder:actualMaterialLock
        slot-scope='text, record,index'
        >
          <a
            v-has="'dailyMaintenanceOrder:actualMaterialLock'"
            v-if="record.isLock=='no'&&dailyMaintenanceOrderStatus=='4'"
          >锁料</a>
        </a-popconfirm>
        <a-divider
          v-if="record.isLock=='no'"
          type="vertical"
        />
        <a-popconfirm
          title="解锁后会自动释放库存,确认解锁吗?"
          @confirm="() => handleUnLock(record)"
        >
          <a
            v-has="'dailyMaintenanceOrder:actualMaterialLock'"
            v-if="record.isLock=='yes'&&dailyMaintenanceOrderStatus=='4'"
          >解锁</a>
        </a-popconfirm>
        <a-popconfirm
          title="确定删除吗?"
          @confirm="() => handleDelete(record.id)"
        >
          <a
            v-has="'dailyMaintenanceOrder:actualMaterialDelete'"
            v-if="record.isLock=='no'&&dailyMaintenanceOrderStatus=='4'"
          :disabled="dailyMaintenanceOrderStatus!='4'"
          @click='handleDeleteFake(index)'
          >删除</a>
        </a-popconfirm>
        <!-- :disabled="mainId.status=='4'" -->
      </span>
    </a-table>
    <a-button
@@ -98,19 +85,22 @@
          type="primary"
          :style="{marginRight: '8px'}"
          :disabled="specialyMaintenanceOrderStatus!='4'"
        >暂存</a-button>
        >暂存</a-button> -->
        <a-button
          @click="handleOk(0)"
          type="primary"
          :disabled="specialyMaintenanceOrderStatus!='4'"
        >保存</a-button> -->
          :disabled="dailyMaintenanceOrderStatus!='4'"
        >保存</a-button>
      </a-row>
      <!-- :disabled="false" -->
    </div>
    <actual-material-select ref="actualMaterialSelect">
      <!-- @sendMaterialRecord="sendMaterialRecord" -->
    </actual-material-select>
    <j-select-spare-part-modal ref='JSelectSparePartModal' @selection2Rows="getSelectRows"></j-select-spare-part-modal>
    <j-select-spare-part-modal
      ref='JSelectSparePartModal'
      @selection2Rows="getSelectRows"
    ></j-select-spare-part-modal>
  </a-card>
</template>
<script>
@@ -194,67 +184,50 @@
      dataSource: [],
      columns: [
        {
          title: '领料出库单',
          dataIndex: 'num',
          title: '#',
          dataIndex: '',
          key: 'rowIndex',
          width: 60,
          align: "center",
          width: 150,
          customRender: function (t, r, index) {
            return parseInt(index) + 1;
          }
        },
        {
          title: '备件编码',
          dataIndex: 'sparePartNum',
          title: '物料名称',
          dataIndex: 'sparePartId',
          scopedSlots: { customRender: 'sparePartId' },
          align: "center",
          // className: 'red',
          // width: 250,
        },
        {
          title: '备件名称',
          dataIndex: 'sparePartName',
          title: '物料种类',
          dataIndex: 'smoamUda1',
          scopedSlots: { customRender: 'smoamUda1' },
          align: "center",
        },
        {
          title: '规格',
          dataIndex: 'specification',
          align: "center",
        },
        {
          title: '型号',
          dataIndex: 'model',
          align: "center",
        },
        {
          title: '制造商',
          dataIndex: 'constructorName',
          align: "center",
        },
        {
          title: '主单位',
          dataIndex: 'mainUnitName',
          align: "center",
        },
        {
          title: '主数量',
          align: 'center',
          dataIndex: 'mainQuantity'
        },
        {
          title: '可用数量',
          align: 'center',
          dataIndex: 'availableQuantity'
          // width: 250,
        },
        {
          title: '使用数量',
          dataIndex: 'quantity',
          align: "center",
          scopedSlots: { customRender: 'quantity' },
          className: 'red',
          // className: 'red',
        },
        {
          title: '单位',
          dataIndex: 'smoamUda2',
          align: "center",
          scopedSlots: { customRender: 'smoamUda2' },
          // className: 'red',
        },
        {
          title: '操作',
          dataIndex: 'action',
          align: 'center',
          width: 250,
          scopedSlots: { customRender: 'action' }
        }
      ],
@@ -290,20 +263,23 @@
    //   }
    // }
  },
  // created() {
  //   this.queryParam['maintenanceOrderId'] = this.dailyMaintenanceOrderId;
  //   this.queryParam['equipmentId'] = this.equipmentId
  //   this.loadData(1);
  // },
  created() {
    this.queryParam['maintenanceOrderId'] = this.dailyMaintenanceOrderId;
    this.queryParam['equipmentId'] = this.equipmentId
    this.loadData(1);
  },
  methods: {
    // addMaterial() {
    //   let ids = [];
    //   for (let i = 0; i < this.dataSource.length; i++) {
    //     ids.push(this.dataSource[i].outboundOrderDetailId);
    //   }
    //   this.$refs.JSelectSparePartModal.showModals(ids);
    //   this.$refs.JSelectSparePartModal.title = '选择备件信息'
    //   this.$refs.JSelectSparePartModal.disableSubmit = false
    // },
    addMaterial() {
      let ids = [];
      for (let i = 0; i < this.dataSource.length; i++) {
        ids.push(this.dataSource[i].outboundOrderDetailId);
      }
      this.$refs.JSelectSparePartModal.showModals(ids);
      this.$refs.JSelectSparePartModal.title = '选择备件信息'
      this.$refs.JSelectSparePartModal.disableSubmit = false
      this.dataSource.push({ sparePartId: '', smoamUda1: '', smoamUda2: '', quantity: '', repairOrderId: this.equipmentId })
    },
    handleCancel() {
      this.$bus.$emit('closeDrawer');
@@ -322,16 +298,16 @@
      if (saveStatus == 0) {
        let materialDataSource = that.dataSource;
        let indexIdList = [];
        for (let i = 0; i < materialDataSource.length; i++) {
          if (materialDataSource[i].materialId == undefined || materialDataSource[i].materialId == null || materialDataSource[i].materialId == '') {
            that.$message.warning("请选择第" + (i + 1) + "行物料!");
            return false;
          }
          if (materialDataSource[i].quantity == undefined || materialDataSource[i].quantity == null || materialDataSource[i].quantity == '') {
            that.$message.warning("请填写第" + (i + 1) + "行用料数!");
            return false;
          }
        }
        // for (let i = 0; i < materialDataSource.length; i++) {
        //   if (materialDataSource[i].materialId == undefined || materialDataSource[i].materialId == null || materialDataSource[i].materialId == '') {
        //     that.$message.warning("请选择第" + (i + 1) + "行物料!");
        //     return false;
        //   }
        //   if (materialDataSource[i].quantity == undefined || materialDataSource[i].quantity == null || materialDataSource[i].quantity == '') {
        //     that.$message.warning("请填写第" + (i + 1) + "行用料数!");
        //     return false;
        //   }
        // }
      }
      if (that.dataSource.length === 0) {
        that.$message.warning("请添加物料!")
@@ -364,14 +340,26 @@
      console.log(column)
      const temp = [...this.dataSource]
      const target = temp[index]
      let availableQuantity = target['availableQuantity']
      if (target) {
        if (value != undefined && value != null && value != '' && availableQuantity < value) {
          this.$message.error('使用数量不能大于可用数量!')
        } else {
      // let availableQuantity = target['availableQuantity']
      // if (target) {
      //   if (value != undefined && value != null && value != '' && availableQuantity < value) {
      //     this.$message.error('使用数量不能大于可用数量!')
      //   } else {
      //   }
      //   target[column.dataIndex] = value
      //   this.dataSource = temp
      // }
      if ('sparePartId' == column.dataIndex) {
        target['sparePartId'] = value.target.value
        }
        target[column.dataIndex] = value
        this.dataSource = temp
      if ('smoamUda2' == column.dataIndex) {
        target['smoamUda2'] = value.target.value
      }
      if ('quantity' == column.dataIndex) {
        target['quantity'] = value
      }
      if ('smoamUda1' == column.dataIndex) {
        target['smoamUda1'] = value
      }
    },
    onSearchMaterial(index) {
src/views/eam/modules/dailyMaintenanceOrder/ActualWorkHoursEditTable.vue
@@ -43,6 +43,7 @@
      >
        <a
          v-has="'dailyMaintenanceOrder:actualWorkHoursDelete'"
          :disabled="dailyMaintenanceOrderStatus!='4'"
          @click="handleDeleteFake(index)"
        >删除</a>
      </span>
src/views/eam/modules/dailyMaintenanceStandard/DailyMaintenanceStandardModal.vue
@@ -594,16 +594,16 @@
      for (let i = 0; i < data.length; i++) {
        let id = this.getUuiD(15);
        this.dataSource.push({
          id: id,
          maintenanceProjectId: data[i][0].id,
          name: data[i][0].name,
          standard: data[i][0].standard,
          maintenanceMethodName: data[i][0].maintenanceMethod_dictText,
          maintenanceTool: data[i][0].maintenanceTool,
          location: data[i][0].location,
          maintenanceSpecialtyName: data[i][0].maintenanceSpecialtyId_dictText,
          maintenanceRequire: data[i][0].maintenanceRequire,
          workingHourQuota: data[i][0].workingHourQuota,
          id: data[i].id,
          maintenanceProjectId: data[i].id,
          name: data[i].name,
          standard: data[i].standard,
          maintenanceMethodName: data[i].maintenanceMethod_dictText,
          maintenanceTool: data[i].maintenanceTool,
          location: data[i].location,
          maintenanceSpecialtyName: data[i].maintenanceSpecialtyId_dictText,
          maintenanceRequire: data[i].maintenanceRequire,
          workingHourQuota: data[i].workingHourQuota,
          // upload: this.upload,
          // maintenanceCycles: this.maintenanceCycles,
        })
src/views/eam/modules/dailyMaintenanceStandard/JSelectMaintenanceStandardModal.vue
@@ -168,9 +168,20 @@
        type: 'checkbox',
        onChange: (selectedRowKeys, selectedRows) => {
          this.selectedRowKeys = selectedRowKeys
          this.selectionRowsNotClear.push(selectedRows)
          // this.selectionRowsNotClear.push(selectedRows)
          this.onSelectChange(selectedRows)
        },
        onSelect: (record, selected, selectedRows) => {
          if (selected) {
            this.selectionRowsNotClear.push(record);
          }
          if (!selected) {
            let delIndex = this.selectionRowsNotClear.findIndex(val => {
              return val.id === record.id
            })
            this.selectionRowsNotClear.splice(delIndex, 1);
          }
        },
        getCheckboxProps: record => ({
          props: {
            disabled: record.distable
src/views/eam/modules/dailyMaintenanceStandard3/DailyMaintenanceStandardModal.vue
@@ -595,15 +595,15 @@
        let id = this.getUuiD(15);
        this.dataSource.push({
          id: id,
          maintenanceProjectId: data[i][0].id,
          name: data[i][0].name,
          standard: data[i][0].standard,
          maintenanceMethodName: data[i][0].maintenanceMethod_dictText,
          maintenanceTool: data[i][0].maintenanceTool,
          location: data[i][0].location,
          maintenanceSpecialtyName: data[i][0].maintenanceSpecialtyId_dictText,
          maintenanceRequire: data[i][0].maintenanceRequire,
          workingHourQuota: data[i][0].workingHourQuota,
          maintenanceProjectId: data[i].id,
          name: data[i].name,
          standard: data[i].standard,
          maintenanceMethodName: data[i].maintenanceMethod_dictText,
          maintenanceTool: data[i].maintenanceTool,
          location: data[i].location,
          maintenanceSpecialtyName: data[i].maintenanceSpecialtyId_dictText,
          maintenanceRequire: data[i].maintenanceRequire,
          workingHourQuota: data[i].workingHourQuota,
          // upload: this.upload,
          // maintenanceCycles: this.maintenanceCycles,
        })
src/views/eam/modules/dailyMaintenanceStandard3/JSelectMaintenanceStandardModal.vue
@@ -168,9 +168,20 @@
        type: 'checkbox',
        onChange: (selectedRowKeys, selectedRows) => {
          this.selectedRowKeys = selectedRowKeys
          this.selectionRowsNotClear.push(selectedRows)
          // this.selectionRowsNotClear.push(selectedRows)
          this.onSelectChange(selectedRows)
        },
        onSelect: (record, selected, selectedRows) => {
          if (selected) {
            this.selectionRowsNotClear.push(record);
          }
          if (!selected) {
            let delIndex = this.selectionRowsNotClear.findIndex(val => {
              return val.id === record.id
            })
            this.selectionRowsNotClear.splice(delIndex, 1);
          }
        },
        getCheckboxProps: record => ({
          props: {
            disabled: record.distable
src/views/eam/modules/malfunctionRepair/EquipmentList.vue
@@ -163,7 +163,7 @@
        },
      ],
      url: {
        list: "/eam/equipment/getEquipmentList",
        list: "/eam/equipment/getEquipmentTZList",
      },
    }
  },
@@ -173,7 +173,7 @@
    list() {
      this.selectedRowKeys = [];
      this.selectedRowRecord = [];
      this.queryParam.equipmentStatus = "1"
      // this.queryParam.equipmentStatus = "1"
      this.visible = true;
      this.loadData(1);
    },
@@ -225,7 +225,7 @@
        this.ipagination.current = 1
      }
      this.onClearSelected()
      this.queryParam.equipmentStatus = '1';
      // this.queryParam.equipmentStatus = '1';
      var params = this.getQueryParams()//查询条件
      this.loading = true
      getAction(this.url.list, params).then((res) => {
src/views/eam/modules/operationCertificateApply/OperationCertificateApplyForm.vue
@@ -216,13 +216,14 @@
          {
            title: '用户',
            key: 'userId',
            type: JVXETypes.selectSearch,
            type: JVXETypes.select,
            dictCode: 'sys_user,realname,id ',
            width: '200px',
            placeholder: '请输入${title}',
            defaultValue: '',
            validateRules: [{ required: true, message: '${title}不能为空' }]
          },
          // type: JVXETypes.selectSearch,
          // {
          //   title: '设备统一编码',
          //   key: 'equipmentIds',
src/views/eam/modules/repairStandard/RepairStandardModel.vue
@@ -64,14 +64,14 @@
          </a-col>
          <a-col :span="12">
            <a-form-item
              label="维修标准名称"
              label="维修标准内容"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :disabled="disableSubmit"
                :placeholder="disableSubmit?'':'请输入维修标准名称'"
                :placeholder="disableSubmit?'':'请输入维修标准内容'"
                v-decorator="['name', validatorRules.name ]"
              />
            </a-form-item>
src/views/eam/modules/repairStandard/RepairStandardRight.vue
@@ -25,9 +25,9 @@
            :md="8"
            :sm="8"
          >
            <a-form-item label="维修标准名称">
            <a-form-item label="维修标准内容">
              <j-input
                placeholder="请输入维修标准名称"
                placeholder="请输入维修标准内容"
                v-model="queryParam.name"
              ></j-input>
            </a-form-item>
@@ -254,7 +254,7 @@
          // sorter: true,
        },
        {
          title: '维修标准名称',
          title: '维修标准内容',
          align: 'center',
          dataIndex: 'name',
          scopedSlots: {
src/views/eam/modules/repairorder/moudles/RepairOrderActualHoursReport.vue
@@ -246,7 +246,7 @@
          dataIndex: 'userId',
          align: 'center',
          scopedSlots: { customRender: 'userId' },
          className: 'red',
          // className: 'red',
          width: 200
        },
        {
@@ -254,14 +254,14 @@
          dataIndex: 'principalContractor',
          align: 'center',
          scopedSlots: { customRender: 'principalContractor' },
          className: 'red',
          // className: 'red',
          width: 150
        },
        {
          title: '*实际工时',
          dataIndex: 'actualHour',
          align: 'center',
          className: 'red',
          // className: 'red',
          scopedSlots: { customRender: 'actualHour' },
          width: 150
        },
src/views/eam/modules/repairorder/moudles/RepairOrderActualMaterialReport.vue
@@ -208,7 +208,7 @@
          dataIndex: 'sparePartId',
          scopedSlots: { customRender: 'sparePartId' },
          align: "center",
          className: 'red',
          // className: 'red',
          // width: 250,
        },
        {
@@ -223,14 +223,14 @@
          dataIndex: 'actualQuantity',
          align: "center",
          scopedSlots: { customRender: 'actualQuantity' },
          className: 'red',
          // className: 'red',
        },
        {
          title: '单位',
          dataIndex: 'repairOrderAmUda1',
          scopedSlots: { customRender: 'repairOrderAmUda1' },
          align: "center",
          className: 'red',
          // className: 'red',
        },
        {
src/views/eam/modules/repairorder/moudles/RepairOrderFaultAnalysisReport.vue
@@ -124,7 +124,7 @@
              <j-dict-select-tag
                allow-clear
                :disabled="disabledEdit"
                :placeholder="'请选择维修标准'"
                :placeholder="'请选择维修标准内容'"
                :triggerChange="true"
                dictCode="mom_eam_repair_standard,name,id, del_flag!='1'"
                v-decorator="['repairOrderFaultAnalysisUda5',validatorRules.repairOrderFaultAnalysisUda5]"
src/views/system/modules/UserModal.vue
@@ -156,12 +156,25 @@
          :wrapperCol="wrapperCol"
          v-show="!productionDisabled"
        >
          <a-input-search :readOnly="true" v-model="model.equipmentIds" @search="deviceSearch" enter-button
                          placeholder="请选择设备" :disabled="!model.selectedProduction"/>
          <a-input-search
            :readOnly="true"
            v-model="model.equipmentIds"
            @search="deviceSearch"
            enter-button
            placeholder="请选择设备"
            :disabled="!model.selectedProduction"
          />
        </a-form-model-item>
        <a-form-model-item label="首页权限" :labelCol="labelCol" :wrapperCol="wrapperCol">
          <a-radio-group v-model="model.userType" :defaultValue="0">
        <a-form-model-item
          label="首页权限"
          :labelCol="labelCol"
          :wrapperCol="wrapperCol"
        >
          <a-radio-group
            v-model="model.userType"
            :defaultValue="0"
          >
            <a-radio :value="4">公司级</a-radio>
            <a-radio :value="3">车间级</a-radio>
            <a-radio :value="2">工段级</a-radio>
@@ -189,12 +202,19 @@
          :wrapperCol="wrapperCol"
          prop="areaId"
        >
          <j-dict-select-tag
          <!-- <j-dict-select-tag
            v-model="model.areaId"
            :triggerChange="true"
            dictCode="mom_base_area,name,id,del_flag = 0"
            placeholder="请维护中心"
          ></j-dict-select-tag>
          ></j-dict-select-tag> -->
          <j-multi-select-tag
            :triggerChange="true"
            v-model="model.areaId"
            dictCode="mom_base_area,name,id,del_flag = 0 and type = 1"
            placeholder="请维护中心"
          >
          </j-multi-select-tag>
        </a-form-model-item>
        <a-form-model-item
          label="负责部门"
@@ -314,7 +334,11 @@
      </a-button>
    </div>
    <select-device-modal ref="selectDeviceModal" @selectFinished="selectOK" :title="'选择设备'"/>
    <select-device-modal
      ref="selectDeviceModal"
      @selectFinished="selectOK"
      :title="'选择设备'"
    />
  </a-drawer>
</template>