qushaowei
2024-07-12 336dcb70c156c947530eab0f0a96ee17de477929
src/views/eam/modules/operationCertificateApply/OperationCertificateApplyForm.vue
@@ -2,69 +2,162 @@
  <a-spin :spinning='confirmLoading'>
    <j-form-container :disabled='formDisabled'>
      <!-- 主表单区域 -->
      <a-form-model ref='form' :model='model' :rules='validatorRules' slot='detail'>
      <a-form-model
        ref='form'
        :model='model'
        :rules='validatorRules'
        slot='detail'
      >
        <a-row>
          <a-col :span='12'>
            <a-form-model-item label='申请单编号' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='num'>
              <a-input v-model='model.num' placeholder="将由系统生成" disabled></a-input>
            <a-form-model-item
              label='申请单编号'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
              prop='num'
            >
              <a-input
                v-model='model.num'
                placeholder="将由系统生成"
                disabled
              ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span='12'>
            <a-form-model-item label='类型' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='type'>
              <j-dict-select-tag type='radio' v-model='model.type' dictCode='apply_type' placeholder='请选择类型' />
            <a-form-model-item
              label='类型'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
              prop='type'
            >
              <j-dict-select-tag
                type='radio'
                v-model='model.type'
                dictCode='apply_type'
                placeholder='请选择类型'
              />
            </a-form-model-item>
          </a-col>
          <a-col :span='12'>
            <a-form-model-item label='所在单位' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='departId'>
              <j-select-depart v-model='model.departId' :multi='true' />
            <a-form-model-item
              label='所在单位'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
              prop='departId'
            >
              <!-- <j-select-depart
                v-model='model.departId'
                :multi='true'
              /> -->
              <j-dict-select-tag
                type='list'
                v-model='model.departId'
                dictCode="sys_depart,depart_name,id"
                placeholder='请选择所在单位'
              />
            </a-form-model-item>
          </a-col>
          <a-col :span='12'>
            <a-form-model-item label='联系电话' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='contactNumber'>
              <a-input v-model='model.contactNumber' placeholder='请输入联系电话'></a-input>
            <a-form-model-item
              label='联系电话'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
              prop='contactNumber'
            >
              <a-input
                v-model='model.contactNumber'
                placeholder='请输入联系电话'
              ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span='12'>
            <a-form-model-item label='申请人' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='applicant'>
              <j-dict-select-tag type='list' v-model='model.applicant' dictCode='sys_user,realname,id'
                                 placeholder='请选择申请人' disabled />
            <a-form-model-item
              label='申请人'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
              prop='applicant'
            >
              <j-dict-select-tag
                type='list'
                v-model='model.applicant'
                dictCode='sys_user,realname,id'
                placeholder='请选择申请人'
                disabled
              />
            </a-form-model-item>
          </a-col>
          <a-col :span='12'>
            <a-form-model-item label='办理人' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='handlePerson'>
              <j-dict-select-tag type='list' v-model='model.handlePerson' dictCode='sys_user,realname,id'
                                 placeholder='请选择办理人'  />
            <a-form-model-item
              label='办理人'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
              prop='handlePerson'
            >
              <j-dict-select-tag
                type='list'
                v-model='model.handlePerson'
                dictCode="sys_user,realname,id , del_flag!='1'"
                placeholder='请选择办理人'
              />
            </a-form-model-item>
          </a-col>
          <a-col :span='12'>
            <a-form-model-item label='审核状态' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='auditStatus'>
              <j-dict-select-tag type='list' v-model='model.auditStatus' dictCode='certificate_apply_status'
                                 placeholder='请选择审核状态' disabled />
            <a-form-model-item
              label='审核状态'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
              prop='auditStatus'
            >
              <j-dict-select-tag
                type='list'
                v-model='model.auditStatus'
                dictCode='certificate_apply_status'
                placeholder='请选择审核状态'
                disabled
              />
            </a-form-model-item>
          </a-col>
          <a-col :span='24'>
            <a-form-model-item label='备注' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='remark'>
              <a-input v-model='model.remark' placeholder='请输入备注'></a-input>
          <!-- <a-col :span='24'>
            <a-form-model-item
              label='备注'
              :labelCol='labelCol'
              :wrapperCol='wrapperCol'
              prop='remark'
            >
              <a-input
                v-model='model.remark'
                placeholder='请输入备注'
              ></a-input>
            </a-form-model-item>
          </a-col>
          </a-col> -->
        </a-row>
      </a-form-model>
    </j-form-container>
    <!-- 子表单区域 -->
    <a-tabs v-model='activeKey' @change='handleChangeTabs'>
      <a-tab-pane tab='操作证申请明细表' :key='refKeys[0]' :forceRender='true'>
    <a-tabs
      v-model='activeKey'
      @change='handleChangeTabs'
    >
      <a-tab-pane
        tab='操作证申请明细表'
        :key='refKeys[0]'
        :forceRender='true'
      >
        <j-vxe-table
          keep-source
          :ref='refKeys[0]'
          :bordered='true'
          :alwaysEdit='true'
          :loading='operationCertificateApplyDetailTable.loading'
          :columns='operationCertificateApplyDetailTable.columns'
          :dataSource='operationCertificateApplyDetailTable.dataSource'
          :maxHeight='300'
          :maxHeight='600'
          :disabled='formDisabled'
          :rowNumber='true'
          rowNumber='2'
          :rowSelection='true'
          :toolbar='true'
        />
        <!-- :toolbarConfig='toolbarConfig' -->
      </a-tab-pane>
    </a-tabs>
  </a-spin>
