浏览代码

feat:提交修改优化

huang, kai (Contractor) 1 月之前
父节点
当前提交
6479392468

+ 23 - 0
admin.ui.plus-master/src/api/admin/AlarmService/alarmQueryApi.ts

@@ -0,0 +1,23 @@
+import { AxiosResponse } from 'axios'
+  import { ContentType, HttpClient, RequestParams } from '/@/api/admin/http-client'
+  export class Api<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
+    /**
+   * No description
+   *
+   * @tags
+   * @name GetList
+   * @summary 查询列表
+   * @request POST:'/api/app/push/get-push-list'
+   * @secure
+   */
+getList = (data:any ,params: RequestParams = {}) : any  =>
+      this.request<AxiosResponse,any>({
+        path:'/api/app/push/get-push-list',
+        method: 'POST',
+        body:data,
+        type: ContentType.Json,
+        secure: true,
+        format: 'json',
+        ...params
+      })
+    }

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

@@ -0,0 +1,30 @@
+/** 查询信息输出 */
+  export interface ResultOutputListPushDto{
+  /** 是否成功标记 */
+  success?: boolean
+  /** 编码 */
+  code?: string | null
+  /** 消息 */
+  msg?: string | null
+  /** 数据 */
+ data?:PushDto[] | null
+}
+      export interface PushDto{
+   /** 规则id */
+        ruleId?: integer
+   /** 推送用户id */
+        pushUserid?: integer
+   /** 推送用户 */
+        pushUser?: string
+   /** 推送内容 */
+        content?: string
+   /** 是否推送 */
+        isPushed?: boolean
+   /** 推送时间 */
+        pushTime?: string
+   /** 报警ID */
+        alarmhistoryID?: integer
+   /** 优先级 */
+        taskPriority?: integer
+
+}

+ 7 - 6
admin.ui.plus-master/src/views/admin/authorize/fuelingFTPofDate/index.vue

@@ -19,12 +19,13 @@
               </el-form-item>
               <el-form-item label="密钥使用日期" style="width: 45%;">
                 <el-date-picker 
-                  v-model="state.filter.useDate" 
-                  type="date" 
-                  style="width: 100%;" 
-                  placeholder="请选择日期" 
-                  value-format="yyyy/MM/DD" 
-                />             
+                v-model="state.filter.useDate" 
+                type="date"
+                style="width: 100%;" 
+                placeholder="请选择日期"
+                format="YYYY-MM-DD"
+                value-format="YYYY-MM-DD"
+                  />             
                </el-form-item>
             </el-form>
           </div>

+ 15 - 15
admin.ui.plus-master/src/views/admin/authorize/oilUp/index.vue

@@ -6,7 +6,7 @@
 <!--操作-->
       <el-col :xs="24" >
         <el-card class="mt8"  shadow="hover" >
-<el-form :model="state.filter" :inline="true" @submit.stop.prevent>
+<el-form :model="state.filter" :inline="true" @submit.stop.prevent style="margin-bottom: -3vh;">
             <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="省、市、区">
@@ -22,7 +22,7 @@
 
               <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
                 <el-form-item label="软件版本">
-                  <el-select  placeholder="请选择">
+                  <el-select v-model="state.filter.softV" placeholder="请选择">
                      <el-option label="所有" :value="''"></el-option>
                      <el-option label="开启" :value="''"></el-option>
                      <el-option label="关闭" :value="''"></el-option>
@@ -32,7 +32,7 @@
 
               <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
                 <el-form-item label="升级状态">
-                  <el-select  placeholder="请选择">
+                  <el-select v-model="state.filter.upgradeStatus" placeholder="请选择">
                      <el-option label="所有" :value="''"></el-option>
                      <el-option label="开启" :value="''"></el-option>
                      <el-option label="关闭" :value="''"></el-option>
@@ -54,27 +54,27 @@
 </el-form-item>
           </el-form>
 
-          <hr class="fengexian">
+          <hr>
 
   <!-- 按钮 -->
-  <el-row justify="space-between" class="submit-button">
+  <el-row justify="space-between" class="submit-button" style="margin-bottom: -1vh;">
       <el-row>
         <el-button type="primary" icon="ele-CirclePlus" @click="''">升级软件</el-button>
       </el-row>
       <el-row>
           <el-button type="primary" icon="ele-Search" @click="onQuery">查询</el-button>
-          <el-button type="primary" icon="ele-CirclePlus" @click="onReset">重置</el-button>
+          <el-button type="primary" icon="ele-RefreshRight" @click="onReset">重置</el-button>
       </el-row>
   </el-row>
 </el-card>
       </el-col>
 <!--表格-->
