From 376cab4afba8fd1b8be67cae067ed917462c2e16 Mon Sep 17 00:00:00 2001
From: yaowanxin <3588231647@qq.com>
Date: 星期四, 18 十二月 2025 09:05:12 +0800
Subject: [PATCH] 添加设备报修和保养附件管理功能,维修保养过程描述
---
src/views/equipmentManagement/repair/index.vue | 99 +++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 87 insertions(+), 12 deletions(-)
diff --git a/src/views/equipmentManagement/repair/index.vue b/src/views/equipmentManagement/repair/index.vue
index 03bef84..bff058a 100644
--- a/src/views/equipmentManagement/repair/index.vue
+++ b/src/views/equipmentManagement/repair/index.vue
@@ -7,7 +7,6 @@
style="width: 240px"
placeholder="璇疯緭鍏ヨ澶囧悕绉�"
clearable
- :prefix-icon="Search"
@change="getTableData"
/>
</el-form-item>
@@ -17,7 +16,6 @@
style="width: 240px"
placeholder="璇烽�夋嫨瑙勬牸鍨嬪彿"
clearable
- :prefix-icon="Search"
@change="getTableData"
/>
</el-form-item>
@@ -27,7 +25,6 @@
style="width: 240px"
placeholder="璇疯緭鍏ユ晠闅滅幇璞�"
clearable
- :prefix-icon="Search"
@change="getTableData"
/>
</el-form-item>
@@ -37,8 +34,25 @@
style="width: 240px"
placeholder="璇疯緭鍏ョ淮淇汉"
clearable
- :prefix-icon="Search"
@change="getTableData"
+ />
+ </el-form-item>
+ <el-form-item label="鎶ヤ慨鏃ユ湡">
+ <el-date-picker
+ v-model="filters.repairTimeStr"
+ type="date"
+ placeholder="璇烽�夋嫨鎶ヤ慨鏃ユ湡"
+ size="default"
+ @change="(date) => handleDateChange(date,2)"
+ />
+ </el-form-item>
+ <el-form-item label="缁翠慨鏃ユ湡">
+ <el-date-picker
+ v-model="filters.maintenanceTimeStr"
+ type="date"
+ placeholder="璇烽�夋嫨缁翠慨鏃ユ湡"
+ size="default"
+ @change="(date) => handleDateChange(date,1)"
/>
</el-form-item>
<el-form-item>
@@ -60,6 +74,9 @@
</el-button>
<el-button type="success" icon="Van" @click="addRepair">
鏂板鎶ヤ慨
+ </el-button>
+ <el-button @click="handleOut">
+ 瀵煎嚭
</el-button>
<el-button
type="danger"
@@ -98,6 +115,14 @@
缂栬緫
</el-button>
<el-button
+ type="primary"
+ text
+ icon="folder"
+ @click="openFilesForm(row)"
+ >
+ 闄勪欢
+ </el-button>
+ <el-button
type="danger"
text
icon="delete"
@@ -110,26 +135,29 @@
</div>
<RepairModal ref="repairModalRef" @ok="getTableData" />
<MaintainModal ref="maintainModalRef" @ok="getTableData" />
+ <files-dia ref="filesDia"></files-dia>
</div>
</template>
<script setup>
import { usePaginationApi } from "@/hooks/usePaginationApi";
import { getRepairPage, delRepair } from "@/api/equipmentManagement/repair";
-import { onMounted } from "vue";
+import { onMounted, getCurrentInstance } from "vue";
import RepairModal from "./Modal/RepairModal.vue";
import { ElMessageBox, ElMessage } from "element-plus";
import dayjs from "dayjs";
import MaintainModal from "./Modal/MaintainModal.vue";
-
+import FilesDia from "./filesDia.vue";
defineOptions({
name: "璁惧鎶ヤ慨",
});
+const { proxy } = getCurrentInstance();
+
// 妯℃�佹瀹炰緥
const repairModalRef = ref();
const maintainModalRef = ref();
-
+const filesDia = ref()
// 琛ㄦ牸澶氶�夋閫変腑椤�
const multipleList = ref([]);
@@ -145,7 +173,12 @@
} = usePaginationApi(
getRepairPage,
{
- searchText: undefined,
+ deviceName: undefined,
+ deviceModel: undefined,
+ remark: undefined,
+ maintenanceName: undefined,
+ repairTimeStr: undefined,
+ maintenanceTimeStr: undefined,
},
[
{
@@ -173,6 +206,11 @@
label: "鏁呴殰鐜拌薄",
align: "center",
prop: "remark",
+ },
+ {
+ label: "淇濆吇杩涘害鎻忚堪",
+ align: "center",
+ prop: "maintenanceProcessDesc",
},
{
label: "缁翠慨浜�",
@@ -208,6 +246,22 @@
]
);
+// type === 1 缁翠慨 2鎶ヤ慨闂�
+const handleDateChange = (value,type) => {
+ filters.maintenanceTimeStr = null
+ filters.c = null
+ if(type === 1){
+ if (value) {
+ filters.maintenanceTimeStr = dayjs(value).format("YYYY-MM-DD");
+ }
+ }else{
+ if (value) {
+ filters.repairTimeStr = dayjs(value).format("YYYY-MM-DD");
+ }
+ }
+ getTableData();
+};
+
// 澶氶�夊悗鍋氫粈涔�
const handleSelectionChange = (selectionList) => {
multipleList.value = selectionList;
@@ -222,16 +276,22 @@
const editRepair = (id) => {
repairModalRef.value.openEdit(id);
};
-
+// 鎵撳紑闄勪欢寮规
+const openFilesForm = (row) => {
+ nextTick(() => {
+ filesDia.value?.openDialog( row,'璁惧鎶ヤ慨')
+ })
+};
// 鏂板缁翠慨
const addMaintain = () => {
const row = multipleList.value[0];
maintainModalRef.value.open(row.id, row);
};
-const changePage = ({ page }) => {
- pagination.currentPage = page;
- onCurrentChange(page);
+const changePage = ({ page, limit }) => {
+ pagination.currentPage = page;
+ pagination.pageSize = limit;
+ onCurrentChange(page);
};
// 鍗曡鍒犻櫎
@@ -249,6 +309,21 @@
});
};
+// 瀵煎嚭
+const handleOut = () => {
+ ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+ confirmButtonText: "纭",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ proxy.download("/device/repair/export", {}, "璁惧鎶ヤ慨.xlsx");
+ })
+ .catch(() => {
+ ElMessage.info("宸插彇娑�");
+ });
+};
+
onMounted(() => {
getTableData();
});
--
Gitblit v1.9.3