cuijian
2023-11-16 e0cd695c11734348e1e01304bdff0696768c1fda
src/views/eam/modules/equipmentScrap/EquipmentScrapForm.vue
@@ -4,32 +4,63 @@
    <!--   <a-tabs v-model="activeKey" @change="handleChangeTabs">-->
    <!--主表区域 -->
    <!--    <a-tab-pane tab="设备变动" :key="refKeys[0]" :forceRender="true" :class="'jeecg-tabs-top'" :animated="false">-->
    <a-form-model ref="form" :model="model" :rules="validatorRules">
      <a-row>
        <a-col :xs="24" :sm="24">
          <a-form-model-item label="单据号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="num">
            <a-input v-model="model.num" placeholder="请输入单据号"></a-input>
          </a-form-model-item>
        </a-col>
        <!--                  <a-col :xs="24" :sm="12">-->
        <!--                    <a-form-model-item label="审批状态" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="auditStatus">-->
        <!--                      <j-dict-select-tag type="list" v-model="model.auditStatus"  dictCode="audit_status" placeholder="请选择审批状态" disabled/>-->
        <!--                    </a-form-model-item>-->
        <!--                  </a-col>-->
        <a-col :xs="24" :sm="12" v-show="false">
          <a-form-model-item label="变动方式" show="false" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="changeMethod">
            <a-input v-model="model.changeMethod" placeholder="请输入变动方式" defaultValue="scrap"></a-input>
          </a-form-model-item>
        </a-col>
        <a-col :xs="24" :sm="24">
          <a-form-model-item label="备注" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="remark">
            <a-textarea v-model="model.remark" rows="4" placeholder="请输入备注" />
          </a-form-model-item>
        </a-col>
      </a-row>
    </a-form-model>
    <j-form-container :disabled="formDisabled">
      <!-- 主表单区域 -->
      <a-form-model
        ref="form"
        :model="model"
        :rules="validatorRules"
        slot="detail"
      >
        <a-row>
          <a-col :span="24">
            <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"
            :hidden=true
          >
            <a-form-model-item
              label="变动方式"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="changeMethod"
            >
              <a-input
                v-model="model.changeMethod"
                placeholder="请输入变动方式"
                defaultValue="seal"
              ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24">
            <a-form-model-item
              label="备注"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="remark"
            >
              <a-textarea
                v-model="model.remark"
                rows="4"
                placeholder="请输入备注"
              />
            </a-form-model-item>
          </a-col>
        </a-row>
      </a-form-model>
    </j-form-container>
    <!--     </a-tab-pane>-->
<!--    <a-button-->
@@ -67,10 +98,12 @@
          :loading="equipmentScrapDetailTable.loading"
          :columns="equipmentScrapDetailTable.columns"
          :dataSource="equipmentScrapDetailTable.dataSource"
          :maxHeight="800"
          :maxHeight="900"
          :disabled="formDisabled"
          :rowNumber="true"
          :rowSelection="true"
          :alwaysEdit="true"
          :bordered="true"
          :toolbar="true"
          :toolbarConfig="toolbarConfig"
        >
