system-phone 3.1.43 → 3.1.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,278 +1,278 @@
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
- <div class="badge" v-show="tab.name == '在线接单' && onlineAcceptOrdersShow && onlineAcceptOrdersShow == 'true'">
16
- <div class="badge-content">{{ onlineAcceptOrders ? onlineAcceptOrders : 0 }}</div>
17
- </div>
18
- <img class="imgs" :src="imgback(tab.name)" alt="">
19
- <p></p>
20
- <p class="pagesfoot">{{ tab.name }}</p>
21
- <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
22
- <p></p>
23
- </div>
24
- </div>
25
- <!--<div class="row" style="overflow:auto;">-->
26
- <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
27
- <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
28
- <!--</div>-->
29
- </div>
30
- </div>
31
- </template>
32
-
33
- <script scoped>
34
- import Vue from 'vue'
35
- import {HttpResetClass} from "vue-client";
36
- import * as Util from "../Util";
37
-
38
- export default {
39
- title: '在线业务导航',
40
- data() {
41
- return {
42
- titleName: '在线业务',
43
- isMenu: true,
44
- tabs: this.getTabs(),
45
- text: '导航组件this',
46
- onlineAcceptOrders:0,
47
- isShowRedNum:this.$appdata.getSingleValue('手机端获取任务条数'),
48
- onlineAcceptOrdersShow:this.$appdata.getSingleValue('在线接单红点提醒'),
49
- beforeName: '在线业务',
50
- sourcet: '竖屏',
51
- pointNum: null,
52
- infoNum: null,
53
- meterNum: null
54
- }
55
- },
56
- ready() {
57
- this.getRepairNum()
58
- this.getInfoNum()
59
- this.getOnlineAcceptOrders()
60
- this.getmeterNum()
61
- },
62
- methods: {
63
- getOnlineAcceptOrders(){
64
- if(!this.onlineAcceptOrdersShow || !this.onlineAcceptOrdersShow == 'true'){
65
- return
66
- }
67
- const val = {
68
- condition: {
69
- condition: `f_workorder_type like '%报修单%' and f_filiale_id = '${Vue.user.orgid}'`,
70
- userid : Vue.user.name
71
- },
72
- userid: Vue.user.name
73
- };
74
- let http = new HttpResetClass()
75
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/phoneOperatorService`, {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
76
- this.onlineAcceptOrders = res.data.length
77
- })
78
- },
79
- changesum(titdata) {
80
- for (var i = 0; i < this.tabs.length; i++) {
81
- if (this.tabs[i].name == titdata.title) {
82
- this.tabs[i].icon = titdata.sum + '单'
83
- console.log(JSON.stringify(this.tabs[i].icon))
84
- return
85
- }
86
- }
87
- },
88
- getTabs() {
89
- for (let funs in Vue.functions) {
90
- if (Vue.functions[funs].link == 'online-manage') {
91
- return Vue.functions[funs].children
92
- }
93
- }
94
- this.getRepairNum()
95
- this.getInfoNum()
96
- this.getmeterNum()
97
- },
98
- getmeterNum() {
99
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
100
- return
101
- }
102
- this.timeOutGetmeterNum()
103
- },
104
- getInfoNum() {
105
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
106
- return
107
- }
108
- this.timeOutGetInfoNum()
109
- },
110
- getRepairNum() {
111
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
112
- return
113
- }
114
- this.timeOutGetRepairNum()
115
- },
116
- timeOutGetRepairNum() {
117
- let condition = `1 = 1 and f_workorder_type = '报修单' and f_state = null `
118
- let val = {
119
- condition: {
120
- condition: condition,
121
- sign: '1 = 1'
122
- },
123
- userid: Vue.user.name
124
- }
125
- let http = new HttpResetClass()
126
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/path/operatorServiceAndroid`, {data: val}, {
127
- resolveMsg: null,
128
- rejectMsg: null
129
- }).then((res) => {
130
- this.pointNum = res.data.length
131
- })
132
- },
133
- timeOutGetInfoNum() {
134
- let condition = " 1 = 1 and (f_enddate >= '" + Util.toStandardTimeString() + "' or f_state = '公告中') "
135
- let val = {
136
- items: "count(*) as count_num",
137
- tablename: "T_STOPGAS",
138
- orderitem: "1",
139
- condition: condition,
140
- f_orgstr: `'${Vue.user.orgid}'`
141
- }
142
- let http = new HttpResetClass()
143
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
144
- resolveMsg: null,
145
- rejectMsg: null
146
- }).then((res) => {
147
- this.infoNum = res.data[0].count_num
148
- })
149
- },
150
- timeOutGetmeterNum() {
151
- let val = {
152
- items: "count(*) as count_num",
153
- tablename: "t_handplan",
154
- orderitem: "1",
155
- condition: `1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
156
- f_orgid: `'${Vue.user.orgid}'`
157
- }
158
- let http = new HttpResetClass()
159
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
160
- resolveMsg: null,
161
- rejectMsg: null
162
- }).then((res) => {
163
- this.meterNum = res.data[0].count_num
164
- })
165
- },
166
- imgback(val) {
167
- return require('../assets/' + val + '.png')
168
- },
169
- // 返回主界面
170
- back() {
171
- this.titleName = '主界面'
172
- this.isMenu = true
173
-
174
- },
175
- gotopage(param, title, navigate) {
176
- console.log('进入子组件')
177
- var prpdata = {
178
- _this: this,
179
- title: title,
180
- safe: false
181
- }
182
- this.$dispatch('gotoson', prpdata)
183
- if (navigate) {
184
- this.$goto('embbed-page', {domainName: navigate, title: title, compName: param, login: Vue.user})
185
- } else {
186
- this.$goto(param, {sourcet: '竖屏', tabname: title},'self',this.getTabs)
187
- }
188
- },
189
- mute() {
190
- HostApp.mute()
191
- }
192
- },
193
- }
194
- </script>
195
- <style lang="less">
196
- .badge-content {
197
- color: #fff;
198
- box-sizing: border-box;
199
- min-width: 8px;
200
- font-size: 9px;
201
- line-height: 12px;
202
- white-space: nowrap;
203
- font-weight: 400;
204
- text-align: center;
205
- }
206
-
207
- .badge {
208
- top: 6px;
209
- position: absolute;
210
- max-height: 13px;
211
- min-height: 8px;
212
- right: 0;
213
- display: inline-flex;
214
- vertical-align: middle;
215
- box-sizing: content-box;
216
- border-radius: 100px;
217
- background-color: red;
218
- }
219
-
220
- .tab-befor-img {
221
- content: '';
222
- background-size: 30px;
223
- display: inline-block;
224
- margin-right: 8px;
225
- height: 30px;
226
- width: 30px;
227
- vertical-align: -35%;
228
- }
229
-
230
- .pageskuang {
231
- vertical-align: middle;
232
- display: table-cell;
233
- width: 32%;
234
- top: -50%;
235
- margin-top: 1%;
236
- margin-left: 1%;
237
- border: 1px solid #e3e3e3;
238
- text-align: center;
239
- background-color: #ffffff;
240
- }
241
-
242
- .pgesfoot {
243
- font-size: 14px;
244
- color: #666666;
245
- }
246
-
247
- .imgs {
248
- width: 35px;
249
- height: 35px;
250
- margin-top: 15px;
251
- }
252
-
253
- .pages-bgcolor {
254
- text-align: center;
255
- background-color: #f0f0ef;
256
- }
257
-
258
- img[src=""], img:not([src]) {
259
- opacity: 0;
260
- border: none;
261
- visibility: hidden;
262
- max-width: none;
263
- }
264
-
265
- .manbiankuang {
266
- width: 44%;
267
- margin-top: 15px;
268
- margin-left: 4%;
269
- border: 1px solid #e3e3e3;
270
- border-radius: 10px 10px 10px 10px;
271
- text-align: center;
272
- background-color: #ffffff;
273
- }
274
-
275
- .nav-bgcolor {
276
- background-color: #ffffff;
277
- }
278
- </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
+ <div class="badge" v-show="tab.name == '在线接单' && onlineAcceptOrdersShow && onlineAcceptOrdersShow == 'true'">
16
+ <div class="badge-content">{{ onlineAcceptOrders ? onlineAcceptOrders : 0 }}</div>
17
+ </div>
18
+ <img class="imgs" :src="imgback(tab.name)" alt="">
19
+ <p></p>
20
+ <p class="pagesfoot">{{ tab.name }}</p>
21
+ <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
22
+ <p></p>
23
+ </div>
24
+ </div>
25
+ <!--<div class="row" style="overflow:auto;">-->
26
+ <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
27
+ <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
28
+ <!--</div>-->
29
+ </div>
30
+ </div>
31
+ </template>
32
+
33
+ <script scoped>
34
+ import Vue from 'vue'
35
+ import {HttpResetClass} from "vue-client";
36
+ import * as Util from "../Util";
37
+
38
+ export default {
39
+ title: '在线业务导航',
40
+ data() {
41
+ return {
42
+ titleName: '在线业务',
43
+ isMenu: true,
44
+ tabs: this.getTabs(),
45
+ text: '导航组件this',
46
+ onlineAcceptOrders:0,
47
+ isShowRedNum:this.$appdata.getSingleValue('手机端获取任务条数'),
48
+ onlineAcceptOrdersShow:this.$appdata.getSingleValue('在线接单红点提醒'),
49
+ beforeName: '在线业务',
50
+ sourcet: '竖屏',
51
+ pointNum: null,
52
+ infoNum: null,
53
+ meterNum: null
54
+ }
55
+ },
56
+ ready() {
57
+ this.getRepairNum()
58
+ this.getInfoNum()
59
+ this.getOnlineAcceptOrders()
60
+ this.getmeterNum()
61
+ },
62
+ methods: {
63
+ getOnlineAcceptOrders(){
64
+ if(!this.onlineAcceptOrdersShow || !this.onlineAcceptOrdersShow == 'true'){
65
+ return
66
+ }
67
+ const val = {
68
+ condition: {
69
+ condition: `f_workorder_type like '%报修单%' and f_filiale_id = '${Vue.user.orgid}'`,
70
+ userid : Vue.user.name
71
+ },
72
+ userid: Vue.user.name
73
+ };
74
+ let http = new HttpResetClass()
75
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/af-telephone/rs/sql/phoneOperatorService`, {data: val}, {resolveMsg: null, rejectMsg: null}).then((res) => {
76
+ this.onlineAcceptOrders = res.data.length
77
+ })
78
+ },
79
+ changesum(titdata) {
80
+ for (var i = 0; i < this.tabs.length; i++) {
81
+ if (this.tabs[i].name == titdata.title) {
82
+ this.tabs[i].icon = titdata.sum + '单'
83
+ console.log(JSON.stringify(this.tabs[i].icon))
84
+ return
85
+ }
86
+ }
87
+ },
88
+ getTabs() {
89
+ for (let funs in Vue.functions) {
90
+ if (Vue.functions[funs].link == 'online-manage') {
91
+ return Vue.functions[funs].children
92
+ }
93
+ }
94
+ this.getRepairNum()
95
+ this.getInfoNum()
96
+ this.getmeterNum()
97
+ },
98
+ getmeterNum() {
99
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
100
+ return
101
+ }
102
+ this.timeOutGetmeterNum()
103
+ },
104
+ getInfoNum() {
105
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
106
+ return
107
+ }
108
+ this.timeOutGetInfoNum()
109
+ },
110
+ getRepairNum() {
111
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
112
+ return
113
+ }
114
+ this.timeOutGetRepairNum()
115
+ },
116
+ timeOutGetRepairNum() {
117
+ let condition = `1 = 1 and f_workorder_type = '报修单' and f_state = null `
118
+ let val = {
119
+ condition: {
120
+ condition: condition,
121
+ sign: '1 = 1'
122
+ },
123
+ userid: Vue.user.name
124
+ }
125
+ let http = new HttpResetClass()
126
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/path/operatorServiceAndroid`, {data: val}, {
127
+ resolveMsg: null,
128
+ rejectMsg: null
129
+ }).then((res) => {
130
+ this.pointNum = res.data.length
131
+ })
132
+ },
133
+ timeOutGetInfoNum() {
134
+ let condition = " 1 = 1 and (f_enddate >= '" + Util.toStandardTimeString() + "' or f_state = '公告中') "
135
+ let val = {
136
+ items: "count(*) as count_num",
137
+ tablename: "T_STOPGAS",
138
+ orderitem: "1",
139
+ condition: condition,
140
+ f_orgstr: `'${Vue.user.orgid}'`
141
+ }
142
+ let http = new HttpResetClass()
143
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
144
+ resolveMsg: null,
145
+ rejectMsg: null
146
+ }).then((res) => {
147
+ this.infoNum = res.data[0].count_num
148
+ })
149
+ },
150
+ timeOutGetmeterNum() {
151
+ let val = {
152
+ items: "count(*) as count_num",
153
+ tablename: "t_handplan",
154
+ orderitem: "1",
155
+ condition: `1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
156
+ f_orgid: `'${Vue.user.orgid}'`
157
+ }
158
+ let http = new HttpResetClass()
159
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
160
+ resolveMsg: null,
161
+ rejectMsg: null
162
+ }).then((res) => {
163
+ this.meterNum = res.data[0].count_num
164
+ })
165
+ },
166
+ imgback(val) {
167
+ return require('../assets/' + val + '.png')
168
+ },
169
+ // 返回主界面
170
+ back() {
171
+ this.titleName = '主界面'
172
+ this.isMenu = true
173
+
174
+ },
175
+ gotopage(param, title, navigate) {
176
+ console.log('进入子组件')
177
+ var prpdata = {
178
+ _this: this,
179
+ title: title,
180
+ safe: false
181
+ }
182
+ this.$dispatch('gotoson', prpdata)
183
+ if (navigate) {
184
+ this.$goto('embbed-page', {domainName: navigate, title: title, compName: param, login: Vue.user})
185
+ } else {
186
+ this.$goto(param, {sourcet: '竖屏', tabname: title},'self',this.getTabs)
187
+ }
188
+ },
189
+ mute() {
190
+ HostApp.mute()
191
+ }
192
+ },
193
+ }
194
+ </script>
195
+ <style lang="less">
196
+ .badge-content {
197
+ color: #fff;
198
+ box-sizing: border-box;
199
+ min-width: 8px;
200
+ font-size: 9px;
201
+ line-height: 12px;
202
+ white-space: nowrap;
203
+ font-weight: 400;
204
+ text-align: center;
205
+ }
206
+
207
+ .badge {
208
+ top: 6px;
209
+ position: absolute;
210
+ max-height: 13px;
211
+ min-height: 8px;
212
+ right: 0;
213
+ display: inline-flex;
214
+ vertical-align: middle;
215
+ box-sizing: content-box;
216
+ border-radius: 100px;
217
+ background-color: red;
218
+ }
219
+
220
+ .tab-befor-img {
221
+ content: '';
222
+ background-size: 30px;
223
+ display: inline-block;
224
+ margin-right: 8px;
225
+ height: 30px;
226
+ width: 30px;
227
+ vertical-align: -35%;
228
+ }
229
+
230
+ .pageskuang {
231
+ vertical-align: middle;
232
+ display: table-cell;
233
+ width: 32%;
234
+ top: -50%;
235
+ margin-top: 1%;
236
+ margin-left: 1%;
237
+ border: 1px solid #e3e3e3;
238
+ text-align: center;
239
+ background-color: #ffffff;
240
+ }
241
+
242
+ .pgesfoot {
243
+ font-size: 14px;
244
+ color: #666666;
245
+ }
246
+
247
+ .imgs {
248
+ width: 35px;
249
+ height: 35px;
250
+ margin-top: 15px;
251
+ }
252
+
253
+ .pages-bgcolor {
254
+ text-align: center;
255
+ background-color: #f0f0ef;
256
+ }
257
+
258
+ img[src=""], img:not([src]) {
259
+ opacity: 0;
260
+ border: none;
261
+ visibility: hidden;
262
+ max-width: none;
263
+ }
264
+
265
+ .manbiankuang {
266
+ width: 44%;
267
+ margin-top: 15px;
268
+ margin-left: 4%;
269
+ border: 1px solid #e3e3e3;
270
+ border-radius: 10px 10px 10px 10px;
271
+ text-align: center;
272
+ background-color: #ffffff;
273
+ }
274
+
275
+ .nav-bgcolor {
276
+ background-color: #ffffff;
277
+ }
278
+ </style>