From 1d552a3bad95caae4af15322df28e6240b797693 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Thu, 13 Aug 2026 15:32:06 +0800
Subject: [PATCH] feat: app视频封面图

---
 applications/task-work-order/src/views/basicManage/maintainRecord/index.vue |  108 ++++++++++++++++++------------------------------------
 1 files changed, 36 insertions(+), 72 deletions(-)

diff --git a/applications/task-work-order/src/views/basicManage/maintainRecord/index.vue b/applications/task-work-order/src/views/basicManage/maintainRecord/index.vue
index 1a920cb..4f4b4cd 100644
--- a/applications/task-work-order/src/views/basicManage/maintainRecord/index.vue
+++ b/applications/task-work-order/src/views/basicManage/maintainRecord/index.vue
@@ -2,45 +2,21 @@
 	<basic-container>
 		<el-form ref="queryParamsRef" :model="searchParams" class="gd-search-form">
 			<el-form-item label="设备名称" prop="deviceName">
-				<el-input
-					class="gd-input"
-					v-model="searchParams.deviceName"
-					placeholder="请输入"
-					clearable
-					@clear="handleSearch"
-				/>
+				<el-input class="gd-input" v-model="searchParams.deviceName" placeholder="请输入" clearable
+					@clear="handleSearch" />
 			</el-form-item>
 
 			<el-form-item label="设备类型" prop="deviceType">
-				<el-select
-					class="gd-select"
-					popper-class="gd-select-popper"
-					v-model="searchParams.deviceType"
-					placeholder="请选择"
-					clearable
-					@change="handleSearch"
-				>
-					<el-option
-						v-for="item in dictObj.deviceType"
-						:key="item.dictKey"
-						:label="item.dictValue"
-						:value="item.dictKey"
-					/>
+				<el-select class="gd-select" popper-class="gd-select-popper" v-model="searchParams.deviceType"
+					placeholder="请选择" clearable @change="handleSearch">
+					<el-option v-for="item in dictObj.deviceType" :key="item.dictKey" :label="item.dictValue"
+						:value="item.dictKey" />
 				</el-select>
 			</el-form-item>
 
 			<el-form-item label="所属部门" prop="belongDept">
-				<el-tree-select
-					class="gd-select"
-					popper-class="gd-tree-select-popper"
-					v-model="searchParams.belongDept"
-					:data="deptTree"
-					:props="treeProps"
-					node-key="id"
-					check-strictly
-					clearable
-					@change="handleSearch"
-				/>
+				<el-tree-select class="gd-select" popper-class="gd-tree-select-popper" v-model="searchParams.belongDept"
+					:data="deptTree" :props="treeProps" node-key="id" check-strictly clearable @change="handleSearch" />
 			</el-form-item>
 
 			<el-form-item class="gd-search-actions">
@@ -49,12 +25,13 @@
 			</el-form-item>
 		</el-form>
 
-		<div class="gd-table-toolbar">
-			<el-button :icon="Plus" color="#4C34FF" type="primary" @click="handleAdd">维护计划</el-button>
-			<el-button :icon="Delete" color="#4C34FF" :disabled="!selectedIds.length" @click="handleDelete()">删除</el-button>
-		</div>
-
 		<div class="gd-table-container" v-loading="loading">
+			<div class="gd-table-toolbar">
+				<el-button :icon="Plus" color="#4C34FF" type="primary" @click="openForm('add')">新增</el-button>
+				<el-button :icon="Delete" color="#ECECF4" :disabled="!selectedIds.length"
+					@click="handleDelete()">删除</el-button>
+			</div>
+
 			<div class="gd-table-content gd-table-content-bg">
 				<el-table class="gd-table" :data="list" @selection-change="handleSelectionChange">
 					<el-table-column type="selection" width="46" />
@@ -74,10 +51,10 @@
 							{{ getPlanCycleLabel(row) }}
 						</template>
 					</el-table-column>
-					<el-table-column label="操作" class-name="operation-btns">
+					<el-table-column label="操作" class-name="operation-btns" fixed="right">
 						<template v-slot="{ row }">
-							<el-link @click="handleView(row)">查看</el-link>
-							<el-link @click="maintenance(row)">维护</el-link>
+							<el-link @click="openForm('view', row)">查看</el-link>
+							<el-link @click="openForm('edit', row)">编辑</el-link>
 							<el-link @click="handleDelete(row)">删除</el-link>
 						</template>
 					</el-table-column>
