Ver Fonte

style(screenSettings):修改大屏配置的表单页样式
feat(TemplatePageController):新增获取模板select接口

HMY há 11 meses atrás
pai
commit
660f9e16a5

+ 5 - 3
admin/src/main/java/com/dcs/hnyz/controller/ScreenSettingsController.java

@@ -2,6 +2,8 @@ package com.dcs.hnyz.controller;
 
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+
+import com.dcs.hnyz.domain.vo.ScreenSettingsFormVo;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -35,14 +37,14 @@ public class ScreenSettingsController extends BaseController
     private IScreenSettingsService screenSettingsService;
 
     /**
-     * 查询大屏设置管理列表
+     * 查询大屏设置表单管理列表
      */
     @PreAuthorize("@ss.hasPermi('hnyz:screenSettings:list')")
-    @GetMapping("/list")
+    @GetMapping("/formList")
     public TableDataInfo list(ScreenSettings screenSettings)
     {
         startPage();
-        List<ScreenSettings> list = screenSettingsService.selectScreenSettingsList(screenSettings);
+        List<ScreenSettingsFormVo> list = screenSettingsService.selectScreenSettingsFormList(screenSettings);
         return getDataTable(list);
     }
 

+ 9 - 0
admin/src/main/java/com/dcs/hnyz/controller/TemplatePageController.java

@@ -45,6 +45,15 @@ public class TemplatePageController extends BaseController {
         return getDataTable(list);
     }
 
+    /**
+     * 获取模版页列表,用于下拉框
+     */
+    @GetMapping("/listForSelect")
+    public AjaxResult listForSelect() {
+        List<TemplatePage> list = templatePageService.selectTemplatePageList(null);
+        return AjaxResult.success(list);
+    }
+
     /**
      * 导出模板页管理列表
      */

+ 17 - 0
admin/src/main/java/com/dcs/hnyz/domain/vo/ScreenSettingsFormVo.java

@@ -0,0 +1,17 @@
+package com.dcs.hnyz.domain.vo;
+
+import com.dcs.common.annotation.Excel;
+import com.dcs.hnyz.domain.ScreenSettings;
+import lombok.Data;
+
+/**
+ * ScreenSettingsFormVo
+ *
+ * @author: hmy
+ * @date: 2025/5/6 9:09
+ */
+@Data
+public class ScreenSettingsFormVo extends ScreenSettings {
+    @Excel(name = "模版页名称")
+    private String pageName;
+}

+ 8 - 0
admin/src/main/java/com/dcs/hnyz/mapper/ScreenSettingsMapper.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dcs.hnyz.domain.ScreenSettings;
+import com.dcs.hnyz.domain.vo.ScreenSettingsFormVo;
 
 /**
  * 大屏设置管理Mapper接口
@@ -60,4 +61,11 @@ public interface ScreenSettingsMapper extends BaseMapper<ScreenSettings>
      * @return 结果
      */
     public int deleteScreenSettingsByIds(Long[] ids);
+
+    /**
+     * 查询大屏设置表单管理列表
+     * @param screenSettings
+     * @return
+     */
+    List<ScreenSettingsFormVo> selectScreenSettingsFormList(ScreenSettings screenSettings);
 }

+ 8 - 0
admin/src/main/java/com/dcs/hnyz/service/IScreenSettingsService.java

@@ -2,6 +2,7 @@ package com.dcs.hnyz.service;
 
 import java.util.List;
 import com.dcs.hnyz.domain.ScreenSettings;
+import com.dcs.hnyz.domain.vo.ScreenSettingsFormVo;
 
 /**
  * 大屏设置管理Service接口
@@ -58,4 +59,11 @@ public interface IScreenSettingsService
      * @return 结果
      */
     public int deleteScreenSettingsById(Long id);
+
+    /**
+     * 查询大屏设置表单管理列表
+     * @param screenSettings
+     * @return
+     */
+    List<ScreenSettingsFormVo> selectScreenSettingsFormList(ScreenSettings screenSettings);
 }

+ 6 - 0
admin/src/main/java/com/dcs/hnyz/service/impl/ScreenSettingsServiceImpl.java

