vue2-client 1.2.46 → 1.2.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +130 -114
  2. package/docs/notice.md +22 -22
  3. package/package.json +1 -1
  4. package/src/App.vue +99 -99
  5. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +1 -1
  6. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  7. package/src/base-client/components/common/XAddForm/XAddForm.vue +339 -339
  8. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +316 -316
  9. package/src/base-client/components/common/XForm/XForm.vue +275 -275
  10. package/src/base-client/components/iot/CustomerDetailsView/CustomerDetailsView.vue +225 -225
  11. package/src/base-client/components/iot/DataAnalysisView/DataAnalysisView.vue +244 -244
  12. package/src/base-client/components/iot/DeviceBrandDetailsView/DeviceBrandDetailsView.vue +452 -452
  13. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsCount.vue +330 -330
  14. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsException.vue +57 -57
  15. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsInstructOperate.vue +121 -121
  16. package/src/base-client/components/iot/DeviceDetailsView/part/DeviceDetailsRead.vue +131 -131
  17. package/src/base-client/components/iot/DeviceTypeDetailsView/DeviceTypeDetailsView.vue +276 -276
  18. package/src/base-client/components/iot/InstructDetailsView/InstructDetailsView.vue +469 -469
  19. package/src/base-client/components/iot/LogDetailsView/LogDetailsView.vue +379 -379
  20. package/src/base-client/components/iot/MeterDetailsView/MeterDetailsView.vue +359 -359
  21. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsCount.vue +335 -335
  22. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsException.vue +184 -184
  23. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsHandPlan.vue +291 -291
  24. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsInstruct.vue +236 -236
  25. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsMain.vue +256 -256
  26. package/src/base-client/components/iot/MeterDetailsView/part/MeterDetailsSellGas.vue +189 -189
  27. package/src/base-client/components/iot/WebmeterAnalysisView/WebmeterAnalysisView.vue +722 -722
  28. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +231 -231
  29. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +247 -247
  30. package/src/base-client/components/ticket/EmployeeDetailsView/EmployeeDetailsView.vue +370 -370
  31. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +853 -844
  32. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  33. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  34. package/src/base-client/plugins/AppData.js +17 -27
  35. package/src/base-client/plugins/GetLoginInfoService.js +252 -252
  36. package/src/components/exception/ExceptionPage.vue +70 -70
  37. package/src/components/setting/Setting.vue +235 -235
  38. package/src/config/index.js +3 -3
  39. package/src/layouts/SinglePageView.vue +78 -78
  40. package/src/layouts/header/HeaderNotice.vue +0 -1
  41. package/src/pages/exception/403.vue +21 -21
  42. package/src/pages/exception/404.vue +21 -21
  43. package/src/pages/exception/500.vue +21 -21
  44. package/src/pages/report/ReportTableHome.vue +28 -28
  45. package/src/pages/resourceManage/depListManage.vue +23 -23
  46. package/src/pages/resourceManage/funListManage.vue +23 -23
  47. package/src/pages/resourceManage/index.js +15 -15
  48. package/src/pages/resourceManage/orgListManage.vue +98 -98
  49. package/src/pages/resourceManage/roleListManage.vue +23 -23
  50. package/src/pages/resourceManage/staffListManage.vue +23 -23
  51. package/src/pages/system/ticket/submitTicketSuccess.vue +33 -13
  52. package/src/router/async/config.async.js +26 -26
  53. package/src/router/index.js +27 -27
  54. package/src/services/api/common.js +47 -47
  55. package/src/services/api/index.js +39 -39
  56. package/src/services/user.js +34 -34
  57. package/src/theme/default/style.less +47 -47
  58. package/src/utils/indexedDB.js +146 -146
  59. package/src/utils/map-utils.js +17 -0
  60. package/src/utils/routerUtil.js +359 -359
  61. package/vue.config.js +143 -143
