From f383d3f8212e77a45bd6e99b0a4f8b7566f8339c Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期日, 05 七月 2026 11:25:07 +0800
Subject: [PATCH] Merge branch 'dev_NEW_pro' into dev_pro_山西长治
---
src/views/procurementManagement/purchaseReturnOrder/New.vue | 97 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 85 insertions(+), 12 deletions(-)
diff --git a/src/views/procurementManagement/purchaseReturnOrder/New.vue b/src/views/procurementManagement/purchaseReturnOrder/New.vue
index 9474b11..186a552 100644
--- a/src/views/procurementManagement/purchaseReturnOrder/New.vue
+++ b/src/views/procurementManagement/purchaseReturnOrder/New.vue
@@ -58,6 +58,63 @@
</el-form-item>
<el-form-item
+ label="鍙戣揣绫诲瀷"
+ prop="shippingType"
+ :rules="[
+ {
+ required: true,
+ message: '璇烽�夋嫨鍙戣揣绫诲瀷',
+ trigger: 'change',
+ }
+ ]"
+ >
+ <el-select
+ v-model="formState.shippingType"
+ placeholder="璇烽�夋嫨鍙戣揣绫诲瀷"
+ style="width: 240px"
+ @change="handleShippingTypeChange"
+ >
+ <el-option label="璐ц溅" :value="1" />
+ <el-option label="蹇��" :value="2" />
+ </el-select>
+ </el-form-item>
+
+ <el-form-item
+ v-if="formState.shippingType === 1"
+ label="鍙戣揣杞︾墝鍙�"
+ prop="truckPlateNo"
+ >
+ <el-input
+ v-model="formState.truckPlateNo"
+ placeholder="璇疯緭鍏ュ彂璐ц溅鐗屽彿"
+ style="width: 240px"
+ />
+ </el-form-item>
+
+ <template v-else-if="formState.shippingType === 2">
+ <el-form-item
+ label="蹇�掑叕鍙�"
+ prop="expressCompany"
+ >
+ <el-input
+ v-model="formState.expressCompany"
+ placeholder="璇疯緭鍏ュ揩閫掑叕鍙�"
+ style="width: 240px"
+ />
+ </el-form-item>
+ <el-form-item
+ label="蹇�掑崟鍙�"
+ prop="expressNo"
+ >
+ <el-input
+ v-model="formState.expressNo"
+ placeholder="璇疯緭鍏ュ揩閫掑崟鍙�"
+ style="width: 240px"
+ />
+ </el-form-item>
+ </template>
+
+ <el-form-item
label="渚涘簲鍟嗗悕绉�"
prop="supplierId"
:rules="[
@@ -259,13 +316,16 @@
<el-table-column label="鏁伴噺"
prop="stockInNum"
width="100" />
+ <el-table-column label="閿�鍞彂璐ф暟閲�"
+ prop="saleOutQuantity"
+ width="120" />
<el-table-column label="鍙��璐ф暟閲�"
prop="unQuantity"
width="130" />
<el-table-column label="宸查��璐ф暟閲�"
width="130">
<template #default="scope">
- {{ calcAlreadyReturned(scope.row) }}
+ {{ formattedNumber(scope.row, null, scope.row.totalReturnNum || 0) }}
</template>
</el-table-column>
<el-table-column label="閫�璐ф暟閲�"
@@ -420,7 +480,7 @@
<script setup>
import {ref, computed, getCurrentInstance, watch, defineAsyncComponent} from "vue";
import {createPurchaseReturnOrder} from "@/api/procurementManagement/purchase_return_order.js";
-import {getOptions, purchaseList} from "@/api/procurementManagement/procurementLedger.js";
+import {getOptions, purchaseReturnableList} from "@/api/procurementManagement/procurementLedger.js";
import {userListNoPageByTenantId} from "@/api/system/user.js";
const ProductList = defineAsyncComponent(() => import("@/views/procurementManagement/purchaseReturnOrder/ProductList.vue"));
const props = defineProps({
@@ -455,6 +515,10 @@
no: '',
isDefaultNo: true,
returnType: 0,
+ shippingType: undefined,
+ truckPlateNo: '',
+ expressCompany: '',
+ expressNo: '',
incomeType: undefined,
remark: '',
supplierId: undefined,
@@ -501,6 +565,19 @@
// 鏄惁灞曠ず浜у搧鍒楄〃鏁版嵁
const isShowProductsModal = ref(false)
+const handleShippingTypeChange = (val) => {
+ if (val === 1) {
+ formState.value.expressCompany = '';
+ formState.value.expressNo = '';
+ } else if (val === 2) {
+ formState.value.truckPlateNo = '';
+ } else {
+ formState.value.truckPlateNo = '';
+ formState.value.expressCompany = '';
+ formState.value.expressNo = '';
+ }
+};
+
const isShow = computed({
get() {
return props.visible;
@@ -528,14 +605,6 @@
const toNumber = (val) => {
const num = Number(val)
return Number.isNaN(num) ? 0 : num
-}
-
-/** 宸查��璐ф暟閲� = 鍏ュ簱琛屾�绘暟閲� 鈭� 褰撳墠鍙��璐ф暟閲忥紙鍓╀綑锛� */
-const calcAlreadyReturned = (row) => {
- const total = Number(row?.stockInNum ?? row?.totalQuantity ?? row?.quantity ?? 0)
- const un = Number(row?.unQuantity ?? 0)
- if (!Number.isFinite(total) || !Number.isFinite(un)) return 0
- return Math.max(total - un, 0)
}
const getReturnTotal = (row) => {
@@ -581,6 +650,10 @@
}
const closeModal = () => {
+ formState.value.shippingType = undefined;
+ formState.value.truckPlateNo = '';
+ formState.value.expressCompany = '';
+ formState.value.expressNo = '';
isShow.value = false;
};
@@ -674,7 +747,7 @@
const fetchPurchaseLedgerOptions = () => {
purchaseLedgerOptions.value = []
if (formState.value.supplierId) {
- purchaseList({supplierId: formState.value.supplierId,approvalStatus:3}).then((res) => {
+ purchaseReturnableList({ supplierId: formState.value.supplierId }).then((res) => {
purchaseLedgerOptions.value = res.rows;
});
}
@@ -805,4 +878,4 @@
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3