ke_junjie
2025-06-04 84620534eb627e95811b971a4b552b6a177829bf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<template>
    <div class="statistics-of-eqp-errs-page subpages-containter-box">
        <search-bar @search="onSearch" @reset="onReset">
            <el-form :inline="true" class="search-form" label-width="70px">
                <el-form-item label="设备名称">
                    <el-input placeholder="请输入..." clearable class="default-form-width" v-model.trim="query.deviceName"></el-input>
                </el-form-item>
                <el-form-item label="报警代码">
                    <el-input placeholder="请输入..." clearable class="default-form-width" v-model.trim="query.warningCode"></el-input>
                </el-form-item>
                <el-form-item label="报警内容">
                    <el-input placeholder="请输入..." clearable class="default-form-width" v-model.trim="query.warningContent"></el-input>
                </el-form-item>
                <el-form-item label="报警时间">
                    <el-date-picker v-model="query.dateRange" clearable class="default-form-width" value-format="YYYY-MM-DD" type="daterange"></el-date-picker>
                </el-form-item>
            </el-form>
        </search-bar>
        
        <!-- <div class="table-header-row">
            <el-button type="primary" @click="onExport">导出</el-button>
        </div> -->
        
        <el-table :data="list" border stripe>
            <el-table-column min-width="50" label="序号" fixed>
                <template #default="scope">{{(queried.page-1)*queried.pageSize+(scope.$index+1)}}</template>
            </el-table-column>
            <el-table-column prop="DeviceName" label="设备名称" />
            <el-table-column prop="WarningCode" label="报警代码" />
            <el-table-column prop="WarningContent" label="报警内容" />
            <el-table-column prop="WarningTime" label="报警时间" width="160"  />
            <el-table-column prop="StatusName" label="状态" />
            <el-table-column prop="CreateBy" label="创建人" />
            <el-table-column prop="CreateTime" label="创建时间" width="160"  />
            <el-table-column prop="ModifyBy" label="修改人" />
            <el-table-column prop="ModifyTime" label="修改时间" width="160" />
        </el-table>
        
        <div class="pagination-row">
            <el-pagination :pager-count="5" layout="total, prev, pager, next, jumper" :total="total" @current-change="onPageList" />
        </div>
    </div>
</template>
 
<script>
import SearchBar from '@/components/SearchBar.vue'
const defaultQuery = {
    deviceName:'',
    deviceName_FilterMode:'1',
    warningCode:'',
    warningCode_FilterMode:'1',
    warningContent:'',
    warningContent_FilterMode:'1',
    dateRange:[],
    warningTime:[]
}
export default {
    name:'statisticsOfEqpErrsPage',
    components:{SearchBar},
    data(){
        return {
            selectList:{
                series:[],
                types:[],
                modelTypes:[],
                materialTypes:[]
            },
            list:[],
            total:100,
            query:{...defaultQuery},
            queried:{...this.$config.pagination}
        }
    },
    mounted() {
        this.init()
    },
    methods:{
        /* 页面初始化 */
        init(){
            this.reset();
        },
        /* 搜索按钮 */
        onSearch(){
            this.newList()
        },
        /* 重置按钮 */
        onReset(){
            this.reset()
        },
        reset(needLoading=true,callback){
            this.query = {...defaultQuery}
            this.newList(needLoading,callback)
        },
        /* 翻页功能 */
        onPageList(page){
            this.queried.page = page;
            this.getList();
        },
        /* 表格刷新至首页 */
        newList(needLoading=true,callback){
            this.queried = {...this.query,...this.$config.pagination}
            if (this.queried.dateRange && (this.queried.dateRange instanceof Array) && this.queried.dateRange.length===2) {
                this.queried.warningTime[0] = this.queried.dateRange[0] + ' 00:00:00'
                this.queried.warningTime[1] = this.queried.dateRange[1] + ' 23:59:59'
            } else {
                this.queried.warningTime = []
            }
            this.getList(callback,needLoading)
        },
        /* 更新数据表 */
        getList(callback,needLoading=true){
            if (needLoading) {
                this.$loading();
            }
            this.$api.post('Get',this.queried,{block:'warning'}).then((d)=>{
                this.total = d.total || 0;
                this.list = (d.list || []).map((currentItem)=>{
                    currentItem.WarningTime = this.$utils.project.parseTimeStr(currentItem.WarningTime)
                    currentItem.CreateTime = this.$utils.project.parseTimeStr(currentItem.CreateTime)
                    currentItem.ModifyTime = this.$utils.project.parseTimeStr(currentItem.ModifyTime)
                    return currentItem
                });
                if (needLoading) {
                    this.$loading().close();
                }
                callback && callback(true)
            }).catch((err)=>{
                if (needLoading) {
                    this.$loading().close();
                }
                callback && callback(false)
            })
        }
    }
}
</script>
 
<style scoped lang="scss">
</style>