From c89f7dcf9344a35efde2a00edb10491b401ba000 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 16 九月 2026 09:19:00 +0800
Subject: [PATCH] feat(trace): 添加种子流向信息展示功能
---
yudao-server/src/main/resources/static/trace.html | 31 +++++++++++++++++++++++++------
1 files changed, 25 insertions(+), 6 deletions(-)
diff --git a/yudao-server/src/main/resources/static/trace.html b/yudao-server/src/main/resources/static/trace.html
index afafce6..ec75dff 100644
--- a/yudao-server/src/main/resources/static/trace.html
+++ b/yudao-server/src/main/resources/static/trace.html
@@ -207,6 +207,14 @@
var BAG_STATUS = { 10: ['宸茬敓鎴�', 'gray'], 20: ['宸插鍑哄嵃鍒�', 'blue'], 30: ['宸蹭綔搴�', 'red'] };
var QUALITY_RESULT = { 0: ['澶勭悊涓�', 'gray'], 1: ['鍚堟牸', 'green'], 2: ['涓嶅悎鏍�', 'red'] };
var WORKER_TYPE = { 10: '缁勯暱', 20: '鎿嶄綔宸�', 30: '鍖呰宸�', 40: '璐ㄦ鍛�', 50: '鍏朵粬' };
+ var FLOW_DIRECTION = { 1: ['鍏ュ簱', 'green'], 2: ['鍑哄簱', 'blue'] };
+ var FLOW_BIZ_TYPE = {
+ 110: '閲囪喘鍏ュ簱', 111: '閲囪喘鍏ュ簱鍙栨秷', 112: '璋冩嫧鍑哄簱', 113: '璋冩嫧鍏ュ簱',
+ 114: '鍏朵粬鍑哄簱', 115: '鍏朵粬鍏ュ簱', 116: '鐢熶骇棰嗘枡', 117: '鐢熶骇閫�鏂�',
+ 118: '鐢熶骇鍏ュ簱', 119: '閿�鍞嚭搴�', 120: '閿�鍞��璐у叆搴�', 121: '澶栧崗鍙戞枡',
+ 122: '澶栧崗鍏ュ簱', 123: '鐢熶骇娑堣��', 124: '浜у搧浜у嚭', 125: '渚涘簲鍟嗛��璐у嚭搴�',
+ 126: '搴撳瓨璋冩暣鍏ュ簱', 127: '搴撳瓨璋冩暣鍑哄簱'
+ };
// ========== 宸ュ叿鍑芥暟 ==========
function esc(v) {
@@ -470,7 +478,7 @@
);
}
- // 鍖哄潡8锛氬彲閫夋墿灞曪紙閲囪喘鏉ユ簮 / 閿�鍞幓鍚� / 鍔犲伐娴佽浆锛夛紝鏈夋暟鎹墠灞曠ず
+ // 鍖哄潡8锛氬彲閫夋墿灞曪紙閲囪喘鏉ユ簮 / 绉嶅瓙娴佸悜淇℃伅锛堥攢鍞嚭搴擄級 / 鍔犲伐娴佽浆锛夛紝鏈夋暟鎹墠灞曠ず
function buildOptionalCard(d) {
var html = '';
if (!isEmptyList(d.purchaseSources)) {
@@ -481,13 +489,24 @@
rows += '</tbody></table>';
html += card('閲囪喘鏉ユ簮', null, rows, { collapsible: true, open: false });
}
- if (!isEmptyList(d.salesTargets)) {
- var rows2 = '<table class="mini-table"><thead><tr><th>閿�鍞嚭搴撳崟</th><th>瀹㈡埛</th><th>鏁伴噺</th><th>鏃ユ湡</th></tr></thead><tbody>';
- d.salesTargets.forEach(function (s) {
- rows2 += '<tr><td>' + text(s.outCode || s.salesOrderCode || '') + '</td><td>' + text(s.customerName) + '</td><td>' + fmtNum(s.quantity) + '</td><td>' + fmtDate(s.outTime) + '</td></tr>';
+ if (!isEmptyList(d.seedFlows)) {
+ var rows2 = '<table class="mini-table"><thead><tr><th>鏂瑰悜</th><th>涓氬姟</th><th>鏉ユ簮鍗曞彿</th><th>瀹㈡埛</th><th>鏁伴噺</th><th>鏃堕棿</th><th>浠撳簱/搴撳尯</th></tr></thead><tbody>';
+ d.seedFlows.forEach(function (f) {
+ var qty = (f.quantity === null || f.quantity === undefined) ? '-' : fmtNum(Math.abs(Number(f.quantity)));
+ var wh = [f.warehouseName, f.locationName].filter(Boolean).join(' / ') || '-';
+ rows2 += '<tr><td>' + statusBadge(FLOW_DIRECTION, f.type) + '</td><td>' + text(FLOW_BIZ_TYPE[f.bizType] || f.bizType) +
+ '</td><td>' + text(f.bizCode) + '</td><td>' + text(f.clientName) + '</td><td>' + qty + '</td><td>' +
+ fmtDate(f.transactionTime) + '</td><td>' + text(wh) + '</td></tr>';
});
rows2 += '</tbody></table>';
- html += card('閿�鍞幓鍚�', null, rows2, { collapsible: true, open: false });
+ html += card('绉嶅瓙娴佸悜淇℃伅', null, rows2, { collapsible: true, open: false });
+ } else if (!isEmptyList(d.salesTargets)) {
+ var rows2b = '<table class="mini-table"><thead><tr><th>閿�鍞嚭搴撳崟</th><th>瀹㈡埛</th><th>鏁伴噺</th><th>鏃ユ湡</th></tr></thead><tbody>';
+ d.salesTargets.forEach(function (s) {
+ rows2b += '<tr><td>' + text(s.salesCode || s.salesOrderCode || '') + '</td><td>' + text(s.clientName) + '</td><td>' + fmtNum(s.quantity) + '</td><td>' + fmtDate(s.salesDate) + '</td></tr>';
+ });
+ rows2b += '</tbody></table>';
+ html += card('绉嶅瓙娴佸悜淇℃伅', null, rows2b, { collapsible: true, open: false });
}
if (!isEmptyList(d.processTraces)) {
var rows3 = '<table class="mini-table"><thead><tr><th>鑺傜偣</th><th>璇存槑</th><th>鏃堕棿</th></tr></thead><tbody>';
--
Gitblit v1.9.3