Lius
12 小时以前 e1e7e01e40f3de2bd40d2de974a876f4f29abda2
三保变更
已添加2个文件
已修改2个文件
502 ■■■■■ 文件已修改
src/views/eam/maintenance/EamThirdMaintenanceChangeList.vue 323 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/technical/modules/EamThirdMaintenanceChangeModal.vue 156 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/maintenance/EamThirdMaintenanceChangeList.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,323 @@
<template>
  <a-card :bordered="false">
    <!-- æŸ¥è¯¢åŒºåŸŸ -->
    <div class="table-page-search-wrapper" v-if="isDisplayOperation">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :xl="5" :lg="6" :md="8" :sm="24">
            <a-form-item label="统一编码">
              <lx-search-equipment-select placeholder="请输入统一编码或名称搜索" v-model="queryParam.equipmentId"/>
            </a-form-item>
          </a-col>
          <a-col :xl="4" :lg="7" :md="8" :sm="24">
            <a-form-item label="变更单号">
              <a-input placeholder="请输入变更单号" v-model="queryParam.changeOrderNum"/>
            </a-form-item>
          </a-col>
          <a-col :xl="5" :lg="6" :md="8" :sm="12">
            <a-form-item label="申请时间">
              <a-range-picker v-model="queryParam.dates" @change="handleDateRangeChange" value-format="YYYY-MM-DD"/>
            </a-form-item>
          </a-col>
          <a-col :xl="4" :lg="6" :md="8" :sm="12">
            <a-form-item label="变更状态">
              <j-dict-select-tag dict-code="third_maintenance_change_status" placeholder="请选择变更状态"
                                 v-model="queryParam.changeStatus"/>
            </a-form-item>
          </a-col>
          <a-col :xl="4" :lg="7" :md="8" :sm="24">
            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
              <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
            </span>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- table区域-begin -->
    <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource"
             :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}"
             @change="handleTableChange">
        <span slot="action" slot-scope="text, record">
          <tamplate v-if="record.changeStatus=='WAIT_SUBMIT'">
            <a @click="handleEdit(record)">编辑</a>
            <a-divider type="vertical"/>
            <a-popconfirm title="确定提交吗?" @confirm="handleSubmit(record.id)">
               <a>提交</a>
            </a-popconfirm>
            <a-divider type="vertical"/>
            <a-popconfirm title="确定作废吗?" @confirm="handleAbolish(record.id)">
              <a>作废</a>
            </a-popconfirm>
          </tamplate>
          <a @click="handleDetail(record)" v-if="record.changeStatus!='WAIT_SUBMIT'&&record.changeStatus!='ABOLISH'">详情</a>
        </span>
    </a-table>
    <!-- table区域-end -->
    <!-- è¡¨å•区域 -->
    <eam-third-maintenance-change-modal ref="orderChangeModal" @ok="modalFormOk"/>
    <!--变更流程表单-->
<!--    <third-maintenance-approval-modal ref="thirdMaintenanceApprovalModal"-->
<!--                                      :selectShenpiData="selectThirdMaintenanceData"/>-->
  </a-card>
