| 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
 | | <template> |  |   <div class="main_app"> |  |     <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" @clear="clear"> |  |       <template #fastdate> |  |         <el-radio-group v-model="filters.fastdate" size="small" @input="changeRadio"> |  |           <el-radio-button label="0">当天</el-radio-button> |  |           <el-radio-button label="6">近7天</el-radio-button> |  |           <el-radio-button label="29">近30天</el-radio-button> |  |         </el-radio-group> |  |       </template> |  |     </QueryForm> |  |     <el-table v-loading="loading" :data="list" stripe> |  |       <el-table-column prop="name" label="月台名称" min-width="100" show-overflow-tooltip /> |  |       <el-table-column prop="groupName" label="月台组" min-width="100" show-overflow-tooltip /> |  |       <el-table-column prop="stopCount" label="停靠次数(次)" min-width="100" show-overflow-tooltip /> |  |       <el-table-column prop="workCountTime" label="工作时长" min-width="100" show-overflow-tooltip /> |  |       <el-table-column prop="useRata" label="月台使用率" min-width="100" show-overflow-tooltip /> |  |     </el-table> |  |     <!-- <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> --> |  |   </div> |  | </template> |  |   |  | <script> |  | import Pagination from '@/components/common/Pagination' |  | import QueryForm from '@/components/common/QueryForm' |  | import dayjs from 'dayjs' |  | import { platformWorkReportPage, getPlatformGroupList } from '@/api' |  | export default { |  |   components: { |  |     Pagination, |  |     QueryForm |  |   }, |  |   data() { |  |     return { |  |       loading: false, |  |       pagination: { |  |         pageSize: 10, |  |         page: 1, |  |         total: 0 |  |       }, |  |       filters: { |  |         fastdate: 0, |  |         selDate: [] |  |       }, |  |       list: [], |  |       total: 0, |  |       queryFormConfig: { |  |         formItems: [ |  |           { |  |             filed: 'name', |  |             type: 'input', |  |             label: '月台名称' |  |           }, |  |           { |  |             filed: 'groupId', |  |             type: 'select', |  |             label: '月台组', |  |             placeholder: '全部月台组', |  |             options: [] |  |           }, |  |           { |  |             type: 'slot', |  |             filed: 'fastdate', |  |             label: '' |  |           }, |  |           { |  |             filed: 'selDate', |  |             type: 'daterange', |  |             clearable: false, |  |             label: '日期' |  |           } |  |         ], |  |         online: true |  |       } |  |     } |  |   }, |  |   created() { |  |     this.changeRadio('0') |  |     this.getGroupList() |  |   }, |  |   methods: { |  |     changeRadio(day) { |  |       const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')] |  |       this.$set(this.filters, 'selDate', arr) |  |       this.getList() |  |     }, |  |     handleSub() { |  |       this.$refs.ruleForm.validate((valid) => { |  |         if (valid) { |  |           alert('submit!') |  |         } |  |       }) |  |     }, |  |     getGroupList() { |  |       getPlatformGroupList({ queryData: 0, queryType: 0 }).then(res => { |  |         this.queryFormConfig.formItems[1].options = res.map(i => { |  |           return { |  |             value: i.id, |  |             label: i.name |  |           } |  |         }) |  |         // this.queryFormConfig.formItems[1].options.unshift({ value: '', label: '全部月台组' }) |  |       }) |  |     }, |  |     getList(page) { |  |       const { pagination, filters } = this |  |       this.loading = true |  |       platformWorkReportPage({ |  |         ...filters, |  |         queryDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null, |  |         queryDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null, |  |       }).then(res => { |  |         this.loading = false |  |         this.list = res || [] |  |         this.list.forEach(item => { |  |           item.useRata = item.useRata + '%' |  |           item.workCountTime = item.workCountTime + '时' |  |           // item.workTime = dayjs.duration(item.workTime, 'seconds').format('H时m分s秒') |  |         }) |  |       }, () => { |  |         this.loading = false |  |       }) |  |     }, |  |     clear() { |  |       this.filters = { |  |         fastdate: 0, |  |         selDate: [] |  |       } |  |       this.changeRadio('0') |  |     }, |  |     handleSizeChange(capacity) { |  |       this.pagination.pageSize = capacity |  |     } |  |   } |  | } |  | </script> |  |   |  | <style></style> | 
 |