From 2fc58fbb10745abd97168b8da21d4142e11d7f2e Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期四, 18 十二月 2025 13:36:43 +0800
Subject: [PATCH] 新增设备维修保养过程描述,上传对应附件
---
src/views/equipmentManagement/upkeep/index.vue | 73 +++++++++++++++++++++++++++++-------
1 files changed, 59 insertions(+), 14 deletions(-)
diff --git a/src/views/equipmentManagement/upkeep/index.vue b/src/views/equipmentManagement/upkeep/index.vue
index 7183964..00312b7 100644
--- a/src/views/equipmentManagement/upkeep/index.vue
+++ b/src/views/equipmentManagement/upkeep/index.vue
@@ -59,6 +59,9 @@
<el-button type="success" icon="Van" @click="addPlan">
鏂板璁″垝
</el-button>
+ <el-button @click="handleOut">
+ 瀵煎嚭
+ </el-button>
<el-button
type="danger"
icon="Delete"
@@ -104,6 +107,14 @@
缂栬緫
</el-button>
<el-button
+ type="primary"
+ text
+ icon="editPen"
+ @click="showImage(row)"
+ >
+ 闄勪欢
+ </el-button>
+ <el-button
type="danger"
text
icon="delete"
@@ -116,21 +127,25 @@
</div>
<PlanModal ref="planModalRef" @ok="getTableData" />
<MaintenanceModal ref="maintainModalRef" @ok="getTableData" />
+ <ImagePreviewDialog v-model:model-value="showImages" :images="imageUrls" />
</div>
</template>
<script setup>
import { usePaginationApi } from "@/hooks/usePaginationApi";
-import { getUpkeepPage, delUpkeep } from "@/api/equipmentManagement/upkeep";
-import { onMounted } from "vue";
+import {getUpkeepPage, delUpkeep, getUpkeepById} from "@/api/equipmentManagement/upkeep";
+import { onMounted, getCurrentInstance } from "vue";
import PlanModal from "./Modal/PlanModal.vue";
import MaintenanceModal from "./Modal/MaintenanceModal.vue";
+import ImagePreviewDialog from "@/components/ImagePreview/ImagePreviewDialog.vue";
import dayjs from "dayjs";
import { ElMessageBox, ElMessage } from "element-plus";
defineOptions({
name: "璁惧淇濆吇",
});
+
+const { proxy } = getCurrentInstance();
// 璁″垝寮圭獥鎺у埗鍣�
const planModalRef = ref();
@@ -139,6 +154,9 @@
// 琛ㄦ牸澶氶�夋閫変腑椤�
const multipleList = ref([]);
+
+const showImages = ref(false)
+const imageUrls = ref([])
// 澶氶�夊悗鍋氫粈涔�
const handleSelectionChange = (selectionList) => {
@@ -154,7 +172,12 @@
getTableData,
resetFilters,
onCurrentChange,
-} = usePaginationApi(getUpkeepPage, {}, [
+} = usePaginationApi(getUpkeepPage, {
+ deviceName: undefined,
+ maintenancePlanTime: undefined,
+ maintenanceActuallyTime: undefined,
+ maintenanceActuallyName: undefined,
+}, [
{
label: "璁惧鍚嶇О",
align: "center",
@@ -176,13 +199,13 @@
align: "center",
prop: "createUserName",
},
- {
- label: "褰曞叆鏃ユ湡",
- align: "center",
- prop: "createTime",
- formatData: (cell) => dayjs(cell).format("YYYY-MM-DD HH:mm:ss"),
- width: 200,
- },
+ // {
+ // label: "褰曞叆鏃ユ湡",
+ // align: "center",
+ // prop: "createTime",
+ // formatData: (cell) => dayjs(cell).format("YYYY-MM-DD HH:mm:ss"),
+ // width: 200,
+ // },
{
label: "瀹為檯淇濆吇浜�",
align: "center",
@@ -215,7 +238,7 @@
dataType: "slot",
slot: "operation",
align: "center",
- width: "200px",
+ width: "300px",
},
]);
// type == 1瀹為檯淇濆吇鏃堕棿 2璁″垝淇濆吇鏃堕棿
@@ -250,9 +273,10 @@
planModalRef.value.openEdit(id);
};
-const changePage = ({ page }) => {
- pagination.currentPage = page;
- onCurrentChange(page);
+const changePage = ({ page, limit }) => {
+ pagination.currentPage = page;
+ pagination.pageSize = limit;
+ onCurrentChange(page);
};
// 鍗曡鍒犻櫎
@@ -270,6 +294,27 @@
});
};
+// 瀵煎嚭
+const handleOut = () => {
+ ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+ confirmButtonText: "纭",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ proxy.download("/device/maintenance/export", {}, "璁惧淇濆吇.xlsx");
+ })
+ .catch(() => {
+ ElMessage.info("宸插彇娑�");
+ });
+};
+
+const showImage = async (row) => {
+ const {data} = await getUpkeepById(row.id)
+ imageUrls.value = data?.files.map((item) => item.url)
+ showImages.value = true
+}
+
onMounted(() => {
getTableData();
});
--
Gitblit v1.9.3