system-phone 3.0.43 → 3.0.44

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.
@@ -1,256 +1,363 @@
1
- <template>
2
- <div class="nav-bgcolor">
3
- <div class="auto">
4
- <div class="row nav-bgcolor">
5
- <div class="col-xs-6 manbiankuang" v-for="tab in tabs" @click="gotopage(tab.link,tab.name,tab.navigate)">
6
- <div class="badge" v-show="tab.name == '维修派发' && isShowRedNum && isShowRedNum == 'true'">
7
- <div class="badge-content">{{ pointNum ? pointNum : 0 }}</div>
8
- </div>
9
- <div class="badge" v-show="tab.name == '抄表待办' && isShowRedNum && isShowRedNum == 'true'">
10
- <div class="badge-content">{{ meterNum ? meterNum : 0 }}</div>
11
- </div>
12
- <div class="badge" v-show="tab.name == '信息公告' && isShowRedNum && isShowRedNum == 'true'">
13
- <div class="badge-content">{{ infoNum ? infoNum : 0 }}</div>
14
- </div>
15
- <img class="imgs" :src="imgback(tab.name)" alt="">
16
- <p></p>
17
- <p class="pagesfoot">{{ tab.name }}</p>
18
- <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
19
- <p></p>
20
- </div>
21
- </div>
22
- <!--<div class="row" style="overflow:auto;">-->
23
- <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
24
- <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
25
- <!--</div>-->
26
- </div>
27
- </div>
28
- </template>
29
-
30
- <script scoped>
31
- import Vue from 'vue'
32
- import {HttpResetClass} from "vue-client";
33
- import * as Util from "../Util";
34
-
35
- export default {
36
- title: '在线业务导航',
37
- data() {
38
- return {
39
- titleName: '在线业务',
40
- isMenu: true,
41
- tabs: this.getTabs(),
42
- text: '导航组件this',
43
- isShowRedNum:this.$appdata.getSingleValue('手机端获取任务条数'),
44
- beforeName: '在线业务',
45
- sourcet: '竖屏',
46
- pointNum: null,
47
- infoNum: null,
48
- meterNum: null
49
- }
50
- },
51
- ready() {
52
- this.getRepairNum()
53
- this.getInfoNum()
54
- this.getmeterNum()
55
- },
56
- methods: {
57
- changesum(titdata) {
58
- for (var i = 0; i < this.tabs.length; i++) {
59
- if (this.tabs[i].name == titdata.title) {
60
- this.tabs[i].icon = titdata.sum + '单'
61
- console.log(JSON.stringify(this.tabs[i].icon))
62
- return
63
- }
64
- }
65
- },
66
- getTabs() {
67
- debugger
68
- for (let funs in Vue.functions) {
69
- if (Vue.functions[funs].link == 'online-manage') {
70
- return Vue.functions[funs].children
71
- }
72
- }
73
- this.getRepairNum()
74
- this.getInfoNum()
75
- this.getmeterNum()
76
- },
77
- getmeterNum() {
78
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
79
- return
80
- }
81
- this.timeOutGetmeterNum()
82
- },
83
- getInfoNum() {
84
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
85
- return
86
- }
87
- this.timeOutGetInfoNum()
88
- },
89
- getRepairNum() {
90
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
91
- return
92
- }
93
- this.timeOutGetRepairNum()
94
- },
95
- timeOutGetRepairNum() {
96
- let condition = `1 = 1 and f_workorder_type = '报修单' and f_state = null `
97
- let val = {
98
- condition: {
99
- condition: condition,
100
- sign: '1 = 1'
101
- },
102
- userid: Vue.user.name
103
- }
104
- let http = new HttpResetClass()
105
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/path/operatorServiceAndroid`, {data: val}, {
106
- resolveMsg: null,
107
- rejectMsg: null
108
- }).then((res) => {
109
- this.pointNum = res.data.length
110
- })
111
- },
112
- timeOutGetInfoNum() {
113
- let condition = " 1 = 1 and (f_enddate >= '" + Util.toStandardTimeString() + "' or f_state = '公告中') "
114
- let val = {
115
- items: "count(*) as count_num",
116
- tablename: "T_STOPGAS",
117
- orderitem: "1",
118
- condition: condition,
119
- f_orgstr: `'${Vue.user.orgid}'`
120
- }
121
- let http = new HttpResetClass()
122
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
123
- resolveMsg: null,
124
- rejectMsg: null
125
- }).then((res) => {
126
- this.infoNum = res.data[0].count_num
127
- })
128
- },
129
- timeOutGetmeterNum() {
130
- let val = {
131
- items: "count(*) as count_num",
132
- tablename: "t_handplan",
133
- orderitem: "1",
134
- condition: `1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
135
- f_orgid: `'${Vue.user.orgid}'`
136
- }
137
- let http = new HttpResetClass()
138
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
139
- resolveMsg: null,
140
- rejectMsg: null
141
- }).then((res) => {
142
- this.meterNum = res.data[0].count_num
143
- })
144
- },
145
- imgback(val) {
146
- return require('../assets/' + val + '.png')
147
- },
148
- // 返回主界面
149
- back() {
150
- this.titleName = '主界面'
151
- this.isMenu = true
152
-
153
- },
154
- gotopage(param, title, navigate) {
155
- console.log('进入子组件')
156
- var prpdata = {
157
- _this: this,
158
- title: title,
159
- safe: false
160
- }
161
- this.$dispatch('gotoson', prpdata)
162
- if (navigate) {
163
- this.$goto('embbed-page', {domainName: navigate, title: title, compName: param, login: Vue.user})
164
- } else {
165
- this.$goto(param, {sourcet: '竖屏', tabname: title},'self',this.getTabs)
166
- }
167
- },
168
- mute() {
169
- HostApp.mute()
170
- }
171
- },
172
- }
173
- </script>
174
- <style lang="less">
175
- .badge-content {
176
- color: #fff;
177
- box-sizing: border-box;
178
- min-width: 8px;
179
- font-size: 9px;
180
- line-height: 12px;
181
- white-space: nowrap;
182
- font-weight: 400;
183
- text-align: center;
184
- }
185
-
186
- .badge {
187
- top: 6px;
188
- position: absolute;
189
- max-height: 13px;
190
- min-height: 8px;
191
- right: 0;
192
- display: inline-flex;
193
- vertical-align: middle;
194
- box-sizing: content-box;
195
- border-radius: 100px;
196
- background-color: red;
197
- }
198
-
199
- .tab-befor-img {
200
- content: '';
201
- background-size: 30px;
202
- display: inline-block;
203
- margin-right: 8px;
204
- height: 30px;
205
- width: 30px;
206
- vertical-align: -35%;
207
- }
208
-
209
- .pageskuang {
210
- vertical-align: middle;
211
- display: table-cell;
212
- width: 32%;
213
- top: -50%;
214
- margin-top: 1%;
215
- margin-left: 1%;
216
- border: 1px solid #e3e3e3;
217
- text-align: center;
218
- background-color: #ffffff;
219
- }
220
-
221
- .pgesfoot {
222
- font-size: 14px;
223
- color: #666666;
224
- }
225
-
226
- .imgs {
227
- width: 35px;
228
- margin-top: 15px;
229
- }
230
-
231
- .pages-bgcolor {
232
- text-align: center;
233
- background-color: #f0f0ef;
234
- }
235
-
236
- img[src=""], img:not([src]) {
237
- opacity: 0;
238
- border: none;
239
- visibility: hidden;
240
- max-width: none;
241
- }
242
-
243
- .manbiankuang {
244
- width: 44%;
245
- margin-top: 15px;
246
- margin-left: 4%;
247
- border: 1px solid #e3e3e3;
248
- border-radius: 10px 10px 10px 10px;
249
- text-align: center;
250
- background-color: #ffffff;
251
- }
252
-
253
- .nav-bgcolor {
254
- background-color: #ffffff;
255
- }
256
- </style>
1
+ <template>
2
+ <div class="nav-bgcolor">
3
+ <div class="auto">
4
+ <div class="row nav-bgcolor">
5
+ <div class="col-xs-6 manbiankuang" v-for="tab in tabs" @click="gotopage(tab.link,tab.name,tab.navigate)">
6
+ <div class="badge" v-show="tab.name == '维修派发' && isShowRedNum && isShowRedNum == 'true'">
7
+ <div class="badge-content">{{ pointNum ? pointNum : 0 }}</div>
8
+ </div>
9
+ <div class="badge" v-show="tab.name == '抄表待办' && isShowRedNum && isShowRedNum == 'true'">
10
+ <div class="badge-content">{{ meterNum ? meterNum : 0 }}</div>
11
+ </div>
12
+ <div class="badge" v-show="tab.name == '信息公告' && isShowRedNum && isShowRedNum == 'true'">
13
+ <div class="badge-content">{{ infoNum ? infoNum : 0 }}</div>
14
+ </div>
15
+ <img class="imgs" :src="imgback(tab.name)" alt="">
16
+ <p></p>
17
+ <p class="pagesfoot">{{ tab.name }}</p>
18
+ <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
19
+ <p></p>
20
+ </div>
21
+ </div>
22
+ <!--<div class="row" style="overflow:auto;">-->
23
+ <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
24
+ <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
25
+ <!--</div>-->
26
+ </div>
27
+ </div>
28
+ </template>
29
+
30
+ <script scoped>
31
+ import Vue from 'vue'
32
+ import {HttpResetClass} from "vue-client";
33
+ import * as Util from "../Util";
34
+
35
+ export default {
36
+ title: '在线业务导航',
37
+ data() {
38
+ return {
39
+ titleName: '在线业务',
40
+ isMenu: true,
41
+ tabs: this.getTabs(),
42
+ text: '导航组件this',
43
+ isShowRedNum:this.$appdata.getSingleValue('红点'),
44
+ beforeName: '在线业务',
45
+ sourcet: '竖屏',
46
+ pointNum: null,
47
+ infoNum: null,
48
+ meterNum: null
49
+ }
50
+ },
51
+ ready() {
52
+ // this.getModelSum()
53
+ },
54
+
55
+ methods: {
56
+ //看去哪个页面
57
+ getModelSum() {
58
+ for (var i = 0; i < this.tabs.length; i++) {
59
+ if (this.tabs[i].link == 'readmeter-home') {
60
+ this.getZhihuan()
61
+ }
62
+ if (this.tabs[i].link == 'weiup-load') {
63
+ this.getRepair()
64
+ }
65
+ if (this.tabs[i].link == 'upload-page') {
66
+ this.getSafeCheck()
67
+ }
68
+ }
69
+
70
+ },
71
+ getRepair() {
72
+ var _this = this;
73
+ this.timeoutRepair = window.setInterval(function () {
74
+ let result = _this.$androidUtil.path({'alias': 'notUpload', 'data': {f_workorder_type: '报修单'}})
75
+ if (result.code === 200) {
76
+ console.log('查询得到的代办2' + JSON.stringify(result))
77
+ var crv = {
78
+ title: '维修上传',
79
+ sum: result.data.length
80
+ }
81
+ _this.changesum(crv)
82
+ }
83
+ }, 6000)
84
+ },
85
+ getSafeCheck() {
86
+ var _this = this;
87
+ this.timeoutRepair = window.setInterval(function () {
88
+ let result = _this.$androidUtil.path({'alias': 'safecheckNotUpload', 'data': {}})
89
+ if (result.code === 200) {
90
+ console.log('查询得到的安检上传' + JSON.stringify(result))
91
+ var crv = {
92
+ title: '安检上传',
93
+ sum: result.data.length
94
+ }
95
+ _this.changesum(crv)
96
+ }
97
+ }, 6000)
98
+ },
99
+ getZhihuan() {
100
+ var _this = this;
101
+ this.timeoutZhihuan = window.setInterval(function () {
102
+ let result = {code: 200}
103
+ if (result.code === 200) {
104
+ console.log('查询得到的代办2' + JSON.stringify(result))
105
+ var crv = {
106
+ title: '置换上传',
107
+ sum: result.data.length
108
+ }
109
+ _this.changesum(crv)
110
+ }
111
+ }, 6000)
112
+ },
113
+ changesum(titdata) {
114
+ for (var i = 0; i < this.tabs.length; i++) {
115
+ if (this.tabs[i].name == titdata.title) {
116
+ this.tabs[i].icon = titdata.sum + '单'
117
+ console.log(JSON.stringify(this.tabs[i].icon))
118
+ return
119
+ }
120
+ }
121
+ },
122
+ getTabs() {
123
+ this.getRepairNum()
124
+ this.getInfoNum()
125
+ this.getmeterNum()
126
+ for (let funs in Vue.functions) {
127
+ if (Vue.functions[funs].link == 'online-manage') {
128
+ return Vue.functions[funs].children
129
+ }
130
+ }
131
+ },
132
+ getmeterNum() {
133
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
134
+ return
135
+ }
136
+ window.setInterval(() => {
137
+ let val = {
138
+ items: "*",
139
+ tablename: "t_handplan",
140
+ orderitem: "id desc",
141
+ condition: `1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
142
+ f_orgid: `'${Vue.user.orgid}'`
143
+ }
144
+ let http = new HttpResetClass()
145
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
146
+ resolveMsg: null,
147
+ rejectMsg: null
148
+ }).then((res) => {
149
+ this.meterNum = res.data.length
150
+ })
151
+ }, 100000)
152
+ this.timeOutGetmeterNum()
153
+ },
154
+ getInfoNum() {
155
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
156
+ return
157
+ }
158
+ window.setInterval(() => {
159
+ let condition = " 1 = 1 and (f_enddate >= '" + Util.toStandardTimeString()+ "' or f_state = '公告中') "
160
+ let val = {
161
+ items: "*",
162
+ tablename: "T_STOPGAS",
163
+ orderitem: "f_date desc",
164
+ condition: condition,
165
+ f_orgstr: `'${Vue.user.orgid}'`
166
+ }
167
+ let http = new HttpResetClass()
168
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
169
+ resolveMsg: null,
170
+ rejectMsg: null
171
+ }).then((res) => {
172
+ this.infoNum = res.data.length
173
+ })
174
+ }, 100000)
175
+ this.timeOutGetInfoNum()
176
+ },
177
+ getRepairNum() {
178
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
179
+ return
180
+ }
181
+ window.setInterval(() => {
182
+ let condition = `1 = 1 and f_workorder_type = '报修单' and f_state = null `
183
+ let val = {
184
+ condition: {
185
+ condition: condition,
186
+ sign: '1 = 1'
187
+ },
188
+ userid: Vue.user.name
189
+ }
190
+ let http = new HttpResetClass()
191
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/path/operatorServiceAndroid`, {data: val}, {
192
+ resolveMsg: null,
193
+ rejectMsg: null
194
+ }).then((res) => {
195
+ this.pointNum = res.data.length
196
+ })
197
+ }, 100000)
198
+ this.timeOutGetRepairNum()
199
+ },
200
+ timeOutGetRepairNum() {
201
+
202
+ let condition = `1 = 1 and f_workorder_type = '报修单' and f_state = null `
203
+ let val = {
204
+ condition: {
205
+ condition: condition,
206
+ sign: '1 = 1'
207
+ },
208
+ userid: Vue.user.name
209
+ }
210
+ let http = new HttpResetClass()
211
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/path/operatorServiceAndroid`, {data: val}, {
212
+ resolveMsg: null,
213
+ rejectMsg: null
214
+ }).then((res) => {
215
+ this.pointNum = res.data.length
216
+ })
217
+ },
218
+ timeOutGetInfoNum() {
219
+ let condition = " 1 = 1 and (f_enddate >= '" + Util.toStandardTimeString() + "' or f_state = '公告中') "
220
+ let val = {
221
+ items: "*",
222
+ tablename: "T_STOPGAS",
223
+ orderitem: "f_date desc",
224
+ condition: condition,
225
+ f_orgstr: `'${Vue.user.orgid}'`
226
+ }
227
+ let http = new HttpResetClass()
228
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
229
+ resolveMsg: null,
230
+ rejectMsg: null
231
+ }).then((res) => {
232
+ this.infoNum = res.data.length
233
+ })
234
+ },
235
+ timeOutGetmeterNum() {
236
+ let val = {
237
+ items: "*",
238
+ tablename: "t_handplan",
239
+ orderitem: "id desc",
240
+ condition: `1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
241
+ f_orgid: `'${Vue.user.orgid}'`
242
+ }
243
+ let http = new HttpResetClass()
244
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
245
+ resolveMsg: null,
246
+ rejectMsg: null
247
+ }).then((res) => {
248
+ this.meterNum = res.data.length
249
+ })
250
+ },
251
+ imgback(val) {
252
+ return require('../assets/' + val + '.png')
253
+ },
254
+ // 返回主界面
255
+ back() {
256
+ this.titleName = '主界面'
257
+ this.isMenu = true
258
+
259
+ },
260
+ gotopage(param, title, navigate) {
261
+ console.log('进入子组件')
262
+ var prpdata = {
263
+ _this: this,
264
+ title: title,
265
+ safe: false
266
+ }
267
+ this.$dispatch('gotoson', prpdata)
268
+ if (navigate) {
269
+ this.$goto('embbed-page', {domainName: navigate, title: title, compName: param, login: Vue.user})
270
+ } else {
271
+ this.$goto(param, {sourcet: '竖屏', tabname: title})
272
+ }
273
+ },
274
+ mute() {
275
+ HostApp.mute()
276
+ }
277
+ },
278
+ }
279
+ </script>
280
+ <style lang="less">
281
+ .badge-content {
282
+ color: #fff;
283
+ box-sizing: border-box;
284
+ min-width: 8px;
285
+ font-size: 9px;
286
+ line-height: 12px;
287
+ white-space: nowrap;
288
+ font-weight: 400;
289
+ text-align: center;
290
+ }
291
+
292
+ .badge {
293
+ top: 6px;
294
+ position: absolute;
295
+ max-height: 13px;
296
+ min-height: 8px;
297
+ right: 0;
298
+ display: inline-flex;
299
+ vertical-align: middle;
300
+ box-sizing: content-box;
301
+ border-radius: 100px;
302
+ background-color: red;
303
+ }
304
+
305
+ .tab-befor-img {
306
+ content: '';
307
+ background-size: 30px;
308
+ display: inline-block;
309
+ margin-right: 8px;
310
+ height: 30px;
311
+ width: 30px;
312
+ vertical-align: -35%;
313
+ }
314
+
315
+ .pageskuang {
316
+ vertical-align: middle;
317
+ display: table-cell;
318
+ width: 32%;
319
+ top: -50%;
320
+ margin-top: 1%;
321
+ margin-left: 1%;
322
+ border: 1px solid #e3e3e3;
323
+ text-align: center;
324
+ background-color: #ffffff;
325
+ }
326
+
327
+ .pgesfoot {
328
+ font-size: 14px;
329
+ color: #666666;
330
+ /* font-family: "Pingfhs";*/
331
+ }
332
+
333
+ .imgs {
334
+ width: 35px;
335
+ margin-top: 15px;
336
+ }
337
+
338
+ .pages-bgcolor {
339
+ text-align: center;
340
+ background-color: #f0f0ef;
341
+ }
342
+
343
+ img[src=""], img:not([src]) {
344
+ opacity: 0;
345
+ border: none;
346
+ visibility: hidden;
347
+ max-width: none;
348
+ }
349
+
350
+ .manbiankuang {
351
+ width: 44%;
352
+ margin-top: 15px;
353
+ margin-left: 4%;
354
+ border: 1px solid #e3e3e3;
355
+ border-radius: 10px 10px 10px 10px;
356
+ text-align: center;
357
+ background-color: #ffffff;
358
+ }
359
+
360
+ .nav-bgcolor {
361
+ background-color: #ffffff;
362
+ }
363
+ </style>