Explorar el Código

Merge branch 'master' of http://git.cc-lotus.info/new_train/frame

lrf402788946 hace 5 años
padre
commit
9d4baea7ca
Se han modificado 4 ficheros con 243 adiciones y 25 borrados
  1. BIN
      assets/logo.png
  2. 6 3
      components/form.vue
  3. 55 22
      layout/register/login.vue
  4. 182 0
      layout/register/teaRegister.vue

BIN
assets/logo.png


+ 6 - 3
components/form.vue

@@ -61,10 +61,10 @@
           </el-form-item>
         </template>
       </template>
-      <el-form-item v-if="needSave">
+      <el-form-item v-if="needSave" class="btn">
         <el-row type="flex" align="middle" justify="space-around">
           <el-col :span="6">
-            <el-button type="primary" @click="save">保存</el-button>
+            <el-button type="primary" @click="save">登录</el-button>
           </el-col>
         </el-row>
       </el-form-item>
@@ -169,8 +169,11 @@ export default {
 
 <style lang="less" scoped>
 .form {
-  padding: 2rem;
+  padding: 2rem 1rem;
   background: #fff;
   border-radius: 20px;
 }
+/deep/.btn .el-form-item__content {
+  margin-left: 0 !important;
+}
 </style>

+ 55 - 22
layout/register/login.vue

@@ -3,14 +3,25 @@
     <el-row>
       <el-col :span="24" class="style" :style="'background: url(' + loginBei + ')no-repeat center center;'">
         <el-col :span="24" class="login">
-          <el-tabs v-model="activeName" type="border-card" :stretch="true">
-            <el-tab-pane label="账号登录" name="first">
-              <data-form :data="{}" :fields="fields" :rules="rules" @save="handleSave" :isNew="true" label-width="80px" :styles="{}"> </data-form>
-            </el-tab-pane>
-            <el-tab-pane label="扫码登录" name="second">
-              扫码登录
-            </el-tab-pane>
-          </el-tabs>
+          <el-col :span="16" class="left">
+            <el-image class="image" :src="logoUrl"></el-image>
+            <p class="title">吉林省高等学校毕业生就业信息网</p>
+          </el-col>
+          <el-col :span="8" class="right">
+            <el-col :span="24" class="title">
+              教师甄选登录系统
+            </el-col>
+            <el-col :span="24">
+              <el-tabs v-model="activeName" type="border-card" :stretch="true">
+                <el-tab-pane label="账号登录" name="first">
+                  <data-form :data="{}" :fields="fields" :rules="rules" @save="handleSave" :isNew="true" label-width="80px" :styles="{}"> </data-form>
+                </el-tab-pane>
+                <el-tab-pane label="扫码登录" name="second">
+                  扫码登录
+                </el-tab-pane>
+              </el-tabs>
+            </el-col>
+          </el-col>
         </el-col>
       </el-col>
     </el-row>
@@ -39,6 +50,7 @@ export default {
       passwd: [{ required: true, message: '请输入密码' }],
     },
     form: {},
+    logoUrl: require('../../assets/logo.png'),
   }),
   created() {},
   computed: {},
@@ -60,18 +72,40 @@ export default {
   text-align: center;
 }
 .login {
-  width: 400px;
-  height: 300px;
-  border: 1px solid #3f7dff;
   position: absolute;
   top: 20%;
-  left: 35%;
+  left: 15%;
+  width: 850px;
+  height: 400px;
+  background-color: #ffffff8f;
+  border: 1px solid #3f7dff;
   border-radius: 10px;
-  background-color: #fff;
 }
