浏览代码

feat(新增设备管理模块的加油枪、编码器、监控微处理器、加密显示屏的数据展示和查询响应功能。新增油站管理列表页面、报警规则列表页面、报警规则添加页面)

liangxianna 9 月之前
父节点
当前提交
86a942ba5d

+ 17 - 0
admin.ui.plus-master/src/api/admin/reportManagement/encScreen/encScreenApi.ts

@@ -0,0 +1,17 @@
+import { AxiosResponse } from 'axios'
+import {ContentType, HttpClient, RequestParams} from "/@/api/admin/http-client";
+import {PageInputEncScreenFilterModel,ResultOutputPageOutputEncScreenFilterModel,PageOutputEncScreenFilterModel} from "/@/api/admin/reportManagement/encScreen/encScreenDto";
+
+export class encScreenApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType>{
+
+  getPage = (data: PageInputEncScreenFilterModel, params: RequestParams = {}) =>
+    this.request<ResultOutputPageOutputEncScreenFilterModel, any>({
+      path: `/api/app/fuel-dispenser/get-encoder-controls-list`,
+      method: 'POST',
+      body: data,
+      secure: true,
+      type: ContentType.Json,
+      format: 'json',
+      ...params,
+    })
+}

+ 119 - 0
admin.ui.plus-master/src/api/admin/reportManagement/encScreen/encScreenDto.ts

@@ -0,0 +1,119 @@
+/**
+ * 设备管理 - 加密显示屏
+ *  数据对象的Dto
+ * */
+
+/**
+ * And=0,Or=1
+ * @format int32
+ */
+export type DynamicFilterLogic = 0 | 1
+
+/**
+ * Contains=0,StartsWith=1,EndsWith=2,NotContains=3,NotStartsWith=4,NotEndsWith=5,Equal=6,Equals=7,Eq=8,NotEqual=9,GreaterThan=10,GreaterThanOrEqual=11,LessThan=12,LessThanOrEqual=13,Range=14,DateRange=15,Any=16,NotAny=17,Custom=18
+ * @format int32
+ */
+export type DynamicFilterOperator = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18
+export interface DynamicFilterInfo {
+  field?: string | null
+  /** Contains=0,StartsWith=1,EndsWith=2,NotContains=3,NotStartsWith=4,NotEndsWith=5,Equal=6,Equals=7,Eq=8,NotEqual=9,GreaterThan=10,GreaterThanOrEqual=11,LessThan=12,LessThanOrEqual=13,Range=14,DateRange=15,Any=16,NotAny=17,Custom=18 */
+  operator?: DynamicFilterOperator
+  value?: string
+  /** And=0,Or=1 */
+  logic?: DynamicFilterLogic
+  filters?: DynamicFilterInfo[] | null
+}
+
+/**
+ * 加密显示屏列表查询信息
+ */
+export  interface encScreenFilterModel_SearchFilter{
+    /**石油公司*/
+    companyName?: string |null,
+    /**加密显示屏状态*/
+    deviceStatus?: string | null,
+    /**站点地址*/
+    stationName?: string | null,
+    /**加油机厂商*/
+    supplierName?: string | null,
+    /**出厂开始的时间 */
+    OutBeginTime: string | null,
+    /**出厂结束的时间 */
+    OutEndTime: string | null,
+    /**安装开始的时间 */
+    CreateBeginTime: string | null,
+    /**安装结束的时间 */
+    CreateEndTime: string | null,
+  }
+  
+  /**
+   * 加密显示屏列表信息
+   */
+  export interface encScreenFilterModel {
+    /** 石油公司 */
+    companyName?: string | null ,
+    /** 加油站名称 */
+    stationName?: string | null ,
+    /** 加油机厂商 */
+    supplierName?: string | null ,
+    /** 加密显示屏厂商 */
+    manufacturerName?: string | null ,
+    /** 油机号 */
+    fuelID?: number | null ,
+    /** 油枪号 */
+    nozzleconName?: string | null ,
+    /** 加密显示屏编号 */
+    uuid?: string | null ,
+    /** 加密显示屏状态 */
+    deviceStatus?: string | null ,
+    /** 在线状态 */
+    onlineStatus?: string | null ,
+    /** 安装时间 */
+    soldTime?: string | null ,
+    /** 出厂时间 */
+    productTime?: string | null 
+  }
+
+/** 分页信息输入 */
+export interface PageInputEncScreenFilterModel{
+    /**
+     * 当前页标
+     * @format int32
+     */
+    CurrentPage?: number
+    /**
+     * 每页大小
+     * @format int32
+     */
+    PageSize?: number
+    dynamicFilter?: DynamicFilterInfo
+    filter?: encScreenFilterModel_SearchFilter
+    }
+
+/** 分页信息输出*/
+export interface PageOutputEncScreenFilterModel{
+    /**
+     * 数据总数
+     * @format int64
+     */
+    total?: number
+    /** 数据 */
+    data?: encScreenFilterModel[] | null
+  }
+  
+/**结果输出*/
+export interface ResultOutputPageOutputEncScreenFilterModel{
+/** 是否成功标记 */
+success?: boolean
+/** 编码 */
+code?: string | null
+/** 消息 */
+msg?: string | null
+/** 分页信息输出 */
+data?: encScreenFilterModel[] | null
+}
+  
+
+  
+  
+

+ 17 - 0
admin.ui.plus-master/src/api/admin/reportManagement/encoder/encoderApi.ts

@@ -0,0 +1,17 @@
+import { AxiosResponse } from 'axios'
+import {ContentType, HttpClient, RequestParams} from "/@/api/admin/http-client";
+import {PageInputEncoderFilterModel,ResultOutputPageOutputEncoderFilterModel,PageOutputEncoderFilterModel} from "/@/api/admin/reportManagement/encoder/encoderDto";
+
+export class encoderApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType>{
+
+  getPage = (data: PageInputEncoderFilterModel, params: RequestParams = {}) =>
+    this.request<ResultOutputPageOutputEncoderFilterModel, any>({
+      path: `/api/app/fuel-dispenser/get-encoder-controls-list`,
+      method: 'POST',
+      body: data,
+      secure: true,
+      type: ContentType.Json,
+      format: 'json',
+      ...params,
+    })
+}

+ 114 - 0
admin.ui.plus-master/src/api/admin/reportManagement/encoder/encoderDto.ts

@@ -0,0 +1,114 @@
+/**
+ * 设备管理 - 编码器
+ *  数据对象的Dto
+ * */
+
+/**
+ * And=0,Or=1
+ * @format int32
+ */
+export type DynamicFilterLogic = 0 | 1
+
+/**
+ * Contains=0,StartsWith=1,EndsWith=2,NotContains=3,NotStartsWith=4,NotEndsWith=5,Equal=6,Equals=7,Eq=8,NotEqual=9,GreaterThan=10,GreaterThanOrEqual=11,LessThan=12,LessThanOrEqual=13,Range=14,DateRange=15,Any=16,NotAny=17,Custom=18
+ * @format int32
+ */
+export type DynamicFilterOperator = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18
+export interface DynamicFilterInfo {
+  field?: string | null
+  /** Contains=0,StartsWith=1,EndsWith=2,NotContains=3,NotStartsWith=4,NotEndsWith=5,Equal=6,Equals=7,Eq=8,NotEqual=9,GreaterThan=10,GreaterThanOrEqual=11,LessThan=12,LessThanOrEqual=13,Range=14,DateRange=15,Any=16,NotAny=17,Custom=18 */
+  operator?: DynamicFilterOperator
+  value?: string
+  /** And=0,Or=1 */
+  logic?: DynamicFilterLogic
+  filters?: DynamicFilterInfo[] | null
+}
+
+/**
+ * 编码器列表查询信息
+ */
+export  interface encoderFilterModel_SearchFilter{
+    /**石油公司*/
+    companyName?: string |null,
+    /**编辑器状态*/
+    deviceStatus?: string | null,
+    /**站点地址*/
+    stationName?: string | null,
+    /**加油机厂商*/
+    supplierName?: string | null,
+    /**出厂开始的时间 */
+    OutBeginTime: string | null,
+    /**出厂结束的时间 */
+    OutEndTime: string | null,
+    /**安装开始的时间 */
+    CreateBeginTime: string | null,
+    /**安装结束的时间 */
+    CreateEndTime: string | null,
+  }
+  
+  /**
+   * 油机列表信息
+   */
+  export interface encoderFilterModel {
+    /** 石油公司 */
+    companyName?: string | null ,
+    /** 加油站名称 */
+    stationName?: string | null ,
+    /** 加油机厂商 */
+    supplierName?: string | null ,
+    /** 编码器厂商 */
+    manufacturerName?: string | null ,
+    /** 油机号 */
+    fuelID?: number | null ,
+    /** 油枪号 */
+    nozzleconName?: string | null ,
+    /** 编码器编号 */
+    uuid?: string | null ,
+    /** 编码器状态 */
+    deviceStatus?: string | null ,
+    /** 在线状态 */
+    onlineStatus?: string | null ,
+    /** 安装时间 */
+    soldTime?: string | null ,
+    /** 出场时间 */
+    productTime?: string | null 
+  }
+
+/** 分页信息输入 */
+export interface PageInputEncoderFilterModel{
+    /**
+     * 当前页标
+     * @format int32
+     */
+    CurrentPage?: number
+    /**
+     * 每页大小
+     * @format int32
+     */
+    PageSize?: number
+    dynamicFilter?: DynamicFilterInfo
+    filter?: encoderFilterModel_SearchFilter
+    }
+
+/** 分页信息输出*/
+export interface PageOutputEncoderFilterModel{
+    /**
+     * 数据总数
+     * @format int64
+     */
+    total?: number
+    /** 数据 */
+    data?: encoderFilterModel[] | null
+  }
+  
+/**结果输出*/
+export interface ResultOutputPageOutputEncoderFilterModel{
+/** 是否成功标记 */
+success?: boolean
+/** 编码 */
+code?: string | null
+/** 消息 */
+msg?: string | null
+/** 分页信息输出 */
+data?: encoderFilterModel[] | null
+}

+ 18 - 0
admin.ui.plus-master/src/api/admin/reportManagement/monitorCpu/monitorCpuApi.ts

@@ -0,0 +1,18 @@
+import { AxiosResponse } from 'axios'
+
+import {ContentType, HttpClient, RequestParams} from "/@/api/admin/http-client";
+import {PageInputMonitorCpuFilterModel,ResultOutputPageOutputMonitorCpuFilterModel,PageOutputMonitorCpuFilterModel} from "/@/api/admin/reportManagement/monitorCpu/monitorCpuDto";
+
+export class monitorCpuApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType>{
+
+  getPage = (data: PageInputMonitorCpuFilterModel, params: RequestParams = {}) =>
+    this.request<ResultOutputPageOutputMonitorCpuFilterModel, any>({
+      path: `/api/app/fuel-dispenser/get-encoder-controls-list`,
+      method: 'POST',
+      body: data,
+      secure: true,
+      type: ContentType.Json,
+      format: 'json',
+      ...params,
+    })
+}

+ 119 - 0
admin.ui.plus-master/src/api/admin/reportManagement/monitorCpu/monitorCpuDto.ts

