Browse Source

feat:报警规则、报警发送、报警列表页面优化配置

huang, kai (Contractor) 2 weeks ago
parent
commit
d68b797b98

+ 1 - 1
admin.ui.plus-master/src/api/admin/AlarmService/alarmQueryDto.ts

@@ -19,7 +19,7 @@
    /** 推送内容 */
         content?: string
    /** 是否推送 */
-        isPushed?: boolean
+        isPushed?: boolean | ""
    /** 推送时间 */
         pushTime?: string
    /** 报警ID */

+ 21 - 13
admin.ui.plus-master/src/api/admin/reportManagement/alarm/alarmApi.ts

@@ -1,4 +1,4 @@
-import { AxiosResponse } from 'axios'
+import axios, { AxiosResponse } from 'axios'
 import {ContentType, HttpClient, RequestParams} from "/@/api/admin/http-client";
 import {PageInputAlarmFilterModel,alarmFilterModel,PushRulesQuery} from "/@/api/admin/reportManagement/alarm/alarmDto";
 import request from '/@/utils/request';
@@ -31,21 +31,29 @@ export class PushRulesApi {
   /**
    * 获取推送规则列表
    * @param params 请求参数
-   * @returns 接口响应数据
+   * @returns 接口响应数据  
    */
   getPushRulesList(params: PushRulesQuery) {
-    // 处理时间参数(转为字符串数组)
-    const timeParams = params.time?.map(time => time.toString());
+    const requestUrl = `http://47.101.220.106:8000/api/app/Association/get-push-rules-list?sdate=${params.sdate}&edate=${params.edate}&alarmHistoryID=${params.alarmHistoryID}`
     
-    return request({
-      url: '/api/app/Association/get-push-rules-list',
-      method: 'GET', 
-      params: {
-        ...params,
-        time: timeParams ? timeParams.join(',') : undefined, // 转换为逗号分隔的字符串
-        fuelIds: params.fuelIds || '' // 确保非空
-      }
-    });
+    var config = {
+        method: 'get',
+        url: requestUrl,
+    };
+
+    return axios(config)
+    
+
+    // return request({
+    //   url: '/api/app/Association/get-push-rules-list',
+    //   method: 'GET', 
+    //   params: {
+    //     ...params,
+    //     sdate: params.sdate ?? '', // 允许为空字符串
+    //     edate: params.edate ?? '', // 允许为空字符串
+    //     alarmHistoryID: params.alarmHistoryID || '' // 确保非空
+    //   }
+    // });
   }
 }
 

+ 3 - 6
admin.ui.plus-master/src/api/admin/reportManagement/alarm/alarmDto.ts

@@ -123,10 +123,7 @@ filter?: alarmFilterModel_SearchFilter
 
 // /src/api/admin/Association/pushRulesDto.ts
 export interface PushRulesQuery {
-  /** 时间范围(格式:YYYY-MM-DD HH:mm:ss,传空则不筛选) */
-  time?: [string, string];
-  /** 油机 ID(字符串,逗号分隔) */
-  fuelIds?: string;
-  /** 其他可选参数(根据接口文档补充) */
-  // otherParams?: string;
+  alarmHistoryID: string
+  sdate?:string;
+  edate?:string;
 }

+ 49 - 18
admin.ui.plus-master/src/views/admin/statement/alarmManagement/index.vue

@@ -73,10 +73,11 @@
       <!--表格-->
       <el-col :xs="24">
         <el-card class="my-fill mt8" shadow="hover">
-          <el-table ref="multipleTableRef" v-loading="Data.loading" stripe :data="Data.tableModel" row-key="id"
+          <!-- 修改表格引用,添加ref -->
+          <el-table ref="tableRef" v-loading="Data.loading" stripe :data="Data.tableModel" row-key="id"
             style="width: 100%;overflow: hidden;">
-                <!-- 多选框 -->
-    <el-table-column type="selection" width="55" fixed="left"></el-table-column>
+            <!-- 多选框 -->
+            <el-table-column type="selection" width="55" fixed="left"></el-table-column>
             <el-table-column v-for="column in Data.dynamicColumns" :key="column.prop" :prop="column.prop"
               :label="column.label" />
                 <el-table-column label="操作" fixed="right" header-align="center" align="center" class="right-operation"
