From 9030f4f4913935611e613a4064d8e26a01cbf070 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 16 三月 2026 10:43:06 +0800
Subject: [PATCH] fix: 耗材物流-前端
---
src/views/equipmentManagement/repair/index.vue | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 49 insertions(+), 2 deletions(-)
diff --git a/src/views/equipmentManagement/repair/index.vue b/src/views/equipmentManagement/repair/index.vue
index 1e7af53..0f305ee 100644
--- a/src/views/equipmentManagement/repair/index.vue
+++ b/src/views/equipmentManagement/repair/index.vue
@@ -112,6 +112,13 @@
缂栬緫
</el-button>
<el-button
+ type="info"
+ link
+ @click="viewAttachments(row)"
+ >
+ 鏌ョ湅闄勪欢
+ </el-button>
+ <el-button
type="success"
link
:disabled="row.status === 1"
@@ -132,17 +139,26 @@
</div>
<RepairModal ref="repairModalRef" @ok="getTableData"/>
<MaintainModal ref="maintainModalRef" @ok="getTableData"/>
+ <FileListDialog
+ ref="fileListDialogRef"
+ v-model="fileDialogVisible"
+ title="鏌ョ湅闄勪欢"
+ :show-upload-button="false"
+ :show-delete-button="false"
+ name-column-label="闄勪欢鍚嶇О"
+ />
</div>
</template>
<script setup>
import { onMounted, getCurrentInstance, computed } from "vue";
import {usePaginationApi} from "@/hooks/usePaginationApi";
-import {getRepairPage, delRepair} from "@/api/equipmentManagement/repair";
+import {getRepairPage, delRepair, getRepairById} from "@/api/equipmentManagement/repair";
import RepairModal from "./Modal/RepairModal.vue";
import {ElMessageBox, ElMessage} from "element-plus";
import dayjs from "dayjs";
import MaintainModal from "./Modal/MaintainModal.vue";
+import FileListDialog from "@/components/Dialog/FileListDialog.vue";
defineOptions({
name: "璁惧鎶ヤ慨",
@@ -153,6 +169,37 @@
// 妯℃�佹瀹炰緥
const repairModalRef = ref();
const maintainModalRef = ref();
+const fileListDialogRef = ref();
+const fileDialogVisible = ref(false);
+
+const baseApi = import.meta.env.VITE_APP_BASE_API || "";
+const formatFileUrl = (url) => {
+ if (!url) return "";
+ if (url.startsWith("http://") || url.startsWith("https://")) return url;
+ const path = String(url).replace(/^\/+/, "");
+ return path ? baseApi + "/" + path : baseApi;
+};
+
+// 鏌ョ湅闄勪欢锛堜笌 APP 瀛楁涓�鑷达細fileList / commonFileList锛�
+const viewAttachments = async (row) => {
+ try {
+ const { code, data } = await getRepairById(row.id);
+ if (code === 200 && data) {
+ const list = data.fileList || data.commonFileList || [];
+ const mapped = (Array.isArray(list) ? list : []).map((f) => ({
+ id: f.id,
+ name: f.originalFilename || f.bucketFilename || f.name || "闄勪欢",
+ url: formatFileUrl(f.url || f.downloadUrl),
+ raw: f,
+ }));
+ fileListDialogRef.value?.open(mapped);
+ } else {
+ ElMessage.warning("鑾峰彇闄勪欢澶辫触");
+ }
+ } catch (e) {
+ ElMessage.error("鑾峰彇闄勪欢澶辫触");
+ }
+};
// 琛ㄦ牸澶氶�夋閫変腑椤�
const multipleList = ref([]);
@@ -232,7 +279,7 @@
dataType: "slot",
slot: "operation",
align: "center",
- width: "300px",
+ width: "360px",
},
]
);
--
Gitblit v1.9.3