system-phone 3.0.46 → 3.0.48

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 (271) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  5. package/CHANGELOG.md +1 -1
  6. package/Dockerfile +3 -3
  7. package/README.md +36 -36
  8. package/SystemPhone.iml +8 -8
  9. package/build/css-loaders.js +34 -34
  10. package/build/dev-client.js +8 -8
  11. package/build/dev-server.js +141 -141
  12. package/build/example-server.js +80 -80
  13. package/build/release.sh +28 -28
  14. package/build/utils.js +71 -71
  15. package/build/webpack.base.conf.js +82 -82
  16. package/build/webpack.dev.conf.js +31 -31
  17. package/build/webpack.example.conf.js +49 -49
  18. package/build/webpack.prod.conf.js +60 -60
  19. package/build/webpack.test.conf.js +31 -31
  20. package/build.gradle +27 -27
  21. package/config/dev.env.js +6 -6
  22. package/config/index.js +38 -38
  23. package/config/prod.env.js +3 -3
  24. package/config/test.env.js +6 -6
  25. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  26. package/gradlew +183 -183
  27. package/gradlew.bat +100 -100
  28. package/index.html +21 -21
  29. package/nginx.conf +304 -304
  30. package/package.json +100 -100
  31. package/release.bat +5 -5
  32. package/src/App.vue +25 -25
  33. package/src/Util.js +415 -415
  34. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  35. package/src/android-bootstrap/less/.csscomb.json +304 -304
  36. package/src/android-bootstrap/less/.csslintrc +19 -19
  37. package/src/android-bootstrap/less/alerts.less +73 -73
  38. package/src/android-bootstrap/less/badges.less +66 -66
  39. package/src/android-bootstrap/less/bootstrap.less +56 -56
  40. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  41. package/src/android-bootstrap/less/button-groups.less +247 -247
  42. package/src/android-bootstrap/less/buttons.less +173 -173
  43. package/src/android-bootstrap/less/carousel.less +269 -269
  44. package/src/android-bootstrap/less/close.less +34 -34
  45. package/src/android-bootstrap/less/code.less +69 -69
  46. package/src/android-bootstrap/less/component-animations.less +33 -33
  47. package/src/android-bootstrap/less/dropdowns.less +216 -216
  48. package/src/android-bootstrap/less/forms.less +626 -626
  49. package/src/android-bootstrap/less/glyphicons.less +305 -305
  50. package/src/android-bootstrap/less/grid.less +84 -84
  51. package/src/android-bootstrap/less/input-groups.less +167 -167
  52. package/src/android-bootstrap/less/jumbotron.less +52 -52
  53. package/src/android-bootstrap/less/labels.less +64 -64
  54. package/src/android-bootstrap/less/list-group.less +141 -141
  55. package/src/android-bootstrap/less/media.less +66 -66
  56. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  57. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  58. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  59. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  60. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  61. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  62. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  63. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  64. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  65. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  66. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  67. package/src/android-bootstrap/less/mixins/image.less +33 -33
  68. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  69. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  70. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  71. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  72. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  73. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  74. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  75. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  76. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  77. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  78. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  79. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  80. package/src/android-bootstrap/less/mixins/size.less +10 -10
  81. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  82. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  83. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  84. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  85. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  86. package/src/android-bootstrap/less/mixins.less +40 -40
  87. package/src/android-bootstrap/less/modals.less +151 -151
  88. package/src/android-bootstrap/less/navbar.less +660 -660
  89. package/src/android-bootstrap/less/navs.less +290 -290
  90. package/src/android-bootstrap/less/normalize.less +424 -424
  91. package/src/android-bootstrap/less/pager.less +76 -76
  92. package/src/android-bootstrap/less/pagination.less +89 -89
  93. package/src/android-bootstrap/less/panels.less +274 -274
  94. package/src/android-bootstrap/less/popovers.less +131 -131
  95. package/src/android-bootstrap/less/print.less +101 -101
  96. package/src/android-bootstrap/less/progress-bars.less +87 -87
  97. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  98. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  99. package/src/android-bootstrap/less/scaffolding.less +161 -161
  100. package/src/android-bootstrap/less/tables.less +262 -262
  101. package/src/android-bootstrap/less/theme.less +291 -291
  102. package/src/android-bootstrap/less/thumbnails.less +36 -36
  103. package/src/android-bootstrap/less/tooltip.less +102 -102
  104. package/src/android-bootstrap/less/type.less +303 -303
  105. package/src/android-bootstrap/less/utilities.less +55 -55
  106. package/src/android-bootstrap/less/variables.less +896 -896
  107. package/src/android-bootstrap/less/wells.less +29 -29
  108. package/src/assets//346/241/243/346/241/210/347/273/264/346/212/244.png +0 -0
  109. package/src/assets//351/231/220/350/264/255/347/256/241/347/220/206.png +0 -0
  110. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  111. package/src/bootstrap/less/.csscomb.json +304 -304
  112. package/src/bootstrap/less/.csslintrc +19 -19
  113. package/src/bootstrap/less/alerts.less +73 -73
  114. package/src/bootstrap/less/badges.less +66 -66
  115. package/src/bootstrap/less/bootstrap.less +56 -56
  116. package/src/bootstrap/less/breadcrumbs.less +26 -26
  117. package/src/bootstrap/less/button-groups.less +247 -247
  118. package/src/bootstrap/less/buttons.less +172 -172
  119. package/src/bootstrap/less/carousel.less +269 -269
  120. package/src/bootstrap/less/close.less +34 -34
  121. package/src/bootstrap/less/code.less +69 -69
  122. package/src/bootstrap/less/component-animations.less +33 -33
  123. package/src/bootstrap/less/dropdowns.less +216 -216
  124. package/src/bootstrap/less/forms.less +626 -626
  125. package/src/bootstrap/less/glyphicons.less +305 -305
  126. package/src/bootstrap/less/grid.less +84 -84
  127. package/src/bootstrap/less/input-groups.less +167 -167
  128. package/src/bootstrap/less/jumbotron.less +52 -52
  129. package/src/bootstrap/less/labels.less +64 -64
  130. package/src/bootstrap/less/list-group.less +141 -141
  131. package/src/bootstrap/less/media.less +66 -66
  132. package/src/bootstrap/less/mixins/alerts.less +14 -14
  133. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  134. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  135. package/src/bootstrap/less/mixins/buttons.less +69 -69
  136. package/src/bootstrap/less/mixins/center-block.less +7 -7
  137. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  138. package/src/bootstrap/less/mixins/forms.less +90 -90
  139. package/src/bootstrap/less/mixins/gradients.less +59 -59
  140. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  141. package/src/bootstrap/less/mixins/grid.less +122 -122
  142. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  143. package/src/bootstrap/less/mixins/image.less +33 -33
  144. package/src/bootstrap/less/mixins/labels.less +12 -12
  145. package/src/bootstrap/less/mixins/list-group.less +30 -30
  146. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  147. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  148. package/src/bootstrap/less/mixins/opacity.less +8 -8
  149. package/src/bootstrap/less/mixins/pagination.less +24 -24
  150. package/src/bootstrap/less/mixins/panels.less +24 -24
  151. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  152. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  153. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  154. package/src/bootstrap/less/mixins/resize.less +6 -6
  155. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  156. package/src/bootstrap/less/mixins/size.less +10 -10
  157. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  158. package/src/bootstrap/less/mixins/table-row.less +44 -44
  159. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  160. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  161. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  162. package/src/bootstrap/less/mixins.less +40 -40
  163. package/src/bootstrap/less/modals.less +151 -151
  164. package/src/bootstrap/less/navbar.less +660 -660
  165. package/src/bootstrap/less/navs.less +286 -286
  166. package/src/bootstrap/less/normalize.less +424 -424
  167. package/src/bootstrap/less/pager.less +76 -76
  168. package/src/bootstrap/less/pagination.less +89 -89
  169. package/src/bootstrap/less/panels.less +275 -275
  170. package/src/bootstrap/less/popovers.less +131 -131
  171. package/src/bootstrap/less/print.less +101 -101
  172. package/src/bootstrap/less/progress-bars.less +87 -87
  173. package/src/bootstrap/less/responsive-embed.less +35 -35
  174. package/src/bootstrap/less/responsive-utilities.less +194 -194
  175. package/src/bootstrap/less/scaffolding.less +161 -161
  176. package/src/bootstrap/less/tables.less +262 -262
  177. package/src/bootstrap/less/theme.less +291 -291
  178. package/src/bootstrap/less/thumbnails.less +36 -36
  179. package/src/bootstrap/less/tooltip.less +102 -102
  180. package/src/bootstrap/less/type.less +303 -303
  181. package/src/bootstrap/less/utilities.less +55 -55
  182. package/src/bootstrap/less/variables.less +895 -895
  183. package/src/bootstrap/less/wells.less +29 -29
  184. package/src/components/AloneLoadParams.vue +26 -26
  185. package/src/components/AlreadyService.vue +193 -193
  186. package/src/components/AttendManage.vue +415 -471
  187. package/src/components/LoadAppdata.vue +38 -38
  188. package/src/components/LoginApp.vue +724 -724
  189. package/src/components/LoginAppNew.vue +587 -587
  190. package/src/components/ModifyPassWord.vue +216 -216
  191. package/src/components/NavBottom.vue +117 -117
  192. package/src/components/NavBottomV.vue +141 -141
  193. package/src/components/NavBottomVVV.vue +185 -185
  194. package/src/components/OnlineManage.vue +256 -363
  195. package/src/components/PhoneAllInfo.vue +68 -68
  196. package/src/components/PhoneChangemeterInfo.vue +116 -116
  197. package/src/components/PhoneInfoTable.vue +39 -39
  198. package/src/components/PhoneMeterInfo.vue +132 -132
  199. package/src/components/PhoneRepairInfo.vue +146 -146
  200. package/src/components/PhoneSellInfo.vue +123 -123
  201. package/src/components/PhoneSellInfoLite.vue +112 -112
  202. package/src/components/PhoneUser.vue +202 -202
  203. package/src/components/PhoneUserDetil.vue +70 -70
  204. package/src/components/PhoneUserFind.vue +138 -138
  205. package/src/components/RightTree.vue +217 -217
  206. package/src/components/SystemSetUp.vue +308 -308
  207. package/src/components/TabBarPhone.vue +81 -81
  208. package/src/components/Test.vue +14 -14
  209. package/src/components/ToolsPage.vue +176 -176
  210. package/src/components/UploadManage.vue +194 -194
  211. package/src/components/gaomi/NavBottomV.vue +223 -223
  212. package/src/components/gaomi/NavBottomVVVV.vue +210 -210
  213. package/src/components/gaomi/Scroller.vue +63 -63
  214. package/src/components/gaomi/SystemSetUp.vue +186 -186
  215. package/src/components/gaomi/ToolsPage.vue +168 -168
  216. package/src/components/idea/feedBack.vue +150 -150
  217. package/src/components/idea/feedbackAdd.vue +366 -366
  218. package/src/components/info/ConfigInfo.vue +122 -122
  219. package/src/components/info/FindUserInfo.vue +157 -157
  220. package/src/components/info/InfoTable.vue +37 -37
  221. package/src/components/iot/InstructMessage.vue +313 -313
  222. package/src/components/iot/IotBaseInfo.vue +97 -97
  223. package/src/components/iot/IotMeterInfo.vue +77 -77
  224. package/src/components/iot/iotMonitoringMain.vue +501 -501
  225. package/src/components/online/ApplyOnline.vue +581 -581
  226. package/src/components/online/BJZhongRan/ApplyOnline.vue +600 -600
  227. package/src/components/screen/ChargeContentPage.vue +656 -656
  228. package/src/components/screen/ContentPage.vue +611 -611
  229. package/src/components/screen/GongdanContentPage.vue +149 -149
  230. package/src/components/screen/ListCountItem.vue +93 -93
  231. package/src/components/screen/ModuleTitle.vue +48 -48
  232. package/src/components/screen/SafeOrderContentPage.vue +440 -440
  233. package/src/components/screen/SecurityCheckItem.vue +50 -50
  234. package/src/components/screen/TotalItem.vue +76 -76
  235. package/src/components/screen/TotalUserNumber.vue +77 -77
  236. package/src/components/screen/WorkOrderItem.vue +51 -51
  237. package/src/components/screen/WorkOrderRightDownItem.vue +103 -103
  238. package/src/components/screen/WorkOrderRightItem.vue +115 -115
  239. package/src/components/userinfo/paymentQuery.vue +189 -189
  240. package/src/components/userinfo/queryFile.vue +190 -190
  241. package/src/components/wasm.vue +18 -18
  242. package/src/expandcssAndroid.less +521 -521
  243. package/src/index.js +9 -9
  244. package/src/main.js +38 -38
  245. package/src/plugins/GetStringData.js +18 -18
  246. package/src/plugins/LoadParams.js +24 -24
  247. package/src/plugins/const.js +404 -404
  248. package/src/plugins/vue-py.js +37 -37
  249. package/src/services/ConfigService.js +24 -24
  250. package/src/stores/AppData.js +63 -63
  251. package/src/systemphone-gaomi.js +105 -105
  252. package/src/systemphone.js +58 -58
  253. package/src/systemphonegrid.js +206 -206
  254. package/src/util/LdapHelper.js +75 -75
  255. package/static/app.json +4 -4
  256. package/static/const.js +404 -404
  257. package/static/globals.txt +74 -74
  258. package/static/layui/font/iconfont.svg +554 -554
  259. package/static/vue-py.js +37 -37
  260. package/static/wasm_exec.js +465 -465
  261. package/test/unit/.eslintrc +5 -5
  262. package/test/unit/TestUtil.js +35 -35
  263. package/test/unit/context.html +20 -20
  264. package/test/unit/index.js +13 -13
  265. package/test/unit/init.js +13 -13
  266. package/test/unit/karma.conf.js +50 -50
  267. package/test/unit/specs/App.spec.js +17 -17
  268. package/test/unit/specs/Test.spec.js +28 -28
  269. package/test/unit/specs/components/LoginApp.spec.js +21 -21
  270. package/test/unit/specs/sevices/ConfigService.spec.js +23 -23
  271. package/test/unit/specs/sevices/GetDBTest.spec.js +28 -28