-      <el-col  :xs="24" >
+      <el-col :xs="24" >
         <el-card style="height: 70vh" class="my-fill mt8" shadow="hover">
 <el-table v-loading="state.loading" stripe :data="state.tableModel" row-key="id" style="width: 100%">
     <!-- 多选框 -->
-    <el-table-column type="selection" width="55" fixed="left"></el-table-column>
-  <el-table-column label="操作"  fixed="left" header-align="center" align="center" class="left-operation" width="140">
+    <el-table-column type="selection" width="50" fixed="left"></el-table-column>
+  <el-table-column label="操作" fixed="left" header-align="center" align="center" class="left-operation" width="140">
         <template #default="{ row }" >
                 <el-link
                   class="my-el-link mr12 ml12"
@@ -183,6 +183,7 @@ tableModel: [] as UpgradeManagementDto,
   * 监听变换
   */
   watch(() => {})
+
 /**条件查询 */
           const onQuery = () => {
           init()
@@ -196,7 +197,11 @@ state.tableModel = res?.data?.list ?? []
           state.loading = false
         }
 /**重置 */
-        const onReset=()=>{}
+        const onReset=()=>{
+          state.filter.stationName=''
+        
+          onQuery()
+        }
 /**编辑 */
       const onDateUpdate=(row)=>{}
       
@@ -225,9 +230,4 @@ state.tableModel = res?.data?.list ?? []
 ::v-deep .el-table th.el-table__cell {
     background-color: #F6F6F6;
 }
-
-.fengexian{
-  margin-top: -3.5vh;
-  margin-bottom: 1vh;
-}
   </style>

+ 2 - 10
admin.ui.plus-master/src/views/admin/product/record/index.vue

@@ -239,16 +239,6 @@ const getComponentStatus = (val) => {
   }
 }
 
-//设置不同团标状态、油气回收字体颜色
-const getColor = (value: string): string => {
-  if (value === '已备案') {
-    return '#41b584';
-  } else if (value === '灌注') {
-    return '#409eff';
-  } else {
-    return '#E6A23C';
-  }
-}
 //const { copyText } = commonFunction()
 
 //const previewImglist = computed(() => {
@@ -311,6 +301,8 @@ const resetSearchForm = () => {
   bomModel.filterModel.bomName = ''
   bomModel.filterModel.bomProNo = ''
   bomModel.filterModel.bomMateNo = ''
+  bomModel.filterModel.barcode = ''
+  bomModel.filterModel.manufacturer = ''
   bomModel.pageInput.currentPage = 1
 }
 

+ 36 - 10
admin.ui.plus-master/src/views/admin/statement/alarmManagement/index.vue

@@ -4,13 +4,13 @@
       <!--操作-->
       <el-col :xs="24">
         <el-card class="mt8" shadow="hover">
-          <el-form :model="Data.Filter" @submit.stop.prevent>
+          <el-form :model="Data.Filter" @submit.stop.prevent style="margin-bottom:-20px;">
             <el-form-item prop="name" style="width: 100%">
-              <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
+              <!-- <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
                 <el-form-item label="油机ID">
                   <el-input v-model="Data.Filter.fuelld" placeholder="请输入油机ID" clearable></el-input>
                 </el-form-item>
-              </el-col>
+              </el-col> -->
               <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
                 <el-form-item label="加油站">
                   <el-input v-model="Data.Filter.gasStation" placeholder="请输入加油站" clearable></el-input>
@@ -53,7 +53,7 @@
               </el-col>
 
               <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="6" class="mb20">
-                <el-form-item label="创建时间">
+                <el-form-item label="报警时间">
                   <el-date-picker v-model="Data.time" type="datetimerange" value-format="YYYY-MM-DD HH:mm:ss"
                     range-separator="To" start-placeholder="开始日期" end-placeholder="结束日期" />
                 </el-form-item>
@@ -72,17 +72,33 @@
             <el-row>
               <el-button type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
               <el-button type="primary" icon="ele-RefreshRight" @click="onReset"> 重置 </el-button>
-            </el-row>
+            <el-button v-auth="'api:admin:file:upload-file'" type="primary" icon="ele-Upload"> 执行推送规则
+            </el-button>
           </el-row>
+        </el-row>
+
         </el-card>
       </el-col>
       <!--表格-->
       <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"
