增加一些体验性的修改

This commit is contained in:
liub
2025-09-28 17:08:52 +08:00
parent 277bf123ea
commit 070a398f7e

View File

@ -3,7 +3,7 @@
<div class="main">
<div class="TopTool">
<div class="button-row">
<el-button type="primary" icon="Plus" @click.stop="ShowEdit(null, true)">新增维修</el-button>
<el-button type="primary" icon="Plus" @click.stop="ShowEdit(null, true,formRef)">新增维修</el-button>
<el-button type="primary" plain icon="Download" @click.stop="ExportRecord()">导出</el-button>
<el-button type="danger" plain icon="Delete" @click.stop="DropRecord()">批量删除</el-button>
</div>
@ -39,9 +39,9 @@
<el-form-item label="维修部位">
<el-input v-model="advanceSearch.repairPart" placeholder="请输入" clearable />
</el-form-item>
<el-form-item label="维修原因">
<!-- <el-form-item label="维修原因">
<el-input v-model="advanceSearch.repairReason" placeholder="请输入" clearable />
</el-form-item>
</el-form-item> -->
<el-form-item label="维修时间">
<el-date-picker
v-model="advanceSearch.Date"
@ -74,7 +74,7 @@
<el-table-column label="操作" align="center" fixed="right" width="280" class-name="small-padding fixed-width opt">
<template #default="scope">
<div class="center">
<el-text class="mx-1" type="primary" @click.stop="ShowEdit(scope.row, true)">编辑</el-text>
<el-text class="mx-1" type="primary" @click.stop="ShowEdit(scope.row, true,formRef)">编辑</el-text>
<el-text class="mx-1" type="primary" @click.stop="ShowEdit(scope.row, false)">详情</el-text>
<el-text class="mx-1" type="danger" @click.stop="DropRecord([scope.row])">删除</el-text>
</div>
@ -101,19 +101,19 @@
:draggable="true"
>
<div class="form">
<el-form :model="cEdit" ref="ruleFormRef" style="max-width: 750px" :rules="rules">
<div>{{ cEdit.isEdit }}</div>
<el-form-item label="设备名称" label-position="right">
<el-form :model="cEdit" ref="formRef" style="max-width: 750px" :rules="rules" >
<el-form-item label="设备名称" label-position="right" prop="deviceId">
<!-- <el-input v-model="selectedRow['deviceName']" :readonly="true" @click.stop="ShowDevice('Edit', true)" placeholder="请选择设备" /> -->
<el-select v-model="cEdit.deviceId" placeholder="选择设备" clearable :disabled="!cEdit.isEdit" filterable>
<el-option v-for="item in deviceDist" :key="item.deviceId" :label="item.deviceName" :value="item.deviceId"
/></el-select>
</el-form-item>
<el-form-item label="维修人员" label-position="right">
<el-form-item label="维修人员" label-position="right" prop="repairPerson">
<el-input v-model="cEdit.repairPerson" :readonly="!cEdit.isEdit" placeholder="请输入姓名" />
</el-form-item>
<el-form-item label="维修时间" label-position="right">
<el-form-item label="维修时间" label-position="right" prop="repairTime">
<el-date-picker
v-model="cEdit.repairTime"
:readonly="!cEdit.isEdit"
@ -124,10 +124,10 @@
style="width: 100%"
/>
</el-form-item>
<el-form-item label="维修部位" label-position="right">
<el-form-item label="维修部位" label-position="right" prop="repairPart">
<el-input v-model="cEdit.repairPart" :readonly="!cEdit.isEdit" placeholder="请输入维修部位" />
</el-form-item>
<el-form-item label="维修原因" label-position="right">
<el-form-item label="维修原因" label-position="right" prop="repairReason">
<el-input v-model="cEdit.repairReason" :readonly="!cEdit.isEdit" placeholder="请输入维修原因" />
</el-form-item>
@ -206,7 +206,7 @@
<template #footer>
<div class="dialog-footer">
<div class="center" style="margin-top: 10px">
<el-button type="primary" @click="SaveFormData()"> 确定 </el-button>
<el-button type="primary" @click="SaveFormData(formRef)"> 确定 </el-button>
<el-button @click="CloseEdit()"> 取消 </el-button>
</div>
</div>
@ -336,11 +336,8 @@
<script setup lang="ts">
import api from '@/api/equipmentManagement/repairRecords/index';
import common from '@/utils/common';
import deviceapi from '@/api/equipmentManagement/device/index';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
import { deviceForm, deviceQuery, deviceVO, deviceTypeOption } from '@/api/equipmentManagement/device/types';
import { UploadProps } from 'element-plus';
var grid = ref(null);
var deviceGrid = ref(null);
@ -514,7 +511,7 @@ function ToggleAdvance() {
}
//显示编辑
function ShowEdit(item = undefined, isEdit = true) {
function ShowEdit(item = undefined, isEdit = true,formEl=undefined) {
Status.ShowEditPop = true;
let def = {
recordId: null, //维修记录id
@ -592,6 +589,10 @@ function ShowEdit(item = undefined, isEdit = true) {
.map((v) => {
return { name: v.imageId, url: v.imageUrl, id: v.imageId };
});
if (!formEl) return
formEl.validate();
}
if (item) {
selectedRow.value['deviceName'] = item.deviceName;
@ -668,12 +669,15 @@ var dropImg = (type, file, index) => {
confirm('您确认删除此记录吗?', runDrop, hideConfirm, '提示');
};
//保存表单数据
function SaveFormData() {
function SaveFormData(formEl: FormInstance | undefined) {
if (!cEdit.isEdit) {
return;
}
showloading('fullLoading');
if (!formEl) return
let submit=()=>{
showloading('fullLoading');
setTimeout(() => {
let promise = null;
@ -733,6 +737,14 @@ function SaveFormData() {
hideloading();
});
}, 0);
}
formEl.validate((valid) => {
if (valid) {
submit();
}
})
}
//导出
@ -864,7 +876,7 @@ var queryParams = ref({
deviceStatus: ''
});
const total = ref(0);
const queryFormRef = ref<ElFormInstance>();
const formRef = ref<ElFormInstance>();
const deviceDist = ref<any[]>();
const dateRange = ref<[DateModelType, DateModelType]>(['', '']);
@ -903,7 +915,7 @@ interface RuleForm {
}
const rules = reactive<FormRules<RuleForm>>({
deviceId: [{ required: true, message: '请选择设备', trigger: 'blur' }],
deviceId: [{ required: true, message: '请选择设备', trigger: 'change' }],
repairTime: [{ required: true, message: '请选择维修时间', trigger: 'blur' }],
repairPart: [{ required: true, message: '请填写维修部位', trigger: 'blur' }],
repairReason: [{ required: true, message: '请填写维修原因', trigger: 'blur' }],