Selaa lähdekoodia

1、数据查询点位选择增加搜索框
2、报表策略点位选择增加搜索框
3、设备定义点位选择增加搜索框
4、优化设备点位选择界面布局
5、设备定义增加高级搜索功能

lry 9 kuukautta sitten
vanhempi
commit
cd59f1db06
27 muutettua tiedostoa jossa 621 lisäystä ja 66 poistoa
  1. 1 1
      industry-admin/src/views/alarm/alarmHistory/index.vue
  2. 315 0
      industry-admin/src/views/device/deviceLedger/adQuery.vue
  3. 29 7
      industry-admin/src/views/device/deviceLedger/addItem.vue
  4. 10 7
      industry-admin/src/views/device/deviceLedger/chooseItem.vue
  5. 19 1
      industry-admin/src/views/device/deviceLedger/deviceLedger.vue
  6. 66 10
      industry-admin/src/views/device/deviceLedger/index.vue
  7. 3 3
      industry-admin/src/views/device/deviceLedger/spanLedger.vue
  8. 1 1
      industry-admin/src/views/device/deviceType/index.vue
  9. 1 1
      industry-admin/src/views/fault/faultManage/index.vue
  10. 1 1
      industry-admin/src/views/fault/faultStatistics/index.vue
  11. 10 7
      industry-admin/src/views/largeScreen/deviceDataItem/chooseItem.vue
  12. 3 3
      industry-admin/src/views/largeScreen/deviceDataItem/spanLedger.vue
  13. 1 1
      industry-admin/src/views/largeScreen/trafficChartParam/index.vue
  14. 21 4
      industry-admin/src/views/report/reportTablePolicy/chooseItem.vue
  15. 1 1
      industry-admin/src/views/source/dataModel/index.vue
  16. 24 5
      industry-admin/src/views/source/dataQuery/chooseItem.vue
  17. 1 1
      industry-admin/src/views/upkeep/upkeepPlan/index.vue
  18. 1 1
      industry-admin/src/views/upkeep/upkeepRecord/index.vue
  19. 4 0
      industry-system/cqcy-ei-common/src/main/java/com/example/opc_common/entity/DeviceLedger.java
  20. 4 0
      industry-system/cqcy-ei-common/src/main/java/com/example/opc_common/entity/DeviceLedgerInfo.java
  21. 4 0
      industry-system/cqcy-ei-common/src/main/java/com/example/opc_common/entity/DeviceLedgerQuery.java
  22. 5 2
      industry-system/industry-da/src/main/java/com/example/opc_da/controller/DeviceLedgerController.java
  23. 8 2
      industry-system/industry-da/src/main/java/com/example/opc_da/dao/DeviceLedgerDao.java
  24. 3 1
      industry-system/industry-da/src/main/java/com/example/opc_da/service/DeviceLedgerService.java
  25. 9 3
      industry-system/industry-da/src/main/java/com/example/opc_da/service/impl/DeviceLedgerServiceImpl.java
  26. 74 3
      industry-system/industry-da/src/main/resources/mapper/DeviceLedgerDao.xml
  27. 2 0
      industry-system/industry-da/src/main/resources/static/reportSheet/js/Luckysheet-2.1.13/luckysheet.umd.js

+ 1 - 1
industry-admin/src/views/alarm/alarmHistory/index.vue

@@ -29,7 +29,7 @@
                 </el-date-picker>
             </el-form-item>
             <el-form-item>
-                <el-button type="primary" icon="el-icon-search" size="mini" @click="queryEvent">查询</el-button>
+                <el-button type="primary" icon="el-icon-search" size="mini" @click="queryEvent">搜索</el-button>
                 <!-- <el-button ref="btn" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> -->
             </el-form-item>
         </el-form>

+ 315 - 0
industry-admin/src/views/device/deviceLedger/adQuery.vue

