system-phone 3.0.2 → 3.0.3

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 (267) 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/.gradle/checksums/checksums.lock +0 -0
  6. package/.gradle/checksums/md5-checksums.bin +0 -0
  7. package/.gradle/checksums/sha1-checksums.bin +0 -0
  8. package/CHANGELOG.md +1 -1
  9. package/Dockerfile +3 -3
  10. package/README.md +36 -36
  11. package/SystemPhone.iml +8 -8
  12. package/build/css-loaders.js +34 -34
  13. package/build/dev-client.js +8 -8
  14. package/build/dev-server.js +141 -141
  15. package/build/example-server.js +80 -80
  16. package/build/release.sh +28 -28
  17. package/build/utils.js +71 -71
  18. package/build/webpack.base.conf.js +82 -82
  19. package/build/webpack.dev.conf.js +31 -31
  20. package/build/webpack.example.conf.js +49 -49
  21. package/build/webpack.prod.conf.js +60 -60
  22. package/build/webpack.test.conf.js +31 -31
  23. package/build.gradle +27 -27
  24. package/config/dev.env.js +6 -6
  25. package/config/index.js +38 -38
  26. package/config/prod.env.js +3 -3
  27. package/config/test.env.js +6 -6
  28. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  29. package/gradlew +183 -183
  30. package/gradlew.bat +100 -100
  31. package/index.html +21 -21
  32. package/nginx.conf +304 -304
  33. package/package.json +1 -1
  34. package/release.bat +5 -5
  35. package/src/App.vue +25 -25
  36. package/src/Util.js +415 -415
  37. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  38. package/src/android-bootstrap/less/.csscomb.json +304 -304
  39. package/src/android-bootstrap/less/.csslintrc +19 -19
  40. package/src/android-bootstrap/less/alerts.less +73 -73
  41. package/src/android-bootstrap/less/badges.less +66 -66
  42. package/src/android-bootstrap/less/bootstrap.less +56 -56
  43. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  44. package/src/android-bootstrap/less/button-groups.less +247 -247
  45. package/src/android-bootstrap/less/buttons.less +173 -173
  46. package/src/android-bootstrap/less/carousel.less +269 -269
  47. package/src/android-bootstrap/less/close.less +34 -34
  48. package/src/android-bootstrap/less/code.less +69 -69
  49. package/src/android-bootstrap/less/component-animations.less +33 -33
  50. package/src/android-bootstrap/less/dropdowns.less +216 -216
  51. package/src/android-bootstrap/less/forms.less +626 -626
  52. package/src/android-bootstrap/less/glyphicons.less +305 -305
  53. package/src/android-bootstrap/less/grid.less +84 -84
  54. package/src/android-bootstrap/less/input-groups.less +167 -167
  55. package/src/android-bootstrap/less/jumbotron.less +52 -52
  56. package/src/android-bootstrap/less/labels.less +64 -64
  57. package/src/android-bootstrap/less/list-group.less +141 -141
  58. package/src/android-bootstrap/less/media.less +66 -66
  59. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  60. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  61. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  62. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  63. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  64. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  65. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  66. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  67. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  68. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  69. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  70. package/src/android-bootstrap/less/mixins/image.less +33 -33
  71. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  72. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  73. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  74. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  75. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  76. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  77. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  78. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  79. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  80. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  81. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  82. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  83. package/src/android-bootstrap/less/mixins/size.less +10 -10
  84. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  85. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  86. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  87. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  88. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  89. package/src/android-bootstrap/less/mixins.less +40 -40
  90. package/src/android-bootstrap/less/modals.less +151 -151
  91. package/src/android-bootstrap/less/navbar.less +660 -660
  92. package/src/android-bootstrap/less/navs.less +290 -290
  93. package/src/android-bootstrap/less/normalize.less +424 -424
  94. package/src/android-bootstrap/less/pager.less +76 -76
  95. package/src/android-bootstrap/less/pagination.less +89 -89
  96. package/src/android-bootstrap/less/panels.less +274 -274
  97. package/src/android-bootstrap/less/popovers.less +131 -131
  98. package/src/android-bootstrap/less/print.less +101 -101
  99. package/src/android-bootstrap/less/progress-bars.less +87 -87
  100. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  101. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  102. package/src/android-bootstrap/less/scaffolding.less +161 -161
  103. package/src/android-bootstrap/less/tables.less +262 -262
  104. package/src/android-bootstrap/less/theme.less +291 -291
  105. package/src/android-bootstrap/less/thumbnails.less +36 -36
  106. package/src/android-bootstrap/less/tooltip.less +102 -102
  107. package/src/android-bootstrap/less/type.less +303 -303
  108. package/src/android-bootstrap/less/utilities.less +55 -55
  109. package/src/android-bootstrap/less/variables.less +896 -896
  110. package/src/android-bootstrap/less/wells.less +29 -29
  111. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  112. package/src/bootstrap/less/.csscomb.json +304 -304
  113. package/src/bootstrap/less/.csslintrc +19 -19
  114. package/src/bootstrap/less/alerts.less +73 -73
  115. package/src/bootstrap/less/badges.less +66 -66
  116. package/src/bootstrap/less/bootstrap.less +56 -56
  117. package/src/bootstrap/less/breadcrumbs.less +26 -26
  118. package/src/bootstrap/less/button-groups.less +247 -247
  119. package/src/bootstrap/less/buttons.less +172 -172
  120. package/src/bootstrap/less/carousel.less +269 -269
  121. package/src/bootstrap/less/close.less +34 -34
  122. package/src/bootstrap/less/code.less +69 -69
  123. package/src/bootstrap/less/component-animations.less +33 -33
  124. package/src/bootstrap/less/dropdowns.less +216 -216
  125. package/src/bootstrap/less/forms.less +626 -626
  126. package/src/bootstrap/less/glyphicons.less +305 -305
  127. package/src/bootstrap/less/grid.less +84 -84
  128. package/src/bootstrap/less/input-groups.less +167 -167
  129. package/src/bootstrap/less/jumbotron.less +52 -52
  130. package/src/bootstrap/less/labels.less +64 -64
  131. package/src/bootstrap/less/list-group.less +141 -141
  132. package/src/bootstrap/less/media.less +66 -66
  133. package/src/bootstrap/less/mixins/alerts.less +14 -14
  134. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  135. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  136. package/src/bootstrap/less/mixins/buttons.less +69 -69
  137. package/src/bootstrap/less/mixins/center-block.less +7 -7
  138. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  139. package/src/bootstrap/less/mixins/forms.less +90 -90
  140. package/src/bootstrap/less/mixins/gradients.less +59 -59
  141. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  142. package/src/bootstrap/less/mixins/grid.less +122 -122
  143. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  144. package/src/bootstrap/less/mixins/image.less +33 -33
  145. package/src/bootstrap/less/mixins/labels.less +12 -12
  146. package/src/bootstrap/less/mixins/list-group.less +30 -30
  147. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  148. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  149. package/src/bootstrap/less/mixins/opacity.less +8 -8
  150. package/src/bootstrap/less/mixins/pagination.less +24 -24
  151. package/src/bootstrap/less/mixins/panels.less +24 -24
  152. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  153. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  154. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  155. package/src/bootstrap/less/mixins/resize.less +6 -6
  156. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  157. package/src/bootstrap/less/mixins/size.less +10 -10
  158. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  159. package/src/bootstrap/less/mixins/table-row.less +44 -44
  160. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  161. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  162. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  163. package/src/bootstrap/less/mixins.less +40 -40
  164. package/src/bootstrap/less/modals.less +151 -151
  165. package/src/bootstrap/less/navbar.less +660 -660
  166. package/src/bootstrap/less/navs.less +286 -286
  167. package/src/bootstrap/less/normalize.less +424 -424
  168. package/src/bootstrap/less/pager.less +76 -76
  169. package/src/bootstrap/less/pagination.less +89 -89
  170. package/src/bootstrap/less/panels.less +275 -275
  171. package/src/bootstrap/less/popovers.less +131 -131
  172. package/src/bootstrap/less/print.less +101 -101
  173. package/src/bootstrap/less/progress-bars.less +87 -87
  174. package/src/bootstrap/less/responsive-embed.less +35 -35
  175. package/src/bootstrap/less/responsive-utilities.less +194 -194
  176. package/src/bootstrap/less/scaffolding.less +161 -161
  177. package/src/bootstrap/less/tables.less +262 -262
  178. package/src/bootstrap/less/theme.less +291 -291
  179. package/src/bootstrap/less/thumbnails.less +36 -36
  180. package/src/bootstrap/less/tooltip.less +102 -102
  181. package/src/bootstrap/less/type.less +303 -303
  182. package/src/bootstrap/less/utilities.less +55 -55
  183. package/src/bootstrap/less/variables.less +895 -895
  184. package/src/bootstrap/less/wells.less +29 -29
  185. package/src/components/AloneLoadParams.vue +26 -26
  186. package/src/components/AlreadyService.vue +193 -193
  187. package/src/components/AttendManage.vue +397 -397
  188. package/src/components/LoadAppdata.vue +38 -38
  189. package/src/components/LoginApp.vue +625 -625
  190. package/src/components/LoginAppNew.vue +587 -587
  191. package/src/components/ModifyPassWord.vue +192 -192
  192. package/src/components/NavBottom.vue +117 -117
  193. package/src/components/NavBottomV.vue +141 -141
  194. package/src/components/NavBottomVVV.vue +185 -185
  195. package/src/components/OnlineManage.vue +79 -9
  196. package/src/components/PhoneChangemeterInfo.vue +116 -116
  197. package/src/components/PhoneInfoTable.vue +39 -39
  198. package/src/components/PhoneRepairInfo.vue +146 -146
  199. package/src/components/PhoneSellInfo.vue +123 -123
  200. package/src/components/PhoneSellInfoLite.vue +112 -112
  201. package/src/components/PhoneUser.vue +202 -202
  202. package/src/components/PhoneUserDetil.vue +70 -70
  203. package/src/components/PhoneUserFind.vue +138 -138
  204. package/src/components/RightTree.vue +214 -214
  205. package/src/components/SystemSetUp.vue +298 -298
  206. package/src/components/TabBarPhone.vue +81 -81
  207. package/src/components/Test.vue +14 -14
  208. package/src/components/ToolsPage.vue +165 -165
  209. package/src/components/UploadManage.vue +194 -194
  210. package/src/components/gaomi/NavBottomV.vue +223 -223
  211. package/src/components/gaomi/NavBottomVVVV.vue +210 -210
  212. package/src/components/gaomi/Scroller.vue +63 -63
  213. package/src/components/gaomi/SystemSetUp.vue +186 -186
  214. package/src/components/gaomi/ToolsPage.vue +168 -168
  215. package/src/components/idea/feedBack.vue +150 -150
  216. package/src/components/idea/feedbackAdd.vue +366 -366
  217. package/src/components/iot/InstructMessage.vue +313 -313
  218. package/src/components/iot/IotBaseInfo.vue +97 -97
  219. package/src/components/iot/IotMeterInfo.vue +77 -77
  220. package/src/components/iot/iotMonitoringMain.vue +501 -501
  221. package/src/components/online/ApplyOnline.vue +581 -581
  222. package/src/components/online/BJZhongRan/ApplyOnline.vue +600 -600
  223. package/src/components/screen/ChargeContentPage.vue +656 -656
  224. package/src/components/screen/ContentPage.vue +611 -611
  225. package/src/components/screen/GongdanContentPage.vue +149 -149
  226. package/src/components/screen/ListCountItem.vue +93 -93
  227. package/src/components/screen/ModuleTitle.vue +48 -48
  228. package/src/components/screen/SafeOrderContentPage.vue +440 -440
  229. package/src/components/screen/SecurityCheckItem.vue +50 -50
  230. package/src/components/screen/TotalItem.vue +76 -76
  231. package/src/components/screen/TotalUserNumber.vue +77 -77
  232. package/src/components/screen/WorkOrderItem.vue +51 -51
  233. package/src/components/screen/WorkOrderRightDownItem.vue +103 -103
  234. package/src/components/screen/WorkOrderRightItem.vue +115 -115
  235. package/src/components/userinfo/paymentQuery.vue +189 -189
  236. package/src/components/userinfo/queryFile.vue +190 -190
  237. package/src/components/wasm.vue +18 -18
  238. package/src/expandcssAndroid.less +521 -521
  239. package/src/index.js +9 -9
  240. package/src/main.js +38 -38
  241. package/src/plugins/GetStringData.js +18 -18
  242. package/src/plugins/LoadParams.js +24 -24
  243. package/src/plugins/const.js +404 -404
  244. package/src/plugins/vue-py.js +37 -37
  245. package/src/services/ConfigService.js +24 -24
  246. package/src/stores/AppData.js +63 -63
  247. package/src/systemphone-gaomi.js +105 -105
  248. package/src/systemphone.js +58 -58
  249. package/src/systemphonegrid.js +186 -186
  250. package/src/util/LdapHelper.js +75 -75
  251. package/static/app.json +4 -4
  252. package/static/const.js +404 -404
  253. package/static/globals.txt +74 -74
  254. package/static/layui/font/iconfont.svg +554 -554
  255. package/static/vue-py.js +37 -37
  256. package/static/wasm_exec.js +465 -465
  257. package/test/unit/.eslintrc +5 -5
  258. package/test/unit/TestUtil.js +35 -35
  259. package/test/unit/context.html +20 -20
  260. package/test/unit/index.js +13 -13
  261. package/test/unit/init.js +13 -13
  262. package/test/unit/karma.conf.js +50 -50
  263. package/test/unit/specs/App.spec.js +17 -17
  264. package/test/unit/specs/Test.spec.js +28 -28
  265. package/test/unit/specs/components/LoginApp.spec.js +21 -21
  266. package/test/unit/specs/sevices/ConfigService.spec.js +23 -23
  267. package/test/unit/specs/sevices/GetDBTest.spec.js +28 -28