@@ -172,9 +205,9 @@
          {
            title: '设备报废单明细id',
            key: 'id',
            type: JVXETypes.normal,
            type: JVXETypes.hidden,
            width: '100px',
            fixed: 'left'
            align:'center',
          },
          {
            title: '设备变动单id',
@@ -182,7 +215,8 @@
            type: JVXETypes.hidden,
            width: '200px',
            placeholder: '请输入${title}',
            defaultValue: ''
            defaultValue: '',
            align:'center',
          },
          {
            title: '设备ID',
@@ -191,27 +225,69 @@
            disabled: true,
            width: '60px',
            placeholder: '请输入${title}',
            defaultValue: ''
            defaultValue: '',
            align:'center',
          },
          {
            title: '设备编码',
            title: '统一编码',
            key: 'equipmentNum',
            type: JVXETypes.normal,
            disabled: true,
            width: '120px',
            width: '200px',
            // placeholder: '请输入${title}',
            defaultValue: '',
            fixed: 'left'
            align:'center',
          },
          {
            title: '设备名称',
            key: 'equipmentName',
            type: JVXETypes.normal,
            disabled: true,
            width: '200px',
            // placeholder: '请输入${title}',
            defaultValue: '',
            align:'center',
          },
          {
            title: '设备型号',
            key: 'model',
            type: JVXETypes.normal,
            disabled: true,
            width: '200px',
            // placeholder: '请输入${title}',
            defaultValue: '',
            align:'center',
          },
          {
            title: '设备规格',
            key: 'specification',
            type: JVXETypes.normal,
            disabled: true,
            width: '200px',
            // placeholder: '请输入${title}',
            defaultValue: '',
            align:'center',
          },
          {
            title: '设备状态',
            key: 'equipmentStatus_dictText',
            type: JVXETypes.normal,
            disabled: true,
            width: '195px',
            // placeholder: '请输入${title}',
            defaultValue: '',
            align:'center',
          },
          {
            title: '资产编码',
            key: 'assetNumber',
            type: JVXETypes.normal,
            disabled: true,
            width: '120px',
            width: '195px',
            // placeholder: '请输入${title}',
            defaultValue: '',
            fixed: 'left'
            align:'center',
          },
          {
            title: '报废日期',
@@ -220,7 +296,8 @@
            width: '200px',
            placeholder: '请选择${title}',
            defaultValue: '',
             fixed: 'left',
            align:'center',
             // fixed: 'left',
            // 表单验证规则
            validateRules: [
              {
@@ -232,10 +309,11 @@
            title: '报废原因',
            key: 'scrapReason',
            type: JVXETypes.input,
            width: '200px',
            width: '195px',
            placeholder: '请输入${title}',
            defaultValue: '',
        fixed: 'left',
            align:'center',
             //  fixed: 'left',
            // 表单验证规则
            validateRules: [
              {
@@ -247,7 +325,7 @@
            title: '特种设备',
            key: 'specificEquipment',
            type: JVXETypes.hidden,
            align:'center',
            disabled: true,
            width: '200px',
            // placeholder: '请输入${title}',
@@ -258,46 +336,10 @@
            key: 'specificEquipment_dictText',
            type: JVXETypes.normal,
            disabled: true,
            width: '100px',
            // placeholder: '请输入${title}',
            defaultValue: ''
          },
          {
            title: '设备名称',
            key: 'equipmentName',
            type: JVXETypes.normal,
            disabled: true,
            width: '200px',
            // placeholder: '请输入${title}',
            defaultValue: ''
          },
          {
            title: '设备型号',
            key: 'model',
            type: JVXETypes.normal,
            disabled: true,
            width: '200px',
            // placeholder: '请输入${title}',
            defaultValue: ''
          },
          {
            title: '设备规格',
            key: 'specification',
            type: JVXETypes.normal,
            disabled: true,
            width: '200px',
            // placeholder: '请输入${title}',
            defaultValue: ''
          },
          {
            title: '设备状态',
            key: 'equipmentStatus_dictText',
            type: JVXETypes.normal,
            disabled: true,
            width: '120px',
            // placeholder: '请输入${title}',
            defaultValue: ''
            defaultValue: '',
            align:'center',
          },
          // {
          //   title: '设备状态',
@@ -315,9 +357,10 @@
            key: 'technologyStatus_dictText',
            type: JVXETypes.normal,
            disabled: true,
            width: '120px',
            width: '200px',
            // placeholder: '请输入${title}',
            defaultValue: ''
            defaultValue: '',
            align:'center',
          },
          {
@@ -327,7 +370,8 @@
            disabled: true,
            width: '200px',
            // placeholder: '请输入${title}',
            defaultValue: ''
            defaultValue: '',
            align:'center',
          },
          {
            title: '重要度',
@@ -336,7 +380,8 @@
            disabled: true,
            width: '200px',
            // placeholder: '请输入${title}',
            defaultValue: ''
            defaultValue: '',
            align:'center',
          },
          // {
          //   title: '重要度',
@@ -355,23 +400,24 @@
          //   // placeholder: '请输入${title}',
          //   defaultValue: ''
          // }
          {
            title: '设备图片',
            key: 'equipmentPhoto',
            type: JVXETypes.slot,
            disabled: true,
            width: '120px',
            slotName:'equipmentPhoto'
          // {
          //   title: '设备图片',
          //   key: 'equipmentPhoto',
          //   type: JVXETypes.slot,
          //   disabled: true,
          //   width: '200px',
          //   slotName:'equipmentPhoto',
          //   align:'center',
          },
          {
            title: '操作',
            key: 'action',
            type: JVXETypes.slot,
            disabled: true,
            width: '100px',
            slotName: 'action',
          },
          // },
          // {
          //   title: '操作',
          //   key: 'action',
          //   type: JVXETypes.slot,
          //   disabled: true,
          //   width: '100px',
          //   slotName: 'action',
          // },
        ]
      },
@@ -379,6 +425,7 @@
      url: {
        add: '/eam/equipmentScrap/add',
        edit: '/eam/equipmentScrap/edit',
        getNum: '/eam/sysIdentity/getNumNew',
        equipmentChange: {
          list: '/eam/equipmentScrap/queryById'
        },
@@ -475,6 +522,12 @@
      if (this.model.id) {
        let params = { equipmentChangeId: this.model.id }
        this.requestSubTableData(this.url.equipmentScrapDetail.list, params, this.equipmentScrapDetailTable)
      }else{
        getAction(this.url.getNum, { type: 'EquipmentScrap', length: '4' }).then((res) => {
          if (res.success) {
            this.model.num = res.message
          }
        })
      }
    },
    //校验所有一对一子表表单
@@ -553,39 +606,39 @@
      target.removeRows(rowId)
    },
    // 重写add  方法 默认不增加一行
    add(num = 0, forceScrollToBottom = false) {
      if (num < 1) return
      // let timestamp = new Date().getTime()
      let rows = this.rows
      let row
      for (let i = 0; i < num; i++) {
        rows = this.push({}, false, rows)
        row = rows[rows.length - 1]
      }
      this.rows = rows
    // add(num = 0, forceScrollToBottom = false) {
    //   if (num < 1) return
    //   // let timestamp = new Date().getTime()
    //   let rows = this.rows
    //   let row
    //   for (let i = 0; i < num; i++) {
    //     rows = this.push({}, false, rows)
    //     row = rows[rows.length - 1]
    //   }
    //   this.rows = rows
      this.$nextTick(() => {
        this.updateFormValues()
      })
      // 触发add事件
      this.$emit('added', {
        row: (() => {
          let r = Object.assign({}, row)
          r.id = this.getCleanId(r.id)
          return r
        })(),
        target: this
      })
      // 设置滚动条位置
      let tbody = this.getElement('tbody')
      let offsetHeight = tbody.offsetHeight
      let realScrollTop = tbody.scrollTop + offsetHeight
      if (forceScrollToBottom) {
        this.$nextTick(() => {
          this.resetScrollTop(this.$refs.scrollView.scrollHeight)
        })
      }
    }
    //   this.$nextTick(() => {
    //     this.updateFormValues()
    //   })
    //   // 触发add事件
    //   this.$emit('added', {
    //     row: (() => {
    //       let r = Object.assign({}, row)
    //       r.id = this.getCleanId(r.id)
    //       return r
    //     })(),
    //     target: this
    //   })
    //   // 设置滚动条位置
    //   let tbody = this.getElement('tbody')
    //   let offsetHeight = tbody.offsetHeight
    //   let realScrollTop = tbody.scrollTop + offsetHeight
    //   if (forceScrollToBottom) {
    //     this.$nextTick(() => {
    //       this.resetScrollTop(this.$refs.scrollView.scrollHeight)
    //     })
    //   }
    // }
  }
}