hyingbo
2 天以前 ba1a2f73f9ce33d175bea4060d217b9f7a08eeed
工具报损-添加报损数量校验规则
已修改2个文件
55 ■■■■ 文件已修改
src/views/tms/lossBound/modules/LossboundModal.vue 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tms/modules/inbound/InboundListRight.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tms/lossBound/modules/LossboundModal.vue
@@ -89,7 +89,7 @@
        <a-row>
          <a-col :span="12">
            <a-form-model-item label="报损原因" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lossReason">
              <a-textarea :disabled="disableSubmit" v-model="model.lossReason" rows="4" placeholder="请输入备注" />
              <a-textarea :disabled="disableSubmit" v-model="model.lossReason" rows="4" placeholder="请输入报损原因" />
            </a-form-model-item>
          </a-col>
        </a-row>
@@ -113,9 +113,20 @@
      @change="handleTableChange">
      <template v-for="col in columns" :slot="col.dataIndex" slot-scope="text, record, index">
        <a-input-number :disabled="disableSubmit" :value="text" v-if="col.dataIndex == 'lossNumber'" :min="0"
                        :max="99999"
                        @change="(e) => handleChange(e, record.key, col, index)" style="width: 100%;" />
        <div v-if="col.dataIndex == 'lossNumber'">
          <a-input-number
            :disabled="disableSubmit"
            :value="text"
            :min="0"
            :max="99999"
            @change="(e) => handleChange(e, record.key, col, index)"
            style="width: 100%;"
          />
          <div v-if="record.lossNumberError" style="color: #f5222d; font-size: 12px; margin-top: 4px;">
            {{ record.lossNumberMsg }}
          </div>
        </div>
        <a-textarea
          v-if="col.dataIndex == 'lossReason'"
          :disabled="disableSubmit"
@@ -218,7 +229,8 @@
          dataIndex: 'lossNumber',
          align: 'center',
          width: 150,
          scopedSlots: { customRender: 'lossNumber' }
          scopedSlots: { customRender: 'lossNumber' },
          key: 'lossNumber'
        },
        {
          title: '中文名称',
@@ -314,8 +326,10 @@
          supplierId: data[i].supplierId,
          goodsShelvesId: data[i].positionCode,
          toolMaterial: data[i].toolMaterial,
          partMaterial: data[i].partMaterial
          partMaterial: data[i].partMaterial,
          lossNumber: null, // 初始化报损数量
          lossNumberError: false, // 校验状态
          lossNumberMsg: '' // 错误信息
        })
      }
      this.ipagination.total = this.dataSource.length
@@ -332,13 +346,15 @@
      const target = temp.filter(item => key === item.key)[index]
      if (target) {
        target[column.dataIndex] = value
        this.dataSource = temp
        if (column.dataIndex === 'lossNumber') {
          target[column.dataIndex] = value
        }
        if (column.dataIndex === 'lossReason') {
          target[column.dataIndex] = value
        if (column.dataIndex === 'lossNumber') {
          if (value === null || value === undefined || value <= 0) {
            target.lossNumberError = true
            target.lossNumberMsg = '报损数量不能为空且必须大于0'
          } else {
            target.lossNumberError = false
            target.lossNumberMsg = ''
          }
        }
        this.dataSource = temp
      }
@@ -398,6 +414,17 @@
      // 触发表单验证
      this.$refs.form.validate(valid => {
        if (valid) {
          let isTableValid = true
          this.dataSource.forEach((row, index) => {
            this.handleChange(row.lossNumber, row.key, { dataIndex: 'lossNumber' }, index)
            if (row.lossNumberError) {
              isTableValid = false
            }
          })
          if (!isTableValid) {
            return false
          }
          this.model.toolsLossBoundDetailList = this.dataSource
          that.confirmLoading = true
          let httpurl = ''
src/views/tms/modules/inbound/InboundListRight.vue
@@ -9,7 +9,7 @@
            :sm="8"
          >
            <a-form-item
              label="工具编号"
              label="工具编码"
              :labelCol="{span: 5}"
              :wrapperCol="{span: 18, offset: 1}"
            >