|
|
|
<template>
|
|
|
|
<div class="userAbility">
|
|
|
|
<div class="topTitle container">
|
|
|
|
申请入驻
|
|
|
|
<div class="colra">云员工</div>
|
|
|
|
</div>
|
|
|
|
<div class="contentBig container">
|
|
|
|
<div class="stepBox">
|
|
|
|
<el-steps :active="active" align-center>
|
|
|
|
<el-step title="第一步: 实名认证">
|
|
|
|
<template slot="icon">
|
|
|
|
<img
|
|
|
|
v-if="active == 0"
|
|
|
|
src="/assets/ability/1ac.png"
|
|
|
|
style="width: 24px; height: 24px"
|
|
|
|
alt=""
|
|
|
|
/>
|
|
|
|
<img v-else src="/assets/ability/1un.png" style="width: 24px; height: 24px" alt="" />
|
|
|
|
</template>
|
|
|
|
</el-step>
|
|
|
|
<el-step title="第二步: 工作经历">
|
|
|
|
<template slot="icon">
|
|
|
|
<img
|
|
|
|
v-if="active == 1"
|
|
|
|
src="/assets/ability/2ac.png"
|
|
|
|
style="width: 24px; height: 24px"
|
|
|
|
alt=""
|
|
|
|
/>
|
|
|
|
<img v-else src="/assets/ability/2un.png" style="width: 24px; height: 24px" alt="" />
|
|
|
|
</template>
|
|
|
|
</el-step>
|
|
|
|
<el-step title="第三步: 项目经历">
|
|
|
|
<template slot="icon">
|
|
|
|
<img
|
|
|
|
v-if="active == 2"
|
|
|
|
src="/assets/ability/3ac.png"
|
|
|
|
style="width: 24px; height: 24px"
|
|
|
|
alt=""
|
|
|
|
/>
|
|
|
|
<img v-else src="/assets/ability/3un.png" style="width: 24px; height: 24px" alt="" />
|
|
|
|
</template>
|
|
|
|
</el-step>
|
|
|
|
<el-step title="第四步: 个人简介">
|
|
|
|
<template slot="icon">
|
|
|
|
<img
|
|
|
|
v-if="active == 3"
|
|
|
|
src="/assets/ability/4ac.png"
|
|
|
|
style="width: 24px; height: 24px"
|
|
|
|
alt=""
|
|
|
|
/>
|
|
|
|
<img v-else src="/assets/ability/4un.png" style="width: 24px; height: 24px" alt="" />
|
|
|
|
</template>
|
|
|
|
</el-step>
|
|
|
|
<el-step title="第五步: 资格证书">
|
|
|
|
<template slot="icon">
|
|
|
|
<img
|
|
|
|
v-if="active == 4"
|
|
|
|
src="/assets/ability/5ac.png"
|
|
|
|
style="width: 24px; height: 24px"
|
|
|
|
alt=""
|
|
|
|
/>
|
|
|
|
<img v-else src="/assets/ability/5un.png" style="width: 24px; height: 24px" alt="" />
|
|
|
|
</template>
|
|
|
|
</el-step>
|
|
|
|
<el-step title="第六步: 教育经历">
|
|
|
|
<template slot="icon">
|
|
|
|
<img
|
|
|
|
v-if="active == 5"
|
|
|
|
src="/assets/ability/6ac.png"
|
|
|
|
style="width: 24px; height: 24px"
|
|
|
|
alt=""
|
|
|
|
/>
|
|
|
|
<img v-else src="/assets/ability/6un.png" style="width: 24px; height: 24px" alt="" />
|
|
|
|
</template>
|
|
|
|
</el-step>
|
|
|
|
<el-step title="第七步: 提交检查">
|
|
|
|
<template slot="icon">
|
|
|
|
<img
|
|
|
|
v-if="active == 6"
|
|
|
|
src="/assets/ability/7ac.png"
|
|
|
|
style="width: 24px; height: 24px"
|
|
|
|
alt=""
|
|
|
|
/>
|
|
|
|
<img v-else src="/assets/ability/7un.png" style="width: 24px; height: 24px" alt="" />
|
|
|
|
</template>
|
|
|
|
</el-step>
|
|
|
|
</el-steps>
|
|
|
|
<div class="stepBoxBtn" v-if="!userForm.status">
|
|
|
|
<div class="backBtn" @click="back">上一步</div>
|
|
|
|
<div class="nextBtn" v-if="active == 6" @click="saveInfo">提交审核</div>
|
|
|
|
<div class="nextBtn" v-else @click="next">下一步</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="contentBox" v-show="!userForm.status">
|
|
|
|
<div class="active1" v-show="active == 0">
|
|
|
|
<div class="activeTitle">
|
|
|
|
<div class="activeTitLine"></div>
|
|
|
|
实名认证
|
|
|
|
</div>
|
|
|
|
<div class="applytip">请放心认证,关键测试宝平台承诺保障你的个人信息安全</div>
|
|
|
|
<div class="workIt">
|
|
|
|
<el-form ref="certifform" :model="certifform" :rules="certifRules">
|
|
|
|
<el-form-item prop="name">
|
|
|
|
<el-input
|
|
|
|
v-model="certifform.name"
|
|
|
|
:disabled="certifform.applyId && certifform.status == 1"
|
|
|
|
placeholder="请输入真实姓名"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="idNumber">
|
|
|
|
<el-input
|
|
|
|
v-model="certifform.idNumber"
|
|
|
|
:disabled="certifform.applyId && certifform.status == 1"
|
|
|
|
placeholder="请输入身份证号码"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
</div>
|
|
|
|
<div
|
|
|
|
v-if="active == 0 && (!certifform.applyId || certifform.status != 1)"
|
|
|
|
class="addWork"
|
|
|
|
@click="applyBegin"
|
|
|
|
>
|
|
|
|
开始验证
|
|
|
|
</div>
|
|
|
|
<div class="applySuccess" v-if="certifform.applyId && certifform.status == 1">
|
|
|
|
<img src="/assets/ability/applysuccess.png" alt="" />
|
|
|
|
验证通过
|
|
|
|
</div>
|
|
|
|
<div
|
|
|
|
class="applySuccess"
|
|
|
|
v-if="certifform.applyId && certifform.status != 1"
|
|
|
|
style="color: #fc4444"
|
|
|
|
>
|
|
|
|
<img src="/assets/ability/applyfail.png" alt="" />
|
|
|
|
验证不通过
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="active2" v-show="active == 1 || active == 6">
|
|
|
|
<!-- 工作经历 -->
|
|
|
|
<div class="activeTitle">
|
|
|
|
<div class="activeTitLine"></div>
|
|
|
|
工作经历
|
|
|
|
</div>
|
|
|
|
<div class="workIt" v-for="(it, index) in workList" :key="index">
|
|
|
|
<el-form :rules="workRules" :model="it" label-width="90px" :ref="'workRef' + index">
|
|
|
|
<el-form-item label="公司名称: " prop="name">
|
|
|
|
<el-input
|
|
|
|
v-model="it.name"
|
|
|
|
placeholder="请输入公司名称"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<div class="flexbox">
|
|
|
|
<el-form-item label="在职时间: " prop="startTime">
|
|
|
|
<el-date-picker
|
|
|
|
value-format="yyyy-MM"
|
|
|
|
v-model="it.startTime"
|
|
|
|
type="month"
|
|
|
|
placeholder="开始时间"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
>
|
|
|
|
</el-date-picker>
|
|
|
|
</el-form-item>
|
|
|
|
<span style="color: #bfbfbf; margin: -27px 15px 0 15px">-</span>
|
|
|
|
<el-form-item prop="endTime" class="endtime">
|
|
|
|
<el-date-picker
|
|
|
|
value-format="yyyy-MM"
|
|
|
|
v-model="it.endTime"
|
|
|
|
type="month"
|
|
|
|
placeholder="结束时间"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
>
|
|
|
|
</el-date-picker>
|
|
|
|
</el-form-item>
|
|
|
|
</div>
|
|
|
|
<el-form-item label="职位名称: " prop="title">
|
|
|
|
<el-input
|
|
|
|
v-model="it.title"
|
|
|
|
placeholder="请输入职位名称"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="工作内容: " prop="intro">
|
|
|
|
<el-input
|
|
|
|
type="textarea"
|
|
|
|
v-model="it.intro"
|
|
|
|
:rows="5"
|
|
|
|
placeholder="请输入工作内容"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
<div v-if="active == 1" class="delWork">
|
|
|
|
<div v-if="!it.caseId" class="saveWork" @click="saveWork(index)">保存</div>
|
|
|
|
<div v-else class="saveWork" @click="updateWork(index)">修改</div>
|
|
|
|
<img
|
|
|
|
src="/assets/ability/delicon.png"
|
|
|
|
style="width: 14px; height: 16px; margin-right: 5px"
|
|
|
|
alt=""
|
|
|
|
@click="delWork(index)"
|
|
|
|
/>
|
|
|
|
<span @click="delWork(index)">删除</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div v-if="active == 1" class="addWork" @click="addWork">+ 新增经历</div>
|
|
|
|
</div>
|
|
|
|
<div class="active3" v-show="active == 2 || active == 6">
|
|
|
|
<!-- 项目经历 -->
|
|
|
|
<div class="activeTitle">
|
|
|
|
<div class="activeTitLine"></div>
|
|
|
|
项目经历
|
|
|
|
</div>
|
|
|
|
<div class="workIt" v-for="(it, index) in projectList" :key="index">
|
|
|
|
<el-form :rules="projectRules" :model="it" label-width="90px" :ref="'projectRef' + index">
|
|
|
|
<el-form-item label="项目名称" prop="name">
|
|
|
|
<el-input
|
|
|
|
v-model="it.name"
|
|
|
|
placeholder="请输入项目名称"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<div class="flexbox">
|
|
|
|
<el-form-item label="项目时间: " prop="startTime">
|
|
|
|
<el-date-picker
|
|
|
|
value-format="yyyy-MM"
|
|
|
|
v-model="it.startTime"
|
|
|
|
type="month"
|
|
|
|
placeholder="开始时间"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
>
|
|
|
|
</el-date-picker>
|
|
|
|
</el-form-item>
|
|
|
|
<span style="color: #bfbfbf; margin: -27px 15px 0 15px">-</span>
|
|
|
|
<el-form-item prop="endTime" class="endtime">
|
|
|
|
<el-date-picker
|
|
|
|
value-format="yyyy-MM"
|
|
|
|
v-model="it.endTime"
|
|
|
|
type="month"
|
|
|
|
placeholder="结束时间"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
>
|
|
|
|
</el-date-picker>
|
|
|
|
</el-form-item>
|
|
|
|
</div>
|
|
|
|
<el-form-item label="担任角色" prop="title">
|
|
|
|
<el-input
|
|
|
|
v-model="it.title"
|
|
|
|
placeholder="请输入担任角色"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="应用技术" prop="applyTech">
|
|
|
|
<el-input
|
|
|
|
v-model="it.applyTech"
|
|
|
|
placeholder="请输入应用技术"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="工作内容" prop="intro">
|
|
|
|
<el-input
|
|
|
|
:rows="5"
|
|
|
|
type="textarea"
|
|
|
|
v-model="it.intro"
|
|
|
|
placeholder="请输入工作内容"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
<div v-if="active == 2" class="delWork">
|
|
|
|
<div v-if="!it.caseId" class="saveWork" @click="saveProject(index)">保存</div>
|
|
|
|
<div v-else class="saveWork" @click="updateProject(index)">修改</div>
|
|
|
|
<img
|
|
|
|
src="/assets/ability/delicon.png"
|
|
|
|
style="width: 14px; height: 16px; margin-right: 5px"
|
|
|
|
alt=""
|
|
|
|
@click="delProject(index)"
|
|
|
|
/>
|
|
|
|
<span @click="delProject(index)">删除</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div v-if="active == 2" class="addWork" @click="addProject">+ 新增经历</div>
|
|
|
|
</div>
|
|
|
|
<div class="active4" v-show="active == 3 || active == 6">
|
|
|
|
<!-- 个人简介 -->
|
|
|
|
<div class="activeTitle">
|
|
|
|
<div class="activeTitLine"></div>
|
|
|
|
个人简介
|
|
|
|
</div>
|
|
|
|
<div class="workIt">
|
|
|
|
<el-form :rules="userRules" :model="userForm" label-width="80px" ref="userRef">
|
|
|
|
<el-form-item label="所在城市" prop="city">
|
|
|
|
<el-input v-model="userForm.city" v-show="false"></el-input>
|
|
|
|
<v-distpicker
|
|
|
|
@province="onChangeProvince"
|
|
|
|
@city="onChangeCity"
|
|
|
|
:placeholders="placeholders"
|
|
|
|
:province="province"
|
|
|
|
:city="city"
|
|
|
|
hide-area
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></v-distpicker>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="技能方向" prop="testSkills">
|
|
|
|
<el-input
|
|
|
|
v-model="userForm.testSkills"
|
|
|
|
placeholder="请输入技能,如:测试工程师"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="个人优势" prop="personalAdvantage">
|
|
|
|
<el-input
|
|
|
|
type="textarea"
|
|
|
|
:rows="5"
|
|
|
|
v-model="userForm.personalAdvantage"
|
|
|
|
placeholder="请输入个人优势"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
<div v-if="active == 3" class="delWork">
|
|
|
|
<div class="saveWork" @click="saveUser">保存</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="active5" v-show="active == 4 || active == 6">
|
|
|
|
<!-- 资格证书 -->
|
|
|
|
<div class="activeTitle">
|
|
|
|
<div class="activeTitLine"></div>
|
|
|
|
资格证书
|
|
|
|
</div>
|
|
|
|
<div class="workIt" v-for="(it, index) in certificateList" :key="index">
|
|
|
|
<el-form
|
|
|
|
:rules="certificateRules"
|
|
|
|
:model="it"
|
|
|
|
label-width="80px"
|
|
|
|
:ref="'certificateRef' + index"
|
|
|
|
>
|
|
|
|
<el-form-item label="证书名称" prop="credentialsName">
|
|
|
|
<el-input
|
|
|
|
v-model="it.credentialsName"
|
|
|
|
placeholder="请输入证书名称"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item prop="url">
|
|
|
|
<imageUpload
|
|
|
|
v-model="it.url"
|
|
|
|
fileName="publicize"
|
|
|
|
:limit="1"
|
|
|
|
:ref="'myupload' + index"
|
|
|
|
:isDisabled="active == 4 ? false : true"
|
|
|
|
/>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
<div v-if="active == 4" class="delWork">
|
|
|
|
<div v-if="!it.fileId" class="saveWork" @click="saveCertificate(index)">保存</div>
|
|
|
|
<div v-else class="saveWork" @click="updateCertificate(index)">修改</div>
|
|
|
|
<img
|
|
|
|
src="/assets/ability/delicon.png"
|
|
|
|
style="width: 14px; height: 16px; margin-right: 5px"
|
|
|
|
@click="delCertificate(index)"
|
|
|
|
/>
|
|
|
|
<span @click="delCertificate(index)">删除</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div v-if="active == 4" class="addWork" @click="addCertificate">+ 新增证书</div>
|
|
|
|
</div>
|
|
|
|
<div class="active6" v-show="active == 5 || active == 6">
|
|
|
|
<!-- 教育经历 -->
|
|
|
|
<div class="activeTitle">
|
|
|
|
<div class="activeTitLine"></div>
|
|
|
|
教育经历
|
|
|
|
</div>
|
|
|
|
<div class="workIt" v-for="(it, index) in educationList" :key="index">
|
|
|
|
<el-form :rules="educationRules" :model="it" label-width="90px" :ref="'educationRef' + index">
|
|
|
|
<el-form-item label="学校名称" prop="name">
|
|
|
|
<el-input
|
|
|
|
v-model="it.name"
|
|
|
|
placeholder="请输入学校名称"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
<div class="flexbox">
|
|
|
|
<el-form-item label="在校时间: " prop="startTime">
|
|
|
|
<el-date-picker
|
|
|
|
value-format="yyyy-MM"
|
|
|
|
v-model="it.startTime"
|
|
|
|
type="month"
|
|
|
|
placeholder="开始时间"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
>
|
|
|
|
</el-date-picker>
|
|
|
|
</el-form-item>
|
|
|
|
<span style="color: #bfbfbf; margin: -27px 15px 0 15px">-</span>
|
|
|
|
<el-form-item prop="endTime" class="endtime">
|
|
|
|
<el-date-picker
|
|
|
|
value-format="yyyy-MM"
|
|
|
|
v-model="it.endTime"
|
|
|
|
type="month"
|
|
|
|
placeholder="结束时间"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
>
|
|
|
|
</el-date-picker>
|
|
|
|
</el-form-item>
|
|
|
|
</div>
|
|
|
|
<el-form-item label="学历" prop="education">
|
|
|
|
<el-select
|
|
|
|
v-model="it.education"
|
|
|
|
placeholder="请选择学历"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
>
|
|
|
|
<el-option label="专科" value="专科"> </el-option>
|
|
|
|
<el-option label="本科" value="本科"> </el-option>
|
|
|
|
<el-option label="硕士研究生" value="硕士研究生"> </el-option>
|
|
|
|
<el-option label="博士研究生" value="博士研究生"> </el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
<el-form-item label="专业名称" prop="major">
|
|
|
|
<el-input
|
|
|
|
v-model="it.major"
|
|
|
|
placeholder="请输入专业名称"
|
|
|
|
:disabled="active == 6 ? true : false"
|
|
|
|
></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
</el-form>
|
|
|
|
<div v-if="active == 5" class="delWork">
|
|
|
|
<div v-if="!it.caseId" class="saveWork" @click="saveEducation(index)">保存</div>
|
|
|
|
<div v-else class="saveWork" @click="updateEducation(index)">修改</div>
|
|
|
|
<img
|
|
|
|
src="/assets/ability/delicon.png"
|
|
|
|
style="width: 14px; height: 16px; margin-right: 5px"
|
|
|
|
alt=""
|
|
|
|
@click="delEducation(index)"
|
|
|
|
/>
|
|
|
|
<span @click="delEducation(index)">删除</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div v-if="active == 5" class="addWork" @click="addEducation">+ 新增经历</div>
|
|
|
|
</div>
|
|
|
|
<!-- <div class="active7" v-if="active == 6">
|
|
|
|
</div> -->
|
|
|
|
</div>
|
|
|
|
<div class="contentBox" v-show="userForm.status == 1">
|
|
|
|
<div class="applyIng">提交成功,等待审核</div>
|
|
|
|
</div>
|
|
|
|
<div class="applyFail" v-show="userForm.status == 3">
|
|
|
|
<img src="/assets/ability/applyFail.png" alt="" />
|
|
|
|
审核不通过
|
|
|
|
</div>
|
|
|
|
<div class="contentBox" v-show="userForm.status == 2">
|
|
|
|
<div class="applySuccessAll">
|
|
|
|
<img src="/assets/ability/applysuccess.png" alt="" />
|
|
|
|
审核通过
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
import { mapGetters } from 'vuex'
|
|
|
|
import imageUpload from '@/page/common/imageUpload'
|
|
|
|
import { gettesterId, addtesterApply, updatetesterApply } from '@/api/tester/CompanyApply'
|
|
|
|
import {
|
|
|
|
getCloudAll,
|
|
|
|
couldInfoAdd,
|
|
|
|
couldInfoUpdate,
|
|
|
|
couldInfoDelete,
|
|
|
|
couldUserInfoAdd,
|
|
|
|
couldBookAdd,
|
|
|
|
couldBookUpdate,
|
|
|
|
couldApply,
|
|
|
|
delBook,
|
|
|
|
} from '@/api/tester/TesterApply'
|
|
|
|
|
|
|
|
export default {
|
|
|
|
components: { imageUpload },
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
active: 0,
|
|
|
|
// 实名认证
|
|
|
|
certifform: {},
|
|
|
|
certifRules: {
|
|
|
|
name: [
|
|
|
|
{ required: true, message: '真实姓名不能为空', trigger: 'blur' },
|
|
|
|
{ max: 20, message: '最多输入20个中文', trigger: 'blur' },
|
|
|
|
{
|
|
|
|
pattern: /^(?:[\u4e00-\u9fa5·]{2,16})$/,
|
|
|
|
message: '请输入中文',
|
|
|
|
trigger: 'blur',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
idNumber: [
|
|
|
|
{ required: true, message: '身份证号码能为空', trigger: 'blur' },
|
|
|
|
{
|
|
|
|
pattern:
|
|
|
|
/^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
|
|
|
|
message: '请输入正确的身份证号码',
|
|
|
|
trigger: 'blur',
|
|
|
|
},
|
|
|
|
{ max: 18, message: '身份证长度为18', trigger: 'blur' },
|
|
|
|
{ min: 18, message: '身份证长度为18', trigger: 'blur' },
|
|
|
|
],
|
|
|
|
},
|
|
|
|
// 工作经历
|
|
|
|
workList: [],
|
|
|
|
workRules: {
|
|
|
|
name: [{ required: true, message: '请输入公司名称', trigger: 'blur' }],
|
|
|
|
startTime: [{ required: true, message: '请输入开始时间', trigger: 'blur' }],
|
|
|
|
endTime: [{ required: true, message: '请输入结束时间', trigger: 'blur' }],
|
|
|
|
title: [{ required: true, message: '请输入职位名称', trigger: 'blur' }],
|
|
|
|
intro: [{ required: true, message: '请输入工作内容', trigger: 'blur' }],
|
|
|
|
},
|
|
|
|
// 项目经历
|
|
|
|
projectList: [{}],
|
|
|
|
projectRules: {
|
|
|
|
name: [{ required: true, message: '请输入公司名称', trigger: 'blur' }],
|
|
|
|
startTime: [{ required: true, message: '请输入开始时间', trigger: 'blur' }],
|
|
|
|
endTime: [{ required: true, message: '请输入结束时间', trigger: 'blur' }],
|
|
|
|
title: [{ required: true, message: '请输入职位名称', trigger: 'blur' }],
|
|
|
|
intro: [{ required: true, message: '请输入工作内容', trigger: 'blur' }],
|
|
|
|
applyTech: [{ required: true, message: '请输入应用技术', trigger: 'blur' }],
|
|
|
|
},
|
|
|
|
// 个人简历
|
|
|
|
userForm: {
|
|
|
|
city: '北京市-北京市',
|
|
|
|
},
|
|
|
|
userRules: {
|
|
|
|
testSkills: [{ required: true, message: '请输入技能方向', trigger: 'blur' }],
|
|
|
|
personalAdvantage: [{ required: true, message: '请输入个人优势', trigger: 'blur' }],
|
|
|
|
},
|
|
|
|
province: '北京市',
|
|
|
|
city: '北京市',
|
|
|
|
placeholders: {
|
|
|
|
province: '--- 省 ----',
|
|
|
|
city: '--- 市 ---',
|
|
|
|
},
|
|
|
|
// 资格证书
|
|
|
|
materialServerAddr: '',
|
|
|
|
certificateList: [{}],
|
|
|
|
certificateRules: {
|
|
|
|
// credentialsName: [{ required: true, message: '请输入证书名称', trigger: 'blur' }],
|
|
|
|
url: [{ required: true, message: '请上传证书', trigger: 'blur' }],
|
|
|
|
},
|
|
|
|
// 教育经历
|
|
|
|
educationList: [{}],
|
|
|
|
educationRules: {
|
|
|
|
name: [{ required: true, message: '请输入学校名称', trigger: 'blur' }],
|
|
|
|
startTime: [{ required: true, message: '请输入开始时间', trigger: 'blur' }],
|
|
|
|
endTime: [{ required: true, message: '请输入结束时间', trigger: 'blur' }],
|
|
|
|
education: [{ required: true, message: '请输入学历', trigger: 'change' }],
|
|
|
|
major: [{ required: true, message: '请输入专业名称', trigger: 'blur' }],
|
|
|
|
},
|
|
|
|
}
|
|
|
|
},
|
|
|
|
watch: {
|
|
|
|
active: {
|
|
|
|
handler(newval, oldval) {
|
|
|
|
if (newval == 0) {
|
|
|
|
this.searchApply()
|
|
|
|
}
|
|
|
|
},
|
|
|
|
immediate: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
computed: {
|
|
|
|
...mapGetters(['userinform', 'userId', 'token']),
|
|
|
|
},
|
|
|
|
created() {
|
|
|
|
this.getCloudAllList()
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
// 提交审核
|
|
|
|
saveInfo() {
|
|
|
|
if (this.userForm.status == 1) return this.$message.warning('正在审核,请勿重复提交')
|
|
|
|
if (this.userForm.status == 2) return this.$message.warning('审核已通过,请勿重复提交')
|
|
|
|
couldApply().then((res) => {
|
|
|
|
this.$message.success('提交审核成功')
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 获取简历信息
|
|
|
|
getCloudAllList() {
|
|
|
|
getCloudAll(this.userId).then((res) => {
|
|
|
|
// 经历
|
|
|
|
this.projectList = res.experience.filter((it) => it.type == 0)
|
|
|
|
if (!this.projectList.length) {
|
|
|
|
this.projectList = [{}]
|
|
|
|
}
|
|
|
|
this.workList = res.experience.filter((it) => it.type == 1)
|
|
|
|
if (!this.workList.length) {
|
|
|
|
this.workList = []
|
|
|
|
}
|
|
|
|
this.educationList = res.experience.filter((it) => it.type == 2)
|
|
|
|
if (!this.educationList.length) {
|
|
|
|
this.educationList = [{}]
|
|
|
|
}
|
|
|
|
// 个人简介
|
|
|
|
if (res.personalInfo) {
|
|
|
|
this.userForm = res.personalInfo
|
|
|
|
if (!this.userForm.city || !this.userForm.testSkills || !this.userForm.personalAdvantage) {
|
|
|
|
this.userForm.flag = false
|
|
|
|
} else {
|
|
|
|
this.userForm.flag = true
|
|
|
|
}
|
|
|
|
this.province = this.userForm.city.split('-')[0]
|
|
|
|
this.city = this.userForm.city.split('-')[1]
|
|
|
|
|
|
|
|
// 审核状态 1审核通过 2不通过 没有或者0待审核
|
|
|
|
if (res.personalInfo.status === 0) {
|
|
|
|
} else if (res.personalInfo.status === 1) {
|
|
|
|
this.active = 6
|
|
|
|
} else if (res.personalInfo.status === 2) {
|
|
|
|
this.active = 6
|
|
|
|
} else {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 证书
|
|
|
|
this.certificateList = res.credentials.map((it) => {
|
|
|
|
return {
|
|
|
|
url: it.fileUrl,
|
|
|
|
credentialsName: it.fileName,
|
|
|
|
fileId: it.fileId,
|
|
|
|
}
|
|
|
|
})
|
|
|
|
if (!this.certificateList.length) {
|
|
|
|
this.certificateList = [{}]
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 查询用户认证信息
|
|
|
|
searchApply() {
|
|
|
|
gettesterId(this.userinform.userId).then((res) => {
|
|
|
|
if (res.code == 200 && res.data.applyId) {
|
|
|
|
this.certifform = res.data
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
applyBegin() {
|
|
|
|
this.$refs['certifform'].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
let data = {
|
|
|
|
applyId: this.certifform.applyId,
|
|
|
|
userId: this.userinform.userId,
|
|
|
|
name: this.certifform.name,
|
|
|
|
idNumber: this.certifform.idNumber,
|
|
|
|
}
|
|
|
|
// return;
|
|
|
|
if (this.certifform.applyId) {
|
|
|
|
updatetesterApply(data)
|
|
|
|
.then((res) => {
|
|
|
|
if (res.code == 200) {
|
|
|
|
this.$message.success('实名认证成功')
|
|
|
|
this.searchApply()
|
|
|
|
} else {
|
|
|
|
this.$message.error('实名认证失败')
|
|
|
|
this.searchApply()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.catch((error) => {})
|
|
|
|
} else {
|
|
|
|
addtesterApply(data)
|
|
|
|
.then((res) => {
|
|
|
|
if (res.code == 200) {
|
|
|
|
this.$message.success('实名认证成功')
|
|
|
|
this.searchApply()
|
|
|
|
} else {
|
|
|
|
this.$message.error('实名认证失败')
|
|
|
|
this.searchApply()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
.catch((error) => {})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 返回上一步
|
|
|
|
back() {
|
|
|
|
if (this.userForm.status == 1 || this.userForm.status == 2) return
|
|
|
|
if (this.active == 0) return
|
|
|
|
this.active--
|
|
|
|
},
|
|
|
|
// 下一步
|
|
|
|
next() {
|
|
|
|
if (this.active == 0) {
|
|
|
|
if (this.certifform.status != 1) {
|
|
|
|
return this.$message.warning('请先通过实名认证')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (this.active == 2) {
|
|
|
|
// 项目经历
|
|
|
|
if (this.projectList.length && this.projectList[0].caseId) {
|
|
|
|
} else {
|
|
|
|
return this.$message.warning('至少保存一条项目经历')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (this.active == 3) {
|
|
|
|
// 个人简介
|
|
|
|
if (!this.userForm.flag) {
|
|
|
|
return this.$message.warning('请先保存个人简介')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (this.active == 5) {
|
|
|
|
// 教育经历
|
|
|
|
if (this.educationList.length && this.educationList[0].caseId) {
|
|
|
|
} else {
|
|
|
|
return this.$message.warning('至少保存一条教育经历')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
this.active++
|
|
|
|
},
|
|
|
|
// 工作经历添加
|
|
|
|
addWork() {
|
|
|
|
if (this.workList.length >= 10) return this.$message.warning('工作经历最多添加10条')
|
|
|
|
this.workList.push({})
|
|
|
|
},
|
|
|
|
// 工作经历保存
|
|
|
|
saveWork(i) {
|
|
|
|
this.$refs[`workRef${i}`][0].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
const data = this.workList[i]
|
|
|
|
data.type = 1
|
|
|
|
couldInfoAdd(data).then((res) => {
|
|
|
|
this.$message.success('工作经历保存成功')
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 工作经历修改
|
|
|
|
updateWork(i) {
|
|
|
|
this.$refs[`workRef${i}`][0].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
const data = this.workList[i]
|
|
|
|
couldInfoUpdate(data).then((res) => {
|
|
|
|
this.$message.success('工作经历修改成功')
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 工作经历删除
|
|
|
|
delWork(i) {
|
|
|
|
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
type: 'warning',
|
|
|
|
}).then(() => {
|
|
|
|
if (this.workList[i].caseId) {
|
|
|
|
couldInfoDelete(this.workList[i].caseId).then(() => {
|
|
|
|
this.$message({
|
|
|
|
type: 'success',
|
|
|
|
message: '删除成功!',
|
|
|
|
})
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
this.workList.splice(i, 1)
|
|
|
|
this.$message({
|
|
|
|
type: 'success',
|
|
|
|
message: '删除成功!',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 项目经历添加
|
|
|
|
addProject() {
|
|
|
|
if (this.projectList.length >= 20) return this.$message.warning('项目经历最多添加20条')
|
|
|
|
this.projectList.push({})
|
|
|
|
},
|
|
|
|
// 项目经历保存
|
|
|
|
saveProject(i) {
|
|
|
|
this.$refs[`projectRef${i}`][0].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
const data = this.projectList[i]
|
|
|
|
data.type = 0
|
|
|
|
couldInfoAdd(data).then((res) => {
|
|
|
|
this.$message.success('项目经历保存成功')
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 项目经历修改
|
|
|
|
updateProject(i) {
|
|
|
|
this.$refs[`projectRef${i}`][0].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
const data = this.projectList[i]
|
|
|
|
couldInfoUpdate(data).then((res) => {
|
|
|
|
this.$message.success('项目经历修改成功')
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 项目经历删除
|
|
|
|
delProject(i) {
|
|
|
|
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
type: 'warning',
|
|
|
|
}).then(() => {
|
|
|
|
if (this.projectList[i].caseId) {
|
|
|
|
couldInfoDelete(this.projectList[i].caseId).then(() => {
|
|
|
|
this.$message({
|
|
|
|
type: 'success',
|
|
|
|
message: '删除成功!',
|
|
|
|
})
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
if (this.projectList.length == 1) return this.$message.warning('最少有一项')
|
|
|
|
this.projectList.splice(i, 1)
|
|
|
|
this.$message({
|
|
|
|
type: 'success',
|
|
|
|
message: '删除成功!',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 个人简介保存
|
|
|
|
saveUser() {
|
|
|
|
this.$refs[`userRef`].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
if (this.userForm.city.indexOf('--- 市 ---') != -1) {
|
|
|
|
return this.$message.warning('请选择市')
|
|
|
|
}
|
|
|
|
couldUserInfoAdd(this.userForm).then((res) => {
|
|
|
|
this.$message.success('保存个人简介成功')
|
|
|
|
this.userForm.flag = true
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 资格证书添加
|
|
|
|
addCertificate() {
|
|
|
|
this.certificateList.push({})
|
|
|
|
},
|
|
|
|
// 保存证书
|
|
|
|
saveCertificate(i) {
|
|
|
|
this.$refs[`certificateRef${i}`][0].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
const data = {
|
|
|
|
credentialsList: [JSON.parse(JSON.stringify(this.certificateList[i]))],
|
|
|
|
}
|
|
|
|
data.credentialsList[0].url = data.credentialsList[0].url.replace(/.*\/profile/, '/profile')
|
|
|
|
couldBookAdd(data).then((res) => {
|
|
|
|
this.$message.success('资格证书保存成功')
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 更新证书
|
|
|
|
updateCertificate(i) {
|
|
|
|
this.$refs[`certificateRef${i}`][0].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
const data = {
|
|
|
|
credentialsList: JSON.parse(JSON.stringify(this.certificateList)),
|
|
|
|
}
|
|
|
|
data.credentialsList.forEach((it) => {
|
|
|
|
it.url = it.url.replace(/.*\/profile/, '/profile')
|
|
|
|
})
|
|
|
|
couldBookUpdate(data).then((res) => {
|
|
|
|
this.$message.success('资格证书修改成功')
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 资格证书删除
|
|
|
|
delCertificate(i) {
|
|
|
|
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
type: 'warning',
|
|
|
|
}).then(() => {
|
|
|
|
if (this.certificateList[i].fileId) {
|
|
|
|
delBook(this.certificateList[i].fileId).then((res) => {
|
|
|
|
this.$message.success('资格证书删除成功')
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
this.certificateList.splice(i, 1)
|
|
|
|
this.$message({
|
|
|
|
type: 'success',
|
|
|
|
message: '删除成功!',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 教育经历添加
|
|
|
|
addEducation() {
|
|
|
|
this.educationList.push({})
|
|
|
|
},
|
|
|
|
// 教育经历保存
|
|
|
|
saveEducation(i) {
|
|
|
|
this.$refs[`educationRef${i}`][0].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
const data = this.educationList[i]
|
|
|
|
data.type = 2
|
|
|
|
couldInfoAdd(data).then((res) => {
|
|
|
|
this.$message.success('教育经历保存成功')
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 教育经历修改
|
|
|
|
updateEducation(i) {
|
|
|
|
this.$refs[`educationRef${i}`][0].validate((valid) => {
|
|
|
|
if (valid) {
|
|
|
|
const data = this.educationList[i]
|
|
|
|
couldInfoUpdate(data).then((res) => {
|
|
|
|
this.$message.success('教育经历修改成功')
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 教育经历删除
|
|
|
|
delEducation(i) {
|
|
|
|
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
cancelButtonText: '取消',
|
|
|
|
type: 'warning',
|
|
|
|
}).then(() => {
|
|
|
|
if (this.educationList[i].caseId) {
|
|
|
|
couldInfoDelete(this.educationList[i].caseId).then(() => {
|
|
|
|
this.$message({
|
|
|
|
type: 'success',
|
|
|
|
message: '删除成功!',
|
|
|
|
})
|
|
|
|
this.getCloudAllList()
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
if (this.educationList.length == 1) return this.$message.warning('最少有一项')
|
|
|
|
this.educationList.splice(i, 1)
|
|
|
|
this.$message({
|
|
|
|
type: 'success',
|
|
|
|
message: '删除成功!',
|
|
|
|
})
|
|
|
|
}
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 省
|
|
|
|
onChangeProvince(data) {
|
|
|
|
if (data.value.indexOf('---') == -1) {
|
|
|
|
this.province = data.value
|
|
|
|
this.city = '--- 市 ---'
|
|
|
|
this.userForm.city = this.province + '-' + this.city
|
|
|
|
} else {
|
|
|
|
this.province = ''
|
|
|
|
}
|
|
|
|
},
|
|
|
|
// 市
|
|
|
|
onChangeCity(data) {
|
|
|
|
if (data.value.indexOf('---') == -1) {
|
|
|
|
this.city = data.value
|
|
|
|
this.userForm.city = this.province + '-' + this.city
|
|
|
|
} else {
|
|
|
|
this.city = ''
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
.userAbility {
|
|
|
|
background: #f2f3f7;
|
|
|
|
padding-bottom: 40px;
|
|
|
|
overflow: hidden;
|
|
|
|
}
|
|
|
|
.container {
|
|
|
|
width: 1200px;
|
|
|
|
margin: auto;
|
|
|
|
}
|
|
|
|
.topTitle {
|
|
|
|
font-weight: bold;
|
|
|
|
font-size: 32px;
|
|
|
|
color: #1a1a1a;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
margin: 40px auto;
|
|
|
|
}
|
|
|
|
.colra {
|
|
|
|
background: linear-gradient(-90deg, #fa2c3f 0%, #792bf9 100%);
|
|
|
|
-webkit-background-clip: text;
|
|
|
|
-webkit-text-fill-color: transparent;
|
|
|
|
}
|
|
|
|
.stepBoxBtn {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
margin: 30px 0;
|
|
|
|
}
|
|
|
|
.backBtn {
|
|
|
|
width: 130px;
|
|
|
|
height: 40px;
|
|
|
|
border-radius: 4px;
|
|
|
|
border: 1px solid #0066eb;
|
|
|
|
margin-right: 16px;
|
|
|
|
line-height: 40px;
|
|
|
|
text-align: center;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 15px;
|
|
|
|
color: #0066eb;
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
.nextBtn {
|
|
|
|
width: 130px;
|
|
|
|
height: 40px;
|
|
|
|
background: #0066eb;
|
|
|
|
border-radius: 4px;
|
|
|
|
line-height: 40px;
|
|
|
|
text-align: center;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 15px;
|
|
|
|
color: #ffffff;
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
.contentBig {
|
|
|
|
background: #ffffff;
|
|
|
|
padding: 40px;
|
|
|
|
box-sizing: border-box;
|
|
|
|
}
|
|
|
|
.stepBox {
|
|
|
|
margin: 30px auto;
|
|
|
|
border-bottom: 2px dashed #ebebeb;
|
|
|
|
}
|
|
|
|
.stepBox >>> .el-steps {
|
|
|
|
flex: 1;
|
|
|
|
}
|
|
|
|
.stepBox >>> .el-step__icon {
|
|
|
|
width: 60px;
|
|
|
|
height: 60px;
|
|
|
|
background: #f2f3f7;
|
|
|
|
border: unset;
|
|
|
|
}
|
|
|
|
|
|
|
|
.stepBox >>> .el-step__line {
|
|
|
|
top: 30px !important;
|
|
|
|
background: #f2f3f7;
|
|
|
|
height: 3px;
|
|
|
|
}
|
|
|
|
/* 已完成 */
|
|
|
|
.stepBox >>> .el-step__head.is-finish {
|
|
|
|
color: #f2f3f7;
|
|
|
|
border-color: unset;
|
|
|
|
}
|
|
|
|
.stepBox >>> .el-step__title.is-finish {
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 15px;
|
|
|
|
color: #666666;
|
|
|
|
}
|
|
|
|
.stepBox >>> .el-step__title.is-wait {
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 15px;
|
|
|
|
color: #666666;
|
|
|
|
}
|
|
|
|
.stepBox >>> .el-step__title.is-process {
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 15px;
|
|
|
|
color: #0066eb;
|
|
|
|
}
|
|
|
|
/* 当前 */
|
|
|
|
.stepBox >>> .el-step__head.is-process .el-step__icon {
|
|
|
|
background: #0066eb !important;
|
|
|
|
}
|
|
|
|
.workIt >>> .distpicker-address-wrapper label select {
|
|
|
|
width: 247px !important;
|
|
|
|
}
|
|
|
|
.addWork {
|
|
|
|
width: 150px;
|
|
|
|
height: 40px;
|
|
|
|
background: linear-gradient(90deg, #0066eb, #2783fc);
|
|
|
|
border-radius: 4px;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 15px;
|
|
|
|
color: #ffffff;
|
|
|
|
line-height: 40px;
|
|
|
|
text-align: center;
|
|
|
|
margin-bottom: 30px;
|
|
|
|
}
|
|
|
|
.delWork {
|
|
|
|
position: absolute;
|
|
|
|
top: 20px;
|
|
|
|
right: 20px;
|
|
|
|
margin-left: 20px;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
cursor: pointer;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 14px;
|
|
|
|
color: #fd4747;
|
|
|
|
}
|
|
|
|
.saveWork {
|
|
|
|
margin-right: 30px;
|
|
|
|
cursor: pointer;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 14px;
|
|
|
|
color: #23ca7d;
|
|
|
|
}
|
|
|
|
.workIt {
|
|
|
|
border-radius: 4px;
|
|
|
|
border: 1px solid #f2f2f2;
|
|
|
|
margin-bottom: 20px;
|
|
|
|
padding: 26px;
|
|
|
|
box-sizing: border-box;
|
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
.workIt >>> .el-input {
|
|
|
|
width: 500px;
|
|
|
|
}
|
|
|
|
.workIt >>> .el-date-editor {
|
|
|
|
width: 231px;
|
|
|
|
}
|
|
|
|
.workIt >>> .el-textarea__inner {
|
|
|
|
width: 500px;
|
|
|
|
}
|
|
|
|
.activeTitle {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
font-weight: bold;
|
|
|
|
font-size: 20px;
|
|
|
|
color: #000000;
|
|
|
|
margin-bottom: 30px;
|
|
|
|
}
|
|
|
|
.activeTitLine {
|
|
|
|
width: 5px;
|
|
|
|
height: 17px;
|
|
|
|
background: #0066eb;
|
|
|
|
margin-right: 10px;
|
|
|
|
}
|
|
|
|
.applytip {
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 14px;
|
|
|
|
color: #808080;
|
|
|
|
margin-bottom: 30px;
|
|
|
|
margin-top: -10px;
|
|
|
|
}
|
|
|
|
.applySuccess {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 18px;
|
|
|
|
color: #23ca7d;
|
|
|
|
}
|
|
|
|
.applySuccess img {
|
|
|
|
width: 27px;
|
|
|
|
height: 27px;
|
|
|
|
margin-right: 10px;
|
|
|
|
}
|
|
|
|
.applyIng {
|
|
|
|
width: 275px;
|
|
|
|
height: 50px;
|
|
|
|
background: #fbefe1;
|
|
|
|
border-radius: 4px;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 18px;
|
|
|
|
color: #fa912a;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
margin: 40px auto;
|
|
|
|
}
|
|
|
|
.applySuccessAll {
|
|
|
|
width: 275px;
|
|
|
|
height: 50px;
|
|
|
|
background: #e0f9ed;
|
|
|
|
border-radius: 4px;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 18px;
|
|
|
|
color: #23ca7d;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
margin: 40px auto;
|
|
|
|
}
|
|
|
|
.applyFail {
|
|
|
|
width: 275px;
|
|
|
|
height: 50px;
|
|
|
|
background: #fceded;
|
|
|
|
border-radius: 4px;
|
|
|
|
font-weight: 500;
|
|
|
|
font-size: 18px;
|
|
|
|
color: #fc4444;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
margin: 40px auto;
|
|
|
|
}
|
|
|
|
.flexbox {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
.endtime >>> .el-form-item__content {
|
|
|
|
margin-left: 0px !important;
|
|
|
|
}
|
|
|
|
.active5 >>> .el-upload--picture-card {
|
|
|
|
width: 500px;
|
|
|
|
height: 190px;
|
|
|
|
line-height: 190px;
|
|
|
|
}
|
|
|
|
.active5 >>> .el-upload-list__item {
|
|
|
|
width: 500px !important;
|
|
|
|
height: 190px !important;
|
|
|
|
line-height: 190px !important;
|
|
|
|
}
|
|
|
|
.active5 >>> .el-upload-list__item-status-label {
|
|
|
|
display: flex !important;
|
|
|
|
align-items: center !important;
|
|
|
|
justify-content: center !important;
|
|
|
|
}
|
|
|
|
</style>
|