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