@@ -112,7 +113,7 @@
 </template>
 
 <script setup lang="ts" name="authorize/fuelingsdk">
-import { onMounted, reactive, watch } from "vue";
+import { onMounted, reactive, ref, watch } from "vue";
 import { ElMessage, ElTable } from 'element-plus'
 import { alarmFilterModel_SearchFilter, alarmFilterModel, PageInputAlarmFilterModel, PushRulesQuery } from "/@/api/admin/reportManagement/alarm/alarmDto";
 import { AlarmApi,PushRulesApi } from "/@/api/admin/reportManagement/alarm/alarmApi";
@@ -120,6 +121,7 @@ import { useDynamicPageSize } from "/@/composables/useDynamicPageSize";
 import router from "/@/router";
 
 const pushRulesApi = new PushRulesApi();
+const tableRef = ref<InstanceType<typeof ElTable>>(); // 添加表格引用
 
 // 使用组合式函数获取分页状态
 const pageState = useDynamicPageSize(10, 15);
@@ -264,25 +266,54 @@ const toList = () =>{
   router.push({ path:`/authorize/statement/alarmQuery`})
 }
 
+/**
+ * 执行推送规则
+ */
 const handlePushRules = async () => {
+  // 获取选中的行
+  const selection = tableRef.value?.getSelectionRows() || [];
+  
+  if (selection.length === 0) {
+    ElMessage.warning('请选择需要执行推送规则的报警记录');
+    return;
+  }
+  
+  // 提取选中行的ID
+  const alarmIds = selection.map(row => row.alarmHistoryID).filter(id => id);
+  
+  if (alarmIds.length === 0) {
+    ElMessage.warning('选中的记录中没有有效的报警ID');
+    return;
+  }
+  
   try {
-    // 构造请求参数
-    const params: PushRulesQuery = {
-      // 从表单获取油机 ID(示例:假设从 Data.Filter.fuelld 获取,多个用逗号分隔)
-      fuelIds: Data.Filter.fuelld, 
-      // 时间参数(可选,从日期选择器获取)
-      time: Data.time?.map((date: { toString: () => any; }) => date.toString()) // 自动转换为字符串数组
+    // 显示加载状态
+    Data.loading = true;
+    
+    // 构建请求参数
+    const queryParams: PushRulesQuery = {
+      alarmHistoryID: alarmIds.join(','), // 将ID数组转为逗号分隔的字符串
+      sdate: Data.Filter.CreateBeginTime || '', // 使用筛选器中的开始时间
+      edate: Data.Filter.CreateEndTime || '',   // 使用筛选器中的结束时间
     };
+    
+    // 调用API执行推送规则
+    const result = await pushRulesApi.getPushRulesList(queryParams);
+    
+    // 处理成功响应
+    if(result.success=true){
+    ElMessage.success('推送规则执行成功');
+    }
 
-    // 调用接口
-    const res = await pushRulesApi.getPushRulesList(params);
+    // 可以在这里添加其他处理逻辑,例如刷新列表
+    await init();
     
-    // 处理响应数据
-    console.log('推送规则列表:', res.data);
-    ElMessage.success('规则列表获取成功');
-  } catch (error) {
-    console.error('获取推送规则失败:', error);
-    ElMessage.error('获取失败,请检查参数');
+  } catch (error: any) {
+    // 处理错误
+    ElMessage.error(`推送规则执行失败: ${error.message || '未知错误'}`);
+  } finally {
+    // 隐藏加载状态
+    Data.loading = false;
   }
 };
 

+ 53 - 71
admin.ui.plus-master/src/views/admin/statement/alarmQuery/index.vue

@@ -8,12 +8,16 @@
             <el-form-item prop="name" style="width: 100%">
               <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
                 <el-form-item label="推送用户">
-                  <el-input v-model="state.filter.pushUser" placeholder="单行输入" clearable></el-input>
+                  <el-input v-model="state.filter.pushUser" placeholder="请输入推送用户" clearable></el-input>
                 </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
                 <el-form-item label="是否推送">
-                  <el-input v-model="state.filter.isPushed" placeholder="单行输入" clearable></el-input>
+                  <el-select v-model="state.filter.isPushed" placeholder="请选择推送状态">
+                    <el-option label="所有" :value="undefined"></el-option>
+                    <el-option v-for="(value, key) in FuelDispenserEnum" :key="key" :label="value" :value="key" />
+                  </el-select>
+                  <!-- <el-input v-model="state.filter.isPushed" placeholder="单行输入" clearable></el-input> -->
                 </el-form-item>
               </el-col>
               <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
@@ -50,7 +54,7 @@
   <el-table-column type="selection" width="55" fixed="left"></el-table-column>
         <el-table-column v-for="column in state.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label"  >
         </el-table-column> 
-<el-table-column label="操作"  fixed="right" header-align="center" align="center" class="right-operation" width="140">
+<!-- <el-table-column label="操作"  fixed="right" header-align="center" align="center" class="right-operation" width="140">
         <template #default="{ row }" >
 <el-link          v-if="row.isPushed === '未推送'"
                   class="my-el-link mr12 ml12"
@@ -61,11 +65,11 @@
                   target="_blank"
                 >立即推送</el-link>
 </template>
-            </el-table-column>
+            </el-table-column> -->
 </el-table>
 <div class="my-flex my-flex-end" style="margin-top: 20px">
-            <el-pagination v-model:currentPage="pageState.pageInput.currentPage"
-              v-model:page-size="pageState.pageInput.pageSize" :total="state.total" :page-sizes="[10, 15, 20, 50, 100]"
+            <el-pagination v-model:currentPage="state.pageInput.currentPage"
+              v-model:page-size="state.pageInput.pageSize" :total="state.total" :page-sizes="[10, 15, 20, 50, 100]"
               small background @size-change="onSizeChange" @current-change="onCurrentChange"
               layout="total, sizes, prev, pager, next, jumper" />
           </div>
@@ -81,46 +85,12 @@
 import { PushDto } from "/@/api/admin/AlarmService/alarmQueryDto";
 import { PageInputAlarmFilterModel } from "/@/api/admin/reportManagement/alarm/alarmDto";
 import { useDynamicPageSize } from "/@/composables/useDynamicPageSize";
+import { ElMessage } from "element-plus";
+import { all } from "axios";
 
 // 使用组合式函数获取分页状态
-const pageState = useDynamicPageSize(10, 15);
+// const pageState = useDynamicPageSize(10, 15);
 
-/**创建假数据 */
-const mockData = [
-  {
-    id: 1,
-    ruleId: "rule-001",
-    pushUserid: "user-001",
-    pushUser: "张三",
-    content: "设备A报警:温度过高",
-    isPushed: "已推送",
-    pushTime: "2023-10-01 10:00:00",
-    alarmhistoryID: "alarm-001",
-    taskPriority: "高",
-  },
-  {
-    id: 2,
-    ruleId: "rule-002",
-    pushUserid: "user-002",
-    pushUser: "李四",
-    content: "设备B报警:电压异常",
-    isPushed: "未推送",
-    pushTime: "2023-10-02 15:30:00",
-    alarmhistoryID: "alarm-002",
-    taskPriority: "中",
-  },
-  {
-    id: 3,
-    ruleId: "rule-003",
-    pushUserid: "user-003",
-    pushUser: "王五",
-    content: "设备C报警:湿度超标",
-    isPushed: "已推送",
-    pushTime: "2023-10-03 09:45:00",
-    alarmhistoryID: "alarm-003",
-    taskPriority: "低",
-  },
-];
 
 /**数据对象*/
   const state = reactive({
@@ -131,21 +101,22 @@ const mockData = [
 /**推送用户 */
         pushUser: "",
 /**是否推送 */
-        isPushed: "",
+        isPushed: undefined,
 /**推送时间 */
         pushTime: "",},
   /**表格信息 */
-tableModel: [] as PushDto,
+tableModel: [] as PushDto[],
     /**动态表头 */
     dynamicColumns: [
-{ prop: 'ruleId', label: '规则id' },
-{ prop: 'pushUserid', label: '推送用户id' },
+{ prop: 'ruleId', label: '规则名称' },
+// { prop: 'pushUserid', label: '推送用户id' },
 { prop: 'pushUser', label: '推送用户' },
 { prop: 'content', label: '推送内容' },
 { prop: 'isPushed', label: '是否推送' },
 { prop: 'pushTime', label: '推送时间' },
-{ prop: 'alarmhistoryID', label: '报警ID' },
-{ prop: 'taskPriority', label: '优先级' },],
+// { prop: 'alarmhistoryID', label: '报警ID' },
+// { prop: 'taskPriority', label: '优先级' },
+],
   /**分页标识 */
   pageInput: {
     currentPage: 1,
@@ -154,9 +125,14 @@ tableModel: [] as PushDto,
   /**分页总数 */
   total: 0,
 })
+
+/**设备状态*/
+enum FuelDispenserEnum {
+  true = '是',
+  false = '否',
+}
+
   onMounted(async () => {
-       // 初始化分页大小
-   state.pageInput.pageSize = pageState.pageInput.pageSize;
   await onQuery()
     init()
     eventBus.off('refreshView')
@@ -199,32 +175,38 @@ const onCurrentChange = (val: number) => {
         }
 
 
-        /**初始化 */
-        const init = async () => {
-          state.loading = true;
-
-// 模拟后端返回的数据
-const mockResponse = {
-  data: {
-    list: mockData, // 使用假数据
-  },
+/**初始化 */
+const init = async () => {
+  state.loading = true;
+  
+  try {
+    const params = {
+      ...state.pageInput, // 分页参数
+      filter:state.filter     // 筛选条件
+    };
+    
+    // 调用真实API
+    const res = await new Api().getList(params);
+    
+    // 处理响应数据
+    state.tableModel = res?.data?.list ?? [];
+    state.total = res?.data?.total ?? 0; // 获取总记录数用于分页
+  } catch (error) {
+    console.error('获取数据失败:', error);
+    ElMessage.error('获取数据失败,请重试');
+  } finally {
+    state.loading = false;
+  }
 };
-  // 假设接口返回的数据格式为 { data: { list: [] } }
-  state.tableModel = mockResponse.data.list ?? [];
-  state.loading = false;
-};
-//           state.loading = true
-// const res:any = await new Api().getList({...state.filter})
-// state.tableModel = res?.data?.list ?? []
-//           state.loading = false
-//         }
+
+
 
 /**重置 */
         const onReset=()=>{
   // 重置查询条件
   state.filter = {
     pushUser: "",
-    isPushed: "",
+    isPushed: undefined,
     pushTime: "",
   };
 
@@ -232,7 +214,7 @@ const mockResponse = {
   init();
         }
 /**编辑 */
-      const onDateUpdate=(row)=>{
+      const onDateUpdate=(row: any)=>{
         console.log("编辑行数据:", row);
       }
 </script>

+ 11 - 11
admin.ui.plus-master/src/views/admin/statement/listOfOilEngines/index.vue

@@ -222,11 +222,11 @@ enum OnlineStatus {
 // 平台类型
 enum platformType {
     TQC= 'TQC',
-    TQCPro='TQC+',
+    'TQC+'='TQC+',
     Unknown='未知'
 }
 /**将filterModel对象成.的连接方式*/
-const flattenObject = (obj, parentKey = '') => {
+const flattenObject = (obj: { [x: string]: any; hasOwnProperty: (arg0: string) => any; }, parentKey = '') => {
   const result = {};
   for (const key in obj) {
     if (obj.hasOwnProperty(key)) {
@@ -260,17 +260,17 @@ const onQuery = () => {
 // 修改分页处理方法
 const onSizeChange = (val: number) => {
   pageState.pageInput.pageSize = val
-  oilEngineData.pageInput.pageSize = val
-  oilEngineData.pageInput.currentPage = 1 // 通常切换size会回到第一页
+  oilEngineData.pageInput.PageSize = val
+  oilEngineData.pageInput.CurrentPage = 1 // 通常切换size会回到第一页
   init()
 }
 
 const onCurrentChange = (val: number) => {
   pageState.pageInput.currentPage = val
-  oilEngineData.pageInput.currentPage = val
+  oilEngineData.pageInput.CurrentPage = val
   init()
 }
-const toPage = (row) => {
+const toPage = (row: { fuelId: any; }) => {
   router.push({ path: `/statement/${row.fuelId}` })
 }
 
@@ -313,8 +313,8 @@ const init = async () => {
   oilEngineData.loading = true
   try {
     const res = await new ListOfOilEnginesApi().getPage({
-      currentPage: oilEngineData.pageInput.currentPage,  // 使用小写
-      pageSize: oilEngineData.pageInput.pageSize,      // 使用小写
+      currentPage: oilEngineData.pageInput.CurrentPage,  // 使用小写
+      pageSize: oilEngineData.pageInput.PageSize,      // 使用小写
       filter: oilEngineData.filterModel
     })
     console.log('API Response:', res)
@@ -362,8 +362,8 @@ const getColor = (value: string): string => {
 
 onMounted(() => {
  // 初始化分页大小
-  oilEngineData.pageInput.pageSize = pageState.pageInput.pageSize;
-  oilEngineData.pageInput.currentPage = 1; // 初始化时重置为第一页
+  oilEngineData.pageInput.PageSize = pageState.pageInput.pageSize;
+  oilEngineData.pageInput.CurrentPage = 1; // 初始化时重置为第一页
   init()
   eventBus.off('refreshView')
   eventBus.on('refreshView', async () => {
@@ -380,7 +380,7 @@ onBeforeMount(() => {
 
 <style scoped lang="scss">
 .el-input,
-.el-select,
+.el-select
  {
   width: 240px;
 }

+ 44 - 44
admin.ui.plus-master/src/views/admin/yujing/alarmRules/components/add-alarmRules.vue

@@ -103,8 +103,8 @@
         <el-form :inline="true" @submit.stop.prevent>
           <el-form-item label="触发方式:" style="width: 100%;" prop="triggerMethod">
             <el-radio-group v-model="Data.Filter.triggerMethod">
-              <el-radio label="其中之一条件满足即触发">其中之一条件满足即触发</el-radio>
-              <el-radio label="全部满足时触发">全部满足时触发</el-radio>
+              <el-radio label="0">其中之一条件满足即触发</el-radio>
+              <el-radio label="1">全部满足时触发</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-form>
@@ -130,8 +130,8 @@
                   <div style="flex:1;">
                      <!-- style="display: flex; align-items: center;" -->
                     <span style="margin-right: 13px;">报警设备:</span>
-                    <el-form-item prop="equipment" style="display:flex">
-                      <el-select v-model="condition.equipment" placeholder="请选择" >
+                    <el-form-item prop="Left" style="display:flex">
+                      <el-select v-model="condition.Left" placeholder="请选择" >
                         <el-option 
                           v-for="item in Data.alarmEquipment" 
                           :key="item" 
@@ -147,8 +147,8 @@
                 <el-col :span="8">
                   <div style="flex:1;">
                     <span style="margin-right: 13px;">报警类型:</span>
-                    <el-form-item prop="type"  style="display:flex">
-                      <el-select v-model="condition.type" placeholder="请选择" >
+                    <el-form-item prop="inthe"  style="display:flex">
+                      <el-select v-model="condition.inthe" placeholder="请选择" >
                         <el-option 
                           v-for="item in Data.alarmType" 
                           :key="item" 
@@ -164,8 +164,8 @@
                 <el-col :span="8">
                   <div style="flex:1;">
                     <span style="margin-right: 13px;">报警来源:</span>
-                    <el-form-item prop="source" style="display:flex">
-                      <el-select v-model="condition.source" placeholder="请选择">
+                    <el-form-item prop="Right" style="display:flex">
+                      <el-select v-model="condition.Right" placeholder="请选择">
                         <el-option 
                           v-for="item in Data.alarmSource" 
                           :key="item" 
@@ -199,8 +199,8 @@
         <el-form :inline="true" @submit.stop.prevent>
           <el-form-item label="触发方式:" style="width: 100%;" prop="maintenanceTriggerMethod">
             <el-radio-group v-model="Data.Filter.maintenanceTriggerMethod">
-              <el-radio label="其中之一条件满足即触发">其中之一条件满足即触发</el-radio>
-              <el-radio label="全部满足时触发">全部满足时触发</el-radio>
+              <el-radio label="0">其中之一条件满足即触发</el-radio>
+              <el-radio label="1">全部满足时触发</el-radio>
             </el-radio-group>
           </el-form-item>
         </el-form>
@@ -224,8 +224,8 @@
                 <el-col :span="8">
                   <div style="flex:1;">
                     <span style="margin-right: 13px;width: 90px;">维修类型:</span>
-                    <el-form-item prop="proType">
-                      <el-select v-model="condition2.proType" placeholder="请选择" style="display:flex">
+                    <el-form-item prop="Left">
+                      <el-select v-model="condition2.Left" placeholder="请选择" style="display:flex">
                         <el-option 
                           v-for="item in Data.alarmproType" 
                           :key="item" 
@@ -240,8 +240,8 @@
                 <el-col :span="8">
                   <div style="flex:1;">
                     <span style="margin-right: 13px;">维修状态:</span>
-                    <el-form-item prop="proStatus">
-                      <el-select v-model="condition2.proStatus" placeholder="请选择" style="display:flex">
+                    <el-form-item prop="Right">
+                      <el-select v-model="condition2.Right" placeholder="请选择" style="display:flex">
                         <el-option 
                           v-for="item in Data.alarmproStatus" 
                           :key="item" 
@@ -290,14 +290,14 @@ import { UserListItem } from "/@/api/admin/AlarmService/alarmRulesDto"; // 用
 
 // 条件验证规则
 const conditionRules = reactive<FormRules>({
-  equipment: [{ required: true, message: '请选择报警设备', trigger: 'change' }],
-  type: [{ required: true, message: '请选择报警类型', trigger: 'change' }],
-  source: [{ required: true, message: '请选择报警来源', trigger: 'change' }]
+  Left: [{ required: true, message: '请选择报警设备', trigger: 'change' }],
+  inthe: [{ required: true, message: '请选择报警类型', trigger: 'change' }],
+  Right: [{ required: true, message: '请选择报警来源', trigger: 'change' }]
 })
 
 const condition2Rules = reactive<FormRules>({
-  proType: [{ required: true, message: '请选择维修类型', trigger: 'change' }],
-  proStatus: [{ required: true, message: '请选择维修状态', trigger: 'change' }]
+  Left: [{ required: true, message: '请选择维修类型', trigger: 'change' }],
+  Right: [{ required: true, message: '请选择维修状态', trigger: 'change' }]
 })
 
 const Data = reactive({
@@ -340,13 +340,13 @@ const Data = reactive({
   mode2: '',
   /** 条件选择 */
   condition: [{
-    equipment: '',
-    type: '',
-    source: ''
+    Left: '',
+    inthe: '',
+    Right: ''
   }],
   condition2: [{
-    proStatus: '',
-    proType: ''
+    Right: '',
+    Left: ''
   }],
   alarmEquipment: ["安全装置","编码器","计控主板","监控微处理器","智能型控制阀","油气回收控制板","显示屏","计量器","加油机","油枪"],
   alarmType: ["加油机离线","通信异常","非法部件","厂商不符","绑定错误","监控微处理器报警","安全装置报警","加油机报警","检定"],
@@ -495,16 +495,16 @@ const addCondition = () => {
   } else {
     // 验证当前条件是否已填写
     const lastCondition = Data.condition[Data.condition.length - 1]
-    if (!lastCondition.equipment || !lastCondition.type || !lastCondition.source) {
+    if (!lastCondition.Left || !lastCondition.inthe || !lastCondition.Right) {
       ElMessage.warning('请先填写当前条件的所有字段')
       return
     }
     
     // 添加新条件
     Data.condition.push({
-      equipment: '',
-      type: '',
-      source: ''
+      Left: '',
+      inthe: '',
+      Right: ''
     })
   }
 }
@@ -517,15 +517,15 @@ const addRepairCondition = () => {
   } else {
     // 验证当前条件是否已填写
     const lastCondition = Data.condition2[Data.condition2.length - 1]
-    if (!lastCondition.proType || !lastCondition.proStatus) {
+    if (!lastCondition.Left || !lastCondition.Right) {
       ElMessage.warning('请先填写当前条件的所有字段')
       return
     }
     
     // 添加新条件
     Data.condition2.push({
-      proType: '',
-      proStatus: ''
+      Left: '',
+      Right: ''
     })
   }
 }
@@ -537,9 +537,9 @@ const removeCondition = () => {
   } else {
     Data.showAlarmConditions = false
     Data.condition = [{
-      equipment: '',
-      type: '',
-      source: ''
+      Left: '',
+      inthe: '',
+      Right: ''
     }]
   }
 }
@@ -551,8 +551,8 @@ const removeCondition2 = () => {
   } else {
     Data.showRepairConditions = false
     Data.condition2 = [{
-      proType: '',
-      proStatus: ''
+      Left: '',
+      Right: ''
     }]
   }
 }
@@ -600,7 +600,7 @@ const submitForm = async () => {
   // 验证条件
   if (Data.showAlarmConditions) {
     for (const cond of Data.condition) {
-      if (!cond.equipment || !cond.type || !cond.source) {
+      if (!cond.Left || !cond.inthe || !cond.Right) {
         ElMessage.warning('请填写所有报警条件字段')
         return
       }
@@ -618,7 +618,7 @@ const submitForm = async () => {
 
   if (Data.showRepairConditions) {
     for (const cond of Data.condition2) {
-      if (!cond.proType || !cond.proStatus) {
+      if (!cond.Left || !cond.Right) {
         ElMessage.warning('请填写所有维修条件字段')
         return
       }
@@ -752,15 +752,15 @@ const openDialog = (row: alarmRluesFilterModel) => {
     } as unknown as alarmRluesFilterModel;
     Data.mode1 = "",
     Data.condition = [{
-    equipment: '',
-    type: '',
-    source: ''
+    Left: '',
+    inthe: '',
+    Right: ''
   }]
     Data.showAlarmConditions = false
     Data.condition2 = [{
-    equipment: '',
-    type: '',
-    source: ''
+    Left: '',
+    inthe: '',
+    Right: ''
   }]
     Data.showRepairConditions = false
   }

+ 1 - 8
admin.ui.plus-master/src/views/admin/yujing/alarmRules/index.vue

@@ -140,7 +140,7 @@ const Data = reactive({
 
 // 定义状态选项
 const StatusOptions = [
-  { value: '', label: '所有' },
+  { value: undefined, label: '所有' },
   { value: true, label: '启用' },
   { value: false, label: '禁用' }
 ];
@@ -227,13 +227,6 @@ const pushMethodChange = (() => {
     } else {
       item['isExclusive'] = "否"
     }
-
-    // 触发方式
-    if (item['triggerMethod'] == '0') {
-      item['triggerMethod'] = '其中之一条件满足即触发'
-    } else if (item['triggerMethod'] == '1') {
-      item['triggerMethod'] = '全部满足时触发'
-    }
   })
 })
 

+ 1 - 7
admin.ui.plus-master/vite.config.ts

@@ -41,13 +41,7 @@ const viteConfig = defineConfig(({ mode, command }: ConfigEnv) => {
           ws: true,
           changeOrigin: true,
           rewrite: (path) => path.replace(/^\/gitee/, ''),
-        },
-        '/app': {
-          target: 'http://dev.hsfuel.com:8000',
-          ws: true,
-          changeOrigin: true,
-          rewrite: (path) => path
-        },
+        }
       },
     },
     build: {