zhangherong
2025-04-15 0bb231490d19e16c27e373274bcb6e4feb6b400b
art: 设备管理-周保-列表,详情修改
已修改2个文件
141 ■■■■ 文件已修改
src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue 97 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/maintenance/EamWeekMaintenanceOrderList.vue
@@ -106,6 +106,7 @@
    <!-- 表单区域 -->
    <eamWeekMaintenanceOrder-modal ref="modalForm" @ok="modalFormOk"></eamWeekMaintenanceOrder-modal>
    <week-maintenance-approval-modal ref="weekMaintenanceApprovalModal"></week-maintenance-approval-modal>
  </a-card>
</template>
@@ -115,13 +116,15 @@
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
import { deleteAction, getAction } from '@api/manage'
import WeekMaintenanceApprovalModal from '@views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal'
export default {
  name: 'EamWeekMaintenanceOrderList',
  mixins: [JeecgListMixin],
  components: {
    LxSearchEquipmentSelect,
    EamWeekMaintenanceOrderModal
    EamWeekMaintenanceOrderModal,
    WeekMaintenanceApprovalModal
  },
  data() {
    return {
@@ -134,6 +137,7 @@
          key: 'rowIndex',
          width: 60,
          align: 'center',
          fixed: 'left',
          customRender: function(t, r, index) {
            return parseInt(index) + 1
          }
@@ -141,78 +145,132 @@
        {
          title: '工单号',
          align: 'center',
          dataIndex: 'orderNum'
          dataIndex: 'orderNum',
          fixed: 'left',
          width: 60,
        },
        {
          title: '设备编号',
          align: 'center',
          dataIndex: 'equipmentCode'
          dataIndex: 'equipmentCode',
          fixed: 'left',
          width: 60,
        },
        {
          title: '设备名称',
          align: 'center',
          dataIndex: 'equipmentName'
          dataIndex: 'equipmentName',
          fixed: 'left',
          width: 60,
        },
        {
          title: '标准名称',
          align: 'center',
          dataIndex: 'standardId_dictText'
          dataIndex: 'standardId_dictText',
          width: 100,
        },
        {
          title: '计划保养日期',
          align: 'center',
          dataIndex: 'maintenanceDate'
          dataIndex: 'maintenanceDate',
          width: 60,
        },
        {
          title: '实际开始时间',
          align: 'center',
          dataIndex: 'actualStartTime'
          dataIndex: 'actualStartTime',
          width: 60,
        },
        {
          title: '实际结束时间',
          align: 'center',
          dataIndex: 'actualEndTime'
          dataIndex: 'actualEndTime',
          width: 60,
        },
        {
          title: '保养人',
          align: 'center',
          dataIndex: 'operator_dictText'
          dataIndex: 'operator_dictText',
          width: 60,
        },
        {
          title: '保养状态',
          align: 'center',
          dataIndex: 'maintenanceStatus_dictText'
          dataIndex: 'maintenanceStatus_dictText',
          width: 60,
        },
        {
          title: '创建方式',
          align: 'center',
          dataIndex: 'creationMethod_dictText'
          dataIndex: 'creationMethod_dictText',
          width: 60,
        },
        {
          title: '确认人',
          align: 'center',
          dataIndex: 'confirmUser_dictText'
          dataIndex: 'confirmUser_dictText',
          width: 60,
        },
        {
          title: '确认时间',
          align: 'center',
          dataIndex: 'confirmTime'
          dataIndex: 'confirmTime',
          width: 60,
        },
        {
          title: '保养图片',
          title: '确认意见',
          align: 'center',
          dataIndex: 'imageFiles'
          dataIndex: 'confirmComment',
          width: 60,
        },
        {
          title: '初验收人',
          align: 'center',
          dataIndex: 'initialAcceptanceUser_dictText',
          width: 60,
        },
        {
          title: '初验收时间',
          align: 'center',
          dataIndex: 'initialAcceptanceTime',
          width: 60,
        },
        {
          title: '初验收意见',
          align: 'center',
          dataIndex: 'initialAcceptanceComment',
          width: 60,
        },
        {
          title: '终验收人',
          align: 'center',
          dataIndex: 'finalAcceptanceUser_dictText',
          width: 60,
        },
        {
          title: '终验收时间',
          align: 'center',
          dataIndex: 'finalAcceptanceTime',
          width: 60,
        },
        {
          title: '终验收意见',
          align: 'center',
          dataIndex: 'finalAcceptanceComment',
          width: 60,
        },
        {
          title: '备注',
          align: 'center',
          dataIndex: 'remark',
          editable: true,
          width: 60,
        },
        {
          title: '操作',
          dataIndex: 'action',
          align: 'center',
          fixed: 'right',
          width: 100,
          scopedSlots: { customRender: 'action' }
        }
      ],
@@ -309,7 +367,7 @@
        this.$message.error("请设置url.collect属性!")
        return
      }
      var that = this;
      let that = this;
      getAction(that.url.collect, {id: id}).then((res) => {
        if (res.success) {
          //重新计算分页问题
@@ -332,6 +390,11 @@
    //批量领取
    handlerBatchCollect(){
    },
    handleDetail(record) {
      this.$refs.weekMaintenanceApprovalModal.recordDetail(record)
      this.$refs.weekMaintenanceApprovalModal.title = '详情';
      this.$refs.weekMaintenanceApprovalModal.disableSubmit = true
    }
  }
}
src/views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue
@@ -4,6 +4,7 @@
    :width="1200"
    :visible="visible"
    :confirmLoading="confirmLoading"
    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
    switchFullscreen
    @ok="handleOk"
    @cancel="handleCancel"
@@ -89,25 +90,25 @@
                <template v-slot:maintenanceResult="props">
                  <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="eam_inspection_result"
                                     placeholder="请选择保养结果"
                                     :disabled="confirmDisable"
                                     :disabled="disableSubmit || confirmDisable"
                                     @change="handleInspectionResultSelectChange($event,props.row)"
                                     style="width: 100%" />
                </template>
                <template v-slot:exceptionDescription="props">
                  <a-textarea style="height: 32px" v-model="props.row.exceptionDescription"
                              :disabled="confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'" />
                              :disabled="disableSubmit || confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'" />
                </template>
                <template v-slot:reportFlag="props">
                  <j-dict-select-tag v-model="props.row.reportFlag"
                                     :disabled="confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'"
                                     :disabled="disableSubmit || confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'"
                                     dictCode="yn"
                                     style="width: 100%" />
                </template>
              </j-vxe-table>
            </a-tab-pane>
            <a-tab-pane key='2' tab='流程节点'>
            <a-tab-pane v-if="!disableSubmit" key='2' tab='流程节点'>
              <a-card :bordered="false">
                <a-timeline>
                  <a-timeline-item v-for="(item,index) in taskData" :key="index">
@@ -122,7 +123,7 @@
                </a-timeline>
              </a-card>
            </a-tab-pane>
            <a-button v-if="selectedRowKeys.length>0" slot="tabBarExtraContent" type="primary"
            <a-button v-if="!disableSubmit || selectedRowKeys.length > 0" slot="tabBarExtraContent" type="primary"
                      @click="handleSelectAllInspectionResult">保养正常
            </a-button>
          </a-tabs>
@@ -133,12 +134,12 @@
          <a-row :gutter="24">
            <a-col :span="12">
              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmDealType" label="确认类型">
                <j-dict-select-tag  type='radio' v-model='model.confirmDealType' dictCode='approved_rejected' placeholder="请选择处理类型" :disabled="initialAcceptanceDisable" />
                <j-dict-select-tag  type='radio' v-model='model.confirmDealType' dictCode='approved_rejected' placeholder="请选择处理类型" :disabled="disableSubmit || initialAcceptanceDisable" />
              </a-form-model-item>
            </a-col>
            <a-col :span="12">
              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmComment" label="确认意见">
                <a-textarea placeholder="请输入意见" v-model="model.confirmComment" :disabled="initialAcceptanceDisable" />
                <a-textarea placeholder="请输入意见" v-model="model.confirmComment" :disabled="disableSubmit || initialAcceptanceDisable" />
              </a-form-model-item>
            </a-col>
          </a-row>
@@ -149,14 +150,14 @@
          <a-row :gutter="24">
            <a-col :span="12">
              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="initialAcceptanceComment" label="初验收意见">
                <a-textarea placeholder="请输入意见" v-model="model.initialAcceptanceComment" :disabled="finalAcceptanceDisable" />
                <a-textarea placeholder="请输入意见" v-model="model.initialAcceptanceComment" :disabled="disableSubmit || finalAcceptanceDisable" />
              </a-form-model-item>
            </a-col>
            <a-col :span="12">
              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="initialAcceptanceFilesResult" label="初验收附件">
                <lx-upload :returnUrl="false"
                           :isMultiple="true"
                           :disabled="finalAcceptanceDisable"
                           :disabled="disableSubmit || finalAcceptanceDisable"
                           v-model="model.initialAcceptanceFilesResult" />
              </a-form-model-item>
            </a-col>
@@ -168,14 +169,14 @@
          <a-row :gutter="24">
            <a-col :span="12">
              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="finalAcceptanceComment" label="终验收意见">
                <a-textarea placeholder="请输入意见" v-model="model.finalAcceptanceComment" :disabled="completionDisable" />
                <a-textarea placeholder="请输入意见" v-model="model.finalAcceptanceComment" :disabled="disableSubmit || completionDisable" />
              </a-form-model-item>
            </a-col>
            <a-col :span="12">
              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="finalAcceptanceFilesResult" label="终验收附件">
                <lx-upload :returnUrl="false"
                           :isMultiple="true"
                           :disabled="completionDisable"
                           :disabled="disableSubmit || completionDisable"
                           v-model="model.finalAcceptanceFilesResult" />
              </a-form-model-item>
            </a-col>
@@ -249,6 +250,7 @@
        userSelect: '/eam/user_select/list',
        queryHisTaskList: '/assign/flow/queryHisTaskList',
      },
      disableSubmit: false,
      taskData: [],
      isDisplayBmp: false,
      showBmpButtonLoading: false,
@@ -377,6 +379,26 @@
      await this.loadDetail(item.dataId)
      this.loading = false
    },
    recordDetail(record) {
      this.loading = true
      this.visible = true
      this.detail.dataSource = []
      this.model = Object.assign({}, record)
      if(this.model.imageFiles) {
        let obj = JSON.parse(this.model.imageFiles);
        this.model.imageFilesResult = [...obj];
      }
      if(this.model.initialAcceptanceFiles) {
        let obj = JSON.parse(this.model.initialAcceptanceFiles);
        this.model.initialAcceptanceFilesResult = [...obj];
      }
      if(this.model.finalAcceptanceFiles) {
        let obj = JSON.parse(this.model.finalAcceptanceFiles);
        this.model.finalAcceptanceFilesResult = [...obj];
      }
      this.loadDetail(record.id)
      this.loading = false
    },
    close() {
      this.$emit('close')
      this.visible = false