李志伟 3 anni fa
parent
commit
74ae52840a

+ 12216
- 0
package-lock.json
File diff suppressed because it is too large
Vedi File


BIN
public/images/signup/Unchecked.png Vedi File


BIN
public/images/signup/bgi.jpg Vedi File


BIN
public/images/signup/checked.png Vedi File


BIN
public/images/signup/submit.png Vedi File


+ 0
- 9
src/App.vue Vedi File

@@ -1,6 +1,5 @@
1 1
 <template>
2 2
   <div id="app">
3
-    <img src="./assets/logo.png">
4 3
     <router-view/>
5 4
   </div>
6 5
 </template>
@@ -12,12 +11,4 @@ export default {
12 11
 </script>
13 12
 
14 13
 <style>
15
-#app {
16
-  font-family: 'Avenir', Helvetica, Arial, sans-serif;
17
-  -webkit-font-smoothing: antialiased;
18
-  -moz-osx-font-smoothing: grayscale;
19
-  text-align: center;
20
-  color: #2c3e50;
21
-  margin-top: 60px;
22
-}
23 14
 </style>

BIN
src/assets/happyAccept.png Vedi File


+ 1
- 80
src/components/HelloWorld.vue Vedi File

@@ -1,85 +1,6 @@
1 1
 <template>
2 2
   <div class="hello">
3
-    <h1>{{ msg }}</h1>
4
-    <h2>Essential Links</h2>
5
-    <ul>
6
-      <li>
7
-        <a
8
-          href="https://vuejs.org"
9
-          target="_blank"
10
-        >
11
-          Core Docs
12
-        </a>
13
-      </li>
14
-      <li>
15
-        <a
16
-          href="https://forum.vuejs.org"
17
-          target="_blank"
18
-        >
19
-          Forum
20
-        </a>
21
-      </li>
22
-      <li>
23
-        <a
24
-          href="https://chat.vuejs.org"
25
-          target="_blank"
26
-        >
27
-          Community Chat
28
-        </a>
29
-      </li>
30
-      <li>
31
-        <a
32
-          href="https://twitter.com/vuejs"
33
-          target="_blank"
34
-        >
35
-          Twitter
36
-        </a>
37
-      </li>
38
-      <br>
39
-      <li>
40
-        <a
41
-          href="http://vuejs-templates.github.io/webpack/"
42
-          target="_blank"
43
-        >
44
-          Docs for This Template
45
-        </a>
46
-      </li>
47
-    </ul>
48
-    <h2>Ecosystem</h2>
49
-    <ul>
50
-      <li>
51
-        <a
52
-          href="http://router.vuejs.org/"
53
-          target="_blank"
54
-        >
55
-          vue-router
56
-        </a>
57
-      </li>
58
-      <li>
59
-        <a
60
-          href="http://vuex.vuejs.org/"
61
-          target="_blank"
62
-        >
63
-          vuex
64
-        </a>
65
-      </li>
66
-      <li>
67
-        <a
68
-          href="http://vue-loader.vuejs.org/"
69
-          target="_blank"
70
-        >
71
-          vue-loader
72
-        </a>
73
-      </li>
74
-      <li>
75
-        <a
76
-          href="https://github.com/vuejs/awesome-vue"
77
-          target="_blank"
78
-        >
79
-          awesome-vue
80
-        </a>
81
-      </li>
82
-    </ul>
3
+        <img src="../assets/happyAccept.png" @click="() => this.$router.push('/signup')" />
83 4
   </div>
84 5
 </template>
85 6
 

+ 262
- 0
src/components/signup.vue Vedi File