-            style="width: 100%">
+            style="width: 100%;overflow: hidden;">
+                <!-- 多选框 -->
+    <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"
+                width="150">
+                <template #default="{ row }">
+    <el-link class="my-el-link mr12 ml12" :href="row.linkUrl" type="primary" icon="ele-Download" size="small"
+      :underline="false" target="_blank">报警推送记录</el-link>
+      <el-link class="my-el-link mr12 ml12" :href="row.linkUrl" type="primary" icon="ele-Edit" size="small"
+      :underline="false" target="_blank">油机详情</el-link>
+      <el-link class="my-el-link mr12 ml12" :href="row.linkUrl" type="primary" icon="ele-InfoFilled" size="small"
+      :underline="false" target="_blank">诊断说明</el-link>
+                </template>
+              </el-table-column>
           </el-table>
           <div class="my-flex my-flex-end" style="margin-top: 20px">
             <el-pagination v-model:currentPage="Data.pageInput.currentPage" v-model:page-size="Data.pageInput.pageSize"
@@ -102,8 +118,12 @@ import { onMounted, reactive, watch } from "vue";
 import { ElTable } from 'element-plus'
 import { alarmFilterModel_SearchFilter, alarmFilterModel, PageInputAlarmFilterModel } from "/@/api/admin/reportManagement/alarm/alarmDto";
 import { AlarmApi } from "/@/api/admin/reportManagement/alarm/alarmApi";