@@ -1,471 +1,415 @@
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)">
6
- <img class="imgs" :src="imgback(tab.name)">
7
- <div class="badge"
8
- v-show="isshowTag&&tab.num&&tab.num>0"
9
- ><div class="badge-content">{{tab.num>99?'99+':tab.num}}</div></div>
10
- <div class="badge" v-show="tab.name == '抄表待办' && isShowRedNum && isShowRedNum == 'true'">
11
- <div class="badge-content">{{ meterNum?meterNum:0 }}</div>
12
- </div>
13
- <div class="badge" v-show="tab.name == '安检待办' && isShowRedNum && isShowRedNum == 'true'">
14
- <div class="badge-content">{{ safeckNum?safeckNum:0 }}</div>
15
- </div>
16
- <div class="badge" v-show="tab.name == '维修待办' && isShowRedNum && isShowRedNum == 'true'">
17
- <div class="badge-content">{{ repairNum?repairNum:0 }}</div>
18
- </div>
19
- <p></p>
20
- <p class="pagesfoot">{{tab.name}}</p>
21
-
22
- <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
23
- <p></p>
24
- </div>
25
- </div>
26
- <!--<div class="row" style="overflow:auto;">-->
27
- <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
28
- <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
29
- <!--</div>-->
30
- </div>
31
- <validator name="v">
32
- <modal
33
- v-if="showModal"
34
- :show.sync="showModal"
35
- backdrop="false"
36
- title="工程类型"
37
- cancel-text="取消"
38
- ok-text="确认"
39
- :callback="apply"
40
- >
41
- <div class="form-horizontal" slot="modal-body">
42
- <div class="row form-group app-input" style="margin: 10px auto">
43
- <label class="">报建类型:</label>
44
- <div class="col-sm-8">
45
- <v-select
46
- v-model="applyType"
47
- placeholder='请选择需要发起的工程类型'
48
- :value.sync="applyType"
49
- :options='applyTypes'
50
- :value-single="true"
51
- class="select select_list"
52
- :search="false"
53
- close-on-select ></v-select>
54
- </div>
55
- </div>
56
- </div>
57
- </modal>
58
- </validator>
59
- </div>
60
- </template>
61
-
62
- <script scoped>
63
- import Vue from 'vue'
64
- import * as Util from '../Util'
65
- import {HttpResetClass} from "vue-client";
66
- export default {
67
- title: '待办工作导航',
68
- data() {
69
- return {
70
- titleName: '待办工作',
71
- showModal: false,
72
- isMenu: true,
73
- isshowTag:false,
74
- tabs: [],
75
- safeckNum:0,
76
- repairNum:0,
77
- text: '导航组件this',
78
- beforeName: '待办工作',
79
- componentName: 'repair-first',
80
- sourcet: '竖屏',
81
- meterNum:null,
82
- isShowRedNum:this.$appdata.getSingleValue('红点'),
83
- applyType: '', // 报建类型
84
- // applyTypes:this.$appdata.getParam("手机报建类型"),
85
- applyTypes: [{label: '散户报建', value: '散户报建'}, {label: '工商户报建', value: '工商户报建'}, {
86
- label: '团购报建',
87
- value: '团购报建'
88
- }, {label: '改管报建', value: '改管报建'}, {label: '增容报建', value: '增容报建'}, {
89
- label: '退款报建',
90
- value: '退款报建'
91
- }, {label: '团购转散户', value: '团购转散户'}, {label: '报警器报建', value: '报警器报建'}, {label: '工商业报警器报建', value: '工商业报警器报建'}],
92
-
93
- }
94
- },
95
- ready () {
96
- this.getNoTagTabs()
97
- },
98
-
99
- methods: {
100
- click (row) {
101
- let _this = this
102
- this.$dispatch('gotoson', {
103
- _this: _this,
104
- title: row.defname,
105
- safe: true
106
- })
107
- this.$goto('app-service-control', {selectdata: row})
108
- },
109
- async getProcessId(processname) {
110
- let data = {
111
- workname: processname
112
- }
113
- let http = new HttpResetClass()
114
- let res = await http.load(
115
- 'POST',
116
- `${this.$androidUtil.getProxyUrl()}/rs/logic/getProcessId`,
117
- {data: data},
118
- {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
119
- )
120
-
121
- return res.data
122
- },
123
- async apply () {
124
- if (this.applyType === '' || this.applyType === null) {
125
- this.$showAlert('请选择需要发起的类型', 'warning', 3000)
126
- return
127
- }
128
- let data = {
129
- f_apply_type: this.applyType
130
- }
131
- if (this.applyType === '散户报建') {
132
- data.processname = '散户报建流程'
133
- data.defname = '报装申请'
134
- } else if (this.applyType === '工商户报建') {
135
- data.processname = '工商户报建流程'
136
- data.defname = '报装申请'
137
- } else if (this.applyType === '改管报建') {
138
- data.processname = '改管报建流程'
139
- data.defname = '报装申请'
140
- } else if (this.applyType === '增容报建') {
141
- data.processname = '增容报建流程'
142
- data.defname = '报装申请'
143
- } else if (this.applyType === '团购报建') {
144
- data.processname = '团购报建流程'
145
- data.defname = '报装申请'
146
- } else if (this.applyType === '退款报建') {
147
- data.processname = '退款报建流程'
148
- data.defname = '终止报建'
149
- } else if (this.applyType === '团购转散户') {
150
- data.processname = '团购转散户报建流程'
151
- data.defname = '信息确认'
152
- }else if (this.applyType === '报警器报建') {
153
- data.processname = '报警器报建流程'
154
- data.defname = '报装申请'
155
- }else if (this.applyType === '工商业报警器报建') {
156
- data.processname = '工商业报警器报建流程'
157
- data.defname = '报装申请'
158
- } else {
159
- this.$showMessage('暂无此类报装')
160
- return
161
- }
162
-
163
- data.f_sub_state = "新增"
164
- data.f_apply_source = "线下发起"
165
- data.f_process_id = await this.getProcessId(data.processname)
166
-
167
- // 调用ExplorationUser事件
168
-
169
- this.click(data)
170
- this.applyType = null
171
- this.showModal = false
172
- },
173
- // 查询本地所有待办
174
- getModelSum(){
175
- for(var i = 0;i<this.tabs.length;i++){
176
- if(this.tabs[i].link == 'zhihuan-first' ){
177
- this.getZhihuan()
178
- }
179
- if(this.tabs[i].link == 'repair-first' ){
180
- this.getRepair()
181
- }
182
- if(this.tabs[i].link == 'current-create' ){
183
- this.getSafeCheck()
184
- }
185
- }
186
-
187
- },
188
- getRepair(){
189
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
190
- return
191
- }
192
- var _this = this;
193
- let bbb = _this.$androidUtil.path({'alias':`getServiceMobile`,'data':{condition:'1 = 1'}})
194
- if (bbb.code === 200) {
195
- _this.repairNum = bbb.data.length
196
- }
197
- this.timeoutRepair = window.setInterval(function() {
198
- let result = _this.$androidUtil.path({'alias':`getServiceMobile`,'data':{condition:'1 = 1'}})
199
- if (result.code === 200) {
200
- console.log('查询得到的代办2' + JSON.stringify(result))
201
- var crv = {
202
- title: '维修待办',
203
- sum: result.data.length
204
- }
205
- _this.repairNum = result.data.length
206
- // _this.changesum(crv)
207
- }
208
- }, 100000)
209
- },
210
- getSafeCheck(){
211
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
212
- return
213
- }
214
- var _this = this;
215
- let aaa = _this.$androidUtil.path({'alias':`safecheckGetServiceMobile`,'data':{condition:'1 = 1'}})
216
- if (aaa.code === 200) {
217
- _this.safeckNum = aaa.data.length
218
- }
219
- this.timeoutRepair = window.setInterval(function() {
220
- let result = _this.$androidUtil.path({'alias':`safecheckGetServiceMobile`,'data':{condition:'1 = 1'}})
221
- if (result.code === 200) {
222
- console.log('查询得到的安检代办' + JSON.stringify(result))
223
- var crv = {
224
- title: '安检待办',
225
- sum: result.data.length
226
- }
227
- _this.safeckNum = result.data.length
228
- // _this.changesum(crv)
229
- }
230
- }, 100000)
231
- },
232
- getZhihuan(){
233
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
234
- return
235
- }
236
- var _this = this;
237
- this.timeoutZhihuan = window.setInterval(function() {
238
- let result = _this.$androidUtil.path({'alias':`getSubstitMobile`,'data':{condition:'1 = 1'}})
239
- if (result.code === 200) {
240
- console.log('查询得到的代办2' + JSON.stringify(result))
241
- var crv = {
242
- title: '置换待办',
243
- sum: result.data.length
244
- }
245
- _this.changesum(crv)
246
- }
247
- }, 100000)
248
- },
249
- changesum(titdata){
250
- for(var i = 0;i<this.tabs.length;i++){
251
- if(this.tabs[i].name == titdata.title){
252
- this.tabs[i].icon = titdata.sum + '单'
253
- console.log(JSON.stringify(this.tabs[i].icon))
254
- return
255
- }
256
- }
257
- },
258
- getNoTagTabs(){
259
- for(let funs in Vue.functions){
260
- if(Vue.functions[funs].link == 'attend-manage'){
261
- this.$set('tabs',Vue.functions[funs].children)
262
- }
263
- }
264
- this.getTabs()
265
- },
266
- getTabs(){
267
- if (Vue.android) {
268
- if(Vue.config.telephone&&Vue.config.telephone.TipConfig&&Vue.config.telephone.TipConfig.data) {
269
- this.isshowTag = true
270
- const config = Vue.config.telephone.TipConfig.data
271
- const user = Vue.user
272
- console.log("Vue.android" + Vue.android)
273
- const result = this.$androidUtil.syncBzLogic("TipConfig", {data: {config, user}})
274
- if (result.code === 200) {
275
- for (var i = 0; i < this.tabs.length; i++) {
276
- result.result.forEach(ress => {
277
- if (this.tabs[i].link === ress.link) {
278
- this.$set('tabs[' + i + '].num', ress.num)
279
- }
280
- })
281
- }
282
- }
283
- }
284
- } else {
285
- const result = {
286
- "code": 200,
287
- "result": [{"link": "repair-first", "num": 50}, {"link": "current-create", "num": 30}]
288
- }
289
- if (result.code === 200) {
290
- for (var i = 0; i < this.tabs.length; i++) {
291
- result.result.forEach(ress => {
292
- if (this.tabs[i].link === ress.link) {
293
- this.$set('tabs[' + i + '].num', ress.num)
294
- }
295
- })
296
- }
297
- }
298
- }
299
- // this.getmeterNum()
300
- // this.getModelSum()
301
- },
302
- getmeterNum() {
303
- if (!this.isShowRedNum || this.isShowRedNum != 'true') {
304
- return
305
- }
306
- window.setInterval( ()=> {
307
- let val = {
308
- items:"*",
309
- tablename:"t_handplan",
310
- orderitem:"id desc",
311
- condition:`1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
312
- f_orgid:`'${Vue.user.orgid}'`
313
- }
314
- let http = new HttpResetClass()
315
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
316
- resolveMsg: null,
317
- rejectMsg: null
318
- }).then((res) => {
319
- this.meterNum = res.data.length
320
-
321
- console.log("this.meterNum的值是:",this.meterNum)
322
- })
323
- },10000)
324
- this.timeOutGetmeterNum()
325
- },
326
- timeOutGetmeterNum(){
327
- let val = {
328
- items:"*",
329
- tablename:"t_handplan",
330
- orderitem:"id desc",
331
- condition:`1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
332
- f_orgid:`'${Vue.user.orgid}'`
333
- }
334
- let http = new HttpResetClass()
335
- http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
336
- resolveMsg: null,
337
- rejectMsg: null
338
- }).then((res) => {
339
- this.meterNum = res.data.length
340
- })
341
- },
342
- imgback(val){
343
- return require('../assets/'+val+'.png')
344
- },
345
- // 返回主界面
346
- back(){
347
- this.titleName = '主界面'
348
- this.isMenu = true
349
-
350
- },
351
- gotopage(param,title) {
352
- if(title === '工程发起'){
353
- this.showModal = !this.showModal
354
- }else{
355
- console.log('进入子组件')
356
- var prpdata = {
357
- _this:this,
358
- title:title,
359
- safe:false
360
- }
361
- this.$dispatch('gotoson',prpdata)
362
- this.$goto(param,{sourcet:'竖屏',tabname:title},'self',this.getTabs)
363
- }
364
- },
365
- mute () {
366
- HostApp.mute()
367
- }
368
- },
369
- }
370
- </script>
371
- <style lang="less">
372
- .badge-content{
373
- color: #fff;
374
- box-sizing: border-box;
375
- min-width: 8px;
376
- font-size: 9px;
377
- line-height: 12px;
378
- white-space: nowrap;
379
- font-weight: 400;
380
- text-align: center;
381
- }
382
- .badge{
383
- top: 6px;
384
- position: absolute;
385
- max-height: 13px;
386
- min-height: 8px;
387
- //transform: translate(50%,-50%);
388
- right:0;
389
- display: inline-flex;
390
- vertical-align: middle;
391
- box-sizing: content-box;
392
- border-radius: 100px;
393
- background-color: red;
394
- }
395
- .app-input {
396
- label {
397
- float: left;
398
- }
399
- .select {
400
- button {
401
- border: none;
402
- outline: none;
403
- text-align: left;
404
- .btn-placeholder {
405
- color: #ACA899
406
- }
407
- }
408
- }
409
- .datepicker {
410
- .form-control:focus {
411
- border: none!important;
412
- outline: none!important;
413
- -webkit-box-shadow: none;
414
- box-shadow: none;
415
- }
416
- }
417
- }
418
- .tab-befor-img {
419
- content: '';
420
- background-size: 30px;
421
- display: inline-block;
422
- margin-right: 8px;
423
- height: 30px;
424
- width: 30px;
425
- vertical-align: -35%;
426
- }
427
- .pageskuang{
428
- vertical-align:middle;
429
- display:table-cell;
430
- width: 32%;
431
- top:-50%;
432
- margin-top: 1%;
433
- margin-left: 1%;
434
- border:1px solid #e3e3e3;
435
- text-align: center;
436
- background-color: #ffffff;
437
- }
438
- .pgesfoot{
439
- font-size: 14px;
440
- color: #666666;
441
- /* font-family: "Pingfhs";*/
442
- }
443
- .imgs{
444
- width: 35px;
445
- margin-top: 15px;
446
- }
447
- .pages-bgcolor{
448
- text-align: center;
449
- background-color: #f0f0ef;
450
- }
451
- img[src=""],img:not([src]){
452
- opacity: 0;
453
- border:none;
454
- visibility: hidden;
455
- max-width: none;
456
- }
457
-
458
- .manbiankuang{
459
- width: 44%;
460
- margin-top: 15px;
461
- margin-left: 4%;
462
- border:1px solid #e3e3e3;
463
- border-radius:10px 10px 10px 10px;
464
- text-align: center;
465
- background-color: #ffffff;
466
- }
467
-
468
- .nav-bgcolor{
469
- background-color: #ffffff;
470
- }
471
- </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)">
6
+ <img class="imgs" :src="imgback(tab.name)">
7
+ <div class="badge"
8
+ v-show="isshowTag&&tab.num&&tab.num>0"
9
+ ><div class="badge-content">{{tab.num>99?'99+':tab.num}}</div></div>
10
+ <div class="badge" v-show="tab.name == '抄表待办' && isShowRedNum && isShowRedNum == 'true'">
11
+ <div class="badge-content">{{ meterNum?meterNum:0 }}</div>
12
+ </div>
13
+ <div class="badge" v-show="tab.name == '安检待办' && isShowRedNum && isShowRedNum == 'true'">
14
+ <div class="badge-content">{{ safeckNum?safeckNum:0 }}</div>
15
+ </div>
16
+ <div class="badge" v-show="tab.name == '维修待办' && isShowRedNum && isShowRedNum == 'true'">
17
+ <div class="badge-content">{{ repairNum?repairNum:0 }}</div>
18
+ </div>
19
+ <p></p>
20
+ <p class="pagesfoot">{{tab.name}}</p>
21
+
22
+ <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
23
+ <p></p>
24
+ </div>
25
+ </div>
26
+ <!--<div class="row" style="overflow:auto;">-->
27
+ <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
28
+ <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
29
+ <!--</div>-->
30
+ </div>
31
+ <validator name="v">
32
+ <modal
33
+ v-if="showModal"
34
+ :show.sync="showModal"
35
+ backdrop="false"
36
+ title="工程类型"
37
+ cancel-text="取消"
38
+ ok-text="确认"
39
+ :callback="apply"
40
+ >
41
+ <div class="form-horizontal" slot="modal-body">
42
+ <div class="row form-group app-input" style="margin: 10px auto">
43
+ <label class="">报建类型:</label>
44
+ <div class="col-sm-8">
45
+ <v-select
46
+ v-model="applyType"
47
+ placeholder='请选择需要发起的工程类型'
48
+ :value.sync="applyType"
49
+ :options='applyTypes'
50
+ :value-single="true"
51
+ class="select select_list"
52
+ :search="false"
53
+ close-on-select ></v-select>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ </modal>
58
+ </validator>
59
+ </div>
60
+ </template>
61
+
62
+ <script scoped>
63
+ import Vue from 'vue'
64
+ import * as Util from '../Util'
65
+ import {HttpResetClass} from "vue-client";
66
+ export default {
67
+ title: '待办工作导航',
68
+ data() {
69
+ return {
70
+ titleName: '待办工作',
71
+ showModal: false,
72
+ isMenu: true,
73
+ isshowTag:false,
74
+ tabs: [],
75
+ safeckNum:0,
76
+ repairNum:0,
77
+ text: '导航组件this',
78
+ beforeName: '待办工作',
79
+ componentName: 'repair-first',
80
+ sourcet: '竖屏',
81
+ meterNum:null,
82
+ isShowRedNum:this.$appdata.getSingleValue('手机端获取任务条数'),
83
+ applyType: '', // 报建类型
84
+ // applyTypes:this.$appdata.getParam("手机报建类型"),
85
+ applyTypes: [{label: '散户报建', value: '散户报建'}, {label: '工商户报建', value: '工商户报建'}, {
86
+ label: '团购报建',
87
+ value: '团购报建'
88
+ }, {label: '改管报建', value: '改管报建'}, {label: '增容报建', value: '增容报建'}, {
89
+ label: '退款报建',
90
+ value: '退款报建'
91
+ }, {label: '团购转散户', value: '团购转散户'}, {label: '报警器报建', value: '报警器报建'}, {label: '工商业报警器报建', value: '工商业报警器报建'}],
92
+
93
+ }
94
+ },
95
+ ready () {
96
+ this.getNoTagTabs()
97
+ this.getmeterNum()
98
+ this.getModelSum()
99
+ },
100
+ methods: {
101
+ click (row) {
102
+ let _this = this
103
+ this.$dispatch('gotoson', {
104
+ _this: _this,
105
+ title: row.defname,
106
+ safe: true
107
+ })
108
+ this.$goto('app-service-control', {selectdata: row})
109
+ },
110
+ async getProcessId(processname) {
111
+ let data = {
112
+ workname: processname
113
+ }
114
+ let http = new HttpResetClass()
115
+ let res = await http.load(
116
+ 'POST',
117
+ `${this.$androidUtil.getProxyUrl()}/rs/logic/getProcessId`,
118
+ {data: data},
119
+ {resolveMsg: null, rejectMsg: '流程标识获取失败!!!'}
120
+ )
121
+
122
+ return res.data
123
+ },
124
+ async apply () {
125
+ if (this.applyType === '' || this.applyType === null) {
126
+ this.$showAlert('请选择需要发起的类型', 'warning', 3000)
127
+ return
128
+ }
129
+ let data = {
130
+ f_apply_type: this.applyType
131
+ }
132
+ if (this.applyType === '散户报建') {
133
+ data.processname = '散户报建流程'
134
+ data.defname = '报装申请'
135
+ } else if (this.applyType === '工商户报建') {
136
+ data.processname = '工商户报建流程'
137
+ data.defname = '报装申请'
138
+ } else if (this.applyType === '改管报建') {
139
+ data.processname = '改管报建流程'
140
+ data.defname = '报装申请'
141
+ } else if (this.applyType === '增容报建') {
142
+ data.processname = '增容报建流程'
143
+ data.defname = '报装申请'
144
+ } else if (this.applyType === '团购报建') {
145
+ data.processname = '团购报建流程'
146
+ data.defname = '报装申请'
147
+ } else if (this.applyType === '退款报建') {
148
+ data.processname = '退款报建流程'
149
+ data.defname = '终止报建'
150
+ } else if (this.applyType === '团购转散户') {
151
+ data.processname = '团购转散户报建流程'
152
+ data.defname = '信息确认'
153
+ }else if (this.applyType === '报警器报建') {
154
+ data.processname = '报警器报建流程'
155
+ data.defname = '报装申请'
156
+ }else if (this.applyType === '工商业报警器报建') {
157
+ data.processname = '工商业报警器报建流程'
158
+ data.defname = '报装申请'
159
+ } else {
160
+ this.$showMessage('暂无此类报装')
161
+ return
162
+ }
163
+
164
+ data.f_sub_state = "新增"
165
+ data.f_apply_source = "线下发起"
166
+ data.f_process_id = await this.getProcessId(data.processname)
167
+
168
+ // 调用ExplorationUser事件
169
+
170
+ this.click(data)
171
+ this.applyType = null
172
+ this.showModal = false
173
+ },
174
+ // 查询本地所有待办
175
+ getModelSum(){
176
+ for(var i = 0;i<this.tabs.length;i++){
177
+ if(this.tabs[i].link == 'zhihuan-first' ){
178
+ this.getZhihuan()
179
+ }
180
+ if(this.tabs[i].link == 'repair-first' ){
181
+ this.getRepair()
182
+ }
183
+ if(this.tabs[i].link == 'current-create' ){
184
+ this.getSafeCheck()
185
+ }
186
+ }
187
+
188
+ },
189
+ getRepair(){
190
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
191
+ return
192
+ }
193
+ var _this = this;
194
+ let bbb = _this.$androidUtil.path({'alias':`getServiceMobile`,'data':{condition:'1 = 1'}})
195
+ if (bbb.code === 200) {
196
+ _this.repairNum = bbb.data.length
197
+ }
198
+ },
199
+ getSafeCheck(){
200
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
201
+ return
202
+ }
203
+ var _this = this;
204
+ let aaa = _this.$androidUtil.path({'alias':`safecheckGetServiceMobile`,'data':{condition:'1 = 1'}})
205
+ if (aaa.code === 200) {
206
+ _this.safeckNum = aaa.data.length
207
+ }
208
+ },
209
+ getZhihuan(){
210
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
211
+ return
212
+ }
213
+ },
214
+ changesum(titdata){
215
+ for(var i = 0;i<this.tabs.length;i++){
216
+ if(this.tabs[i].name == titdata.title){
217
+ this.tabs[i].icon = titdata.sum + '单'
218
+ return
219
+ }
220
+ }
221
+ },
222
+ getNoTagTabs(){
223
+ for(let funs in Vue.functions){
224
+ if(Vue.functions[funs].link == 'attend-manage'){
225
+ this.$set('tabs',Vue.functions[funs].children)
226
+ }
227
+ }
228
+ this.getTabs()
229
+ },
230
+ getTabs(){
231
+ if (Vue.android) {
232
+ if(Vue.config.telephone&&Vue.config.telephone.TipConfig&&Vue.config.telephone.TipConfig.data) {
233
+ this.isshowTag = true
234
+ const config = Vue.config.telephone.TipConfig.data
235
+ const user = Vue.user
236
+ console.log("Vue.android" + Vue.android)
237
+ const result = this.$androidUtil.syncBzLogic("TipConfig", {data: {config, user}})
238
+ if (result.code === 200) {
239
+ for (var i = 0; i < this.tabs.length; i++) {
240
+ result.result.forEach(ress => {
241
+ if (this.tabs[i].link === ress.link) {
242
+ this.$set('tabs[' + i + '].num', ress.num)
243
+ }
244
+ })
245
+ }
246
+ }
247
+ }
248
+ } else {
249
+ const result = {
250
+ "code": 200,
251
+ "result": [{"link": "repair-first", "num": 50}, {"link": "current-create", "num": 30}]
252
+ }
253
+ if (result.code === 200) {
254
+ for (var i = 0; i < this.tabs.length; i++) {
255
+ result.result.forEach(ress => {
256
+ if (this.tabs[i].link === ress.link) {
257
+ this.$set('tabs[' + i + '].num', ress.num)
258
+ }
259
+ })
260
+ }
261
+ }
262
+ }
263
+ this.getmeterNum()
264
+ this.getModelSum()
265
+ },
266
+ getmeterNum() {
267
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
268
+ return
269
+ }
270
+ this.timeOutGetmeterNum()
271
+ },
272
+ timeOutGetmeterNum(){
273
+ let val = {
274
+ items:"count(*) as count_num",
275
+ tablename:"t_handplan",
276
+ orderitem:"1",
277
+ condition:`1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
278
+ f_orgid:`'${Vue.user.orgid}'`
279
+ }
280
+ let http = new HttpResetClass()
281
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
282
+ resolveMsg: null,
283
+ rejectMsg: null
284
+ }).then((res) => {
285
+ this.meterNum = res.data[0].count_num
286
+ })
287
+ },
288
+ imgback(val){
289
+ return require('../assets/'+val+'.png')
290
+ },
291
+ // 返回主界面
292
+ back(){
293
+ this.titleName = '主界面'
294
+ this.isMenu = true
295
+ },
296
+ gotopage(param,title) {
297
+ if(title === '工程发起'){
298
+ this.showModal = !this.showModal
299
+ }else{
300
+ var prpdata = {
301
+ _this:this,
302
+ title:title,
303
+ safe:false
304
+ }
305
+ this.$dispatch('gotoson',prpdata)
306
+ this.$goto(param,{sourcet:'竖屏',tabname:title},'self',this.getTabs)
307
+ }
308
+ },
309
+ mute () {
310
+ HostApp.mute()
311
+ }
312
+ },
313
+ }
314
+ </script>
315
+ <style lang="less">
316
+ .badge-content{
317
+ color: #fff;
318
+ box-sizing: border-box;
319
+ min-width: 8px;
320
+ font-size: 9px;
321
+ line-height: 12px;
322
+ white-space: nowrap;
323
+ font-weight: 400;
324
+ text-align: center;
325
+ }
326
+ .badge{
327
+ top: 6px;
328
+ position: absolute;
329
+ max-height: 13px;
330
+ min-height: 8px;
331
+ //transform: translate(50%,-50%);
332
+ right:0;
333
+ display: inline-flex;
334
+ vertical-align: middle;
335
+ box-sizing: content-box;
336
+ border-radius: 100px;
337
+ background-color: red;
338
+ }
339
+ .app-input {
340
+ label {
341
+ float: left;
342
+ }
343
+ .select {
344
+ button {
345
+ border: none;
346
+ outline: none;
347
+ text-align: left;
348
+ .btn-placeholder {
349
+ color: #ACA899
350
+ }
351
+ }
352
+ }
353
+ .datepicker {
354
+ .form-control:focus {
355
+ border: none!important;
356
+ outline: none!important;
357
+ -webkit-box-shadow: none;
358
+ box-shadow: none;
359
+ }
360
+ }
361
+ }
362
+ .tab-befor-img {
363
+ content: '';
364
+ background-size: 30px;
365
+ display: inline-block;
366
+ margin-right: 8px;
367
+ height: 30px;
368
+ width: 30px;
369
+ vertical-align: -35%;
370
+ }
371
+ .pageskuang{
372
+ vertical-align:middle;
373
+ display:table-cell;
374
+ width: 32%;
375
+ top:-50%;
376
+ margin-top: 1%;
377
+ margin-left: 1%;
378
+ border:1px solid #e3e3e3;
379
+ text-align: center;
380
+ background-color: #ffffff;
381
+ }
382
+ .pgesfoot{
383
+ font-size: 14px;
384
+ color: #666666;
385
+ /* font-family: "Pingfhs";*/
386
+ }
387
+ .imgs{
388
+ width: 35px;
389
+ margin-top: 15px;
390
+ }
391
+ .pages-bgcolor{
392
+ text-align: center;
393
+ background-color: #f0f0ef;
394
+ }
395
+ img[src=""],img:not([src]){
396
+ opacity: 0;
397
+ border:none;
398
+ visibility: hidden;
399
+ max-width: none;
400
+ }
401
+
402
+ .manbiankuang{
403
+ width: 44%;
404
+ margin-top: 15px;
405
+ margin-left: 4%;
406
+ border:1px solid #e3e3e3;
407
+ border-radius:10px 10px 10px 10px;
408
+ text-align: center;
409
+ background-color: #ffffff;
410
+ }
411
+
412
+ .nav-bgcolor{
413
+ background-color: #ffffff;
414
+ }
415
+ </style>