| | |
| | | item.operateQuantity = String(Math.max(0, n)); |
| | | }; |
| | | |
| | | const hasEditableInboundItems = computed(() => { |
| | | if (!recordList.value?.length) return false; |
| | | return recordList.value.some(item => !isFullyStocked(item)); |
| | | }); |
| | | |
| | | const formatCell = (item, row, idx) => { |
| | | if (row.key === "index") { |
| | | const v = item.index; |
| | |
| | | }; |
| | | |
| | | const handleSelectContact = data => { |
| | | if (data?.source === "scanShip") return; |
| | | const { stepIndex, contact } = data || {}; |
| | | if (stepIndex === null || stepIndex === undefined) return; |
| | | const idx = Number(stepIndex); |
| | |
| | | modal.msgError("缺少订单信息,请重新扫码"); |
| | | return; |
| | | } |
| | | if (!hasEditableInboundItems.value) { |
| | | modal.msgError("该产品已经全部入库"); |
| | | return; |
| | | } |
| | | const salesLedgerProductList = buildSalesLedgerProductList(recordList.value); |
| | | if (!hasAnyPositiveStockedQty(salesLedgerProductList)) { |
| | | modal.msgError("请至少填写一行大于 0 的入库数量"); |
| | |
| | | } |
| | | const runApi = currentSubmitConfig.runApi; |
| | | const approveUserIds = stockApproverNodes.value.map(node => node.userId).join(","); |
| | | const payload = currentSubmitConfig.payloadBuilder(salesLedgerProductList, approveUserIds); |
| | | const payload = currentSubmitConfig.payloadBuilder( |
| | | salesLedgerProductList, |
| | | approveUserIds |
| | | ); |
| | | try { |
| | | submitLoading.value = true; |
| | | modal.loading("提交中..."); |
| | |
| | | .module-icon { |
| | | width: 140rpx; |
| | | height: 140rpx; |
| | | min-width: 140rpx; |
| | | min-height: 140rpx; |
| | | flex-shrink: 0; |
| | | border-radius: 32rpx; |
| | | display: flex; |
| | | justify-content: center; |
| | |
| | | .module-info { |
| | | display: flex; |
| | | flex-direction: column; |
| | | flex: 1; |
| | | min-width: 0; |
| | | } |
| | | |
| | | .module-label { |