This commit is contained in:
oneao committed 2026-03-25 21:27:48 +08:00
1 parent a4e59dd5d1
commit c7240ea7c9
16 files changed
+598 -476

No files matched your search

@@ -56,7 +56,9 @@ const viewName = "v_container";
const showPreview = ref(false);
const previewIndex = ref(-1);
const previewImageList = computed(() => {
return tableData.value.map((item) => item.b_container_img).filter((img) => img);
return tableData.value
.map((item) => item.b_container_img)
.filter((img) => img);
});
const currentRow = ref({});
@@ -189,9 +191,12 @@ async function deleteRows(rows = []) {
const safeDeleteIds = deleteIds.map((id) => Number(id));
// 使用安全的 SQL 查询
const fileRes = await loadDataApi("bf_file", `father IN (${safeDeleteIds.join(",")})`, "", [
"subid",
]);
const fileRes = await loadDataApi(
"bf_file",
`father IN (${safeDeleteIds.join(",")})`,
"",
["subid"],
);
if (!fileRes.success) {
return;
@@ -267,7 +272,11 @@ async function handleDownloadOne(data) {
});
try {
const fileRes = await loadDataApi("bf_file", `father = ${data.b_id}`, "mx_xh asc");
const fileRes = await loadDataApi(
"bf_file",
`father = ${data.b_id}`,
"mx_xh asc",
);
if (!fileRes.success) {
ElMessage.error("获取附件失败");
@@ -275,7 +284,11 @@ async function handleDownloadOne(data) {
}
const downloadFiles = fileRes.data.map((item, index) => ({
mx_filename: buildFileName(data.b_container_no, index + 1, item.mx_filename),
mx_filename: buildFileName(
data.b_container_no,
index + 1,
item.mx_filename,
),
mx_mapfilename: item.mx_mapfilename,
}));
@@ -338,7 +351,11 @@ async function handleDownloadBatch() {
// 👉 先统计总文件数(用于进度)
for (const item of records) {
const fileRes = await loadDataApi("bf_file", `father = '${item.b_id}'`, "");
const fileRes = await loadDataApi(
"bf_file",
`father = '${item.b_id}'`,
"",
);
if (fileRes.success) {
total += (fileRes.data || []).length;
}
@@ -350,7 +367,11 @@ async function handleDownloadBatch() {
const folder = zip.folder(folderName);
const fileRes = await loadDataApi("bf_file", `father = '${item.b_id}'`, "mx_xh asc");
const fileRes = await loadDataApi(
"bf_file",
`father = '${item.b_id}'`,
"mx_xh asc",
);
if (!fileRes.success) {
ElMessage.error("获取附件失败");
@@ -367,7 +388,8 @@ async function handleDownloadBatch() {
const blob = await res.blob();
const fileName =
buildFileName(item.b_container_no, index + 1, file.mx_filename) || "未命名文件";
buildFileName(item.b_container_no, index + 1, file.mx_filename) ||
"未命名文件";
folder.file(fileName, blob);
} catch (e) {
@@ -432,7 +454,15 @@ function buildFileName(containerNo, index, fileName) {
</G3GridItem>
<G3GridItem label="操作员">
<el-input v-model="searchForm.username" />
<G3Select
v-model="searchForm.username"
v-model:label="searchForm.username"
search-condition="b_id <> 'g3soft'"
view-name="b_user"
value-key="b_name"
label-key="b_name"
keep-input
/>
</G3GridItem>
</G3GridGroup>
</G3Grid>
@@ -470,7 +500,7 @@ function buildFileName(containerNo, index, fileName) {
<el-button
type="danger"
@click="handleDeleteRows"
:disabled="!permissionStore.hasActionPermission(2)"
:disabled="!permissionStore.hasActionPermission(2)"
>
<el-icon class="el-icon--left">
<G3Icon icon="lucide:trash-2" />
@@ -534,7 +564,14 @@ function buildFileName(containerNo, index, fileName) {
}"
height="100%"
>
<vxe-column field="seq" type="seq" width="50" align="center" title=" " fixed="left" />
<vxe-column
field="seq"
type="seq"
width="50"
align="center"
title=" "
fixed="left"
/>
<vxe-column type="checkbox" width="50" align="center" fixed="left" />
<vxe-column
v-for="column in columns"
@@ -555,7 +592,12 @@ function buildFileName(containerNo, index, fileName) {
/>
</template>
<template v-else>
{{ formatValueByFormat(row[column.col_FieldName], column.col_DisplayFormat) }}
{{
formatValueByFormat(
row[column.col_FieldName],
column.col_DisplayFormat,
)
}}
</template>
</template>
</vxe-column>