+import { useDynamicPageSize } from "/@/composables/useDynamicPageSize";
 
 
+// 使用组合式函数获取分页状态
+const pageState = useDynamicPageSize(10, 15);
+
 /**页面对象 */
 const Data = reactive({
   time: '',
@@ -138,7 +158,7 @@ const Data = reactive({
   tableModel: [] as Array<alarmFilterModel>,
   /**动态表头 */
   dynamicColumns: [
-    { prop: 'fuelld', label: '油机id' },
+    // { prop: 'fuelld', label: '油机id' },
     { prop: 'gasStation', label: '加油站名称' },
     { prop: 'name', label: '油机号' },
     { prop: 'serialNumber', label: '序列号' },
@@ -147,8 +167,11 @@ const Data = reactive({
     { prop: 'alarmDescription', label: '报警描述' },
     { prop: 'alarmDevice', label: '报警设备' },
     { prop: 'nozzleControlName', label: '油枪' },
-    { prop: 'createdDate', label: '创建时间' },
-    { prop: 'alarmHistoryID', label: '报警历史ID' },
+    { prop: 'createdDate', label: '报警时间' },
+    { prop: '', label: '诊断说明' },
+    { prop: '', label: '是否推送' },
+
+    // { prop: 'alarmHistoryID', label: '报警历史ID' },
   ],
   /**分页标识 */
   pageInput: {
@@ -168,7 +191,10 @@ const init = async () => {
   Data.loading = false
 }
 
-onMounted(() => {
+onMounted(async () => {
+     // 初始化分页大小
+     Data.pageInput.pageSize = pageState.pageInput.pageSize;
+  await onQuery()
   init()
 })
 

+ 259 - 0
admin.ui.plus-master/src/views/admin/statement/alarmQuery/index.vue

@@ -0,0 +1,259 @@
+
+<template>
+  <div class="layout-pd">
+    <el-row>
+<!--操作-->
+      <el-col :xs="24" >
+        <el-card class="mt8"  shadow="hover" >
+<el-form :model="state.filter" :inline="true" @submit.stop.prevent style="margin-bottom:-20px;">
+            <el-form-item prop="name" style="width: 100%">
+<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb20">
+                <el-form-item label="推送用户">
+                  <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="6" :xl="4" class="mb20">
+                <el-form-item label="是否推送">
+                  <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="6" :xl="4" class="mb20">
+            <el-form-item label="推送时间">
+                  <el-date-picker
+                    v-model="state.filter.pushTime"
+                    type="datetimerange"
+                    value-format="YYYY-MM-DD HH:mm:ss"
+                    range-separator="To"
+                    start-placeholder="开始日期"
+                    end-placeholder="结束日期"
+                  />
+                </el-form-item>
+              </el-col>
+</el-form-item>
+          </el-form>
+
+          <hr>
+
+          <el-row justify="space-between" class="submit-button" style="margin-bottom:-6px;">
+            <el-row>
+<el-button  type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
+<el-button  type="primary" icon="ele-RefreshRight" @click="onReset"> 重置 </el-button>
+<el-button v-auth="'api:admin:file:upload-file'" type="primary" icon="ele-Upload"> 立即推送
+</el-button>
+          </el-row>
+        </el-row>
+</el-card>
+      </el-col>
+<!--表格-->
+      <el-col  :xs="24" >
+        <el-card style="height: 70vh" class="my-fill mt8" shadow="hover">
+<el-table v-loading="state.loading" stripe :data="state.tableModel" row-key="id" style="width: 100%">
+  <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">
+        <template #default="{ row }" >
+<el-link          v-if="row.isPushed === '未推送'"
+                  class="my-el-link mr12 ml12"
+                  type="primary"
+                  icon="ele-Upload"
+                  @click="onDateUpdate(row)"
+                  :underline="false"
+                  target="_blank"
+                >立即推送</el-link>
+</template>
+            </el-table-column>
+</el-table>
+<div class="my-flex my-flex-end" style="margin-top: 20px">
+            <el-pagination v-model:currentPage="state.pageInput.currentPage" v-model:page-size="state.pageInput.pageSize"
+              :total="state.total" :page-sizes="[5, 15, 25, 50, 100]" small background @size-change="onSizeChange"
+              @current-change="onCurrentChange" layout="total, sizes, prev, pager, next, jumper" />
+          </div>
+</el-card>
+      </el-col>
+</el-row>
+    </div>
+  </template>
+  <script setup lang="ts">
+  import {onBeforeMount, onMounted, reactive, ref, watch} from "vue";
+  import eventBus from "/@/utils/mitt";
+  import {Api} from "/@/api/admin/AlarmService/alarmQueryApi";
+import { PushDto } from "/@/api/admin/AlarmService/alarmQueryDto";
+import { PageInputAlarmFilterModel } from "/@/api/admin/reportManagement/alarm/alarmDto";
+import { useDynamicPageSize } from "/@/composables/useDynamicPageSize";
+
+// 使用组合式函数获取分页状态
+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({
+    /**加载显示 */
+    loading: false,
+    /**条件查询模块 */
+      filter: {
+/**推送用户 */
+        pushUser: "",
+/**是否推送 */
+        isPushed: "",
+/**推送时间 */
+        pushTime: "",},
+  /**表格信息 */
+tableModel: [] as PushDto,
+    /**动态表头 */
+    dynamicColumns: [
+{ prop: 'ruleId', label: '规则id' },
+{ prop: 'pushUserid', label: '推送用户id' },
+{ prop: 'pushUser', label: '推送用户' },
+{ prop: 'content', label: '推送内容' },
+{ prop: 'isPushed', label: '是否推送' },
+{ prop: 'pushTime', label: '推送时间' },
+{ prop: 'alarmhistoryID', label: '报警ID' },
+{ prop: 'taskPriority', label: '优先级' },],
+  /**分页标识 */
+  pageInput: {
+    currentPage: 1,
+    pageSize: 15,
+  } as PageInputAlarmFilterModel,
+  /**分页总数 */
+  total: 0,
+})
+  onMounted(async () => {
+       // 初始化分页大小
+   state.pageInput.pageSize = pageState.pageInput.pageSize;
+  await onQuery()
+    init()
+    eventBus.off('refreshView')
+    eventBus.on('refreshView', async () => {
+      await init()
+    })
+    console.log()
+  })
+  onBeforeMount(() => {
+    eventBus.off('refreshView')
+  })
+
+/**
+* 页条变化
+* @param val
+*/
+const onSizeChange = (val: number) => {
+  state.pageInput.pageSize = val
+  init()
+}
+
+/**
+ * 页数 变化
+ * @param val
+ */
+const onCurrentChange = (val: number) => {
+  state.pageInput.currentPage = val
+  init()
+}
+
+
+  /**
+  * 监听变换
+  */
+  watch(() => {})
+/**条件查询 */
+          const onQuery = () => {
+          init()
+        }
+
+
+        /**初始化 */
+        const init = async () => {
+          state.loading = true;
+
+// 模拟后端返回的数据
+const mockResponse = {
+  data: {
+    list: mockData, // 使用假数据
+  },
+};
+  // 假设接口返回的数据格式为 { 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: "",
+    pushTime: "",
+  };
+
+  // 重新加载数据
+  init();
+        }
+/**编辑 */
+      const onDateUpdate=(row)=>{
+        console.log("编辑行数据:", row);
+      }
+</script>
+<style scoped lang="scss">
+.fengexian{
+  margin-top: -3vh;
+  margin-bottom: 1vh;
+}
+.el-input,
+.el-select {
+  width: 240px;
+}
+
+/* 输入框标签固定四个字符宽度 */
+::v-deep .el-form-item__label {
+  // 字体大小14,4个字符,12px右间距
+  width: 14*4px+12px;
+  justify-content: start;
+}
+
+/* 数据表头 设置灰色样式 */
+::v-deep .el-table th.el-table__cell {
+  background-color: #F6F6F6;
+}
+  </style>