@@ -0,0 +1,315 @@
+<template>
+    <div>
+        <!-- 设备台账全部信息 -->
+        <el-dialog v-if="visible" :title="title" width="55%" custom-class="dialog-max" top="5vh"
+            :before-close="dialogClose" :visible.sync="visible" :close-on-click-modal="false" :append-to-body="true">
+            <el-form ref="deviceLedgerForm" :model="deviceLedgerForm" label-width="120px"
+                label-position="right">
+                <el-row>
+                    <el-col :span="8">
+                        <el-form-item label="设备类别" prop="deviceType" >
+                            <el-input v-model="deviceLedgerForm.deviceType" readonly placeholder="请选择设备类别" maxlength="10">
+                                <el-button type="primary" slot="append" @click="chooseDeviceType">选择</el-button>
+                            </el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                        <el-form-item label="设备名称" prop="deviceName" >
+                            <el-input v-model="deviceLedgerForm.deviceName" placeholder="请输入设备名称" maxlength="10"/>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                        <el-form-item label="设备编号" prop="deviceNum" >
+                            <el-input v-model="deviceLedgerForm.deviceNum" placeholder="请输入设备编号" maxlength="10"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="8">
+                        <el-form-item label="设备等级" prop="deviceLevel" >
+                            <el-select clearable v-model="deviceLedgerForm.deviceLevel" placeholder="请选择设备等级">
+                                <el-option v-for="deviceLevel in deviceLevelList" :key="deviceLevel.id"
+                                    :label="deviceLevel.dictValue" :value="deviceLevel.id">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                        <el-form-item label="设备规格型号" prop="deviceModel" >
+                            <el-input v-model="deviceLedgerForm.deviceModel" placeholder="请输入设备规格型号" maxlength="10"/>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                        <el-form-item label="设备位置" prop="deviceLocation" >
+                            <el-input v-model="deviceLedgerForm.deviceLocation" placeholder="请输入设备位置" maxlength="10"/>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="8">
+                        <el-form-item label="设备健康状态" prop="deviceHealth" >
+                            <el-select clearable v-model="deviceLedgerForm.deviceHealth" placeholder="请选择健康状态">
+                                <el-option v-for="deviceHealth in deviceHealthList" :key="deviceHealth.id"
+                                    :label="deviceHealth.dictValue" :value="deviceHealth.id">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                        <el-form-item label="使用部门" prop="deviceDeptName" >
+                            <el-input v-model="deviceLedgerForm.deviceDeptName" readonly placeholder="请选择使用部门"
+                                maxlength="10">
+                                <el-button slot="append" @click="chooseDept">选择</el-button>
+                            </el-input>
+                        </el-form-item>
+                    </el-col>
+                    <el-col :span="8">
+                        <el-form-item label="责任人" prop="devicePersonName" >
+                            <el-input v-model="deviceLedgerForm.devicePersonName" readonly placeholder="请选择责任人"
+                                maxlength="10">
+                                <el-button type="primary" slot="append" @click="chooseDevicePerson">选择</el-button>
+                            </el-input>
+                        </el-form-item>
+                    </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="8">
+                        <el-form-item label="供应商" prop="supplier" >
+                            <el-select clearable v-model="deviceLedgerForm.supplier" placeholder="请选择供应商">
+                                <el-option v-for="supplier in supplierList" :key="supplier.id" :label="supplier.dictValue"
+                                    :value="supplier.id">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                    </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="制造商" prop="manufacturer" >
+                      <el-select clearable v-model="deviceLedgerForm.manufacturer" placeholder="请选择制作商">
+                        <el-option v-for="manufacturer in manufacturerList" :key="manufacturer.id"
+                                   :label="manufacturer.dictValue" :value="manufacturer.id">
+                        </el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="设备序列号" prop="serialNumber" >
+                      <el-input v-model="deviceLedgerForm.serialNumber" placeholder="请输入设备序列号" maxlength="10"/>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+                <el-row>
+                    <el-col :span="8">
+                        <el-form-item label="运行条件" prop="runCondition" >
+                            <el-input v-model="deviceLedgerForm.runCondition" placeholder="请选择运行条件" maxlength="10"/>
+                        </el-form-item>
+                    </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="使用状态" prop="deviceState" >
+                      <el-select clearable v-model="deviceLedgerForm.deviceState" placeholder="请选择使用状态">
+                        <el-option v-for="deviceState in deviceStateList" :key="deviceState.id"
+                                   :label="deviceState.dictValue" :value="deviceState.id">
+                        </el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="是否展示" prop="isShow" >
+                      <el-select clearable v-model="deviceLedgerForm.isShow" placeholder="请选择单位">
+                        <el-option v-for="isShow in isShowList" :key="isShow.value" :label="isShow.label"
+                                   :value="isShow.value">
+                        </el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                </el-row>
+            </el-form>
+          <div slot="footer" style="text-align: right">
+                    <el-button size="mini" v-show="queryShow" type="primary" @click="queryDeviceLedgerEvent">搜索</el-button>
+                     <el-button type="info" size="mini" @click="resetForm('deviceLedgerForm')">重置</el-button>
+                    <el-button size="mini" @click="dialogClose">取消</el-button>
+            </div>
+        </el-dialog>
+
+        <!-- 选择设备类别 -->
+        <ChooseDeviceType ref="chooseDeviceType" @receiveChooseDeviceType="receiveChooseDeviceType"></ChooseDeviceType>
+        <!-- 选择部门 -->
+        <ChooseDept ref="chooseDept" @receiveChooseDept="receiveChooseDept"></ChooseDept>
+        <!-- 选择责任人 -->
+        <ChooseStaff ref="chooseDevicePerson" @receiveChooseStaff="receiveChooseStaff"></ChooseStaff>
+    </div>
+</template>
+
+<script>
+import SelectTree from '@/components/SelectTree/index.vue'
+import ChooseDeviceType from '@/views/device/deviceType/chooseDeviceType.vue'
+import ChooseDept from '@/views/system/dept/chooseDept.vue'
+import ChooseStaff from '@/views/system/staff/chooseStaff.vue'
+import { getDictListByType } from '@/api/system/dict';
+import {
+    addDeviceLedger,
+    updateDeviceLedger
+} from '@/api/device/deviceLedger'
+export default {
+    components: {
+        SelectTree,
+        ChooseDeviceType,
+        ChooseDept,
+        ChooseStaff
+    },
+    mounted() {
+        this.getDictListByType('device_level', (data) => {
+            this.deviceLevelList = data
+        })
+        this.getDictListByType('device_health', (data) => {
+            this.deviceHealthList = data
+        })
+        this.getDictListByType('supplier', (data) => {
+            this.supplierList = data
+        })
+        this.getDictListByType('manufacturer', (data) => {
+            this.manufacturerList = data
+        })
+        this.getDictListByType('device_state', (data) => {
+            this.deviceStateList = data
+        })
+        this.getDictListByType('device_unit', (data) => {
+            this.deviceUnitList = data
+        })
+    },
+    data() {
+        return {
+            visible: false,
+            title: '新增设备台账',
+            queryShow: false,
+            //表单参数
+            deviceLedgerForm: {
+                id: null,
+                directoryId: null,
+                deviceTypeId: null,
+                deviceType: null,
+                deviceName: null,
+                deviceNum: null,
+                deviceLevel: null,
+                deviceModel: null,
+                deviceLocation: null,
+                deviceHealth: null,
+                deviceDeptId: null,
+                deviceDeptName: null,
+                devicePerson: null,
+                devicePersonName: null,
+                buyTime: null,
+                useTime: null,
+                supplier: null,
+                manufacturer: null,
+                serialNumber: null,
+                technicalDataList: [],
+                runCondition: null,
+                deviceState: null,
+                deviceUnit:null,
+                pictureList: [],
+                unit: null,
+                sortNum: null,
+                isShow: null,
+                remark: null,
+                upkeepPeriod:null,
+                periodType:null
+            },
+          periodTypeList: [
+            { name: '日', value: 0 },
+            { name: '月', value: 1 },
+            { name: '年', value: 2 }
+          ],
+            //字典回显参数
+            deviceLevelList: [],
+            deviceHealthList: [],
+            supplierList: [],
+            manufacturerList: [],
+            deviceStateList: [],
+            deviceUnitList: [],
+            //字典回显参数
+            isShowList: [{
+                value: 0,
+                label: '否'
+            }, {
+                value: 1,
+                label: '是'
+            }],
+            //设备技术参数得到的文件
+            technicalDataFiles: [],
+            //图片上传得到的文件
+            pictureFiles: [],
+            //修改时,删除的技术参数文件名
+            delTechnicalNameList: [],
+            //修改时,删除的图片文件名
+            delPictureNameList: [],
+        }
+    },
+    methods: {
+        /** 关闭弹出层 */
+        dialogClose() {
+            this.resetForm('deviceLedgerForm')
+            this.visible = false
+            this.queryShow = false
+        },
+        /** 重置表单 */
+        resetForm(formName) {
+            this.$refs[formName].resetFields();
+        },
+        /** 获取字典数据 */
+        getDictListByType(params, callback) {
+            getDictListByType({ keyType: params }).then(res => {
+                callback(res.data);
+            })
+        },
+        /** 高级查询 */
+        queryDeviceLedgerEvent() {
+          let params = JSON.parse(JSON.stringify(this.deviceLedgerForm));
+          this.$emit('getDeviceLedgerPage',params)
+          this.visible = false
+          this.queryShow = false
+        },
+        /** 选择设备类别 */
+        chooseDeviceType() {
+            this.$refs.chooseDeviceType.visible = true
+        },
+        /** 接收选择设备类别传过来的值 */
+        receiveChooseDeviceType(data) {
+            this.deviceLedgerForm.deviceTypeId = data.id
+            this.deviceLedgerForm.deviceType = data.deviceType
+        },
+        /** 选择部门 */
+        chooseDept() {
+            this.$refs.chooseDept.visible = true
+        },
+        /** 接收选择部门传过来的值 */
+        receiveChooseDept(data) {
+            this.deviceLedgerForm.deviceDeptId = data.id
+            this.deviceLedgerForm.deviceDeptName = data.departmentName
+        },
+        /** 选择责任人 */
+        chooseDevicePerson() {
+            this.$refs.chooseDevicePerson.visible = true
+        },
+        receiveChooseStaff(data) {
+            this.deviceLedgerForm.devicePerson = data.id
+            this.deviceLedgerForm.devicePersonName = data.staffName
+        },
+    }
+}
+</script>
+
+<style rel="stylesheet/scss" lang="scss" scoped>
+.dialog-max {
+    height: 90vh;
+
+    .el-dialog__body {
+        height: 77vh;
+        overflow: auto;
+    }
+}
+
+.el-upload-list {
+    // height: 40px;
+    overflow: auto;
+}
+</style>

