浏览代码

整合登录

lrf402788946 5 年之前
父节点
当前提交
ed55270f09

二进制
src/assets/download.png


二进制
src/assets/head.jpg


二进制
src/assets/imgcode.png


二进制
src/assets/validcode.png


+ 1 - 1
src/layout/layout-part/heads.vue

@@ -64,7 +64,7 @@ export default {
     html: '<ul class="popoverCon"><li>没有消息</li></ul><a class="popoverBtn">点击进入信息中心<span class="el-icon-d-arrow-right info_icon"></span></a>',
   }),
   created() {
-    this.checkUrl();
+    // this.checkUrl();
     this.setUser();
   },
   computed: {

+ 27 - 18
src/layout/main-layout.vue

@@ -1,23 +1,28 @@
 <template>
-  <div id="main-layout" @click="checkBind()">
-    <el-container style="background:#e7e8eb;">
-      <el-header height="4rem" class="head">
-        <heads></heads>
-      </el-header>
-      <el-container class="contain">
-        <el-aside width="13rem" class="side">
-          <menus></menus>
-        </el-aside>
-        <el-main class="main">
-          <router-view />
-        </el-main>
+  <div id="main-layout">
+    <div @click="checkBind()" v-if="!toLogin()">
+      <el-container style="background:#e7e8eb;">
+        <el-header height="4rem" class="head">
+          <heads></heads>
+        </el-header>
+        <el-container class="contain">
+          <el-aside width="13rem" class="side">
+            <menus></menus>
+          </el-aside>
+          <el-main class="main">
+            <router-view />
+          </el-main>
+        </el-container>
       </el-container>
-    </el-container>
-    <bind :display="dialog" v-if="!$isBindWx()">
-      <el-col :span="24" style="text-align:center;font-size:1.25rem;padding-top:1rem;">
-        绑定微信,开始您的招聘!
-      </el-col>
-    </bind>
+      <bind :display="dialog" v-if="!$isBindWx()">
+        <el-col :span="24" style="text-align:center;font-size:1.25rem;padding-top:1rem;">
+          绑定微信,开始您的招聘!
+        </el-col>
+      </bind>
+    </div>
+    <div v-else>
+      <router-view />
+    </div>
   </div>
 </template>
 
@@ -42,6 +47,10 @@ export default {
     checkBind() {
       if (!this.$isBindWx()) this.dialog = true;
     },
+    toLogin() {
+      let route = window.location.pathname;
+      return route.includes('login') || route.includes('register');
+    },
   },
 };
 </script>

+ 8 - 0
src/router.js

@@ -107,5 +107,13 @@ export default new Router({
       path: '/manager/plan/interview/detail',
       component: () => import('./views/manager/plan/interview-detail.vue'),
     },
+    {
+      path: '/login',
+      component: () => import('./views/login/login.vue'),
+    },
+    {
+      path: '/register',
+      component: () => import('./views/registerEnt/register.vue'),
+    },
   ],
 });

+ 14 - 0
src/store.js

@@ -33,6 +33,7 @@ const api = {
   corpBind: '/api/corp/bind', //post=>query;corpid;body:mobile,wxtoken
   corpLogin: '/api/corp/login',
   dictionary: '/api/code/{type}/items', //type === xzqh:query:level(1/2);parent(无/code)
+  corpReg: '/api/corp/corps', //query:type:0=>用户名+密码 account(学号@学校id)+passwd;1-微信(wxtoken)
 };
 
 export default new Vuex.Store({
@@ -338,6 +339,19 @@ export default new Vuex.Store({
 
       return result;
     },
+    //登录与注册
+    async corpReg({ state, commit }, { data, schid, schname }) {
+      let result = await this.$axios.$post(api.corpReg, data, {}, { schid: JSON.stringify(schid), schname: schname });
+      return result;
+    },
+    async schCorps({ state, commit }) {
+      let result = await this.$axios.$get(api.corpReg, { schid: 999991 });
+      return result;
+    },
+    async corpLogin({ state }, { type, data }) {
+      let result = this.$axios.$post(api.corpLogin, data, {}, { type: type });
+      return result;
+    },
   },
 });
 

+ 274 - 0
src/views/login/login.vue

