diff --git a/src/api/order/poOrder.js b/src/api/order/poOrder.js
index ae2fcd7..ab2bd06 100644
--- a/src/api/order/poOrder.js
+++ b/src/api/order/poOrder.js
@@ -31,6 +31,9 @@ export const shipPoDetailPreview = (data) => createAPI(`/pODetail/shipPoDetailPr
/** 提交发货(回写 qty/c_ship_qty,并按规则判定部分发货或已发货) */
export const shipPoDetail = (data) => createAPI(`/pODetail/shipPoDetail`, 'post', data)
+/** 打样单收货(回写 c_po_actual_ready_date,同事务自动生成已排程验货申请) */
+export const receivePoDetail = (data) => createAPI(`/pODetail/receivePoDetail`, 'post', data)
+
// 根据PO订单查询验货申请明细
export const getInspectionByPODetail = (data) => createAPI(`/pODetail/getInspectionByPODetail`, 'post', data)
diff --git a/src/views/modules/inspection/myInspectionList.vue b/src/views/modules/inspection/myInspectionList.vue
index 471c44a..1c35f05 100644
--- a/src/views/modules/inspection/myInspectionList.vue
+++ b/src/views/modules/inspection/myInspectionList.vue
@@ -199,7 +199,14 @@ export default {
// 开始验货
startInspection (row) {
- this.$confirm(`确认开始验货?\n申请单号:${row.requestNo}\n供应商:${row.supplierName}`, '提示', {
+ // 校验单子状态是否为已排程(防止页面数据滞后)
+ if (row.statusDb !== 'Scheduled') {
+ this.$message.warning('只有已排程状态的验货申请可以开始验货,请刷新列表后重试')
+ this.getList()
+ return
+ }
+ const publicOrderTip = row.qcOperator === '*' ? '\n该单为公共单(QC人员:*),开始验货后QC人员将改为您本人' : ''
+ this.$confirm(`确认开始验货?\n申请单号:${row.requestNo}\n供应商:${row.supplierName}${publicOrderTip}`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
diff --git a/src/views/modules/order/poOrder.vue b/src/views/modules/order/poOrder.vue
index 3ff23b9..c8f3337 100644
--- a/src/views/modules/order/poOrder.vue
+++ b/src/views/modules/order/poOrder.vue
@@ -77,6 +77,10 @@
v-if="canShipPoOrder(scope.row.status)"
type="primary"
@click.stop="handleShipPoOrder(scope.row)">shipped
+ 收货
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{
+ this.receiveDialogSaving = false
+ if (data && data.code === 0) {
+ this.$message.success('收货成功,已生成验货申请')
+ this.receiveDialogVisible = false
+ this.getDataList()
+ } else {
+ this.$message.error((data && data.msg) || '收货失败')
+ }
+ }).catch(err => {
+ this.receiveDialogSaving = false
+ this.$message.error((err && err.message) || '收货失败')
+ })
+ },
+
handleOpenPoOrder (row) {
const params = buildPoDetailActionParams(row, this.$store.state.user.site)
if (!params.id && !(params.orderNo && params.site && params.itemNo != null)) {
diff --git a/src/views/modules/order/poOrderStatusOptions.js b/src/views/modules/order/poOrderStatusOptions.js
index 04e8281..3551658 100644
--- a/src/views/modules/order/poOrderStatusOptions.js
+++ b/src/views/modules/order/poOrderStatusOptions.js
@@ -57,6 +57,11 @@ export function canIssuePoOrder (status) {
return status === '草稿'
}
+/** 是否可「收货」:仅打样单(Sample)且状态为已下达(与后端 receivePoDetail 校验一致) */
+export function canReceivePoOrder (row) {
+ return !!row && row.orderType === 'Sample' && row.status === '已下达'
+}
+
/**
* 打开时根据验货数量推算恢复状态(与后端 PoDetailStatusSupport 规则一致)
* 说明: