Browse Source

表单

master
aBin 5 years ago
parent
commit
e470589caf
  1. 28
      src/components/Introduce/FicHatch.vue
  2. 175
      src/components/Introduce/Model.vue
  3. 415
      src/components/Introduce/SettledModel.vue
  4. 3
      src/config/api.js
  5. 9
      src/plugins/ant-design-vue.js
  6. 87
      src/views/About/Children/Organ.vue
  7. 22
      src/views/Develop/Develop.vue
  8. 223
      src/views/Develop/components/AddModel.vue
  9. 9
      src/views/Hatch/Children/Fictitious.vue
  10. 2
      src/views/Hatch/Children/Incubator.vue
  11. 15
      src/views/Hatch/Children/Space.vue
  12. 231
      src/views/Hatch/Children/components/AddModel.vue

28
src/components/Introduce/FicHatch.vue

@ -3,8 +3,8 @@
<div class="top-bg">
<div class="words-content">
<p class="words-title">
<span v-if="typeNum === 0">数智创世代企业孵化器</span>
<span v-else>虚拟孵化器</span>
<span v-if="typeNum === 2">数智创世代企业孵化器</span>
<span v-if="typeNum === 3">虚拟孵化器</span>
</p>
<p class="con-con">
研究院的介绍包含研究院公司架构和各中心的介绍各中心介绍包含科创体系与科创能力咨询服务中心
@ -32,19 +32,15 @@
科技信息咨询服务中心科创战略协同研究中心山西奥依工业设计咨询服务中心
</p>
</div>
<a-button class="btn" type="primary">立即加入</a-button>
<!-- <a-button class="btn" type="primary">立即加入</a-button> -->
<add-model :value="typeNum" class="btn" style="height: 32px" />
</div>
<div>
<p class="words-title">
<span>入驻企业名录</span>
</p>
<div class="d-flex flex-wrap" style="padding: 0 25px 80px 25px; position: relative">
<div
:class="(index + 1) % 4 === 0 ? 'mr0' : ''"
:key="index"
class="ent-box"
v-for="(item, index) in lists"
>
<div :class="(index + 1) % 4 === 0 ? 'mr0' : ''" :key="index" class="ent-box" v-for="(item, index) in lists">
<div :style="{ background: colorList[index] }" class="ent-img-box">
<img :src="item.logoUrl" class="ent-img" />
</div>
@ -57,15 +53,19 @@
<span class="ent-rh">联系电话{{ item.tel }}</span>
</p>
</div>
<a-button class="btn" style="bottom: 20px" type="primary">入驻企业注册</a-button>
<!-- <a-button class="btn" style="bottom: 20px" type="primary">入驻企业注册</a-button> -->
<settled-model class="btn" style="bottom: 20px" :type-num="placeType" />
</div>
</div>
</div>
</template>
<script>
import AddModel from './../../views/Hatch/Children/components/AddModel.vue';
import SettledModel from './SettledModel.vue';
export default {
name: 'FicHatch',
components: { AddModel, SettledModel },
props: {
typeNum: {
type: Number,
@ -105,8 +105,16 @@ export default {
},
],
colorList: ['rgba(19, 172, 196, 0.3)', 'rgba(19,96,196,0.3)', 'rgba(162,19,196,0.3)', 'rgba(19,196,72,0.3)'],
placeType: 1,
};
},
created() {
if (this.typeNum === 2) {
this.placeType = 1;
} else {
this.placeType = 0;
}
},
};
</script>

175
src/components/Introduce/Model.vue

@ -7,126 +7,53 @@
<template>
<div>
<a-button @click="showModal" type="primary">立即加入</a-button>
<a-modal
:confirm-loading="confirmLoading"
:visible="visible"
@cancel="handleCancel"
@ok="handleOk(type)"
title="招聘信息"
width="50%"
>
<a-modal :confirm-loading="confirmLoading" :visible="visible" @cancel="handleCancel" @ok="handleOk(type)" title="招聘信息" width="50%">
<a-form :form="form">
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="姓名"
required
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="姓名" required>
<a-input placeholder="请输入姓名" v-model.trim="recruit.name" />
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="性别"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="性别">
<!-- 单选 -->
<a-radio-group v-model="recruit.sex">
<a-radio :value="0"></a-radio>
<a-radio :value="1"></a-radio>
</a-radio-group>
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="出生年月"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="出生年月">
<!-- 时间选择器时间点 -->
<a-date-picker @change="changeBirthday" class="fill-width" />
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="参加工作时间"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="参加工作时间">
<!-- 时间选择器时间点 -->
<a-date-picker @change="changeStartJob" class="fill-width" />
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="电话"
required
>
<a-input
@change="changePhone"
placeholder="请输入联系电话"
type="tel"
v-decorator="['tel', { rules: phoneRules }]"
/>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="电话" required>
<a-input @change="changePhone" placeholder="请输入联系电话" type="tel" v-decorator="['tel', { rules: phoneRules }]" />
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="图片验证码"
required
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="图片验证码" required>
<div class="d-flex flex-nowrap">
<a-input placeholder="图片验证码" type="number" v-model="codeNum" />
<img
:src="picCode.imageBase64"
@click="changePicCode"
class="code_img ml-2"
v-if="picCode && picCode.imageBase64"
/>
<img :src="picCode.imageBase64" @click="changePicCode" class="code_img ml-2" v-if="picCode && picCode.imageBase64" />
<a-button @click="changePicCode" class="code_img ml-2" size="small" v-else>获取验证码</a-button>
<!-- <a-input v-decorator="['account', { rules: rules.account }]" /> -->
</div>
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="短信验证码"
required
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="短信验证码" required>
<div class="d-flex flex-nowrap">
<a-input placeholder="请输入验证码" type="number" v-model="recruit.code" />
<a-button
class="code_img ml-2"
disabled
type="primary"
v-if="showInterval"
>重新发送 {{ interval }}</a-button>
<a-button
:disabled="recruit.isTel === false"
@click="getCode"
class="code_img ml-2"
type="primary"
v-else
>获取验证码</a-button>
<a-button class="code_img ml-2" disabled type="primary" v-if="showInterval">重新发送 {{ interval }}</a-button>
<a-button :disabled="recruit.isTel === false" @click="getCode" class="code_img ml-2" type="primary" v-else>获取验证码</a-button>
</div>
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="电子邮箱"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="电子邮箱">
<!-- 电子邮箱 -->
<a-input
@change="changeEamil"
placeholder="请输入电子邮箱..."
type="email"
v-decorator="['email', { rules: emailRules }]"
/>
<a-input @change="changeEamil" placeholder="请输入电子邮箱..." type="email" v-decorator="['email', { rules: emailRules }]" />
</a-form-item>
<!-- 是否在职 -->
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="是否在职"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="是否在职">
<!-- 单选 -->
<a-radio-group v-model="recruit.inWork">
<a-radio :value="1"></a-radio>
@ -134,88 +61,40 @@
</a-radio-group>
</a-form-item>
<!-- 现居住地 -->
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="现居住地"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="现居住地">
<a-input placeholder="请输入现居住地" v-model.trim="recruit.address" />
</a-form-item>
<!-- 户口所在地 -->
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="户口所在地"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="户口所在地">
<a-input placeholder="请输入户口所在地" v-model.trim="recruit.birthdayPlace" />
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="求职意向"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="求职意向" required>
<a-textarea placeholder="请输入求职意向..." v-model.trim="recruit.jobWilling" />
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="工作经历"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="工作经历">
<a-textarea placeholder="请输入工作经历..." v-model.trim="recruit.jobExpirence" />
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="教育经历"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="教育经历">
<a-textarea placeholder="请输入教育经历..." v-model.trim="recruit.educationExpirence" />
</a-form-item>
<!-- 语言能力 -->
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="语言能力"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="语言能力">
<a-textarea placeholder="请输入语言能力" v-model.trim="recruit.language" />
</a-form-item>
<!-- 专业技能 -->
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="专业技能"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="专业技能">
<a-textarea placeholder="请输入专业技能" v-model.trim="recruit.skill" />
</a-form-item>
<!-- 获得证书 -->
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="获得证书"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="获得证书">
<a-textarea placeholder="请输入获得证书" v-model.trim="recruit.zhengShu" />
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="自我评价"
>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="自我评价">
<a-textarea placeholder="请输入自我评价..." v-model.trim="recruit.personalDescription" />
</a-form-item>
<a-form-item
:label-col="formItemLayout.labelCol"
:wrapper-col="formItemLayout.wrapperCol"
label="上传附件"
>
<a-upload
:action="action"
:default-file-list="fileList"
@change="fileChange"
list-type="picture"
name="files"
>
<a-button>
<a-icon type="upload" />点击上传附件
</a-button>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="上传附件">
<a-upload :action="action" :default-file-list="fileList" @change="fileChange" list-type="picture" name="files">
<a-button> <a-icon type="upload" />点击上传附件 </a-button>
</a-upload>
</a-form-item>
</a-form>

415
src/components/Introduce/SettledModel.vue