@@ -0,0 +1,274 @@
+<template>
+  <div id="firm">
+    <el-row>
+      <el-col :span="24" class="firm">
+        <el-col :span="24" class="firmTop">
+          <div class="w_1200">
+            <img :src="pic" />
+            <span>长春大学企业校招管理平台</span>
+          </div>
+        </el-col>
+        <el-col :span="24">
+          <div class="w_1200">
+            <el-col :span="14" class="firmLeft">
+              <span>全国首家“互联网+精准就业”平台</span>
+              <h4>覆盖:20个省200+高校&nbsp;&nbsp;&nbsp;&nbsp;130万+毕业生&nbsp;&nbsp;&nbsp;&nbsp;20万+单位入驻</h4>
+              <p>帮助天下毕业生走稳求职第一步</p>
+            </el-col>
+            <el-col :span="8" class="firmRight" v-if="loginType === 0">
+              <el-col :span="20" class="firmRightTop">
+                <span>企业登录<span style="color: #ff4500;">(建议您使用谷歌浏览器)</span></span>
+              </el-col>
+              <el-col :span="4" class="el-icon-full-screen" style="zoom:1.5" @click.native="loginType = 1"> </el-col>
+              <el-col :span="24">
+                <el-form :model="form" ref="form">
+                  <el-form-item prop="mobile">
+                    <el-input placeholder="用户名(手机号码)" prefix-icon="el-icon-user-solid" v-model="form.mobile"></el-input>
+                  </el-form-item>
+                  <el-form-item prop="mobile">
+                    <el-input placeholder="密码" prefix-icon="el-icon-lock" v-model="form.passwd" show-password></el-input>
+                  </el-form-item>
+                  <el-form-item prop="mobile" class="firmRightName">
+                    <el-col :span="16"> <el-input placeholder="验证码" prefix-icon="el-icon-lock" v-model="input3"></el-input></el-col>
+                    <el-col :span="8" class="firmRightImg">
+                      <img :src="pic3" />
+                    </el-col>
+                  </el-form-item>
+                </el-form>
+              </el-col>
+              <el-col :span="24" class="firmRightName firmRightBtn">
+                <el-col :span="8"><el-checkbox v-model="checked">记住登陆账号</el-checkbox></el-col>
+                <el-col :span="8"><el-button type="success" @click="toSubmit">登录</el-button></el-col>
+                <el-col :span="8"><el-button type="success" @click="$router.push({ path: '/register' })">注册</el-button></el-col>
+              </el-col>
+              <el-col :span="24">
+                <!-- <el-link type="danger" :underline="false" class="forget_pass" @click="dialogFormVisible = true">忘记登录密码?</el-link> -->
+              </el-col>
+            </el-col>
+            <el-col :span="8" class="firmRight" v-else>
+              <el-col :span="20" class="firmRightTop">
+                <span>企业登录<span style="color: #ff4500;">(建议您使用谷歌浏览器)</span></span>
+              </el-col>
+              <el-col :span="4" class="el-icon-s-platform" style="zoom:1.5" @click.native="loginType = 0"> </el-col>
+              <el-col :span="24" style="text-align:center;">
+                <span>微信扫码登录</span>
+                <qrcode :qrcode="qrcode" @toReturn="toReturn"></qrcode>
+              </el-col>
+            </el-col>
+          </div>
+        </el-col>
+      </el-col>
+    </el-row>
+    <el-dialog title="" :visible.sync="dialogFormVisible">
+      <el-row>
+        <el-col :span="16" class="forget">
+          <el-form :model="form" label-width="auto" label-position="left">
+            <el-form-item label="手机" prop="mobile">
+              <el-col :span="24"><el-input v-model="form.mobile" autocomplete="off" placeholder="必填"></el-input></el-col>
+            </el-form-item>
+            <el-form-item label="新密码" prop="mobile">
+              <el-col :span="24"><el-input v-model="form.passwd" autocomplete="off" placeholder="必填" suffix-icon="el-icon-view"></el-input></el-col>
+            </el-form-item>
+            <!-- <el-form-item label="图形码">
+              <el-col :span="10"><el-input v-model="form.name" autocomplete="off" placeholder="图形验证码"></el-input></el-col>
+              <el-col :span="14"><img :src="pic3" style="width:101px;height:30px;padding: 4px 0 0 5px;"/></el-col>
+            </el-form-item>
+            <el-form-item label="验证码">
+              <el-col :span="10"><el-input v-model="form.name" autocomplete="off" placeholder="必填" style="width:148px;"></el-input></el-col>
+              <el-col :span="14"><el-button type="success" style="width: 86px;height: 33px;padding: 0;">获取验证码</el-button></el-col>
+            </el-form-item> -->
+          </el-form>
+        </el-col>
+        <el-col :span="1" style="text-align:center;">
+          <span style="width: 1px;height: 80px; background: #e7e7e7;display: inline-block;text-align: center;"></span>
+          <p style="padding: 5px 0;margin: 0;">或</p>
+          <span style=" width: 1px;height: 80px;background: #e7e7e7;display: inline-block;"></span>
+        </el-col>
+        <el-col :span="7">
+          <!-- <img :src="codes" width="184" height="190" /> -->
+          <!-- <p style="font-size:12px;padding:0 15px;">请用微信扫一扫并关注云校招企业服务号,免费获得更多校招服务</p> -->
+        </el-col>
+      </el-row>
+      <template #footer>
+        <el-button type="success" @click="dialogFormVisible = false">提交</el-button>
+        <el-button type="text" @click="dialogFormVisible = false">已有账号?去登录</el-button>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import qrcode from '@/components/qrcode.vue';
+import { mapActions, mapState } from 'vuex';
+const jwt = require('jsonwebtoken');
+
+export default {
+  name: 'firm',
+  props: {},
+  components: {
+    qrcode,
+  },
+  data: () => ({
+    pic: require('@/assets/head.jpg'),
+    pic2: require('@/assets/download.png'),
+    pic3: require('@/assets/validcode.png'),
+    qrcode: '',
+    loginType: 0,
+    input3: '',
+    dialogFormVisible: false,
+    checked: false,
+    form: {
+      name: '',
+    },
+    formLabelWidth: '60px',
+  }),
+  created() {
+    this.initQrcode();
+  },
+  computed: {},
+  methods: {
+    ...mapActions(['corpLogin', 'createConnection', 'getWxtoken']),
+    toSubmit() {
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          this.submit();
+        }
+        return false;
+      });
+    },
+    async submit(wxtoken) {
+      let data = JSON.parse(JSON.stringify(this.form));
+      if (this.loginType === 0) {
+        data.account = `${data.account}@999991`;
+      } else {
+        data = { wxtoken: wxtoken };
+      }
+      let result = await this.corpLogin({ type: this.loginType, data: data });
+      this.$message({
+        type: `${result.errcode}` === '0' ? 'success' : 'error',
+        message: `${result.errcode}` === '0' ? '登录成功' : result.errmsg,
+      });
+      if (`${result.errcode}` === '0') {
+        sessionStorage.setItem('token', JSON.stringify(result.data));
+        let info = jwt.decode(result.data);
+        sessionStorage.setItem('user', JSON.stringify(info));
+        this.$router.push({ path: '/' });
+      }
+    },
+    async initQrcode() {
+      let result = await this.createConnection();
+      this.$set(this, `qrcode`, result);
+    },
+    async toReturn(msg) {
+      let result = await this.getWxtoken(this.qrcode);
+      this.submit(result);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  margin: 0 auto;
+  width: 1200px;
+}
+.firm {
+  width: 100%;
+  height: 100vh;
+  background: #5dac81;
+  overflow: hidden;
+}
+.firmTop {
+  width: 100%;
+  height: 55px;
+  background: #fff;
+  border-top: 4px solid #44b549;
+}
+.firmTop img {
+  width: 49.63px;
+  height: 50px;
+  float: left;
+}
+
+.firmTop span {
+  line-height: 55px;
+  font-size: 22px;
+  float: left;
+  margin-left: 4px;
+}
+.firmLeft {
+  color: #fff;
+  padding: 15% 0;
+}
+.firmLeft span {
+  font-size: 40px;
+  font-weight: 700;
+}
+.firmLeft h4 {
+  font-size: 15px;
+  color: #fff9;
+}
+.firmLeft p {
+  font-size: 15px;
+  color: #fff9;
+}
+.firmRight {
+  float: right;
+  padding: 30px 20px;
+  margin: 5% 50px;
+  border-radius: 8px;
+  background: #fff;
+  opacity: 0.9;
+}
+.firmRightTop {
+  margin: 0 0 18px 0;
+}
+.firmRightName {
+  margin: 0 0 5px 0;
+}
+/deep/.firmRightName .el-input__inner {
+  height: 56px;
+}
+.firmRightImg {
+  height: 56px;
+  padding: 3px;
+  border: 1px solid #d9ddd9;
+  border-left: none;
+}
+.firmRightImg img {
+  width: 100%;
+  height: 47px;
+}
+.firmRightBtn {
+  width: 100%;
+  height: 44px;
+  line-height: 44px;
+}
+.firmRightBtn .el-button {
+  width: 99%;
+  background: #44b549;
+}
+/deep/.el-dialog__body {
+  padding: 15px 20px;
+}
+/deep/.el-form-item {
+  margin-bottom: 10px;
+}
+/deep/.el-form-item__label {
+  text-align: left;
+}
+/deep/.forget .el-input__inner {
+  height: 33px;
+  border-radius: 0;
+}
+/deep/.el-dialog__header {
+  display: none;
+}
+/deep/.el-dialog__footer {
+  text-align: left;
+  padding: 10px 210px 20px;
+}
+.forget {
+  padding: 20px 0 0 0;
+}
+</style>

