ed1acdd2 by ‘jikai@pashanhoo.com’

update

1 parent d91059fa
...@@ -16,8 +16,14 @@ ...@@ -16,8 +16,14 @@
16 placeholder="请输入密码" show-password></el-input> 16 placeholder="请输入密码" show-password></el-input>
17 </el-form-item> 17 </el-form-item>
18 <el-form-item prop="yz"> 18 <el-form-item prop="yz">
19 <el-input class="yz" @keyup.native="login('user')" v-model="user.yz" 19 <div class="flex-container">
20 placeholder="请输入验证码"></el-input> 20 <div class="flex-input">
21 <el-input class="yz" @keyup.native="login('user')" v-model="user.yz" placeholder="请输入验证码"></el-input>
22 </div>
23 <div class="flex-line"></div>
24 <div class="flex-img"><canvas id="s-canvas" ref="s-canvas"></canvas></div>
25 <div class="flex-renovate"><font id="renovate" @click="verification">换一批</font></div>
26 </div>
21 </el-form-item> 27 </el-form-item>
22 <el-form-item class="login-btn"> 28 <el-form-item class="login-btn">
23 <el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button> 29 <el-button type="primary" style="width: 100%" @click="login('user')">登录</el-button>
...@@ -48,7 +54,8 @@ ...@@ -48,7 +54,8 @@
48 }, 54 },
49 }; 55 };
50 }, 56 },
51 created () { 57 created () {
58 this.verification();
52 const params = {}; 59 const params = {};
53 const queryOptions = { 60 const queryOptions = {
54 conditionGroup: { 61 conditionGroup: {
...@@ -78,7 +85,37 @@ ...@@ -78,7 +85,37 @@
78 mounted () { 85 mounted () {
79 // this.checkUserName(); 86 // this.checkUserName();
80 }, 87 },
81 methods: { 88 methods: {
89 verification() {
90 let str = '1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ', code = '', i = 0;
91 for( ; i++ < 4 ; ) code += str[ Math.floor( Math.random() * ( str.length - 0 ) + 0 ) ];
92 setTimeout( () => {
93 let canvas = document.getElementById("s-canvas"), ctx = canvas.getContext("2d");
94 canvas.width = 80;
95 canvas.height = 28;
96 ctx.fillStyle = '#ffffff';
97 ctx.fillRect( 0, 0, 80, 28 );
98 for ( i = 0; i < code.length; i++ ) { this.drawText( ctx, code[i], i ); }
99 }, 0 );
100 },
101 drawText(ctx, txt, i) {
102 ctx.fillStyle = this.randomColor(50, 160);
103 ctx.font = "18px SimHei";
104 let x = (i + 1) * (80 / (4 + 1)), y = this.randomNum( 18, 28 - 5 );
105 ctx.translate(x, y);
106 ctx.fillText(txt, 0, 0);
107 ctx.rotate((-0 * Math.PI) / 180);
108 ctx.translate(-x, -y);
109 },
110 randomColor(min, max) {
111 let r = this.randomNum(min, max);
112 let g = this.randomNum(min, max);
113 let b = this.randomNum(min, max);
114 return "rgb(" + r + "," + g + "," + b + ")";
115 },
116 randomNum(min, max) {
117 return Math.floor(Math.random() * (max - min) + min);
118 },
82 //记住用户名 119 //记住用户名
83 checkUserName: function (flag) { 120 checkUserName: function (flag) {
84 this.user.checkStatus = flag; 121 this.user.checkStatus = flag;
...@@ -128,7 +165,6 @@ ...@@ -128,7 +165,6 @@
128 .password, 165 .password,
129 .yz { 166 .yz {
130 position: relative; 167 position: relative;
131
132 &:before { 168 &:before {
133 content: ""; 169 content: "";
134 display: block; 170 display: block;
...@@ -148,6 +184,40 @@ ...@@ -148,6 +184,40 @@
148 } 184 }
149 } 185 }
150 186
187 .flex-container {
188 position: relative;
189 display: -webkit-flex;
190 display: flex;
191 }
192
193 .flex-input {
194 width: 100%;
195 }
196 .flex-line {
197 position: absolute;
198 width: 1px;
199 height: 64%;
200 margin: 5px;
201 right: 36%;
202 background-color: #CCCCCC;
203 }
204 .flex-img {
205 position: absolute;
206 margin: 2px;
207 right: 16%;
208 }
209 .flex-renovate {
210 position: absolute;
211 margin: 1px;
212 right: 3%;
213 }
214 #renovate {
215 color: #3F8FEA;
216 font-size: 16px;
217 font-weight: 700;
218 cursor: pointer;
219 }
220
151 .username::before { 221 .username::before {
152 background-image: url(../../image/userlogo.png); 222 background-image: url(../../image/userlogo.png);
153 } 223 }
......