@ -0,0 +1,415 @@
<template>
<div>
<a-button type="primary" @click="showModal"> 入驻企业注册 </a-button>
<a-modal width="50%" :title="title" :visible="visible" :confirm-loading="confirmLoading" @ok="handleOk" @cancel="handleCancel">
<a-form :form="form" v-if="current === 0">
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="公司名称" required>
<a-input v-model.trim="platform.company" placeholder="请输入公司名称..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="成立时间" required>
<!-- 时间选择器时间点 -->
<a-date-picker @change="changeBirthday" />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="法人代码" required>
<a-input v-model.trim="platform.legalPerson" placeholder="请输入法人代码..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="现注册地址" required>
<a-input v-model.trim="platform.registerSite" placeholder="请输入现注册地址..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="注册资金(单位:万)">
<a-input type="number" v-model.trim="platform.registerMoney" placeholder="请输入注册资金..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="员工人数">
<a-input type="number" v-model.trim="platform.staffCount" placeholder="请输入员工人数..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="其中研发人数">
<a-input type="number" v-model.trim="platform.resarchStaff" placeholder="请输入研发人数..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="大专以上人员">
<a-input type="number" v-model.trim="platform.juniorCollege" placeholder="请输入员工人数..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="主营业务">
<a-input v-model.trim="platform.mainBusiness" placeholder="请输入主营业务..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="营业收入(单位:万)">
<a-input type="number" v-model.trim="platform.businessIncome" placeholder="请输入营业收入..." />
</a-form-item>
</a-form>
<a-form :form="form" v-if="current === 1">
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="产品/技术阶段" required>
<!-- 单选 -->
<a-radio-group v-model="platform.productTech">
<a-radio :value="0" style="margin-right: 20px"> 创意阶段 </a-radio>
<a-radio :value="1" style="margin-right: 20px"> 研发阶段 </a-radio>
<a-radio :value="2" style="margin-right: 20px"> 转化阶段 </a-radio>
<a-radio :value="3" style="margin-right: 20px"> 原型样品 </a-radio>
<a-radio :value="4"> 产业化开发 </a-radio>
</a-radio-group>
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="申请专利数">
<a-input type="number" v-model.trim="platform.patentApply" placeholder="请输入申请专利数..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="授权专利数">
<a-input type="number" v-model.trim="platform.patentGrented" placeholder="请输入授权专利数..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="发明专利数">
<a-input type="number" v-model.trim="platform.patentInvent" placeholder="请输入发明专利数..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="软件著作权">
<a-input v-model.trim="platform.softwareRegister" placeholder="请输入软件著作权..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="动植物新品种">
<a-input v-model.trim="platform.plantKind" placeholder="请输入动植物新品种..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="集成电路布图设计">
<a-input v-model.trim="platform.electricDesign" placeholder="请输入集成电路布图设计..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="合作单位">
<a-input v-model.trim="platform.friendCompany" placeholder="请输入合作单位..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="上传附件">
<a-upload :action="action" :default-file-list="fileList" @change="fileChange" list-type="picture" name="files">
<p>1.营业执照复印件尚无注册的无需梯控</p>
<p>2.法定代表或授权代表身份证复印件</p>
<p>3.主导产品或技术简介</p>
<a-button> <a-icon type="upload" />点击上传附件 </a-button>
</a-upload>
</a-form-item>
</a-form>
<a-form :form="form" v-if="current === 2">
<!-- <a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="公司名称">
<a-input v-model.trim="platform.companyName" placeholder="请输入公司名称..." />
</a-form-item> -->
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="姓名" required>
<a-input v-model.trim="platform.manName" placeholder="请输入申请人姓名..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="性别" required>
<!-- 单选 -->
<a-radio-group v-model="platform.sex">
<a-radio :value="1" style="margin-right: 100px"> </a-radio>
<a-radio :value="0"> </a-radio>
</a-radio-group>
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="职务" required>
<a-input v-model.trim="platform.position" placeholder="请输入申请人职务..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="联系电话" required>
<a-input @change="changePhone" type="tel" v-decorator="['tel', { rules: phoneRules }]" placeholder="请输入联系电话.." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="图片验证码" required>
<div class="d-flex flex-nowrap">
<a-input placeholder="图片验证码" type="number" v-model="codeNum" />
<img :src="picCode.imageBase64" @click="changePicCode" class="code_img ml-2" v-if="picCode && picCode.imageBase64" />
<a-button @click="changePicCode" class="code_img ml-2" size="small" v-else>获取验证码</a-button>
<!-- <a-input v-decorator="['account', { rules: rules.account }]" /> -->
</div>
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="短信验证码" required>
<div class="d-flex flex-nowrap">
<a-input placeholder="请输入验证码" type="number" v-model="platform.code" />
<a-button class="code_img ml-2" disabled type="primary" v-if="showInterval">重新发送 {{ interval }}</a-button>
<a-button :disabled="platform.isTel === false" @click="getCode" class="code_img ml-2" type="primary" v-else>
获取验证码
</a-button>
</div>
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="电子邮箱">
<!-- 电子邮箱 -->
<a-input @change="changeEamil" type="email" v-decorator="['email', { rules: emailRules }]" placeholder="请输入电子邮箱..." />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="身份证号" required>
<!-- 身份证号 -->
<a-input @change="changeIdCard" v-decorator="['idCard', { rules: idCardRules }]" placeholder="请输入身份证号..." />
</a-form-item>
</a-form>
<a-steps :current="current">
<a-step style="cursor: pointer" @click="current = 0">
<template slot="title">
<span v-if="current === 0">Waiting...</span>
<span v-else> 完成</span>
</template>
<span slot="description">企业基本信息</span>
</a-step>
<a-step style="cursor: pointer" @click="current = 1" :title="current > 1 ? '完成' : 'Waiting...'" description="企业详细信息" />
<a-step style="cursor: pointer" @click="current = 2" :title="current > 2 ? '完成' : 'Waiting...'" description="申请人基本信息" />
</a-steps>
</a-modal>
</div>
</template>
<script>
import { mapState, mapActions } from 'vuex';
import { Settled, upload } from 'config/api';
const formItemLayout = {
labelCol: { span: 5 },
wrapperCol: { span: 18 },
};
const formTailLayout = {
labelCol: { span: 6 },
wrapperCol: { span: 18, offset: 6 },
};
export default {
name: 'SettledModel',
props: {
typeNum: {
type: Number,
default: 1,
},
},
data() {
return {
form: this.$form.createForm(this, { name: 'submit' }),
visible: false,
current: 0,
action: upload,
fileList: [],
title: '入驻企业注册',
str: '申请加入',
formItemLayout,
formTailLayout,
confirmLoading: false,
platform: {
manName: '', //
sex: 1, // 01
position: '', //
tel: '', //
isTel: false,
email: '', //
isEmail: false,
code: '', //
idCard: '', //
isIdCard: false,
company: '', //
buildTime: 0, //
legalPerson: '', //
registerMoney: 0, //
staffCount: 0, //
resarchStaff: 0, //
juniorCollege: 0, //
mainBusiness: '', //
businessIncome: 0, //
registerSite: '', //
productTech: 0, //
patentApply: 0, //
patentGrented: 0, //
patentInvent: 0, //
softwareRegister: '', //
plantKind: '', //
electricDesign: '', //
friendCompany: '', //
files: [], // id
},
phoneRules: [
{ required: true, pattern: new RegExp(/^[1][3,4,5,6,7,8,9][0-9]{9}$/), whitespace: true, message: '请输入正确的手机号' },
],
codeRules: [
{ required: true, message: '请输入验证码' },
{ min: 4, max: 4, message: '请输入4位短信验证码' },
],
emailRules: [
{
pattern: new RegExp(/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/),
whitespace: true,
message: '请输入正确的邮箱格式',
},
],
idCardRules: [
{
required: true,
pattern: new RegExp(/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/),
whitespace: true,
message: '请输入身份证号',
},
],
codeNum: '',
showInterval: false,
codeTimer: null,
interval: 120, //
};
},
computed: mapState('user', ['picCode']),
async created() {
console.log(this.typeNum);
this.sendPicCode();
await this.getUserSer();
if (this.userSer) {
if (this.userSer.name) {
this.platform.manName = this.userSer.name;
}
if (this.userSer.phone) {
this.platform.tel = this.userSer.phone;
}
if (this.userSer.companyName) {
this.platform.companyName = this.userSer.companyName;
}
}
},
methods: {
...mapActions('user', ['sendCode', 'sendPicCode']),
...mapActions('home', ['getUserSer']),
//
showModal() {
this.visible = true;
},
//
handleCancel(e) {
this.visible = false;
},
//
changePhone(e) {
this.platform.tel = e.target.value;
this.platform.isTel = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(this.platform.tel);
},
//
changeEamil(e) {
this.platform.email = e.target.value;
this.platform.isEmail = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(this.platform.email);
},
//
changeIdCard(e) {
this.platform.idCard = e.target.value;
this.platform.isIdCard = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/.test(this.platform.idCard);
},
//
async getCode() {
console.log(111);
try {
const params = {
phone: this.platform.tel,
verificationCodeId: this.picCode.verificationCodeId,
verificationCodeValue: this.codeNum,
};
await this.sendCode(params);
this.getCodeInterval();
} catch (error) {
// throw new Error(`SignIn.vue method getCode: ${error}`);
console.log(error);
}
},
//
getCodeInterval() {
this.showInterval = true;
this.codeTimer = setInterval(() => {
if (this.interval === 0) {
clearInterval(this.codeTimer);
this.codeTimer = null;
this.showInterval = false;
this.interval = 120;
return;
}
this.interval = this.interval - 1;
}, 1000);
},
//
changePicCode() {
this.sendPicCode();
},
//
changeBirthday(date, dateString) {
this.platform.buildTime = this.$moment(date).unix() * 1000;
// console.log(this.$moment(date).unix(), dateString);
},
//
handleOk() {
if (this.current !== 2) {
this.current++;
} else {
if (this.platform.company === '') {
this.$message.error('请输入公司名称');
} else if (this.platform.buildTime === 0) {
this.$message.error('请选择成立时间');
} else if (this.platform.legalPerson === '') {
this.$message.error('请输入法人代码');
} else if (this.platform.registerSite === '') {
this.$message.error('请输入现注册地址');
} else if (this.platform.manName === '') {
this.$message.error('请输入姓名');
} else if (this.platform.position === '') {
this.$message.error('请输入职务');
} else if (this.platform.isTel === false) {
this.$message.error('请输入联系电话');
} else if (this.platform.idCard === '') {
this.$message.error('请输入身份证号');
} else {
for (var i = 0; i < this.fileList.length; i++) {
this.platform.files = this.platform.files.concat(this.fileList[i].response.data[0].id);
}
this.addSettled();
}
}
},
async addSettled() {
this.confirmLoading = true;
try {
const params = {
param: {
buildTime: this.platform.buildTime,
businessIncome: this.platform.businessIncome,
company: this.platform.company,
electricDesign: this.platform.electricDesign,
email: this.platform.email,
fileList: this.platform.files,
friendCompany: this.platform.friendCompany,
gender: this.platform.sex,
idCard: this.platform.idCard,
juniorCollege: this.platform.juniorCollege,
legalPerson: this.platform.legalPerson,
mainBusiness: this.platform.mainBusiness,
name: this.platform.manName,
patentApply: this.platform.patentApply,
patentGrented: this.platform.patentGrented,
patentInvent: this.platform.patentInvent,
phone: this.platform.tel,
placeType: this.typeNum, // 0:1:
plantKind: this.platform.plantKind,
position: this.platform.position,
productTech: this.platform.productTech,
registerMoney: this.platform.registerMoney,
registerSite: this.platform.registerSite,
resarchStaff: this.platform.resarchStaff,
softwareRegister: this.platform.softwareRegister,
staffCount: this.platform.staffCount,
},
};
console.log(params);
const res = await Settled(params);
console.log(res);
const { code, msg, data } = res.data;
if (code === 200) {
this.$message.success('申请成功');
this.visible = false;
this.confirmLoading = false;
for (let key in this.platform) {
this.platform[key] = '';
}
this.platform.isTel = false;
this.platform.isEmail = false;
this.platform.isIdCard = false;
} else {
throw msg;
console.log('失败1');
this.confirmLoading = false;
}
} catch (error) {
console.log('失败2');
this.$message.error(error);
this.confirmLoading = false;
}
},
fileChange(info) {
this.fileList = info.fileList;
},
},
};
</script>
<style lang="stylus" scoped>
.must-color {
color: red;
}
.code_img {
height: 32px;
width: 120px;
}
</style>

