<script setup name="Post">
|
import {facilityExamineRecordApi} from "@/api/examine/record/index.js";
|
import setPostParams from "@/utils/searchParams.js";
|
import facilityApi from "@/api/facility/index.js";
|
const {proxy} = getCurrentInstance();
|
/**
|
* 搜索
|
*/
|
const queryParams = ref({
|
name:''
|
})
|
/** 搜索操作 */
|
function handleQuery() {
|
getList({keywords:queryParams.value.name})
|
}
|
/** 表单重置 */
|
function reset() {
|
form.value = {
|
facilityCode: '',
|
facilityName: '',
|
facilityUrl: '',
|
};
|
proxy.resetForm("postRef");
|
}
|
/**
|
* 绑定相关
|
*/
|
//绑定数据
|
const facilityExamineData = ref({
|
facilityExamineId:'',
|
|
})
|
//已选
|
/**
|
* 重置
|
*/
|
const resetQuery = () =>{
|
queryParams.value.name = ''
|
getList()
|
}
|
/** 列表 */
|
const route = useRoute();
|
const tableData = ref([]); //初始化列表
|
const loading = ref(true); //加载状态
|
const total = ref(0);
|
const open = ref(false);
|
const form = ref({});
|
|
/** 表头 */
|
let tableHeader = ref({
|
content: '巡检内容',
|
inspectUrl: '巡检图片',
|
resultTypeView: '执行结果',
|
inspectUser: '巡检人员',
|
createTimeView: '创建时间',
|
})
|
//分页
|
const pageParam = ref({
|
total:0,
|
limit:10,
|
page:1,
|
})
|
/** 新增按钮操作 */
|
async function handleAdd() {
|
reset();
|
open.value = true;
|
title.value = "新增";
|
console.log('form',form.value)
|
}
|
|
/** 修改按钮操作 */
|
async function handleUpdate(row) {
|
reset();
|
form.value = Object.assign({},row)
|
open.value = true;
|
title.value = "修改用户分类";
|
}
|
|
/** 删除按钮操作 */
|
function handleDelete(row) {
|
proxy.$modal.confirm('是否确认删除名称为"' + row.contact + '"的数据项?').then(function () {
|
return facilityApi().remove(row.id);
|
}).then(() => {
|
getList();
|
proxy.$modal.msgSuccess("删除成功");
|
}).catch(() => {
|
});
|
}
|
|
/** 获取列表 */
|
const getList = async (val) => {
|
loading.value = true;
|
let postParam = setPostParams(val)
|
let res = await facilityExamineRecordApi().search(postParam)
|
loading.value = false;
|
if (res.code == 200 && res.data.list.length > 0) {
|
tableData.value = res.data.list;
|
tableData.value.forEach((item) => {
|
if (item.resultType == 1) {
|
item.resultType = '正常'
|
} else if (item.resultType == 2) {
|
item.resultType = '异常'
|
}
|
})
|
pageParam.value.total = res.data.total;
|
pageParam.value.page = res.data.page;
|
pageParam.value.limit = res.data.limit;
|
}
|
}
|
//上传文件,添加图片地址信息
|
const uploadData = (data) => {
|
form.value.inspectUrl = data.toString();
|
}
|
/** 提交按钮 */
|
function submitForm() {
|
proxy.$refs["postRef"].validate(valid => {
|
if (valid) {
|
// form.value.contactPhone = Number(form.value.contactPhone)
|
|
if (form.value.id != undefined) {
|
facilityExamineRecordApi().modify(form.value).then(res => {
|
proxy.$modal.msgSuccess("修改成功");
|
open.value = false;
|
getList();
|
}).catch(() => {
|
open.value = false;
|
proxy.$modal.msgError("修改失败");
|
});
|
} else {
|
facilityExamineRecordApi().create(form.value).then(res => {
|
proxy.$modal.msgSuccess("新增成功");
|
open.value = false;
|
getList();
|
}).catch(() => {
|
open.value = false;
|
proxy.$modal.msgError("新增失败");
|
});
|
;
|
}
|
}
|
});
|
}
|
/** 绑定按钮操作 */
|
const handleband = async(row) =>{
|
facilityExamineData.value.facilityExamineId = row.id
|
await getParamList()
|
openParamForm.value = true
|
}
|
/** 取消按钮 */
|
function cancel() {
|
open.value = false;
|
openParamForm.value = false;
|
reset();
|
}
|
getList();
|
</script>
|
<template>
|
<div class="app-container">
|
<!--搜索框-->
|
<el-form :model="queryParams" ref="queryRef" :inline="true">
|
<el-form-item label="" prop="name">
|
<el-input
|
v-model="queryParams.name"
|
placeholder="请输入计划名称"
|
clearable
|
style="width: 200px"
|
@keyup.enter="handleQuery"
|
/>
|
</el-form-item>
|
<el-form-item>
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
</el-form-item>
|
</el-form>
|
<el-row :gutter="10" class="mb8">
|
<el-col :span="1.5">
|
<el-button
|
type="primary"
|
plain
|
icon="Plus"
|
@click="handleAdd"
|
>新增
|
</el-button>
|
</el-col>
|
</el-row>
|
<!--表格及分页-->
|
<el-table v-loading="loading" :data="tableData">
|
<el-table-column
|
v-for="(item, key, index) of tableHeader"
|
:prop="key.toString()"
|
:label="item"
|
:key="index"
|
align="center"
|
>
|
<template #default="scope">
|
<div v-if="key.toString() === 'inspectUrl'"> <img :src="scope.row.inspectUrl" alt="" style="width:50px;height: 50px"></div>
|
</template>
|
</el-table-column>
|
<el-table-column label="操作" width="180" align="center" class-name="small-padding fixed-width">
|
<template #default="scope">
|
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改</el-button>
|
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<pagination
|
v-show="pageParam.total > 0"
|
:total="pageParam.total"
|
v-model:page="pageParam.page"
|
v-model:limit="pageParam.limit"
|
@pagination="getList"
|
/>
|
<!-- 添加表单弹窗 -->
|
<el-dialog :title="title" v-model="open" center>
|
<el-form class="form-box" ref="postRef" :model="form" :rules="rules" label-width="90px">
|
<el-form-item label="巡检内容" prop="content">
|
<el-input v-model="form.content" type="textarea" placeholder="请输入内容" />
|
</el-form-item>
|
<el-form-item label="图片上传" prop="inspectUrl">
|
<upload-icons @uploadData="uploadData" :imageList="form.inspectUrl" :limit="1"
|
:disabled='isDetail ? true : false'></upload-icons>
|
<span style="display: block;">(请上传1张现场图片)</span>
|
</el-form-item>
|
<el-form-item label="备注" prop="remark">
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
</el-form-item>
|
<el-form-item label="巡检状态" prop="resultType">
|
<el-radio-group v-model="form.resultType">
|
<el-radio-button value="1">正常</el-radio-button>
|
<el-radio-button value="2">异常</el-radio-button>
|
</el-radio-group>
|
</el-form-item>
|
</el-form>
|
<template #footer>
|
<div class="dialog-footer">
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
</div>
|
</template>
|
</el-dialog>
|
</div>
|
</template>
|