-.el-form {
-  padding: 0 15px;
-  margin: 30px 0 0 0;
+.login .left .image {
+  margin: 80px 0 0 0;
+}
+.login .left .title {
+  font-size: 30px;
+  padding: 15px 0;
+  color: #1770c4;
+  font-family: cursive;
+  text-shadow: -1px 0 #fff, 0 1px #fff, 1px 0 #fff, 0 -1px #fff;
+  font-weight: 600;
+}
+.login .right {
+  height: 398px;
+  background: #fff;
+  border-top-right-radius: 10px;
+  border-bottom-right-radius: 10px;
+}
+.login .right .title {
+  font-size: 20px;
+  padding: 20px 0;
+  font-weight: bold;
+}
+.el-tabs {
+  height: 330px;
+  border-bottom-right-radius: 10px;
 }
 /deep/.el-tabs__header {
   margin: 0;
@@ -80,16 +114,15 @@ export default {
   background-color: transparent;
 }
 /deep/.el-tabs--top .el-tabs__item.is-top:nth-child(2) {
-  padding-left: 70px;
+  padding-left: 30px;
 }
 /deep/.el-tabs--top .el-tabs__item.is-top:last-child {
-  padding-right: 70px;
+  padding-right: 30px;
 }
 /deep/.el-tabs__item {
-  padding: 0 70px;
+  padding: 0 30px;
 }
-/deep/.el-tabs__active-bar {
-  width: 200px !important;
-  left: -70px;
+/deep/.el-tabs--border-card > .el-tabs__content {
+  padding: 0;
 }
 </style>

+ 182 - 0
layout/register/teaRegister.vue

@@ -0,0 +1,182 @@
+<template>
+  <div id="teaRegister">
+    <el-row>
+      <el-col :span="24" class="style">
+        <el-col :span="24" class="top">
+          <el-image style="float:left;width:70px;height:70px;" :src="logoUrl"></el-image>
+          <span>教师甄选系统-注册用户</span>
+        </el-col>
+        <el-col class="info">
+          <div class="w_1200">
+            <el-col :span="24" style="background:#fff;">
+              <el-form ref="form" :model="form" :rules="rules" label-width="110px" class="demo-ruleForm">
+                <el-form-item label="姓名" prop="name">
+                  <el-input v-model="form.name"></el-input>
+                </el-form-item>
+                <el-form-item label="身份证号" prop="idnumber">
+                  <el-input v-model="form.idnumber"></el-input>
+                </el-form-item>
+                <el-form-item label="手机号" prop="phone">
+                  <el-input v-model="form.phone"></el-input>
+                </el-form-item>
+                <el-form-item label="性别" prop="gender">
+                  <el-input v-model="form.gender"></el-input>
+                </el-form-item>
+                <el-form-item label="年龄" prop="age">
+                  <el-input v-model="form.age"></el-input>
+                </el-form-item>
+                <el-form-item label="出生年月" prop="birthday">
+                  <el-date-picker v-model="form.birthday" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择选择日期">
+                  </el-date-picker>
+                </el-form-item>
+                <el-form-item label="邮箱" prop="email">
+                  <el-input v-model="form.email"></el-input>
+                </el-form-item>
+                <el-form-item label="学校" prop="schname" :required="true">
+                  <el-select v-model="form.schname" filterable placeholder="请选择学校" value-key="code">
+                    <el-option v-for="item in schnameList" :key="item.code" :label="item.name" :value="item"></el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="职业资格证号" prop="zynumber">
+                  <el-input v-model="form.zynumber"></el-input>
+                </el-form-item>
+                <el-form-item label="职业资格证图片" prop="zynumberfile">
+                  <upload :limit="1" :data="form.zynumberfile" type="zynumberfile" :url="`/files/cms/upload`" @upload="uploadSuccess"></upload>
+                </el-form-item>
+                <el-form-item label="入职时间" prop="entrydate">
+                  <el-date-picker v-model="form.entrydate" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="请选择选择日期">
+                  </el-date-picker>
+                </el-form-item>
+                <el-form-item label="职务" prop="job">
+                  <el-input v-model="form.job"></el-input>
+                </el-form-item>
+                <el-form-item label="专业" prop="major">
+                  <el-input v-model="form.major"></el-input>
+                </el-form-item>
+                <el-form-item label="科目" prop="subid">
+                  <el-select v-model="form.subid" filterable placeholder="请选择科目" value-key="code">
+                    <el-option v-for="item in subList" :key="item.code" :label="item.name" :value="item"></el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="是否可讲礼仪课" prop="islyteacher">
+                  <el-radio v-model="form.islyteacher" label="0">否</el-radio>
+                  <el-radio v-model="form.islyteacher" label="1">是</el-radio>
+                </el-form-item>
+                <el-form-item>
+                  <el-button type="primary" @click="onSubmit">注册</el-button>
+                </el-form-item>
+              </el-form>
+            </el-col>
+          </div>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import upload from '../../components/upload';
+import { createNamespacedHelpers, mapGetters } from 'vuex';
+const { mapActions: school } = createNamespacedHelpers('school');
+const { mapActions: subject } = createNamespacedHelpers('subject');
+const { mapActions: teacher } = createNamespacedHelpers('teacher');
+
+import _ from 'lodash';
+export default {
+  name: 'teaRegister',
+  metaInfo: { title: '注册' },
+  props: {},
+  components: {
+    upload, //上传图片
+  },
+  data: () => ({
+    logoUrl: require('../../assets/logo.png'),
+    form: {},
+    rules: {
+      name: [{ required: true, message: '请输入教师姓名', trigger: 'blur' }],
+      idnumber: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],
+      phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
+    },
+    schnameList: [],
+    subList: [],
+  }),
+  created() {
+    this.searchInfo();
+  },
+  computed: {
+    keyWord() {
+      let meta = this.$route.meta;
+      let main = meta.title || '';
+      return main;
+    },
+  },
+  methods: {
+    ...school(['query']),
+    ...subject({ subQuery: 'query' }),
+    ...teacher({ teaCreate: 'create' }),
+    async searchInfo({ ...info } = {}) {
+      let res = await this.query({ ...info });
+      if (`${res.errcode}` === '0') {
+        //给this=>vue的实例下在中的list属性,赋予result。data的值
+        this.$set(this, `schnameList`, res.data);
+      } else {
+        this.$message.error(res.errmsg ? res.errmsg : 'error');
+      }
+      res = await this.subQuery({ ...info });
+      if (`${res.errcode}` === '0') {
+        //给this=>vue的实例下在中的list属性,赋予result。data的值
+        this.$set(this, `subList`, res.data);
+      } else {
+        this.$message.error(res.errmsg ? res.errmsg : 'error');
+      }
+    },
+    async onSubmit() {
+      let data = this.form;
+      let res = await this.teaCreate(data);
+      let msg = `${this.keyWord}注册成功`;
+      if (this.$checkRes(res, msg)) console.log('成功');
+    },
+    uploadSuccess({ type, data }) {
+      if (type !== 'zynumberfile') {
+        let arr = _.get(this.form, type);
+        if (arr !== undefined) {
+          this.form[type].push({ name: data.name, uri: data.uri });
+        } else {
+          let newArr = [{ name: data.name, uri: data.uri }];
+          this.$set(this.form, `${type}`, newArr);
+        }
+      } else {
+        this.$set(this.form, `${type}`, data.uri);
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 1200px;
+  margin: 0 auto;
+}
+.style {
+  width: 100%;
+  height: 100%;
+  background: #ccc;
+}
+.top {
+  padding: 0 100px;
+  background-color: #ffffff;
+  border-top: 4px solid #44b549;
+}
+.top span {
+  padding: 22px;
+  float: left;
+  font-size: 20px;
+}
+.info {
+  padding: 20px 0;
+}
+.el-form {
+  margin: 50px 200px;
+}
+</style>