| | |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="报损单单号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderCode"> |
| | | <a-input v-model="model.orderCode" placeholder="系统自动生成" :disabled="true"></a-input> |
| | | <j-input v-model="model.orderCode" placeholder="系统自动生成" :disabled="true"></j-input> |
| | | </a-form-model-item> |
| | | </a-col> |
| | | <a-col :span="12"> |
| | |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="报损时间" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="lossTime"> |
| | | |
| | | <j-date placeholder="请选择报损时间" date-format="YYYY-MM-DD HH:mm:ss" v-model="model.lossTime" |
| | | <j-date placeholder="请选择报损时间" :disabled="disableSubmit" date-format="YYYY-MM-DD HH:mm:ss" v-model="model.lossTime" |
| | | style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | |
| | | <a-form-model-item v-if="addShow" label="审核时间" :labelCol="labelCol" :wrapperCol="wrapperCol" |
| | | prop="approvalDate"> |
| | | |
| | | <j-date placeholder="请选择审核时间" date-format="YYYY-MM-DD HH:mm:ss" v-model="model.approvalDate" |
| | | <j-date placeholder="请选择审核时间" :disabled="disableSubmit" date-format="YYYY-MM-DD HH:mm:ss" v-model="model.approvalDate" |
| | | style="width: 100%" /> |
| | | </a-form-model-item> |
| | | </a-col> |
| | |
| | | <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> |
| | | </a-form-model> |
| | | </a-spin> |
| | | |
| | | <a-button type="primary" :style="{ marginBottom: '8px' }" @click="selectTools"> |
| | | <a-button type="primary" :style="{ marginBottom: '8px' }" :disabled="disableSubmit" @click="selectTools"> |
| | | 选择工具 |
| | | </a-button> |
| | | <a-table |
| | |
| | | @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" |
| | |
| | | width: 50 |
| | | }, |
| | | { |
| | | title: '刀具编号', |
| | | dataIndex: 'toolCode', |
| | | title: '刀具编码', |
| | | dataIndex: 'toolId', |
| | | align: 'center', |
| | | width: 150 |
| | | width: 200 |
| | | }, |
| | | |
| | | { |
| | |
| | | align: 'center', |
| | | width: 150 |
| | | }, |
| | | { |
| | | title: '报损原因', |
| | | width: 150, |
| | | dataIndex: 'lossReason', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'lossReason' } |
| | | }, |
| | | |
| | | { |
| | | title: '报损数量', |
| | | dataIndex: 'lossNumber', |
| | | align: 'center', |
| | | width: 150, |
| | | scopedSlots: { customRender: 'lossNumber' }, |
| | | key: 'lossNumber' |
| | | }, |
| | | { |
| | | title: '中文名称', |
| | | dataIndex: 'chineseName', |
| | |
| | | dataIndex: 'goodsShelvesId', |
| | | align: 'center' |
| | | }, |
| | | { |
| | | title: '报损原因', |
| | | width: 150, |
| | | dataIndex: 'lossReason', |
| | | align: 'center', |
| | | scopedSlots: { customRender: 'lossReason' } |
| | | }, |
| | | |
| | | { |
| | | title: '报损数量', |
| | | dataIndex: 'lossNumber', |
| | | align: 'center', |
| | | width: 150, |
| | | scopedSlots: { customRender: 'lossNumber' } |
| | | }, |
| | | |
| | | { |
| | | title: '备注', |
| | |
| | | this.$bus.$on('selectionRows', (data) => { |
| | | for (let i = 0; i < data.length; i++) { |
| | | this.dataSource.push({ |
| | | toolId: data[i].id, |
| | | toolCode: data[i].toolCode, |
| | | toolCode:data[i].toolCode, |
| | | toolId:data[i].toolId, |
| | | classifyId: data[i].classifyId, |
| | | applicationType: data[i].applicationType_dictText, |
| | | chineseName: data[i].chineseName, |
| | |
| | | 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 |
| | | } |
| | |
| | | }, |
| | | add() { |
| | | this.addShow = false |
| | | this.edit() |
| | | this.edit({}) // 传入空对象作为默认值 |
| | | this.dataSource = [] |
| | | }, |
| | | edit(record) { |
| | | console.log(record) |
| | | this.model = Object.assign({}, record) |
| | | this.visible = true |
| | | getAction(this.url.list, { |
| | | lossBoundId: record.id, |
| | | pageNo: 1, |
| | | pageSize: 99999 |
| | | }).then((res) => { |
| | | if (res.success) { |
| | | console.log(res.result.records) |
| | | this.dataSource = res.result.records |
| | | } else { |
| | | this.dataSource = null |
| | | } |
| | | }) |
| | | if (record && record.id) { |
| | | this.model = Object.assign({}, record) |
| | | this.visible = true |
| | | getAction(this.url.list, { |
| | | lossBoundId: record.id, |
| | | pageNo: 1, |
| | | pageSize: 99999 |
| | | }).then((res) => { |
| | | if (res.success) { |
| | | console.log(res.result.records) |
| | | this.dataSource = res.result.records |
| | | } else { |
| | | this.dataSource = null |
| | | } |
| | | }) |
| | | } else { |
| | | this.model = {} // 如果是新增模式,则初始化 model |
| | | this.visible = true |
| | | this.dataSource = [] // 清空数据源 |
| | | } |
| | | }, |
| | | |
| | | |
| | | close() { |
| | | this.$emit('close') |
| | |
| | | // 触发表单验证 |
| | | 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 = '' |