@@ -3,6 +3,7 @@ package com.dcs.hnyz.service.impl;
 import java.util.Arrays;
 import java.util.List;
 import com.dcs.common.utils.DateUtils;
+import com.dcs.hnyz.domain.vo.ScreenSettingsFormVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.dcs.hnyz.mapper.ScreenSettingsMapper;
@@ -94,4 +95,9 @@ public class ScreenSettingsServiceImpl implements IScreenSettingsService
     {
         return screenSettingsMapper.deleteById(id);
     }
+
+    @Override
+    public List<ScreenSettingsFormVo> selectScreenSettingsFormList(ScreenSettings screenSettings) {
+        return screenSettingsMapper.selectScreenSettingsFormList(screenSettings);
+    }
 }

+ 16 - 0
admin/src/main/resources/mapper/hnyzdcs/ScreenSettingsMapper.xml

@@ -34,6 +34,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectScreenSettingsVo"/>
         where id = #{id}
     </select>
+    <select id="selectScreenSettingsFormList" resultType="com.dcs.hnyz.domain.vo.ScreenSettingsFormVo">
+        SELECT
+            a.*,
+            b.page_name
+        FROM
+            screen_settings AS a
+                INNER JOIN
+            template_page AS b
+            ON
+                a.page_id = b.page_id
+        <where>
+            <if test="screenName != null  and screenName != ''"> and screen_name like concat('%', #{screenName}, '%')</if>
+            <if test="code != null  and code != ''"> and code = #{code}</if>
+            <if test="status != null  and status != ''"> and a.status = #{status}</if>
+        </where>
+    </select>
 
     <insert id="insertScreenSettings" parameterType="ScreenSettings" useGeneratedKeys="true" keyProperty="id">
         insert into screen_settings

+ 9 - 0
ui/src/api/hnyz/screenSettings.js

@@ -9,6 +9,15 @@ export function listScreenSettings(query) {
   })
 }
 
+// 查询大屏设置管理列表
+export function listScreenSettingsForm(query) {
+  return request({
+    url: '/hnyz/screenSettings/formList',
+    method: 'get',
+    params: query
+  })
+}
+
 // 查询大屏设置管理详细
 export function getScreenSettings(id) {
   return request({

+ 8 - 0
ui/src/api/hnyz/templatePage.js

@@ -53,4 +53,12 @@ export function changeStatus(pageId,status) {
       status:status
     }
   })
+}
+
+//获取模板页列表,用于模板页选择
+export function getTemplatePageList() {
+  return request({
+    url: '/hnyz/templatePage/listForSelect',
+    method: 'get'
+  })
 }

+ 39 - 30
ui/src/views/dcsForm2/alarmEvent/index.vue

@@ -1,8 +1,12 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="对应设备的 ID" prop="equipmentId">
-        <el-input v-model="queryParams.equipmentId" placeholder="请输入对应设备的 ID" clearable @keyup.enter="handleQuery" />
+      <el-form-item label="设备名称" prop="equipmentId">
+        <!-- 可搜索设备名称,支持模糊查询 -->
+        <el-select v-model="queryParams.equipmentId" placeholder="请选择对应设备" clearable style="width: 150px;" filterable>
+          <el-option v-for="dict in equipmentOptions" :key="dict.equipmentId" :label="dict.equipmentName"
+            :value="dict.equipmentId" />
+        </el-select>
       </el-form-item>
       <el-form-item label="告警代码" prop="alarmCode">
         <el-input v-model="queryParams.alarmCode" placeholder="请输入告警代码" clearable @keyup.enter="handleQuery" />
@@ -17,25 +21,6 @@
           <el-option v-for="dict in alarm_type" :key="dict.value" :label="dict.label" :value="dict.value" />
         </el-select>
       </el-form-item>
