From 4e591bd0b0042c4bc28f7a999ceea064f8ed5d43 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 02 六月 2026 17:28:06 +0800
Subject: [PATCH] 富边商务电子 1.发货审批点击详情的时候产品列表没有展示问题
---
src/views/procurementManagement/procurementLedger/index.vue | 117 +++++++++++++++++++---------------------------------------
1 files changed, 39 insertions(+), 78 deletions(-)
diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index 8a293fc..504ac5b 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -11,20 +11,13 @@
prefix-icon="Search"
@change="handleQuery" />
</el-form-item>
- <el-form-item label="閲囪喘鍚堝悓鍙凤細">
+ <el-form-item label="閲囪喘鍗曞彿锛�">
<el-input v-model="searchForm.purchaseContractNumber"
style="width: 240px"
placeholder="璇疯緭鍏�"
@change="handleQuery"
clearable
:prefix-icon="Search" />
- </el-form-item>
- <el-form-item label="閿�鍞悎鍚屽彿锛�">
- <el-input v-model="searchForm.salesContractNo"
- placeholder="璇疯緭鍏�"
- clearable
- prefix-icon="Search"
- @change="handleQuery" />
</el-form-item>
<el-form-item label="椤圭洰鍚嶇О锛�">
<el-input v-model="searchForm.projectName"
@@ -94,7 +87,7 @@
prop="availableQuality" />
<el-table-column label="閫�璐ф暟閲�"
prop="returnQuality" />
-
+
<el-table-column label="绋庣巼(%)"
prop="taxRate" />
<el-table-column label="鍚◣鍗曚环(鍏�)"
@@ -113,13 +106,9 @@
label="搴忓彿"
type="index"
width="60" />
- <el-table-column label="閲囪喘鍚堝悓鍙�"
+ <el-table-column label="閲囪喘鍗曞彿"
prop="purchaseContractNumber"
width="160"
- show-overflow-tooltip />
- <el-table-column label="閿�鍞悎鍚屽彿"
- prop="salesContractNo"
- width="160"
show-overflow-tooltip />
<el-table-column label="渚涘簲鍟嗗悕绉�"
prop="supplierName"
@@ -134,20 +123,16 @@
width="100"
show-overflow-tooltip>
<template #default="scope">
- <el-tag
+ <el-tag
:type="getApprovalStatusType(scope.row.approvalStatus)"
size="small">
{{ approvalStatusText[scope.row.approvalStatus] || '鏈煡鐘舵��' }}
</el-tag>
</template>
</el-table-column>
- <el-table-column label="绛捐鏃ユ湡"
+ <el-table-column label="閲囪喘鏃ユ湡"
prop="executionDate"
width="100"
- show-overflow-tooltip />
- <el-table-column label="浠樻鏂瑰紡"
- width="100"
- prop="paymentMethod"
show-overflow-tooltip />
<el-table-column label="鍚堝悓閲戦(鍏�)"
prop="contractAmount"
@@ -202,30 +187,13 @@
ref="formRef">
<el-row :gutter="30">
<el-col :span="12">
- <el-form-item label="閲囪喘鍚堝悓鍙凤細"
+ <el-form-item label="閲囪喘鍗曞彿锛�"
prop="purchaseContractNumber">
<el-input v-model="form.purchaseContractNumber"
placeholder="璇疯緭鍏�"
clearable />
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="閿�鍞悎鍚屽彿锛�"
- prop="salesLedgerId">
- <el-select v-model="form.salesLedgerId"
- placeholder="璇烽�夋嫨"
- filterable
- clearable
- @change="salesLedgerChange">
- <el-option v-for="item in salesContractList"
- :key="item.id"
- :label="item.salesContractNo"
- :value="item.id" />
- </el-select>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="30">
<el-col :span="12">
<el-form-item label="渚涘簲鍟嗗悕绉帮細"
prop="supplierId">
@@ -236,10 +204,12 @@
<el-option v-for="item in supplierList"
:key="item.id"
:label="item.supplierName"
- :value="item.id" >{{item.supplierName + '---' + item.supplierType}}</el-option>
+ :value="item.id" >{{item.supplierName + '---' + item.supplierType}}</el-option>
</el-select>
</el-form-item>
</el-col>
+ </el-row>
+ <el-row :gutter="30">
<el-col :span="12">
<el-form-item label="椤圭洰鍚嶇О"
prop="projectName">
@@ -248,17 +218,8 @@
clearable />
</el-form-item>
</el-col>
- </el-row>
- <el-row :gutter="30">
<el-col :span="12">
- <el-form-item label="浠樻鏂瑰紡">
- <el-input v-model="form.paymentMethod"
- placeholder="璇疯緭鍏�"
- clearable />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="绛捐鏃ユ湡锛�"
+ <el-form-item label="閲囪喘鏃ユ湡锛�"
prop="executionDate">
<el-date-picker style="width: 100%"
v-model="form.executionDate"
@@ -373,7 +334,7 @@
:value="item.templateName">
<div style="display: flex; justify-content: space-between; align-items: center;">
<span>{{ item.templateName }}</span>
- <el-icon
+ <el-icon
v-if="item.id"
class="delete-icon"
@click.stop="handleDeleteTemplate(item)"
@@ -690,8 +651,8 @@
</el-row>
</el-form>
</FormDialog>
- <FileListDialog
- ref="fileListRef"
+ <FileListDialog
+ ref="fileListRef"
v-model="fileListDialogVisible"
title="闄勪欢鍒楄〃"
/>
@@ -1126,7 +1087,7 @@
.filter(node => node.userId)
.map(node => node.userId)
.join(",");
-
+
let params = {
productData: proxy.HaveJson(productData.value),
supplierId: form.value.supplierId,
@@ -1275,7 +1236,7 @@
return;
}
}
-
+
await getTemplateList();
operationType.value = type;
form.value = {};
@@ -1307,15 +1268,15 @@
form.value.entryDate = getCurrentDate();
if (type === "add") {
- // 鏂板鏃剁敓鎴愰噰璐悎鍚屽彿
+ // 鏂板鏃剁敓鎴愰噰璐崟鍙�
try {
const purchaseNoRes = await createPurchaseNo();
if (purchaseNoRes?.data) {
form.value.purchaseContractNumber = purchaseNoRes.data;
}
} catch (error) {
- console.error("鐢熸垚閲囪喘鍚堝悓鍙峰け璐�:", error);
- proxy.$modal.msgWarning("鐢熸垚閲囪喘鍚堝悓鍙峰け璐�");
+ console.error("鐢熸垚閲囪喘鍗曞彿澶辫触:", error);
+ proxy.$modal.msgWarning("鐢熸垚閲囪喘鍗曞彿澶辫触");
}
} else if (type === "edit" && row?.id) {
// 缂栬緫鏃跺姞杞芥暟鎹�
@@ -1409,7 +1370,7 @@
return;
}
const approveUserIds = approverNodes.value.map(node => node.userId).join(",");
-
+
if (productData.value.length > 0) {
// 鏂板鏃讹紝闇�瑕佷粠姣忎釜浜у搧瀵硅薄涓垹闄� id 瀛楁
let processedProductData = productData.value;
@@ -1466,17 +1427,17 @@
productForm.value = {};
proxy.resetForm("productFormRef");
productFormVisible.value = true;
-
+
// 鍏堣幏鍙栦骇鍝侀�夐」锛岀‘淇濇暟鎹姞杞藉畬鎴�
await getProductOptions();
-
+
// 绛夊緟 DOM 鏇存柊
await nextTick();
-
+
if (type === "edit") {
// 澶嶅埗琛屾暟鎹�
productForm.value = { ...row };
-
+
// 濡傛灉鏄粠妯℃澘鍔犺浇鐨勬暟鎹紝鍙兘娌℃湁 productId 鍜� productModelId
// 闇�瑕佹牴鎹� productCategory 鍜� specificationModel 鏉ユ煡鎵惧搴旂殑 ID
if (!productForm.value.productId && productForm.value.productCategory) {
@@ -1493,17 +1454,17 @@
}
return null;
};
-
+
const productId = findProductIdByCategory(productOptions.value, productForm.value.productCategory);
if (productId) {
productForm.value.productId = productId;
// 鑾峰彇鍨嬪彿鍒楄〃骞剁瓑寰呭畬鎴�
const modelRes = await modelList({ id: productId });
modelOptions.value = modelRes;
-
+
// 绛夊緟 DOM 鏇存柊
await nextTick();
-
+
// 鏍规嵁 specificationModel 鏌ユ壘 productModelId
if (productForm.value.specificationModel && modelOptions.value.length > 0) {
const modelItem = modelOptions.value.find(
@@ -1519,15 +1480,15 @@
} else if (productForm.value.productId) {
// 濡傛灉鏈� productId锛屾甯稿姞杞藉瀷鍙峰垪琛�
await getModels(productForm.value.productId);
-
+
// 绛夊緟 DOM 鏇存柊
await nextTick();
-
+
if (productForm.value.productModelId) {
getProductModel(productForm.value.productModelId);
}
}
-
+
// 鏈�鍚庡啀绛夊緟涓�娆� DOM 鏇存柊锛岀‘淇濇墍鏈夋暟鎹兘宸茶缃�
await nextTick();
}
@@ -1867,7 +1828,7 @@
proxy.$modal.msgWarning("鏃犳硶鍒犻櫎璇ユā鏉�");
return;
}
-
+
try {
await ElMessageBox.confirm(
`纭畾瑕佸垹闄ゆā鏉�"${item.templateName}"鍚楋紵`,
@@ -1878,7 +1839,7 @@
type: "warning",
}
);
-
+
const res = await delPurchaseTemplate([item.id]);
if (res && res.code === 200) {
ElMessage({
@@ -1931,7 +1892,7 @@
display: flex;
align-items: center;
}
-
+
// 瀹℃壒浜鸿妭鐐瑰鍣ㄦ牱寮�
.approver-nodes-container {
display: flex;
@@ -1942,7 +1903,7 @@
border-radius: 4px;
border: 1px solid #e4e7ed;
}
-
+
.approver-node-item {
flex: 0 0 calc(33.333% - 12px);
min-width: 200px;
@@ -1951,38 +1912,38 @@
border-radius: 4px;
border: 1px solid #dcdfe6;
transition: all 0.3s;
-
+
&:hover {
border-color: #409eff;
box-shadow: 0 2px 8px rgba(64, 158, 255, 0.1);
}
}
-
+
.approver-node-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 8px;
}
-
+
.approver-node-label {
font-size: 13px;
font-weight: 500;
color: #606266;
}
-
+
@media (max-width: 1200px) {
.approver-node-item {
flex: 0 0 calc(50% - 8px);
}
}
-
+
@media (max-width: 768px) {
.approver-node-item {
flex: 0 0 100%;
}
}
-
+
// 鍒犻櫎鍥炬爣鏍峰紡
.delete-icon {
transition: all 0.3s;
--
Gitblit v1.9.3