From 11d7990309ddace2fa600cbeae58e3ab5ac368f9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 20 九月 2026 19:25:45 +0800
Subject: [PATCH] 新疆-融邦 1. 委外管理:新增合作商档案、委外订单、往来台账三个页面及接口;合作商附件弹框支持直接上传/删除并即时保存。 2. 信托基金与代储台账:客户档案加「信托基金 / 代储金额」并对超限标红提示;销售台账拆「卖油 / 代储」页签,代储走油库+储罐+合同金额,卖油保留产品明细;台账列表加审批状态与超限红字;审批中心显示销售合同号并能下钻台账明细。 3. 储罐号带入库存:储罐信息表单加「是否启用 / 用途 / 租客信息」联动与校验;库存管理、批号明细、入库/出库表单与列表补齐储罐号、油品、物流、过磅等字段展示。 4. 出库即发货与往来备件:出库台账区分「发货单 / 油品出库」两类来源并分别处理详情;新增备件出入库流水页面。 5. 车辆管理与残油联动:新增车辆管理页面;油品出入库表单物流信息顺序调整,车牌/车挂牌号联动只读。 6. 油品出库联动发货台账:发货台账加「发货单号 / 销售合同号」筛选,修复油品出库行批号列取错字段。 7. 采购申请模块:新增采购申请页面及接口。 8. 付款流水组件:抽出公共「付款流水」弹框组件,采购付款分栏、收付款台账与委外往来台账复用。 9. 列调整:收付款台账删除「付款金额 / 退货金额」;委外往来台账删除「回款金额」,并去掉金额列右对齐。
---
src/views/inventoryManagement/issueManagement/index.vue | 48 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 47 insertions(+), 1 deletions(-)
diff --git a/src/views/inventoryManagement/issueManagement/index.vue b/src/views/inventoryManagement/issueManagement/index.vue
index 2bba7d0..f89648f 100644
--- a/src/views/inventoryManagement/issueManagement/index.vue
+++ b/src/views/inventoryManagement/issueManagement/index.vue
@@ -53,8 +53,15 @@
</div>
<el-dialog v-model="dialogFormVisible" :title="'鏂板鍑哄簱'" width="40%" @close="closeDia">
<el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
- <el-form-item label="鍑哄簱鏁伴噺锛�" prop="salesContractNo">
+ <el-form-item label="鍑哄簱鏁伴噺锛�" prop="inboundQuantity">
<el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.inboundQuantity" placeholder="璇疯緭鍏�" clearable />
+ </el-form-item>
+ <el-form-item label="鍑哄簱鎵规锛�" prop="batchNo">
+ <el-select v-model="form.batchNo" placeholder="璇烽�夋嫨鍑哄簱鎵规" clearable filterable
+ v-loading="batchLoading" style="width: 100%">
+ <el-option v-for="item in batchOptions" :key="item.batchNo"
+ :label="`${item.batchNo}锛堝彲鐢� ${item.availableQuantity}锛塦" :value="item.batchNo" />
+ </el-select>
</el-form-item>
<el-form-item label="鍑哄簱鏃ユ湡锛�" prop="projectName">
<el-date-picker style="width: 100%" v-model="form.inboundTime" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
@@ -89,6 +96,7 @@
getStockManagePage,
delStockManage,
stockOut,
+ getBatchNoList,
} from "@/api/inventoryManagement/stockManage.js";
const userStore = useUserStore()
@@ -121,6 +129,7 @@
rules: {
inboundTime: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
inboundQuantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ batchNo: [{ required: true, message: "璇烽�夋嫨鍑哄簱鎵规", trigger: "change" }],
nickname: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }]
}
})
@@ -179,6 +188,10 @@
const currentRowNum = ref(0)
const salesLedgerProductId = ref(null);
+const currentRowProductModelId = ref(null)
+// 鍑哄簱鎵规鍙�夐」锛堝彲鐢ㄩ噺 = 搴撳瓨閲� - 閿佸畾鏁伴噺锛�
+const batchOptions = ref([])
+const batchLoading = ref(false)
// 鎵撳紑寮规
const openForm = async (row) => {
@@ -186,15 +199,18 @@
currentRowId.value = row.id
currentRowNum.value = row.inboundNum0
salesLedgerProductId.value = row.salesLedgerProductId
+ currentRowProductModelId.value = row.productModelId
form.value = {}
// 鍒濆鍖栬〃鍗曟暟鎹�
form.value = {
productrecordId: '',
inboundQuantity: '', // 鍑哄簱鏁伴噺娓呯┖
+ batchNo: '', // 鍑哄簱鎵规娓呯┖
inboundTime: getCurrentDate(), // 榛樿褰撳墠鏃ユ湡
nickName: '', // 榛樿褰撳墠鐢ㄦ埛
}
console.log('form',form.value)
+ loadBatchOptions()
// 鍔犺浇鐢ㄦ埛鍒楄〃
try {
const userLists = await userListNoPageByTenantId()
@@ -204,17 +220,47 @@
}
}
+// 鍔犺浇瑙勬牸鍨嬪彿涓嬬殑鍙敤鎵规
+const loadBatchOptions = async () => {
+ batchOptions.value = []
+ if (!currentRowProductModelId.value) {
+ proxy.$modal.msgWarning('褰撳墠璁板綍缂哄皯瑙勬牸鍨嬪彿锛屾棤娉曟煡璇㈠嚭搴撴壒娆�')
+ return
+ }
+ batchLoading.value = true
+ try {
+ const res = await getBatchNoList(currentRowProductModelId.value)
+ batchOptions.value = res.data || []
+ } catch (error) {
+ console.error('鏌ヨ鍑哄簱鎵规澶辫触:', error)
+ } finally {
+ batchLoading.value = false
+ }
+}
+
// 鎻愪氦琛ㄥ崟
const submitForm = () => {
let num = Number(form.value.inboundQuantity)
if(num <= 0 || num > currentRowNum.value){
return proxy.$modal.msgWarning("璇峰~鍏ユ湁鏁堟暟瀛�")
}
+ // 搴撳瓨鎸夋壒娆$鐞嗐�佹棤鍏堣繘鍏堝嚭锛屾暟閲忎笉鑳借秴杩囨墍閫夋壒娆$殑鍙敤閲�
+ const selectedBatch = batchOptions.value.find(
+ item => item.batchNo === form.value.batchNo
+ )
+ if (selectedBatch && num > Number(selectedBatch.availableQuantity)) {
+ return proxy.$modal.msgWarning(
+ `鍑哄簱鏁伴噺涓嶈兘瓒呰繃鎵规銆�${selectedBatch.batchNo}銆嶇殑鍙敤閲� ${selectedBatch.availableQuantity}`
+ )
+ }
proxy.$refs["formRef"].validate(valid => {
if (valid && currentRowId.value) {
const outData = {
id: currentRowId.value, // 鍘熷璁板綍ID
+ type: 2, // 2=閿�鍞嚭搴擄紝鍑哄簱鍗宠嚜鍔ㄧ敓鎴愬彂璐у彴璐�
salesLedgerProductId: salesLedgerProductId.value,
+ productModelId: currentRowProductModelId.value,
+ batchNo: form.value.batchNo, // 鍑哄簱鎵规锛堥攢鍞嚭搴撳繀濉級
quantity: form.value.inboundQuantity, // 鍑哄簱鏁伴噺
time: form.value.inboundTime, // 鍑哄簱鏃堕棿
userId: form.value.nickName // 鎿嶄綔浜�
--
Gitblit v1.9.3