-      <el-form-item label="告警描述" prop="message">
-        <el-input v-model="queryParams.message" placeholder="请输入告警描述" clearable @keyup.enter="handleQuery" />
-      </el-form-item>
-      <el-form-item label="当前值" prop="value">
-        <el-input v-model="queryParams.value" placeholder="请输入当前值" clearable @keyup.enter="handleQuery" />
-      </el-form-item>
-      <el-form-item label="单位" prop="unit">
-        <el-input v-model="queryParams.unit" placeholder="请输入单位" clearable @keyup.enter="handleQuery" />
-      </el-form-item>
-      <el-form-item label="告警发生时间" prop="occurTime">
-        <el-date-picker clearable v-model="queryParams.occurTime" type="date" value-format="YYYY-MM-DD"
-          placeholder="请选择告警发生时间">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="告警恢复时间" prop="recoverTime">
-        <el-date-picker clearable v-model="queryParams.recoverTime" type="date" value-format="YYYY-MM-DD"
-          placeholder="请选择告警恢复时间">
-        </el-date-picker>
-      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
         <el-button icon="Refresh" @click="resetQuery">重置</el-button>
@@ -64,8 +49,8 @@
 
     <el-table v-loading="loading" :data="alarmEventList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="主键,自增" align="center" prop="alarmId" />
-      <el-table-column label="对应设备的 ID" align="center" prop="equipmentId" />
+      <!-- <el-table-column label="主键,自增" align="center" prop="alarmId" /> -->
+      <el-table-column label="设备名称" align="center" prop="equipmentName" />
       <el-table-column label="告警代码" align="center" prop="alarmCode" />
       <el-table-column label="告警等级" align="center" prop="alarmLevel">
         <template #default="scope">
@@ -106,14 +91,18 @@
       </el-table-column>
     </el-table>
 
-    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize"
-      @pagination="getList" />
+    <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
+      v-model:limit="queryParams.pageSize" @pagination="getList" />
 
     <!-- 添加或修改告警中心管理对话框 -->
     <el-dialog :title="title" v-model="open" width="500px" append-to-body>
       <el-form ref="alarmEventRef" :model="form" :rules="rules" label-width="80px">
-        <el-form-item label="对应设备的 ID" prop="equipmentId">
-          <el-input v-model="form.equipmentId" placeholder="请输入对应设备的 ID" />
+        <el-form-item label="设备名称" prop="equipmentId">
+          <!-- 可搜索设备名称,支持模糊查询 -->
+          <el-select v-model="queryParams.equipmentId" placeholder="请选择对应设备" clearable filterable>
+            <el-option v-for="dict in equipmentOptions" :key="dict.equipmentId" :label="dict.equipmentName"
+              :value="dict.equipmentId" />
+          </el-select>
         </el-form-item>
         <el-form-item label="告警代码" prop="alarmCode">
           <el-input v-model="form.alarmCode" placeholder="请输入告警代码" />
@@ -136,7 +125,9 @@
           <el-input v-model="form.value" placeholder="请输入当前值" />
         </el-form-item>
         <el-form-item label="单位" prop="unit">
-          <el-input v-model="form.unit" placeholder="请输入单位" />
+          <el-select v-model="form.unit" placeholder="请选择单位">
+            <el-option v-for="dict in unit_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="告警发生时间" prop="occurTime">
           <el-date-picker clearable v-model="form.occurTime" type="date" value-format="YYYY-MM-DD"
@@ -151,6 +142,12 @@
         <el-form-item label="备注" prop="remark">
           <el-input v-model="form.remark" placeholder="请输入备注" />
         </el-form-item>
+        <el-form-item label="启用状态">
+          <el-radio-group v-model="form.status">
+            <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label
+            }}</el-radio>
+          </el-radio-group>
+        </el-form-item>
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -164,9 +161,21 @@
 
 <script setup name="AlarmEvent">
 import { listAlarmEvent, getAlarmEvent, delAlarmEvent, addAlarmEvent, updateAlarmEvent } from "@/api/hnyz/alarmEvent";
+import { getEquipmentList } from "@/api/hnyz/equipment";
+import { onMounted } from "vue";
+
+onMounted(() => {
+  getEquipmentOptions();
+});
 