+ 29 - 7
industry-admin/src/views/device/deviceLedger/addItem.vue

@@ -11,9 +11,12 @@
         </el-form>
         <!-- <el-divider content-position="left"></el-divider> -->
         <el-row type="flex" justify="space-between">
-            <el-col :span="8">
-                <el-divider content-position="left">点位</el-divider>
+            <el-col :span="10">
+                <el-divider content-position="left">点位({{groupItemList.length}})</el-divider>
                 <div class="cy-line">
+                  <el-input v-model="searchKey" @input="SearchKeyOnChange" placeholder="关键词搜索" prefix-icon="el-icon-search" style="width: 80%">
+
+                  </el-input>
                     <el-checkbox v-model="isSelectAllGroupItem" @change="selectAllGroupItem"
                         style="margin-left: 10px">全选</el-checkbox>
                     <div style="height: 40vh; overflow: auto">
@@ -26,17 +29,17 @@
             <el-col :span="4">
                 <div class="btn-group">
                     <el-row>
-                        <el-button size="mini" @click="addBtnEvent">添加&nbsp;&gt;&gt;</el-button>
+                        <el-button size="mini" @click="addBtnEvent" style="width: 86px">添加&nbsp;&gt;&gt;</el-button>
                     </el-row>
                     <el-row>
-                        <el-button size="mini" @click="removeBtnEvent">&lt;&lt;&nbsp;移除</el-button>
+                        <el-button size="mini" @click="removeBtnEvent" style="width: 86px">&lt;&lt;&nbsp;移除</el-button>
                     </el-row>
                     <el-row>
-                        <el-button size="mini" @click="removeAllBtnEvent">全部移除</el-button>
+                        <el-button size="mini" @click="removeAllBtnEvent" style="width: 86px">全部移除</el-button>
                     </el-row>
                 </div>
             </el-col>
-            <el-col :span="8">
+            <el-col :span="10">
                 <el-divider content-position="left">已选择点位({{ selectedItemList.length }})</el-divider>
                 <div class="cy-line">
                     <el-checkbox v-model="isSelectAllSelectedItem" @change="selectAllSelectedItem"
@@ -74,8 +77,11 @@ export default {
             groupList: [],
             selectedGroup: null,
             //数据组点位
+            searchKey:"",
             isSelectAllGroupItem: false,
             groupItemList: [],
+            //左边所有点位
+            allItemList:[],
             //已选择的点位
             isSelectAllSelectedItem: false,
             selectedItemList: [],
@@ -97,9 +103,21 @@ export default {
             this.selectedGroup = null
             this.isSelectAllGroupItem = false
             this.groupItemList = []
+            this.allItemList = []
+            this.searchKey = ""
             this.isSelectAllSelectedItem = false
             this.selectedItemList = []
         },
+      /** 左边关键词搜索*/
+      SearchKeyOnChange(key){
+        if(key &&this.allItemList.length>0){
+          const keyword = key;
+          const regex = new RegExp(keyword,"i");
+          this.groupItemList = this.allItemList.filter(item=>regex.test(item.label));
+        }else{
+          this.groupItemList = this.allItemList
+        }
+      },
         /** 获取所有数据组信息 */
         getAllItemGroup() {
             let params = { page: 1, limit: 9999 }
@@ -118,6 +136,7 @@ export default {
                     temp.value = temp.id
                     arr.push(temp)
                 }
+                this.allItemList = arr
                 this.groupItemList = arr
             })
         },