@@ -0,0 +1,119 @@
+/**
+ * 设备管理 - 监控微处理器
+ *  数据对象的Dto
+ * */
+
+/**
+ * And=0,Or=1
+ * @format int32
+ */
+export type DynamicFilterLogic = 0 | 1
+
+/**
+ * Contains=0,StartsWith=1,EndsWith=2,NotContains=3,NotStartsWith=4,NotEndsWith=5,Equal=6,Equals=7,Eq=8,NotEqual=9,GreaterThan=10,GreaterThanOrEqual=11,LessThan=12,LessThanOrEqual=13,Range=14,DateRange=15,Any=16,NotAny=17,Custom=18
+ * @format int32
+ */
+export type DynamicFilterOperator = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18
+export interface DynamicFilterInfo {
+  field?: string | null
+  /** Contains=0,StartsWith=1,EndsWith=2,NotContains=3,NotStartsWith=4,NotEndsWith=5,Equal=6,Equals=7,Eq=8,NotEqual=9,GreaterThan=10,GreaterThanOrEqual=11,LessThan=12,LessThanOrEqual=13,Range=14,DateRange=15,Any=16,NotAny=17,Custom=18 */
+  operator?: DynamicFilterOperator
+  value?: string
+  /** And=0,Or=1 */
+  logic?: DynamicFilterLogic
+  filters?: DynamicFilterInfo[] | null
+}
+
+/**
+ * 监控微处理器列表查询信息
+ */
+export  interface monitorCpuFilterModel_SearchFilter{
+    /**石油公司*/
+    companyName?: string |null,
+    /**监控微处理器状态*/
+    deviceStatus?: string | null,
+    /**站点地址*/
+    stationName?: string | null,
+    /**加油机厂商*/
+    supplierName?: string | null,
+    /**出厂开始的时间 */
+    OutBeginTime: string | null,
+    /**出厂结束的时间 */
+    OutEndTime: string | null,
+    /**安装开始的时间 */
+    CreateBeginTime: string | null,
+    /**安装结束的时间 */
+    CreateEndTime: string | null,
+  }
+  
+  /**
+   * 列表信息
+   */
+  export interface monitorCpuFilterModel {
+    /** 石油公司 */
+    companyName?: string | null ,
+    /** 加油站名称 */
+    stationName?: string | null ,
+    /** 加油机厂商 */
+    supplierName?: string | null ,
+    /** 监控微处理器厂商 */
+    manufacturerName?: string | null ,
+    /** 油机号 */
+    fuelID?: number | null ,
+    /** 油枪号 */
+    nozzleconName?: string | null ,
+    /** 监控微处理器编号 */
+    uuid?: string | null ,
+    /** 监控微处理器状态 */
+    deviceStatus?: string | null ,
+    /** 在线状态 */
+    onlineStatus?: string | null ,
+    /** 安装时间 */
+    soldTime?: string | null ,
+    /** 出厂时间 */
+    productTime?: string | null 
+  }
+
+/** 分页信息输入 */
+export interface PageInputMonitorCpuFilterModel{
+    /**
+     * 当前页标
+     * @format int32
+     */
+    CurrentPage?: number
+    /**
+     * 每页大小
+     * @format int32
+     */
+    PageSize?: number
+    dynamicFilter?: DynamicFilterInfo
+    filter?: monitorCpuFilterModel_SearchFilter
+    }
+
+/** 分页信息输出*/
+export interface PageOutputMonitorCpuFilterModel{
+    /**
+     * 数据总数
+     * @format int64
+     */
+    total?: number
+    /** 数据 */
+    data?: monitorCpuFilterModel[] | null
+  }
+  
+/**结果输出*/
+export interface ResultOutputPageOutputMonitorCpuFilterModel{
+/** 是否成功标记 */
+success?: boolean
+/** 编码 */
+code?: string | null
+/** 消息 */
+msg?: string | null
+/** 分页信息输出 */
+data?: monitorCpuFilterModel[] | null
+}
+  
+
+  
+  
+

+ 61 - 0
admin.ui.plus-master/src/api/admin/reportManagement/oilGun/oilGunApi.ts

