system-phone 3.0.49-24 → 3.0.49-26

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 (276) 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//351/200/232/346/260/224/346/211/223/345/216/213/347/225/231/345/272/225.png +0 -0
  109. package/src/assets//351/246/226/351/241/265/345/244/247/345/233/276.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 +534 -534
  187. package/src/components/LoadAppdata.vue +38 -38
  188. package/src/components/LoginApp.vue +730 -730
  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 -256
  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/PhoneSafeInfo.vue +101 -101
  201. package/src/components/PhoneSellInfo.vue +123 -123
  202. package/src/components/PhoneSellInfoLite.vue +112 -112
  203. package/src/components/PhoneUser.vue +202 -202
  204. package/src/components/PhoneUserDetil.vue +70 -70
  205. package/src/components/PhoneUserFind.vue +138 -138
  206. package/src/components/RightTree.vue +217 -217
  207. package/src/components/SystemSetUp.vue +330 -330
  208. package/src/components/TabBarPhone.vue +81 -81
  209. package/src/components/Test.vue +14 -14
  210. package/src/components/ToolsPage.vue +182 -182
  211. package/src/components/UploadManage.vue +194 -194
  212. package/src/components/gaomi/NavBottomV.vue +223 -223
  213. package/src/components/gaomi/NavBottomVVVV.vue +210 -210
  214. package/src/components/gaomi/Scroller.vue +63 -63
  215. package/src/components/gaomi/SystemSetUp.vue +186 -186
  216. package/src/components/gaomi/ToolsPage.vue +168 -168
  217. package/src/components/idea/feedBack.vue +150 -150
  218. package/src/components/idea/feedbackAdd.vue +366 -366
  219. package/src/components/info/ConfigInfo.vue +122 -122
  220. package/src/components/info/FindUserInfo.vue +157 -157
  221. package/src/components/info/InfoTable.vue +37 -37
  222. package/src/components/iot/InstructMessage.vue +313 -313
  223. package/src/components/iot/IotBaseInfo.vue +97 -97
  224. package/src/components/iot/IotMeterInfo.vue +77 -77
  225. package/src/components/iot/iotMonitoringMain.vue +501 -501
  226. package/src/components/online/ApplyOnline.vue +581 -581
  227. package/src/components/online/BJZhongRan/ApplyOnline.vue +600 -600
  228. package/src/components/screen/ChargeContentPage.vue +656 -656
  229. package/src/components/screen/ContentPage.vue +611 -611
  230. package/src/components/screen/GongdanContentPage.vue +149 -149
  231. package/src/components/screen/ListCountItem.vue +93 -93
  232. package/src/components/screen/ModuleTitle.vue +48 -48
  233. package/src/components/screen/SafeOrderContentPage.vue +440 -440
  234. package/src/components/screen/SecurityCheckItem.vue +50 -50
  235. package/src/components/screen/TotalItem.vue +76 -76
  236. package/src/components/screen/TotalUserNumber.vue +77 -77
  237. package/src/components/screen/WorkOrderItem.vue +51 -51
  238. package/src/components/screen/WorkOrderRightDownItem.vue +103 -103
  239. package/src/components/screen/WorkOrderRightItem.vue +115 -115
  240. package/src/components/userinfo/paymentQuery.vue +189 -189
  241. package/src/components/userinfo/queryFile.vue +190 -190
  242. package/src/components/wasm.vue +18 -18
  243. package/src/expandcssAndroid.less +521 -521
  244. package/src/filiale/yulinyuchuan/AlreadyService.vue +193 -0
  245. package/src/filiale/yulinyuchuan/AttendManage.vue +534 -0
  246. package/src/filiale/yulinyuchuan/OnlineManage.vue +256 -0
  247. package/src/filiale/yulinyuchuan/SystemSetUp.vue +331 -0
  248. package/src/filiale/yulinyuchuan/UploadManage.vue +194 -0
  249. package/src/filiale/yulinyuchuan/systemphonegrid.js +5 -0
  250. package/src/index.js +9 -9
  251. package/src/main.js +38 -38
  252. package/src/plugins/GetStringData.js +18 -18
  253. package/src/plugins/LoadParams.js +24 -24
  254. package/src/plugins/const.js +404 -404
  255. package/src/plugins/vue-py.js +37 -37
  256. package/src/services/ConfigService.js +24 -24
  257. package/src/systemphone-gaomi.js +105 -105
  258. package/src/systemphone.js +58 -58
  259. package/src/util/LdapHelper.js +75 -75
  260. package/static/app.json +4 -4
  261. package/static/const.js +404 -404
  262. package/static/globals.txt +74 -74
  263. package/static/layui/font/iconfont.svg +554 -554
  264. package/static/vue-py.js +37 -37
  265. package/static/wasm_exec.js +465 -465
  266. package/test/unit/.eslintrc +5 -5
  267. package/test/unit/TestUtil.js +35 -35
  268. package/test/unit/context.html +20 -20
  269. package/test/unit/index.js +13 -13
  270. package/test/unit/init.js +13 -13
  271. package/test/unit/karma.conf.js +50 -50
  272. package/test/unit/specs/App.spec.js +17 -17
  273. package/test/unit/specs/Test.spec.js +28 -28
  274. package/test/unit/specs/components/LoginApp.spec.js +21 -21
  275. package/test/unit/specs/sevices/ConfigService.spec.js +23 -23
  276. package/test/unit/specs/sevices/GetDBTest.spec.js +28 -28