@@ -299,6 +318,9 @@ export default {
 .btn-group {
     width: 100%;
     height: calc(100% - 20px);
-    padding: 100% 30%;
+    padding: 100% 20%;
+}
+.el-row {
+  margin: 5px 0;
 }
 </style>

+ 10 - 7
industry-admin/src/views/device/deviceLedger/chooseItem.vue

@@ -1,6 +1,6 @@
 <template>
     <!-- 主要运行参数配置全部信息 -->
-    <el-dialog :title="title" width="80%" top="10vh" custom-class="dialog-device-chooseItem"
+    <el-dialog :title="title" width="70%" top="6vh" custom-class="dialog-device-chooseItem"
         :before-close="dialogClose" :visible.sync="visible" :append-to-body="true" @open="handleOpen" @close="handleClose">
         <el-row :gutter="20">
             <el-col :span="8">
@@ -9,7 +9,7 @@
                     <el-tree v-if="directoryTreeData.length !== 0" :data="directoryTreeData" :props="defaultProps"
                         node-key="id" default-expand-all @node-click="handleNodeClick">
                         <span class="custom-tree-node" slot-scope="{ node, data }">
-                            <i class="el-icon-folder" style="color: #DFBA49; margin-right: 5px;"></i>
+<!--                            <i class="el-icon-folder" style="color: #DFBA49; margin-right: 5px;"></i>-->
                             <span style="font-size: 15px;">{{ node.label }}</span>
                         </span>
                     </el-tree>
@@ -23,7 +23,7 @@
                 </div>
             </el-col>
             <el-col :span="7">
-                <el-divider content-position="left">设备点位</el-divider>
+                <el-divider content-position="left">设备点位({{ledgerItemList.length}})</el-divider>
                 <div class="ledgerItem">
                     <el-checkbox class="check-box" v-model="isSelectAllLedgerItem"
                         @change="checkAllLedgerItem">全选</el-checkbox>
@@ -36,19 +36,19 @@
                 <div class="btn-group">
                     <div>
                         <el-row>
-                            <el-button size="mini" @click="addItemBtnEvent">添加&nbsp;&gt;&gt;</el-button>
+                            <el-button size="mini" @click="addItemBtnEvent" style="width: 86px">添加&nbsp;&gt;&gt;</el-button>
                         </el-row>
                         <el-row>
-                            <el-button size="mini" @click="removeItemBtnEvent">&lt;&lt;&nbsp;移除</el-button>
+                            <el-button size="mini" @click="removeItemBtnEvent" style="width: 86px">&lt;&lt;&nbsp;移除</el-button>
                         </el-row>
                         <el-row>
-                            <el-button size="mini" @click="removeAllItemBtnEvent">全部移除</el-button>
+                            <el-button size="mini" @click="removeAllItemBtnEvent" style="width: 86px">全部移除</el-button>
                         </el-row>
                     </div>
                 </div>
             </el-col>
             <el-col :span="7">
-                <el-divider content-position="left">已选点位</el-divider>
+                <el-divider content-position="left">已选点位({{selectedItemList.length}})</el-divider>
                 <div class="selectedItem">
                     <el-checkbox class="check-box" v-model="isSelectAllSelectedItem"
                         @change="checkAllselectedItem">全选</el-checkbox>
@@ -384,6 +384,9 @@ export default {
     justify-content: center;
     align-items: center;
 }
+.el-row {
+  margin: 5px 0;
+}
 
 .selectedItem {
     box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);

+ 19 - 1
industry-admin/src/views/device/deviceLedger/deviceLedger.vue

@@ -153,6 +153,17 @@
                             </el-select>
                         </el-form-item>
                     </el-col>
+                  <el-col :span="8">
+                    <el-form-item label="保养周期" prop="upkeepPeriod" >
+                      <el-input v-model="deviceLedgerForm.upkeepPeriod" style="width: 50%;">
+                      </el-input>
+                      <el-select clearable v-model="deviceLedgerForm.periodType" placeholder="请选择设备等级" style="width: 50%;margin-left: 0px;">
+                        <el-option v-for="periodType in periodTypeList" :key="periodType.value"
+                                   :label="periodType.name" :value="periodType.value">
+                        </el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
                 </el-row>
                 <el-row>
                     <el-col :span="12">
@@ -275,8 +286,15 @@ export default {
                 unit: null,
                 sortNum: null,
                 isShow: 0,
-                remark: null
+                remark: null,
+                upkeepPeriod:null,
+                periodType:null
             },
+          periodTypeList: [
+            { name: '日', value: 0 },
+            { name: '月', value: 1 },
+            { name: '年', value: 2 }
+          ],
             //字典回显参数
             deviceLevelList: [],
             deviceHealthList: [],

+ 66 - 10
industry-admin/src/views/device/deviceLedger/index.vue

@@ -34,7 +34,7 @@
                             <el-input v-model="queryParams.deviceNum" placeholder="请输入设备编号" clearable style="width: 230px" />
                         </el-form-item> -->
                         <el-form-item>
-                            <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">查询</el-button>
+                            <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">搜索</el-button>
                             <el-button type="info" ref="btn" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
                         </el-form-item>
                     </el-form>
@@ -48,12 +48,12 @@
                           <el-button type="primary" icon="el-icon-download" size="mini"
                                      @click="exportDeviceLedgerEvent">导出</el-button>
                         </el-col>
-                        <!-- <el-col :span="1.5" style="margin-left: 15px">
-                            <el-button type="primary" size="mini" plain icon="el-icon-circle-plus-outline"
+                         <el-col :span="1.5" style="margin-left: 15px">
+                            <el-button type="primary" size="mini" icon="el-icon-search"
                                 @click="highQueryEvent">
-                                高级查询
+                                高级搜索
                             </el-button>
-                        </el-col> -->
+                        </el-col>
                     </el-row>
                   </el-col>
                 </el-row>
@@ -98,7 +98,8 @@
         <DeviceDirectory ref="deviceDirectory" @getDeviceDirectoryTree="getDeviceDirectoryTree"></DeviceDirectory>
         <!-- 设备台账,新增修改详情界面 -->
         <DeviceLedger ref="deviceLedger" @getDeviceLedgerPage="getDeviceLedgerPage"></DeviceLedger>
-
+        <!-- 设备台账,高级查询界面 -->
+        <AdQuery ref="adQuery" @getDeviceLedgerPage="getDeviceLedgerPage_AdQuery($event)"></AdQuery>
         <!-- 选择设备类别 -->
         <ChooseDeviceType ref="chooseDeviceType" @receiveChooseDeviceType="receiveChooseDeviceType"></ChooseDeviceType>
         <!-- 设备台账关联的点位列表 -->
@@ -114,6 +115,7 @@ import CommonTable from '@/components/CommonTable/index.vue'
 import ChooseDeviceType from '@/views/device/deviceType/chooseDeviceType.vue'
 import DeviceDirectory from './deviceDirectory.vue'
 import DeviceLedger from './deviceLedger.vue'
+import AdQuery from './adQuery.vue'
 import ItemList from './itemList.vue'
 import DownloadExcel from '@/components/Excel/downloadExcel'
 import {
@@ -128,6 +130,7 @@ export default {
         CommonTable,
         DeviceDirectory,
         DeviceLedger,
+        AdQuery,
         ChooseDeviceType,
         ItemList,
       DownloadExcel
@@ -255,7 +258,20 @@ export default {
                 deviceTypeId: null,
                 deviceType: null,
                 deviceName: null,
-                remark: null
+                remark: null,
+                isShow: null,
+                deviceState:null,
+                deviceNum:null,
+                deviceLevel:null,
+                deviceModel:null,
+                deviceLocation:null,
+                deviceHealth:null,
+                deviceDeptId:null,
+                devicePerson:null,
+                supplier:null,
+                manufacturer:null,
+                serialNumber:null,
+                runCondition:null
             },
             tableTotal: 0
         }
@@ -414,6 +430,44 @@ export default {
             this.queryParams.deviceTypeId = data.id
             this.queryParams.deviceType = data.deviceType
         },
+        /** 执行高级查询 */
+      getDeviceLedgerPage_AdQuery(event){
+          if (!this.queryParams.directoryId) {
+            this.$message({
+              message: '请先选中设备目录!',
+              type: 'warning'
+            })
+            return
+          }
+          this.queryParams.isShow = event.isShow;
+          this.queryParams.deviceState = event.deviceState;
+          this.queryParams.deviceName = event.deviceName;
+          this.queryParams.deviceNum = event.deviceNum;
+          this.queryParams.deviceLevel = event.deviceLevel
+          this.queryParams.deviceModel = event.deviceModel
+          this.queryParams.deviceLocation = event.deviceLocation
+          this.queryParams.deviceHealth = event.deviceHealth
+          this.queryParams.deviceDeptId = event.deviceDeptId
+          this.queryParams.devicePerson = event.devicePerson
+          this.queryParams.supplier = event.supplier
+          this.queryParams.manufacturer = event.manufacturer
+          this.queryParams.serialNumber = event.serialNumber
+          this.queryParams.runCondition = event.runCondition
+          console.log(event);
+          getDeviceLedgerPage(this.queryParams).then(res => {
+            if (!res || !res.data) {
+              this.$message({
+                message: '数据查询失败!',
+                type: 'warning'
+              })
+              return
+            }
+            this.tableTotal = res.data.count
+            this.tableData = res.data.deviceLedgerList
+            this.$refs['directoryTree'].setCurrentKey(this.currentNodeKey);
+          })
+        },
+
         /** 分页查询设备台账信息 */
         getDeviceLedgerPage() {
             if (!this.queryParams.directoryId) {
@@ -532,6 +586,8 @@ export default {
                 this.$refs.deviceLedger.deviceLedgerForm.sortNum = data.sortNum
                 this.$refs.deviceLedger.deviceLedgerForm.isShow = data.isShow
                 this.$refs.deviceLedger.deviceLedgerForm.remark = data.remark
+                this.$refs.deviceLedger.deviceLedgerForm.upkeepPeriod = data.upkeepPeriod
+                this.$refs.deviceLedger.deviceLedgerForm.periodType = data.periodType
                 this.$refs.deviceLedger.deviceLedgerForm.delTechnicalNameList = []
                 this.$refs.deviceLedger.deviceLedgerForm.delPictureNameList = []
             })
@@ -557,9 +613,9 @@ export default {
         },
         /** 高级查询事件 */
         highQueryEvent() {
-            this.$refs.deviceLedger.title = '高级查询'
-            this.$refs.deviceLedger.visible = true
-            this.$refs.deviceLedger.queryShow = true
+            this.$refs.adQuery.title = '高级搜索'
+            this.$refs.adQuery.visible = true
+            this.$refs.adQuery.queryShow = true
         },
       /** 导出Excel数据 */
       exportDeviceLedgerEvent(){

+ 3 - 3
industry-admin/src/views/device/deviceLedger/spanLedger.vue

@@ -1,6 +1,6 @@
 <template>
-    <div @click="click(source.id)">
-        <el-button size="mini" plain round>{{ source.deviceName }}</el-button>
+    <div @click="click(source.id)" style="margin-bottom: 10px">
+        <el-button size="mini" plain style="width: 100%;">{{ source.deviceName }}</el-button>
     </div>
 </template>
 
@@ -39,4 +39,4 @@ span {
     cursor: pointer;
     font-size: 20px;
 }
-</style>
+</style>

+ 1 - 1
industry-admin/src/views/device/deviceType/index.vue

@@ -8,7 +8,7 @@
                     <el-input v-model="queryParams.deviceType" prefix-icon="el-icon-search" placeholder="请输入设备类别" clearable style="width: 230px" />
                 </el-form-item>
                 <el-form-item>
-                    <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">查询</el-button>
+                    <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">搜索</el-button>
                     <el-button type="info" ref="btn" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
                 </el-form-item>
             </el-form>

+ 1 - 1
industry-admin/src/views/fault/faultManage/index.vue

@@ -9,7 +9,7 @@
                     </el-input>
                 </el-form-item>
                 <el-form-item>
-                    <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">查询</el-button>
+                    <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">搜索</el-button>
                     <el-button type="info" ref="btn" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
                 </el-form-item>
             </el-form>

+ 1 - 1
industry-admin/src/views/fault/faultStatistics/index.vue

@@ -25,7 +25,7 @@
           </el-date-picker>
         </el-form-item>
         <el-form-item>
-          <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">查询</el-button>
+          <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">统计</el-button>
           <el-button type="info" ref="btn" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
         </el-form-item>
       </el-form>

+ 10 - 7
industry-admin/src/views/largeScreen/deviceDataItem/chooseItem.vue

@@ -1,6 +1,6 @@
 <template>
     <!-- 主要运行参数配置全部信息 -->
-    <el-dialog :title="title" width="80%" top="10vh" custom-class="dialog-device-chooseItem"
+    <el-dialog :title="title" width="70%" top="6vh" custom-class="dialog-device-chooseItem"
         :before-close="dialogClose" :visible.sync="visible" :append-to-body="true" @open="handleOpen" @close="handleClose">
         <el-row :gutter="20">
             <el-col :span="8">
@@ -9,7 +9,7 @@
                     <el-tree v-if="directoryTreeData.length !== 0" :data="directoryTreeData" :props="defaultProps"
                         node-key="id" default-expand-all @node-click="handleNodeClick">
                         <span class="custom-tree-node" slot-scope="{ node, data }">
-                            <i class="el-icon-folder" style="color: #DFBA49; margin-right: 5px;"></i>
+<!--                            <i class="el-icon-folder" style="color: #DFBA49; margin-right: 5px;"></i>-->
                             <span style="font-size: 15px;">{{ node.label }}</span>
                         </span>
                     </el-tree>
@@ -23,7 +23,7 @@
                 </div>
             </el-col>
             <el-col :span="7">
-                <el-divider content-position="left">设备点位</el-divider>
+                <el-divider content-position="left">设备点位({{ledgerItemList.length}})</el-divider>
                 <div class="ledgerItem">
                     <el-checkbox class="check-box" v-model="isSelectAllLedgerItem"
                         @change="checkAllLedgerItem">全选</el-checkbox>
@@ -36,19 +36,19 @@
                 <div class="btn-group">
                     <div>
                         <el-row>
-                            <el-button size="mini" @click="addItemBtnEvent">添加&nbsp;&gt;&gt;</el-button>
+                            <el-button size="mini" @click="addItemBtnEvent" style="width: 86px">添加&nbsp;&gt;&gt;</el-button>
                         </el-row>
                         <el-row>
-                            <el-button size="mini" @click="removeItemBtnEvent">&lt;&lt;&nbsp;移除</el-button>
+                            <el-button size="mini" @click="removeItemBtnEvent" style="width: 86px">&lt;&lt;&nbsp;移除</el-button>
                         </el-row>
                         <el-row>
-                            <el-button size="mini" @click="removeAllItemBtnEvent">全部移除</el-button>
+                            <el-button size="mini" @click="removeAllItemBtnEvent" style="width: 86px">全部移除</el-button>
                         </el-row>
                     </div>
                 </div>
             </el-col>
             <el-col :span="7">
-                <el-divider content-position="left">已选点位</el-divider>
+                <el-divider content-position="left">已选点位({{selectedItemList.length}})</el-divider>
                 <div class="selectedItem">
                     <el-checkbox class="check-box" v-model="isSelectAllSelectedItem"
                         @change="checkAllselectedItem">全选</el-checkbox>
@@ -384,6 +384,9 @@ export default {
     justify-content: center;
     align-items: center;
 }
+.el-row {
+  margin: 5px 0;
+}
 
 .selectedItem {
     box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);

+ 3 - 3
industry-admin/src/views/largeScreen/deviceDataItem/spanLedger.vue

@@ -1,6 +1,6 @@
 <template>
-    <div @click="click(source.id)">
-        <el-button size="mini" plain round>{{ source.deviceName }}</el-button>
+    <div @click="click(source.id)" style="margin-bottom: 10px">
+        <el-button size="mini" plain style="width: 100%;">{{ source.deviceName }}</el-button>
     </div>
 </template>
 
@@ -39,4 +39,4 @@ span {
     cursor: pointer;
     font-size: 20px;
 }
-</style>
+</style>

+ 1 - 1
industry-admin/src/views/largeScreen/trafficChartParam/index.vue

@@ -12,7 +12,7 @@
                     </el-select>
                 </el-form-item>
                 <el-form-item>
-                    <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">查询</el-button>
+                    <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">搜索</el-button>
                     <el-button type="info" ref="btn" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
                 </el-form-item>
             </el-form>

+ 21 - 4
industry-admin/src/views/report/reportTablePolicy/chooseItem.vue

@@ -12,8 +12,11 @@
         </el-row>
         <el-row>
             <el-col :span="10">
-                <el-divider content-position="left">点位</el-divider>
+                <el-divider content-position="left">点位({{groupItemList.length}})</el-divider>
                 <div class="cy-line">
+                  <el-input v-model="searchKey" @input="SearchKeyOnChange" placeholder="关键词搜索" prefix-icon="el-icon-search" style="width: 80%">
+
+                  </el-input>
                     <el-checkbox v-model="isSelectAllGroupItem" @change="selectAllGroupItem"
                         style="margin-left: 10px">全选</el-checkbox>
                     <div style="height: 40vh; overflow: auto">
@@ -26,13 +29,13 @@
             <el-col :span="4">
                 <div class="btn-group">
                     <el-row>
-                        <el-button size="mini" @click="addBtnEvent">添加&nbsp;&gt;&gt;</el-button>
+                        <el-button size="mini" @click="addBtnEvent" style="width: 86px">添加&nbsp;&gt;&gt;</el-button>
                     </el-row>
                     <el-row>
-                        <el-button size="mini" @click="removeBtnEvent">&lt;&lt;&nbsp;移除</el-button>
+                        <el-button size="mini" @click="removeBtnEvent" style="width: 86px">&lt;&lt;&nbsp;移除</el-button>
                     </el-row>
                     <el-row>
-                        <el-button size="mini" @click="removeAllBtnEvent">全部移除</el-button>
+                        <el-button size="mini" @click="removeAllBtnEvent" style="width: 86px">全部移除</el-button>
                     </el-row>
                 </div>
             </el-col>
@@ -72,8 +75,11 @@ export default {
             itemGroupName: '',
             selectedGroup: null,
             //数据组点位
+            searchKey:"",
             isSelectAllGroupItem: false,
             groupItemList: [],
+            //左边所有点位
+            allItemList:[],
             //已选择的点位
             isSelectAllSelectedItem: false,
             selectedItemList: [],
@@ -92,6 +98,7 @@ export default {
                     temp.value = temp.id
                     arr.push(temp)
                 }
+                this.allItemList = arr
                 this.groupItemList = arr
             })
         },
@@ -99,6 +106,16 @@ export default {
         handleClose() {
             this.visible = false
         },
+      /** 左边关键词搜索*/
+      SearchKeyOnChange(key){
+        if(key &&this.allItemList.length>0){
+          const keyword = key;
+          const regex = new RegExp(keyword,"i");
+          this.groupItemList = this.allItemList.filter(item=>regex.test(item.label));
+        }else{
+          this.groupItemList = this.allItemList
+        }
+      },
         /** 数据组点位是否全选事件 */
         selectAllGroupItem(val) {
             this.$refs.groupItem.checkedAll(val);

+ 1 - 1
industry-admin/src/views/source/dataModel/index.vue

@@ -8,7 +8,7 @@
             <el-input v-model="queryParams.operationRule" prefix-icon="el-icon-search" placeholder="请输入名称或者四则运算表达式" clearable style="width: 230px" />
           </el-form-item>
           <el-form-item>
-            <el-button type="primary" icon="el-icon-search" size="small" @click="searchRuleEvent">查询</el-button>
+            <el-button type="primary" icon="el-icon-search" size="small" @click="searchRuleEvent">搜索</el-button>
             <el-button type="info" ref="btn" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
           </el-form-item>
         </el-form>

+ 24 - 5
industry-admin/src/views/source/dataQuery/chooseItem.vue

@@ -12,8 +12,11 @@
         <!-- <el-divider content-position="left"></el-divider> -->
         <el-row>
             <el-col :span="10">
-                <el-divider content-position="left">点位</el-divider>
+                <el-divider content-position="left">点位({{groupItemList.length}})</el-divider>
                 <div class="cy-line">
+                    <el-input v-model="searchKey" @input="SearchKeyOnChange" placeholder="关键词搜索" prefix-icon="el-icon-search" style="width: 80%">
+
+                    </el-input>
                     <el-checkbox v-model="isSelectAllGroupItem" @change="selectAllGroupItem"
                         style="margin-left: 10px">全选</el-checkbox>
                     <div style="height: 40vh; overflow: auto">
@@ -26,13 +29,13 @@
             <el-col :span="4">
                 <div class="btn-group">
                     <el-row>
-                        <el-button size="mini" @click="addBtnEvent">添加&nbsp;&gt;&gt;</el-button>
+                        <el-button size="mini" @click="addBtnEvent" style="width: 86px">添加&nbsp;&gt;&gt;</el-button>
                     </el-row>
                     <el-row>
-                        <el-button size="mini" @click="removeBtnEvent">&lt;&lt;&nbsp;移除</el-button>
+                        <el-button size="mini" @click="removeBtnEvent" style="width: 86px">&lt;&lt;&nbsp;移除</el-button>
                     </el-row>
                     <el-row>
-                        <el-button size="mini" @click="removeAllBtnEvent">全部移除</el-button>
+                        <el-button size="mini" @click="removeAllBtnEvent" style="width: 86px">全部移除</el-button>
                     </el-row>
                 </div>
             </el-col>
@@ -73,8 +76,11 @@ export default {
             groupList: [],
             selectedGroup: null,
             //数据组点位
+            searchKey:"",
             isSelectAllGroupItem: false,
             groupItemList: [],
+            //左边所有点位
+            allItemList:[],
             //已选择的点位
             isSelectAllSelectedItem: false,
             selectedItemList: [],
@@ -96,6 +102,8 @@ export default {
             this.selectedGroup = null
             this.isSelectAllGroupItem = false
             this.groupItemList = []
+            this.allItemList = []
+            this.searchKey = ""
             this.isSelectAllSelectedItem = false
             this.selectedItemList = []
         },
@@ -106,6 +114,16 @@ export default {
                 this.groupList = res.data.itemGroupList
             })
         },
+      /** 左边关键词搜索*/
+      SearchKeyOnChange(key){
+        if(key &&this.allItemList.length>0){
+          const keyword = key;
+          const regex = new RegExp(keyword,"i");
+          this.groupItemList = this.allItemList.filter(item=>regex.test(item.label));
+        }else{
+          this.groupItemList = this.allItemList
+        }
+      },
         /** 数据组选择框改变事件 */
         groupChange(val) {
             this.isSelectAllGroupItem = false
@@ -117,6 +135,7 @@ export default {
                     temp.value = temp.id
                     arr.push(temp)
                 }
+                this.allItemList = arr
                 this.groupItemList = arr
             })
         },
@@ -294,7 +313,7 @@ export default {
 .btn-group {
     width: 100%;
     //height: calc(100% - 20px);
-    padding: 150px 20%;
+    padding: 150px 20% 20px;
 }
 .el-row {
   margin: 5px 0;

+ 1 - 1
industry-admin/src/views/upkeep/upkeepPlan/index.vue

@@ -9,7 +9,7 @@
                     </el-input>
                 </el-form-item>
                 <el-form-item>
-                    <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">查询</el-button>
+                    <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">搜索</el-button>
                     <el-button type="info" ref="btn" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
                 </el-form-item>
             </el-form>

+ 1 - 1
industry-admin/src/views/upkeep/upkeepRecord/index.vue

@@ -9,7 +9,7 @@
                     </el-input>
                 </el-form-item>
                 <el-form-item>
-                    <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">查询</el-button>
+                    <el-button type="primary" icon="el-icon-search" size="small" @click="searchEvent">搜索</el-button>
                     <el-button type="info" ref="btn" icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
                 </el-form-item>
             </el-form>

+ 4 - 0
industry-system/cqcy-ei-common/src/main/java/com/example/opc_common/entity/DeviceLedger.java

@@ -74,4 +74,8 @@ public class DeviceLedger {
     private String remark;
     //创建时间
     private Date createTime;
+    //保养周期
+    private Integer upkeepPeriod;
+    //周期类型
+    private Integer periodType;
 }

+ 4 - 0
industry-system/cqcy-ei-common/src/main/java/com/example/opc_common/entity/DeviceLedgerInfo.java

@@ -62,4 +62,8 @@ public class DeviceLedgerInfo {
     private String remark;
     //创建时间
     private String createTime;
+    //保养周期
+    private Integer upkeepPeriod;
+    //周期类型
+    private Integer periodType;
 }

+ 4 - 0
industry-system/cqcy-ei-common/src/main/java/com/example/opc_common/entity/DeviceLedgerQuery.java

@@ -66,5 +66,9 @@ public class DeviceLedgerQuery {
     private String remark;
     //创建时间
     private Date createTime;
+    //保养周期
+    private Integer upkeepPeriod;
+    //周期类型
+    private Integer periodType;
 
 }

+ 5 - 2
industry-system/industry-da/src/main/java/com/example/opc_da/controller/DeviceLedgerController.java

@@ -259,8 +259,11 @@ public class DeviceLedgerController {
     public Result getDeviceLedgerPage(@Min(value = 1, message = "必须大于0") Integer page,
                                       @Min(value = 1, message = "必须大于0") Integer limit,
                                       @RequestParam Integer directoryId, Integer deviceTypeId,
-                                      String deviceName, String deviceNum, Integer isShow) {
-        return deviceLedgerService.getDeviceLedgerPage(page, limit, directoryId, deviceTypeId, deviceName, deviceNum, isShow);
+                                      String deviceName, String deviceNum, Integer isShow,Integer deviceState,Integer deviceLevel,
+                                      String deviceModel,String deviceLocation,Integer deviceHealth,Integer deviceDeptId,Integer devicePerson,
+                                      Integer supplier,Integer manufacturer,String serialNumber,String runCondition) {
+        return deviceLedgerService.getDeviceLedgerPage(page, limit, directoryId, deviceTypeId, deviceName, deviceNum, isShow,
+                deviceState,deviceLevel,deviceModel,deviceLocation,deviceHealth,deviceDeptId,devicePerson,supplier,manufacturer,serialNumber,runCondition);
     }
 
 

+ 8 - 2
industry-system/industry-da/src/main/java/com/example/opc_da/dao/DeviceLedgerDao.java

@@ -39,11 +39,17 @@ public interface DeviceLedgerDao {
 
     Integer delDeviceLedgerById(Integer id);
 
-    Integer getDeviceLedgerCount(Integer directoryId, Integer deviceTypeId, String deviceName, String deviceNum, Integer isShow);
+    Integer getDeviceLedgerCount(Integer directoryId, Integer deviceTypeId, String deviceName, String deviceNum, Integer isShow,
+                                 Integer deviceState,Integer deviceLevel,String deviceModel,String deviceLocation,Integer deviceHealth,
+                                 Integer deviceDeptId,Integer devicePerson,Integer supplier,Integer manufacturer,String serialNumber,String runCondition);
 
     List<DeviceLedger> getDeviceLedgerPage(@Param("startNum") Integer startNum, @Param("limitNum") Integer limitNum,
                                            @Param("directoryId") Integer directoryId, @Param("deviceTypeId") Integer deviceTypeId,
-                                           @Param("deviceName") String deviceName, @Param("deviceNum") String deviceNum, @Param("isShow") Integer isShow);
+                                           @Param("deviceName") String deviceName, @Param("deviceNum") String deviceNum, @Param("isShow") Integer isShow,
+                                           @Param("deviceState") Integer deviceState,@Param("deviceLevel") Integer deviceLevel,@Param("deviceModel") String deviceModel,
+                                           @Param("deviceLocation") String deviceLocation,@Param("deviceHealth") Integer deviceHealth,@Param("deviceDeptId") Integer deviceDeptId,
+                                           @Param("devicePerson") Integer devicePerson,@Param("supplier") Integer supplier,@Param("manufacturer") Integer manufacturer,
+                                           @Param("serialNumber") String serialNumber,@Param("runCondition") String runCondition);
 
     List<DeviceLedger> getDeviceLedgerForExport(@Param("directoryId") Integer directoryId, @Param("deviceTypeId") Integer deviceTypeId,
                                                 @Param("deviceName") String deviceName, @Param("deviceNum") String deviceNum, @Param("isShow") Integer isShow);

+ 3 - 1
industry-system/industry-da/src/main/java/com/example/opc_da/service/DeviceLedgerService.java

@@ -30,7 +30,9 @@ public interface DeviceLedgerService {
 
     Result delDeviceLedgerById(Integer id);
 
-    Result getDeviceLedgerPage(Integer page, Integer limit, Integer directoryId, Integer deviceTypeId, String deviceName, String deviceNum, Integer isShow);
+    Result getDeviceLedgerPage(Integer page, Integer limit, Integer directoryId, Integer deviceTypeId, String deviceName, String deviceNum, Integer isShow,
+                               Integer deviceState,Integer deviceLevel,String deviceModel,String deviceLocation,Integer deviceHealth,Integer deviceDeptId,
+                               Integer devicePerson,Integer supplier,Integer manufacturer,String serialNumber,String runCondition);
 
     List<DeviceLedger>  getDeviceLedgerForExport(Integer directoryId, Integer deviceTypeId, String deviceName, String deviceNum, Integer isShow);
     Result updateLedgerSortNum(Integer id, Integer sortNum);

+ 9 - 3
industry-system/industry-da/src/main/java/com/example/opc_da/service/impl/DeviceLedgerServiceImpl.java

@@ -362,11 +362,17 @@ public class DeviceLedgerServiceImpl implements DeviceLedgerService {
     }
 
     @Override
-    public Result getDeviceLedgerPage(Integer page, Integer limit, Integer directoryId, Integer deviceTypeId, String deviceName, String deviceNum, Integer isShow) {
+    public Result getDeviceLedgerPage(Integer page, Integer limit, Integer directoryId, Integer deviceTypeId, String deviceName, String deviceNum, Integer isShow,
+                                      Integer deviceState,Integer deviceLevel,String deviceModel,String deviceLocation,Integer deviceHealth,Integer deviceDeptId,
+                                      Integer devicePerson,Integer supplier,Integer manufacturer,String serialNumber,String runCondition) {
         JSONObject jsonObject = new JSONObject();
-        Integer count = deviceLedgerDao.getDeviceLedgerCount(directoryId, deviceTypeId, deviceName, deviceNum, isShow);
+        Integer count = deviceLedgerDao.getDeviceLedgerCount(directoryId, deviceTypeId, deviceName, deviceNum, isShow,
+                deviceState,deviceLevel,deviceModel,deviceLocation,deviceHealth,deviceDeptId,devicePerson,supplier,manufacturer,
+                serialNumber,runCondition);
         Integer startNum = (page - 1) * limit;
-        List<DeviceLedger> deviceLedgerList = deviceLedgerDao.getDeviceLedgerPage(startNum, limit, directoryId, deviceTypeId, deviceName, deviceNum, isShow);
+        List<DeviceLedger> deviceLedgerList = deviceLedgerDao.getDeviceLedgerPage(startNum, limit, directoryId, deviceTypeId, deviceName, deviceNum, isShow,
+                deviceState,deviceLevel,deviceModel,deviceLocation,deviceHealth,deviceDeptId,devicePerson,supplier,manufacturer,
+                serialNumber,runCondition);
         jsonObject.put("count", count);
         jsonObject.put("deviceLedgerList", deviceLedgerList);
         return Result.ok(jsonObject);

+ 74 - 3
industry-system/industry-da/src/main/resources/mapper/DeviceLedgerDao.xml

@@ -11,7 +11,7 @@
         id
         ,directory_id,device_type_id,device_name,device_num,device_level,device_model,
             device_location,device_health,device_dept_id,device_person,buy_time,use_time,
-            supplier,manufacturer,serial_number,run_condition,device_state,device_unit,sort_num,is_show,remark,create_time
+            supplier,manufacturer,serial_number,run_condition,device_state,device_unit,sort_num,is_show,remark,create_time,upkeep_period,period_type
     </sql>
 
     <sql id="deviceLedgerItem">
@@ -109,7 +109,9 @@
             device_unit=#{deviceUnit},
             sort_num=#{sortNum},
             is_show=#{isShow},
-            remark=#{remark}
+            remark=#{remark},
+            upkeep_period=#{upkeepPeriod},
+            period_type=#{periodType}
         where id = #{id}
     </update>
 
@@ -294,7 +296,9 @@
                tdl.sort_num,
                tdl.is_show,
                tdl.remark,
-               tdl.create_time
+               tdl.create_time,
+               tdl.upkeep_period,
+               tdl.period_type
         from t_device_ledger tdl
                  left join t_device_type tdt on tdl.device_type_id = tdt.id
                  left join sys_department sd on tdl.device_dept_id = sd.id
@@ -319,6 +323,27 @@
         <if test="isShow !=null and isShow !=''">
             AND is_show =#{isShow}
         </if>
+        <if test="deviceState !=null and deviceState !=''">
+            AND device_state =#{deviceState}
+        </if>
+        <if test="deviceLevel !=null and deviceLevel !=''">
+            AND device_level =#{deviceLevel}
+        </if>
+        <if test="deviceModel !=null and deviceModel !=''">
+            AND device_model LIKE CONCAT('%',#{deviceModel},'%')
+        </if>
+        <if test="deviceLocation !=null and deviceLocation !=''">
+            AND device_location LIKE CONCAT('%',#{deviceLocation},'%')
+        </if>
+        <if test="deviceHealth !=null and deviceHealth !=''">
+            AND device_health =#{deviceHealth}
+        </if>
+        <if test="deviceDeptId !=null and deviceDeptId !=''">
+            AND device_dept_id =#{deviceDeptId}
+        </if>
+        <if test="devicePerson !=null and devicePerson !=''">
+            AND device_person =#{devicePerson}
+        </if>
     </select>
 
     <select id="getDeviceLedgerPage" resultType="com.example.opc_common.entity.DeviceLedger">
@@ -365,6 +390,51 @@
         <if test="isShow !=null and isShow !=''">
             AND tdl.is_show = #{isShow}
         </if>
+        <if test="deviceState !=null and deviceState !=''">
+            AND tdl.device_state = #{deviceState}
+        </if>
+        <if test="deviceLevel !=null and deviceLevel !=''">
+            AND device_level =#{deviceLevel}
+        </if>
+        <if test="deviceModel !=null and deviceModel !=''">
+            AND device_model LIKE CONCAT('%',#{deviceModel},'%')
+        </if>
+        <if test="deviceLocation !=null and deviceLocation !=''">
+            AND device_location LIKE CONCAT('%',#{deviceLocation},'%')
+        </if>
+        <if test="deviceHealth !=null and deviceHealth !=''">
+            AND device_health =#{deviceHealth}
+        </if>
+        <if test="deviceDeptId !=null and deviceDeptId !=''">
+            AND device_dept_id =#{deviceDeptId}
+        </if>
+        <if test="devicePerson !=null and devicePerson !=''">
+            AND device_person =#{devicePerson}
+        </if>
+        <if test="supplier !=null and supplier !=''">
+            AND supplier =#{supplier}
+        </if>
+        <if test="manufacturer !=null and manufacturer !=''">
+            AND manufacturer =#{manufacturer}
+        </if>
+        <if test="supplier !=null and supplier !=''">
+            AND supplier =#{supplier}
+        </if>
+        <if test="manufacturer !=null and manufacturer !=''">
+            AND manufacturer =#{manufacturer}
+        </if>
+        <if test="serialNumber !=null and serialNumber !=''">
+            AND serial_number LIKE CONCAT('%',#{serialNumber},'%')
+        </if>
+        <if test="runCondition !=null and runCondition !=''">
+            AND run_condition LIKE CONCAT('%',#{runCondition},'%')
+        </if>
+        <if test="serialNumber !=null and serialNumber !=''">
+            AND serial_number LIKE CONCAT('%',#{serialNumber},'%')
+        </if>
+        <if test="runCondition !=null and runCondition !=''">
+            AND run_condition LIKE CONCAT('%',#{runCondition},'%')
+        </if>
         order by tdl.sort_num,tdl.create_time desc
         limit #{startNum}, #{limitNum}
     </select>
@@ -522,6 +592,7 @@
         WHERE 1= 1)
         AND c.alarm_time BETWEEN #{startTime}
         AND #{endTime}
+        order by c.alarm_time desc
         limit #{startNum},#{limitNum}
     </select>
 

+ 2 - 0
industry-system/industry-da/src/main/resources/static/reportSheet/js/Luckysheet-2.1.13/luckysheet.umd.js

@@ -92462,6 +92462,7 @@
 					.row[1], Zr.luckysheet_select_save[0].column[0], Zr.luckysheet_select_save[0]
 					.column[1])
 		})), $("#luckysheet-delete-text").click((function() {
+			//console.log('delete');
 			if (Fh(Zr.luckysheet_select_save, Zr.currentSheetIndex) && ($(
 						"#luckysheet-rightclick-menu").hide(), xy(), !1 !== Zr.allowEdit && Zr
 					.luckysheet_select_save.length > 0)) {
@@ -92480,6 +92481,7 @@
 					var o = mi().drag;
 					return void(rn() ? alert(o.noPartMerge) : Fm.info(o.noPartMerge, ""))
 				}
+				//console.log('r='+r+',n='+n+'l='+l+'i='+i);
 				for (var s = 0; s < Zr.luckysheet_select_save.length; s++)
 					for (var c = Zr.luckysheet_select_save[s].row[0], u = Zr.luckysheet_select_save[
 								s].row[1], d = Zr.luckysheet_select_save[s].column[0], h = Zr