From 6a4f900fbd793b6160a46ad5d0ae9beb82bcb9b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B8=B8=E7=86=9F=E5=90=B4=E5=BD=A6=E7=A5=96?= Date: Mon, 20 Jul 2026 13:47:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/order/poOrder.js | 3 ++ .../order/com_poOrder_CustomerPicker.vue | 54 +++++++------------ src/views/modules/order/poOrder.vue | 31 ++++++++++- .../modules/order/poOrderStatusOptions.js | 8 ++- src/views/modules/order/poOrder_search.vue | 3 +- 5 files changed, 62 insertions(+), 37 deletions(-) diff --git a/src/api/order/poOrder.js b/src/api/order/poOrder.js index c99e638..b6c10ab 100644 --- a/src/api/order/poOrder.js +++ b/src/api/order/poOrder.js @@ -22,6 +22,9 @@ export const closePoDetail = (data) => createAPI(`/pODetail/closePoDetail`, 'pos /** 打开 PO 订单行(已关闭 → 按验货数量恢复状态) */ export const openPoDetail = (data) => createAPI(`/pODetail/openPoDetail`, 'post', data) +/** 下达 PO 订单行(草稿 → 已下达) */ +export const issuePoDetail = (data) => createAPI(`/pODetail/issuePoDetail`, 'post', data) + // 根据PO订单查询验货申请明细 export const getInspectionByPODetail = (data) => createAPI(`/pODetail/getInspectionByPODetail`, 'post', data) diff --git a/src/views/modules/order/com_poOrder_CustomerPicker.vue b/src/views/modules/order/com_poOrder_CustomerPicker.vue index a00d265..c919748 100644 --- a/src/views/modules/order/com_poOrder_CustomerPicker.vue +++ b/src/views/modules/order/com_poOrder_CustomerPicker.vue @@ -20,26 +20,6 @@ 当前账号无 Customer 权限 - - -

请先选择本次会话要操作的 Customer:

- - - - - 确定 - -
@@ -56,14 +36,18 @@ export default { data () { return { options: [], - innerCustomer: this.value, - forceDialogVisible: false, - dialogCustomer: '' + innerCustomer: this.value } }, watch: { value (val) { this.innerCustomer = val + if (!val) { + this.ensureDefaultCustomer() + } + }, + site () { + this.loadOptions() } }, mounted () { @@ -79,12 +63,7 @@ export default { return getPoCustomerScope({ site: this.site }).then(({ data }) => { if (data && data.code === 0) { this.options = data.data || [] - if (this.options.length === 1) { - this.selectCustomer(this.options[0].code) - } else if (this.options.length > 1 && !this.innerCustomer) { - this.forceDialogVisible = true - this.dialogCustomer = '' - } + this.ensureDefaultCustomer() } else { this.options = [] this.$message.error((data && data.msg) || '加载 Customer 权限失败') @@ -94,6 +73,18 @@ export default { this.$message.error('加载 Customer 权限失败') }) }, + ensureDefaultCustomer () { + if (!Array.isArray(this.options) || this.options.length === 0) { + return + } + if (this.innerCustomer) { + const exists = this.options.some(item => item && item.code === this.innerCustomer) + if (exists) { + return + } + } + this.selectCustomer(this.options[0].code) + }, selectCustomer (code) { const option = this.options.find(item => item.code === code) || null this.innerCustomer = code @@ -104,11 +95,6 @@ export default { const option = this.options.find(item => item.code === code) || null this.$emit('input', code) this.$emit('change', code, option) - }, - confirmDialog () { - if (!this.dialogCustomer) return - this.forceDialogVisible = false - this.selectCustomer(this.dialogCustomer) } } } diff --git a/src/views/modules/order/poOrder.vue b/src/views/modules/order/poOrder.vue index 0dcf1b1..c6a1a1f 100644 --- a/src/views/modules/order/poOrder.vue +++ b/src/views/modules/order/poOrder.vue @@ -69,6 +69,10 @@ align="center" width="70">