From 0dadd48fa23109f8bb4087654d8e2dad0cbd8f20 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期三, 15 四月 2026 13:28:00 +0800
Subject: [PATCH] 新增入库功能至销售台账页面,支持选择入库状态并执行入库操作,提升用户交互体验
---
src/views/salesManagement/salesLedger/index.vue | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 53 insertions(+), 0 deletions(-)
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 4dc34f3..0965cf1 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -41,6 +41,12 @@
<el-option label="宸插彂璐�" :value="4" />
</el-select>
</el-form-item>
+ <el-form-item label="鍏ュ簱鐘舵�侊細">
+ <el-select v-model="searchForm.stockStatus" placeholder="璇烽�夋嫨" clearable style="width: 140px">
+ <el-option label="鏈叆搴�" :value="0" />
+ <el-option label="宸插叆搴�" :value="1" />
+ </el-select>
+ </el-form-item>
<el-form-item>
<el-button type="primary" @click="handleQuery"> 鎼滅储 </el-button>
</el-form-item>
@@ -59,6 +65,7 @@
@confirm="handleProcessFlowSelectConfirm"
/>
<el-space wrap>
+ <el-button type="primary" @click="handleSalesStock">鍏ュ簱</el-button>
<el-button type="primary" @click="openForm('add')">鏂板鍙拌处</el-button>
<el-button type="primary" @click="handleBulkDelivery">鍙戣揣</el-button>
<el-button type="primary" plain @click="handleImport">瀵煎叆</el-button>
@@ -201,6 +208,13 @@
<el-tag v-else-if="Number(scope.row.deliveryStatus) === 3" type="danger">瀹℃壒涓嶉�氳繃</el-tag>
<el-tag v-else-if="Number(scope.row.deliveryStatus) === 4" type="primary">瀹℃壒閫氳繃</el-tag>
<el-tag v-else-if="Number(scope.row.deliveryStatus) === 5" type="success">宸插彂璐�</el-tag>
+ <el-tag v-else type="info">-</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍏ュ簱鐘舵��" width="120" align="center">
+ <template #default="scope">
+ <el-tag v-if="Number(scope.row.stockStatus) === 0" type="info">鏈叆搴�</el-tag>
+ <el-tag v-else-if="Number(scope.row.stockStatus) === 1" type="success">宸插叆搴�</el-tag>
<el-tag v-else type="info">-</el-tag>
</template>
</el-table-column>
@@ -1395,6 +1409,7 @@
getSalesOrder,
getSalesInvoices,
getSalesLabel,
+ salesStock,
} from "@/api/salesManagement/salesLedger.js";
import { modelList, productTreeList } from "@/api/basicData/product.js";
import useFormData from "@/hooks/useFormData.js";
@@ -1443,6 +1458,7 @@
entryDateStart: undefined,
entryDateEnd: undefined,
deliveryStatus: undefined, // 鍙戣揣鐘舵�侊細1鏈彂璐� 2瀹℃壒涓� 3瀹℃壒澶辫触 4宸插彂璐�
+ stockStatus: undefined, // 鍏ュ簱鐘舵�侊細0鏈叆搴� 1宸插叆搴�
},
form: {
salesContractNo: "",
@@ -2254,6 +2270,43 @@
});
};
+// 鍏ュ簱锛堥攢鍞彴璐� -> 鍏ュ簱鐘舵�侊級
+const handleSalesStock = async () => {
+ if (selectedRows.value.length !== 1) {
+ ElMessage.warning("璇峰嬀閫変竴鏉″彴璐︽暟鎹繘琛屽叆搴�");
+ return;
+ }
+ const row = selectedRows.value[0] || {};
+ const id = row?.id;
+ if (!id) {
+ ElMessage.warning("鎵�閫夋暟鎹己灏慽d锛屾棤娉曞叆搴�");
+ return;
+ }
+ if (Number(row.stockStatus) === 1) {
+ ElMessage.info("璇ュ彴璐﹀凡鍏ュ簱锛屾棤闇�閲嶅鎿嶄綔");
+ return;
+ }
+ try {
+ await ElMessageBox.confirm("纭瀵规墍閫夊彴璐︽墽琛屽叆搴擄紵", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ });
+ } catch {
+ return;
+ }
+ proxy?.$modal?.loading?.("姝e湪鍏ュ簱锛岃绋嶅��...");
+ try {
+ await salesStock({ id });
+ proxy?.$modal?.msgSuccess?.("鍏ュ簱鎴愬姛");
+ await getList();
+ } catch (e) {
+ proxy?.$modal?.msgError?.("鍏ュ簱澶辫触锛岃绋嶅悗閲嶈瘯");
+ } finally {
+ proxy?.$modal?.closeLoading?.();
+ }
+};
+
// 鎵撳紑鈥滃伐鑹鸿矾绾块厤缃�濋�夋嫨寮圭獥锛堝繀椤绘樉寮忛�夋嫨锛�
const openProcessFlowSelect = async (ledgerRow) => {
if (!ledgerRow) return;
--
Gitblit v1.9.3