system-clients 3.2.70 → 3.2.72

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 (250) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/CHANGELOG.md +51 -51
  5. package/README.md +36 -36
  6. package/SystemClient.iml +8 -8
  7. package/build/css-loaders.js +34 -34
  8. package/build/dev-client.js +8 -8
  9. package/build/example-server.js +80 -80
  10. package/build/release.sh +28 -28
  11. package/build/utils.js +71 -71
  12. package/build/webpack.base.conf.js +85 -85
  13. package/build/webpack.dev.conf.js +31 -31
  14. package/build/webpack.example.conf.js +49 -49
  15. package/build/webpack.prod.conf.js +60 -60
  16. package/build/webpack.test.conf.js +31 -31
  17. package/build.gradle +6 -6
  18. package/config/dev.env.js +6 -6
  19. package/config/index.js +38 -38
  20. package/config/prod.env.js +3 -3
  21. package/config/test.env.js +6 -6
  22. package/doc/Login.md +7 -7
  23. package/examples/LoginPage/App.vue +21 -21
  24. package/examples/LoginPage/index.html +11 -11
  25. package/examples/LoginPage/main.js +15 -15
  26. package/examples/ReadCard/App.vue +23 -23
  27. package/examples/ReadCard/index.html +11 -11
  28. package/examples/ReadCard/main.js +12 -12
  29. package/index.html +21 -21
  30. package/package.json +105 -105
  31. package/release.bat +5 -5
  32. package/src/LodopFuncs.js +123 -123
  33. package/src/assets/binding.svg +1 -1
  34. package/src/assets/unbind.svg +1 -1
  35. package/src/assets//345/205/254/345/221/212.svg +1 -1
  36. package/src/assets//347/207/203/346/260/224/347/274/264/350/264/271.eps +116 -116
  37. package/src/assets//350/201/224/347/263/273/346/210/221/344/273/254.svg +1 -1
  38. package/src/components/List.vue +51 -51
  39. package/src/components/Main.vue +923 -847
  40. package/src/components/TabButton.vue +201 -201
  41. package/src/components/Table.js +74 -74
  42. package/src/components/Tabs.vue +67 -67
  43. package/src/components/Util.js +343 -343
  44. package/src/components/addressManage/AddressCascadingMenu.vue +145 -145
  45. package/src/components/common/ProgressBase.vue +83 -83
  46. package/src/components/equipment/EquipmentManage.vue +65 -65
  47. package/src/components/equipment/PcAdd.vue +105 -105
  48. package/src/components/equipment/PcList.vue +119 -119
  49. package/src/components/equipment/PcManage.vue +60 -60
  50. package/src/components/equipment/PhoneAdd.vue +107 -107
  51. package/src/components/equipment/PhoneList.vue +112 -112
  52. package/src/components/equipment/PhoneManage.vue +60 -60
  53. package/src/components/equipment/PosAdd.vue +323 -323
  54. package/src/components/equipment/PosList.vue +294 -294
  55. package/src/components/equipment/PosManage.vue +138 -138
  56. package/src/components/equipment/PosManageBoth.vue +125 -125
  57. package/src/components/equipment/PosParamAdd.vue +236 -236
  58. package/src/components/equipment/PosParamList.vue +121 -121
  59. package/src/components/equipment/PosParamManage.vue +51 -51
  60. package/src/components/materialManage/materialData.vue +44 -44
  61. package/src/components/materialManage/materialList.vue +255 -255
  62. package/src/components/parammanage/ParamManage.vue +42 -42
  63. package/src/components/parammanage/ParamManages.vue +43 -43
  64. package/src/components/parammanage/ParamPage.vue +337 -337
  65. package/src/components/parammanage/ParamPages.vue +222 -222
  66. package/src/components/parammanage/SinglePage.vue +235 -235
  67. package/src/components/parammanage/SinglePages.vue +167 -167
  68. package/src/components/server/AddChangeMsg.vue +66 -66
  69. package/src/components/server/ChangeDeclare.vue +45 -45
  70. package/src/components/server/IconTree.vue +26 -26
  71. package/src/components/server/ImageVieweTest.vue +56 -56
  72. package/src/components/server/ImageViewer.vue +350 -350
  73. package/src/components/server/LeftTree.vue +111 -111
  74. package/src/components/server/LoadData.vue +55 -55
  75. package/src/components/server/Login.vue +566 -566
  76. package/src/components/server/LoginPage.vue +235 -235
  77. package/src/components/server/LoginView.vue +128 -128
  78. package/src/components/server/Menu.vue +188 -188
  79. package/src/components/server/ModifyPw.vue +125 -125
  80. package/src/components/server/PcdBuildingSelect.vue +241 -241
  81. package/src/components/server/ResSelect.vue +155 -155
  82. package/src/components/server/ResSelectGroup.vue +198 -198
  83. package/src/components/server/RightTree.vue +348 -348
  84. package/src/components/server/RoleSelector.vue +88 -88
  85. package/src/components/server/TestResSelect.vue +58 -58
  86. package/src/components/server/TestResSelectGroup.vue +388 -388
  87. package/src/components/server/TestRightTree.vue +42 -42
  88. package/src/filiale/baole/Login.vue +568 -568
  89. package/src/filiale/baole/system.js +5 -5
  90. package/src/filiale/chengtou/Login.vue +537 -537
  91. package/src/filiale/chengtou/system.js +5 -5
  92. package/src/filiale/dongguan/Login.vue +900 -900
  93. package/src/filiale/dongguan/Main.vue +715 -715
  94. package/src/filiale/dongguan/system.js +6 -6
  95. package/src/filiale/furuike/Login.vue +583 -583
  96. package/src/filiale/furuike/Main.vue +827 -827
  97. package/src/filiale/furuike/system.js +7 -7
  98. package/src/filiale/gehua/Main.vue +807 -807
  99. package/src/filiale/gehua/system.js +6 -6
  100. package/src/filiale/konggang/Login.vue +470 -470
  101. package/src/filiale/konggang/system.js +7 -7
  102. package/src/filiale/qianneng/Login.vue +566 -0
  103. package/src/filiale/qianneng/Main.vue +816 -816
  104. package/src/filiale/qianneng/ModifyPw.vue +107 -107
  105. package/src/filiale/qianneng/system.js +11 -8
  106. package/src/filiale/rizhao/LeftTree.vue +111 -111
  107. package/src/filiale/rizhao/Login.vue +791 -791
  108. package/src/filiale/rizhao/Main.vue +611 -611
  109. package/src/filiale/rizhao/system.js +14 -14
  110. package/src/filiale/shiquan/Login.vue +564 -564
  111. package/src/filiale/shiquan/system.js +8 -8
  112. package/src/filiale/tianyi/Login.vue +571 -571
  113. package/src/filiale/tianyi/system.js +5 -5
  114. package/src/filiale/tongchuan/Login.vue +561 -561
  115. package/src/filiale/tongchuan/system.js +7 -7
  116. package/src/filiale/wenxi/Login.vue +535 -535
  117. package/src/filiale/wenxi/Main.vue +785 -785
  118. package/src/filiale/wenxi/system.js +10 -10
  119. package/src/filiale/wuhai/LeftTree.vue +141 -141
  120. package/src/filiale/wuhai/Main.vue +807 -807
  121. package/src/filiale/wuhai/system.js +10 -10
  122. package/src/filiale/yuchuan/Login.vue +889 -889
  123. package/src/filiale/yuchuan/Main.vue +864 -864
  124. package/src/filiale/yuchuan/system.js +10 -10
  125. package/src/filiale/zhoukou/Main.vue +807 -807
  126. package/src/filiale/zhoukou/system.js +6 -6
  127. package/src/index.js +7 -7
  128. package/src/plugins/EncryptUtil.js +53 -53
  129. package/src/plugins/GetLoginInfoService.js +533 -533
  130. package/src/plugins/HeatGetLoginInfoService.js +491 -491
  131. package/src/plugins/validation.js +15 -15
  132. package/src/project/ProjectPage.vue +24 -24
  133. package/src/project/State.js +17 -17
  134. package/src/stores/AppData.js +38 -38
  135. package/src/stores/HeatAppData.js +38 -38
  136. package/src/styles/fonts/glyphicons-halflings-regular.svg +288 -288
  137. package/src/styles/less/.csscomb.json +304 -304
  138. package/src/styles/less/.csslintrc +19 -19
  139. package/src/styles/less/alerts.less +73 -73
  140. package/src/styles/less/aofeng/animate.min.css +10 -10
  141. package/src/styles/less/aofeng/expandcss.less +569 -569
  142. package/src/styles/less/aofeng/login.less +367 -367
  143. package/src/styles/less/aofeng/standard.less +2507 -2507
  144. package/src/styles/less/aofeng/themeOne/BinaryTemplate.less +686 -686
  145. package/src/styles/less/aofeng/themeOne/loginStyle.less +1586 -1586
  146. package/src/styles/less/aofeng/themeOne/systemStyle.less +2650 -2650
  147. package/src/styles/less/aofeng/themeOne.less +17 -17
  148. package/src/styles/less/aofeng/themeTwo/newStyle1.less +415 -415
  149. package/src/styles/less/aofeng/themeTwo.less +3 -3
  150. package/src/styles/less/badges.less +66 -66
  151. package/src/styles/less/bootstrap.less +66 -66
  152. package/src/styles/less/breadcrumbs.less +26 -26
  153. package/src/styles/less/button-groups.less +247 -247
  154. package/src/styles/less/buttons.less +172 -172
  155. package/src/styles/less/carousel.less +269 -269
  156. package/src/styles/less/close.less +34 -34
  157. package/src/styles/less/code.less +69 -69
  158. package/src/styles/less/component-animations.less +33 -33
  159. package/src/styles/less/dropdowns.less +216 -216
  160. package/src/styles/less/fonts-list.less +25 -25
  161. package/src/styles/less/forms.less +626 -626
  162. package/src/styles/less/glyphicons.less +305 -305
  163. package/src/styles/less/grid.less +84 -84
  164. package/src/styles/less/input-groups.less +167 -167
  165. package/src/styles/less/jumbotron.less +52 -52
  166. package/src/styles/less/labels.less +64 -64
  167. package/src/styles/less/list-group.less +141 -141
  168. package/src/styles/less/manageStyle/manageChile.less +180 -180
  169. package/src/styles/less/manageStyle/manageStyle/manageChile.less +180 -180
  170. package/src/styles/less/manageStyle/manageStyle/manageStyle.less +1102 -1102
  171. package/src/styles/less/manageStyle/manageStyle/safeStyle.less +498 -498
  172. package/src/styles/less/manageStyle/manageStyle.less +1102 -1102
  173. package/src/styles/less/manageStyle/safeStyle.less +498 -498
  174. package/src/styles/less/media.less +66 -66
  175. package/src/styles/less/mixins/alerts.less +14 -14
  176. package/src/styles/less/mixins/background-variant.less +9 -9
  177. package/src/styles/less/mixins/border-radius.less +18 -18
  178. package/src/styles/less/mixins/buttons.less +69 -69
  179. package/src/styles/less/mixins/center-block.less +7 -7
  180. package/src/styles/less/mixins/clearfix.less +22 -22
  181. package/src/styles/less/mixins/forms.less +90 -90
  182. package/src/styles/less/mixins/gradients.less +59 -59
  183. package/src/styles/less/mixins/grid-framework.less +92 -92
  184. package/src/styles/less/mixins/grid.less +122 -122
  185. package/src/styles/less/mixins/hide-text.less +21 -21
  186. package/src/styles/less/mixins/image.less +33 -33
  187. package/src/styles/less/mixins/labels.less +12 -12
  188. package/src/styles/less/mixins/list-group.less +30 -30
  189. package/src/styles/less/mixins/nav-divider.less +10 -10
  190. package/src/styles/less/mixins/nav-vertical-align.less +9 -9
  191. package/src/styles/less/mixins/opacity.less +8 -8
  192. package/src/styles/less/mixins/pagination.less +24 -24
  193. package/src/styles/less/mixins/panels.less +24 -24
  194. package/src/styles/less/mixins/progress-bar.less +10 -10
  195. package/src/styles/less/mixins/reset-filter.less +8 -8
  196. package/src/styles/less/mixins/reset-text.less +18 -18
  197. package/src/styles/less/mixins/resize.less +6 -6
  198. package/src/styles/less/mixins/responsive-visibility.less +15 -15
  199. package/src/styles/less/mixins/size.less +10 -10
  200. package/src/styles/less/mixins/tab-focus.less +9 -9
  201. package/src/styles/less/mixins/table-row.less +44 -44
  202. package/src/styles/less/mixins/text-emphasis.less +9 -9
  203. package/src/styles/less/mixins/text-overflow.less +8 -8
  204. package/src/styles/less/mixins/vendor-prefixes.less +227 -227
  205. package/src/styles/less/mixins.less +40 -40
  206. package/src/styles/less/modals.less +151 -151
  207. package/src/styles/less/navbar.less +660 -660
  208. package/src/styles/less/navs.less +285 -285
  209. package/src/styles/less/normalize.less +424 -424
  210. package/src/styles/less/pager.less +76 -76
  211. package/src/styles/less/pagination.less +89 -89
  212. package/src/styles/less/panels.less +275 -275
  213. package/src/styles/less/popovers.less +131 -131
  214. package/src/styles/less/print.less +101 -101
  215. package/src/styles/less/progress-bars.less +87 -87
  216. package/src/styles/less/responsive-embed.less +35 -35
  217. package/src/styles/less/responsive-utilities.less +194 -194
  218. package/src/styles/less/scaffolding.less +161 -161
  219. package/src/styles/less/stand.less +207 -207
  220. package/src/styles/less/tables.less +312 -312
  221. package/src/styles/less/theme.less +291 -291
  222. package/src/styles/less/thumbnails.less +36 -36
  223. package/src/styles/less/tooltip.less +102 -102
  224. package/src/styles/less/type.less +316 -316
  225. package/src/styles/less/utilities.less +55 -55
  226. package/src/styles/less/variables.less +899 -899
  227. package/src/styles/less/wells.less +29 -29
  228. package/src/system.js +121 -121
  229. package/src/systemphone.js +11 -11
  230. package/src/util/Daiban.json +12 -12
  231. package/src/util/LdapHelper.js +75 -75
  232. package/test/e2e/custom-assertions/elementCount.js +26 -26
  233. package/test/e2e/nightwatch.conf.js +40 -40
  234. package/test/e2e/runner.js +30 -30
  235. package/test/e2e/specs/test.js +14 -14
  236. package/test/unit/.eslintrc +5 -5
  237. package/test/unit/index.js +13 -13
  238. package/test/unit/init.js +10 -10
  239. package/test/unit/karma.conf.js +49 -49
  240. package/test/unit/specs/base64.spec.js +5 -5
  241. package/test/unit/specs/components/parammanage/ParamPage.spec.js +20 -20
  242. package/test/unit/specs/components/parammanage/SinglePage.spec.js +20 -20
  243. package/test/unit/specs/components/server/LeftTree/App.vue +18 -18
  244. package/test/unit/specs/components/server/LeftTree/LeftTree.spec.js +22 -22
  245. package/test/unit/specs/components/server/LoadData.spec.js +24 -24
  246. package/test/unit/specs/components/server/Login.spec.js +61 -61
  247. package/test/unit/specs/components/server/RightTree.spec.js +50 -50
  248. package/test/unit/specs/plugins/GetLoginInfoService.spec.js +55 -55
  249. package/test/unit/test.html +76 -76
  250. package/yarn-error.log +6896 -6896