@@ -0,0 +1,262 @@
1
+<template>
2
+  <div>
3
+    <img class="bgi" src="../../public/images/signup/bgi.jpg" width="100%" />
4
+    <!-- <van-form @submit="handleUser">
5
+      <van-cell-group inset>
6
+        <van-field
7
+          v-model="username"
8
+          name="用户名"
9
+          label="用户名"
10
+          placeholder="用户名"
11
+          :rules="[{ required: true, message: '请填写用户名' }]"
12
+        />
13
+        <van-field
14
+          v-model="password"
15
+          type="password"
16
+          name="密码"
17
+          label="密码"
18
+          placeholder="密码"
19
+          :rules="[{ required: true, message: '请填写密码' }]"
20
+        />
21
+      </van-cell-group>
22
+      <div style="margin: 16px">
23
+        <van-button round block type="primary" native-type="submit">
24
+          提交
25
+        </van-button>
26
+      </div>
27
+    </van-form> -->
28
+    <div class="form">
29
+      <div class="formItem">
30
+        <label>身&nbsp;&nbsp;&nbsp;&nbsp;份</label>
31
+        <div style="margin: 0 10vw 0 20vw; display: inline" @click="handleUser">
32
+          <img class="checkedImg" :src="ischecked ? checked : Unchecked" />
33
+          <label for="huey">用户</label>
34
+        </div>
35
+        <div style="display: inline" @click="handleDesigner">
36
+          <img class="checkedImg" :src="ischecked ? Unchecked : checked" />
37
+          <label for="dewey">设计师</label>
38
+        </div>
39
+      </div>
40
+      <div class="formItem name">
41
+        <label>姓&nbsp;&nbsp;&nbsp;&nbsp;名</label>
42
+        <input
43
+          class="userName"
44
+          type="text"
45
+          placeholder="请输入姓名"
46
+          v-model="formData.userName"
47
+        />
48
+      </div>
49
+      <div class="formItem phonediv">
50
+        <label>手&nbsp;机&nbsp;号</label>
51
+        <input
52
+          class="phone"
53
+          type="text"
54
+          placeholder="请输入手机号"
55
+          v-model="formData.phone"
56
+        />
57
+      </div>
58
+      <div class="formItem phonediv">
59
+        <label>手&nbsp;机&nbsp;号</label>
60
+        <input
61
+          class="phone"
62
+          type="text"
63
+          placeholder="请输入手机号"
64
+          v-model="formData.phone"
65
+        />
66
+      </div>
67
+      <div class="formItem intendedProductdiv">
68
+        <label>意向产品</label>
69
+        <input
70
+          @click="showProduct"
71
+          class="intendedProduct"
72
+          type="text"
73
+          placeholder="请选择"
74
+          v-model="formData.intendedProduct"
75
+        />
76
+      </div>
77
+      <div class="formItem addressdiv">
78
+        <label>所在地区</label>
79
+        <input
80
+          class="address"
81
+          type="text"
82
+          placeholder="请选择"
83
+          v-model="formData.address"
84
+        />
85
+      </div>
86
+      <img
87
+        class="submit"
88
+        src="../../public/images/signup/submit.png"
89
+        width="45%"
90
+      />
91
+    </div>
92
+    <!-- <VuePicker
93
+      class="picker"
94
+      :data="productList"
95
+      :showToolbar="true"
96
+      @cancel="cancelProduct"
97
+      @confirm="confirmProduct"
98
+      :visible.sync="pickerVisibleProduct"
99
+    /> -->
100
+  </div>
101
+</template>
102
+<script>
103
+// import VuePicker from 'vue-pickers'
104
+import checked from '../../public/images/signup/checked.png'
105
+import Unchecked from '../../public/images/signup/Unchecked.png'
106
+export default {
107
+  // components: {
108
+  //   VuePicker
109
+  // },
110
+  data() {
111
+    return {
112
+      checked,
113
+      Unchecked,
114
+      ischecked: true,
115
+      formData: {
116
+        role: 'user',
117
+        userName: undefined,
118
+        phone: undefined,
119
+        intendedProduct: undefined,
120
+        address: undefined
121
+      },
122
+      productList: [
123
+        [
124
+          {
125
+            label: 'COLMO子母太空舱',
126
+            value: 'COLMO子母太空舱'
127
+          },
128
+          {
129
+            label: 'COLMO星图干洗护理套装',
130
+            value: 'COLMO星图干洗护理套装'
131
+          },
132
+          {
133
+            label: 'COLMO星辰干洗护理套装',
134
+            value: 'COLMO星辰干洗护理套装'
135
+          },
136
+          {
137
+            label: 'COLMO星际干洗护理套装',
138
+            value: 'COLMO星际干洗护理套装'
139
+          },
140
+          {
141
+            label: 'COLMO TURING套系智慧干洗护理空间站',
142
+            value: 'COLMO TURING套系智慧干洗护理空间站'
143
+          }
144
+        ]
145
+      ],
146
+      pickerVisibleProduct: false
147
+    }
148
+  },
149
+  methods: {
150
+    handleUser() {
151
+      this.ischecked = true
152
+      this.formData.role = 'user'
153
+    },
154
+    handleDesigner() {
155
+      this.ischecked = false
156
+      this.formData.role = 'designer'
157
+    },
158
+    showProduct() {
159
+      this.pickerVisibleProduct = true
160
+    },
161
+    cancelProduct() {
162
+      this.pickerVisibleProduct = false
163
+    },
164
+    confirmProduct(res) {
165
+      // this.result = JSON.stringify(res)
166
+      this.formData.intendedProduct = res[0].label
167
+    }
168
+  }
169
+}
170
+</script>
171
+<style scoped>
172
+* {
173
+  margin: 0;
174
+  padding: 0;
175
+}
176
+.bgi {
177
+  z-index: -1;
178
+  position: absolute;
179
+}
180
+.form {
181
+  width: 100%;
182
+  color: #a6b1ab;
183
+  position: absolute;
184
+  margin-top: 9vh;
185
+}
186
+.formItem {
187
+  position: absolute;
188
+  width: 80vw;
189
+  margin: 6vw;
190
+  padding: 3vw;
191
+  text-align: center;
192
+  border: 1px solid #4f5054;
193
+  background-color: #212226;
194
+}
195
+.checkedImg {
196
+  width: 16px;
197
+  top: 2px;
198
+  position: relative;
199
+}
200
+.name {
201
+  margin-top: 14vh;
202
+}
203
+.userName {
204
+  width: 80%;
205
+  background-color: #212226;
206
+  outline: none;
207
+  border: none;
208
+  color: white;
209
+  text-align: right;
210
+  height: 100%;
211
+  font-size: 16px;
212
+  color: #a6b1ab;
213
+}
214
+.phonediv {
215
+  margin-top: 24vh;
216
+}
217
+.phone {
218
+  width: 79%;
219
+  background-color: #212226;
220
+  outline: none;
221
+  border: none;
222
+  color: white;
223
+  text-align: right;
224
+  height: 100%;
225
+  font-size: 16px;
226
+  color: #a6b1ab;
227
+}
228
+.intendedProductdiv {
229
+  margin-top: 34vh;
230
+}
231
+.intendedProduct {
232
+  width: 77%;
233
+  background-color: #212226;
234
+  outline: none;
235
+  border: none;
236
+  color: white;
237
+  text-align: right;
238
+  height: 100%;
239
+  font-size: 16px;
240
+  color: #a6b1ab;
241
+}
242
+.addressdiv {
243
+  margin-top: 44vh;
244
+}
245
+.address {
246
+  width: 77%;
247
+  background-color: #212226;
248
+  outline: none;
249
+  border: none;
250
+  color: white;
251
+  text-align: right;
252
+  height: 100%;
253
+  font-size: 16px;
254
+  color: #a6b1ab;
255
+}
256
+.submit {
257
+  margin: 55vh 0 0 27.5vw;
258
+}
259
+div.picker>div.vue-picker>div.content>div.colums>div.list>ul>li{
260
+  list-style-type: none;
261
+}
262
+</style>