@@ -1,256 +1,256 @@
1
- <template>
2
- <div>
3
- <a-card :class="isMobile ? 'card_view_mobile' : 'card_view'">
4
- <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
5
- <a-icon type="project" :style="{ fontSize: '24px'} "/>
6
- <p class="card_details_title">表具品牌</p>
7
- <a-tooltip>
8
- <template slot="title">
9
- {{ details.f_meter_brand }}
10
- </template>
11
- <p class="card_details_value">{{ details.f_meter_brand }}</p>
12
- </a-tooltip>
13
- </a-card-grid>
14
- <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
15
- <a-icon type="api" :style="{ fontSize: '24px'} "/>
16
- <p class="card_details_title">表具类型</p>
17
- <a-tooltip>
18
- <template slot="title">
19
- {{ details.f_meter_type }}
20
- </template>
21
- <p class="card_details_value">{{ details.f_meter_type }}</p>
22
- </a-tooltip>
23
- </a-card-grid>
24
- <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
25
- <a-icon type="profile" :style="{ fontSize: '24px'} "/>
26
- <p class="card_details_title">表号</p>
27
- <a-tooltip>
28
- <template slot="title">
29
- {{ details.f_meternumber }}
30
- </template>
31
- <p class="card_details_value">{{ details.f_meternumber }}</p>
32
- </a-tooltip>
33
- </a-card-grid>
34
- <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
35
- <a-icon type="pushpin" :style="{ fontSize: '24px'} "/>
36
- <p class="card_details_title">表具规格</p>
37
- <a-tooltip>
38
- <template slot="title">
39
- {{ details.f_meter_style }}
40
- </template>
41
- <p class="card_details_value">{{ details.f_meter_style }}</p>
42
- </a-tooltip>
43
- </a-card-grid>
44
- <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
45
- <a-icon type="select" :style="{ fontSize: '24px'} "/>
46
- <p class="card_details_title">表具型号</p>
47
- <a-tooltip>
48
- <template slot="title">
49
- {{ details.f_type }}
50
- </template>
51
- <p class="card_details_value">{{ details.f_type }}</p>
52
- </a-tooltip>
53
- </a-card-grid>
54
- <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
55
- <a-icon type="tool" :style="{ fontSize: '24px'} "/>
56
- <p class="card_details_title">表具别名</p>
57
- <a-tooltip>
58
- <template slot="title">
59
- {{ details.f_alias }}
60
- </template>
61
- <p class="card_details_value">{{ details.f_alias }}</p>
62
- </a-tooltip>
63
- </a-card-grid>
64
- <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
65
- <a-icon type="pay-circle" :style="{ fontSize: '24px'} "/>
66
- <p class="card_details_title">剩余金额</p>
67
- <a-tooltip>
68
- <template slot="title">
69
- {{ details.f_balance_amount }}
70
- </template>
71
- <p class="card_details_value">{{ details.f_balance_amount }}</p>
72
- </a-tooltip>
73
- </a-card-grid>
74
- <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
75
- <a-icon type="bg-colors" :style="{ fontSize: '24px'} "/>
76
- <p class="card_details_title">累计用气量</p>
77
- <a-tooltip>
78
- <template slot="title">
79
- {{ details.f_meter_base }}
80
- </template>
81
- <p class="card_details_value">{{ details.f_meter_base }}</p>
82
- </a-tooltip>
83
- </a-card-grid>
84
- </a-card>
85
- <a-card :bordered="false" title="业务操作记录" :loading="loading">
86
- <a-button @click="getWorkFlow()" type="primary">刷新</a-button>
87
- <a-timeline pending="持续记录中..." :reverse="true" mode="alternate" style="max-width: 800px;margin: 0 auto;">
88
- <a-timeline-item v-if="index < 3 ? true : advanced" :key="index" v-for="(value,index) in workList" color="green">
89
- <div style="color: #0d1a26;font-weight: 500;">
90
- <span style="font-size: 16px;">{{ value.name }}</span>
91
- <span style="margin-left: 5px;">({{ value.type }},{{ format(value.date,'yyyy-MM-dd hh:mm:ss') }})</span>
92
- </div>
93
- <div class="antd-pro-pages-profile-advanced-style-stepDescription" >
94
- 状态:{{ value.state }}
95
- </div>
96
- <div class="antd-pro-pages-profile-advanced-style-stepDescription">
97
- 相关信息:<br/><p style="margin-left: 2em;">{{ value.info }}</p>
98
- </div>
99
- </a-timeline-item>
100
- </a-timeline>
101
- <a-col :md="!advanced && 8 || 24" :sm="24" v-if="workList.length > 3">
102
- <span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
103
- <a @click="toggleAdvanced" style="margin-left: 8px">
104
- {{ advanced ? '收起' : '展开' }}
105
- <a-icon :type="advanced ? 'up' : 'down'"/>
106
- </a>
107
- </span>
108
- </a-col>
109
- </a-card>
110
- </div>
111
- </template>
112
- <script>
113
- import { formatDate } from '@vue2-client/utils/util'
114
- import { MeterDetailsViewApi, post } from '@vue2-client/services/api'
115
- import { mapState } from 'vuex'
116
-
117
- export default {
118
- name: 'MeterDetailsMain',
119
- props: {
120
- selectOrgName: {
121
- type: String,
122
- required: true
123
- },
124
- userid: {
125
- type: String,
126
- required: true
127
- },
128
- details: {
129
- type: Object,
130
- required: true
131
- }
132
- },
133
- computed: {
134
- ...mapState('setting', ['isMobile'])
135
- },
136
- mounted () {
137
- this.getWorkFlow()
138
- },
139
- data () {
140
- return {
141
- // 历史操作 展开/关闭
142
- advanced: false,
143
- workList: [],
144
- loading: false
145
- }
146
- },
147
- methods: {
148
- format (date, format) {
149
- return formatDate(date, format)
150
- },
151
- getWorkFlow () {
152
- this.loading = true
153
- return post(MeterDetailsViewApi.getWorkFlowList, {
154
- id: this.userid,
155
- orgName: this.selectOrgName
156
- }).then(res => {
157
- this.workList = []
158
- for (let i = 0, len = res.length; i < len; i++) {
159
- this.workList.push({
160
- name: res[i].f_base_type,
161
- type: res[i].f_type,
162
- tableName: res[i].f_table_name,
163
- date: res[i].f_date,
164
- state: res[i].f_state,
165
- info: res[i].f_info
166
- })
167
- }
168
- this.workList = this.workList.reverse()
169
- this.loading = false
170
- })
171
- },
172
- toggleAdvanced () {
173
- this.advanced = !this.advanced
174
- }
175
- },
176
- watch: {
177
- 'userid' () {
178
- this.getWorkFlow()
179
- }
180
- }
181
- }
182
- </script>
183
-
184
- <style lang="less" scoped>
185
- .card_view {
186
- width: 70%;
187
- min-width: 700px;
188
- }
189
-
190
- .card_view_mobile {
191
- width: 100%;
192
- }
193
-
194
- .card_details_title {
195
- margin: 4px 0;
196
- font-size: 14px;
197
- }
198
-
199
- .card_details_value {
200
- font-size: 16px;
201
- font-weight: bold;
202
- color: #444;
203
- margin-bottom: 0;
204
- overflow: hidden;
205
- text-overflow:ellipsis;
206
- white-space: nowrap;
207
- }
208
-
209
- .card_guid {
210
- width: 25%;
211
- text-align:left;
212
- }
213
-
214
- .card_guid_mobile {
215
- width: 50%;
216
- text-align:left;
217
- }
218
-
219
- .detail-layout {
220
- margin-left: 44px;
221
- }
222
- .text {
223
- color: rgba(0, 0, 0, .45);
224
- }
225
-
226
- .heading {
227
- color: rgba(0, 0, 0, .85);
228
- font-size: 20px;
229
- }
230
-
231
- .no-data {
232
- color: rgba(0, 0, 0, .25);
233
- text-align: center;
234
- line-height: 64px;
235
- font-size: 16px;
236
-
237
- i {
238
- font-size: 24px;
239
- margin-right: 16px;
240
- position: relative;
241
- top: 3px;
242
- }
243
- }
244
-
245
- .mobile {
246
- .detail-layout {
247
- margin-left: unset;
248
- }
249
- .text {
250
-
251
- }
252
- .status-list {
253
- text-align: left;
254
- }
255
- }
256
- </style>
1
+ <template>
2
+ <div>
3
+ <a-card :class="isMobile ? 'card_view_mobile' : 'card_view'">
4
+ <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
5
+ <a-icon type="project" :style="{ fontSize: '24px'} "/>
6
+ <p class="card_details_title">表具品牌</p>
7
+ <a-tooltip>
8
+ <template slot="title">
9
+ {{ details.f_meter_brand }}
10
+ </template>
11
+ <p class="card_details_value">{{ details.f_meter_brand }}</p>
12
+ </a-tooltip>
13
+ </a-card-grid>
14
+ <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
15
+ <a-icon type="api" :style="{ fontSize: '24px'} "/>
16
+ <p class="card_details_title">表具类型</p>
17
+ <a-tooltip>
18
+ <template slot="title">
19
+ {{ details.f_meter_type }}
20
+ </template>
21
+ <p class="card_details_value">{{ details.f_meter_type }}</p>
22
+ </a-tooltip>
23
+ </a-card-grid>
24
+ <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
25
+ <a-icon type="profile" :style="{ fontSize: '24px'} "/>
26
+ <p class="card_details_title">表号</p>
27
+ <a-tooltip>
28
+ <template slot="title">
29
+ {{ details.f_meternumber }}
30
+ </template>
31
+ <p class="card_details_value">{{ details.f_meternumber }}</p>
32
+ </a-tooltip>
33
+ </a-card-grid>
34
+ <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
35
+ <a-icon type="pushpin" :style="{ fontSize: '24px'} "/>
36
+ <p class="card_details_title">表具规格</p>
37
+ <a-tooltip>
38
+ <template slot="title">
39
+ {{ details.f_meter_style }}
40
+ </template>
41
+ <p class="card_details_value">{{ details.f_meter_style }}</p>
42
+ </a-tooltip>
43
+ </a-card-grid>
44
+ <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
45
+ <a-icon type="select" :style="{ fontSize: '24px'} "/>
46
+ <p class="card_details_title">表具型号</p>
47
+ <a-tooltip>
48
+ <template slot="title">
49
+ {{ details.f_type }}
50
+ </template>
51
+ <p class="card_details_value">{{ details.f_type }}</p>
52
+ </a-tooltip>
53
+ </a-card-grid>
54
+ <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
55
+ <a-icon type="tool" :style="{ fontSize: '24px'} "/>
56
+ <p class="card_details_title">表具别名</p>
57
+ <a-tooltip>
58
+ <template slot="title">
59
+ {{ details.f_alias }}
60
+ </template>
61
+ <p class="card_details_value">{{ details.f_alias }}</p>
62
+ </a-tooltip>
63
+ </a-card-grid>
64
+ <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
65
+ <a-icon type="pay-circle" :style="{ fontSize: '24px'} "/>
66
+ <p class="card_details_title">剩余金额</p>
67
+ <a-tooltip>
68
+ <template slot="title">
69
+ {{ details.f_balance_amount }}
70
+ </template>
71
+ <p class="card_details_value">{{ details.f_balance_amount }}</p>
72
+ </a-tooltip>
73
+ </a-card-grid>
74
+ <a-card-grid :class="isMobile ? 'card_guid_mobile' : 'card_guid'">
75
+ <a-icon type="bg-colors" :style="{ fontSize: '24px'} "/>
76
+ <p class="card_details_title">累计用气量</p>
77
+ <a-tooltip>
78
+ <template slot="title">
79
+ {{ details.f_meter_base }}
80
+ </template>
81
+ <p class="card_details_value">{{ details.f_meter_base }}</p>
82
+ </a-tooltip>
83
+ </a-card-grid>
84
+ </a-card>
85
+ <a-card :bordered="false" title="业务操作记录" :loading="loading">
86
+ <a-button @click="getWorkFlow()" type="primary">刷新</a-button>
87
+ <a-timeline pending="持续记录中..." :reverse="true" mode="alternate" style="max-width: 800px;margin: 0 auto;">
88
+ <a-timeline-item v-if="index < 3 ? true : advanced" :key="index" v-for="(value,index) in workList" color="green">
89
+ <div style="color: #0d1a26;font-weight: 500;">
90
+ <span style="font-size: 16px;">{{ value.name }}</span>
91
+ <span style="margin-left: 5px;">({{ value.type }},{{ format(value.date,'yyyy-MM-dd hh:mm:ss') }})</span>
92
+ </div>
93
+ <div class="antd-pro-pages-profile-advanced-style-stepDescription" >
94
+ 状态:{{ value.state }}
95
+ </div>
96
+ <div class="antd-pro-pages-profile-advanced-style-stepDescription">
97
+ 相关信息:<br/><p style="margin-left: 2em;">{{ value.info }}</p>
98
+ </div>
99
+ </a-timeline-item>
100
+ </a-timeline>
101
+ <a-col :md="!advanced && 8 || 24" :sm="24" v-if="workList.length > 3">
102
+ <span class="table-page-search-submitButtons" :style="advanced && { float: 'right', overflow: 'hidden' } || {} ">
103
+ <a @click="toggleAdvanced" style="margin-left: 8px">
104
+ {{ advanced ? '收起' : '展开' }}
105
+ <a-icon :type="advanced ? 'up' : 'down'"/>
106
+ </a>
107
+ </span>
108
+ </a-col>
109
+ </a-card>
110
+ </div>
111
+ </template>
112
+ <script>
113
+ import { formatDate } from '@vue2-client/utils/util'
114
+ import { MeterDetailsViewApi, post } from '@vue2-client/services/api'
115
+ import { mapState } from 'vuex'
116
+
117
+ export default {
118
+ name: 'MeterDetailsMain',
119
+ props: {
120
+ selectOrgName: {
121
+ type: String,
122
+ required: true
123
+ },
124
+ userid: {
125
+ type: String,
126
+ required: true
127
+ },
128
+ details: {
129
+ type: Object,
130
+ required: true
131
+ }
132
+ },
133
+ computed: {
134
+ ...mapState('setting', ['isMobile'])
135
+ },
136
+ mounted () {
137
+ this.getWorkFlow()
138
+ },
139
+ data () {
140
+ return {
141
+ // 历史操作 展开/关闭
142
+ advanced: false,
143
+ workList: [],
144
+ loading: false
145
+ }
146
+ },
147
+ methods: {
148
+ format (date, format) {
149
+ return formatDate(date, format)
150
+ },
151
+ getWorkFlow () {
152
+ this.loading = true
153
+ return post(MeterDetailsViewApi.getWorkFlowList, {
154
+ id: this.userid,
155
+ orgName: this.selectOrgName
156
+ }).then(res => {
157
+ this.workList = []
158
+ for (let i = 0, len = res.length; i < len; i++) {
159
+ this.workList.push({
160
+ name: res[i].f_base_type,
161
+ type: res[i].f_type,
162
+ tableName: res[i].f_table_name,
163
+ date: res[i].f_date,
164
+ state: res[i].f_state,
165
+ info: res[i].f_info
166
+ })
167
+ }
168
+ this.workList = this.workList.reverse()
169
+ this.loading = false
170
+ })
171
+ },
172
+ toggleAdvanced () {
173
+ this.advanced = !this.advanced
174
+ }
175
+ },
176
+ watch: {
177
+ 'userid' () {
178
+ this.getWorkFlow()
179
+ }
180
+ }
181
+ }
182
+ </script>
183
+
184
+ <style lang="less" scoped>
185
+ .card_view {
186
+ width: 70%;
187
+ min-width: 700px;
188
+ }
189
+
190
+ .card_view_mobile {
191
+ width: 100%;
192
+ }
193
+
194
+ .card_details_title {
195
+ margin: 4px 0;
196
+ font-size: 14px;
197
+ }
198
+
199
+ .card_details_value {
200
+ font-size: 16px;
201
+ font-weight: bold;
202
+ color: #444;
203
+ margin-bottom: 0;
204
+ overflow: hidden;
205
+ text-overflow:ellipsis;
206
+ white-space: nowrap;
207
+ }
208
+
209
+ .card_guid {
210
+ width: 25%;
211
+ text-align:left;
212
+ }
213
+
214
+ .card_guid_mobile {
215
+ width: 50%;
216
+ text-align:left;
217
+ }
218
+
219
+ .detail-layout {
220
+ margin-left: 44px;
221
+ }
222
+ .text {
223
+ color: rgba(0, 0, 0, .45);
224
+ }
225
+
226
+ .heading {
227
+ color: rgba(0, 0, 0, .85);
228
+ font-size: 20px;
229
+ }
230
+
231
+ .no-data {
232
+ color: rgba(0, 0, 0, .25);
233
+ text-align: center;
234
+ line-height: 64px;
235
+ font-size: 16px;
236
+
237
+ i {
238
+ font-size: 24px;
239
+ margin-right: 16px;
240
+ position: relative;
241
+ top: 3px;
242
+ }
243
+ }
244
+
245
+ .mobile {
246
+ .detail-layout {
247
+ margin-left: unset;
248
+ }
249
+ .text {
250
+
251
+ }
252
+ .status-list {
253
+ text-align: left;
254
+ }
255
+ }
256
+ </style>