@@ -0,0 +1,256 @@
1
+ <template>
2
+ <div class="nav-bgcolor">
3
+ <img src="../../assets/首页大图.png" style="height: 20vh; width: 100%; padding: 0 5px; border-radius: 10px">
4
+ <div class="auto">
5
+ <div class="row nav-bgcolor">
6
+ <div class="col-xs-6 manbiankuang" v-for="tab in tabs" @click="gotopage(tab.link,tab.name,tab.navigate)">
7
+ <div class="badge" v-show="tab.name == '维修派发' && isShowRedNum && isShowRedNum == 'true'">
8
+ <div class="badge-content">{{ pointNum ? pointNum : 0 }}</div>
9
+ </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">{{ infoNum ? infoNum : 0 }}</div>
15
+ </div>
16
+ <img class="imgs" :src="imgback(tab.name)" alt="">
17
+ <p></p>
18
+ <p class="pagesfoot">{{ tab.name }}</p>
19
+ <!--<p class="pagesfoot">{{tab.name}}&nbsp;{{tab.icon}}</p>-->
20
+ <p></p>
21
+ </div>
22
+ </div>
23
+ <!--<div class="row" style="overflow:auto;">-->
24
+ <!--<repair-first v-show="componentName == 'repair-first'" worktype="报修单" :sourcet="sourcet" tabname="维修待办" v-on:changesum="changesum"></repair-first>-->
25
+ <!--<zhihuan-first v-show="componentName == 'zhihuan-first'" worktype="置换通气单" :sourcet="sourcet" tabname="置换待办" v-on:changesum="changesum"></zhihuan-first>-->
26
+ <!--</div>-->
27
+ </div>
28
+ </div>
29
+ </template>
30
+
31
+ <script scoped>
32
+ import Vue from 'vue'
33
+ import {HttpResetClass} from "vue-client";
34
+
35
+ export default {
36
+ title: '在线业务导航',
37
+ data() {
38
+ return {
39
+ titleName: '在线业务',
40
+ isMenu: true,
41
+ tabs: this.getTabs(),
42
+ text: '导航组件this',
43
+ isShowRedNum:this.$appdata.getSingleValue('手机端获取任务条数'),
44
+ beforeName: '在线业务',
45
+ sourcet: '竖屏',
46
+ pointNum: null,
47
+ infoNum: null,
48
+ meterNum: null
49
+ }
50
+ },
51
+ ready() {
52
+ this.getRepairNum()
53
+ this.getInfoNum()
54
+ this.getmeterNum()
55
+ },
56
+ methods: {
57
+ changesum(titdata) {
58
+ for (var i = 0; i < this.tabs.length; i++) {
59
+ if (this.tabs[i].name == titdata.title) {
60
+ this.tabs[i].icon = titdata.sum + '单'
61
+ console.log(JSON.stringify(this.tabs[i].icon))
62
+ return
63
+ }
64
+ }
65
+ },
66
+ getTabs() {
67
+ for (let funs in Vue.functions) {
68
+ if (Vue.functions[funs].link == 'online-manage') {
69
+ return Vue.functions[funs].children
70
+ }
71
+ }
72
+ this.getRepairNum()
73
+ this.getInfoNum()
74
+ this.getmeterNum()
75
+ },
76
+ getmeterNum() {
77
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
78
+ return
79
+ }
80
+ this.timeOutGetmeterNum()
81
+ },
82
+ getInfoNum() {
83
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
84
+ return
85
+ }
86
+ this.timeOutGetInfoNum()
87
+ },
88
+ getRepairNum() {
89
+ if (!this.isShowRedNum || this.isShowRedNum != 'true') {
90
+ return
91
+ }
92
+ this.timeOutGetRepairNum()
93
+ },
94
+ timeOutGetRepairNum() {
95
+ let condition = `1 = 1 and f_workorder_type = '报修单' and f_state = null `
96
+ let val = {
97
+ condition: {
98
+ condition: condition,
99
+ sign: '1 = 1'
100
+ },
101
+ userid: Vue.user.name
102
+ }
103
+ let http = new HttpResetClass()
104
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/path/operatorServiceAndroid`, {data: val}, {
105
+ resolveMsg: null,
106
+ rejectMsg: null
107
+ }).then((res) => {
108
+ this.pointNum = res.data.length
109
+ })
110
+ },
111
+ timeOutGetInfoNum() {
112
+ let condition = " 1 = 1 and (f_enddate >= '" + Util.toStandardTimeString() + "' or f_state = '公告中') "
113
+ let val = {
114
+ items: "count(*) as count_num",
115
+ tablename: "T_STOPGAS",
116
+ orderitem: "1",
117
+ condition: condition,
118
+ f_orgstr: `'${Vue.user.orgid}'`
119
+ }
120
+ let http = new HttpResetClass()
121
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
122
+ resolveMsg: null,
123
+ rejectMsg: null
124
+ }).then((res) => {
125
+ this.infoNum = res.data[0].count_num
126
+ })
127
+ },
128
+ timeOutGetmeterNum() {
129
+ let val = {
130
+ items: "count(*) as count_num",
131
+ tablename: "t_handplan",
132
+ orderitem: "1",
133
+ condition: `1=1 and f_inputtor = '${Vue.user.name}' and f_hand_state = '有效' and f_meter_state = '未抄表'`,
134
+ f_orgid: `'${Vue.user.orgid}'`
135
+ }
136
+ let http = new HttpResetClass()
137
+ http.load('POST', `${this.$androidUtil.getProxyUrl()}/rs/sql/tel_singleTable_OrderBy`, {data: val}, {
138
+ resolveMsg: null,
139
+ rejectMsg: null
140
+ }).then((res) => {
141
+ this.meterNum = res.data[0].count_num
142
+ })
143
+ },
144
+ imgback(val) {
145
+ return require('../../assets/' + val + '.png')
146
+ },
147
+ // 返回主界面
148
+ back() {
149
+ this.titleName = '主界面'
150
+ this.isMenu = true
151
+
152
+ },
153
+ gotopage(param, title, navigate) {
154
+ console.log('进入子组件')
155
+ var prpdata = {
156
+ _this: this,
157
+ title: title,
158
+ safe: false
159
+ }
160
+ this.$dispatch('gotoson', prpdata)
161
+ if (navigate) {
162
+ this.$goto('embbed-page', {domainName: navigate, title: title, compName: param, login: Vue.user})
163
+ } else {
164
+ this.$goto(param, {sourcet: '竖屏', tabname: title},'self',this.getTabs)
165
+ }
166
+ },
167
+ mute() {
168
+ HostApp.mute()
169
+ }
170
+ },
171
+ }
172
+ </script>
173
+ <style lang="less">
174
+ .badge-content {
175
+ color: #fff;
176
+ box-sizing: border-box;
177
+ min-width: 8px;
178
+ font-size: 9px;
179
+ line-height: 12px;
180
+ white-space: nowrap;
181
+ font-weight: 400;
182
+ text-align: center;
183
+ }
184
+
185
+ .badge {
186
+ top: 6px;
187
+ position: absolute;
188
+ max-height: 13px;
189
+ min-height: 8px;
190
+ right: 0;
191
+ display: inline-flex;
192
+ vertical-align: middle;
193
+ box-sizing: content-box;
194
+ border-radius: 100px;
195
+ background-color: red;
196
+ }
197
+
198
+ .tab-befor-img {
199
+ content: '';
200
+ background-size: 30px;
201
+ display: inline-block;
202
+ margin-right: 8px;
203
+ height: 30px;
204
+ width: 30px;
205
+ vertical-align: -35%;
206
+ }
207
+
208
+ .pageskuang {
209
+ vertical-align: middle;
210
+ display: table-cell;
211
+ width: 32%;
212
+ top: -50%;
213
+ margin-top: 1%;
214
+ margin-left: 1%;
215
+ border: 1px solid #e3e3e3;
216
+ text-align: center;
217
+ background-color: #ffffff;
218
+ }
219
+
220
+ .pgesfoot {
221
+ font-size: 14px;
222
+ color: #666666;
223
+ }
224
+
225
+ .imgs {
226
+ width: 35px;
227
+ height: 35px;
228
+ margin-top: 15px;
229
+ }
230
+
231
+ .pages-bgcolor {
232
+ text-align: center;
233
+ background-color: #f0f0ef;
234
+ }
235
+
236
+ img[src=""], img:not([src]) {
237
+ opacity: 0;
238
+ border: none;
239
+ visibility: hidden;
240
+ max-width: none;
241
+ }
242
+
243
+ .manbiankuang {
244
+ width: 44%;
245
+ margin-top: 15px;
246
+ margin-left: 4%;
247
+ border: 1px solid #e3e3e3;
248
+ border-radius: 10px 10px 10px 10px;
249
+ text-align: center;
250
+ background-color: #ffffff;
251
+ }
252
+
253
+ .nav-bgcolor {
254
+ background-color: #ffffff;
255
+ }
256
+ </style>
@@ -0,0 +1,331 @@
1
+ <template>
2
+ <div class="nav-bgcolor">
3
+ <img src="../../assets/首页大图.png" style="height: 20vh; width: 100%; padding: 0 5px; border-radius: 10px">
4
+ <div class="auto">
5
+ <div class="row nav-bgcolor">
6
+ <div class="col-xs-6 manbiankuang" v-for="tab in tabs" @click="gotopage(tab.link,tab.name)">
7
+ <img class="imgs" :src="imgback(tab.name)">
8
+ <p></p>
9
+ <p class="pagesfoot">{{ tab.name }}</p>
10
+ <p></p>
11
+ </div>
12
+ </div>
13
+ </div>
14
+ <modal :show.sync="show" v-ref:modal backdrop="false">
15
+ <header slot="modal-header" class="modal-header text-center">
16
+ <h4 class="modal-title">清除项选择</h4>
17
+ <input type="checkbox" class="" id="f_operator" v-model="all">
18
+ <label for="f_operator" class="font-size">全选</label>
19
+ </header>
20
+ <article slot="modal-body" v-if="show">
21
+ <div class="auto col-sm-11 col-xs-11 col-xs-offset-1 col-md-offset-1" style="margin-top: 10px;">
22
+ <div class="col-sm-4 col-xs-4" v-for="f in fields">
23
+ <input type="checkbox" class="" :id="'export-col-'+$index" v-model="modelval" :value="$key">
24
+ <label :for="'export-col-'+$index" class="font-size">{{ f }}</label>
25
+ </div>
26
+ </div>
27
+ </article>
28
+ <footer slot="modal-footer" class="modal-footer">
29
+ <center>
30
+ <button v-show="show" type="button" class="btn btn-default" @click='close()'>取消</button>
31
+ <button v-show="show" type="button" class="btn btn-success" @click='clear()'>确定</button>
32
+ </center>
33
+ </footer>
34
+ </modal>
35
+ </div>
36
+ </template>
37
+
38
+ <script>
39
+ import Vue from 'vue'
40
+
41
+ export default {
42
+ title: '系统设置',
43
+ data() {
44
+ return {
45
+ version: '1.0',
46
+ titleName: '系统设置',
47
+ all: false,
48
+ flag: true,
49
+ show: false,
50
+ fields: {},
51
+ dataclear: [],
52
+ tabs: this.getTabs(),
53
+ //tabs:[{name:"清空数据"}],
54
+ modelval: [],
55
+ text: '导航组件this',
56
+ beforeName: '系统设置',
57
+ }
58
+ },
59
+ ready() {
60
+ this.version = HostApp.getAppVersion().data
61
+ // if(Vue.config.safecheck.clearPhone){
62
+ // let cleartable=Vue.config.safecheck.clearPhone.cleardata
63
+ // for (let i = 0; i < cleartable.length; i++) {
64
+ // this.fields[cleartable[i].module]=cleartable[i].module
65
+ // }
66
+ // }
67
+ },
68
+ methods: {
69
+ versionShow() {
70
+ this.$showMessage('系统版本:' + this.version)
71
+ },
72
+ // clear(){
73
+ // let cleartable=Vue.config.safecheck.clearPhone.cleardata
74
+ // console.log(this.modelval)
75
+ // for (let i = 0; i < cleartable.length; i++) {
76
+ // for (let j = 0; j < this.modelval.length; j++) {
77
+ // if (cleartable[i].module==this.modelval[i]){
78
+ // this.dataclear=Object.assign([],this.dataclear,cleartable[i].tables)
79
+ // }
80
+ // }
81
+ // }
82
+ // console.log(this.dataclear)
83
+ // this.cleandata()
84
+ // },
85
+ close() {
86
+ this.show = false
87
+ this.all = false
88
+ this.flag = true
89
+ this.modelval = []
90
+ },
91
+ sortModelval() {
92
+ let sortModel = []
93
+ Object.keys(this.fields).forEach((key) => {
94
+ if (this.modelval.includes(key)) {
95
+ sortModel.push(key)
96
+ }
97
+ })
98
+ console.log('看看选择的顺序。。。', sortModel)
99
+ console.log('看看选择的顺序。。。', this.modelval)
100
+ if (sortModel.length == this.modelval.length - 1) {
101
+ this.flag = false
102
+ console.log("66666666666666")
103
+ this.all = false
104
+ }
105
+ console.log(Object.keys(this.fields).length)
106
+ if (sortModel.length == Object.keys(this.fields).length) {
107
+ this.all = true
108
+ }
109
+ this.modelval = sortModel
110
+ },
111
+ imgback(val) {
112
+ return require('../../assets/' + val + '.png')
113
+ },
114
+ getTabs() {
115
+ for (let funs in Vue.user.functions) {
116
+ if (Vue.user.functions[funs].link == 'system-setup') {
117
+ return Vue.user.functions[funs].children
118
+ }
119
+ }
120
+ },
121
+ gotopage(link, name) {
122
+ if (name == '清空数据') {
123
+ this.cleanalldata()
124
+ return
125
+ }
126
+ if (name == '系统版本') {
127
+ this.versionShow()
128
+ return
129
+ }
130
+ // else if (name == '清除数据'){
131
+ // this.openclear()
132
+ // }
133
+ else if (name == '声音开关') {
134
+ this.voiceSwitch()
135
+ } else if (name == '导出数据') {
136
+ this.outdata()
137
+ } else if (name == '退出系统') {
138
+ HostApp.back_home()
139
+ } else if (name == '删除照片') {
140
+ const result = HostApp.deletePic()
141
+ if (result){
142
+ this.$showMessage('删除成功!共删除照片'+result.delete_pic_ok+'张!')
143
+ }
144
+ } else if (name == '返回桌面') {
145
+ HostApp.back_home()
146
+ } else if (name == '退出登录') {
147
+ this.$showMessage('即将返回登陆界面!', ['confirm', 'cancel']).then((res) => {
148
+ if (res === 'confirm') {
149
+ this.$androidUtil.setPreference('f_repairman_id', 'x')
150
+ this.$androidUtil.setPreference('f_repairman_name', 'x')
151
+ this.$dispatch('gologin')
152
+ }
153
+ })
154
+ } else {
155
+ console.log('进入子组件')
156
+ let safe = true
157
+ if (name == '打卡'){
158
+ safe = false
159
+ }
160
+ var prpdata = {
161
+ _this:this,
162
+ title:name,
163
+ safe
164
+ }
165
+ this.$dispatch('gotoson',prpdata)
166
+ this.$goto(link)
167
+ }
168
+ },
169
+ cleanalldata() {
170
+ this.$showMessage('此操作为清理数据,无法恢复!', ['confirm', 'cancel']).then((res) => {
171
+ if (res === 'confirm') {
172
+ let result = this.$androidUtil.bzLogic('clearPhoneData', {flag: 0})
173
+ console.log((result.result))
174
+ if (result.result == '成功') {
175
+ this.$showMessage('清除数据完成!')
176
+ } else {
177
+ this.$showMessage('清除数据失败!')
178
+ }
179
+ }
180
+ })
181
+ },
182
+ // 清空数据
183
+ cleandata() {
184
+ console.log("88888888888")
185
+ this.$showMessage('此操作为清理数据,无法恢复!', ['confirm', 'cancel']).then((res) => {
186
+ if (res === 'confirm') {
187
+ let result = this.$androidUtil.bzLogic('clearPhoneDataNew', {tables: this.dataclear})
188
+ console.log((result.result))
189
+ if (result.result == '成功') {
190
+ this.$showMessage('清除数据完成!')
191
+ } else {
192
+ this.$showMessage('清除数据失败!')
193
+ }
194
+ this.close()
195
+ }
196
+ })
197
+ },
198
+ // 导出数据
199
+ openclear() {
200
+ this.show = true
201
+ },
202
+ voiceSwitch() {
203
+ console.log("进入声音开关")
204
+ let voicedata = this.$androidUtil.getPreference('f_voiceSwitch')
205
+ console.log(voicedata)
206
+ let voicechange = '开启'
207
+ if (voicedata == "true") {
208
+ console.log("进入判断")
209
+ voicechange = '关闭'
210
+ }
211
+ this.$showMessage('此操作为' + voicechange + '提示音,请再次确认!', ['confirm', 'cancel']).then((res) => {
212
+ if (res == 'confirm') {
213
+ if (voicechange == '关闭') {
214
+ this.$androidUtil.setPreference('f_voiceSwitch', "false")
215
+ this.$showMessage('提示音关闭成功!')
216
+ } else {
217
+ this.$androidUtil.setPreference('f_voiceSwitch', "true")
218
+ this.$showMessage('提示音开启成功!')
219
+ }
220
+ }
221
+ })
222
+ },
223
+ outdata() {
224
+ HostApp.backupDatabase()
225
+ this.$showMessage('数据导出成功!')
226
+ },
227
+ //取消自动登录
228
+ cancelAutoLogin() {
229
+ let auto = this.$androidUtil.getPreference('autoLogin')
230
+ if (auto) {
231
+ this.$androidUtil.setPreference('autoLogin', false)
232
+ this.$showMessage('已取消自动登录!')
233
+ } else {
234
+ this.$showMessage('当前已处于非自动登录!')
235
+ }
236
+ }
237
+ },
238
+ watch: {
239
+ 'all'(val) {
240
+ if (val) {
241
+ this.modelval = Object.keys(this.fields)
242
+ } else {
243
+ console.log(this.flag)
244
+ if (this.flag) {
245
+ this.modelval = []
246
+ }
247
+ }
248
+ this.flag = true
249
+ },
250
+ 'modelval.length'() {
251
+ this.sortModelval()
252
+ }
253
+ }
254
+ }
255
+
256
+ </script>
257
+ <style scoped>
258
+ .flex-between {
259
+ display: flex;
260
+ justify-content: space-between;
261
+ align-items: center;
262
+ }
263
+
264
+ .flex-between span {
265
+ padding-right: 10px;
266
+ }
267
+
268
+ .flex-full {
269
+ flex: 1;
270
+ }
271
+
272
+ .name {
273
+ font: 15px PingFang-SC-Medium;
274
+ color: #666666;
275
+ }
276
+
277
+ .imgs {
278
+ width: 35px;
279
+ margin-top: 15px;
280
+ }
281
+
282
+ .plan {
283
+ border-bottom: 0.5px solid #EAEAEA;
284
+ border-right: 0.5px solid #EAEAEA;
285
+ height: 120px;
286
+ }
287
+
288
+ .manbiankuang {
289
+ width: 44%;
290
+ margin-top: 15px;
291
+ margin-left: 4%;
292
+ border: 1px solid #e3e3e3;
293
+ border-radius: 10px 10px 10px 10px;
294
+ text-align: center;
295
+ background-color: #ffffff;
296
+ }
297
+
298
+ .user {
299
+ border-bottom: 0.5px solid #EAEAEA;
300
+ border-right: 0.5px solid #EAEAEA;
301
+ border-left: 0.5px solid #EAEAEA;
302
+ height: 120px;
303
+ }
304
+
305
+ .safecheck {
306
+ border-bottom: 0.5px solid #EAEAEA;
307
+ border-left: 0.5px solid #EAEAEA;
308
+ height: 120px;
309
+ }
310
+
311
+ .appointment {
312
+ border-top: 0.5px solid #EAEAEA;
313
+ border-right: 0.5px solid #EAEAEA;
314
+ height: 120px;
315
+ }
316
+
317
+ .search {
318
+ border-top: 0.5px solid #EAEAEA;
319
+ border-right: 0.5px solid #EAEAEA;
320
+ border-left: 0.5px solid #EAEAEA;
321
+ height: 120px;
322
+ }
323
+
324
+ .upload {
325
+ border-top: 0.5px solid #EAEAEA;
326
+ border-left: 0.5px solid #EAEAEA;
327
+ height: 120px;
328
+ }
329
+
330
+
331
+ </style>