@@ -72,7 +165,7 @@
<script>
import { getAction,httpAction } from '@/api/manage'
import { getAction, httpAction } from '@/api/manage'
import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
import { JVXETypes } from '@/components/jeecg/JVxeTable'
import { getRefPromise, VALIDATE_FAILED } from '@/components/jeecg/JVxeTable/utils/vxeUtils.js'
@@ -117,6 +210,7 @@
      // 操作证申请明细表
      operationCertificateApplyDetailTable: {
        loading: false,
        bordered: true,
        dataSource: [],
        columns: [
          {
@@ -143,12 +237,13 @@
            title: '设备统一编码',
            key: 'equipmentIds',
            type: JVXETypes.selectMultiple,
            dictCode: 'mom_eam_equipment,num,id ',
            width: '200px',
            width: '270px',
            placeholder: '请输入${title}',
            defaultValue: '',
            dictCode: 'mom_eam_equipment,num,id, del_flag!=\'1\'',
            validateRules: [{ required: true, message: '${title}不能为空' }]
          },
          // dictCode: 'mom_eam_equipment,num,id',
          {
            title: '上岗证号',
            key: 'appointmentCardNum',
@@ -181,7 +276,7 @@
            width: '200px',
            placeholder: '请输入${title}',
            defaultValue: '',
            disabled:'achievementDisabled'
            disabled: 'achievementDisabled'
          },
          {
            title: '实操成绩',
@@ -190,17 +285,17 @@
            width: '200px',
            placeholder: '请输入${title}',
            defaultValue: '',
            disabled:'achievementDisabled'
            disabled: 'achievementDisabled'
          },
          {
            title: '考试结论',
            key: 'examinationConclusion',
            type: JVXETypes.select,
            dictCode:'examination_conclusion',
            dictCode: 'examination_conclusion',
            width: '200px',
            placeholder: '请输入${title}',
            defaultValue: '',
            disabled:'achievementDisabled'
            disabled: 'achievementDisabled'
          },
          // {
          //   title: '状态',
@@ -215,7 +310,7 @@
      url: {
        add: '/eam/operationCertificateApply/add',
        edit: '/eam/operationCertificateApply/edit',
        addOperationCertificate:'/eam/operationCertificate/addOperationCertificate',
        addOperationCertificate: '/eam/operationCertificate/addOperationCertificate',
        queryById: '/eam/operationCertificateApply/queryById',
        operationCertificateApplyDetail: {
          list: '/eam/operationCertificateApply/queryOperationCertificateApplyDetailByMainId'
@@ -264,12 +359,12 @@
      if (this.model.id) {
        let params = { id: this.model.id }
        this.requestSubTableData(this.url.operationCertificateApplyDetail.list, params, this.operationCertificateApplyDetailTable)
      }else{
      } else {
        getAction(this.url.getNum, { type: 'OperationCertificateApply', length: '4' }).then((res) => {
            if (res.success) {
              this.model.num = res.message
            }
          })
          if (res.success) {
            this.model.num = res.message
          }
        })
      }
    },
    //校验所有一对一子表表单
@@ -305,19 +400,19 @@
        method = 'put'
      }
      this.confirmLoading = true
      console.log("formData===>",formData);
      console.log("formData===>", formData);
      httpAction(url, formData, method).then((res) => {
        if (res.success) {
          if(this.achievementDisabled){
          if (this.achievementDisabled) {
            httpAction(this.url.addOperationCertificate, formData.operationCertificateApplyDetailList, 'post').then((res) => {
              if (res.success) {
                this.$message.success(res.message)
              }else {
                // this.$message.success(res.message)
              } else {
                this.$message.warning(res.message)
              }
            })
          }
          this.$message.success(res.message)
          // this.$message.success(res.message)
          this.$emit('ok')
          this.close()
        } else {