@@ -85,19 +62,13 @@
 			</div>
 
 			<div class="gd-pagination-parent">
-				<el-pagination
-					popper-class="gd-select-popper"
-					v-model:current-page="searchParams.current"
-					v-model:page-size="searchParams.size"
-					layout="total, prev, pager, next, sizes"
-					:total="total"
-					@change="getList"
-				/>
+				<el-pagination popper-class="gd-select-popper" v-model:current-page="searchParams.current"
+					v-model:page-size="searchParams.size" layout="total, prev, pager, next, sizes" :total="total"
+					@change="getList" />
 			</div>
 		</div>
 
-		<FormDiaLog ref="dialogRef" @success="getList" />
-		<MaintenanceDiaLog ref="maintenanceDialogRef" @success="getList" />
+		<FormDiaLog ref="dialogRef" @success="getList" v-if="dialogVisible" v-model="dialogVisible" />
 	</basic-container>
 </template>
 <script setup>
@@ -108,7 +79,6 @@
 import { getDeptTree } from '@/api/system/dept'
 import { getDictLabel } from '@ztzf/utils'
 import FormDiaLog from './FormDiaLog.vue'
-import MaintenanceDiaLog from '@/views/basicManage/maintainRecord/MaintenanceDiaLog.vue'
 import {
 	fwDeviceMaintainPlanPageApi,
 	fwDeviceMaintainPlanRemoveApi,
@@ -128,7 +98,7 @@
 const selectedIds = ref([]) // 勾选的ID列表
 const queryParamsRef = ref(null) // 查询表单实例
 const dialogRef = ref(null) // 弹框实例
-const maintenanceDialogRef = ref(null) // 弹框实例
+const dialogVisible = ref(false)
 const dictObj = ref({
 	deviceType: [], // 设备类型
 	deviceAtt: [], // 设备属性
@@ -147,7 +117,7 @@
 provide('planCycleOptions', planCycleOptions)
 
 // 获取列表
-async function getList() {
+async function getList () {
 	loading.value = true
 	try {
 		const res = await fwDeviceMaintainPlanPageApi(searchParams.value)
@@ -159,30 +129,29 @@
 }
 
 // 查询
-function handleSearch() {
+function handleSearch () {
 	searchParams.value.current = 1
 	getList()
 }
 
 // 重置查询
-function resetForm() {
+function resetForm () {
 	queryParamsRef.value?.resetFields()
 	searchParams.value.current = 1
 	getList()
 }
 
-// 查看
-function handleView(row) {
-	dialogRef.value?.open({ mode: 'view', row: { ...row } })
-}
 
-// 维护
-function maintenance(row) {
-	maintenanceDialogRef.value?.open({ mode: 'edit', row: { ...row } })
+// 新增/编辑/查看 弹框
+function openForm (mode, row) {
+	dialogVisible.value = true
+	nextTick(() => {
+		dialogRef.value?.open({ mode, row })
+	})
 }
 
 // 删除
-async function handleDelete(row) {
+async function handleDelete (row) {
 	const tips = row ? '该条' : '选中的项'
 	await ElMessageBox.confirm(`确认删除${tips}吗?`, '提示', {
 		type: 'warning',
@@ -198,30 +167,25 @@
 }
 
 // 勾选值设置
-function handleSelectionChange(rows) {
+function handleSelectionChange (rows) {
 	selectedIds.value = rows.map(item => item.id)
 }
 
 // 获取字典
-function getDictList() {
+function getDictList () {
 	getDictionaryByCode('deviceType,deviceAtt').then(res => {
 		dictObj.value = res.data.data
 	})
 }
 
 // 获取部门树
-function getDeptTreeFun() {
+function getDeptTreeFun () {
 	getDeptTree().then(res => {
 		deptTree.value = res.data.data
 	})
 }
 
-// 新增
-function handleAdd() {
-	dialogRef.value?.open({ mode: 'add' })
-}
-
-function getPlanCycleLabel(row) {
+function getPlanCycleLabel (row) {
 	const item = planCycleOptions.find(option => option.value === row.planCycleType)
 	return item?.label + '-' + row.planCycleValue.join(',')
 }

--
Gitblit v1.9.3