|
|
@ -16,8 +16,47 @@ |
|
|
<!-- --> |
|
|
<!-- --> |
|
|
<!-- </div>--> |
|
|
<!-- </div>--> |
|
|
|
|
|
|
|
|
<div class="main-content"> |
|
|
|
|
|
|
|
|
<div class="main-content form-section"> |
|
|
|
|
|
<!-- 表单区域 --> |
|
|
|
|
|
<div class="input-group"> |
|
|
|
|
|
<label class="input-label">物料编码</label> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="formData.partNo" |
|
|
|
|
|
placeholder="请输入物料编码" |
|
|
|
|
|
class="form-input" |
|
|
|
|
|
clearable |
|
|
|
|
|
@blur="handlePartNoBlur" |
|
|
|
|
|
/> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="input-group"> |
|
|
|
|
|
<label class="input-label">物料名称</label> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="formData.partDesc" |
|
|
|
|
|
disabled |
|
|
|
|
|
class="form-input" |
|
|
|
|
|
/> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="input-group"> |
|
|
|
|
|
<label class="input-label">批号</label> |
|
|
|
|
|
<el-input |
|
|
|
|
|
v-model="formData.batchNo" |
|
|
|
|
|
class="form-input" |
|
|
|
|
|
clearable |
|
|
|
|
|
/> |
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="bottom-actions"> |
|
|
|
|
|
<button class="action-btn secondary" @click="confirmDo"> |
|
|
|
|
|
确定 |
|
|
|
|
|
</button> |
|
|
|
|
|
|
|
|
|
|
|
<button class="action-btn secondary" style="margin-left: 10px;" @click="cleanData"> |
|
|
|
|
|
清空 |
|
|
|
|
|
</button> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
@ -25,6 +64,8 @@ |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
|
|
|
|
|
|
|
|
|
import {saveTransportTask, getShopOrderFromIFSWithOrderNo} from '../../../api/automatedWarehouse/callOut' |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
@ -33,7 +74,16 @@ export default { |
|
|
returnList: [], // 退货明细列表 |
|
|
returnList: [], // 退货明细列表 |
|
|
selectedDetail: null, // 当前选择的RMA明细 |
|
|
selectedDetail: null, // 当前选择的RMA明细 |
|
|
processType: "inbound", // 固定为入库处理 |
|
|
processType: "inbound", // 固定为入库处理 |
|
|
site:localStorage.getItem('site') |
|
|
|
|
|
|
|
|
site:localStorage.getItem('site'), |
|
|
|
|
|
loading: false, // 查询物料明细的loading状态 |
|
|
|
|
|
lastPartNo: '', // 记录最后查询的物料编码,避免重复查询 |
|
|
|
|
|
formData: { |
|
|
|
|
|
partNo: '', |
|
|
|
|
|
partDesc: '', |
|
|
|
|
|
batchNo: '', |
|
|
|
|
|
rollNo: '', |
|
|
|
|
|
site:localStorage.getItem('site'), |
|
|
|
|
|
} |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
computed: { |
|
|
computed: { |
|
|
@ -44,10 +94,78 @@ export default { |
|
|
this.$router.back(); |
|
|
this.$router.back(); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// 处理物料编码失去焦点事件 |
|
|
|
|
|
async handlePartNoBlur() { |
|
|
|
|
|
const partNo = this.formData.partNo; |
|
|
|
|
|
if (!partNo) { |
|
|
|
|
|
this.formData.partDesc = ''; |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 如果物料编码没有变化,不重复查询 |
|
|
|
|
|
// if (this.lastPartNo === partNo) { |
|
|
|
|
|
// return; |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
this.loading = true; |
|
|
|
|
|
getShopOrderFromIFSWithOrderNo({ |
|
|
|
|
|
site: this.formData.site, |
|
|
|
|
|
partNo: partNo |
|
|
|
|
|
}).then(({ data }) => { |
|
|
|
|
|
this.loading = false; |
|
|
|
|
|
if (data.code === 0) { |
|
|
|
|
|
let rows=data.rows |
|
|
|
|
|
if(rows.length>0){ |
|
|
|
|
|
this.formData.partDesc = rows[0].description || ''; |
|
|
|
|
|
}else { |
|
|
|
|
|
this.formData.partDesc = ''; |
|
|
|
|
|
this.$alert('没有找到该物料编码', '错误', { |
|
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
// 查询失败或没有数据 |
|
|
|
|
|
this.formData.partDesc = ''; |
|
|
|
|
|
this.$alert(data.msg, '错误', { |
|
|
|
|
|
confirmButtonText: '确定', |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
confirmDo() { |
|
|
|
|
|
if(this.formData.partNo==null||this.formData.partNo===''){ |
|
|
|
|
|
this.$message.error('请输入物料编码'); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
saveTransportTask(this.formData).then(({ data }) => { |
|
|
|
|
|
if (data && data.code === 0) { |
|
|
|
|
|
this.$message.success('操作成功'); |
|
|
|
|
|
this.cleanData() |
|
|
|
|
|
} else { |
|
|
|
|
|
this.$message.error(data.msg || '操作失败'); |
|
|
|
|
|
} |
|
|
|
|
|
}).catch(error => { |
|
|
|
|
|
console.error('出库确认失败:', error); |
|
|
|
|
|
this.$message.error('操作失败'); |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
cleanData(){ |
|
|
|
|
|
// 更安全的清空方式 |
|
|
|
|
|
this.formData = { |
|
|
|
|
|
partNo: '', |
|
|
|
|
|
partDesc: '', |
|
|
|
|
|
batchNo: '', |
|
|
|
|
|
rollNo: '', |
|
|
|
|
|
site:localStorage.getItem('site'), |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
}, |
|
|
}, |
|
|
mounted() { |
|
|
mounted() { |
|
|
this.$nextTick(() => this.$refs.scanRmaRef && this.$refs.scanRmaRef.focus()); |
|
|
|
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
</script> |
|
|
</script> |
|
|
|