@@ -1,235 +1,235 @@
1
- <template>
2
- <div class="login-box">
3
- <div class="login-title" style="height: 100vh;">
4
- <div class="row auto">
5
- <div style="margin-top: 6vh;float: right;padding-right: 20vh">
6
- <span style="font-size: 1.2rem;color: white;"><b>关于我们</b></span>
7
- </div>
8
- </div>
9
-
10
- <div class="row auto">
11
- <div style="width: 60vh;float: right;margin-top: 18vh;margin-right: 18vh;">
12
-
13
- <div style="color: white;font-size: 2.5rem;text-align: center;">
14
- <span>智 慧 燃 气 SaaS 云 平 台</span>
15
- </div>
16
-
17
- <div class="pt-1" style="color: white;font-size: 1.2rem;text-align: center;">
18
- <span>燃气行业数字化解决方案</span>
19
- </div>
20
-
21
- <div style="margin-top: 2.7rem;padding-left: 7rem;">
22
-
23
- <div class="pt-1" style="width: 82%;">
24
- <div class="login_input">
25
- <div @mouseenter="changeImageSrc(1, 'hover')"
26
- @mouseleave="changeImageSrc(1, '')">
27
- <img :src="enameImg">
28
- <span :class="enameShow ? 'color2' : 'color1'">|</span>
29
- <input type="text" placeholder=" 请输入登录账号" v-model="model.ename"/>
30
- </div>
31
- </div>
32
- </div>
33
-
34
- <div class="pt-1" style="width: 82%;">
35
- <div class="login_input">
36
- <div @mouseenter="changeImageSrc(2, 'hover')"
37
- @mouseleave="changeImageSrc(2, '')">
38
- <img :src="passwordImg">
39
- <span :class="passwordShow ? 'color2' : 'color1'">|</span>
40
- <input type="text" placeholder=" 请输入登录密码" v-model="model.password"/>
41
- </div>
42
- </div>
43
- </div>
44
-
45
-
46
- <div class="pt-1" style="width: 82%;">
47
- <div class="login_input">
48
- <div @mouseenter="changeImageSrc(3, 'hover')"
49
- @mouseleave="changeImageSrc(3, '')">
50
- <img :src="verificationCodeImg">
51
- <span :class="verificationCodeShow ? 'color2' : 'color1'">|</span>
52
- <input type="text" placeholder=" 请输入验证码" v-model="model.verificationCode"/>
53
- <span class="color2" style="float: right;padding-right: 2rem;" @click.native="createCode()">{{checkCode}}</span>
54
- </div>
55
- </div>
56
- </div>
57
- <div class="pt-1" style="width: 82%;padding-left: .667rem;color: white;font-size: 1rem">
58
- <input type="checkbox" name="type" value="true" v-model="isRememberPassword" id="cb"/>&nbsp;记住密码
59
- </div>
60
- </div>
61
-
62
- <div class="pt-1" style="color: white;font-size: 1.2rem;text-align: center;">
63
- <button class="btn_login" style="width: 20rem;" @click.native="confirm()">立即登录</button>
64
- </div>
65
-
66
- </div>
67
-
68
- </div>
69
-
70
- </div>
71
- </div>
72
- </template>
73
-
74
- <script>
75
- export default {
76
- title: '登录',
77
- data () {
78
- return {
79
- enameImg: require('../../../static/guangxi/ename.png'),
80
- passwordImg: require('../../../static/guangxi/password.png'),
81
- verificationCodeImg: require('../../../static/guangxi/verificationCode.png'),
82
- enameShow: false,
83
- passwordShow: false,
84
- verificationCodeShow: false,
85
- notice: '',
86
- model: {
87
- ename: '',
88
- password: '',
89
- verificationCode: ''
90
- },
91
- isRememberPassword: false,
92
- checkCode: ''
93
- }
94
- },
95
- created () {
96
- this.createCode()
97
- let storage = window.localStorage
98
- this.model.ename = storage.getItem('ename')
99
- this.model.password = storage.getItem('password')
100
- this.isRememberPassword = storage.getItem('isRememberPassword')
101
- },
102
- methods: {
103
- changeImageSrc (key, way) {
104
- switch (key) {
105
- case 1:
106
- if (way) {
107
- this.enameShow = true
108
- this.enameImg = require(`../../../static/guangxi/enameCopy.png`)
109
- } else if (!this.model.ename){
110
- this.enameShow = false
111
- this.enameImg = require(`../../../static/guangxi/ename.png`)
112
- }
113
- break
114
- case 2:
115
- if (way) {
116
- this.passwordShow = true
117
- this.passwordImg = require(`../../../static/guangxi/passwordCopy.png`)
118
- } else if (!this.model.password){
119
- this.passwordShow = false
120
- this.passwordImg = require(`../../../static/guangxi/password.png`)
121
- }
122
- break
123
- case 3:
124
- if (way) {
125
- this.verificationCodeShow = true
126
- this.verificationCodeImg = require(`../../../static/guangxi/verificationCodeCopy.png`)
127
- } else if (!this.model.verificationCode){
128
- this.verificationCodeShow = false
129
- this.verificationCodeImg = require(`../../../static/guangxi/verificationCode.png`)
130
- }
131
- break
132
- }
133
- },
134
- createCode(){
135
- let code = "";
136
- //验证码的长度
137
- let codeLength = 4;
138
- //随机数
139
- let random = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
140
- 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
141
- //循环操作
142
- for (let i = 0; i < codeLength; i++) {
143
- //取得随机数的索引(0~35)
144
- let index = Math.floor(Math.random() * 36);
145
- //根据索引取得随机数加到code上
146
- code += random[index];
147
- }
148
- //把code值赋给验证码
149
- this.checkCode = code;
150
- },
151
- confirm () {
152
- console.log('点击登录' + JSON.stringify(this.model))
153
- if (!this.model.ename) {
154
- this.$showMessage("请输入登录账号!")
155
- return
156
- }
157
- if (!this.model.password) {
158
- this.$showMessage("请输入登录密码!")
159
- return
160
- }
161
- if (!this.model.verificationCode) {
162
- this.$showMessage("请输入验证码!")
163
- return
164
- }
165
- if (this.model.verificationCode.toUpperCase() !== this.checkCode) {
166
- this.$showMessage("输入的验证码有误!")
167
- this.createCode()
168
- return
169
- }
170
- if (this.model.ename === '黄群' && this.model.password === '000000') {
171
- let storage = window.localStorage
172
- if (this.isRememberPassword) {
173
- storage.setItem('ename', this.model.ename)
174
- storage.setItem('password', this.model.password)
175
- storage.setItem('isRememberPassword', this.isRememberPassword)
176
- } else {
177
- storage.removeItem('ename')
178
- storage.removeItem('password')
179
- storage.removeItem('isRememberPassword')
180
- }
181
- console.log('555555555555')
182
- this.$goto('login-view')
183
- } else{
184
- this.$showMessage("登录失败,输入的账号或密码有误!")
185
- }
186
- }
187
- }
188
- }
189
- </script>
190
-
191
- <style lang="less" scoped>
192
- .login-box{
193
- overflow: hidden;
194
- background-image: url("../../../static/guangxi/backgroundImage.png");
195
- background-size:100% 100%;
196
- background-repeat:no-repeat;
197
- font-family: PINGFANG-MEDIUM;
198
- }
199
- .pt-1 {
200
- padding-top: 1rem;
201
- }
202
- .color1 {
203
- color: #c9c9c9;
204
- }
205
- .color2 {
206
- color: #4190f6;
207
- }
208
- #cb{
209
- accent-color: #4190f6;
210
- }
211
- .btn_login {
212
- width: 100%;
213
- height: 40px;
214
- background-color: #4292f7;
215
- border-radius: 3rem;
216
- border:none;
217
- font-family: PingFang,serif;
218
- font-size: 16px;
219
- color: #ffffff;
220
- }
221
- .btn_login:hover{background-color: #3171f4;}
222
- .login_input {
223
- line-height: 4.3rem;
224
- box-sizing: border-box;
225
- border-radius: 0.8rem;
226
- background: #fff;
227
- input{
228
- border: none;
229
- outline: none;
230
- }
231
- input::-webkit-input-placeholder {
232
- color: #c9c9c9;
233
- }
234
- }
235
- </style>
1
+ <template>
2
+ <div class="login-box">
3
+ <div class="login-title" style="height: 100vh;">
4
+ <div class="row auto">
5
+ <div style="margin-top: 6vh;float: right;padding-right: 20vh">
6
+ <span style="font-size: 1.2rem;color: white;"><b>关于我们</b></span>
7
+ </div>
8
+ </div>
9
+
10
+ <div class="row auto">
11
+ <div style="width: 60vh;float: right;margin-top: 18vh;margin-right: 18vh;">
12
+
13
+ <div style="color: white;font-size: 2.5rem;text-align: center;">
14
+ <span>智 慧 燃 气 SaaS 云 平 台</span>
15
+ </div>
16
+
17
+ <div class="pt-1" style="color: white;font-size: 1.2rem;text-align: center;">
18
+ <span>燃气行业数字化解决方案</span>
19
+ </div>
20
+
21
+ <div style="margin-top: 2.7rem;padding-left: 7rem;">
22
+
23
+ <div class="pt-1" style="width: 82%;">
24
+ <div class="login_input">
25
+ <div @mouseenter="changeImageSrc(1, 'hover')"
26
+ @mouseleave="changeImageSrc(1, '')">
27
+ <img :src="enameImg">
28
+ <span :class="enameShow ? 'color2' : 'color1'">|</span>
29
+ <input type="text" placeholder=" 请输入登录账号" v-model="model.ename"/>
30
+ </div>
31
+ </div>
32
+ </div>
33
+
34
+ <div class="pt-1" style="width: 82%;">
35
+ <div class="login_input">
36
+ <div @mouseenter="changeImageSrc(2, 'hover')"
37
+ @mouseleave="changeImageSrc(2, '')">
38
+ <img :src="passwordImg">
39
+ <span :class="passwordShow ? 'color2' : 'color1'">|</span>
40
+ <input type="text" placeholder=" 请输入登录密码" v-model="model.password"/>
41
+ </div>
42
+ </div>
43
+ </div>
44
+
45
+
46
+ <div class="pt-1" style="width: 82%;">
47
+ <div class="login_input">
48
+ <div @mouseenter="changeImageSrc(3, 'hover')"
49
+ @mouseleave="changeImageSrc(3, '')">
50
+ <img :src="verificationCodeImg">
51
+ <span :class="verificationCodeShow ? 'color2' : 'color1'">|</span>
52
+ <input type="text" placeholder=" 请输入验证码" v-model="model.verificationCode"/>
53
+ <span class="color2" style="float: right;padding-right: 2rem;" @click.native="createCode()">{{checkCode}}</span>
54
+ </div>
55
+ </div>
56
+ </div>
57
+ <div class="pt-1" style="width: 82%;padding-left: .667rem;color: white;font-size: 1rem">
58
+ <input type="checkbox" name="type" value="true" v-model="isRememberPassword" id="cb"/>&nbsp;记住密码
59
+ </div>
60
+ </div>
61
+
62
+ <div class="pt-1" style="color: white;font-size: 1.2rem;text-align: center;">
63
+ <button class="btn_login" style="width: 20rem;" @click.native="confirm()">立即登录</button>
64
+ </div>
65
+
66
+ </div>
67
+
68
+ </div>
69
+
70
+ </div>
71
+ </div>
72
+ </template>
73
+
74
+ <script>
75
+ export default {
76
+ title: '登录',
77
+ data () {
78
+ return {
79
+ enameImg: require('../../../static/guangxi/ename.png'),
80
+ passwordImg: require('../../../static/guangxi/password.png'),
81
+ verificationCodeImg: require('../../../static/guangxi/verificationCode.png'),
82
+ enameShow: false,
83
+ passwordShow: false,
84
+ verificationCodeShow: false,
85
+ notice: '',
86
+ model: {
87
+ ename: '',
88
+ password: '',
89
+ verificationCode: ''
90
+ },
91
+ isRememberPassword: false,
92
+ checkCode: ''
93
+ }
94
+ },
95
+ created () {
96
+ this.createCode()
97
+ let storage = window.localStorage
98
+ this.model.ename = storage.getItem('ename')
99
+ this.model.password = storage.getItem('password')
100
+ this.isRememberPassword = storage.getItem('isRememberPassword')
101
+ },
102
+ methods: {
103
+ changeImageSrc (key, way) {
104
+ switch (key) {
105
+ case 1:
106
+ if (way) {
107
+ this.enameShow = true
108
+ this.enameImg = require(`../../../static/guangxi/enameCopy.png`)
109
+ } else if (!this.model.ename){
110
+ this.enameShow = false
111
+ this.enameImg = require(`../../../static/guangxi/ename.png`)
112
+ }
113
+ break
114
+ case 2:
115
+ if (way) {
116
+ this.passwordShow = true
117
+ this.passwordImg = require(`../../../static/guangxi/passwordCopy.png`)
118
+ } else if (!this.model.password){
119
+ this.passwordShow = false
120
+ this.passwordImg = require(`../../../static/guangxi/password.png`)
121
+ }
122
+ break
123
+ case 3:
124
+ if (way) {
125
+ this.verificationCodeShow = true
126
+ this.verificationCodeImg = require(`../../../static/guangxi/verificationCodeCopy.png`)
127
+ } else if (!this.model.verificationCode){
128
+ this.verificationCodeShow = false
129
+ this.verificationCodeImg = require(`../../../static/guangxi/verificationCode.png`)
130
+ }
131
+ break
132
+ }
133
+ },
134
+ createCode(){
135
+ let code = "";
136
+ //验证码的长度
137
+ let codeLength = 4;
138
+ //随机数
139
+ let random = new Array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',
140
+ 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
141
+ //循环操作
142
+ for (let i = 0; i < codeLength; i++) {
143
+ //取得随机数的索引(0~35)
144
+ let index = Math.floor(Math.random() * 36);
145
+ //根据索引取得随机数加到code上
146
+ code += random[index];
147
+ }
148
+ //把code值赋给验证码
149
+ this.checkCode = code;
150
+ },
151
+ confirm () {
152
+ console.log('点击登录' + JSON.stringify(this.model))
153
+ if (!this.model.ename) {
154
+ this.$showMessage("请输入登录账号!")
155
+ return
156
+ }
157
+ if (!this.model.password) {
158
+ this.$showMessage("请输入登录密码!")
159
+ return
160
+ }
161
+ if (!this.model.verificationCode) {
162
+ this.$showMessage("请输入验证码!")
163
+ return
164
+ }
165
+ if (this.model.verificationCode.toUpperCase() !== this.checkCode) {
166
+ this.$showMessage("输入的验证码有误!")
167
+ this.createCode()
168
+ return
169
+ }
170
+ if (this.model.ename === '黄群' && this.model.password === '000000') {
171
+ let storage = window.localStorage
172
+ if (this.isRememberPassword) {
173
+ storage.setItem('ename', this.model.ename)
174
+ storage.setItem('password', this.model.password)
175
+ storage.setItem('isRememberPassword', this.isRememberPassword)
176
+ } else {
177
+ storage.removeItem('ename')
178
+ storage.removeItem('password')
179
+ storage.removeItem('isRememberPassword')
180
+ }
181
+ console.log('555555555555')
182
+ this.$goto('login-view')
183
+ } else{
184
+ this.$showMessage("登录失败,输入的账号或密码有误!")
185
+ }
186
+ }
187
+ }
188
+ }
189
+ </script>
190
+
191
+ <style lang="less" scoped>
192
+ .login-box{
193
+ overflow: hidden;
194
+ background-image: url("../../../static/guangxi/backgroundImage.png");
195
+ background-size:100% 100%;
196
+ background-repeat:no-repeat;
197
+ font-family: PINGFANG-MEDIUM;
198
+ }
199
+ .pt-1 {
200
+ padding-top: 1rem;
201
+ }
202
+ .color1 {
203
+ color: #c9c9c9;
204
+ }
205
+ .color2 {
206
+ color: #4190f6;
207
+ }
208
+ #cb{
209
+ accent-color: #4190f6;
210
+ }
211
+ .btn_login {
212
+ width: 100%;
213
+ height: 40px;
214
+ background-color: #4292f7;
215
+ border-radius: 3rem;
216
+ border:none;
217
+ font-family: PingFang,serif;
218
+ font-size: 16px;
219
+ color: #ffffff;
220
+ }
221
+ .btn_login:hover{background-color: #3171f4;}
222
+ .login_input {
223
+ line-height: 4.3rem;
224
+ box-sizing: border-box;
225
+ border-radius: 0.8rem;
226
+ background: #fff;
227
+ input{
228
+ border: none;
229
+ outline: none;
230
+ }
231
+ input::-webkit-input-placeholder {
232
+ color: #c9c9c9;
233
+ }
234
+ }
235
+ </style>