+ 0
- 2
src/main.js Vedi File

@@ -3,9 +3,7 @@
3 3
 import Vue from 'vue'
4 4
 import App from './App'
5 5
 import router from './router'
6
-
7 6
 Vue.config.productionTip = false
8
-
9 7
 /* eslint-disable no-new */
10 8
 new Vue({
11 9
   el: '#app',

+ 7
- 0
src/pages/index.vue Vedi File

@@ -0,0 +1,7 @@
1
+<template>
2
+<div></div>
3
+</template>
4
+<script>
5
+</script>
6
+<style>
7
+</style>

+ 7
- 0
src/router/index.js Vedi File

@@ -1,6 +1,7 @@
1 1
 import Vue from 'vue'
2 2
 import Router from 'vue-router'
3 3
 import HelloWorld from '@/components/HelloWorld'
4
+import SignUp from '@/components/signup'
4 5
 
5 6
 Vue.use(Router)
6 7
 
@@ -10,6 +11,12 @@ export default new Router({
10 11
       path: '/',
11 12
       name: 'HelloWorld',
12 13
       component: HelloWorld
14
+    },
15
+    //报名页
16
+    {
17
+      path: '/signup',
18
+      name: 'signup',
19
+      component: SignUp
13 20
     }
14 21
   ]
15 22
 })

+ 3
- 3
yarn.lock Vedi File

@@ -2456,9 +2456,9 @@ ejs@^2.5.7:
2456 2456
   integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
2457 2457
 
2458 2458
 electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30, electron-to-chromium@^1.3.47, electron-to-chromium@^1.4.17:
2459
-  version "1.4.68"
2460
-  resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.68.tgz#d79447b6bd1bec9183f166bb33d4bef0d5e4e568"
2461
-  integrity sha512-cId+QwWrV8R1UawO6b9BR1hnkJ4EJPCPAr4h315vliHUtVUJDk39Sg1PMNnaWKfj5x+93ssjeJ9LKL6r8LaMiA==
2459
+  version "1.4.69"
2460
+  resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.69.tgz#d52eb7887d2ec5ba62a8cb3491b990983cb6d2e0"
2461
+  integrity sha512-0rxK21MqWhN/fVUXNOeBksRlw79Wq26y6R8lxEEL2v7vwzRWbYhXI7Id5msee7/q1NNgu4mG78qaablN2xtfTQ==
2462 2462
 
2463 2463
 elliptic@^6.5.3:
2464 2464
   version "6.5.4"