From a852f60c30a4390fd0e07757882843dec05fcacf Mon Sep 17 00:00:00 2001 From: elkers <elkers@163.com> Date: 星期二, 25 三月 2025 10:06:16 +0800 Subject: [PATCH] 删除监控点类型 --- src/views/facility/monitorList/index.vue | 420 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 220 insertions(+), 200 deletions(-) diff --git a/src/views/facility/monitorList/index.vue b/src/views/facility/monitorList/index.vue index e757b17..990ed08 100644 --- a/src/views/facility/monitorList/index.vue +++ b/src/views/facility/monitorList/index.vue @@ -8,7 +8,6 @@ --> <script setup> import pointApi from "@/api/facility/point"; -import {getMonitorTypeList} from '@/api/facility/monitorType.js' import {ref, onMounted} from "vue"; import setPostParams from "@/utils/searchParams.js"; @@ -20,13 +19,13 @@ */ /** 搜索按钮操作 */ function handleQuery() { - getList({keywords: searchParams.value.keywords}) + getList({keywords: searchParams.value.keywords}) } /** 重置按钮操作 */ function resetQuery() { - proxy.resetForm("queryRef"); - handleQuery(); + proxy.resetForm("queryRef"); + handleQuery(); } /** @@ -34,101 +33,108 @@ */ const pageParam = ref({ - total: 0, - limit: 0, - page: 1, + total: 0, + limit: 0, + page: 1, }) const tableData = ref([]); let tableHeader = ref({ - pointName: '监控点名称', - pointCode: '监控点编号', - pointTypeName: '监控类型', - address: '详细地址', - createTimeView: '创建时间', - imageUrl: '图片', - remark: '备注' + pointName: '监控点名称', + pointCode: '监控点编号', + pointType: '监控类型', + address: '详细地址', + createTimeView: '创建时间', + imageUrl: '图片', + remark: '备注' }) /** 获取权限列表 */ async function getList(val) { - loading.value = true; - let postParam = setPostParams(val) - await pointApi().search({ ...postParam, ...searchParams.value}).then((res) => { - tableData.value = res.data.list - pageParam.value.total = res.data.total - pageParam.value.limit = res.data.limit - pageParam.value.page = res.data.page - }) - loading.value = false; + loading.value = true; + let postParam = setPostParams(val) + await pointApi().search({...postParam, ...searchParams.value}).then((res) => { + monityList.value = res.data.list; + tableData.value = res.data.list + pageParam.value.total = res.data.total + pageParam.value.limit = res.data.limit + pageParam.value.page = res.data.page + }) + loading.value = false; } /** * 表单相关 */ const formLabel = ({ - pointName: '监控点名称', - pointCode: '监控点编号', - pointTypeId: '监控类型', - address: '详细地址', - imageUrl: '图片', - remark: '备注' + pointName: '监控点名称', + pointCode: '监控点编号', + pointType: '监控点类型', + parentId: '父级监控点', + address: '详细地址', + imageUrl: '图片', + remark: '备注' }) const rules = ref({ - pointName: [{required: true, message: `请输入${ formLabel.pointName}`, trigger: "blur"}], - pointCode: [{required: true, message: `请输入${ formLabel.address}`, trigger: "blur"}], - pointTypeId: [{required: true, message: `请输入${ formLabel.pointTypeId}`, trigger: "blur"}], + pointName: [{required: true, message: `请输入${formLabel.pointName}`, trigger: "blur"}], + pointCode: [{required: true, message: `请输入${formLabel.address}`, trigger: "blur"}], + pointType: [{required: true, message: `请输入${formLabel.pointType}`, trigger: "blur"}], }); const form = ref({ - pointName: '', - pointCode: '', - pointTypeId: '', - address: '', - imageUrl: '', - remark: '' + pointName: '', + pointCode: '', + pointType: '', + parentId: '', + address: '', + imageUrl: '', + remark: '' }); const searchParams = ref({ - keywords: '', + keywords: '', }); +// 监控点列表 +const monityList = ref([]); // 监控点类型 const monityTypeList = ref([]); + /** 新增按钮操作 */ async function handleAdd() { - reset(); - open.value = true; - title.value = "新增"; + reset(); + open.value = true; + title.value = "新增"; } /** 修改按钮操作 */ async function handleUpdate(row) { - reset(); - Object.keys(form.value).forEach(key => { - if (row.hasOwnProperty(key)) { - form.value[key] = row[key]; - } - }); - form.value.id = row.id - open.value = true; - title.value = "修改"; + reset(); + Object.keys(form.value).forEach(key => { + if (row.hasOwnProperty(key)) { + form.value[key] = row[key]; + } + }); + form.value.id = row.id + open.value = true; + title.value = "修改"; } /** 删除按钮操作 */ function handleDelete(row) { - proxy.$modal.confirm('是否确认删除名称为"' + row.contact + '"的数据项?').then(function () { - // return pointApi().remove(row.id); - }).then(() => { - getList(); - proxy.$modal.msgSuccess("删除成功"); - }).catch(() => { - }); + proxy.$modal.confirm('是否确认删除名称为"' + row.contact + '"的数据项?').then(function () { + // return pointApi().remove(row.id); + }).then(() => { + getList(); + proxy.$modal.msgSuccess("删除成功"); + }).catch(() => { + }); } + // 获取监控点类型 const getMonitryType = () => { - let postParam = { limit: 100, page: 1 } - getMonitorTypeList(postParam).then(res => { - monityTypeList.value = res.data.list; - }) + monityTypeList.value = [ + {id: 1, name: '水温监测点'}, + {id: 2, name: '生态流量监测点'} + ] } /** @@ -140,165 +146,179 @@ //上传文件,添加图片地址信息 const uploadData = (data) => { - form.value.imageUrl = data.toString(); + form.value.imageUrl = data.toString(); } /** 提交按钮 */ function submitForm() { - proxy.$refs["formRef"].validate(valid => { - if (valid) { - if (form.value.id != undefined) { - pointApi().modify(form.value).then(res => { - proxy.$modal.msgSuccess("修改成功"); - open.value = false; - getList(); - }).catch(() => { - open.value = false; - proxy.$modal.msgError("修改失败"); - }); - } else { - pointApi().create(form.value).then(res => { - proxy.$modal.msgSuccess("新增成功"); - open.value = false; - getList(); - }).catch(() => { - open.value = false; - proxy.$modal.msgError("新增失败"); - }); - } - } - }); + proxy.$refs["formRef"].validate(valid => { + if (valid) { + if (form.value.id != undefined) { + pointApi().modify(form.value).then(res => { + proxy.$modal.msgSuccess("修改成功"); + open.value = false; + getList(); + }).catch(() => { + open.value = false; + proxy.$modal.msgError("修改失败"); + }); + } else { + pointApi().create(form.value).then(res => { + proxy.$modal.msgSuccess("新增成功"); + open.value = false; + getList(); + }).catch(() => { + open.value = false; + proxy.$modal.msgError("新增失败"); + }); + } + } + }); } /** 取消按钮 */ function cancel() { - open.value = false; - reset(); + open.value = false; + reset(); } /** 表单重置 */ function reset() { - form.value = { - pointName: '', - pointCode: '', - pointTypeId: '', - address: '', - imageUrl: '', - remark: '' - }; - proxy.resetForm("formRef"); + form.value = { + parentId: '', + pointName: '', + pointCode: '', + pointType: '', + address: '', + imageUrl: '', + remark: '' + }; + proxy.resetForm("formRef"); } onMounted(() => { - getList(); - getMonitryType() + getMonitryType(); + getList(); }) </script> <template> - <div class="app-container"> - <el-form :model="searchParams" ref="queryRef" :inline="true"> - <el-form-item label="" prop=""> - <el-input - v-model="searchParams.keywords" - 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 === 'imageUrl'"> - <img :src="scope.row.headImg" class="table-headImg"/> - </div> - </template> - </el-table-column> - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> - <template #default="scope"> - <el-button link type="primary" icon="Edit" v-has="['update',route]" - @click="handleUpdate(scope.row)">修改 - </el-button> - <el-button link type="primary" icon="Delete" v-has="['delete',route]" - @click="handleDelete(scope.row)">删除 - </el-button> - </template> - </el-table-column> - </el-table> - <pagination - :total="pageParam.total" - v-model:page="pageParam.page" - v-model:limit="pageParam.limit" - :page-sizes="[10,20,30]" - @pagination="getList" + <div class="app-container"> + <el-form :model="searchParams" ref="queryRef" :inline="true"> + <el-form-item label="" prop=""> + <el-input + v-model="searchParams.keywords" + placeholder="请输入搜索信息" + clearable + style="width: 200px" + @keyup.enter="handleQuery" /> - <!-- 添加/修改表单 --> - <el-dialog :title="title" v-model="open" append-to-body center> - <el-form class="form-box" ref="formRef" :model="form" :rules="rules" label-width='auto'> - <el-form-item :label="formLabel.pointName" prop="pointName"> - <el-input v-model="form.pointName" :placeholder="'请输入'+formLabel.pointName"/> - </el-form-item> - <el-form-item :label="formLabel.pointCode" prop="pointCode"> - <el-input v-model="form.pointCode" :placeholder="'请输入'+formLabel.pointCode"/> - </el-form-item> - <el-form-item :label="formLabel.pointTypeId" prop="pointTypeId"> - <el-select v-model="form.pointTypeId" :placeholder="'请输入'+formLabel.pointTypeId"> - <el-option - v-for="(item,index) in monityTypeList" - :label="item.name" - :value="item.id" - :key="index" - ></el-option> - </el-select> - </el-form-item> - <el-form-item :label="formLabel.address" prop="address"> - <el-input v-model="form.address" :placeholder="'请输入'+formLabel.address"/> - </el-form-item> - <el-form-item :label="formLabel.remark" prop="address"> - <el-input v-model="form.remark" :placeholder="'请输入'+formLabel.remark"/> - </el-form-item> - <el-form-item></el-form-item> - <el-form-item label="图片" prop="imageUrl" style="flex: 1"> - <upload-icons @uploadData="uploadData" :imageList="form.imageUrl" :limit="1"></upload-icons> - <span style="display: block;">(请上传1张设备图片)</span> - </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> + </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 === 'imageUrl'"> + <img :src="scope.row.headImg" class="table-headImg"/> + </div> + <div v-else-if="key === 'pointType'"> + {{ scope.row.pointType === 1 ? '水温监测点' : '生态流量监测点' }} + </div> + </template> + </el-table-column> + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <template #default="scope"> + <el-button link type="primary" icon="Edit" v-has="['update',route]" + @click="handleUpdate(scope.row)">修改 + </el-button> + <el-button link type="primary" icon="Delete" v-has="['delete',route]" + @click="handleDelete(scope.row)">删除 + </el-button> + </template> + </el-table-column> + </el-table> + <pagination + :total="pageParam.total" + v-model:page="pageParam.page" + v-model:limit="pageParam.limit" + :page-sizes="[10,20,30]" + @pagination="getList" + /> + <!-- 添加/修改表单 --> + <el-dialog :title="title" v-model="open" append-to-body center> + <el-form class="form-box" ref="formRef" :model="form" :rules="rules" label-width='auto'> + <el-form-item :label="formLabel.parentId" prop="parentId"> + <el-select v-model="form.parentId" :placeholder="'请输入'+formLabel.parentId"> + <el-option + v-for="(item,index) in monityList" + :label="item.pointName" + :value="item.id" + :key="index" + ></el-option> + </el-select> + </el-form-item> + <el-form-item :label="formLabel.pointType" prop="pointType"> + <el-select v-model="form.pointType" :placeholder="'请输入'+formLabel.pointType"> + <el-option + v-for="(item,index) in monityTypeList" + :label="item.name" + :value="item.id" + :key="index" + ></el-option> + </el-select> + </el-form-item> + <el-form-item :label="formLabel.pointName" prop="pointName"> + <el-input v-model="form.pointName" :placeholder="'请输入'+formLabel.pointName"/> + </el-form-item> + <el-form-item :label="formLabel.pointCode" prop="pointCode"> + <el-input v-model="form.pointCode" :placeholder="'请输入'+formLabel.pointCode"/> + </el-form-item> + <el-form-item :label="formLabel.address" prop="address"> + <el-input v-model="form.address" :placeholder="'请输入'+formLabel.address"/> + </el-form-item> + <el-form-item :label="formLabel.remark" prop="address"> + <el-input v-model="form.remark" :placeholder="'请输入'+formLabel.remark"/> + </el-form-item> +<!-- <el-form-item></el-form-item>--> + <el-form-item label="图片" prop="imageUrl" style="flex: 1"> + <upload-icons @uploadData="uploadData" :imageList="form.imageUrl" :limit="1"></upload-icons> + <span style="display: block;">(请上传1张设备图片)</span> + </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> <style lang="scss" scoped> -.form-box{ - justify-content: normal; +.form-box { + justify-content: normal; } </style> \ No newline at end of file -- Gitblit v1.9.3