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