@@ -0,0 +1,61 @@
+import { AxiosResponse } from 'axios'
+import {ContentType, HttpClient, RequestParams} from "/@/api/admin/http-client";
+import {PageInputoilGunFilterModel,oilGunFilterModel} from "/@/api/admin/reportManagement/oilGun/oilGunDto";
+
+export class OilGunApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType>{
+  timer = 500
+  /**
+   * No description
+   *
+   * @tags
+   * @name getPageData
+   * @summary 分页查询
+   * @request GET:
+   * @secure
+   */
+
+  getPage = (data: PageInputoilGunFilterModel, params: RequestParams = {}) =>
+    this.request<oilGunFilterModel, any>({
+      path: `/api/app/fuel-dispenser/get-nozzlecontrol-list`,
+      method: 'POST',
+      body: data,
+      secure: true,
+      type: ContentType.Json,
+      format: 'json',
+      ...params,
+    })
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// import {ContentType, HttpClient,RequestParams} from "/@/api/admin/http-client";
+// import {oilGunyRequestBody} from "/@/api/admin/reportManagement/oilGun/oilGunDto";
+// import {AxiosResponse} from "axios";
+
+// export class OilGunApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
+//   getPage = (data:oilGunyRequestBody, params: RequestParams = {}) =>
+//     this.request<AxiosResponse, any>({
+//       path: `/api/app/fuel-dispenser/get-nozzlecontrol-list`,
+//       method: 'POST',
+//       body: data,
+//       secure: true,
+//       type: ContentType.Json,
+//       format: 'json',
+//       ...params,
+//     })
+// }
+

+ 127 - 0
admin.ui.plus-master/src/api/admin/reportManagement/oilGun/oilGunDto.ts

@@ -0,0 +1,127 @@
+/**
+ * 设备管理 - 加油枪
+ *  数据对象的Dto
+ * */
+
+/**
+ * And=0,Or=1
+ * @format int32
+ */
+export type DynamicFilterLogic = 0 | 1
+
+/**
+ * Contains=0,StartsWith=1,EndsWith=2,NotContains=3,NotStartsWith=4,NotEndsWith=5,Equal=6,Equals=7,Eq=8,NotEqual=9,GreaterThan=10,GreaterThanOrEqual=11,LessThan=12,LessThanOrEqual=13,Range=14,DateRange=15,Any=16,NotAny=17,Custom=18
+ * @format int32
+ */
+export type DynamicFilterOperator = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18
+export interface DynamicFilterInfo {
+  field?: string | null
+  /** Contains=0,StartsWith=1,EndsWith=2,NotContains=3,NotStartsWith=4,NotEndsWith=5,Equal=6,Equals=7,Eq=8,NotEqual=9,GreaterThan=10,GreaterThanOrEqual=11,LessThan=12,LessThanOrEqual=13,Range=14,DateRange=15,Any=16,NotAny=17,Custom=18 */
+  operator?: DynamicFilterOperator
+  value?: string
+  /** And=0,Or=1 */
+  logic?: DynamicFilterLogic
+  filters?: DynamicFilterInfo[] | null
+}
+
+/**
+ * 列表查询信息
+ */
+export  interface oilGunFilterModel_SearchFilter{
+    /**石油公司*/
+    CompanyName?: string,
+    /**防作弊启用状态*/
+    CheatStatus?: string,
+    /**油枪状态*/
+    OilGunState?: string,
+    /**站点地址*/
+    StationName?: string,
+    /**加油机厂商*/
+    SupplierName?: string,
+    /**出厂开始的时间 */
+    OutBeginTime: string,
+    /**出厂结束的时间 */
+    OutEndTime: string,
+    /**安装开始的时间 */
+    CreateBeginTime: string,
+    /**安装结束的时间 */
+    CreateEndTime: string,
+  }
+  
+  /**
+   * 列表信息
+   */
+  export interface oilGunFilterModel {
+    /** 油枪号 */
+    name?: string | null ,
+    /** 石油公司 */
+    companyName?: string | null ,
+    /** 加油站名称 */
+    stationName?: string | null ,
+    /** 油品 */
+    fuelName?: string | null ,
+    /** 编码 */
+    code?: string | null ,
+    /** 自锁 */
+    alarming?: string | null ,
+    /** 油机号 */
+    fuelId?: number | null ,
+    /** 加油机厂商 */
+    supplierName?: string | null ,
+    /** 在线状态 */
+    onlineStatus?: string | null ,
+    /** 作弊状态 */
+    cheatStatus?: string | null ,
+    /** 监控微处理器编号 */
+    monitoringUUID?: string | null ,
+    /** 加密显示屏编号 */
+    displayControlsUUID?: string | null ,
+    /** 编码器编号 */
+    encoderControlsUUID?: string | null ,
+    /** 出厂时间 */
+    productTime?: string | null ,
+    /** 安装时间 */
+    soldTime?: string | null 
+  }
+
+/** 分页信息输出*/
+export interface PageOutputoilGunFilterModel{
+    /**
+     * 数据总数
+     * @format int64
+     */
+    total?: number
+    /** 数据 */
+    list?: oilGunFilterModel[] | null
+  }
+  
+/**结果输出*/
+export interface ResultOutputPageOutputoilGunFilterModel{
+/** 是否成功标记 */
+success?: boolean
+/** 编码 */
+code?: string | null
+/** 消息 */
+msg?: string | null
+/** 分页信息输出 */
+data?: PageOutputoilGunFilterModel
+}
+  
+/** 分页信息输入 */
+export interface PageInputoilGunFilterModel{
+/**
+ * 当前页标
+ * @format int32
+ */
+currentPage?: number
+/**
+ * 每页大小
+ * @format int32
+ */
+pageSize?: number
+dynamicFilter?: DynamicFilterInfo
+filter?: oilGunFilterModel_SearchFilter
+}
+  
+  
+

+ 244 - 0
admin.ui.plus-master/src/views/admin/statement/alarmRules/components/form-add.vue

@@ -0,0 +1,244 @@
+<template>
+    <div class="admin-authorize-editInfo">
+      <!-- 添加表单的标题  --  (:title 为 添加规则) -->
+      <el-dialog :title="formData.titleText" v-model="formData.isShowDialog" draggable width="769px">
+        <!-- :model将 父组件的值传递给子组件(由于前一个表中分编辑和添加,那么此位置,是否可以不设置:model???) -->
+        <!-- :rules设置是否可以为空等表单输入规则 -->
+        <!-- ref提交表单进行的校验???--校验什么(点击提交时,会先对表单的值进行校验判断,校验通过后,再进行后续操作。) -->
+        <el-form :model="formData.editData"
+                 :rules="rules"
+                 ref="formRef"
+                 v-loading="formData.loading"
+                 size="default"
+                 label-width="95px">
+          <el-row :gutter="35">
+            <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+                <!--  校验prop需要与v-model对应 --(prop中的值应该与v-model进行对应)-- 根据数据接口文件进行修改-->
+              <el-form-item label="规则名称" prop="oilStation">
+                <el-input v-model="formData.editData.oilStation" placeholder="请输入规则名称" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+              <el-form-item label="状态" prop="projectName">
+                <el-select v-model="formData.editData.options" class="m-2" placeholder="选择状态" >
+                  <el-option
+                    v-for="item in formData.options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                  />
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+              <el-form-item label="匹配关键字" prop="sn">
+                <el-input v-model="formData.editData.sn" placeholder="请输入匹配关键字" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+              <el-form-item label="发送名单" prop="key">
+                <el-input v-model="formData.editData.key" placeholder="请输入授权码" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+              <el-form-item label="启用时间" prop="expiedTime">
+                <el-date-picker
+                  v-model="formData.editData.expiedTime"
+                  type="datetime"
+                  value-format="YYYY-MM-DD HH:mm:ss"
+                  placeholder="选择启用时间"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+              <el-form-item label="发送记录" prop="projectName">
+                <el-input v-model="formData.editData.projectName" placeholder="请输入发送记录" clearable></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+              <el-form-item label="停用时间" prop="expiedTime">
+                <el-date-picker
+                  v-model="formData.editData.expiedTime"
+                  type="datetime"
+                  value-format="YYYY-MM-DD HH:mm:ss"
+                  placeholder="选择停用时间"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+              <el-form-item label="备注" prop="remark">
+                <el-input v-model="formData.editData.remark" placeholder="请输入备注" rows="6" clearable type="textarea"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+        <template #footer>
+          <span class="dialog-footer">
+            <el-button @click="onCancel" icon="ele-CircleClose" size="default">取 消</el-button>
+            <!-- 表单的确认提交按钮 -->
+            <el-button type="primary" :icon="formData.editIcon" @click="onSubmit" size="default">{{formData.buttonText}}</el-button>
+          </span>
+        </template>
+      </el-dialog>
+    </div>
+  </template>
+  
+  <script setup lang="ts">
+  import {reactive, ref, watch} from "vue";
+//   import {oilSdkTableModel} from "/src/api/admin/deviceAuthorization/oilSdkAuthorDto";
+//   import {OilSdkAuthorAPI} from "/src/api/admin/deviceAuthorization/oilSdkAuthor";
+//   import eventBus from "/src/utils/mitt";
+  import {FormRules} from "element-plus";
+  
+  enum Form {
+    ADD,
+    UPDATE
+  }
+  
+  /**数据对象 */
+  const formData = reactive({
+    loading: false,
+    formType: Form,
+    titleText:'',
+    editIcon:'',
+    buttonText:'',
+    isShowDialog: false,
+    editData:{}, 
+    // as oilSdkTableModel,  // -- 数据文件的数据类型
+    // /**动态表头 */
+    // dynamicColumns: [
+    //   { prop: 'ruleName', label: '规则名称' },
+    //   { prop: 'state', label: '状态' },
+    //   { prop: 'keyWord', label: '匹配关键字' },
+    //   { prop: 'sendList', label: '发送名单' },
+    //   { prop: 'startTime', label: '启用时间' },
+    //   { prop: 'send', label: '发送记录' },
+    //   { prop: 'endTime', label: '停用时间' },
+    //   { prop: 'remark', label: '备注' },
+    // ],
+    options:[
+      {label:'启用',value:'启用'},
+      {label:'停用',value:'停用'},
+      {label:'失效',value:'失效'},
+      {label:'删除',value:'删除'},
+    ]
+  })
+  
+  /**有效时间选择校验*/
+  const validateDate = (rule: any, value: any, callback: any) => {
+    if(new Date(value).getTime() > Date.now()){
+      callback()
+    }else{
+      callback(new Error('选择的时间已失效'))
+    }
+  }
+  
+  /**表单校验*/
+  const rules = reactive<FormRules>({
+    oilStation: [
+      { required: true, message: '请输入油站名称', trigger: 'blur' },
+    ],
+    projectName: [
+      { required: true, message: '请输入项目名称', trigger: 'blur' },
+    ],
+    sn: [
+      { required: true, message: '请输入设备SN号', trigger: 'blur' },
+    ],
+    key: [
+      { required: true, message: '请输入设备授权码', trigger: 'blur' },
+    ],
+    expiedTime: [
+      { type: 'date', required: true, message: '请选择失效期', trigger: 'blur' },
+      { validator: validateDate, trigger: 'blur' }
+    ],
+    state: [
+      { required: true, message: '请选择状态', trigger: 'blur' },
+    ],
+  })
+  
+  
+  const formRef = ref()
+  
+//   const openDialog = (val) => {
+//     if(val){
+//       formData.editData = JSON.parse(JSON.stringify(val))
+//       formData.titleText = '更新授权'
+//       formData.buttonText = '更新'
+//       //更新操作
+//       formData.formType = Form.UPDATE
+//       formData.editIcon = 'ele-Refresh'
+//     }else {
+//       formData.editData = {} as oilSdkTableModel
+//       formData.titleText = '添加授权'
+//       formData.buttonText = '添加'
+//       //添加操作
+//       formData.formType = Form.ADD
+//       formData.editIcon = 'ele-CirclePlus'
+//     }
+//     formData.isShowDialog = true
+//     formData.isShowDialog = true
+//   }
+  
+//   const onCancel = () => {
+//     formData.editData = {} as oilSdkTableModel
+//     formData.isShowDialog = false
+//   }
+  
+//   /***监听弹窗关   闭表单验证*/
+//   watch(() => formData.isShowDialog,(newVal) => {
+//     if(newVal) formRef.value?.resetFields()
+//   })
+  
+//   const onSubmit =  () => {
+//     formRef.value.validate(async (valid: boolean) =>{
+//       if(!valid) return
+  
+//       formData.loading = true
+//       // eslint-disable-next-line @typescript-eslint/no-unused-vars,no-unused-vars
+//       const { projectName, state, ...newData} = formData.editData
+//       let res = {} as any
+//       if(formData.formType === Form.UPDATE){
+//         res = await new OilSdkAuthorAPI().updateForm({project: formData.editData.projectName, state: formData.editData.state === '正常' ? 1 : 0 ?? 0,  ...newData},{ showSuccessMessage: true }).catch(() => {
+//           formData.loading = false
+//         })
+//       }else if(formData.formType === Form.ADD){
+//         res = await new OilSdkAuthorAPI().addForm({project: formData.editData.projectName, state: formData.editData.state === '正常' ? 1 : 0 ?? 0,  ...newData},{ showSuccessMessage: true }).catch(() => {
+//           formData.loading = false
+//         })
+//       }else {
+//         formData.loading = false
+//         return
+//       }
+  
+//       if(res?.success){
+//         console.log('2')
+//         eventBus.emit('refreshView')
+//         formData.isShowDialog = false
+//         formData.editData = {} as oilSdkTableModel
+//       }
+  
+//       
+//     })
+//   }
+  
+//   defineExpose({
+//     openDialog,
+//   })
+
+
+
+const openDialog = ()=>{
+  console.log(111)
+  formData.isShowDialog = true
+}
+defineExpose({
+  openDialog,
+})
+  </script>
+  <style scoped lang="scss">
+  ::v-deep .el-form-item__label {
+    display: inline;
+    text-align-last: left;
+  }
+  </style>
+  

+ 159 - 0
admin.ui.plus-master/src/views/admin/statement/alarmRules/index.vue

@@ -0,0 +1,159 @@
+<template>
+    <div class="layout-pd" >
+      <el-row>
+        <el-col :xs="24">
+            <el-card>
+              <div class="my-flex my-flex-end" >
+                <el-button  type="primary" icon="ele-CirclePlus" @click="onAdd"> 添加 </el-button>
+              </div>
+            </el-card>
+        </el-col>
+        <!--表格-->
+        <el-col  :xs="24" >
+          <el-card style="height: 70vh" class="my-fill mt8" shadow="hover">
+            <el-table ref="multipleTableRef"
+              v-loading="sdkData.loading"
+              stripe :data="sdkData.tableModel"
+              row-key="id"
+              style="width: 100%" >
+              <el-table-column v-for="column in sdkData.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
+            </el-table>
+            <div class="my-flex my-flex-end" style="margin-top: 20px">
+              <el-pagination
+                v-model:currentPage="sdkData.pageInput.CurrentPage"
+                v-model:page-size="sdkData.pageInput.PageSize"
+                :total="sdkData.total"
+                :page-sizes="[10000, 20000, 50000, 100000]"
+                small
+                background
+                @size-change="1"
+                @current-change="1"
+                layout="total, sizes, prev, pager, next, jumper"
+              />
+            </div>
+          </el-card>
+        </el-col>
+      </el-row>
+      <AddDialog ref="addDialogRef" />
+    </div>
+  
+  </template>
+  
+  <script setup lang="ts" name="authorize/fuelingsdk">
+  import {defineAsyncComponent, onMounted, reactive, ref, watch, onBeforeMount,getCurrentInstance} from "vue";
+  import { ElTable } from 'element-plus'
+  /**引入组件*/
+  const AddDialog = defineAsyncComponent(() => import('/src/views/admin/statement/alarmRules/components/form-add.vue'))
+ 
+  const addDialogRef = ref()
+  
+  /**sdk授权页面对象 */
+  const sdkData = reactive({
+    time:'',
+    /**加载显示 */
+    loading: false,
+
+    /**表格信息 */
+    tableModel: [] ,
+    /**动态表头 */
+    dynamicColumns: [
+      { prop: 'ruleId', label: '规则ID' },
+      { prop: 'ruleName', label: '规则名称' },
+      { prop: 'state', label: '状态' },
+      { prop: 'keyWord', label: '匹配关键字' },
+      { prop: 'sendList', label: '发送名单' },
+      { prop: 'startTime', label: '启用时间' },
+      { prop: 'send', label: '发送记录' },
+      { prop: 'endTime', label: '停用时间' },
+      { prop: 'remark', label: '备注' },
+    ],
+    /**分页标识 */
+    pageInput:{
+      CurrentPage: 1,
+      PageSize: 10000,
+    } ,
+    /**分页总数 */
+    total: 0,
+  } )
+  
+//   /**初始化 */
+//   const init = async () => {
+//     sdkData.loading = true
+//     const query = flattenObject({ Filter: sdkData.Filter})
+//     const res:any = await new OilSdkAuthorAPI().getPageData({...sdkData.pageInput, ...query}).catch(() => {
+//       sdkData.loading = false
+//     })
+//     sdkData.tableModel = res?.data?.list ?? []
+//     sdkData.total = res?.data?.total ?? 0
+//     sdkData.loading = false
+//   }
+  
+//   onMounted(() => {
+//     init()
+//     eventBus.off('refreshView')
+//     eventBus.on('refreshView', async () => {
+//       init()
+//     })
+//   })
+  
+//   onBeforeMount(() => {
+//     eventBus.off('refreshView')
+//   })
+  
+//   /**
+//    * 监听时间变换
+//    */
+//   watch(() => sdkData.time, (newVal ) => {
+//     if(newVal.length === 0){
+//       return
+//     }
+//     sdkData.Filter.BeginTime = newVal?.[0].toString()
+//     sdkData.Filter.EndTime = newVal?.[1].toString()
+//   })
+  
+//   /**条件查询 */
+//   const onQuery = () => {
+//     init()
+//   }
+  
+  /**重置查询条件 */
+//   const resetQuery = () => {
+//     sdkData.Filter.OilCompanies = ''
+//     sdkData.Filter.AntiCheatingState = ''
+//     sdkData.Filter.OilGunState = ''
+//     sdkData.Filter.SiteAddress = ''
+//     sdkData.Filter.Manufacturer =  ''
+//     sdkData.Filter.OutBeginTime = ''
+//     sdkData.Filter.OutEndTime = ''
+//     sdkData.Filter.CreateBeginTime = ''
+//     sdkData.Filter.CreateEndTime = ''
+//     sdkData.time = ''
+//     sdkData.pageInput.CurrentPage = 1
+//   }
+  
+//   /**重置 */
+//   const onReset = () => {
+//     resetQuery()
+//     init()
+//   }
+    /**添加 */ 
+    const onAdd = ()=>{
+      addDialogRef.value.openDialog()
+    }
+  
+
+  
+  </script>
+  
+  <style scoped lang="scss">
+  .my-el-link {
+    font-size: 14px;
+  }
+  .el-form .el-col.mb20 {
+    margin: 0 !important;
+  }
+  .el-input, .el-select {
+    width: 240px;
+  }
+  </style>
+  

+ 180 - 0
admin.ui.plus-master/src/views/admin/statement/gasStationManagement/index.vue

@@ -0,0 +1,180 @@
+<template>
+    <div class="layout-pd" >
+      <el-row>
+        <!--操作-->
+        <el-col :xs="24" >
+          <el-card class="mt8"  shadow="hover" >
+            <el-form :model="sdkData.Filter" :inline="true" @submit.stop.prevent>
+              <el-form-item prop="name" style="width: 100%">
+                <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
+                  <el-form-item label="石油公司">
+                    <el-input v-model="sdkData.Filter.OilCompanies"  placeholder="请输入石油公司" clearable></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
+                  <el-form-item label="地址">
+                    <el-input v-model="sdkData.Filter.Address"  placeholder="请输入地址" clearable></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
+                  <el-form-item>
+                  </el-form-item>
+                </el-col>
+                <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
+                  <el-form-item>
+                    <el-button type="primary" icon="ele-Search" @click="1"> 查询 </el-button>
+                    <el-button type="primary" icon="ele-RefreshRight" @click="1"> 重置 </el-button>
+                  </el-form-item>
+                </el-col>
+              </el-form-item>
+            </el-form>
+          </el-card>
+        </el-col>
+        <!--表格-->
+        <el-col  :xs="24" >
+          <el-card style="height: 70vh" class="my-fill mt8" shadow="hover">
+            <el-table ref="multipleTableRef"
+              v-loading="sdkData.loading"
+              stripe :data="sdkData.tableModel"
+              row-key="id"
+              style="width: 100%" >
+              <el-table-column type="selection" width="50"></el-table-column>
+              <el-table-column v-for="column in sdkData.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
+            </el-table>
+            <div class="my-flex my-flex-end" style="margin-top: 20px">
+              <el-pagination
+                v-model:currentPage="sdkData.pageInput.CurrentPage"
+                v-model:page-size="sdkData.pageInput.PageSize"
+                :total="sdkData.total"
+                :page-sizes="[10000, 20000, 50000, 100000]"
+                small
+                background
+                @size-change="1"
+                @current-change="1"
+                layout="total, sizes, prev, pager, next, jumper"
+              />
+            </div>
+          </el-card>
+        </el-col>
+      </el-row>
+      <EditDialog ref="editDialogRef" />
+      <AuditDialog ref="auditDialogRef" />
+    </div>
+  
+  </template>
+  
+  <script setup lang="ts" name="authorize/fuelingsdk">
+  import {defineAsyncComponent, onMounted, reactive, ref, watch, onBeforeMount,getCurrentInstance} from "vue";
+  import { ElTable } from 'element-plus'
+  /**引入组件*/
+  
+  /**sdk授权页面对象 */
+  const sdkData = reactive({
+    time:'',
+    /**加载显示 */
+    loading: false,
+    /**条件查询模块 */
+    Filter: {
+      /**石油公司 */
+      OilCompanies: "",
+      /**地址 */
+      Address: "",
+    } ,
+    /**表格信息 */
+    tableModel: [] ,
+    /**动态表头 */
+    dynamicColumns: [
+      { prop: 'guid', label: '编号' },
+      { prop: 'province', label: '省份' },
+      { prop: 'oilCompanies', label: '石油公司' },
+      { prop: 'gasStation', label: '加油站名称' },
+      { prop: 'address', label: '地址' },
+      { prop: 'oilEngines', label: '加油机' },
+      { prop: 'oilGun', label: '油枪' },
+    ],
+    /**分页标识 */
+    pageInput:{
+      CurrentPage: 1,
+      PageSize: 10000,
+    } ,
+    /**分页总数 */
+    total: 0,
+  } )
+  
+//   /**初始化 */
+//   const init = async () => {
+//     sdkData.loading = true
+//     const query = flattenObject({ Filter: sdkData.Filter})
+//     const res:any = await new OilSdkAuthorAPI().getPageData({...sdkData.pageInput, ...query}).catch(() => {
+//       sdkData.loading = false
+//     })
+//     sdkData.tableModel = res?.data?.list ?? []
+//     sdkData.total = res?.data?.total ?? 0
+//     sdkData.loading = false
+//   }
+  
+//   onMounted(() => {
+//     init()
+//     eventBus.off('refreshView')
+//     eventBus.on('refreshView', async () => {
+//       init()
+//     })
+//   })
+  
+//   onBeforeMount(() => {
+//     eventBus.off('refreshView')
+//   })
+  
+//   /**
+//    * 监听时间变换
+//    */
+//   watch(() => sdkData.time, (newVal ) => {
+//     if(newVal.length === 0){
+//       return
+//     }
+//     sdkData.Filter.BeginTime = newVal?.[0].toString()
+//     sdkData.Filter.EndTime = newVal?.[1].toString()
+//   })
+  
+//   /**条件查询 */
+//   const onQuery = () => {
+//     init()
+//   }
+  
+  /**重置查询条件 */
+//   const resetQuery = () => {
+//     sdkData.Filter.OilCompanies = ''
+//     sdkData.Filter.AntiCheatingState = ''
+//     sdkData.Filter.OilGunState = ''
+//     sdkData.Filter.SiteAddress = ''
+//     sdkData.Filter.Manufacturer =  ''
+//     sdkData.Filter.OutBeginTime = ''
+//     sdkData.Filter.OutEndTime = ''
+//     sdkData.Filter.CreateBeginTime = ''
+//     sdkData.Filter.CreateEndTime = ''
+//     sdkData.time = ''
+//     sdkData.pageInput.CurrentPage = 1
+//   }
+  
+//   /**重置 */
+//   const onReset = () => {
+//     resetQuery()
+//     init()
+//   }
+  
+
+  
+  </script>
+  
+  <style scoped lang="scss">
+  .my-el-link {
+    font-size: 14px;
+  }
+  .el-form .el-col.mb20 {
+    margin: 0 !important;
+  }
+  .el-input, .el-select {
+    width: 240px;
+  }
+  </style>
+  

+ 122 - 107
admin.ui.plus-master/src/views/admin/statement/partsManagement/encScreen/index.vue

@@ -4,17 +4,17 @@
         <!--操作-->
         <el-col :xs="24" >
           <el-card class="mt8"  shadow="hover" >
-            <el-form :model="sdkData.Filter" :inline="true" @submit.stop.prevent>
+            <el-form :model="Data.Filter" :inline="true" @submit.stop.prevent>
               <el-form-item prop="name" style="width: 100%">
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="石油公司">
-                    <el-input v-model="sdkData.Filter.OilCompanies"  placeholder="请输入石油公司" clearable></el-input>
+                    <el-input v-model="Data.Filter.companyName"  placeholder="请输入石油公司" clearable></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="12" :xl="4" class="mb20">
                   <el-form-item label="出厂时间">
                     <el-date-picker
-                      v-model="sdkData.time"
+                      v-model="Data.time1"
                       type="datetimerange"
                       value-format="YYYY-MM-DD HH:mm:ss"
                       range-separator="To"
@@ -25,13 +25,13 @@
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="站点地址">
-                    <el-input v-model="sdkData.Filter.SiteAddress" placeholder="请输入站点地址" clearable></el-input>
+                    <el-input v-model="Data.Filter.stationName" placeholder="请输入站点地址" clearable></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="12" :xl="4" class="mb20">
                   <el-form-item label="安装时间">
                     <el-date-picker
-                      v-model="sdkData.time"
+                      v-model="Data.time2"
                       type="datetimerange"
                       value-format="YYYY-MM-DD HH:mm:ss"
                       range-separator="To"
@@ -42,22 +42,22 @@
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="加密显示屏状态">
-                    <el-select  v-model="sdkData.Filter.EncScreenState" placeholder="请选择加密显示屏状态" >
-                        <el-option v-for="(value, key) in 1" :key="key" :label="1"  :value="1" />
+                    <el-select  v-model="Data.Filter.deviceStatus" placeholder="请选择加密显示屏状态" >
+                        <el-option v-for="(value, key) in Data.statusList" :key="key" :label="value"  :value="key" />
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="加油机厂商">
-                    <el-select  v-model="sdkData.Filter.Manufacturer" placeholder="请选择加油机厂商" >
-                        <el-option v-for="(value, key) in 1" :key="key" :label="1"  :value="1" />
+                    <el-select  v-model="Data.Filter.supplierName" placeholder="请选择加油机厂商" >
+                        <el-option v-for="(value, key) in Data.supplierList" :key="key" :label="value"  :value="key" />
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item>
-                    <el-button type="primary" icon="ele-Search" @click="1"> 查询 </el-button>
-                    <el-button type="primary" icon="ele-RefreshRight" @click="1"> 重置 </el-button>
+                    <el-button type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
+                    <el-button type="primary" icon="ele-RefreshRight" @click="onReset"> 重置 </el-button>
                   </el-form-item>
                 </el-col>
               </el-form-item>
@@ -68,55 +68,55 @@
         <el-col  :xs="24" >
           <el-card style="height: 70vh" class="my-fill mt8" shadow="hover">
             <el-table ref="multipleTableRef"
-              v-loading="sdkData.loading"
-              stripe :data="sdkData.tableModel"
+              v-loading="Data.loading"
+              stripe :data="Data.tableModel"
               row-key="id"
               style="width: 100%" >
-              <el-table-column type="selection" width="50"></el-table-column>
-              <el-table-column v-for="column in sdkData.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
+              <el-table-column v-for="column in Data.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
             </el-table>
             <div class="my-flex my-flex-end" style="margin-top: 20px">
               <el-pagination
-                v-model:currentPage="sdkData.pageInput.CurrentPage"
-                v-model:page-size="sdkData.pageInput.PageSize"
-                :total="sdkData.total"
-                :page-sizes="[10000, 20000, 50000, 100000]"
+                v-model:currentPage="Data.pageInput.CurrentPage"
+                v-model:page-size="Data.pageInput.PageSize"
+                :total="Data.total"
+                :page-sizes="[5, 10, 20, 50, 100]"
                 small
                 background
-                @size-change="1"
-                @current-change="1"
+                @size-change="onSizeChange"
+                @current-change="onCurrentChange"
                 layout="total, sizes, prev, pager, next, jumper"
               />
             </div>
           </el-card>
         </el-col>
       </el-row>
-      <EditDialog ref="editDialogRef" />
-      <AuditDialog ref="auditDialogRef" />
     </div>
-  
   </template>
   
-  <script setup lang="ts" name="authorize/fuelingsdk">
-  import {defineAsyncComponent, onMounted, reactive, ref, watch, onBeforeMount,getCurrentInstance} from "vue";
-  import { ElTable } from 'element-plus'
-  /**引入组件*/
+  <script setup lang="ts" name="partsManagement/encScreen">
+  import {onMounted, reactive,watch} from "vue";
+  import {encScreenFilterModel_SearchFilter, encScreenFilterModel, PageInputEncScreenFilterModel} from "/@/api/admin/reportManagement/encScreen/encScreenDto";
+  import {encScreenApi} from "/@/api/admin/reportManagement/encScreen/encScreenApi";
   
-  /**sdk授权页面对象 */
-  const sdkData = reactive({
-    time:'',
+  /** 页面对象 */
+  const Data = reactive({
+    time1:'',
+    time2:'',
+    /** 选择框列表 */
+    statusList : [] as any,
+    supplierList : [] as any,
     /**加载显示 */
     loading: false,
     /**条件查询模块 */
     Filter: {
       /**石油公司 */
-      OilCompanies: "",
+      companyName: "",
       /**加密显示屏状态 */
-      EncScreenState: "",
+      deviceStatus: "",
       /**站点地址*/
-      SiteAddress: "",
+      stationName: "",
       /**加油机厂商*/
-      Manufacturer: "",
+      supplierName: "",
       /**出厂开始的时间 */
       OutBeginTime: null,
       /**出厂结束的时间 */
@@ -125,96 +125,111 @@
       CreateBeginTime: null,
       /**安装结束的时间 */
       CreateEndTime: null,
-    } ,
+    }  as encScreenFilterModel_SearchFilter ,
     /**表格信息 */
-    tableModel: [] ,
+    tableModel: [] as Array<encScreenFilterModel>,
     /**动态表头 */
     dynamicColumns: [
-      { prop: 'guid', label: '编号' },
-      { prop: 'oilCompanies', label: '石油公司' },
-      { prop: 'gasStation', label: '加油站名称' },
-      { prop: 'manufacturer', label: '加油机厂商' },
-      { prop: 'encScreen', label: '加密显示屏厂商' },
-      { prop: 'oilEnginesId', label: '油机号' },
-      { prop: 'oilGunId', label: '油枪号' },
-      { prop: 'encScreenId', label: '加密显示屏编号' },
-      { prop: 'encScreenState', label: '加密显示屏状态' },
-      { prop: 'onlineState', label: '在线状态' },
-      { prop: 'createTime', label: '安装时间' },
-      { prop: 'outTime', label: '出厂时间' },
+      { prop: 'companyName', label: '石油公司' },
+      { prop: 'stationName', label: '加油站名称' },
+      { prop: 'supplierName', label: '加油机厂商' },
+      { prop: 'manufacturerName', label: '加密显示屏厂商' },
+      { prop: 'fuelID', label: '油机号' },
+      { prop: 'nozzleconName', label: '油枪号' },
+      { prop: 'uuid', label: '加密显示屏编号' },
+      { prop: 'deviceStatus', label: '加密显示屏状态' },
+      { prop: 'onlineStatus', label: '在线状态' },
+      { prop: 'soldTime', label: '安装时间' },
+      { prop: 'productTime', label: '出厂时间' },
     ],
     /**分页标识 */
     pageInput:{
       CurrentPage: 1,
-      PageSize: 10000,
-    } ,
+      PageSize: 10,
+    } as PageInputEncScreenFilterModel,
     /**分页总数 */
     total: 0,
   } )
   
-//   /**初始化 */
-//   const init = async () => {
-//     sdkData.loading = true
-//     const query = flattenObject({ Filter: sdkData.Filter})
-//     const res:any = await new OilSdkAuthorAPI().getPageData({...sdkData.pageInput, ...query}).catch(() => {
-//       sdkData.loading = false
-//     })
-//     sdkData.tableModel = res?.data?.list ?? []
-//     sdkData.total = res?.data?.total ?? 0
-//     sdkData.loading = false
-//   }
-  
-//   onMounted(() => {
-//     init()
-//     eventBus.off('refreshView')
-//     eventBus.on('refreshView', async () => {
-//       init()
-//     })
-//   })
+  /**初始化 */
+  const init = async () => {
+    Data.loading = true
+    const res:any = await new encScreenApi().getPage({...Data.pageInput, filter:Data.Filter}).catch(() => {
+      Data.loading = false
+    })
+    Data.tableModel = res?.data ?? []
+    Data.total = res?.data?.length ?? 0
+    Data.loading = false
+
+    // 筛选出 选择框列表内容
+    const aList = res?.data.map((item: { supplierName: any; }) => item.supplierName)
+    const bList = res?.data.map((item: { deviceStatus: any; }) => item.deviceStatus)
+    const getUniqueArray = (arr: Iterable<unknown> | null | undefined) => [...new Set( arr)]
+    Data.supplierList = getUniqueArray(aList)
+    Data.statusList = getUniqueArray(bList)
+  }
   
-//   onBeforeMount(() => {
-//     eventBus.off('refreshView')
-//   })
+  onMounted(() => {
+    init()
+  })
   
-//   /**
-//    * 监听时间变换
-//    */
-//   watch(() => sdkData.time, (newVal ) => {
-//     if(newVal.length === 0){
-//       return
-//     }
-//     sdkData.Filter.BeginTime = newVal?.[0].toString()
-//     sdkData.Filter.EndTime = newVal?.[1].toString()
-//   })
+  /**
+   * 监听时间变换
+   */
+  watch(() => [Data.time1,Data.time2], (newVal ) => {
+    if(newVal.length === 0){
+      return
+    }
+    Data.Filter.OutBeginTime = newVal?.[0]?.[0]
+    Data.Filter.OutEndTime = newVal?.[0]?.[1]
+    Data.Filter.CreateBeginTime = newVal?.[1]?.[0]
+    Data.Filter.CreateEndTime = newVal?.[1]?.[1]
+  })
   
-//   /**条件查询 */
-//   const onQuery = () => {
-//     init()
-//   }
+  /**条件查询 */
+  const onQuery = () => {
+    init()
+  }
   
   /**重置查询条件 */
-//   const resetQuery = () => {
-//     sdkData.Filter.OilCompanies = ''
-//     sdkData.Filter.AntiCheatingState = ''
-//     sdkData.Filter.OilGunState = ''
-//     sdkData.Filter.SiteAddress = ''
-//     sdkData.Filter.Manufacturer =  ''
-//     sdkData.Filter.OutBeginTime = ''
-//     sdkData.Filter.OutEndTime = ''
-//     sdkData.Filter.CreateBeginTime = ''
-//     sdkData.Filter.CreateEndTime = ''
-//     sdkData.time = ''
-//     sdkData.pageInput.CurrentPage = 1
-//   }
-  
-//   /**重置 */
-//   const onReset = () => {
-//     resetQuery()
-//     init()
-//   }
+  const resetQuery = () => {
+    Data.Filter.companyName = ''
+    Data.Filter.deviceStatus = ''
+    Data.Filter.stationName = ''
+    Data.Filter.supplierName = ''
+    Data.Filter.OutBeginTime = ''
+    Data.Filter.OutEndTime = ''
+    Data.Filter.CreateBeginTime = ''
+    Data.Filter.CreateEndTime = ''
+    Data.time1 = ''
+    Data.time2 = ''
+    Data.pageInput.CurrentPage = 1
+  }
   
+  /**重置 */
+  const onReset = () => {
+    resetQuery()
+    init()
+  }
 
-  
+    /**
+ * 页条变化
+ * @param val
+ */
+const onSizeChange = (val: number) => {
+  Data.pageInput.PageSize = val
+  init()
+}
+
+/**
+ * 页数 变化
+ * @param val
+ */
+const onCurrentChange = (val: number) => {
+  Data.pageInput.CurrentPage = val
+  init()
+}
+ 
   </script>
   
   <style scoped lang="scss">

+ 125 - 111
admin.ui.plus-master/src/views/admin/statement/partsManagement/encoder/index.vue

@@ -4,17 +4,17 @@
         <!--操作-->
         <el-col :xs="24" >
           <el-card class="mt8"  shadow="hover" >
-            <el-form :model="sdkData.Filter" :inline="true" @submit.stop.prevent>
+            <el-form :model="Data.Filter" :inline="true" @submit.stop.prevent>
               <el-form-item prop="name" style="width: 100%">
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="石油公司">
-                    <el-input v-model="sdkData.Filter.OilCompanies"  placeholder="请输入石油公司" clearable></el-input>
+                    <el-input v-model="Data.Filter.companyName"  placeholder="请输入石油公司" clearable></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="12" :xl="4" class="mb20">
                   <el-form-item label="出厂时间">
                     <el-date-picker
-                      v-model="sdkData.time"
+                      v-model="Data.time1"
                       type="datetimerange"
                       value-format="YYYY-MM-DD HH:mm:ss"
                       range-separator="To"
@@ -25,13 +25,13 @@
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="站点地址">
-                    <el-input v-model="sdkData.Filter.SiteAddress" placeholder="请输入站点地址" clearable></el-input>
+                    <el-input v-model="Data.Filter.stationName" placeholder="请输入站点地址" clearable></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="12" :xl="4" class="mb20">
                   <el-form-item label="安装时间">
                     <el-date-picker
-                      v-model="sdkData.time"
+                      v-model="Data.time2"
                       type="datetimerange"
                       value-format="YYYY-MM-DD HH:mm:ss"
                       range-separator="To"
@@ -42,15 +42,15 @@
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="编码器状态">
-                    <el-select  v-model="sdkData.Filter.EncoderState" placeholder="请选择编码器状态" >
-                        <el-option v-for="(value, key) in 1" :key="key" :label="1"  :value="1" />
+                    <el-select  v-model="Data.Filter.deviceStatus" placeholder="请选择编码器状态" >
+                        <el-option v-for="(value, key) in Data.statusList" :key="key" :label="value"  :value="key" />
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="加油机厂商">
-                    <el-select  v-model="sdkData.Filter.Manufacturer" placeholder="请选择加油机厂商" >
-                        <el-option v-for="(value, key) in 1" :key="key" :label="1"  :value="1" />
+                    <el-select  v-model="Data.Filter.supplierName" placeholder="请选择加油机厂商" >
+                        <el-option v-for="(value, key) in Data.supplierList" :key="key" :label="value"  :value="key" />
                     </el-select>
                   </el-form-item>
                 </el-col>
@@ -60,8 +60,8 @@
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item>
-                    <el-button type="primary" icon="ele-Search" @click="1"> 查询 </el-button>
-                    <el-button type="primary" icon="ele-RefreshRight" @click="1"> 重置 </el-button>
+                    <el-button type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
+                    <el-button type="primary" icon="ele-RefreshRight" @click="onReset"> 重置 </el-button>
                   </el-form-item>
                 </el-col>
               </el-form-item>
@@ -72,55 +72,56 @@
         <el-col  :xs="24" >
           <el-card style="height: 70vh" class="my-fill mt8" shadow="hover">
             <el-table ref="multipleTableRef"
-              v-loading="sdkData.loading"
-              stripe :data="sdkData.tableModel"
+              v-loading="Data.loading"
+              stripe :data="Data.tableModel"
               row-key="id"
               style="width: 100%" >
-              <el-table-column type="selection" width="50"></el-table-column>
-              <el-table-column v-for="column in sdkData.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
+              <el-table-column v-for="column in Data.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
             </el-table>
             <div class="my-flex my-flex-end" style="margin-top: 20px">
               <el-pagination
-                v-model:currentPage="sdkData.pageInput.CurrentPage"
-                v-model:page-size="sdkData.pageInput.PageSize"
-                :total="sdkData.total"
-                :page-sizes="[10000, 20000, 50000, 100000]"
+                v-model:currentPage="Data.pageInput.CurrentPage"
+                v-model:page-size="Data.pageInput.PageSize"
+                :total="Data.total"
+                :page-sizes="[5, 10, 20, 50, 100]"
                 small
                 background
-                @size-change="1"
-                @current-change="1"
+                @size-change="onSizeChange"
+                @current-change="onCurrentChange"
                 layout="total, sizes, prev, pager, next, jumper"
               />
             </div>
           </el-card>
         </el-col>
       </el-row>
-      <EditDialog ref="editDialogRef" />
-      <AuditDialog ref="auditDialogRef" />
     </div>
   
   </template>
   
-  <script setup lang="ts" name="authorize/fuelingsdk">
-  import {defineAsyncComponent, onMounted, reactive, ref, watch, onBeforeMount,getCurrentInstance} from "vue";
-  import { ElTable } from 'element-plus'
-  /**引入组件*/
-  
-  /**sdk授权页面对象 */
-  const sdkData = reactive({
-    time:'',
+  <script setup lang="ts" name="partsManagement/encoder">
+  import {onMounted, reactive, watch} from "vue";
+  import {encoderFilterModel_SearchFilter, encoderFilterModel, PageInputEncoderFilterModel} from "/@/api/admin/reportManagement/encoder/encoderDto";
+  import {encoderApi} from "/@/api/admin/reportManagement/encoder/encoderApi";
+
+  /** 页面对象 */
+  const Data = reactive({
+    time1:'',
+    time2:'',
+    /** 选择框列表 */
+    statusList : [] as any,
+    supplierList : [] as any,
     /**加载显示 */
     loading: false,
     /**条件查询模块 */
     Filter: {
       /**石油公司 */
-      OilCompanies: "",
+      companyName: "",
       /**编辑器状态 */
-      EncoderState: "",
+      deviceStatus: "",
       /**站点地址*/
-      SiteAddress: "",
+      stationName: "",
       /**加油机厂商*/
-      Manufacturer: "",
+      supplierName: "",
       /**出厂开始的时间 */
       OutBeginTime: null,
       /**出厂结束的时间 */
@@ -129,95 +130,108 @@
       CreateBeginTime: null,
       /**安装结束的时间 */
       CreateEndTime: null,
-    } ,
+    } as encoderFilterModel_SearchFilter,
     /**表格信息 */
-    tableModel: [] ,
+    tableModel: [] as Array<encoderFilterModel>,
     /**动态表头 */
     dynamicColumns: [
-      { prop: 'guid', label: '编号' },
-      { prop: 'oilCompanies', label: '石油公司' },
-      { prop: 'gasStation', label: '加油站名称' },
-      { prop: 'manufacturer', label: '加油机厂商' },
-      { prop: 'encoder', label: '编码器厂商' },
-      { prop: 'oilEnginesId', label: '油机号' },
-      { prop: 'oilGunId', label: '油枪号' },
-      { prop: 'encoderId', label: '编码器编号' },
-      { prop: 'encoderState', label: '编码器状态' },
-      { prop: 'onlineState', label: '在线状态' },
-      { prop: 'createTime', label: '安装时间' },
-      { prop: 'outTime', label: '出厂时间' },
+      { prop: 'companyName', label: '石油公司' },
+      { prop: 'stationName', label: '加油站名称' },
+      { prop: 'supplierName', label: '加油机厂商' },
+      { prop: 'manufacturerName', label: '编码器厂商' },
+      { prop: 'fuelID', label: '油机号' },
+      { prop: 'nozzleconName', label: '油枪号' },
+      { prop: 'uuid', label: '编码器编号' },
+      { prop: 'deviceStatus', label: '编码器状态' },
+      { prop: 'onlineStatus', label: '在线状态' },
+      { prop: 'soldTime', label: '安装时间' },
+      { prop: 'productTime', label: '出厂时间' },
     ],
     /**分页标识 */
     pageInput:{
       CurrentPage: 1,
-      PageSize: 10000,
-    } ,
+      PageSize: 10,
+    } as PageInputEncoderFilterModel,
     /**分页总数 */
     total: 0,
   } )
+
+
+onMounted(() => {
+    init()
+})
   
-//   /**初始化 */
-//   const init = async () => {
-//     sdkData.loading = true
-//     const query = flattenObject({ Filter: sdkData.Filter})
-//     const res:any = await new OilSdkAuthorAPI().getPageData({...sdkData.pageInput, ...query}).catch(() => {
-//       sdkData.loading = false
-//     })
-//     sdkData.tableModel = res?.data?.list ?? []
-//     sdkData.total = res?.data?.total ?? 0
-//     sdkData.loading = false
-//   }
-  
-//   onMounted(() => {
-//     init()
-//     eventBus.off('refreshView')
-//     eventBus.on('refreshView', async () => {
-//       init()
-//     })
-//   })
-  
-//   onBeforeMount(() => {
-//     eventBus.off('refreshView')
-//   })
-  
-//   /**
-//    * 监听时间变换
-//    */
-//   watch(() => sdkData.time, (newVal ) => {
-//     if(newVal.length === 0){
-//       return
-//     }
-//     sdkData.Filter.BeginTime = newVal?.[0].toString()
-//     sdkData.Filter.EndTime = newVal?.[1].toString()
-//   })
-  
-//   /**条件查询 */
-//   const onQuery = () => {
-//     init()
-//   }
-  
+  /**初始化 */
+  const init = async () => {
+    Data.loading = true
+    const res:any = await new encoderApi().getPage({...Data.pageInput, filter:Data.Filter})
+    Data.tableModel = res?.data ?? []
+    Data.total = res?.data?.length ?? 0
+    Data.loading = false
+
+    // 筛选出 选择框列表内容
+    const aList = res?.data.map((item: { supplierName: any; }) => item.supplierName)
+    const bList = res?.data.map((item: { deviceStatus: any; }) => item.deviceStatus)
+    const getUniqueArray = (arr: Iterable<unknown> | null | undefined) => [...new Set( arr)]
+    Data.supplierList = getUniqueArray(aList)
+    Data.statusList = getUniqueArray(bList)
+  }
+
+  /**条件查询 */
+  const onQuery = () => {
+    init()
+  }
   /**重置查询条件 */
-//   const resetQuery = () => {
-//     sdkData.Filter.OilCompanies = ''
-//     sdkData.Filter.AntiCheatingState = ''
-//     sdkData.Filter.OilGunState = ''
-//     sdkData.Filter.SiteAddress = ''
-//     sdkData.Filter.Manufacturer =  ''
-//     sdkData.Filter.OutBeginTime = ''
-//     sdkData.Filter.OutEndTime = ''
-//     sdkData.Filter.CreateBeginTime = ''
-//     sdkData.Filter.CreateEndTime = ''
-//     sdkData.time = ''
-//     sdkData.pageInput.CurrentPage = 1
-//   }
-  
-//   /**重置 */
-//   const onReset = () => {
-//     resetQuery()
-//     init()
-//   }
-  
+  const resetQuery = () => {
+    Data.Filter.companyName = ''
+    Data.Filter.deviceStatus = ''
+    Data.Filter.stationName = ''
+    Data.Filter.supplierName = ''
+    Data.Filter.OutBeginTime = ''
+    Data.Filter.OutEndTime = ''
+    Data.Filter.CreateBeginTime = ''
+    Data.Filter.CreateEndTime = ''
+    Data.time1 = ''
+    Data.time2 = ''
+    Data.pageInput.CurrentPage = 1
+  }
+
+  /**重置 */
+  const onReset = () => {
+    resetQuery()
+    init()
+  }
 
+  /**
+ * 页条变化
+ * @param val
+ */
+ const onSizeChange = (val: number) => {
+  Data.pageInput.PageSize = val
+  onQuery()
+}
+
+/**
+ * 页数 变化
+ * @param val
+ */
+const onCurrentChange = (val: number) => {
+  Data.pageInput.CurrentPage = val
+  onQuery()
+} 
+  
+  /**
+   * 监听时间变换
+   */
+  watch(() => [Data.time1,Data.time2], (newVal ) => {
+    if(newVal.length === 0){
+      return
+    }
+    Data.Filter.OutBeginTime = newVal?.[0]?.[0]
+    Data.Filter.OutEndTime = newVal?.[0]?.[1]
+    Data.Filter.CreateBeginTime = newVal?.[1]?.[0]
+    Data.Filter.CreateEndTime = newVal?.[1]?.[0]
+  })
   
   </script>
   

+ 120 - 105
admin.ui.plus-master/src/views/admin/statement/partsManagement/monitorCpu/index.vue

@@ -4,17 +4,17 @@
         <!--操作-->
         <el-col :xs="24" >
           <el-card class="mt8"  shadow="hover" >
-            <el-form :model="sdkData.Filter" :inline="true" @submit.stop.prevent>
+            <el-form :model="Data.Filter" :inline="true" @submit.stop.prevent>
               <el-form-item prop="name" style="width: 100%">
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="石油公司">
-                    <el-input v-model="sdkData.Filter.OilCompanies"  placeholder="请输入石油公司" clearable></el-input>
+                    <el-input v-model="Data.Filter.companyName"  placeholder="请输入石油公司" clearable></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="12" :xl="4" class="mb20">
                   <el-form-item label="出厂时间">
                     <el-date-picker
-                      v-model="sdkData.time"
+                      v-model="Data.time1"
                       type="datetimerange"
                       value-format="YYYY-MM-DD HH:mm:ss"
                       range-separator="To"
@@ -25,13 +25,13 @@
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="站点地址">
-                    <el-input v-model="sdkData.Filter.SiteAddress" placeholder="请输入站点地址" clearable></el-input>
+                    <el-input v-model="Data.Filter.stationName" placeholder="请输入站点地址" clearable></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="12" :xl="4" class="mb20">
                   <el-form-item label="安装时间">
                     <el-date-picker
-                      v-model="sdkData.time"
+                      v-model="Data.time2"
                       type="datetimerange"
                       value-format="YYYY-MM-DD HH:mm:ss"
                       range-separator="To"
@@ -42,15 +42,15 @@
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="油机厂商">
-                    <el-select  v-model="sdkData.Filter.Manufacturer" placeholder="请选择加油机厂商" >
-                        <el-option v-for="(value, key) in 1" :key="key" :label="1"  :value="1" />
+                    <el-select  v-model="Data.Filter.supplierName" placeholder="请选择加油机厂商" >
+                        <el-option v-for="(value, key) in Data.supplierList" :key="key" :label="value"  :value="key" />
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="状态">
-                    <el-select  v-model="sdkData.Filter.State" placeholder="请选择监控微处理器状态" >
-                        <el-option v-for="(value, key) in 1" :key="key" :label="1"  :value="1" />
+                    <el-select  v-model="Data.Filter.deviceStatus" placeholder="请选择监控微处理器状态" >
+                        <el-option v-for="(value, key) in Data.statusList" :key="key" :label="value"  :value="key" />
                     </el-select>
                   </el-form-item>
                 </el-col>
@@ -60,8 +60,8 @@
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item>
-                    <el-button type="primary" icon="ele-Search" @click="1"> 查询 </el-button>
-                    <el-button type="primary" icon="ele-RefreshRight" @click="1"> 重置 </el-button>
+                    <el-button type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
+                    <el-button type="primary" icon="ele-RefreshRight" @click="onReset"> 重置 </el-button>
                   </el-form-item>
                 </el-col>
               </el-form-item>
@@ -72,55 +72,56 @@
         <el-col  :xs="24" >
           <el-card style="height: 70vh" class="my-fill mt8" shadow="hover">
             <el-table ref="multipleTableRef"
-              v-loading="sdkData.loading"
-              stripe :data="sdkData.tableModel"
+              v-loading="Data.loading"
+              stripe :data="Data.tableModel"
               row-key="id"
               style="width: 100%" >
-              <el-table-column type="selection" width="50"></el-table-column>
-              <el-table-column v-for="column in sdkData.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
+              <el-table-column v-for="column in Data.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
             </el-table>
             <div class="my-flex my-flex-end" style="margin-top: 20px">
               <el-pagination
-                v-model:currentPage="sdkData.pageInput.CurrentPage"
-                v-model:page-size="sdkData.pageInput.PageSize"
-                :total="sdkData.total"
-                :page-sizes="[10000, 20000, 50000, 100000]"
+                v-model:currentPage="Data.pageInput.CurrentPage"
+                v-model:page-size="Data.pageInput.PageSize"
+                :total="Data.total"
+                :page-sizes="[5, 10, 20, 50, 100]"
                 small
                 background
-                @size-change="1"
-                @current-change="1"
+                @size-change="onSizeChange"
+                @current-change="onCurrentChange"
                 layout="total, sizes, prev, pager, next, jumper"
               />
             </div>
           </el-card>
         </el-col>
       </el-row>
-      <EditDialog ref="editDialogRef" />
-      <AuditDialog ref="auditDialogRef" />
     </div>
   
   </template>
   
-  <script setup lang="ts" name="authorize/fuelingsdk">
-  import {defineAsyncComponent, onMounted, reactive, ref, watch, onBeforeMount,getCurrentInstance} from "vue";
-  import { ElTable } from 'element-plus'
-  /**引入组件*/
+  <script setup lang="ts" name="">
+  import {onMounted, reactive,watch} from "vue";
+  import {monitorCpuFilterModel_SearchFilter, monitorCpuFilterModel, PageInputMonitorCpuFilterModel} from "/@/api/admin/reportManagement/monitorCpu/monitorCpuDto";
+  import {monitorCpuApi} from "/@/api/admin/reportManagement/monitorCpu/monitorCpuApi";
   
-  /**sdk授权页面对象 */
-  const sdkData = reactive({
-    time:'',
+  /** 对象 */
+  const Data = reactive({
+    time1:'',
+    time2:'',
+    /** 选择框列表 */
+    statusList : [] as any,
+    supplierList : [] as any,
     /**加载显示 */
     loading: false,
     /**条件查询模块 */
     Filter: {
       /**石油公司 */
-      OilCompanies: "",
+      companyName: "",
       /**监控微处理器状态 */
-      State: "",
+      deviceStatus: "",
       /**站点地址*/
-      SiteAddress: "",
+      stationName: "",
       /**加油机厂商*/
-      Manufacturer: "",
+      supplierName: "",
       /**出厂开始的时间 */
       OutBeginTime: null,
       /**出厂结束的时间 */
@@ -129,21 +130,19 @@
       CreateBeginTime: null,
       /**安装结束的时间 */
       CreateEndTime: null,
-    } ,
+    } as monitorCpuFilterModel_SearchFilter,
     /**表格信息 */
-    tableModel: [] ,
+    tableModel: [] as Array<monitorCpuFilterModel>,
     /**动态表头 */
     dynamicColumns: [
-      { prop: 'guid', label: '编号' },
-      { prop: 'oilCompanies', label: '石油公司' },
-      { prop: 'gasStation', label: '加油站名称' },
-      { prop: 'manufacturer', label: '加油机厂商' },
-      { prop: 'monitorCpu', label: '监控微处理器厂商' },
-      { prop: 'oilEnginesId', label: '油机号' },
-      { prop: 'oilGunId', label: '油枪号' },
-      { prop: 'monitorCpuNo', label: '监控微处理器版本号' },
-      { prop: 'monitorCpuId', label: '监控微处理器编号' },
-      { prop: 'monitorCpuState', label: '监控微处理器状态' },
+      { prop: 'companyName', label: '石油公司' },
+      { prop: 'stationName', label: '加油站名称' },
+      { prop: 'supplierName', label: '加油机厂商' },
+      { prop: 'manufacturerName', label: '监控微处理器厂商' },
+      { prop: 'fuelID', label: '油机号' },
+      { prop: 'nozzleconName', label: '油枪号' },
+      { prop: 'uuid', label: '监控微处理器编号' },
+      { prop: 'deviceStatus', label: '监控微处理器状态' },
       { prop: 'onlineState', label: '在线状态' },
       { prop: 'createTime', label: '安装时间' },
       { prop: 'outTime', label: '出厂时间' },
@@ -151,75 +150,91 @@
     /**分页标识 */
     pageInput:{
       CurrentPage: 1,
-      PageSize: 10000,
-    } ,
+      PageSize: 10,
+    } as PageInputMonitorCpuFilterModel,
     /**分页总数 */
     total: 0,
   } )
+
+  /**初始化 */
+  const init = async () => {
+    Data.loading = true
+    const res:any = await new monitorCpuApi().getPage({...Data.pageInput, filter: Data.Filter}).catch(() => {
+      Data.loading = false
+    })
+    Data.tableModel = res?.data ?? []
+    Data.total = res?.data?.length ?? 0
+    Data.loading = false
+
+    // 筛选出 选择框列表内容
+    let aList = res?.data.map((item: { supplierName: any; }) => item.supplierName)
+    let bList = res?.data.map((item: { deviceStatus: any; }) => item.deviceStatus)
+    const getUniqueArray = (arr: Iterable<unknown> | null | undefined) => [...new Set(arr)]
+    Data.supplierList = getUniqueArray(aList)
+    Data.statusList = getUniqueArray(bList)
+  }
   
-//   /**初始化 */
-//   const init = async () => {
-//     sdkData.loading = true
-//     const query = flattenObject({ Filter: sdkData.Filter})
-//     const res:any = await new OilSdkAuthorAPI().getPageData({...sdkData.pageInput, ...query}).catch(() => {
-//       sdkData.loading = false
-//     })
-//     sdkData.tableModel = res?.data?.list ?? []
-//     sdkData.total = res?.data?.total ?? 0
-//     sdkData.loading = false
-//   }
-  
-//   onMounted(() => {
-//     init()
-//     eventBus.off('refreshView')
-//     eventBus.on('refreshView', async () => {
-//       init()
-//     })
-//   })
-  
-//   onBeforeMount(() => {
-//     eventBus.off('refreshView')
-//   })
+  onMounted(() => {
+    init()
+  })
   
-//   /**
-//    * 监听时间变换
-//    */
-//   watch(() => sdkData.time, (newVal ) => {
-//     if(newVal.length === 0){
-//       return
-//     }
-//     sdkData.Filter.BeginTime = newVal?.[0].toString()
-//     sdkData.Filter.EndTime = newVal?.[1].toString()
-//   })
+  /**
+   * 监听时间变换
+   */
+  watch(() => [Data.time1,Data.time2], (newVal ) => {
+    if(newVal.length === 0){
+      return
+    }
+    Data.Filter.OutBeginTime = newVal?.[0]?.[0]
+    Data.Filter.OutEndTime = newVal?.[0]?.[1]
+    Data.Filter.CreateBeginTime = newVal?.[1]?.[0]
+    Data.Filter.CreateEndTime = newVal?.[1]?.[1]
+  })
   
-//   /**条件查询 */
-//   const onQuery = () => {
-//     init()
-//   }
+  /**条件查询 */
+  const onQuery = () => {
+    init()
+  }
   
   /**重置查询条件 */
-//   const resetQuery = () => {
-//     sdkData.Filter.OilCompanies = ''
-//     sdkData.Filter.AntiCheatingState = ''
-//     sdkData.Filter.OilGunState = ''
-//     sdkData.Filter.SiteAddress = ''
-//     sdkData.Filter.Manufacturer =  ''
-//     sdkData.Filter.OutBeginTime = ''
-//     sdkData.Filter.OutEndTime = ''
-//     sdkData.Filter.CreateBeginTime = ''
-//     sdkData.Filter.CreateEndTime = ''
-//     sdkData.time = ''
-//     sdkData.pageInput.CurrentPage = 1
-//   }
-  
-//   /**重置 */
-//   const onReset = () => {
-//     resetQuery()
-//     init()
-//   }
+  const resetQuery = () => {
+    Data.Filter.companyName = ''
+    Data.Filter.deviceStatus = ''
+    Data.Filter.stationName = ''
+    Data.Filter.supplierName = ''
+    Data.Filter.OutBeginTime = ''
+    Data.Filter.OutEndTime = ''
+    Data.Filter.CreateBeginTime = ''
+    Data.Filter.CreateEndTime = ''
+    Data.time1 = ''
+    Data.time2 = ''
+    Data.pageInput.CurrentPage = 1
+  }
   
+  /**重置 */
+  const onReset = () => {
+    resetQuery()
+    init()
+  }
+
+  /**
+   * 页条变化
+   * @param val
+   */
+  const onSizeChange = (val: number) => {
+    Data.pageInput.PageSize = val
+    init()
+  }
+
+  /**
+   * 页数 变化
+   * @param val
+   */
+  const onCurrentChange = (val: number) => {
+    Data.pageInput.CurrentPage = val
+    init()
+  }
 
-  
   </script>
   
   <style scoped lang="scss">

+ 139 - 126
admin.ui.plus-master/src/views/admin/statement/partsManagement/oilGun/index.vue

@@ -4,17 +4,17 @@
         <!--操作-->
         <el-col :xs="24" >
           <el-card class="mt8"  shadow="hover" >
-            <el-form :model="sdkData.Filter" :inline="true" @submit.stop.prevent>
+            <el-form :model="Data.Filter" :inline="true" @submit.stop.prevent>
               <el-form-item prop="name" style="width: 100%">
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="石油公司">
-                    <el-input v-model="sdkData.Filter.OilCompanies"  placeholder="请输入石油公司" clearable></el-input>
+                    <el-input v-model="Data.Filter.CompanyName"  placeholder="请输入石油公司" clearable></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="12" :xl="4" class="mb20">
                   <el-form-item label="出厂时间">
                     <el-date-picker
-                      v-model="sdkData.time"
+                      v-model="Data.time1"
                       type="datetimerange"
                       value-format="YYYY-MM-DD HH:mm:ss"
                       range-separator="To"
@@ -25,15 +25,15 @@
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="油枪状态">
-                    <el-select  v-model="sdkData.Filter.OilGunState" placeholder="请选择油枪状态" >
-                        <el-option v-for="(value, key) in 1" :key="key" :label="1"  :value="1" />
+                    <el-select  v-model="Data.Filter.OilGunState" placeholder="请选择油枪状态">
+                        <el-option v-for="(value, key) in 1" :key="key" :label="value"  :value="key" />
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="安装时间">
                     <el-date-picker
-                      v-model="sdkData.time"
+                      v-model="Data.time2"
                       type="datetimerange"
                       value-format="YYYY-MM-DD HH:mm:ss"
                       range-separator="To"
@@ -48,27 +48,27 @@
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="站点地址">
-                    <el-input v-model="sdkData.Filter.SiteAddress" placeholder="请输入站点地址" clearable></el-input>
+                    <el-input v-model="Data.Filter.StationName" placeholder="请输入站点地址" clearable></el-input>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="加油机厂商">
-                    <el-select  v-model="sdkData.Filter.Manufacturer" placeholder="请选择加油机厂商" >
-                        <el-option v-for="(value, key) in 1" :key="key" :label="1"  :value="1" />
+                    <el-select  v-model="Data.Filter.SupplierName" placeholder="请选择加油机厂商" >
+                        <el-option v-for="(value, key) in Data.supplierList" :key="key" :label="value"  :value="key" />
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item label="防作弊启用状态">
-                    <el-select  v-model="sdkData.Filter.AntiCheatingState" placeholder="请选择防作弊启用状态" >
-                        <el-option v-for="(value, key) in 1" :key="key" :label="1"  :value="1" />
+                    <el-select  v-model="Data.Filter.CheatStatus" placeholder="请选择防作弊启用状态" >
+                        <el-option v-for="(value, key) in Data.statusList" :key="key" :label="value"  :value="key" />
                     </el-select>
                   </el-form-item>
                 </el-col>
                 <el-col :xs="24" :sm="12" :md="8" :lg="8" :xl="4" class="mb20">
                   <el-form-item>
-                    <el-button type="primary" icon="ele-Search" @click="1"> 查询 </el-button>
-                    <el-button type="primary" icon="ele-RefreshRight" @click="1"> 重置 </el-button>
+                    <el-button type="primary" icon="ele-Search" @click="onQuery"> 查询 </el-button>
+                    <el-button type="primary" icon="ele-RefreshRight" @click="onReset"> 重置 </el-button>
                   </el-form-item>
                 </el-col>
               </el-form-item>
@@ -79,159 +79,172 @@
         <el-col  :xs="24" >
           <el-card style="height: 70vh" class="my-fill mt8" shadow="hover">
             <el-table ref="multipleTableRef"
-              v-loading="sdkData.loading"
-              stripe :data="sdkData.tableModel"
+              v-loading="Data.loading"
+              stripe :data="Data.tableModel"
               row-key="id"
               style="width: 100%" >
-              <el-table-column type="selection" width="50"></el-table-column>
-              <el-table-column v-for="column in sdkData.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
+              <el-table-column v-for="column in Data.dynamicColumns" :key="column.prop" :prop="column.prop" :label="column.label" />
             </el-table>
             <div class="my-flex my-flex-end" style="margin-top: 20px">
               <el-pagination
-                v-model:currentPage="sdkData.pageInput.CurrentPage"
-                v-model:page-size="sdkData.pageInput.PageSize"
-                :total="sdkData.total"
-                :page-sizes="[10000, 20000, 50000, 100000]"
+                v-model:currentPage="Data.pageInput.currentPage"
+                v-model:page-size="Data.pageInput.pageSize"
+                :total="Data.total"
+                :page-sizes="[5, 10, 20, 50, 100]"
                 small
                 background
-                @size-change="1"
-                @current-change="1"
+                @size-change="onSizeChange"
+                @current-change="onCurrentChange"
                 layout="total, sizes, prev, pager, next, jumper"
               />
             </div>
           </el-card>
         </el-col>
       </el-row>
-      <EditDialog ref="editDialogRef" />
-      <AuditDialog ref="auditDialogRef" />
     </div>
   
   </template>
   
-  <script setup lang="ts" name="authorize/fuelingsdk">
-  import {defineAsyncComponent, onMounted, reactive, ref, watch, onBeforeMount,getCurrentInstance} from "vue";
-  import { ElTable } from 'element-plus'
-  /**引入组件*/
-  
-  /**sdk授权页面对象 */
-  const sdkData = reactive({
-    time:'',
+  <script setup lang="ts" name="partsManagement/oilGun">
+  import {onMounted, reactive, watch} from "vue";
+  import {oilGunFilterModel_SearchFilter, oilGunFilterModel, PageInputoilGunFilterModel} from "/@/api/admin/reportManagement/oilGun/oilGunDto";
+  import {OilGunApi} from "/@/api/admin/reportManagement/oilGun/oilGunApi";
+
+  /**页面对象 */
+  const Data = reactive({
+    time1:'',
+    time2:'',
+    /** 选择框列表 */
+    statusList : [] as any,
+    supplierList : [] as any,
     /**加载显示 */
     loading: false,
     /**条件查询模块 */
     Filter: {
       /**石油公司 */
-      OilCompanies: "",
+      CompanyName: "",
       /**防作弊启用状态 */
-      AntiCheatingState: "",
+      CheatStatus: "",
       /**油枪状态 */
-      OilGunState: "",
+      OilGunState: "",  // 接口未添加该内容
       /**站点地址*/
-      SiteAddress: "",
+      StationName: "",
       /**加油机厂商*/
-      Manufacturer: "",
+      SupplierName: "",
       /**出厂开始的时间 */
-      OutBeginTime: null,
+      OutBeginTime: "",
       /**出厂结束的时间 */
-      OutEndTime: null,
+      OutEndTime: "",
       /**安装开始的时间 */
-      CreateBeginTime: null,
+      CreateBeginTime: "",
       /**安装结束的时间 */
-      CreateEndTime: null,
-    } ,
+      CreateEndTime: "",
+    } as oilGunFilterModel_SearchFilter,
     /**表格信息 */
-    tableModel: [] ,
+    tableModel: [] as Array<oilGunFilterModel>,
     /**动态表头 */
     dynamicColumns: [
-      { prop: 'guid', label: '编号' },
-      { prop: 'oilCompanies', label: '石油公司' },
-      { prop: 'gasStation', label: '加油站名称' },
-      { prop: 'oilEnginesId', label: '油机号' },
-      { prop: 'oilGunId', label: '油枪号' },
-      { prop: 'oils', label: '油品' },
-      { prop: 'manufacturer', label: '加油机厂商' },
-      { prop: 'oilGunState', label: '油枪状态' },
-      { prop: 'onlineState', label: '在线状态' },
-      { prop: 'antiCheatingState', label: '防作弊启用状态' },
-      { prop: 'MonitorCpuId', label: '监控微处理器编号' },
-      { prop: 'encScreenId', label: '加密显示屏编号' },
-      { prop: 'encoderId', label: '编码器编号' },
-      { prop: 'gaugeId', label: '计量器编号' },
-      { prop: 'createTime', label: '安装时间' },
-      { prop: 'outTime', label: '出厂时间' },
+      { prop: 'name', label: '油枪号' },
+      { prop: 'companyName', label: '石油公司' },
+      { prop: 'stationName', label: '加油站名称' },
+      { prop: 'fuelName', label: '油品' },
+      { prop: 'code', label: '编码' },
+      { prop: 'alarming', label: '自锁' },
+      { prop: 'fuelId', label: '油机号' },
+      { prop: 'supplierName', label: '加油机厂商' },
+      { prop: 'onlineStatus', label: '在线状态' },
+      { prop: 'cheatStatus', label: '作弊状态' },
+      { prop: 'monitoringUUID', label: '监控微处理器编号' },
+      { prop: 'displayControlsUUID', label: '加密显示屏编号' },
+      { prop: 'encoderControlsUUID', label: '编码器编号' },
+      { prop: 'productTime', label: '出厂时间' },
+      { prop: 'soldTime', label: '安装时间' },
     ],
-    /**分页标识 */
-    pageInput:{
-      CurrentPage: 1,
-      PageSize: 10000,
-    } ,
     /**分页总数 */
     total: 0,
-  } )
-  
-//   /**初始化 */
-//   const init = async () => {
-//     sdkData.loading = true
-//     const query = flattenObject({ Filter: sdkData.Filter})
-//     const res:any = await new OilSdkAuthorAPI().getPageData({...sdkData.pageInput, ...query}).catch(() => {
-//       sdkData.loading = false
-//     })
-//     sdkData.tableModel = res?.data?.list ?? []
-//     sdkData.total = res?.data?.total ?? 0
-//     sdkData.loading = false
-//   }
-  
-//   onMounted(() => {
-//     init()
-//     eventBus.off('refreshView')
-//     eventBus.on('refreshView', async () => {
-//       init()
-//     })
-//   })
-  
-//   onBeforeMount(() => {
-//     eventBus.off('refreshView')
-//   })
-  
-//   /**
-//    * 监听时间变换
-//    */
-//   watch(() => sdkData.time, (newVal ) => {
-//     if(newVal.length === 0){
-//       return
-//     }
-//     sdkData.Filter.BeginTime = newVal?.[0].toString()
-//     sdkData.Filter.EndTime = newVal?.[1].toString()
-//   })
-  
-//   /**条件查询 */
-//   const onQuery = () => {
-//     init()
-//   }
+    /**分页标识 */
+    pageInput:{
+      currentPage: 1,
+      pageSize: 10,
+    } as PageInputoilGunFilterModel,
+    })
+
+onMounted(() => {
+  init()
+})
+
+// 条件查询
+const init = async () => {
+  Data.loading = true
+  const res:any = await new OilGunApi().getPage({...Data.pageInput, filter:Data.Filter})
+  Data.tableModel = res?.data ?? []
+  Data.total = res?.data?.length ?? 0
+  Data.loading = false
   
+  // 筛选出 选择框列表内容
+  const aList = res?.data.map((item: { supplierName: any; }) => item.supplierName)
+  const bList = res?.data.map((item: { cheatStatus: any; }) => item.cheatStatus)
+  const getUniqueArray = (arr: Iterable<unknown> | null | undefined) => [...new Set( arr)];
+  Data.supplierList = getUniqueArray(aList)
+  Data.statusList = getUniqueArray(bList)
+}
+
+const onQuery = () =>{
+    init()
+}
+
   /**重置查询条件 */
-//   const resetQuery = () => {
-//     sdkData.Filter.OilCompanies = ''
-//     sdkData.Filter.AntiCheatingState = ''
-//     sdkData.Filter.OilGunState = ''
-//     sdkData.Filter.SiteAddress = ''
-//     sdkData.Filter.Manufacturer =  ''
-//     sdkData.Filter.OutBeginTime = ''
-//     sdkData.Filter.OutEndTime = ''
-//     sdkData.Filter.CreateBeginTime = ''
-//     sdkData.Filter.CreateEndTime = ''
-//     sdkData.time = ''
-//     sdkData.pageInput.CurrentPage = 1
-//   }
-  
-//   /**重置 */
-//   const onReset = () => {
-//     resetQuery()
-//     init()
-//   }
-  
+  const resetQuery = () => {
+    Data.Filter.CompanyName = ''
+    Data.Filter.CheatStatus = ''
+    Data.Filter.OilGunState = ''
+    Data.Filter.StationName = ''
+    Data.Filter.SupplierName =  ''
+    Data.Filter.OutBeginTime = ''
+    Data.Filter.OutEndTime = ''
+    Data.Filter.CreateBeginTime = ''
+    Data.Filter.CreateEndTime = ''
+    Data.time1 = ''
+    Data.time2 = ''
+    Data.pageInput.currentPage = 1
+  }
+    /**重置 */
+  const onReset = () => {
+    resetQuery()
+    init()
+  }
 
+  /**
+ * 页条变化
+ * @param val
+ */
+const onSizeChange = (val: number) => {
+  Data.pageInput.pageSize = val
+  init()
+}
+
+/**
+ * 页数 变化
+ * @param val
+ */
+const onCurrentChange = (val: number) => {
+  Data.pageInput.currentPage = val
+  init()
+}
   
+  /**
+   * 监听时间变换
+   */
+  watch(() => [Data.time1,Data.time2], (newVal) => {
+    if(newVal.length === 0){
+    return
+    }
+    Data.Filter.OutBeginTime = newVal[0]?.[0]
+    Data.Filter.OutEndTime = newVal[0]?.[1]
+    Data.Filter.CreateBeginTime = newVal[1]?.[0]
+    Data.Filter.CreateEndTime = newVal[1]?.[1]
+  })
+
   </script>
   
   <style scoped lang="scss">