system-phone 3.1.44 → 3.1.45

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 (199) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/CHANGELOG.md +1 -1
  5. package/Dockerfile +3 -3
  6. package/README.md +36 -36
  7. package/build/css-loaders.js +34 -34
  8. package/build/dev-client.js +8 -8
  9. package/build/example-server.js +80 -80
  10. package/build/release.sh +28 -28
  11. package/build/utils.js +71 -71
  12. package/build/webpack.dev.conf.js +31 -31
  13. package/build/webpack.example.conf.js +49 -49
  14. package/build/webpack.prod.conf.js +60 -60
  15. package/build/webpack.test.conf.js +31 -31
  16. package/config/dev.env.js +6 -6
  17. package/config/index.js +38 -38
  18. package/config/prod.env.js +3 -3
  19. package/config/test.env.js +6 -6
  20. package/nginx.conf +304 -304
  21. package/package.json +1 -1
  22. package/release.bat +5 -5
  23. package/src/App.vue +25 -25
  24. package/src/Util.js +415 -415
  25. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  26. package/src/android-bootstrap/less/.csscomb.json +304 -304
  27. package/src/android-bootstrap/less/.csslintrc +19 -19
  28. package/src/android-bootstrap/less/alerts.less +73 -73
  29. package/src/android-bootstrap/less/badges.less +66 -66
  30. package/src/android-bootstrap/less/bootstrap.less +56 -56
  31. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  32. package/src/android-bootstrap/less/button-groups.less +247 -247
  33. package/src/android-bootstrap/less/buttons.less +173 -173
  34. package/src/android-bootstrap/less/carousel.less +269 -269
  35. package/src/android-bootstrap/less/close.less +34 -34
  36. package/src/android-bootstrap/less/code.less +69 -69
  37. package/src/android-bootstrap/less/component-animations.less +33 -33
  38. package/src/android-bootstrap/less/dropdowns.less +216 -216
  39. package/src/android-bootstrap/less/forms.less +626 -626
  40. package/src/android-bootstrap/less/glyphicons.less +305 -305
  41. package/src/android-bootstrap/less/grid.less +84 -84
  42. package/src/android-bootstrap/less/input-groups.less +167 -167
  43. package/src/android-bootstrap/less/jumbotron.less +52 -52
  44. package/src/android-bootstrap/less/labels.less +64 -64
  45. package/src/android-bootstrap/less/list-group.less +141 -141
  46. package/src/android-bootstrap/less/media.less +66 -66
  47. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  48. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  49. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  50. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  51. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  52. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  53. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  54. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  55. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  56. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  57. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  58. package/src/android-bootstrap/less/mixins/image.less +33 -33
  59. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  60. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  61. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  62. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  63. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  64. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  65. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  66. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  67. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  68. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  69. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  70. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  71. package/src/android-bootstrap/less/mixins/size.less +10 -10
  72. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  73. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  74. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  75. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  76. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  77. package/src/android-bootstrap/less/mixins.less +40 -40
  78. package/src/android-bootstrap/less/modals.less +151 -151
  79. package/src/android-bootstrap/less/navbar.less +660 -660
  80. package/src/android-bootstrap/less/navs.less +290 -290
  81. package/src/android-bootstrap/less/normalize.less +424 -424
  82. package/src/android-bootstrap/less/pager.less +76 -76
  83. package/src/android-bootstrap/less/pagination.less +89 -89
  84. package/src/android-bootstrap/less/panels.less +274 -274
  85. package/src/android-bootstrap/less/popovers.less +131 -131
  86. package/src/android-bootstrap/less/print.less +101 -101
  87. package/src/android-bootstrap/less/progress-bars.less +87 -87
  88. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  89. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  90. package/src/android-bootstrap/less/scaffolding.less +161 -161
  91. package/src/android-bootstrap/less/tables.less +262 -262
  92. package/src/android-bootstrap/less/theme.less +291 -291
  93. package/src/android-bootstrap/less/thumbnails.less +36 -36
  94. package/src/android-bootstrap/less/tooltip.less +102 -102
  95. package/src/android-bootstrap/less/type.less +303 -303
  96. package/src/android-bootstrap/less/utilities.less +55 -55
  97. package/src/android-bootstrap/less/variables.less +896 -896
  98. package/src/android-bootstrap/less/wells.less +29 -29
  99. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  100. package/src/bootstrap/less/.csscomb.json +304 -304
  101. package/src/bootstrap/less/.csslintrc +19 -19
  102. package/src/bootstrap/less/alerts.less +73 -73
  103. package/src/bootstrap/less/badges.less +66 -66
  104. package/src/bootstrap/less/bootstrap.less +56 -56
  105. package/src/bootstrap/less/breadcrumbs.less +26 -26
  106. package/src/bootstrap/less/button-groups.less +247 -247
  107. package/src/bootstrap/less/buttons.less +172 -172
  108. package/src/bootstrap/less/carousel.less +269 -269
  109. package/src/bootstrap/less/close.less +34 -34
  110. package/src/bootstrap/less/code.less +69 -69
  111. package/src/bootstrap/less/component-animations.less +33 -33
  112. package/src/bootstrap/less/dropdowns.less +216 -216
  113. package/src/bootstrap/less/forms.less +626 -626
  114. package/src/bootstrap/less/glyphicons.less +305 -305
  115. package/src/bootstrap/less/grid.less +84 -84
  116. package/src/bootstrap/less/input-groups.less +167 -167
  117. package/src/bootstrap/less/jumbotron.less +52 -52
  118. package/src/bootstrap/less/labels.less +64 -64
  119. package/src/bootstrap/less/list-group.less +141 -141
  120. package/src/bootstrap/less/media.less +66 -66
  121. package/src/bootstrap/less/mixins/alerts.less +14 -14
  122. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  123. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  124. package/src/bootstrap/less/mixins/buttons.less +69 -69
  125. package/src/bootstrap/less/mixins/center-block.less +7 -7
  126. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  127. package/src/bootstrap/less/mixins/forms.less +90 -90
  128. package/src/bootstrap/less/mixins/gradients.less +59 -59
  129. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  130. package/src/bootstrap/less/mixins/grid.less +122 -122
  131. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  132. package/src/bootstrap/less/mixins/image.less +33 -33
  133. package/src/bootstrap/less/mixins/labels.less +12 -12
  134. package/src/bootstrap/less/mixins/list-group.less +30 -30
  135. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  136. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  137. package/src/bootstrap/less/mixins/opacity.less +8 -8
  138. package/src/bootstrap/less/mixins/pagination.less +24 -24
  139. package/src/bootstrap/less/mixins/panels.less +24 -24
  140. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  141. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  142. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  143. package/src/bootstrap/less/mixins/resize.less +6 -6
  144. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  145. package/src/bootstrap/less/mixins/size.less +10 -10
  146. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  147. package/src/bootstrap/less/mixins/table-row.less +44 -44
  148. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  149. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  150. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  151. package/src/bootstrap/less/mixins.less +40 -40
  152. package/src/bootstrap/less/modals.less +151 -151
  153. package/src/bootstrap/less/navbar.less +660 -660
  154. package/src/bootstrap/less/navs.less +286 -286
  155. package/src/bootstrap/less/normalize.less +424 -424
  156. package/src/bootstrap/less/pager.less +76 -76
  157. package/src/bootstrap/less/pagination.less +89 -89
  158. package/src/bootstrap/less/panels.less +275 -275
  159. package/src/bootstrap/less/popovers.less +131 -131
  160. package/src/bootstrap/less/print.less +101 -101
  161. package/src/bootstrap/less/progress-bars.less +87 -87
  162. package/src/bootstrap/less/responsive-embed.less +35 -35
  163. package/src/bootstrap/less/responsive-utilities.less +194 -194
  164. package/src/bootstrap/less/scaffolding.less +161 -161
  165. package/src/bootstrap/less/tables.less +262 -262
  166. package/src/bootstrap/less/theme.less +291 -291
  167. package/src/bootstrap/less/thumbnails.less +36 -36
  168. package/src/bootstrap/less/tooltip.less +102 -102
  169. package/src/bootstrap/less/type.less +303 -303
  170. package/src/bootstrap/less/utilities.less +55 -55
  171. package/src/bootstrap/less/variables.less +895 -895
  172. package/src/bootstrap/less/wells.less +29 -29
  173. package/src/components/AloneLoadParams.vue +26 -26
  174. package/src/components/AlreadyService.vue +210 -210
  175. package/src/components/AttendManage.vue +591 -591
  176. package/src/components/LoadAppdata.vue +38 -38
  177. package/src/components/LoginAppV4.vue +790 -787
  178. package/src/components/ModifyPassWord.vue +219 -216
  179. package/src/components/OnlineManage.vue +278 -278
  180. package/src/components/PhoneSellInfo.vue +148 -148
  181. package/src/components/Test.vue +14 -14
  182. package/src/filiale/liaoyuan/LoginApp.vue +734 -734
  183. package/src/plugins/GetStringData.js +18 -18
  184. package/src/plugins/LoadParams.js +24 -24
  185. package/src/plugins/validateStrongPasswordPhone.js +176 -0
  186. package/src/services/ConfigService.js +24 -24
  187. package/static/app.json +4 -4
  188. package/static/globals.txt +74 -74
  189. package/test/unit/.eslintrc +5 -5
  190. package/test/unit/TestUtil.js +35 -35
  191. package/test/unit/context.html +20 -20
  192. package/test/unit/index.js +13 -13
  193. package/test/unit/init.js +13 -13
  194. package/test/unit/karma.conf.js +50 -50
  195. package/test/unit/specs/App.spec.js +17 -17
  196. package/test/unit/specs/Test.spec.js +28 -28
  197. package/test/unit/specs/components/LoginApp.spec.js +21 -21
  198. package/test/unit/specs/sevices/ConfigService.spec.js +23 -23
  199. package/test/unit/specs/sevices/GetDBTest.spec.js +28 -28
@@ -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>