@@ -1,192 +1,192 @@
1
- <template>
2
- <!--<div class="app-botton" @click="back()">-->
3
- <!--<span class="glyphicon glyphicon-menu-left">返回</span>-->
4
- <!--</div>-->
5
- <div class="auto">
6
- <div class="row app-row">
7
- <div class="col-xs-4">
8
- <img src="../assets/姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
9
- <span class="text-left font">账号</span>
10
- </div>
11
- <div class="col-xs-8 input-font">
12
- <input type="text" class="search_input input-font" v-model="model.ename" readonly/>
13
- </div>
14
- </div>
15
- <div class="row app-row">
16
- <div class="col-xs-4" style="margin-top: 8px">
17
- <img src="../assets/原始密码.png" style="width: 20px;margin-bottom: 5px" alt="">
18
- <span class="text-left font">原始密码</span>
19
- </div>
20
- <div class="col-xs-8">
21
- <input type="password" id="oldpassword" class="search_input input-font" v-model="model.oldpassword" placeholder="请输入原始密码"/>
22
- </div>
23
- </div>
24
- <div class="row app-row">
25
- <div class="col-xs-4" style="margin-top: 8px">
26
- <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px" >
27
- <span class="text-left font">新密码</span>
28
- </div>
29
- <div class="col-xs-8">
30
- <input type="password" id="newpassword1" class="search_input input-font" v-model="model.password" :placeholder="weakPassword?'需要包含大小写字母符号数字':'请输入新密码'"/>
31
- </div>
32
- </div>
33
- <div class="row app-row">
34
- <div class="col-xs-4" style="margin-top: 8px">
35
- <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px" alt="">
36
- <span class="text-left font">确认密码</span>
37
- </div>
38
- <div class="col-xs-8">
39
- <input type="password" id="newpassword2" class="search_input input-font" v-model="model.newpassword" placeholder="请重新输入新密码"/>
40
- </div>
41
- </div>
42
- <div class="row app-row">
43
- <div class="col-xs-4" style="margin-top: 8px">
44
- <img src="../assets/选中.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="showpass"@click="showoff()">
45
- <img src="../assets/未选.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="!showpass" @click="showon()">
46
- <span class="text-left font">显示密码</span>
47
- </div>
48
- </div>
49
- <div class="row app-row text-center">
50
- <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="save()">提交</button>
51
- </div>
52
- </div>
53
- </template>
54
- <script>
55
- import Vue from 'vue'
56
-
57
- let asyncCheck = async function(self,url) {
58
- try {
59
- let that = self
60
- let user = {
61
- ename: that.model.ename,
62
- newpassword:that.model.password,
63
- affirmpassword:that.model.newpassword,
64
- password : that.model.oldpassword
65
- }
66
- let res = await Vue.resetpost(`${url}/rs/user/modifypwd`,{data: user },{resolveMsg: null, rejectMsg: null})
67
- console.log("手机端验证登陆原始密码")
68
- console.log(res.data)
69
- if(res.data){
70
- that.$showMessage('修改密码成功!')
71
- if(that.sourse == 'login'){
72
- that.$emit('success',that.model.password)
73
- return
74
- }
75
- that.$back()
76
- }else {
77
- that.$showMessage('修改密码失败,请重新输入!')
78
- console.log(res.data)
79
- return
80
- }
81
- } catch (error) {
82
- if (error.status == 500) {
83
- that.$showMessage('网络异常,请检查手机网络!')
84
- }else{
85
- throw error
86
- }
87
- }
88
- }
89
-
90
- export default {
91
- title: '修改密码',
92
- data () {
93
- return {
94
- model: {
95
- user: Vue.user.name,
96
- userid: Vue.user.id,
97
- ename: Vue.user.ename,
98
- oldpassword: '',
99
- password: '',
100
- newpassword:''
101
- },
102
- showpass:false
103
- }
104
- },
105
- props: {
106
- sourse:'',
107
- weakPassword:false
108
- },
109
- ready () {
110
-
111
- },
112
- methods: {
113
- back () {
114
- let _this = this
115
- this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
116
- if (res === 'confirm') {
117
- _this.$back()
118
- }
119
- })
120
- },
121
- // showpass(){
122
- // console.log('1')
123
- // document.getElementById("oldpassword").type = "text"
124
- // },
125
- showon(){
126
- this.showpass = true
127
- document.getElementById("oldpassword").type = "text"
128
- document.getElementById("newpassword1").type = "text"
129
- document.getElementById("newpassword2").type = "text"
130
- },
131
- showoff(){
132
- this.showpass = false
133
- document.getElementById("oldpassword").type = "password"
134
- document.getElementById("newpassword1").type = "password"
135
- document.getElementById("newpassword2").type = "password"
136
- },
137
- save() {
138
- // 先对新密码和确认密码是否一致
139
- if (this.model.password != this.model.newpassword) {
140
- this.$showMessage('两次输入密码不一致!')
141
- return
142
- }
143
- if(this.weakPassword && this.model.password && !(/^(?:(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/.test(this.model.password))){
144
- this.$showMessage('新密码必须包含大小写字母、数字、符号!')
145
- return
146
- }
147
- // 检验原始密码是否符合 并修改密码
148
- asyncCheck(this, this.$androidUtil.getProxyUrl())
149
- }
150
- }
151
- }
152
- </script>
153
- <style>
154
- .search_input {
155
- border: 0;
156
- outline: none;
157
- }
158
- .app-row {
159
- background-color: white;
160
- padding: 10px 10px 0 10px;
161
- border-bottom: 1px solid rgba(235, 235, 235, 0.5);
162
- }
163
- .font{
164
- font: 15px PingFang-SC-Medium;
165
- }
166
- .btn-font{
167
- font:600 16px PingFang-SC-Bold;
168
- color: #499EDF;
169
- }
170
- .btn-color{
171
- background-color: #FFFFFF;
172
- border-radius: 10px ;
173
- border: 1px solid #499EDF;
174
- }
175
- .input-font{
176
- font: 15px PingFang-SC-Medium;
177
- color: #333333;
178
- }
179
- .app-botton {
180
- position:fixed;
181
- background: #87b2dd;
182
- color: #FFF;
183
- padding: 8px;
184
- text-align: center;
185
- font-size: 1.2em;
186
- z-index: 10;
187
- opacity:0.5;
188
- bottom: 50px;
189
- margin-top: -10px;
190
- height: 40px;
191
- }
192
- </style>
1
+ <template>
2
+ <!--<div class="app-botton" @click="back()">-->
3
+ <!--<span class="glyphicon glyphicon-menu-left">返回</span>-->
4
+ <!--</div>-->
5
+ <div class="auto">
6
+ <div class="row app-row">
7
+ <div class="col-xs-4">
8
+ <img src="../assets/姓名.png" style="width: 20px;margin-bottom: 5px" alt="">
9
+ <span class="text-left font">账号</span>
10
+ </div>
11
+ <div class="col-xs-8 input-font">
12
+ <input type="text" class="search_input input-font" v-model="model.ename" readonly/>
13
+ </div>
14
+ </div>
15
+ <div class="row app-row">
16
+ <div class="col-xs-4" style="margin-top: 8px">
17
+ <img src="../assets/原始密码.png" style="width: 20px;margin-bottom: 5px" alt="">
18
+ <span class="text-left font">原始密码</span>
19
+ </div>
20
+ <div class="col-xs-8">
21
+ <input type="password" id="oldpassword" class="search_input input-font" v-model="model.oldpassword" placeholder="请输入原始密码"/>
22
+ </div>
23
+ </div>
24
+ <div class="row app-row">
25
+ <div class="col-xs-4" style="margin-top: 8px">
26
+ <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px" >
27
+ <span class="text-left font">新密码</span>
28
+ </div>
29
+ <div class="col-xs-8">
30
+ <input type="password" id="newpassword1" class="search_input input-font" v-model="model.password" :placeholder="weakPassword?'需要包含大小写字母符号数字':'请输入新密码'"/>
31
+ </div>
32
+ </div>
33
+ <div class="row app-row">
34
+ <div class="col-xs-4" style="margin-top: 8px">
35
+ <img src="../assets/密码.png" style="width: 20px;margin-bottom: 5px" alt="">
36
+ <span class="text-left font">确认密码</span>
37
+ </div>
38
+ <div class="col-xs-8">
39
+ <input type="password" id="newpassword2" class="search_input input-font" v-model="model.newpassword" placeholder="请重新输入新密码"/>
40
+ </div>
41
+ </div>
42
+ <div class="row app-row">
43
+ <div class="col-xs-4" style="margin-top: 8px">
44
+ <img src="../assets/选中.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="showpass"@click="showoff()">
45
+ <img src="../assets/未选.png" style="width: 20px;margin-bottom: 5px" alt="" v-if="!showpass" @click="showon()">
46
+ <span class="text-left font">显示密码</span>
47
+ </div>
48
+ </div>
49
+ <div class="row app-row text-center">
50
+ <button type="button" class="btn btn-lg btn-font btn-color" style="width: 45%;" @click="save()">提交</button>
51
+ </div>
52
+ </div>
53
+ </template>
54
+ <script>
55
+ import Vue from 'vue'
56
+
57
+ let asyncCheck = async function(self,url) {
58
+ try {
59
+ let that = self
60
+ let user = {
61
+ ename: that.model.ename,
62
+ newpassword:that.model.password,
63
+ affirmpassword:that.model.newpassword,
64
+ password : that.model.oldpassword
65
+ }
66
+ let res = await Vue.resetpost(`${url}/rs/user/modifypwd`,{data: user },{resolveMsg: null, rejectMsg: null})
67
+ console.log("手机端验证登陆原始密码")
68
+ console.log(res.data)
69
+ if(res.data){
70
+ that.$showMessage('修改密码成功!')
71
+ if(that.sourse == 'login'){
72
+ that.$emit('success',that.model.password)
73
+ return
74
+ }
75
+ that.$back()
76
+ }else {
77
+ that.$showMessage('修改密码失败,请重新输入!')
78
+ console.log(res.data)
79
+ return
80
+ }
81
+ } catch (error) {
82
+ if (error.status == 500) {
83
+ that.$showMessage('网络异常,请检查手机网络!')
84
+ }else{
85
+ throw error
86
+ }
87
+ }
88
+ }
89
+
90
+ export default {
91
+ title: '修改密码',
92
+ data () {
93
+ return {
94
+ model: {
95
+ user: Vue.user.name,
96
+ userid: Vue.user.id,
97
+ ename: Vue.user.ename,
98
+ oldpassword: '',
99
+ password: '',
100
+ newpassword:''
101
+ },
102
+ showpass:false
103
+ }
104
+ },
105
+ props: {
106
+ sourse:'',
107
+ weakPassword:false
108
+ },
109
+ ready () {
110
+
111
+ },
112
+ methods: {
113
+ back () {
114
+ let _this = this
115
+ this.$showMessage('所填写内容将不可恢复!', ['confirm', 'cancel']).then((res) => {
116
+ if (res === 'confirm') {
117
+ _this.$back()
118
+ }
119
+ })
120
+ },
121
+ // showpass(){
122
+ // console.log('1')
123
+ // document.getElementById("oldpassword").type = "text"
124
+ // },
125
+ showon(){
126
+ this.showpass = true
127
+ document.getElementById("oldpassword").type = "text"
128
+ document.getElementById("newpassword1").type = "text"
129
+ document.getElementById("newpassword2").type = "text"
130
+ },
131
+ showoff(){
132
+ this.showpass = false
133
+ document.getElementById("oldpassword").type = "password"
134
+ document.getElementById("newpassword1").type = "password"
135
+ document.getElementById("newpassword2").type = "password"
136
+ },
137
+ save() {
138
+ // 先对新密码和确认密码是否一致
139
+ if (this.model.password != this.model.newpassword) {
140
+ this.$showMessage('两次输入密码不一致!')
141
+ return
142
+ }
143
+ if(this.weakPassword && this.model.password && !(/^(?:(?=.*[a-zA-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])).*$/.test(this.model.password))){
144
+ this.$showMessage('新密码必须包含大小写字母、数字、符号!')
145
+ return
146
+ }
147
+ // 检验原始密码是否符合 并修改密码
148
+ asyncCheck(this, this.$androidUtil.getProxyUrl())
149
+ }
150
+ }
151
+ }
152
+ </script>
153
+ <style>
154
+ .search_input {
155
+ border: 0;
156
+ outline: none;
157
+ }
158
+ .app-row {
159
+ background-color: white;
160
+ padding: 10px 10px 0 10px;
161
+ border-bottom: 1px solid rgba(235, 235, 235, 0.5);
162
+ }
163
+ .font{
164
+ font: 15px PingFang-SC-Medium;
165
+ }
166
+ .btn-font{
167
+ font:600 16px PingFang-SC-Bold;
168
+ color: #499EDF;
169
+ }
170
+ .btn-color{
171
+ background-color: #FFFFFF;
172
+ border-radius: 10px ;
173
+ border: 1px solid #499EDF;
174
+ }
175
+ .input-font{
176
+ font: 15px PingFang-SC-Medium;
177
+ color: #333333;
178
+ }
179
+ .app-botton {
180
+ position:fixed;
181
+ background: #87b2dd;
182
+ color: #FFF;
183
+ padding: 8px;
184
+ text-align: center;
185
+ font-size: 1.2em;
186
+ z-index: 10;
187
+ opacity:0.5;
188
+ bottom: 50px;
189
+ margin-top: -10px;
190
+ height: 40px;
191
+ }
192
+ </style>
@@ -1,117 +1,117 @@
1
- <template>
2
- <div class="no-close row android-repair-order">
3
- <div :class="[fullpage ? 'menu-hide' : 'col-sm-3 col-xs-3']" >
4
- <ul class="nav nav-tabs">
5
- <li>
6
- <p style="padding-left: 15px; color: white; font-weight: 550">
7
- 登录人:{{loginInfo.name}}
8
- </p>
9
- <!--({{loginInfo.id}})-->
10
- </li>
11
- <li v-for="tab in tabs" @click="tabSelect(tab.link)" :class="{active: tab.link === componentName}">
12
- <a href="#" class="tab-befor-img">
13
- <img :src="getImg(tab.icon)" style="height: 30px;width:30px;">
14
- {{tab.name}}</a>
15
- </li>
16
- <li @click="mute()">
17
- <a href="#" class="repair-mute-class" >
18
- <img src="../assets/guanbishengyin.png" style="height: 30px;width:30px;border-width:0">关闭声音</a>
19
- </li>
20
- </ul>
21
- </div>
22
- <div :class="[fullpage ? 'col-sm-12 col-xs-12' : 'col-sm-9 col-xs-9']" style="overflow: auto;">
23
- <!--<route v-ref:route></route>-->
24
- <repair-first v-if="componentName === 'repair-first'"></repair-first>
25
- <completed-repair v-if="componentName === 'completed-repair'"></completed-repair>
26
- <up-load v-if="componentName === 'up-load'"></up-load>
27
- <check-page v-if="componentName === 'check-page'"></check-page>
28
- <readmeter-home v-if="componentName === 'readmeter-home'"></readmeter-home>
29
- <repair-send v-if="componentName === 'repair-send'"></repair-send>
30
- </div>
31
- </div>
32
- </template>
33
-
34
- <script scoped>
35
- import Vue from 'vue'
36
- import * as Util from '../Util'
37
- export default {
38
- title: '底部导航',
39
- data () {
40
- return {
41
- componentName: 'repair-first',
42
- tabs: Util.f.functions,
43
- text: '导航组件this',
44
- fullpage: false,
45
- loginInfo: {}
46
- }
47
- },
48
- ready () {
49
- this.loginInfo = Object.assign({}, this.loginInfo, Vue.user)
50
- console.log(this.loginInfo, 'loginINfo')
51
- // this.$refs.route.init('repair-first')
52
- },
53
- methods: {
54
- // 选择tab
55
- tabSelect (name) {
56
- this.componentName = name
57
- // this.$refs.route.init(name)
58
- if (name !== 'text-chat-pane') {
59
- this.notified('false')
60
- } else {
61
- this.notified('true')
62
- }
63
- },
64
- notified (stopped) {
65
- console.log('txtServiceStopped invoked$')
66
- if (this.$androidUtil.isAndroid) {
67
- HostApp.setPreference('txtServiceStopped', stopped)
68
- HostApp.setPreference('msgCount', '0')
69
- }
70
- },
71
- mute () {
72
- if(navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone')){
73
- window.prompt("mute","")
74
- }else{
75
- HostApp.mute()
76
- }
77
- },
78
- getImg (param) {
79
- return require(`../assets/${param}.png`)
80
- }
81
- },
82
- events: {
83
- showFullPage () {
84
- this.fullpage = true
85
- },
86
- hideFullPage () {
87
- this.fullpage = false
88
- }
89
- }
90
- }
91
- </script>
92
- <style lang="less">
93
- .tab-befor-img {
94
- margin: 3px 0;
95
- content: '';
96
- background-size: 30px;
97
- display: inline-block;
98
- margin-right: 8px;
99
- height: 30px;
100
- width: 100%;
101
- vertical-align: -35%;
102
- }
103
- img[src=""],img:not([src]){
104
- opacity: 0;
105
- border:none;
106
- visibility: hidden;
107
- max-width: none;
108
- }
109
- /* .repair-mute-class {
110
- &::before {
111
- .tab-befor-img("../assets/guanbishengyin.png")
112
- }
113
- }*/
114
- .menu-hide {
115
- display: none;
116
- }
117
- </style>
1
+ <template>
2
+ <div class="no-close row android-repair-order">
3
+ <div :class="[fullpage ? 'menu-hide' : 'col-sm-3 col-xs-3']" >
4
+ <ul class="nav nav-tabs">
5
+ <li>
6
+ <p style="padding-left: 15px; color: white; font-weight: 550">
7
+ 登录人:{{loginInfo.name}}
8
+ </p>
9
+ <!--({{loginInfo.id}})-->
10
+ </li>
11
+ <li v-for="tab in tabs" @click="tabSelect(tab.link)" :class="{active: tab.link === componentName}">
12
+ <a href="#" class="tab-befor-img">
13
+ <img :src="getImg(tab.icon)" style="height: 30px;width:30px;">
14
+ {{tab.name}}</a>
15
+ </li>
16
+ <li @click="mute()">
17
+ <a href="#" class="repair-mute-class" >
18
+ <img src="../assets/guanbishengyin.png" style="height: 30px;width:30px;border-width:0">关闭声音</a>
19
+ </li>
20
+ </ul>
21
+ </div>
22
+ <div :class="[fullpage ? 'col-sm-12 col-xs-12' : 'col-sm-9 col-xs-9']" style="overflow: auto;">
23
+ <!--<route v-ref:route></route>-->
24
+ <repair-first v-if="componentName === 'repair-first'"></repair-first>
25
+ <completed-repair v-if="componentName === 'completed-repair'"></completed-repair>
26
+ <up-load v-if="componentName === 'up-load'"></up-load>
27
+ <check-page v-if="componentName === 'check-page'"></check-page>
28
+ <readmeter-home v-if="componentName === 'readmeter-home'"></readmeter-home>
29
+ <repair-send v-if="componentName === 'repair-send'"></repair-send>
30
+ </div>
31
+ </div>
32
+ </template>
33
+
34
+ <script scoped>
35
+ import Vue from 'vue'
36
+ import * as Util from '../Util'
37
+ export default {
38
+ title: '底部导航',
39
+ data () {
40
+ return {
41
+ componentName: 'repair-first',
42
+ tabs: Util.f.functions,
43
+ text: '导航组件this',
44
+ fullpage: false,
45
+ loginInfo: {}
46
+ }
47
+ },
48
+ ready () {
49
+ this.loginInfo = Object.assign({}, this.loginInfo, Vue.user)
50
+ console.log(this.loginInfo, 'loginINfo')
51
+ // this.$refs.route.init('repair-first')
52
+ },
53
+ methods: {
54
+ // 选择tab
55
+ tabSelect (name) {
56
+ this.componentName = name
57
+ // this.$refs.route.init(name)
58
+ if (name !== 'text-chat-pane') {
59
+ this.notified('false')
60
+ } else {
61
+ this.notified('true')
62
+ }
63
+ },
64
+ notified (stopped) {
65
+ console.log('txtServiceStopped invoked$')
66
+ if (this.$androidUtil.isAndroid) {
67
+ HostApp.setPreference('txtServiceStopped', stopped)
68
+ HostApp.setPreference('msgCount', '0')
69
+ }
70
+ },
71
+ mute () {
72
+ if(navigator.userAgent.match('iPad') || navigator.userAgent.match('iPhone')){
73
+ window.prompt("mute","")
74
+ }else{
75
+ HostApp.mute()
76
+ }
77
+ },
78
+ getImg (param) {
79
+ return require(`../assets/${param}.png`)
80
+ }
81
+ },
82
+ events: {
83
+ showFullPage () {
84
+ this.fullpage = true
85
+ },
86
+ hideFullPage () {
87
+ this.fullpage = false
88
+ }
89
+ }
90
+ }
91
+ </script>
92
+ <style lang="less">
93
+ .tab-befor-img {
94
+ margin: 3px 0;
95
+ content: '';
96
+ background-size: 30px;
97
+ display: inline-block;
98
+ margin-right: 8px;
99
+ height: 30px;
100
+ width: 100%;
101
+ vertical-align: -35%;
102
+ }
103
+ img[src=""],img:not([src]){
104
+ opacity: 0;
105
+ border:none;
106
+ visibility: hidden;
107
+ max-width: none;
108
+ }
109
+ /* .repair-mute-class {
110
+ &::before {
111
+ .tab-befor-img("../assets/guanbishengyin.png")
112
+ }
113
+ }*/
114
+ .menu-hide {
115
+ display: none;
116
+ }
117
+ </style>