</template>
<script>
  // import EamThirdMaintenanceOrderModal from './modules/EamThirdMaintenanceOrderModal'
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
  import { deleteAction, getAction } from '@api/manage'
  // import ThirdMaintenanceApprovalModal
  //   from '@views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue'
  import EamThirdMaintenanceChangeModal
    from '@views/eam/technical/modules/EamThirdMaintenanceChangeModal.vue'
  export default {
    name: 'EamThirdMaintenanceChangeList',
    mixins: [JeecgListMixin],
    components: {
      EamThirdMaintenanceChangeModal,
      LxSearchEquipmentSelect,
      // EamThirdMaintenanceOrderModal,
      // ThirdMaintenanceApprovalModal
    },
    props: {
      isDisplayOperation: {
        type: Boolean,
        default: true
      }
    },
    data() {
      return {
        description: '设备三级保养变更页面',
        disableMixinCreated: true,
        selectThirdMaintenanceData: {},
        // è¡¨å¤´
        columns: [
          {
            title: '#',
            dataIndex: '',
            key: 'rowIndex',
            width: 60,
            align: 'center',
            fixed: 'left',
            customRender: function(t, r, index) {
              return parseInt(index) + 1
            }
          },
          {
            title: '统一编码',
            align: 'center',
            dataIndex: 'equipmentCode',
            fixed: 'left'
          },
          {
            title: '设备名称',
            align: 'center',
            dataIndex: 'equipmentName',
            fixed: 'left'
          },
          {
            title: '设备型号',
            align: 'center',
            dataIndex: 'equipmentModel',
            fixed: 'left'
          },
          {
            title: '工单号',
            align: 'center',
            dataIndex: 'orderNum_dictText'
          },
          {
            title: '变更单号',
            align: 'center',
            dataIndex: 'changeOrderNum'
          },
          {
            title: '申请人',
            align: 'center',
            dataIndex: 'applicant_dictText'
          },
          {
            title: '申请部门',
            align: 'center',
            dataIndex: 'factoryOrgCode_dictText'
          },
          {
            title: '申请日期',
            align: 'center',
            dataIndex: 'applyDate'
          },
          {
            title: '申请类型',
            align: 'center',
            dataIndex: 'applyCategory_dictText'
          },
          {
            title: '变更状态',
            align: 'center',
            dataIndex: 'changeStatus_dictText'
          },
          {
            title: '变更原因类型',
            align: 'center',
            dataIndex: 'applyReasonType_dictText'
          },
          {
            title: '延保(变更)原因',
            align: 'center',
            dataIndex: 'applyReason'
          },
          {
            title: '延迟保养日期',
            align: 'center',
            dataIndex: 'deferredMaintenanceDate'
          },
          {
            title: '主管领导签字',
            align: 'center',
            dataIndex: 'equipmentManagerSignature_dictText'
          },
          {
            title: '主管领导签字时间',
            align: 'center',
            dataIndex: 'equipmentManagerSignatureTime'
          },
          {
            title: '部门领导签字',
            align: 'center',
            dataIndex: 'departManagerSignature_dictText'
          },
          {
            title: '部门领导签字时间',
            align: 'center',
            dataIndex: 'departManagerSignatureTime'
          },
          {
            title: '生产保障部领导签字',
            align: 'center',
            dataIndex: 'productionSupportSignature_dictText'
          },
          {
            title: '生产保障部领导签字时间',
            align: 'center',
            dataIndex: 'productionSupportSignatureTime'
          },
          {
            title: 'HF编码',
            align: 'center',
            dataIndex: 'hfCode'
          }
        ],
        url: {
          list: '/eam/eamThirdMaintenanceChange/list',
          abolish: '/eam/eamThirdMaintenanceChange/abolish',
          collect: '/eam/eamThirdMaintenanceChange/collect'
        }
      }
    },
    created() {
      if (!this.isDisplayOperation) {
        return
      }
      const operationColumn = {
        title: '操作',
        dataIndex: 'action',
        align: 'center',
        fixed: 'right',
        scopedSlots: { customRender: 'action' }
      }
      this.columns = [...this.columns, operationColumn]
      this.loadData(1)
    },
    computed: {},
    methods: {
      /**
       * æäº¤æ—¶è§¦å‘
       * @param id
       */
      handleSubmit(id) {
        const that = this
        that.loading = true
        getAction(this.url.submit, { id })
          .then(res => {
            if (res.success) {
              that.$notification.success({
                message: '消息',
                description: res.message
              })
              that.loadData()
              that.loading = false
            } else {
              that.$notification.warning({
                message: '消息',
                description: res.message
              })
            }
          })
      },
      /**
       * ä½œåºŸæ—¶è§¦å‘
       * @param id
       */
      handleAbolish(id) {
        const that = this
        that.loading = true
        getAction(this.url.abolish, { id })
          .then(res => {
            if (res.success) {
              that.$notification.success({
                message: '消息',
                description: res.message
              })
              that.loadData()
            } else {
              that.$notification.warning({
                message: '消息',
                description: res.message
              })
              that.loading = false
            }
          })
      },
      // /**
      //  * ç‚¹å‡»è¯¦æƒ…时触发
      //  * @param record
      //  */
      // handleDetail(record) {
      //   this.selectThirdMaintenanceData = Object.assign({}, record)
      //   this.$refs.thirdMaintenanceApprovalModal.title = '详情'
      //   this.$refs.thirdMaintenanceApprovalModal.visible = true
      //   this.$refs.thirdMaintenanceApprovalModal.disableSubmit = true
      //   this.$refs.thirdMaintenanceApprovalModal.recordDetail(record)
      // },
      /**
       * ç”³è¯·æ—¶é—´å‘生改变时触发
       * @param dateStringArray
       */
      handleDateRangeChange(dateStringArray) {
        this.queryParam.dateBegin = dateStringArray[0]
        this.queryParam.dateEnd = dateStringArray[1]
      },
      handlePrint(record) {
        let href = `${window._CONFIG['domianURL']}/jmreport/view/1094880052100399104?id=` + record.id
        //  + `&orderId=` + record.id; //网站链接
        window.open(href, '_blank')
      }
    }
  }
