| | |
| | | <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> |
| | |
| | | @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" |
| | |
| | | dataIndex: 'lossNumber', |
| | | align: 'center', |
| | | width: 150, |
| | | scopedSlots: { customRender: 'lossNumber' } |
| | | scopedSlots: { customRender: 'lossNumber' }, |
| | | key: 'lossNumber' |
| | | }, |
| | | { |
| | | title: '中文名称', |
| | |
| | | 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 |
| | |
| | | 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 |
| | | } |
| | |
| | | // 触发表单验证 |
| | | 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 = '' |