From c2ded572eff614cf2a259e263e60a5e8feb3e676 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 23 四月 2026 16:52:30 +0800
Subject: [PATCH] fix: 销售订单发货状态修改
---
src/views/salesManagement/deliveryLedger/index.vue | 60 ++++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 42 insertions(+), 18 deletions(-)
diff --git a/src/views/salesManagement/deliveryLedger/index.vue b/src/views/salesManagement/deliveryLedger/index.vue
index de52c68..7e96f23 100644
--- a/src/views/salesManagement/deliveryLedger/index.vue
+++ b/src/views/salesManagement/deliveryLedger/index.vue
@@ -34,6 +34,9 @@
<el-table-column label="閿�鍞鍗�" prop="salesContractNo" show-overflow-tooltip />
<el-table-column label="鍙戣揣璁㈠崟鍙�" prop="shippingNo" show-overflow-tooltip />
<el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" show-overflow-tooltip />
+ <el-table-column label="浜у搧鍚嶇О" prop="productName" show-overflow-tooltip />
+ <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" show-overflow-tooltip />
+ <el-table-column label="鍘氬害(mm)" prop="thickness" show-overflow-tooltip />
<el-table-column label="鍙戣揣鏃堕棿" prop="shippingDate" show-overflow-tooltip />
<el-table-column label="鍙戣揣杞︾墝鍙�" prop="shippingCarNumber" show-overflow-tooltip />
<el-table-column label="蹇�掑叕鍙�" prop="expressCompany" show-overflow-tooltip />
@@ -45,24 +48,22 @@
</el-tag>
</template>
</el-table-column>
- <el-table-column fixed="right" label="鎿嶄綔" width="200" align="center">
+ <el-table-column fixed="right" label="鎿嶄綔" width="220" align="center">
<template #default="scope">
<el-button
link
- type="primary"
- size="small"
+ type="primary"
:disabled="!isApproved(scope.row.status)"
@click="openForm('edit', scope.row)">琛ュ厖鍙戣揣淇℃伅</el-button>
<el-button
link
type="primary"
- size="small"
+ style="color: #67C23A"
@click="openDetail(scope.row)"
>璇︽儏</el-button>
<el-button
link
- type="danger"
- size="small"
+ type="danger"
:disabled="isApproving(scope.row.status)"
@click="handleDeleteSingle(scope.row)">鍒犻櫎</el-button>
</template>
@@ -180,6 +181,8 @@
<el-descriptions-item label="閿�鍞鍗�">{{ detailRow.salesContractNo || '--' }}</el-descriptions-item>
<el-descriptions-item label="鍙戣揣璁㈠崟鍙�">{{ detailRow.shippingNo || '--' }}</el-descriptions-item>
<el-descriptions-item label="瀹㈡埛鍚嶇О">{{ detailRow.customerName || '--' }}</el-descriptions-item>
+ <el-descriptions-item label="浜у搧鍚嶇О">{{ detailRow.productName || '--' }}</el-descriptions-item>
+ <el-descriptions-item label="瑙勬牸鍨嬪彿">{{ detailRow.specificationModel || '--' }}</el-descriptions-item>
<el-descriptions-item label="鍙戣揣绫诲瀷">{{ detailRow.type || '--' }}</el-descriptions-item>
<el-descriptions-item label="鍙戣揣鏃ユ湡">{{ detailRow.shippingDate || '--' }}</el-descriptions-item>
<el-descriptions-item label="瀹℃牳鐘舵��">{{ getApprovalStatusText(detailRow.status) }}</el-descriptions-item>
@@ -242,20 +245,37 @@
const detailRow = ref(null);
const detailImages = ref([]);
+const getFileAccessUrl = (file = {}) => {
+ if (file?.link) {
+ if (String(file.link).startsWith('http')) return file.link;
+ return normalizeFileUrl(file.link);
+ }
+ return normalizeFileUrl(file?.url || '');
+};
+
const normalizeFileUrl = (rawUrl = '') => {
let fileUrl = rawUrl || '';
- // Windows 璺緞杞� URL
+
if (fileUrl && fileUrl.indexOf('\\') > -1) {
- const uploadsIndex = fileUrl.toLowerCase().indexOf('uploads');
- if (uploadsIndex > -1) {
- const relativePath = fileUrl.substring(uploadsIndex).replace(/\\/g, '/');
- fileUrl = '/' + relativePath;
- } else {
- const parts = fileUrl.split('\\');
- const fileName = parts[parts.length - 1];
- fileUrl = '/uploads/' + fileName;
- }
+ fileUrl = fileUrl.replace(/\\/g, '/');
}
+
+ const lowerPath = fileUrl.toLowerCase();
+
+ const uploadPathIndex = lowerPath.indexOf('/uploadpath/');
+ if (uploadPathIndex > -1) {
+ fileUrl = '/profile' + fileUrl.substring(uploadPathIndex + '/uploadpath'.length);
+ }
+
+ const fileRootIndex = fileUrl.toLowerCase().indexOf('/file/');
+ if (!fileUrl.startsWith('/profile/') && fileRootIndex > -1) {
+ fileUrl = '/profile' + fileUrl.substring(fileRootIndex + '/file'.length);
+ }
+
+ if (!fileUrl.startsWith('http') && fileUrl.toLowerCase().startsWith('profile/')) {
+ fileUrl = '/' + fileUrl;
+ }
+
if (fileUrl && !fileUrl.startsWith('http')) {
if (!fileUrl.startsWith('/')) fileUrl = '/' + fileUrl;
fileUrl = javaApi + fileUrl;
@@ -284,6 +304,8 @@
id: null,
salesContractNo: "",
customerName: "",
+ specificationModel: "",
+ productName: "",
type: "璐ц溅", // 璐ц溅, 蹇��
shippingDate: "",
shippingCarNumber: "",
@@ -373,7 +395,7 @@
// 濡傛灉鏈夊浘鐗囷紝灏� commonFileList 杞崲涓烘枃浠跺垪琛ㄦ牸寮�
if (row.commonFileList && Array.isArray(row.commonFileList) && row.commonFileList.length > 0) {
deliveryFileList.value = row.commonFileList.map((file, index) => {
- const fileUrl = normalizeFileUrl(file.url || '');
+ const fileUrl = getFileAccessUrl(file);
return {
uid: file.id || Date.now() + index,
@@ -415,7 +437,7 @@
detailRow.value = row || null;
const list = Array.isArray(row?.commonFileList) ? row.commonFileList : [];
detailImages.value = list
- .map((f) => ({ url: normalizeFileUrl(f?.url || '') }))
+ .map((f) => ({ url: getFileAccessUrl(f) }))
.filter((i) => !!i.url);
detailDialogVisible.value = true;
};
@@ -633,6 +655,7 @@
'瀹℃牳涓�': '瀹℃牳涓�',
'瀹℃牳鎷掔粷': '瀹℃牳鎷掔粷',
'瀹℃牳閫氳繃': '瀹℃牳閫氳繃',
+ '宸插彂璐�': '宸插彂璐�',
'0': '寰呭鏍�',
'1': '瀹℃牳涓�',
'2': '瀹℃牳鎷掔粷',
@@ -663,6 +686,7 @@
'瀹℃牳涓�': 'warning',
'瀹℃牳鎷掔粷': 'danger',
'瀹℃牳閫氳繃': 'success',
+ '宸插彂璐�': 'success',
'0': 'info',
'1': 'warning',
'2': 'danger',
--
Gitblit v1.9.3