+ 173 - 0
src/views/registerEnt/basic.vue

@@ -0,0 +1,173 @@
+<template>
+  <div id="basic">
+    <el-row>
+      <el-col :span="24" class="mainLeftInfo">
+        <h4 class="form-title">注册信息<span class="text-red">*</span></h4>
+        <el-form ref="form" :model="form" label-width="150px">
+          <el-form-item label="企业名称">
+            <el-input v-model="form.corpname" placeholder="请输入企业全称(与组织机构代码证上一致)"></el-input>
+          </el-form-item>
+          <el-form-item label="用户姓名">
+            <el-input v-model="form.hr" placeholder="请输入您的真实姓名"></el-input>
+          </el-form-item>
+          <el-form-item label="联系手机">
+            <el-input v-model="form.mobile" placeholder="请输入手机(同时可用于账号登录)"></el-input>
+          </el-form-item>
+          <el-form-item label="登录密码">
+            <el-input v-model="form.passwd" type="password" placeholder="请输入登录密码" show-password></el-input>
+          </el-form-item>
+          <el-form-item label="图形验证码">
+            <el-input v-model="form.code" type="password" placeholder="图形验证码" style="width:24%;"></el-input>
+            <el-image style="width: 100px; height: 35px;top:12px;left:5px;" :src="url"></el-image>
+          </el-form-item>
+          <el-form-item label="手机验证码">
+            <el-input v-model="form.tel_code" type="password" placeholder="请输入手机验证码" style="width:24%;"></el-input>
+            <el-button type="success" style="width: 86px;height: 33px;padding: 0;margin: 0 0 0 5px;">
+              <el-link target="_blank" :underline="false" style="color:#fff;">获取验证码</el-link>
+            </el-button>
+          </el-form-item>
+        </el-form>
+        <h4 class="form-title">基本资料<span class="text-red">*</span></h4>
+        <el-form ref="form" :model="form" label-width="150px">
+          <el-form-item label="所在省份">
+            <el-select v-model="form.info.province" placeholder="选择省份" @change="getCityList">
+              <el-option v-for="item in provinceList" :key="item.value" :label="item.name" :value="item.name"> </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="所在城市">
+            <el-select v-model="form.info.city" placeholder="选择城市">
+              <el-option v-for="item in cityList" :key="item.value" :label="item.name" :value="item.name"> </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="企业地址">
+            <el-input v-model="form.info.address" placeholder="必填,请输入企业地址"></el-input>
+          </el-form-item>
+          <el-form-item label="企业规模">
+            <el-select v-model="form.info.scale" placeholder="必填,请输入企业规模">
+              <el-option v-for="(item, index) in scaleList" :key="index" :label="item.name" :value="item.name"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="固定电话">
+            <el-input v-model="form.info.tel" placeholder="必填,如:0755-88888888"></el-input>
+          </el-form-item>
+          <el-form-item label="企业邮箱">
+            <el-input v-model="form.info.email" placeholder="必填,须企业官方邮箱 如:yunyan@bibibi.net"></el-input>
+          </el-form-item>
+          <el-form-item label="招聘邮箱">
+            <el-input v-model="form.info.job_email" placeholder="必填,如:zhaopin@bibibi.net"></el-input>
+          </el-form-item>
+          <el-form-item label="招聘电话">
+            <el-input v-model="form.info.job_tel" placeholder="必填,11位手机号"></el-input>
+          </el-form-item>
+          <el-form-item label="企业介绍">
+            <el-input type="textarea" v-model="form.info.intro" placeholder="字数不超过400,请输入公司介绍"></el-input>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+    <el-col :span="24" style="text-align:center;">
+      <el-button style="margin-top: 12px;" type="success" @click="next">下一步</el-button>
+    </el-col>
+  </div>
+</template>
+
+<script>
+import { mapActions, mapState } from 'vuex';
+export default {
+  name: 'basic',
+  props: {},
+  components: {},
+  data: () => ({
+    form: {
+      info: {},
+    },
+    url: require('@/assets/imgcode.png'),
+    value: '',
+    provinceList: [],
+    cityList: [],
+    scaleList: [],
+  }),
+  created() {
+    this.otherList();
+  },
+  computed: {},
+  methods: {
+    ...mapActions(['dicOperation']),
+    next() {
+      this.$emit('next', this.form);
+    },
+    async otherList() {
+      let result = await this.dicOperation('dwgm');
+      if (`${result.errcode}` === '0') {
+        //给this=>vue的实例下在中的list属性,赋予result。data的值
+        this.$set(this, `scaleList`, result.data);
+      } else {
+        this.$message.error(result.errmsg ? result.errmsg : 'error');
+      }
+      result = await this.dicOperation({ level: 1 });
+      if (`${result.errcode}` === '0') {
+        this.$set(this, `provinceList`, result.data);
+      } else {
+        this.$message.error(result.errmsg ? result.errmsg : 'error');
+      }
+    },
+    async getCityList(name) {
+      let arr = await this.provinceList.filter(item => item.name === name && this.filterCity(name));
+      if (arr.length > 0) {
+        let pro = arr[0];
+        let result = await this.dicOperation({ level: 2, parent: pro.code });
+        if (`${result.errcode}` === '0') {
+          this.$set(this, `cityList`, result.data);
+        }
+      } else {
+        this.$set(this.info, `city`, '');
+        this.$set(this, `cityList`, [{ name: '无选项', code: 0, disabled: true }]);
+      }
+    },
+    filterCity(name) {
+      if (name.includes('特别行政区') || name.includes('北京市') || name.includes('天津市') || name.includes('上海市') || name.includes('重庆市')) {
+        return false;
+      } else {
+        return true;
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.mainLeftInfo {
+  padding: 20px 30px;
+}
+/deep/.el-form-item__label {
+  text-align: left;
+}
+/deep/.el-checkbox {
+  margin-right: 22px;
+}
+/deep/.el-textarea__inner {
+  min-height: 146px !important;
+}
+.zj_tip {
+  color: #8a6d3b;
+  background-color: #fcf8e3;
+  padding: 15px;
+  margin-bottom: 20px;
+  border: 1px solid #faebcc;
+  border-radius: 4px;
+}
+.label-desc {
+  color: #ccc;
+  font-size: 12px;
+}
+.form-title {
+  border-bottom: 1px solid #ddd;
+  margin: 0 0 15px;
+  padding: 15px 0;
+  font-size: 15px;
+  color: #333;
+}
+.text-red {
+  color: red;
+}
+</style>

+ 213 - 0
src/views/registerEnt/business.vue

@@ -0,0 +1,213 @@
+<template>
+  <div id="business">
+    <el-row>
+      <el-col :span="24" class="mainLeftInfo">
+        <el-form ref="form" :model="form" label-width="150px">
+          <el-form-item label="所属行业">
+            <el-select v-model="form.identity.industry" placeholder="必填,请选择" style="width:100%">
+              <el-option v-for="item in hylbList" :key="item.value" :label="item.name" :value="item.name"> </el-option>
+            </el-select>
+            <span class="label-desc">影响到招聘信息的精准推送,学生邀约精准匹配</span>
+          </el-form-item>
+          <el-form-item label="单位性质">
+            <el-select v-model="form.identity.nature" placeholder="必填,请选择" style="width:100%">
+              <el-option v-for="item in dwxzList" :key="item.value" :label="item.name" :value="item.name"> </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="注册资金">
+            <el-select v-model="form.identity.reg_capital" placeholder="必填,请选择" style="width:100%">
+              <el-option v-for="item in zczjList" :key="item.value" :label="item.name" :value="item.name"> </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="单位标签(非必填)" type="info">
+            <el-checkbox-group v-model="form.identity.tags">
+              <el-checkbox v-for="(item, index) in dwbqList" :key="index" :label="item.name"></el-checkbox>
+            </el-checkbox-group>
+          </el-form-item>
+          <el-form-item label="统一社会信用代码">
+            <el-input v-model="form.identity.org_code" placeholder="必填,18位统一社会信用代码 / 9位组织机构代码"></el-input>
+          </el-form-item>
+          <div class="zj_tip">提示:若三证合一的单位,请在【营业执照】和【组织机构代码证】处<b>同时</b>上传完整的三证合一的营业执照。</div>
+          <el-form-item label="营业执照(最大支持2M)" class="zhizhao">
+            <el-upload
+              action="/files/corp/identity/yyzz/upload"
+              list-type="picture-card"
+              :on-preview="handlePictureCardPreview"
+              :on-remove="handleRemove"
+              :on-success="onSuccess"
+              :limit="1"
+              :on-exceed="outLimit"
+            >
+              <i class="el-icon-plus"></i>
+            </el-upload>
+          </el-form-item>
+          <el-form-item label="组织机构代码证(最大支持2M)" class="zhizhao">
+            <el-upload
+              action="/files/corp/identity/zzjgdm/upload"
+              list-type="picture-card"
+              :on-preview="handlePictureCardPreview"
+              :on-remove="handleRemove"
+              :on-success="onSuccess"
+              :limit="1"
+              :on-exceed="outLimit"
+            >
+              <i class="el-icon-plus"></i>
+            </el-upload>
+          </el-form-item>
+          <el-form-item label="企业LOGO 最大支持100KB)" class="zhizhao">
+            <el-upload
+              action="/files/corp/identity/upload"
+              list-type="picture-card"
+              :on-preview="handlePictureCardPreview"
+              :on-remove="handleRemove"
+              :on-success="logoUpload"
+              :limit="1"
+              :on-exceed="outLimit"
+            >
+              <i class="el-icon-plus"></i>
+            </el-upload>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+    <el-dialog :visible="dialogVisible">
+      <img :src="dialogImageUrl" />
+    </el-dialog>
+    <el-col :span="12" style="text-align:center;">
+      <el-button style="margin-top: 12px;" @click="toBack">返回上一页</el-button>
+    </el-col>
+    <el-col :span="12" style="text-align:center;">
+      <el-button style="margin-top: 12px;" type="success" @click="onSubmit">提交</el-button>
+    </el-col>
+  </div>
+</template>
+
+<script>
+import { mapActions, mapState } from 'vuex';
+export default {
+  name: 'business',
+  props: {},
+  components: {},
+  data: () => ({
+    form: {
+      identity: { tags: [] },
+    },
+    // imgs:[],
+    checkList: [],
+    dialogImageUrl: '',
+    dialogVisible: false,
+    value: '',
+    nature: [],
+    industry: [],
+    capital: [],
+    hylbList: [],
+    dwxzList: [],
+    zczjList: [],
+    dwbqList: [],
+  }),
+  created() {
+    this.otherList();
+  },
+  computed: {},
+  methods: {
+    ...mapActions(['dicOperation']),
+    handleRemove(file, fileList) {
+      console.log(file, fileList);
+    },
+    handlePictureCardPreview(file) {
+      this.dialogImageUrl = file.url;
+      this.dialogVisible = true;
+    },
+    onSubmit() {
+      this.$emit(`onSubmit`, this.form);
+    },
+    onSuccess(response, type) {
+      if (this.form.identity.ident_pics) {
+        this.form.identity.ident_pics.push({ title: response.uri, name: response.name });
+      } else {
+        let data = [];
+        let object = { title: response.uri, name: response.name };
+        data.push(object);
+        this.$set(this.form.identity, `ident_pics`, data);
+      }
+    },
+    logoUpload(response) {
+      this.form.logo_url = response.url;
+    },
+    outLimit() {
+      this.$message.error('只允许上传1个文件');
+    },
+    toBack() {
+      this.$emit('back');
+    },
+    async otherList() {
+      let result = await this.dicOperation('hylb');
+      if (`${result.errcode}` === '0') {
+        //给this=>vue的实例下在中的list属性,赋予result。data的值
+        this.$set(this, `hylbList`, result.data);
+      } else {
+        this.$message.error(result.errmsg ? result.errmsg : 'error');
+      }
+      result = await this.dicOperation('dwxz');
+      if (`${result.errcode}` === '0') {
+        //给this=>vue的实例下在中的list属性,赋予result。data的值
+        this.$set(this, `dwxzList`, result.data);
+      } else {
+        this.$message.error(result.errmsg ? result.errmsg : 'error');
+      }
+      result = await this.dicOperation('zczj');
+      if (`${result.errcode}` === '0') {
+        //给this=>vue的实例下在中的list属性,赋予result。data的值
+        this.$set(this, `zczjList`, result.data);
+      } else {
+        this.$message.error(result.errmsg ? result.errmsg : 'error');
+      }
+      result = await this.dicOperation('dwbq');
+      if (`${result.errcode}` === '0') {
+        //给this=>vue的实例下在中的list属性,赋予result。data的值
+        this.$set(this, `dwbqList`, result.data);
+      } else {
+        this.$message.error(result.errmsg ? result.errmsg : 'error');
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.mainLeftInfo {
+  padding: 20px 30px;
+}
+/deep/.el-tabs__active-bar {
+  background-color: transparent;
+}
+/deep/.el-tabs__item.is-active {
+  border: 2px solid #67c23a;
+  text-align: center;
+  color: #67c23a;
+}
+/deep/.el-tabs__item {
+  width: 110px;
+  padding: 0;
+  text-align: center;
+}
+/deep/.el-tabs__nav-wrap::after {
+  background-color: transparent;
+}
+/deep/.el-tabs__item:hover {
+  color: #67c23a;
+}
+/deep/.zhizhao .el-form-item__label {
+  text-align: center;
+  line-height: 25px;
+  padding: 48px 0;
+}
+.zj_tip {
+  color: #8a6d3b;
+  background-color: #fcf8e3;
+  padding: 15px;
+  margin-bottom: 20px;
+  border: 1px solid #faebcc;
+  border-radius: 4px;
+}
+</style>

+ 154 - 0
src/views/registerEnt/register.vue

@@ -0,0 +1,154 @@
+<template>
+  <div id="register">
+    <el-row>
+      <el-col :span="24" class="top">
+        <el-tag>{{ schoolName }}</el-tag>
+      </el-col>
+      <el-col :span="24" class="main">
+        <div class="w_1200">
+          <el-col :span="18" class="mainLeft">
+            <el-col :span="24" class="mainLeftTop">
+              <el-steps :active="active" finish-status="success" align-center>
+                <el-step title="步骤一:填写基本资料"> </el-step>
+                <el-step title="步骤二:填写认证资料"> </el-step>
+              </el-steps>
+            </el-col>
+            <basic v-if="active === 1" @next="next"></basic>
+            <business v-if="active === 2" @onSubmit="onSubmit" @back="back"></business>
+          </el-col>
+          <el-col :span="6" class="mainRight">
+            <span style="font-size: 18px;">常见问题</span>
+            <div>1.单位注册收不到验证码?</div>
+            1.您的手机具有短信拦截软件/功能,请检查拦截库中是否有验证短信; 2.您所在的区域运营商信号不稳定,验证码短信存在滞后现象,请您耐心等候;
+            3.您在注册过程中可能会存在浏览器不适配等原因,建议您下载并使用谷歌浏览器进行操作。
+            如以上三种情况均无法解决您收不到短信验证码的问题,则您的手机号码被运营商拉黑,需要您换一个手机号进行注册。
+            <div>2.证件无法上传,点击按钮没反应怎么办?</div>
+            浏览器兼容性问题,请使用Google或360浏览器;
+            <div>3.单位注册提示组织机构代码证号不正确?</div>
+            请仔细核对您填写的9位组织机构代码证号或18位统一社会信用代码证号。
+            <div>4.申请的招聘信息一直未通过怎么办?</div>
+            单位资质平台会在1-2个工作日内审核完毕,如果一直未审核,可以搜索相应学校就业信息网,查找学校联系方式,致电就业老师;
+            <div>5.单位已提交招聘申请,但是招聘信息有误,是否可以修改?</div>
+            已经递交申请,在审核中或已经审核通过,不可以修改; 若需要修改,则要联系学校就业老师,审核不通过招聘请求,单位可以重新提交修改。
+            <!-- <div>6.注册账号后为什么要关注公众号“云校招企业服务平台”?</div>
+            单位的平台认证通知、入校招聘通知都会通过“云校招企业服务平台”进行消息推送,请不要取关哦; -->
+          </el-col>
+        </div>
+      </el-col>
+      <el-col :span="24" class="down">
+        <div class="w_1200">
+          <span>
+            <!-- ©2015-2019 长沙市云研网络科技有限公司 版权所有 湘ICP备15008277号-1 -->
+          </span>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapActions } from 'vuex';
+import basic from '@/views/registerEnt/basic.vue';
+import business from '@/views/registerEnt/business.vue';
+export default {
+  name: 'register',
+  props: {},
+  components: {
+    basic,
+    business,
+  },
+  data: () => ({
+    schoolName: '长春大学入驻注册',
+    active: 1,
+    form: {},
+  }),
+  async created() {
+    await this.schCorps();
+  },
+  computed: {},
+  methods: {
+    ...mapActions(['corpReg', 'schCorps']),
+
+    next(data) {
+      if (this.active++ > 2) this.active = 0;
+      this.$set(this, `form`, data);
+    },
+    back() {
+      this.active = 1;
+    },
+    async onSubmit(data) {
+      let form = JSON.parse(JSON.stringify(this.form));
+      form['identity'] = data.identity;
+      //连接后台接口
+      let result = await this.corpReg({ data: form, schid: 999991, schname: '测试学校1' });
+      this.$message({
+        type: `${result.errcode}` === '0' ? 'success' : 'error',
+        message: `${result.errcode}` === '0' ? '注册成功' : result.errmsg,
+      });
+      if (`${result.errcode}` === '0') {
+        this.$router.push({ path: '/firm' });
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  margin: 0 auto;
+  width: 1200px;
+}
+.top {
+  width: 100%;
+  height: 74px;
+  line-height: 60px;
+  padding: 5px;
+  background-color: #fff;
+  border-top: 4px solid #44b549;
+  border-bottom: 1px solid #d9dadc;
+}
+/deep/.top .el-tag {
+  font-size: 21px;
+  color: #333;
+  background: #fff;
+  border: none;
+}
+.main {
+  width: 100%;
+  min-height: 500px;
+  background: #ccc;
+  padding: 20px 0;
+}
+.mainLeft {
+  width: 876px;
+  min-height: 500px;
+  background: #fff;
+  padding: 20px 0;
+}
+.mainLeftTop {
+  padding: 20px 30px;
+}
+
+.mainRight {
+  float: right;
+  min-height: 1000px;
+  background: #fff;
+  padding: 10px;
+  font-size: 14px;
+}
+.mainRight div {
+  border-top: 1px dashed #dddddd;
+  margin-top: 10px;
+  padding: 10px 0;
+  font-weight: bold;
+}
+.down {
+  width: 100%;
+  height: 67px;
+  text-align: center;
+  line-height: 67px;
+  background: #fff;
+  color: #d5d5d5;
+  font-size: 12px;
+}
+</style>