refactor: 优化 HTS 描述展示格式

- 在 useIndex 和 details 组件中添加 showOverflowTooltip 属性
- 重新格式化 HTS 描述的展示方式,按层级缩进显示
- 修复查询日志导出时的状态显示,使用国际化文本
This commit is contained in:
皓月归尘 2025-04-26 02:39:45 +08:00
parent 59381dac00
commit 59a03a2042
3 changed files with 172 additions and 26 deletions

View File

@ -126,21 +126,81 @@ export const useIndex = (tableRef: Ref) => {
{ {
label: transformI18n($t("HtsDescription.tag.standard_description")), label: transformI18n($t("HtsDescription.tag.standard_description")),
prop: "result_text", prop: "result_text",
showOverflowTooltip: true,
formatter: ({ result_text }) => { formatter: ({ result_text }) => {
if (result_text.length > 0) { if (result_text.length > 0) {
if (result_text[0]["hts_data"]) { if (result_text[0]["hts_data"]) {
if (result_text[0]["hts_data"]["fiveResult"]) { let description = "";
return result_text[0]["hts_data"]["fiveResult"]["description"]; if (result_text[0]["hts_data"]["oneResult"]) {
} else if (result_text[0]["hts_data"]["fourResult"]) { description =
return result_text[0]["hts_data"]["fourResult"]["description"]; description +
} else if (result_text[0]["hts_data"]["threeResult"]) { `${
return result_text[0]["hts_data"]["threeResult"]["description"]; result_text[0]["hts_data"]["oneResult"]["htsno"]
} else if (result_text[0]["hts_data"]["secondResult"]) { ? result_text[0]["hts_data"]["oneResult"]["htsno"]
return result_text[0]["hts_data"]["secondResult"]["description"]; .replace(/(\d{2})/g, "$1.")
} else if (result_text[0]["hts_data"]["oneResult"]) { .slice(0, -1)
return result_text[0]["hts_data"]["oneResult"]["description"]; : ""
}:${result_text[0]["hts_data"]["oneResult"]["description"]}\n`;
} else {
description = description + "\n";
} }
return ""; if (result_text[0]["hts_data"]["secondResult"]) {
description =
description +
`\t${
result_text[0]["hts_data"]["secondResult"]["htsno"]
? result_text[0]["hts_data"]["secondResult"]["htsno"]
.replace(/(\d{2})/g, "$1.")
.slice(0, -1)
: ""
}:${
result_text[0]["hts_data"]["secondResult"]["description"]
}\n`;
} else {
description = description + "\t\n";
}
if (result_text[0]["hts_data"]["threeResult"]) {
description =
description +
`\t\t${
result_text[0]["hts_data"]["threeResult"]["htsno"]
? result_text[0]["hts_data"]["threeResult"]["htsno"]
.replace(/(\d{2})/g, "$1.")
.slice(0, -1)
: ""
}:${
result_text[0]["hts_data"]["threeResult"]["description"]
}\n`;
} else {
description = description + "\t\t\n";
}
if (result_text[0]["hts_data"]["fourResult"]) {
description =
description +
`\t\t\t${
result_text[0]["hts_data"]["fourResult"]["htsno"]
? result_text[0]["hts_data"]["fourResult"]["htsno"]
.replace(/(\d{2})/g, "$1.")
.slice(0, -1)
: ""
}:${result_text[0]["hts_data"]["fourResult"]["description"]}\n`;
} else {
description = description + "\t\t\t\n";
}
if (result_text[0]["hts_data"]["fiveResult"]) {
description =
description +
`\t\t\t\t${
result_text[0]["hts_data"]["fiveResult"]["htsno"]
? result_text[0]["hts_data"]["fiveResult"]["htsno"]
.replace(/(\d{2})/g, "$1.")
.slice(0, -1)
: ""
}:${result_text[0]["hts_data"]["fiveResult"]["description"]}\n`;
} else {
description = description + "\t\t\t\t\n";
}
return description;
} }
return ""; return "";
} }

View File

@ -353,24 +353,104 @@ const columns: TableColumnList = [
return ""; return "";
} }
}, },
// {
// label: transformI18n($t("HtsDescription.tag.standard_description")),
// prop: "result_text",
// formatter: ({ result_text }) => {
// if (result_text.length > 0) {
// if (result_text[0]["hts_data"]) {
// if (result_text[0]["hts_data"]["fiveResult"]) {
// return result_text[0]["hts_data"]["fiveResult"]["description"];
// } else if (result_text[0]["hts_data"]["fourResult"]) {
// return result_text[0]["hts_data"]["fourResult"]["description"];
// } else if (result_text[0]["hts_data"]["threeResult"]) {
// return result_text[0]["hts_data"]["threeResult"]["description"];
// } else if (result_text[0]["hts_data"]["secondResult"]) {
// return result_text[0]["hts_data"]["secondResult"]["description"];
// } else if (result_text[0]["hts_data"]["oneResult"]) {
// return result_text[0]["hts_data"]["oneResult"]["description"];
// }
// return "";
// }
// return "";
// }
// return "";
// }
// },
{ {
label: transformI18n($t("HtsDescription.tag.standard_description")), label: transformI18n($t("HtsDescription.tag.standard_description")),
prop: "result_text", prop: "result_text",
showOverflowTooltip: true,
formatter: ({ result_text }) => { formatter: ({ result_text }) => {
if (result_text.length > 0) { if (result_text.length > 0) {
if (result_text[0]["hts_data"]) { if (result_text[0]["hts_data"]) {
if (result_text[0]["hts_data"]["fiveResult"]) { let description = "";
return result_text[0]["hts_data"]["fiveResult"]["description"]; if (result_text[0]["hts_data"]["oneResult"]) {
} else if (result_text[0]["hts_data"]["fourResult"]) { description =
return result_text[0]["hts_data"]["fourResult"]["description"]; description +
} else if (result_text[0]["hts_data"]["threeResult"]) { `${
return result_text[0]["hts_data"]["threeResult"]["description"]; result_text[0]["hts_data"]["oneResult"]["htsno"]
} else if (result_text[0]["hts_data"]["secondResult"]) { ? result_text[0]["hts_data"]["oneResult"]["htsno"]
return result_text[0]["hts_data"]["secondResult"]["description"]; .replace(/(\d{2})/g, "$1.")
} else if (result_text[0]["hts_data"]["oneResult"]) { .slice(0, -1)
return result_text[0]["hts_data"]["oneResult"]["description"]; : ""
}:${result_text[0]["hts_data"]["oneResult"]["description"]}\n`;
} else {
description = description + "\n";
} }
return ""; if (result_text[0]["hts_data"]["secondResult"]) {
description =
description +
`\t${
result_text[0]["hts_data"]["secondResult"]["htsno"]
? result_text[0]["hts_data"]["secondResult"]["htsno"]
.replace(/(\d{2})/g, "$1.")
.slice(0, -1)
: ""
}:${result_text[0]["hts_data"]["secondResult"]["description"]}\n`;
} else {
description = description + "\t\n";
}
if (result_text[0]["hts_data"]["threeResult"]) {
description =
description +
`\t\t${
result_text[0]["hts_data"]["threeResult"]["htsno"]
? result_text[0]["hts_data"]["threeResult"]["htsno"]
.replace(/(\d{2})/g, "$1.")
.slice(0, -1)
: ""
}:${result_text[0]["hts_data"]["threeResult"]["description"]}\n`;
} else {
description = description + "\t\t\n";
}
if (result_text[0]["hts_data"]["fourResult"]) {
description =
description +
`\t\t\t${
result_text[0]["hts_data"]["fourResult"]["htsno"]
? result_text[0]["hts_data"]["fourResult"]["htsno"]
.replace(/(\d{2})/g, "$1.")
.slice(0, -1)
: ""
}:${result_text[0]["hts_data"]["fourResult"]["description"]}\n`;
} else {
description = description + "\t\t\t\n";
}
if (result_text[0]["hts_data"]["fiveResult"]) {
description =
description +
`\t\t\t\t${
result_text[0]["hts_data"]["fiveResult"]["htsno"]
? result_text[0]["hts_data"]["fiveResult"]["htsno"]
.replace(/(\d{2})/g, "$1.")
.slice(0, -1)
: ""
}:${result_text[0]["hts_data"]["fiveResult"]["description"]}\n`;
} else {
description = description + "\t\t\t\t\n";
}
return description;
} }
return ""; return "";
} }
@ -471,7 +551,10 @@ const exportToExcel = (dataList: QueryCodeLogInfo[], filename: string) => {
// const queryText = jsonData.request_params; // const queryText = jsonData.request_params;
const queryCount = jsonData.query_count; const queryCount = jsonData.query_count;
const resultCount = jsonData.result_count; const resultCount = jsonData.result_count;
const status = jsonData.status === 1 ? "成功" : "失败"; const status =
jsonData.status === 1
? transformI18n($t("tag.success"))
: transformI18n($t("tag.failed"));
const costTime = jsonData.cost_time; const costTime = jsonData.cost_time;
const operationTime = jsonData.operation_time; const operationTime = jsonData.operation_time;
if (typeof jsonData.response_result === "string") { if (typeof jsonData.response_result === "string") {
@ -482,7 +565,10 @@ const exportToExcel = (dataList: QueryCodeLogInfo[], filename: string) => {
jsonData.response_result.forEach(response => { jsonData.response_result.forEach(response => {
const queryId = response.id; const queryId = response.id;
const queryTextDetail = response.query_text; const queryTextDetail = response.query_text;
const queryStatus = response.status === 1 ? "成功" : "失败"; const queryStatus =
response.status === 1
? transformI18n($t("tag.success"))
: transformI18n($t("tag.failed"));
if (typeof response.result_text === "string") { if (typeof response.result_text === "string") {
response.result_text = JSON.parse(response.result_text); response.result_text = JSON.parse(response.result_text);

View File

@ -7,10 +7,10 @@
> >
<el-row :gutter="30"> <el-row :gutter="30">
<re-col :value="24" :xm="24" :sm="24"> <re-col :value="24" :xm="24" :sm="24">
<el-form-item :label="t('tag.account')" prop="code"> <el-form-item :label="t('review.tag.htsCode')" prop="code">
<el-input <el-input
v-model="newFormInline.code" v-model="newFormInline.code"
:placeholder="t('tip.account')" :placeholder="t('review.tip.code')"
clearable clearable
:disabled="newFormInline.way === 'Audit'" :disabled="newFormInline.way === 'Audit'"
class="w-full" class="w-full"