</script>
src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue
@@ -58,6 +58,12 @@
            <a-divider type="vertical"/>
          </template>
          <template v-if="record.maintenanceStatus == 'WAIT_MAINTENANCE'||record.maintenanceStatus=='FREEZE'">
             <a @click="handleOrderChange(record)">变更</a>
             <a-divider type="vertical"/>
          </template>
          <a @click="handleDetail(record)">详情</a>
          <template v-if="record.maintenanceStatus === 'COMPLETE'">
@@ -74,6 +80,9 @@
    <third-maintenance-approval-modal ref="thirdMaintenanceApprovalModal"
                                      :selectShenpiData="selectThirdMaintenanceData"/>
    <!--工单变更弹窗-->
    <eam-third-maintenance-change-modal ref="orderChangeModal" @ok="modalFormOk"/>
  </a-card>
</template>
@@ -84,11 +93,14 @@
  import { deleteAction, getAction } from '@api/manage'
  import ThirdMaintenanceApprovalModal
    from '@views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue'
  import EamThirdMaintenanceChangeModal
    from '@views/eam/technical/modules/EamThirdMaintenanceChangeModal.vue'
  export default {
    name: 'EamThirdMaintenanceOrderList',
    mixins: [JeecgListMixin],
    components: {
      EamThirdMaintenanceChangeModal,
      LxSearchEquipmentSelect,
      EamThirdMaintenanceOrderModal,
      ThirdMaintenanceApprovalModal
@@ -305,6 +317,15 @@
      },
      /**
       * ç‚¹å‡»å˜æ›´æ—¶è§¦å‘
       * @param record
       */
      handleOrderChange(record) {
        this.$refs.orderChangeModal.title = '变更'
        this.$refs.orderChangeModal.add(record)
      },
      /**
       * ç‚¹å‡»é¢†å–时触发
       * @param id
       */
src/views/eam/technical/modules/EamThirdMaintenanceChangeModal.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,156 @@
<template>
  <j-modal :title="title" :width="1300" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen
           @ok="handleOk" @cancel="handleCancel" cancelText="关闭">
    <a-spin :spinning="confirmLoading">
      <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
        <a-row>
          <a-col :span="8">
            <a-form-model-item label="工单号">
              <a-input placeholder="选择设备后自动带出" disabled v-model="model.orderId"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="变更单号">
              <a-input placeholder="系统自动生成" disabled v-model="model.changeOrderNum"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item prop="equipmentId" label="统一编码">
              <maintenance-equipment-select placeholder="请输入统一编码或名称搜索" v-model="model.equipmentId"
                                            maintenanceCategory="THIRD_MAINTENANCE" @autocompleteForm="autocompleteForm"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item prop="deferredMaintenanceDate" label="延迟保养日期">
              <a-date-picker v-model="model.deferredMaintenanceDate" value-format="YYYY-MM-DD" style="width: 100%"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item prop="applyCategory" label="申请类型">
              <j-dict-select-tag v-model="model.applyCategory" placeholder="请选择申请类型"
                                 dict-code="third_maintenance_change_category"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item prop="applyReasonType" label="变更原因类型">
              <j-dict-select-tag v-model="model.applyReasonType" placeholder="请选择变更原因类型"
                                 dict-code="third_maintenance_change_reason"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="变更原因" :labelCol="{span:2}" :wrapperCol="{span:21}">
              <a-textarea v-model="model.applyReason" placeholder="请输入变更原因"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="备注" :labelCol="{span:2}" :wrapperCol="{span:21}">
              <a-textarea v-model="model.remark" placeholder="请输入备注"/>
            </a-form-model-item>
          </a-col>
        </a-row>
      </a-form-model>
    </a-spin>
  </j-modal>
</template>
<script>
import { postAction } from '@/api/manage'
import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect.vue'
export default {
  name: 'EamThirdMaintenanceChangeModal',
  components: {
    MaintenanceEquipmentSelect
  },
  data() {
    return {
      title: '操作',
      visible: false,
      model: {},
      labelCol: {
        xs: { span: 24 },
        sm: { span: 6 }
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 15 }
      },
      confirmLoading: false,
      validatorRules: {
        deferredMaintenanceDate: [{ required: true, message: '请选择日期', trigger: 'change' }],
        applyCategory: [{ required: true, message: '请选择申请类型', trigger: 'change' }],
        applyReasonType: [{ required: true, message: '请选择变更原因', trigger: 'change' }],
      },
      url: {
        add: '/eam/eamThirdMaintenanceChange/add',
        edit: '/eam/eamThirdMaintenanceChange/edit'
      }
    }
  },
  methods: {
    add({ id, equipmentId }) {
      this.model = Object.assign({ orderId: id, equipmentId })
      this.visible = true
    },
    edit(record) {
      this.model = Object.assign({}, record)
      this.visible = true
    },
    handleOk() {
      const that = this
      // è§¦å‘表单验证
      this.$refs.form.validate(valid => {
        if (valid) {
          that.confirmLoading = true
          let httpUrl
          if (!that.model.id) {
            httpUrl = that.url.add
          } else {
            httpUrl = that.url.edit
          }
          postAction(httpUrl, that.model)
            .then((res) => {
              if (res.success) {
                that.$notification.success({
                  message: '消息',
                  description: res.message
                })
                if (!that.model.id) {
                  that.$router.push('/eam/maintenance/EamThirdMaintenanceChangeList')
                  return
                }
                that.close()
                that.$emit('ok')
              } else {
                that.$notification.warning({
                  message: '消息',
                  description: res.message
                })
              }
            })
            .finally(() => {
              that.confirmLoading = false
            })
        } else {
          return false
        }
      })
    },
    handleCancel() {
      this.close()
    },
    close() {
      this.$emit('close')
      this.visible = false
      this.$refs.form.clearValidate()
    }
  }
}
</script>
src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue
@@ -509,7 +509,7 @@
       * @param callback ç»“果回调函数
       */
      customValidator({ cellValue, row }, callback) {
        if (this.activeTabKey == '1' && row.inspectionResult != 'NORMAL') {
        if (this.activeTabKey == '1' && row.inspectionResult == 'ANOMALY') {
          if (!cellValue) {
            callback(false, '请输入${title}') // false = æœªé€šè¿‡ï¼Œå¯ä»¥è·Ÿè‡ªå®šä¹‰æç¤º
          } else {