zhaowei
2 天以前 bf01bf6c572a169941fe9d018ff1d619a0584787
1、三保工单流程增加备件使用明细
2、事故登记表基础功能
已修改8个文件
1075 ■■■■ 文件已修改
src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/repair/EamRepairOrderList.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/repair/EamReportAccidentsRegisterList.vue 384 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/repair/modules/EamReportAccidentsRegisterModal.vue 373 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/flowable/workflow/FlowCompleted.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue 217 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/modules/UserModal.vue 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue
@@ -27,7 +27,7 @@
        <a-row>
          <a-col :span="8">
            <a-form-model-item prop="maintenanceDate" label="保养日期">
              <a-date-picker placeholder="请选择计划保养日期" v-model="model.maintenanceDate" format="YYYY-MM-DD"
              <a-date-picker placeholder="请选择计划保养日期" v-model="model.maintenanceDate" value-format="YYYY-MM-DD"
                             style="width: 100%"/>
            </a-form-model-item>
          </a-col>
src/views/eam/repair/EamRepairOrderList.vue
@@ -5,24 +5,24 @@
    <div class="table-page-search-wrapper" v-if="isDisplayOperation">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="12">
            <a-form-item label="统一编码">
              <lx-search-equipment-select placeholder="请输入统一编码或名称搜索" v-model="queryParam.equipmentId"/>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="12">
            <a-form-item label="工单号">
              <a-input placeholder="请输入工单号" v-model="queryParam.repairCode"></a-input>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="12">
            <a-form-item label="维修状态">
              <j-dict-select-tag placeholder="请选择维修状态" v-model="queryParam.repairStatus"
                                 dict-code="repair_status"/>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="12">
            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
              <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
              <a-button @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
src/views/eam/repair/EamReportAccidentsRegisterList.vue
@@ -5,108 +5,73 @@
    <div class="table-page-search-wrapper">
      <a-form layout="inline" @keyup.enter.native="searchQuery">
        <a-row :gutter="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="删除标记">
              <a-input placeholder="请输入删除标记" v-model="queryParam.delFlag"></a-input>
          <a-col :xl="6" :lg="7" :md="8" :sm="12">
            <a-form-item label="统一编码">
              <lx-search-equipment-select placeholder="请输入统一编码或名称搜索" v-model="queryParam.equipmentId"/>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="报修ID">
              <a-input placeholder="请输入报修ID" v-model="queryParam.reportId"></a-input>
          <a-col :xl="6" :lg="7" :md="8" :sm="12">
            <a-form-item label="登记状态">
              <j-dict-select-tag placeholder="请选择登记状态" v-model="queryParam.registerStatus"
                                 dict-code="eam_report_accidents_register_status"/>
            </a-form-item>
          </a-col>
        <template v-if="toggleSearchStatus">
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="设备ID">
              <a-input placeholder="请输入设备ID" v-model="queryParam.equipmentId"></a-input>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="是否有设备操作证;是 否">
              <a-input placeholder="请输入是否有设备操作证;是 否" v-model="queryParam.operationCertificate"></a-input>
            </a-form-item>
          </a-col>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
            <a-form-item label="是否断电重启">
              <a-input placeholder="请输入是否断电重启" v-model="queryParam.powerOffRestart"></a-input>
            </a-form-item>
          </a-col>
          </template>
          <a-col :xl="6" :lg="7" :md="8" :sm="24">
          <a-col :xl="6" :lg="7" :md="8" :sm="12">
            <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>
              <a @click="handleToggleSearch" style="margin-left: 8px">
                {{ toggleSearchStatus ? '收起' : '展开' }}
                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
              </a>
            </span>
          </a-col>
        </a-row>
      </a-form>
    </div>
    <!-- 操作按钮区域 -->
    <div class="table-operator">
<!--      <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>-->
<!--      <a-button type="primary" icon="download" @click="handleExportXls('设备事故登记表')">导出</a-button>-->
<!--      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
<!--        <a-button type="primary" icon="import">导入</a-button>-->
<!--      </a-upload>-->
      <a-dropdown v-if="selectedRowKeys.length > 0">
        <a-menu slot="overlay">
          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
        </a-menu>
        <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
      </a-dropdown>
    </div>
    <!-- table区域-begin -->
    <div>
      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
        <i class="anticon anticon-info-circle ant-alert-icon"></i> 已选择 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>项
        <a style="margin-left: 24px" @click="onClearSelected">清空</a>
      </div>
    <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource"
             :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}" @change="handleTableChange">
      <a-table
        ref="table"
        size="middle"
        bordered
        rowKey="id"
        :columns="columns"
        :dataSource="dataSource"
        :pagination="ipagination"
        :loading="loading"
        :scroll="{x:'max-content'}"
        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
        @change="handleTableChange">
      <!--是否有设备操作证-->
      <template slot="operationCertificate" slot-scope="text">
        <a-switch checked-children="是" un-checked-children="否" :checked="Boolean(+text)" disabled/>
      </template>
        <span slot="action" slot-scope="text, record">
          <a @click="handleEdit(record)">编辑</a>
      <!--是否断电重启-->
      <template slot="powerOffRestart" slot-scope="text">
        <a-switch checked-children="是" un-checked-children="否" :checked="Boolean(+text)" disabled/>
      </template>
      <!--是否为批次首件-->
      <template slot="batchFirstPiece" slot-scope="text">
        <a-switch checked-children="是" un-checked-children="否" :checked="Boolean(+text)" disabled/>
      </template>
      <!--变动因素-->
      <template slot="variableFactors" slot-scope="text">
        <a-switch checked-children="是" un-checked-children="否" :checked="Boolean(+text)" disabled/>
      </template>
          <a-divider type="vertical" />
          <a-dropdown>
            <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
            <a-menu slot="overlay">
              <a-menu-item>
                <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
                  <a>删除</a>
                </a-popconfirm>
              </a-menu-item>
            </a-menu>
          </a-dropdown>
      <!--原因分析核对-->
      <template slot="checkAgree" slot-scope="text">
        <a-switch v-if="text" checked-children="同意" un-checked-children="不同意" :checked="Boolean(text)" disabled/>
      </template>
      <span slot="action" slot-scope="text, record">
          <template v-if="record.registerStatus=='PENDING_SUBMIT'">
             <a @click="handleEdit(record)">编辑</a>
             <a-divider type="vertical"/>
             <a-popconfirm title="确定提交吗?" @confirm="() => handleSubmit(record.id)">
               <a>提交</a>
             </a-popconfirm>
          </template>
          <a v-else @click="handleDetail(record)">详情</a>
        </span>
      </a-table>
    </div>
    </a-table>
    <!-- table区域-end -->
    <!-- 表单区域 -->
    <eamReportAccidentsRegister-modal ref="modalForm" @ok="modalFormOk"></eamReportAccidentsRegister-modal>
    <eamReportAccidentsRegister-modal ref="modalForm" @ok="modalFormOk"/>
  </a-card>