+const equipmentOptions = ref([]);
+function getEquipmentOptions() {
+  getEquipmentList().then(response => {
+    equipmentOptions.value = response.data;
+  });
+}
 const { proxy } = getCurrentInstance();
-const { alarm_level, alarm_type } = proxy.useDict('alarm_level', 'alarm_type');
+const { alarm_level, alarm_type ,unit_type} = proxy.useDict('alarm_level', 'alarm_type','unit_type');
 
 const alarmEventList = ref([]);
 const open = ref(false);
@@ -229,7 +238,7 @@ function reset() {
     unit: null,
     occurTime: null,
     recoverTime: null,
-    status: null,
+    status: "0",
     createTime: null,
     createBy: null,
     updateBy: null,

+ 21 - 5
ui/src/views/dcsForm2/screenSettings/index.vue

@@ -43,7 +43,7 @@
       <el-table-column label="自增主键" align="center" prop="id" />
       <el-table-column label="大屏名称" align="center" prop="screenName" />
       <el-table-column label="标识" align="center" prop="code" />
-      <el-table-column label="模版页id" align="center" prop="pageId" />
+      <el-table-column label="模版页名称" align="center" prop="pageName" />
       <el-table-column label="启用状态" align="center" prop="status">
         <template #default="scope">
           <dict-tag :options="sys_normal_disable" :value="scope.row.status" />
@@ -72,8 +72,11 @@
         <el-form-item label="标识" prop="code">
           <el-input v-model="form.code" placeholder="请输入标识" />
         </el-form-item>
-        <el-form-item label="模版页id" prop="pageId">
-          <el-input v-model="form.pageId" placeholder="请输入模版页id" />
+        <el-form-item label="模版页" prop="pageId">
+          <el-select v-model="form.pageId" placeholder="请选择模版页">
+            <el-option v-for="dict in pageOptions" :key="dict.pageId" :label="dict.pageName"
+              :value="dict.pageId"></el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="启用状态" prop="status">
           <el-radio-group v-model="form.status">
@@ -95,8 +98,21 @@
 </template>
 
 <script setup name="ScreenSettings">
-import { listScreenSettings, getScreenSettings, delScreenSettings, addScreenSettings, updateScreenSettings } from "@/api/hnyz/screenSettings";
+import { listScreenSettingsForm, getScreenSettings, delScreenSettings, addScreenSettings, updateScreenSettings } from "@/api/hnyz/screenSettings";
+import {getTemplatePageList} from "@/api/hnyz/templatePage";
+import { onMounted ,ref} from "vue";
 
+onMounted(() => {
+  getPageOptions();
+});
+
+const pageOptions = ref([]);
+// 获取模版页选项
+function getPageOptions() {
+  getTemplatePageList().then(response => {
+    pageOptions.value = response.data;
+  });
+}
 const { proxy } = getCurrentInstance();
 const { sys_normal_disable } = proxy.useDict('sys_normal_disable');
 
@@ -138,7 +154,7 @@ const { queryParams, form, rules } = toRefs(data);
 /** 查询大屏设置管理列表 */
 function getList() {
   loading.value = true;
-  listScreenSettings(queryParams.value).then(response => {
+  listScreenSettingsForm(queryParams.value).then(response => {
     screenSettingsList.value = response.rows;
     total.value = response.total;
     loading.value = false;

+ 2 - 2
ui/src/views/dcsForm2/templatePage/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="app-container">
-    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="88px">
       <el-form-item label="模板页名称" prop="pageName">
         <el-input v-model="queryParams.pageName" placeholder="请输入模板页名称" clearable @keyup.enter="handleQuery" />
       </el-form-item>
@@ -61,7 +61,7 @@
 
     <!-- 添加或修改模板页管理对话框 -->
     <el-dialog :title="title" v-model="open" width="500px" append-to-body>
-      <el-form ref="templatePageRef" :model="form" :rules="rules" label-width="80px">
+      <el-form ref="templatePageRef" :model="form" :rules="rules" label-width="90px">
         <el-form-item label="模板页名称" prop="pageName">
           <el-input v-model="form.pageName" placeholder="请输入模板页名称" />
         </el-form-item>