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 | 131 ++++++++++++++-----------------------------
1 files changed, 43 insertions(+), 88 deletions(-)
diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index ea4304b..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"
@@ -90,6 +83,11 @@
prop="unit" />
<el-table-column label="鏁伴噺"
prop="quantity" />
+ <el-table-column label="鍙敤鏁伴噺"
+ prop="availableQuality" />
+ <el-table-column label="閫�璐ф暟閲�"
+ prop="returnQuality" />
+
<el-table-column label="绋庣巼(%)"
prop="taxRate" />
<el-table-column label="鍚◣鍗曚环(鍏�)"
@@ -108,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"
@@ -129,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"
@@ -168,12 +158,10 @@
<template #default="scope">
<el-button link
type="primary"
- size="small"
@click="openForm('edit', scope.row)"
:disabled="scope.row.approvalStatus !== 1 && scope.row.approvalStatus !== 4">缂栬緫</el-button>
<el-button link
type="primary"
- size="small"
@click="downLoadFile(scope.row)">闄勪欢</el-button>
</template>
</el-table-column>
@@ -199,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">
@@ -233,10 +204,12 @@
<el-option v-for="item in supplierList"
:key="item.id"
:label="item.supplierName"
- :value="item.id" />
+ :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">
@@ -245,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"
@@ -370,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)"
@@ -446,7 +410,6 @@
<template #default="scope">
<el-button link
type="primary"
- size="small"
@click="openProductForm('edit', scope.row, scope.$index)">缂栬緫</el-button>
</template>
</el-table-column>
@@ -688,8 +651,8 @@
</el-row>
</el-form>
</FormDialog>
- <FileListDialog
- ref="fileListRef"
+ <FileListDialog
+ ref="fileListRef"
v-model="fileListDialogVisible"
title="闄勪欢鍒楄〃"
/>
@@ -1124,7 +1087,7 @@
.filter(node => node.userId)
.map(node => node.userId)
.join(",");
-
+
let params = {
productData: proxy.HaveJson(productData.value),
supplierId: form.value.supplierId,
@@ -1273,7 +1236,7 @@
return;
}
}
-
+
await getTemplateList();
operationType.value = type;
form.value = {};
@@ -1305,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) {
// 缂栬緫鏃跺姞杞芥暟鎹�
@@ -1407,7 +1370,7 @@
return;
}
const approveUserIds = approverNodes.value.map(node => node.userId).join(",");
-
+
if (productData.value.length > 0) {
// 鏂板鏃讹紝闇�瑕佷粠姣忎釜浜у搧瀵硅薄涓垹闄� id 瀛楁
let processedProductData = productData.value;
@@ -1464,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) {
@@ -1491,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(
@@ -1517,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();
}
@@ -1683,14 +1646,6 @@
const handleDelete = () => {
let ids = [];
if (selectedRows.value.length > 0) {
- // 妫�鏌ユ槸鍚︽湁浠栦汉缁存姢鐨勬暟鎹�
- const unauthorizedData = selectedRows.value.filter(
- item => item.recorderName !== userStore.nickName
- );
- if (unauthorizedData.length > 0) {
- proxy.$modal.msgWarning("涓嶅彲鍒犻櫎浠栦汉缁存姢鐨勬暟鎹�");
- return;
- }
ids = selectedRows.value.map(item => item.id);
} else {
proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
@@ -1873,7 +1828,7 @@
proxy.$modal.msgWarning("鏃犳硶鍒犻櫎璇ユā鏉�");
return;
}
-
+
try {
await ElMessageBox.confirm(
`纭畾瑕佸垹闄ゆā鏉�"${item.templateName}"鍚楋紵`,
@@ -1884,7 +1839,7 @@
type: "warning",
}
);
-
+
const res = await delPurchaseTemplate([item.id]);
if (res && res.code === 200) {
ElMessage({
@@ -1937,7 +1892,7 @@
display: flex;
align-items: center;
}
-
+
// 瀹℃壒浜鸿妭鐐瑰鍣ㄦ牱寮�
.approver-nodes-container {
display: flex;
@@ -1948,7 +1903,7 @@
border-radius: 4px;
border: 1px solid #e4e7ed;
}
-
+
.approver-node-item {
flex: 0 0 calc(33.333% - 12px);
min-width: 200px;
@@ -1957,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