From 2e48dcda74032f0f0dc433e1895283bd648f5f3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A6=82=E5=88=9D?= <3236758982@qq.com>
Date: Mon, 25 May 2026 10:38:03 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9D=8E=E7=BA=A2=E6=94=80=EF=BC=9AV2.0?=
=?UTF-8?q?.061=E9=87=87=E8=B4=AD=E5=85=A5=E5=BA=93=E3=80=81=E9=94=80?=
=?UTF-8?q?=E5=94=AE=E5=87=BA=E5=BA=93=E6=B7=BB=E5=8A=A0=E6=89=AB=E7=A0=81?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages-erp/purchase-in/scan-in/index.vue | 67 +-
src/pages-erp/sale-out/detail/index.vue | 531 ++++++++++++++-
src/pages-erp/sale-out/form/index.vue | 693 +++++++++++++++++++-
src/pages-erp/sale-out/scan-out/index.vue | 67 +-
4 files changed, 1227 insertions(+), 131 deletions(-)
diff --git a/src/pages-erp/purchase-in/scan-in/index.vue b/src/pages-erp/purchase-in/scan-in/index.vue
index 459a7c8..04e0827 100644
--- a/src/pages-erp/purchase-in/scan-in/index.vue
+++ b/src/pages-erp/purchase-in/scan-in/index.vue
@@ -22,29 +22,23 @@
-
+
1
扫库位
-
+
2
扫产品
-
-
- 3
- 确认
-
请扫描库位条码
- 请扫描产品条码
- 扫码完成,请确认入库
+ 产品已入库,请继续扫码
@@ -85,11 +79,11 @@
-
+
-
-
-
-
-
-
-
-
@@ -218,7 +192,7 @@ export interface ScanRecord {
operatorName?: string
}
-type Step = 'idle' | 'location_scanned' | 'product_scanned'
+type Step = 'idle' | 'scanned'
/** 页面参数:id=入库单ID, no=入库单号 */
const props = defineProps<{
@@ -327,11 +301,11 @@ function handleLocationBlur() {
}
}
-/** 产品输入框失焦处理 - 如果当前步骤是 location_scanned,自动重新聚焦 */
+/** 产品输入框失焦处理 - 如果当前步骤是 scanned,自动重新聚焦 */
function handleProductBlur() {
- if (step.value === 'location_scanned' && !scanLoading.value) {
+ if (step.value === 'scanned' && !scanLoading.value) {
setTimeout(() => {
- if (step.value === 'location_scanned') {
+ if (step.value === 'scanned') {
focusProductInput()
}
}, 100)
@@ -376,7 +350,7 @@ async function handleLocationScan() {
}
locationCode.value = code
- step.value = 'location_scanned'
+ step.value = 'scanned'
productBarCode.value = ''
productPreview.value = null
batchNo.value = ''
@@ -431,8 +405,10 @@ async function handleProductScan() {
}
productBarCode.value = code
- step.value = 'product_scanned'
+ step.value = 'scanned'
clearFeedback()
+ // 自动确认入库
+ nextTick(() => handleConfirm())
} finally {
scanLoading.value = false
}
@@ -878,23 +854,6 @@ function clearFeedback() {
}
}
-// 确认按钮
-.scan-confirm-btn {
- height: 96rpx;
- line-height: 96rpx;
- border-radius: 16rpx;
- background: #1677ff;
- color: #fff;
- font-size: 32rpx;
- font-weight: 700;
- margin-top: 8rpx;
-
- &[disabled] {
- background: #d9d9d9;
- color: #fff;
- }
-}
-
// 底部栏
.scan-footer {
position: sticky;
diff --git a/src/pages-erp/sale-out/detail/index.vue b/src/pages-erp/sale-out/detail/index.vue
index 3999026..82ac2e4 100644
--- a/src/pages-erp/sale-out/detail/index.vue
+++ b/src/pages-erp/sale-out/detail/index.vue
@@ -1,57 +1,554 @@
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ {{ detail?.no || '-' }}
+
+ {{ formatDate(detail?.outTime) }}
+ ·
+ {{ detail?.customerName || '-' }}
+
+
+
+
{{ detail?.status === 20 ? '已审核' : '未审核' }}
-
-
-
+
+
+
+
+
+
+ 基本信息
+
+
+ 客户
+ {{ detail?.customerName || '-' }}
+
+
+ 销售员
+ {{ detail?.saleUserName || '-' }}
+
+
+ 关联订单
+ {{ detail?.orderNo }}
+
+
+ 发货通知单
+ {{ detail?.deliveryNoticeNo }}
+
+
+ 结算账户
+ {{ detail?.accountName }}
+
+
+ 备注
+ {{ detail?.remark }}
+
+
+
+
+
+
+ 出库明细(共 {{ items.length }} 项)
+
+
+
+
+
+ 规格
+ {{ item.productSpec || '-' }}
+
+
+ 仓库
+ {{ item.warehouseName }}
+
+
+ 库位
+ {{ item.locationCode }}
+
+
+ 批次号
+ {{ item.batchNo }}
+
+
+ 单价
+ ¥{{ formatPrice(item.productPrice) }}
+
+
+ 金额
+ ¥{{ formatPrice(item.totalPrice) }}
+
+
+
+ 暂无产品明细
+
+
+
+
+
+ 金额汇总
+
+
+ 总数量
+ {{ formatCount(detail?.totalCount) }}
+
+
+ 产品金额
+ ¥{{ formatPrice(detail?.totalProductPrice) }}
+
+
+ 优惠率
+ {{ detail?.discountPercent }}%
+
+
+ 收款优惠
+ -¥{{ formatPrice(detail?.discountPrice) }}
+
+
+ 其它费用
+ +¥{{ formatPrice(detail?.otherPrice) }}
+
+
+
+ 应收金额
+ ¥{{ formatPrice(detail?.totalPrice) }}
+
+
+ 已收金额
+
+ ¥{{ formatPrice(detail?.receiptPrice) }}
+
+
+
+ 未收金额
+
+ ¥{{ formatPrice((detail?.totalPrice || 0) - (detail?.receiptPrice || 0)) }}
+
+
+
+
+ {{ receiptStatusText }}
+
+
+
+
+
+
+
+ 操作信息
+
+
+ 创建人
+ {{ detail?.creatorName }}
+
+
+ 创建时间
+ {{ formatDate(detail?.createTime) }}
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 审批
+
+
+ 反审批
+
+
+ 删除
+
diff --git a/src/pages-erp/sale-out/form/index.vue b/src/pages-erp/sale-out/form/index.vue
index f89a604..2863e55 100644
--- a/src/pages-erp/sale-out/form/index.vue
+++ b/src/pages-erp/sale-out/form/index.vue
@@ -1,25 +1,706 @@
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formData.orderNo }}
+ 点击选择销售订单
+
+
+ {{ formData.deliveryNoticeNo || '-' }}
+
+
+ {{ getCustomerName() || '-' }}
+
+
+
+
+
+
+
+
+
+
+ ¥{{ formData.discountPrice || 0 }}
+
+
+
+ ¥{{ (formData.totalPrice || 0) - (formData.otherPrice || 0) }}
+
+
+
+
+
+ ¥{{ formData.totalPrice || 0 }}
+
+
+
+
+
+
+
+
+ 出库明细({{ formData.items?.length || 0 }}项)
+
+
+
+
+
+ 产品 #{{ index + 1 }} {{ item.productName || '' }}
+
+
+
+ 删除
+
+
+
+
+
+
+ 仓库
+ onItemWarehouseConfirm(e, index)"
+ />
+
+
+
+ 库位编码
+
+
+
+
+ 批次号
+
+
+
+
+
+ 产品名称
+ {{ item.productName || '-' }}
+
+
+ 规格
+ {{ item.productSpec }}
+
+
+ 单位
+ {{ item.productUnitName || '-' }}
+
+
+ 条码
+ {{ item.productBarCode || '-' }}
+
+
+
+
+ 数量
+
+
+
+ 单价(元)
+
+
+
+
+
+ 税率(%)
+
+
+
+ 金额
+ {{ calcTotalPrice(item) }}
+
+
+
+ 备注
+
+
+
+
+
+ 暂无产品,请先选择关联订单
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.no }}
+
+
+
+
+ 客户
+ {{ item.customerName || '-' }}
+
+
+ 产品
+ {{ item.productNames || '-' }}
+
+
+
+
+ {{ item.totalCount || 0 }}
+
+
+ 总数量
+
+
+
+
+ {{ item.outCount || 0 }}
+
+
+ 已出库
+
+
+
+
+ ¥{{ item.totalPrice || 0 }}
+
+
+ 金额
+
+
+
+
+
+
+
+
+
+
+
+
+
-