3
src/config/api.js

@ -112,3 +112,6 @@ export const selProductMes = params => axios.post(`${product}/selProductMes`, pa
// 查询 创业导师
export const selTeacher = () => axios.post(`${tutorRelated}/selTeacher`);
// 入驻企业申请
export const Settled = params => axios.post(`${wiki}/place/apply`, params);

9
src/plugins/ant-design-vue.js

@ -1,3 +1,10 @@
/*
* @Author: wally
* @email: 18603454788@163.com
* @Date: 2021-01-13 16:33:32
* @LastEditors: wally
* @LastEditTime: 2021-01-18 12:17:03
*/
import Vue from 'vue';
import {
Pagination,
@ -32,6 +39,7 @@ import {
Breadcrumb,
Tooltip,
Divider,
Steps,
} from 'ant-design-vue';
import { ConfigProvider } from 'ant-design-vue';
Vue.component(ConfigProvider.name, ConfigProvider);
@ -65,6 +73,7 @@ Vue.use(Layout);
Vue.use(Breadcrumb);
Vue.use(Tooltip);
Vue.use(Divider);
Vue.use(Steps);
Vue.prototype.$message = message;
Vue.prototype.$notification = notification;

87
src/views/About/Children/Organ.vue

@ -1,17 +1,33 @@
<!--
* @Author: wally
* @email: 18603454788@163.com
* @Date: 2021-01-13 17:30:54
* @LastEditors: wally
* @LastEditTime: 2021-01-18 10:59:20
-->
<template>
<div>
<div class="white pa-3">
<rich-text :title="title" />
<!-- <rich-text :title="title" /> -->
<div>
<div class="font-16 textColor line-height-36">
研究院下没六个咨询服务中心和一个专家委员会科创体系与科创能力咨询服务中心知识产权与技术转移咨询服务中心数字化转型咨询服务中心科技信息咨询服务中心科创战略协同研究中心山西奥依工业设计咨询服务中心
</div>
<div class="font-16 textColor line-height-36">
以中心为主体以团队为单元以平台为支撑围绕创新创业发展需求整合各类优质资源打造全链条一体化开放式创新创业新生态
</div>
<div :style="{ height: '500px' }" id="treeChart"></div>
</div>
</div>
</div>
</template>
<script>
import RichText from 'components/Introduce/RichText.vue';
// import RichText from 'components/Introduce/RichText.vue';
export default {
name: 'Introduce',
components: { RichText },
// components: { RichText },
data() {
return {
title: '关于我们-组织机构',
@ -20,10 +36,71 @@ export default {
{ name: '关于我们', url: '/About/Introduce' },
{ name: '组织机构', url: '' },
],
treedata: [
{
//[]
name: '山西智汇协同创新研究院有限公司',
children: [
{ name: '三大平台', children: [{ name: '数智网络平台' }, { name: '战略合作平台' }, { name: '知识培训平台' }] },
{ name: '专家委员会' },
{
name: '咨询服务中心',
children: [
{ name: '科创体系与科创能力咨询服务中心' },
{ name: '知识产权与技术转移咨询服务中心' },
{ name: '数字化转型咨询服务中心' },
{ name: '科技信息咨询服务中心' },
{ name: '科创战略协同研究中心' },
{ name: '山西奥依工业设计咨询服务中心' },
],
},
],
},
],
};
},
methods: {},
mounted() {
this.showChart();
},
methods: {
showChart() {
// domecharts
var myChart = this.$echarts.init(document.getElementById('treeChart'));
//
var option = {
tooltip: {
trigger: 'item',
triggerOn: 'mousemove',
},
series: [
{
type: 'tree',
data: this.treedata,
left: '30%',
right: '2%',
top: '8%',
bottom: '2%',
symbol: 'emptyCircle',
symbolSize: 7,
lineStyle: { width: 4 },
itemStyle: { borderWidth: 3, borderColor: '#E77816' },
label: { position: 'left', verticalAlign: 'middle', align: 'right', fontSize: 16 },
leaves: {
label: {
position: 'top',
verticalAlign: 'middle',
align: 'right',
},
},
expandAndCollapse: true,
animationDurationUpdate: 750,
},
],
};
// 使
myChart.setOption(option);
},
},
};
</script>

22
src/views/Develop/Develop.vue

@ -3,7 +3,7 @@
* @email: 18603454788@163.com
* @Date: 2021-01-14 13:10:21
* @LastEditors: wally
* @LastEditTime: 2021-01-15 21:46:32
* @LastEditTime: 2021-01-18 12:24:12
-->
@ -28,13 +28,11 @@
</div>
</div>
<div class="d-flex flex-row-reverse mt-8">
<a-button class="dev-btn" type="primary">项目合作</a-button>
<!-- <a-button class="dev-btn" type="primary">项目合作</a-button> -->
<add-model class="dev-btn" />
</div>
</div>
<div
class="inner dev-img-box d-flex flex-wrap"
style="margin-top: 40px !important; margin-bottom: 40px !important"
>
<div class="inner dev-img-box d-flex flex-wrap" style="margin-top: 40px !important; margin-bottom: 40px !important">
<div :key="index" class="d-flex pic-box" style="width: 50%" v-for="(item, index) in lists">
<img :src="item.url" @click="showProfile = true" style="width: 100%; cursor: pointer" />
<div class="txt pa-5">
@ -43,14 +41,7 @@
</div>
</div>
</div>
<a-modal
:footer="null"
:visible="showProfile"
@cancel="handleCancel"
@ok="handleCancel"
title="XX项目介绍"
width="50%"
>
<a-modal :footer="null" :visible="showProfile" @cancel="handleCancel" @ok="handleCancel" title="XX项目介绍" width="50%">
<p class="line-height-30">
公司采取理事会经理层事业部组织架构公司理事会组成按理事会章程执行经理层设总经理 1 副总经理 2-3 各事业部设部长 1
副部长 1
@ -74,9 +65,10 @@
<script>
import Banner from 'components/Banner/Banner.vue';
import AddModel from './components/AddModel.vue';
export default {
name: 'Activity',
components: { Banner },
components: { Banner, AddModel },
data() {
return {
lists: [

223
src/views/Develop/components/AddModel.vue

@ -0,0 +1,223 @@
<template>
<div>
<a-button @click="showModal" style="height: 100%; width: 100%; font-size: 28px" type="primary">{{ str }}</a-button>
<a-modal :confirm-loading="confirmLoading" :title="title" :visible="visible" @cancel="handleCancel" @ok="handleOk" width="50%">
<a-form :form="form">
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="公司名称">
<a-input placeholder="请输入公司名称..." v-model.trim="platform.companyName" />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="联系人" required>
<a-input placeholder="请输入联系人..." v-model.trim="platform.manName" />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="联系电话" required>
<a-input @change="changePhone" placeholder="请输入联系电话.." type="tel" v-decorator="['tel', { rules: phoneRules }]" />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="图片验证码" required>
<div class="d-flex flex-nowrap">
<a-input placeholder="图片验证码" type="number" v-model="codeNum" />
<img :src="picCode.imageBase64" @click="changePicCode" class="code_img ml-2" v-if="picCode && picCode.imageBase64" />
<a-button @click="changePicCode" class="code_img ml-2" size="small" v-else>获取验证码</a-button>
<!-- <a-input v-decorator="['account', { rules: rules.account }]" /> -->
</div>
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="短信验证码" required>
<div class="d-flex flex-nowrap">
<a-input placeholder="请输入验证码" type="number" v-model="platform.code" />
<a-button class="code_img ml-2" disabled type="primary" v-if="showInterval">重新发送 {{ interval }}</a-button>
<a-button :disabled="platform.isTel === false" @click="getCode" class="code_img ml-2" type="primary" v-else>
获取验证码
</a-button>
</div>
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="合作信息简述" required>
<a-textarea placeholder="请输入合作信息简述..." style="height: 120px" v-model.trim="platform.describe" />
</a-form-item>
</a-form>
</a-modal>
</div>
</template>
<script>
import { mapState, mapActions } from 'vuex';
import { JoinPlatform } from 'config/api';
const formItemLayout = {
labelCol: { span: 5 },
wrapperCol: { span: 18 },
};
const formTailLayout = {
labelCol: { span: 6 },
wrapperCol: { span: 18, offset: 6 },
};
export default {
name: 'AddModel',
props: {
value: {
type: Number,
default: 1,
},
},
data() {
return {
form: this.$form.createForm(this, { name: 'submit' }),
visible: false,
title: '项目合作',
str: '项目合作',
formItemLayout,
formTailLayout,
confirmLoading: false,
platform: {
companyName: '', //
manName: '', //
tel: '', //
describe: '', //
code: '', //
val: 0,
isTel: false,
},
codeRules: [
{ required: true, message: '请输入验证码' },
{ min: 4, max: 4, message: '请输入4位短信验证码' },
],
codeNum: '',
showInterval: false,
codeTimer: null,
interval: 120, //
phoneRules: [
{ required: true, pattern: new RegExp(/^[1][3,4,5,6,7,8,9][0-9]{9}$/), whitespace: true, message: '请输入正确的手机号' },
],
};
},
computed: mapState('user', ['picCode']),
async created() {
this.sendPicCode();
await this.getUserSer();
if (this.userSer) {
if (this.userSer.name) {
this.platform.manName = this.userSer.name;
}
if (this.userSer.phone) {
this.platform.tel = this.userSer.phone;
}
if (this.userSer.companyName) {
this.platform.companyName = this.userSer.companyName;
}
}
},
methods: {
...mapActions('user', ['sendCode', 'sendPicCode']),
...mapActions('home', ['getUserSer']),
//
showModal() {
this.visible = true;
console.log(this.value);
},
//
handleCancel(e) {
this.visible = false;
},
//
changePhone(e) {
this.platform.tel = e.target.value;
this.platform.isTel = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(this.platform.tel);
},
//
handleOk() {
if (!this.platform.manName) {
this.$message.error('请输入联系人');
} else if (!this.platform.tel) {
this.$message.error('请输入联系电话');
} else if (!this.platform.code) {
this.$message.error('请输入验证码');
} else if (!this.platform.describe) {
this.$message.error('请输入项目信息简述');
} else {
if (this.platform.isTel) {
this.subMitAdd();
} else {
this.$message.error('请输入正确的联系电话');
}
}
},
//
async subMitAdd() {
this.confirmLoading = true;
try {
const params = {
param: {
code: this.platform.code,
companyName: this.platform.companyName,
contactName: this.platform.manName,
contactPhone: this.platform.tel,
description: this.platform.describe,
type: 4,
},
};
const res = await JoinPlatform(params);
const { code, msg, data } = res.data;
if (code === 200) {
this.$message.success('申请成功');
this.visible = false;
this.confirmLoading = false;
for (let key in this.platform) {
this.platform[key] = '';
}
this.platform.isTel = false;
} else {
throw msg;
this.confirmLoading = false;
}
} catch (error) {
this.$message.error(error);
this.confirmLoading = false;
}
},
//
async getCode() {
console.log(111);
try {
const params = {
phone: this.platform.tel,
verificationCodeId: this.picCode.verificationCodeId,
verificationCodeValue: this.codeNum,
};
await this.sendCode(params);
this.getCodeInterval();
} catch (error) {
// throw new Error(`SignIn.vue method getCode: ${error}`);
console.log(error);
}
},
//
getCodeInterval() {
this.showInterval = true;
this.codeTimer = setInterval(() => {
if (this.interval === 0) {
clearInterval(this.codeTimer);
this.codeTimer = null;
this.showInterval = false;
this.interval = 120;
return;
}
this.interval = this.interval - 1;
}, 1000);
},
//
changePicCode() {
this.sendPicCode();
},
},
};
</script>
<style lang="stylus" scoped>
.must-color {
color: red;
}
.code_img {
height: 32px;
width: 120px;
}
</style>

9
src/views/Hatch/Children/Fictitious.vue

@ -1,6 +1,13 @@
<!--
* @Author: wally
* @email: 18603454788@163.com
* @Date: 2021-01-14 17:34:33
* @LastEditors: wally
* @LastEditTime: 2021-01-18 11:43:20
-->
<template>
<div>
<fic-hatch :type-num="1" />
<fic-hatch :type-num="3" />
</div>
</template>
<script>

2
src/views/Hatch/Children/Incubator.vue

@ -1,6 +1,6 @@
<template>
<div>
<fic-hatch :type-num="0" />
<fic-hatch :type-num="2" />
</div>
</template>
<script>

15
src/views/Hatch/Children/Space.vue

@ -3,7 +3,7 @@
* @email: 18603454788@163.com
* @Date: 2021-01-14 17:29:47
* @LastEditors: wally
* @LastEditTime: 2021-01-14 18:19:17
* @LastEditTime: 2021-01-18 11:40:41
-->
<!--
* @Author: wally
@ -25,16 +25,12 @@
科技信息咨询服务中心科创战略协同研究中心山西奥依工业设计咨询服务中心
</p>
</div>
<a-button class="btn" type="primary">申请加入</a-button>
<!-- <a-button class="btn" type="primary">申请加入</a-button> -->
<add-model :value="1" class="btn" style="height: 32px" />
</div>
<div>
<div class="content-box">
<div
:key="index"
@click="jumpUrl(index)"
style="cursor: pointer"
v-for="(item, index) in list"
>
<div :key="index" @click="jumpUrl(index)" style="cursor: pointer" v-for="(item, index) in list">
<div class="d-flex justify-space-between" v-if="index % 2 === 0">
<img :src="item.imgUrl" style="width: 48%" />
<div class="introduce-box" style="width: 52% !important">
@ -55,8 +51,11 @@
</div>
</template>
<script>
import AddModel from './components/AddModel.vue';
export default {
name: 'Space',
components: { AddModel },
data() {
return {
list: [

231
src/views/Hatch/Children/components/AddModel.vue

@ -0,0 +1,231 @@
<template>
<div>
<a-button @click="showModal" style="height: 100%; width: 100%" type="primary">{{ str }}</a-button>
<a-modal :confirm-loading="confirmLoading" :title="title" :visible="visible" @cancel="handleCancel" @ok="handleOk" width="50%">
<p style="text-align: center" v-show="value === 1">
<a-radio-group style="margin-bottom: 20px !important" v-model="platform.val">
<a-radio :value="2" style="margin-right: 100px">实体空间</a-radio>
<a-radio :value="3">虚拟空间</a-radio>
</a-radio-group>
</p>
<a-form :form="form">
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="公司名称">
<a-input placeholder="请输入公司名称..." v-model.trim="platform.companyName" />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="联系人" required>
<a-input placeholder="请输入联系人..." v-model.trim="platform.manName" />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="联系电话" required>
<a-input @change="changePhone" placeholder="请输入联系电话.." type="tel" v-decorator="['tel', { rules: phoneRules }]" />
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="图片验证码" required>
<div class="d-flex flex-nowrap">
<a-input placeholder="图片验证码" type="number" v-model="codeNum" />
<img :src="picCode.imageBase64" @click="changePicCode" class="code_img ml-2" v-if="picCode && picCode.imageBase64" />
<a-button @click="changePicCode" class="code_img ml-2" size="small" v-else>获取验证码</a-button>
<!-- <a-input v-decorator="['account', { rules: rules.account }]" /> -->
</div>
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="短信验证码" required>
<div class="d-flex flex-nowrap">
<a-input placeholder="请输入验证码" type="number" v-model="platform.code" />
<a-button class="code_img ml-2" disabled type="primary" v-if="showInterval">重新发送 {{ interval }}</a-button>
<a-button :disabled="platform.isTel === false" @click="getCode" class="code_img ml-2" type="primary" v-else>
获取验证码
</a-button>
</div>
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="合作信息简述" required>
<a-textarea placeholder="请输入合作信息简述..." style="height: 120px" v-model.trim="platform.describe" />
</a-form-item>
</a-form>
</a-modal>
</div>
</template>
<script>
import { mapState, mapActions } from 'vuex';
import { JoinPlatform } from 'config/api';
const formItemLayout = {
labelCol: { span: 5 },
wrapperCol: { span: 18 },
};
const formTailLayout = {
labelCol: { span: 6 },
wrapperCol: { span: 18, offset: 6 },
};
export default {
name: 'AddModel',
props: {
value: {
type: Number,
default: 1,
},
},
data() {
return {
form: this.$form.createForm(this, { name: 'submit' }),
visible: false,
title: '申请加入',
str: '申请加入',
formItemLayout,
formTailLayout,
confirmLoading: false,
platform: {
companyName: '', //
manName: '', //
tel: '', //
describe: '', //
code: '', //
val: 0,
isTel: false,
},
codeRules: [
{ required: true, message: '请输入验证码' },
{ min: 4, max: 4, message: '请输入4位短信验证码' },
],
codeNum: '',
showInterval: false,
codeTimer: null,
interval: 120, //
phoneRules: [
{ required: true, pattern: new RegExp(/^[1][3,4,5,6,7,8,9][0-9]{9}$/), whitespace: true, message: '请输入正确的手机号' },
],
};
},
computed: mapState('user', ['picCode']),
async created() {
this.sendPicCode();
await this.getUserSer();
if (this.userSer) {
if (this.userSer.name) {
this.platform.manName = this.userSer.name;
}
if (this.userSer.phone) {
this.platform.tel = this.userSer.phone;
}
if (this.userSer.companyName) {
this.platform.companyName = this.userSer.companyName;
}
}
},
methods: {
...mapActions('user', ['sendCode', 'sendPicCode']),
...mapActions('home', ['getUserSer']),
//
showModal() {
this.visible = true;
console.log(this.value);
},
//
handleCancel(e) {
this.visible = false;
},
//
changePhone(e) {
this.platform.tel = e.target.value;
this.platform.isTel = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(this.platform.tel);
},
//
handleOk() {
if (!this.platform.manName) {
this.$message.error('请输入联系人');
} else if (!this.platform.tel) {
this.$message.error('请输入联系电话');
} else if (!this.platform.code) {
this.$message.error('请输入验证码');
} else if (!this.platform.describe) {
this.$message.error('请输入项目信息简述');
} else if (this.value === 1 && !this.platform.val) {
this.$message.error('请选择孵化器');
} else {
if (this.platform.isTel) {
this.subMitAdd();
} else {
this.$message.error('请输入正确的联系电话');
}
}
},
//
async subMitAdd() {
this.confirmLoading = true;
try {
const params = {
param: {
code: this.platform.code,
companyName: this.platform.companyName,
contactName: this.platform.manName,
contactPhone: this.platform.tel,
description: this.platform.describe,
type: this.value === 1 ? this.platform.val : this.value,
},
};
const res = await JoinPlatform(params);
const { code, msg, data } = res.data;
if (code === 200) {
this.$message.success('申请成功');
this.visible = false;
this.confirmLoading = false;
for (let key in this.platform) {
this.platform[key] = '';
}
this.platform.isTel = false;
} else {
throw msg;
this.confirmLoading = false;
}
} catch (error) {
this.$message.error(error);
this.confirmLoading = false;
}
},
//
async getCode() {
console.log(111);
try {
const params = {
phone: this.platform.tel,
verificationCodeId: this.picCode.verificationCodeId,
verificationCodeValue: this.codeNum,
};
await this.sendCode(params);
this.getCodeInterval();
} catch (error) {
// throw new Error(`SignIn.vue method getCode: ${error}`);
console.log(error);
}
},
//
getCodeInterval() {
this.showInterval = true;
this.codeTimer = setInterval(() => {
if (this.interval === 0) {
clearInterval(this.codeTimer);
this.codeTimer = null;
this.showInterval = false;
this.interval = 120;
return;
}
this.interval = this.interval - 1;
}, 1000);
},
//
changePicCode() {
this.sendPicCode();
},
},
};
</script>
<style lang="stylus" scoped>
.must-color {
color: red;
}
.code_img {
height: 32px;
width: 120px;
}
</style>
Loading…
Cancel
Save