</template>
@@ -114,11 +79,13 @@
  import '@/assets/less/TableExpand.less'
  import EamReportAccidentsRegisterModal from './modules/EamReportAccidentsRegisterModal'
  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
  import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect'
  export default {
    name: "EamReportAccidentsRegisterList",
    mixins:[JeecgListMixin],
    name: 'EamReportAccidentsRegisterList',
    mixins: [JeecgListMixin],
    components: {
      LxSearchEquipmentSelect,
      EamReportAccidentsRegisterModal
    },
    props: {
@@ -130,7 +97,7 @@
        type: Object
      }
    },
    data () {
    data() {
      return {
        description: '设备事故登记表管理页面',
        disableMixinCreated: true,
@@ -166,222 +133,218 @@
            dataIndex: 'equipmentModel',
            fixed: 'left'
          },
              {
          {
            title: '登记状态',
            align: 'center',
            dataIndex: 'registerStatus_dictText',
            fixed: 'left'
          },
          {
            title: '是否有设备操作证',
            align:"center",
            dataIndex: 'operationCertificate_dictText'
            align: 'center',
            dataIndex: 'operationCertificate',
            scopedSlots: { customRender: 'operationCertificate' }
          },
              {
          {
            title: '是否断电重启',
            align:"center",
            dataIndex: 'powerOffRestart_dictText'
            align: 'center',
            dataIndex: 'powerOffRestart',
            scopedSlots: { customRender: 'powerOffRestart' }
          },
              {
          {
            title: '是否为批次首件',
            align:"center",
            dataIndex: 'batchFirstPiece_dictText'
            align: 'center',
            dataIndex: 'batchFirstPiece',
            scopedSlots: { customRender: 'batchFirstPiece' }
          },
              {
          {
            title: '变动因素',
            align:"center",
            dataIndex: 'variableFactors_dictText'
            align: 'center',
            dataIndex: 'variableFactors',
            scopedSlots: { customRender: 'variableFactors' }
          },
              {
          {
            title: '变动因素内容',
            align:"center",
            align: 'center',
            dataIndex: 'variableFactorsValue_dictText'
          },
              {
          {
            title: '执行程序',
            align:"center",
            align: 'center',
            dataIndex: 'executeNc'
          },
              {
          {
            title: '事故现象',
            align:"center",
            align: 'center',
            dataIndex: 'accidentPhenomenon'
          },
              {
          {
            title: '采取措施',
            align:"center",
            align: 'center',
            dataIndex: 'measure'
          },
              {
          {
            title: '造成结果',
            align:"center",
            align: 'center',
            dataIndex: 'causingResults'
          },
              {
          {
            title: '操作工',
            align:"center",
            align: 'center',
            dataIndex: 'confirmer'
          },
              {
          {
            title: '操作工确认时间',
            align:"center",
            align: 'center',
            dataIndex: 'confirmTime'
          },
              {
          {
            title: '区长',
            align:"center",
            align: 'center',
            dataIndex: 'district'
          },
              {
          {
            title: '区长确认时间',
            align:"center",
            align: 'center',
            dataIndex: 'districtTime'
          },
              {
          {
            title: '中心主任',
            align:"center",
            align: 'center',
            dataIndex: 'centerDirector'
          },
              {
          {
            title: '中心主任确认时间',
            align:"center",
            align: 'center',
            dataIndex: 'centerDirectorTime'
          },
              {
          {
            title: '维修开始时间',
            align:"center",
            align: 'center',
            dataIndex: 'reportStartTime'
          },
              {
          {
            title: '设备状态',
            align:"center",
            align: 'center',
            dataIndex: 'equipmentStatus'
          },
              {
          {
            title: '原因分析',
            align:"center",
            align: 'center',
            dataIndex: 'causeAnalysis'
          },
              {
          {
            title: '检查结果',
            align:"center",
            align: 'center',
            dataIndex: 'inspectionResults'
          },
              {
          {
            title: '采取措施',
            align:"center",
            align: 'center',
            dataIndex: 'takeSteps'
          },
           {
          {
            title: '建议采取措施',
            align:"center",
            align: 'center',
            dataIndex: 'suggestionTakeSteps'
           },
           {
          },
          {
            title: '建议采取措施时间',
            align:"center",
            align: 'center',
            dataIndex: 'suggestionTakeStepsTime'
           },
           {
          },
          {
            title: '维修确认',
            align:"center",
            align: 'center',
            dataIndex: 'repairConfirm'
           },
           {
            title: '维修确认意见',
            align:"center",
            dataIndex: 'repairConfirmComment'
           },
           {
          },
          {
            title: '维修确认时间',
            align:"center",
            align: 'center',
            dataIndex: 'repairConfirmTime'
           },
                {
          },
          {
            title: '维修组长确认',
            align:"center",
            align: 'center',
            dataIndex: 'repairGroupLeader'
           },
           {
            title: '维修组长意见',
            align:"center",
            dataIndex: 'repairGroupLeaderComment'
           },
           {
          },
          {
            title: '维修组长确认时间',
            align:"center",
            align: 'center',
            dataIndex: 'repairGroupLeaderTime'
           },
           {
          },
          {
            title: '维修组长确认',
            align:"center",
            align: 'center',
            dataIndex: 'repairDistrict'
           },
           {
            title: '维修组长意见',
            align:"center",
            dataIndex: 'repairDistrictComment'
           },
           {
          },
          {
            title: '维修组长确认时间',
            align:"center",
            align: 'center',
            dataIndex: 'repairDistrictTime'
           },
           {
          },
          {
            title: '原因分析核对;同意、不同意',
            align:"center",
            dataIndex: 'checkAgree'
           },
           {
            align: 'center',
            dataIndex: 'checkAgree',
            scopedSlots: { customRender: 'checkAgree' }
          },
          {
            title: '不同意原因分析',
            align:"center",
            align: 'center',
            dataIndex: 'disagreeReason'
           },
           {
          },
          {
            title: '整改措施',
            align:"center",
            align: 'center',
            dataIndex: 'rectificationMeasures'
           },
           {
          },
          {
            title: '事故结论',
            align:"center",
            align: 'center',
            dataIndex: 'accidentConclusion'
           },
           {
          },
          {
            title: '技术负责人',
            align:"center",
            align: 'center',
            dataIndex: 'technicalDirector'
           },
           {
          },
          {
            title: '技术负责人确认时间',
            align:"center",
            align: 'center',
            dataIndex: 'technicalDirectorTime'
           },
           {
          },
          {
            title: '技术主管室级领导',
            align:"center",
            align: 'center',
            dataIndex: 'technicalDirectorLeader'
           },
           {
          },
          {
            title: '技术主管室级领导确认时间',
            align:"center",
            align: 'center',
            dataIndex: 'technicalDirectorLeaderTime'
           },
           {
          },
          {
            title: '主管部级领导',
            align:"center",
            align: 'center',
            dataIndex: 'technicalDirectorPart'
           },
           {
          },
          {
            title: '主管部级领导确认时间',
            align:"center",
            align: 'center',
            dataIndex: 'technicalDirectorPartTime'
           },
          }
        ],
        selectRepairOrderData: {},
        selectedRowData: {},
        url: {
          list: "/eam/eamReportAccidentsRegister/list",
          delete: "/eam/eamReportAccidentsRegister/delete",
          deleteBatch: "/eam/eamReportAccidentsRegister/deleteBatch",
          exportXlsUrl: "eam/eamReportAccidentsRegister/exportXls",
          importExcelUrl: "eam/eamReportAccidentsRegister/importExcel",
        },
    }
  },
          list: '/eam/eamReportAccidentsRegister/list',
          delete: '/eam/eamReportAccidentsRegister/delete',
          deleteBatch: '/eam/eamReportAccidentsRegister/deleteBatch',
          exportXlsUrl: 'eam/eamReportAccidentsRegister/exportXls',
          importExcelUrl: 'eam/eamReportAccidentsRegister/importExcel'
        }
      }
    },
    created() {
      if (!this.isDisplayOperation) this.queryParam = Object.assign({}, this.propsQueryParam)
      else {
@@ -398,9 +361,14 @@
      this.loadData(1)
    },
    methods: {
      /**
       * 点击填报时触发
       * @param record
       */
      handleFillIn(record) {
        this.$refs.modalForm.title = '填报'
        this.$refs.modalForm.handleFillIn(record)
      }
    }
  }
</script>
<style scoped>
  @import '~@assets/less/common.less';
</style>
</script>
src/views/eam/repair/modules/EamReportAccidentsRegisterModal.vue
@@ -1,150 +1,83 @@
<template>
  <j-modal
    :title="title"
    :width="800"
    :visible="visible"
    :confirmLoading="confirmLoading"
    switchFullscreen
    @ok="handleOk"
    @cancel="handleCancel"
    cancelText="关闭">
  <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen
           @ok="handleOk" @cancel="handleCancel" cancelText="关闭">
    <a-spin :spinning="confirmLoading">
      <a-form-model ref="form" :model="model" :rules="validatorRules">
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag" label="删除标记">
          <a-input-number v-model="model.delFlag"/>
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportId" label="报修ID">
          <a-input placeholder="请输入报修ID" v-model="model.reportId" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="设备ID">
          <a-input placeholder="请输入设备ID" v-model="model.equipmentId" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operationCertificate" label="是否有设备操作证;是 否">
          <a-input placeholder="请输入是否有设备操作证;是 否" v-model="model.operationCertificate" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="powerOffRestart" label="是否断电重启">
          <a-input placeholder="请输入是否断电重启" v-model="model.powerOffRestart" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="batchFirstPiece" label="是否为批次首件">
          <a-input placeholder="请输入是否为批次首件" v-model="model.batchFirstPiece" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="variableFactors" label="变动因素;填写是或否">
          <a-input placeholder="请输入变动因素;填写是或否" v-model="model.variableFactors" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="variableFactorsValue" label="变动因素内容;刀具更换、工艺更改、加工程序更改、刀具补偿值更改、">
          <a-input placeholder="请输入变动因素内容;刀具更换、工艺更改、加工程序更改、刀具补偿值更改、" v-model="model.variableFactorsValue" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="executeNc" label="执行程序">
          <a-input placeholder="请输入执行程序" v-model="model.executeNc" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="accidentPhenomenon" label="事故现象">
          <a-input placeholder="请输入事故现象" v-model="model.accidentPhenomenon" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="measure" label="采取措施">
          <a-input placeholder="请输入采取措施" v-model="model.measure" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="causingResults" label="造成结果">
          <a-input placeholder="请输入造成结果" v-model="model.causingResults" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmer" label="操作工">
          <a-input placeholder="请输入操作工" v-model="model.confirmer" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="confirmTime" label="操作工确认时间">
          <a-input placeholder="请输入操作工确认时间" v-model="model.confirmTime" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="district" label="区长">
          <a-input placeholder="请输入区长" v-model="model.district" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="districtTime" label="区长确认时间">
          <a-input placeholder="请输入区长确认时间" v-model="model.districtTime" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="centerDirector" label="中心主任">
          <a-input placeholder="请输入中心主任" v-model="model.centerDirector" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="centerDirectorTime" label="中心主任确认时间">
          <a-input placeholder="请输入中心主任确认时间" v-model="model.centerDirectorTime" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="reportStartTime" label="维修开始时间">
          <a-input placeholder="请输入维修开始时间" v-model="model.reportStartTime" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentStatus" label="设备状态">
          <a-input placeholder="请输入设备状态" v-model="model.equipmentStatus" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="causeAnalysis" label="原因分析">
          <a-input placeholder="请输入原因分析" v-model="model.causeAnalysis" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionResults" label="检查结果">
          <a-input placeholder="请输入检查结果" v-model="model.inspectionResults" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="takeSteps" label="采取措施">
          <a-input placeholder="请输入采取措施" v-model="model.takeSteps" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="suggestionTakeSteps" label="建议采取措施">
          <a-input placeholder="请输入建议采取措施" v-model="model.suggestionTakeSteps" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="suggestionTakeStepsTime" label="建议采取措施时间">
          <a-input placeholder="请输入建议采取措施时间" v-model="model.suggestionTakeStepsTime" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirm" label="维修确认">
          <a-input placeholder="请输入维修确认" v-model="model.repairConfirm" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirmComment" label="维修确认意见">
          <a-input placeholder="请输入维修确认意见" v-model="model.repairConfirmComment" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairConfirmTime" label="维修确认时间">
          <a-input placeholder="请输入维修确认时间" v-model="model.repairConfirmTime" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairGroupLeader" label="维修组长确认">
          <a-input placeholder="请输入维修组长确认" v-model="model.repairGroupLeader" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairGroupLeaderComment" label="维修组长意见">
          <a-input placeholder="请输入维修组长意见" v-model="model.repairGroupLeaderComment" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairGroupLeaderTime" label="维修组长确认时间">
          <a-input placeholder="请输入维修组长确认时间" v-model="model.repairGroupLeaderTime" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairDistrict" label="维修组长确认">
          <a-input placeholder="请输入维修组长确认" v-model="model.repairDistrict" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairDistrictComment" label="维修组长意见">
          <a-input placeholder="请输入维修组长意见" v-model="model.repairDistrictComment" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="repairDistrictTime" label="维修组长确认时间">
          <a-input placeholder="请输入维修组长确认时间" v-model="model.repairDistrictTime" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="checkAgree" label="原因分析核对;同意、不同意">
          <a-input placeholder="请输入原因分析核对;同意、不同意" v-model="model.checkAgree" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="disagreeReason" label="不同意原因分析">
          <a-input placeholder="请输入不同意原因分析" v-model="model.disagreeReason" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="rectificationMeasures" label="整改措施">
          <a-input placeholder="请输入整改措施" v-model="model.rectificationMeasures" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="accidentConclusion" label="事故结论">
          <a-input placeholder="请输入事故结论" v-model="model.accidentConclusion" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirector" label="技术负责人">
          <a-input placeholder="请输入技术负责人" v-model="model.technicalDirector" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirectorTime" label="技术负责人确认时间">
          <a-input placeholder="请输入技术负责人确认时间" v-model="model.technicalDirectorTime" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirectorLeader" label="技术主管室级领导">
          <a-input placeholder="请输入技术主管室级领导" v-model="model.technicalDirectorLeader" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirectorLeaderTime" label="技术主管室级领导确认时间">
          <a-input placeholder="请输入技术主管室级领导确认时间" v-model="model.technicalDirectorLeaderTime" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirectorPart" label="主管部级领导">
          <a-input placeholder="请输入主管部级领导" v-model="model.technicalDirectorPart" />
        </a-form-model-item>
        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="technicalDirectorPartTime" label="主管部级领导确认时间">
          <a-input placeholder="请输入主管部级领导确认时间" v-model="model.technicalDirectorPartTime" />
        </a-form-model-item>
      <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
        <a-row>
          <a-col :span="customSpan">
            <a-form-model-item label="废品件号" prop="scrapPartNumber">
              <a-input placeholder="请输入废品件号"
                       v-model="model.scrapPartNumber"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="customSpan">
            <a-form-model-item label="废品件数" prop="scrapPartQuantity">
              <a-input-number placeholder="请输入废品件数"
                              v-model="model.scrapPartQuantity" :min="0" style="width: 100%"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="customSpan">
            <a-form-model-item label="废品价值" prop="scrapPartValue">
              <a-input-number placeholder="请输入废品价值"
                              v-model="model.scrapPartValue" style="width: 100%"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="customSpan">
            <a-form-model-item label="是否有设备操作证" prop="operationCertificate">
              <j-dict-select-tag dict-code="yn" type="radio"
                                 placeholder="请选择是否有设备操作证"
                                 v-model="model.operationCertificate"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="customSpan">
            <a-form-model-item label="是否断电重启" prop="powerOffRestart">
              <j-dict-select-tag dict-code="yn" type="radio"
                                 placeholder="请选择是否断电重启" v-model="model.powerOffRestart"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="customSpan">
            <a-form-model-item label="是否为批次首件" prop="batchFirstPiece">
              <j-dict-select-tag dict-code="yn" type="radio"
                                 placeholder="请选择是否为批次首件"
                                 v-model="model.batchFirstPiece"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="customSpan">
            <a-form-model-item label="变动因素" prop="variableFactors">
              <j-dict-select-tag type="radio" dict-code="yn"
                                 placeholder="请选择变动因素" v-model="model.variableFactors"
                                 @change="handleRadioChange"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="customSpan" v-if="Boolean(+model.variableFactors)">
            <a-form-model-item label="变动因素内容" prop="variableFactorsValue">
              <j-dict-select-tag dict-code="variable_factors_value"
                                 placeholder="请选择变动因素内容" v-model="model.variableFactorsValue"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="customSpan">
            <a-form-model-item label="执行程序">
              <a-input placeholder="请输入执行程序" v-model="model.executeNc"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="事故现象" prop="accidentPhenomenon" :labelCol="labelColLong"
                               :wrapperCol="wrapperColLong">
              <a-textarea placeholder="请输入事故现象" v-model="model.accidentPhenomenon"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="采取措施" prop="measure" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
              <a-textarea placeholder="请输入采取措施" v-model="model.measure"/>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item label="造成结果" prop="causingResults" :labelCol="labelColLong"
                               :wrapperCol="wrapperColLong">
              <a-textarea placeholder="请输入造成结果" v-model="model.causingResults"/>
            </a-form-model-item>
          </a-col>
        </a-row>
      </a-form-model>
    </a-spin>
  </j-modal>
@@ -152,89 +85,137 @@
<script>
  import { httpAction } from '@/api/manage'
  import moment from "moment"
  import moment from 'moment'
  export default {
    name: "EamReportAccidentsRegisterModal",
    data () {
    name: 'EamReportAccidentsRegisterModal',
    data() {
      return {
        title:"操作",
        title: '操作',
        visible: false,
        customSpan: 8,
        model: {},
        labelCol: {
          xs: { span: 24 },
          sm: { span: 5 },
          sm: { span: 9 }
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 16 },
          sm: { span: 12 }
        },
        labelColLong: {
          xs: { span: 24 },
          sm: { span: 3 }
        },
        wrapperColLong: {
          xs: { span: 24 },
          sm: { span: 20 }
        },
        confirmLoading: false,
        validatorRules:{
        validatorRules: {
          scrapPartNumber: [{ required: true, message: '请输入废品件号', trigger: 'change' }],
          scrapPartQuantity: [{ required: true, message: '请输入废品件数', trigger: 'change' }],
          scrapPartValue: [{ required: true, message: '请输入废品价值', trigger: 'change' }],
          operationCertificate: [{ required: true, message: '请选择是否有设备操作证', trigger: 'change' }],
          powerOffRestart: [{ required: true, message: '请选择是否断电重启', trigger: 'change' }],
          batchFirstPiece: [{ required: true, message: '请选择是否为批次首件', trigger: 'change' }],
          variableFactors: [{ required: true, message: '请选择变动因素', trigger: 'change' }],
          variableFactorsValue: [{
            validator: this.variableFactorsValueValidator,
            message: '请选择变动因素内容',
            trigger: 'change'
          }],
          accidentPhenomenon: [{ required: true, message: '请输入事故现象', trigger: 'change' }],
          measure: [{ required: true, message: '请输入采取措施', trigger: 'change' }],
          causingResults: [{ required: true, message: '请输入造成结果', trigger: 'change' }]
        },
        url: {
          add: "/eam/eamReportAccidentsRegister/add",
          edit: "/eam/eamReportAccidentsRegister/edit",
        },
          add: '/eam/eamReportAccidentsRegister/add',
          edit: '/eam/eamReportAccidentsRegister/edit'
        }
      }
    },
    created () {
    created() {
    },
    methods: {
      add () {
      add() {
        //初始化默认值
        this.edit({});
        this.edit({})
      },
      edit (record) {
        this.model = Object.assign({}, record);
        this.visible = true;
      edit(record) {
        this.model = Object.assign({}, record)
        this.visible = true
      },
      close () {
        this.$emit('close');
        this.visible = false;
        this.$refs.form.clearValidate();
      },
      handleOk () {
        const that = this;
      handleOk() {
        const that = this
        // 触发表单验证
         this.$refs.form.validate(valid => {
        this.$refs.form.validate(valid => {
          if (valid) {
            that.confirmLoading = true;
            let httpurl = '';
            let method = '';
            if(!this.model.id){
              httpurl+=this.url.add;
              method = 'post';
            }else{
              httpurl+=this.url.edit;
               method = 'put';
            that.confirmLoading = true
            let httpurl = ''
            let method = ''
            if (!this.model.id) {
              httpurl += this.url.add
              method = 'post'
            } else {
              httpurl += this.url.edit
              method = 'put'
            }
            httpAction(httpurl,this.model,method).then((res)=>{
              if(res.success){
                that.$message.success(res.message);
                that.$emit('ok');
              }else{
                that.$message.warning(res.message);
            httpAction(httpurl, this.model, method).then((res) => {
              if (res.success) {
                that.$message.success(res.message)
                that.$emit('ok')
              } else {
                that.$message.warning(res.message)
              }
            }).finally(() => {
              that.confirmLoading = false;
              that.close();
              that.confirmLoading = false
              that.close()
            })
          }else{
             return false;
          } else {
            return false
          }
        })
      },
      handleCancel () {
      /**\
       * 单选框值发生改变时触发
       * @param value 单选框值
       * @param key 单选框关联字段
       */
      handleRadioChange(value, key) {
        if (value !== '1') delete this.model.variableFactorsValue
      },
      /**
       * 变动因素内容校验
       * @param rule
       * @param value 变动因素内容字段值
       * @param callback 结果回调函数
       */
      variableFactorsValueValidator(rule, value, callback) {
        if (this.model.variableFactors === '1') {
          if (!value) {
            callback(new Error())
          } else {
            callback()
          }
        } else {
          callback()
        }
      },
      handleCancel() {
        this.close()
      },
      close() {
        this.$emit('close')
        this.visible = false
        this.$refs.form.clearValidate()
      }
    }
  }
</script>
<style lang="less" scoped>
</style>
</script>
src/views/eam/repair/modules/EamReportRepairList/EamReportRepairModal.vue
@@ -92,20 +92,20 @@
          <a-row>
            <a-col :span="customSpan">
              <a-form-model-item label="是否有设备操作证">
              <a-form-model-item label="是否有设备操作证" prop="operationCertificate">
                <j-dict-select-tag dict-code="yn" type="radio" :disabled="!Boolean(+model.isAccidentsRegister)"
                                   placeholder="请选择是否有设备操作证"
                                   v-model="model.operationCertificate"/>
              </a-form-model-item>
            </a-col>
            <a-col :span="customSpan">
              <a-form-model-item label="是否断电重启">
              <a-form-model-item label="是否断电重启" prop="powerOffRestart">
                <j-dict-select-tag dict-code="yn" type="radio" :disabled="!Boolean(+model.isAccidentsRegister)"
                                   placeholder="请选择是否断电重启" v-model="model.powerOffRestart"/>
              </a-form-model-item>
            </a-col>
            <a-col :span="customSpan">
              <a-form-model-item label="是否为批次首件">
              <a-form-model-item label="是否为批次首件" prop="batchFirstPiece">
                <j-dict-select-tag dict-code="yn" type="radio" :disabled="!Boolean(+model.isAccidentsRegister)"
                                   placeholder="请选择是否为批次首件"
                                   v-model="model.batchFirstPiece"/>
@@ -238,6 +238,21 @@
            message: '请输入废品价值',
            trigger: 'change'
          }],
          operationCertificate: [{
            validator: this.isAccidentsRegisterRelatedValidator,
            message: '请选择是否有设备操作证',
            trigger: 'change'
          }],
          powerOffRestart: [{
            validator: this.isAccidentsRegisterRelatedValidator,
            message: '请选择是否断电重启',
            trigger: 'change'
          }],
          batchFirstPiece: [{
            validator: this.isAccidentsRegisterRelatedValidator,
            message: '请选择是否为批次首件',
            trigger: 'change'
          }],
          variableFactors: [{
            validator: this.isAccidentsRegisterRelatedValidator,
            message: '请选择变动因素',
@@ -334,11 +349,11 @@
        if (key.includes(',')) {
          const keys = key.split(',')
          keys.forEach(key => {
            if (value != '1') delete this.model[key]
            if (value !== '1') delete this.model[key]
            this.$refs.form.clearValidate(key)
          })
        } else {
          if (value != '1') delete this.model[key]
          if (value !== '1') delete this.model[key]
          this.$refs.form.clearValidate(key)
        }
      },
@@ -350,7 +365,7 @@
       * @param callback 结果回调函数
       */
      isProcessedRelatedValidator(rule, value, callback) {
        if (this.model.isProcessed == '1') {
        if (this.model.isProcessed === '1') {
          if (!value) {
            callback(new Error())
          } else {
@@ -368,7 +383,7 @@
       * @param callback 结果回调函数
       */
      isAccidentsRegisterRelatedValidator(rule, value, callback) {
        if (this.model.isAccidentsRegister == '1') {
        if (this.model.isAccidentsRegister === '1') {
          if (!value) {
            callback(new Error())
          } else {
@@ -386,7 +401,7 @@
       * @param callback 结果回调函数
       */
      variableFactorsValueValidator(rule, value, callback) {
        if (this.model.variableFactors == '1') {
        if (this.model.variableFactors === '1') {
          if (!value) {
            callback(new Error())
          } else {
src/views/flowable/workflow/FlowCompleted.vue
@@ -223,9 +223,9 @@
      handleThirdMaintenance(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.thirdMaintenanceApprovalModal.visible = true
        this.$refs.thirdMaintenanceApprovalModal.title = record.name
        this.$refs.thirdMaintenanceApprovalModal.title = record.taskName
        this.$refs.thirdMaintenanceApprovalModal.disableSubmit = true
        this.$refs.thirdMaintenanceApprovalModal.handleDetail(record)
        this.$refs.thirdMaintenanceApprovalModal.handleApprove(record)
      },
      /**
@@ -235,7 +235,7 @@
      handleTechnicalStatusDeactivate(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.technicalStatusDeactivateApprovalModal.visible = true
        this.$refs.technicalStatusDeactivateApprovalModal.title = record.name
        this.$refs.technicalStatusDeactivateApprovalModal.title = record.taskName
        this.$refs.technicalStatusDeactivateApprovalModal.disableSubmit = true
        this.$refs.technicalStatusDeactivateApprovalModal.handleApprove(record)
      },
@@ -247,7 +247,7 @@
      handleTechnicalStatusEvaluationApply(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.technicalStatusEvaluationApplicationApprovalModal.visible = true
        this.$refs.technicalStatusEvaluationApplicationApprovalModal.title = record.name
        this.$refs.technicalStatusEvaluationApplicationApprovalModal.title = record.taskName
        this.$refs.technicalStatusEvaluationApplicationApprovalModal.disableSubmit = true
        this.$refs.technicalStatusEvaluationApplicationApprovalModal.handleApprove(record)
      },
@@ -259,7 +259,7 @@
      handleTechnicalStatusChange(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.technicalStatusChangeApprovalModal.visible = true
        this.$refs.technicalStatusChangeApprovalModal.title = record.name
        this.$refs.technicalStatusChangeApprovalModal.title = record.taskName
        this.$refs.technicalStatusChangeApprovalModal.disableSubmit = true
        this.$refs.technicalStatusChangeApprovalModal.handleApprove(record)
      },
@@ -271,7 +271,7 @@
      handleEvaluationOrderChange(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.evaluationOrderChangeApprovalModal.visible = true
        this.$refs.evaluationOrderChangeApprovalModal.title = record.name
        this.$refs.evaluationOrderChangeApprovalModal.title = record.taskName
        this.$refs.evaluationOrderChangeApprovalModal.disableSubmit = true
        this.$refs.evaluationOrderChangeApprovalModal.handleApprove(record)
      },
@@ -283,7 +283,7 @@
      handleTechnicalStatusEvaluation(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.technicalStatusApprovalModal.visible = true
        this.$refs.technicalStatusApprovalModal.title = record.name
        this.$refs.technicalStatusApprovalModal.title = record.taskName
        this.$refs.technicalStatusApprovalModal.disableSubmit = true
        this.$refs.technicalStatusApprovalModal.handleApprove(record)
      },
@@ -295,7 +295,7 @@
      handleSecondMaintenance(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.secondMaintenanceApprovalModal.visible = true
        this.$refs.secondMaintenanceApprovalModal.title = record.name
        this.$refs.secondMaintenanceApprovalModal.title = record.taskName
        this.$refs.secondMaintenanceApprovalModal.disableSubmit = true
        this.$refs.secondMaintenanceApprovalModal.handleApprove(record)
      },
@@ -307,7 +307,7 @@
      handInspectionOrder(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.inspectionOrderHandle.visible = true
        this.$refs.inspectionOrderHandle.title = record.name
        this.$refs.inspectionOrderHandle.title = record.taskName
        this.$refs.inspectionOrderHandle.disableSubmit = true
        this.$refs.inspectionOrderHandle.handleApprove(record)
      },
@@ -319,7 +319,7 @@
      handleRepairOrder(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.repairOrderApprovalModal.visible = true
        this.$refs.repairOrderApprovalModal.title = record.name
        this.$refs.repairOrderApprovalModal.title = record.taskName
        this.$refs.repairOrderApprovalModal.disableSubmit = true
        this.$refs.repairOrderApprovalModal.handleApprove(record)
      },
@@ -331,7 +331,7 @@
      handleMaintenanceStandard(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.maintenanceStandardApprovalModal.visible = true
        this.$refs.maintenanceStandardApprovalModal.title = record.name
        this.$refs.maintenanceStandardApprovalModal.title = record.taskName
        this.$refs.maintenanceStandardApprovalModal.disableSubmit = true
        this.$refs.maintenanceStandardApprovalModal.handleApprove(record)
      },
@@ -343,7 +343,7 @@
      handleThirdMaintenanceOrderChange(record) {
        this.selectedRowData = Object.assign({}, record)
        this.$refs.thirdMaintenanceOrderChangeApprovalModal.visible = true
        this.$refs.thirdMaintenanceOrderChangeApprovalModal.title = record.name
        this.$refs.thirdMaintenanceOrderChangeApprovalModal.title = record.taskName
        this.$refs.thirdMaintenanceOrderChangeApprovalModal.disableSubmit = true
        this.$refs.thirdMaintenanceOrderChangeApprovalModal.handleApprove(record)
      },
src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue
@@ -59,17 +59,17 @@
            </a-tabs>
          </a-col>
          <a-col :span="model.maintenanceStatus&&model.maintenanceStatus!='WAIT_MAINTENANCE'?10:16" class="scroll-col">
            <a-tabs v-model="activeTabKey" @change="$refs.editableDetailTable.clearValidate()">
          <a-col :span="model.maintenanceStatus&&model.maintenanceStatus!=='WAIT_MAINTENANCE'?10:16" class="scroll-col">
            <a-tabs :active-key="activeTabKey" @change="handleTabChange">
              <a-tab-pane key="1" tab="保养项明细">
                <j-vxe-table ref="editableDetailTable" rowSelection bordered alwaysEdit keep-source
                             :dataSource="detail.dataSource" :columns="detail.columns"
                <j-vxe-table ref="editableDetailTable1" rowSelection bordered alwaysEdit keep-source
                             :dataSource="detail.maintenanceDetailList" :columns="detail.maintenanceDetailColumns"
                             @selectRowChange="handleTableSelectRowChange">
                  <!--保养结果-->
                  <template v-slot:maintenanceResult="props">
                    <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="third_maintenance_result"
                                       placeholder="请选择保养结果"
                                       :disabled="disableSubmit || (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE')"
                                       :disabled="disableSubmit || (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE')"
                                       @change="handleResultSelectChange($event,props.row,'exceptionDescription')"
                                       style="width: 100%"/>
                  </template>
@@ -78,9 +78,9 @@
                  <template v-slot:exceptionDescription="props">
                    <a-textarea :rows="1" :autoSize="false" v-model="props.row.exceptionDescription"
                                :placeholder="props.row.maintenanceResult&&props.row.maintenanceResult!='NORMAL'?'请输入异常描述':''"
                                @blur="$refs.editableDetailTable.validateTable"
                                @blur="$refs.editableDetailTable1.validateTable"
                                :disabled="disableSubmit ||
                                (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE') ||
                                (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE') ||
                                !props.row.maintenanceResult ||
                                props.row.maintenanceResult === 'NORMAL'"/>
                  </template>
@@ -90,7 +90,7 @@
                    <j-dict-select-tag v-model="props.row.firstInspectResult"
                                       placeholder="请选择验收结果"
                                       @change="handleResultSelectChange($event,props.row,'firstInspectException')"
                                       :disabled="disableSubmit ||(model.maintenanceStatus&&model.maintenanceStatus!='UNDER_FIRST_ACCEPTANCE')"
                                       :disabled="disableSubmit ||(model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_FIRST_ACCEPTANCE')"
                                       dictCode="check_status" style="width: 100%"/>
                  </template>
@@ -98,9 +98,9 @@
                  <template v-slot:firstInspectException="props">
                    <a-textarea :rows="1" v-model="props.row.firstInspectException"
                                :placeholder="props.row.firstInspectResult&&props.row.firstInspectResult!='1'?'请输入异常描述':''"
                                @blur="$refs.editableDetailTable.validateTable"
                                @blur="$refs.editableDetailTable1.validateTable"
                                :disabled="disableSubmit ||
                                (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_FIRST_ACCEPTANCE')||
                                (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_FIRST_ACCEPTANCE')||
                                !props.row.firstInspectResult ||
                                props.row.firstInspectResult === '1'"
                                dictCode="check_status" style="width: 100%;resize:none"/>
@@ -117,18 +117,30 @@
                  <!--第二次验收异常描述-->
                  <template v-slot:secondInspectException="props">
                    <a-textarea :rows="1" v-model="props.row.secondInspectException"
                                :placeholder="props.row.secondInspectResult&&props.row.secondInspectResult!='1'?'请输入异常描述':''"
                                @blur="$refs.editableDetailTable.validateTable"
                                :placeholder="props.row.secondInspectResult&&props.row.secondInspectResult!=='1'?'请输入异常描述':''"
                                @blur="$refs.editableDetailTable1.validateTable"
                                :disabled="disableSubmit ||
                                (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_SECOND_ACCEPTANCE')||
                                (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_SECOND_ACCEPTANCE')||
                                !props.row.secondInspectResult ||
                                props.row.secondInspectResult === '1'"
                                dictCode="check_status" style="width: 100%;resize:none"/>
                  </template>
                </j-vxe-table>
              </a-tab-pane>
              <a-tab-pane key="2" tab="备件使用明细"
                          v-if="model.maintenanceStatus&&model.maintenanceStatus!=='WAIT_CHECK'&&detail.sparePartsDetailList.length>0||
                          (model.maintenanceStatus&&model.maintenanceStatus==='UNDER_MAINTENANCE')"
                          forceRender>
                <j-vxe-table ref="editableDetailTable2" bordered alwaysEdit keep-source toolbar
                             :toolbar-config="detail.toolbarConfig" row-selection
                             :disabled="model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE'"
                             :dataSource="detail.sparePartsDetailList" :columns="detail.sparePartsDetailColumns">
                </j-vxe-table>
              </a-tab-pane>
              <template v-if="selectShenpiData.procInstId">
                <a-tab-pane key='2' tab='流程图'>
                <a-tab-pane key='3' tab='流程图'>
                  <img :src="imageSrc" alt="Fetched Image"/>
                </a-tab-pane>
              </template>
@@ -136,13 +148,13 @@
              <template slot="tabBarExtraContent">
                <a-space>
                  <a-button
                    v-if="activeTabKey=='1'"
                    :disabled="disableSubmit || (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE')||selectedRowKeys.length == 0"
                    v-if="activeTabKey==='1'"
                    :disabled="disableSubmit || (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_MAINTENANCE')||selectedRowKeys.length === 0"
                    type="primary" @click="handleSelectAllMaintenanceResult">批量保养正常
                  </a-button>
                  <a-button
                    v-if="activeTabKey=='1'"
                    :disabled="disableSubmit || (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_FIRST_ACCEPTANCE')||selectedRowKeys.length == 0"
                    v-if="activeTabKey==='1'"
                    :disabled="disableSubmit || (model.maintenanceStatus&&model.maintenanceStatus!=='UNDER_FIRST_ACCEPTANCE')||selectedRowKeys.length === 0"
                    type="primary" @click="handleSelectAllFirstAcceptanceResult">批量验收通过
                  </a-button>
                </a-space>
@@ -150,7 +162,7 @@
            </a-tabs>
          </a-col>
          <a-col v-if="model.maintenanceStatus&&model.maintenanceStatus!='WAIT_MAINTENANCE'" :span="6"
          <a-col v-if="model.maintenanceStatus&&model.maintenanceStatus!=='WAIT_MAINTENANCE'" :span="6"
                 class="scroll-col">
            <a-tabs v-if="displayEvaluationFlag">
              <a-tab-pane tab="保养前技术状态鉴定">
@@ -158,18 +170,18 @@
                                   prop="fullyFunctional" label="设备功能是否齐全">
                  <j-dict-select-tag type='radio' v-model='model.fullyFunctional' dictCode='yn'
                                     @change="handleCheckRadioChange"
                                     :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!='WAIT_CHECK')"/>
                                     :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!=='WAIT_CHECK')"/>
                </a-form-model-item>
                <a-form-model-item :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol"
                                   prop="runningNormally" label="设备能否正常运转">
                  <j-dict-select-tag type='radio' v-model='model.runningNormally' dictCode='yn'
                                     @change="handleCheckRadioChange"
                                     :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!='WAIT_CHECK')"/>
                                     :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!=='WAIT_CHECK')"/>
                </a-form-model-item>
                <a-form-model-item v-if="model.fullyFunctional=='0'||model.runningNormally=='0'"
                <a-form-model-item v-if="model.fullyFunctional==='0'||model.runningNormally==='0'"
                                   :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol" label="问题描述">
                  <a-textarea v-model='model.problemDescription' placeholder="请描述问题"
                              :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!='WAIT_CHECK')"/>
                              :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!=='WAIT_CHECK')"/>
                </a-form-model-item>
              </a-tab-pane>
            </a-tabs>
@@ -181,7 +193,7 @@
                </a-form-model-item>
                <a-form-model-item :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol" label="协助操作人">
                  <a-input v-model="model.assistantOperator"
                           :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!='OPERATOR_SIGNATURE')"
                           :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!=='OPERATOR_SIGNATURE')"
                           placeholder="请输入协助操作人"/>
                </a-form-model-item>
              </a-tab-pane>
@@ -194,7 +206,7 @@
                </a-form-model-item>
                <a-form-model-item :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol" label="协助维修人">
                  <a-input v-model="model.assistantRepairman"
                           :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!='REPAIRMAN_SIGNATURE')"
                           :disabled="disableSubmit||(model.maintenanceStatus&&model.maintenanceStatus!=='REPAIRMAN_SIGNATURE')"
                           placeholder="请输入协助维修人"/>
                </a-form-model-item>
              </a-tab-pane>
@@ -227,13 +239,11 @@
  import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
  import { JVXETypes } from '@comp/jeecg/JVxeTable'
  import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect'
  import ATextarea from 'ant-design-vue/es/input/TextArea'
  export default {
    name: 'ThirdMaintenanceApprovalModal',
    mixins: [JVxeTableModelMixin],
    components: {
      ATextarea,
      MaintenanceEquipmentSelect
    },
    props: {
@@ -280,16 +290,18 @@
        },
        url: {
          queryById: '/eam/thirdMaintenanceOrder/queryById',
          detail: '/eam/thirdMaintenanceOrderDetail/queryList',
          maintenanceDetail: '/eam/thirdMaintenanceOrderDetail/queryList',
          sparePartsDetail: '/eam/eamThirdMaintenanceSpare/queryList',
          approval: '/eam/thirdMaintenanceOrder/approval',
          diagramView: '/assign/flow/diagramView'
        },
        disableSubmit: false,
        selectedRowKeys: [],
        detail: {
          dataSource: [],
          columns: [],
          defaultColumns: [
          maintenanceDetailList: [],
          sparePartsDetailList: [],
          maintenanceDetailColumns: [],
          defaultMaintenanceDetailColumns: [
            {
              title: 'ID',
              key: 'id',
@@ -350,7 +362,51 @@
                { handler: this.maintenanceExceptionDescriptionValidator }
              ]
            }
          ]
          ],
          sparePartsDetailColumns: [
            {
              title: '备件序号',
              key: 'spareCode',
              type: JVXETypes.inputNumber,
              placeholder: '请输入${title}',
              width: 150,
              align: 'center',
              validateRules: [
                { required: true, message: '请输入${title}' },
                { unique: true, message: '${title}不能重复' }
              ]
            },
            {
              title: '备件名称',
              key: 'spareName',
              type: JVXETypes.input,
              placeholder: '请输入${title}',
              align: 'center',
              validateRules: [{ required: true, message: '请输入${title}' }]
            },
            {
              title: '备件型号',
              key: ' spareModel',
              type: JVXETypes.input,
              placeholder: '请输入${title}',
              align: 'center',
              validateRules: [{ required: true, message: '请输入${title}' }]
            },
            {
              title: '使用数量',
              key: 'spareQuantity',
              type: JVXETypes.inputNumber,
              placeholder: '请输入${title}',
              align: 'center',
              validateRules: [{ required: true, message: '请输入${title}' }]
            }
          ],
          toolbarConfig: {
            // prefix 前缀;suffix 后缀
            slot: ['prefix', 'suffix'],
            // add 新增按钮;remove 删除按钮;clearSelection 清空选择按钮
            btn: ['add', 'remove', 'clearSelection']
          }
        }
      }
    },
@@ -384,7 +440,7 @@
       */
      async handleApprove(record) {
        this.model = {}
        this.detail.dataSource = []
        this.detail.maintenanceDetailList = this.detail.sparePartsDetailList = []
        this.getBasicInformationByApi(record)
        this.getFlowChartImageByApi(record)
      },
@@ -395,7 +451,7 @@
       */
      handleDetail(record) {
        this.spinning = true
        this.detail.dataSource = []
        this.detail.maintenanceDetailList = this.detail.sparePartsDetailList = []
        this.model = Object.assign({
          operatorSignatureResult: '1',
          repairmanSignatureResult: '1',
@@ -403,7 +459,8 @@
          inspectorSignatureResult: '1'
        }, record)
        this.handleDynamicColumns()
        this.loadDetail(record.id)
        this.loadMaintenanceDetail(record.id)
        this.loadSparePartsDetail(record.id)
      },
      /**
@@ -436,7 +493,8 @@
            }
          })
          .finally(() => {
            this.loadDetail(record.dataId)
            this.loadMaintenanceDetail(record.dataId)
            this.loadSparePartsDetail(record.dataId)
          })
      },
@@ -445,12 +503,12 @@
       * 获取保养明细
       * @param orderId 工单号
       */
      loadDetail(orderId) {
        getAction(this.url.detail, { orderId })
      loadMaintenanceDetail(orderId) {
        getAction(this.url.maintenanceDetail, { orderId })
          .then(res => {
            if (res.success) {
              if (this.model.maintenanceStatus && this.model.maintenanceStatus == 'UNDER_SECOND_ACCEPTANCE') {
                this.detail.dataSource = res.result.map(item => {
              if (this.model.maintenanceStatus && this.model.maintenanceStatus === 'UNDER_SECOND_ACCEPTANCE') {
                this.detail.maintenanceDetailList = res.result.map(item => {
                  return {
                    ...item,
                    secondInspectResult: '1'
@@ -458,11 +516,24 @@
                })
                return
              }
              this.detail.dataSource = res.result
              this.detail.maintenanceDetailList = res.result
            }
          })
          .finally(() => {
            this.spinning = false
          })
      },
      /**
       * 获取备件使用明细
       * @param orderId 工单号
       */
      loadSparePartsDetail(orderId) {
        getAction(this.url.sparePartsDetail, { orderId })
          .then(res => {
            if (res.success) {
              this.detail.sparePartsDetailList = res.result
            }
          })
      },
@@ -492,27 +563,42 @@
      async handleOk() {
        const that = this
        if (this.model.maintenanceStatus == 'UNDER_MAINTENANCE' || this.model.maintenanceStatus == 'UNDER_FIRST_ACCEPTANCE' || this.model.maintenanceStatus == 'UNDER_SECOND_ACCEPTANCE') {
          let errMap = await that.$refs.editableDetailTable.validateTable()
          if (this.activeTabKey != '1') {
        if (this.model.maintenanceStatus === 'UNDER_MAINTENANCE' || this.model.maintenanceStatus === 'UNDER_FIRST_ACCEPTANCE' || this.model.maintenanceStatus === 'UNDER_SECOND_ACCEPTANCE') {
          let errMap = await that.$refs.editableDetailTable1.validateTable()
          if (this.activeTabKey !== '1' && errMap) {
            that.$refs.editableDetailTable1.clearValidate()
            this.activeTabKey = '1'
            if (errMap) {
              that.$refs.editableDetailTable.clearValidate()
              that.$notification.warning({
                message: '消息',
                description: '保养或验收不能为空'
              })
              return
            }
            that.$notification.warning({
              message: '消息',
              description: '保养或验收不能为空'
            })
            return
          }
          if (errMap) return
        }
        if (this.$refs.editableDetailTable2 && this.model.maintenanceStatus === 'UNDER_MAINTENANCE') {
          const errMap = await that.$refs.editableDetailTable2.validateTable()
          if (this.activeTabKey !== '2' && errMap) {
            this.activeTabKey = '2'
            that.$refs.editableDetailTable2.clearValidate()
            this.activeTabKey = '2'
            that.$notification.warning({
              message: '消息',
              description: '备件使用明细记录字段需填写'
            })
            return
          }
          if (errMap) return
        }
        // 触发表单验证
        this.$refs.form.validate(valid => {
          if (valid) {
            that.confirmLoading = that.spinning = true
            that.model.tableDetailList = that.$refs.editableDetailTable.getTableData()
            that.model.tableDetailList = that.$refs.editableDetailTable1.getTableData()
            if (that.$refs.editableDetailTable2) that.model.tableSpareList = that.$refs.editableDetailTable2.getTableData()
            httpAction(that.url.approval, that.model, 'put')
              .then((res) => {
@@ -591,7 +677,7 @@
            }
          ]
        }
        this.detail.columns = [...this.detail.defaultColumns, ...columns]
        this.detail.maintenanceDetailColumns = [...this.detail.defaultMaintenanceDetailColumns, ...columns]
      },
      autocompleteForm(selectObj) {
@@ -609,33 +695,33 @@
       */
      handleResultSelectChange(value, record, key) {
        if (record[key]) delete record[key]
        this.$refs.editableDetailTable.validateTable()
        this.$refs.editableDetailTable1.validateTable()
      },
      // 批量选择保养结果正常
      handleSelectAllMaintenanceResult() {
        this.selectedRowKeys.forEach(key => {
          const dataItem = this.detail.dataSource.find(item => item.id === key)
          const dataItem = this.detail.maintenanceDetailList.find(item => item.id === key)
          if (dataItem && dataItem.maintenanceResult !== 'NORMAL') {
            delete dataItem.exceptionDescription
            dataItem.maintenanceResult = 'NORMAL'
          }
        })
        this.$refs.editableDetailTable.clearCheckboxRow()
        this.$refs.editableDetailTable1.clearCheckboxRow()
        this.selectedRowKeys = []
      },
      // 批量选择第一次验收结果通过
      handleSelectAllFirstAcceptanceResult() {
        this.selectedRowKeys.forEach(key => {
          const dataItem = this.detail.dataSource.find(item => item.id === key)
          const dataItem = this.detail.maintenanceDetailList.find(item => item.id === key)
          if (dataItem && dataItem.firstInspectResult !== '1') {
            delete dataItem.firstInspectException
            dataItem.firstInspectResult = '1'
          }
        })
        this.$refs.editableDetailTable.clearCheckboxRow()
        this.$refs.editableDetailTable.clearValidate()
        this.$refs.editableDetailTable1.clearCheckboxRow()
        this.$refs.editableDetailTable1.clearValidate()
        this.selectedRowKeys = []
      },
@@ -649,7 +735,7 @@
      // 保养前技术状态单选发生改变时触发
      handleCheckRadioChange() {
        if (this.model.fullyFunctional == '1' && this.model.runningNormally == '1') this.model.problemDescription = ''
        if (this.model.fullyFunctional === '1' && this.model.runningNormally === '1') this.model.problemDescription = ''
      },
      /**
@@ -706,6 +792,15 @@
        }
      },
      /**
       *  标签栏切换时触发
       * @param tabKey 切换后的tabKey
       */
      handleTabChange(tabKey) {
        if (this.activeTabKey !== '3') this.$refs['editableDetailTable' + this.activeTabKey].clearValidate()
        this.activeTabKey = tabKey
      },
      handleCancel() {
        this.close()
      },
src/views/system/modules/UserModal.vue
@@ -82,10 +82,6 @@
          <a-input-search :readOnly="true" v-model="model.eamEquipmentIds" @search="eamDeviceSearch" enter-button placeholder="请选择EAM设备" :disabled="!model.selectedBaseFactory"/>
        </a-form-model-item>
<!--        <a-form-model-item label="维修部门/班组分配" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!repairDepartDisabled">-->
<!--          <j-select-repair-depart v-model="model.selectedRepairDeparts" :multi="true" @back="backRepairDepartInfo" :backRepairDepart="true" :treeRepairDepartOpera="true"/>-->
<!--        </a-form-model-item>-->
        <a-form-model-item label="负责部门" :labelCol="labelCol" :wrapperCol="wrapperCol" v-if="departIdShow==true">
          <j-multi-select-tag :disabled="disableSubmit" v-model="model.departIds" :options="nextDepartOptions" placeholder="请选择负责部门"/>
        </a-form-model-item>
@@ -200,7 +196,6 @@
        isDepartType: '',
        model: {
          selectedProduction: '',
          // selectedRepairDeparts: '',
          selectedBaseFactory:'',
        }
      }
@@ -287,7 +282,6 @@
          selecteddeparts: '',
          selectedProduction: '',
          selectedBaseFactory:'',
          // selectedRepairDeparts: ''
        })
      },
      edit(record) {
@@ -309,7 +303,6 @@
          that.getUserRoles(record.id)
          that.getUserDeparts(record.id)
          that.getUserProductions(record.id)
          that.getUserRepairDeparts(record.id)
          this.getUserBaseFactorys(record.id)
        }
      },
@@ -405,27 +398,7 @@
          }
        })
      },
      // getUserRepairDeparts(userid) {
      //   let that = this
      //   // 获取维修部门/班组分配
      //   getAction(that.url.userRepairDepartList, { userId: userid }).then((res) => {
      //     if (res.success) {
      //       let repairDepartOptions = []
      //       let selectedRepairDepartKeys = []
      //       for (let i = 0; i < res.result.length; i++) {
      //         selectedRepairDepartKeys.push(res.result[i].key)
      //         //新增负责维修部门/班组选择下拉框
      //         repairDepartOptions.push({
      //           value: res.result[i].key,
      //           label: res.result[i].title
      //         })
      //       }
      //
      //       this.$set(this.model, 'selectedRepairDeparts', selectedRepairDepartKeys.join(','))
      //       that.nextRepairDepartOptions = repairDepartOptions
      //     }
      //   })
      // },
      getUserBaseFactorys(userid) {
        let that = this
        // 获取EAM中心/工区/工段分配
@@ -468,13 +441,6 @@
          return c
        })
      },
      // backRepairDepartInfo(info) {
      //   this.model.repairDepartIds = this.model.selectedRepairDeparts
      //   this.nextRepairDepartOptions = info.map((item, index, arr) => {
      //     let c = { label: item.text, value: item.value + '' }
      //     return c
      //   })
      // },
      refresh() {
        this.userId = ''