<template>
|
<div class="teacherCertificate">
|
<van-nav-bar
|
class="navBar"
|
title="教师认证"
|
left-text
|
left-arrow
|
@click-left="onClickLeft"
|
/>
|
<div class="teacherCertificateBox" v-if="!loading">
|
<div class="topTitle">
|
<span>认证信息</span>
|
<div class="currentState">
|
<span>当前状态:</span>
|
<span class="status-w" v-if="approve.state == 'WaitAudit'"
|
>等待审核</span
|
>
|
<span class="status-s" v-else-if="approve.state == 'Normal'"
|
>已认证</span
|
>
|
<span class="status-f" v-else-if="approve.state == 'Reject'"
|
>已驳回</span
|
>
|
<span class="status-b" v-else>待认证</span>
|
</div>
|
</div>
|
<!-- <div class="reasonBox" v-if="reasonTxt && reasonTxt != ''">
|
<span class="title">驳回原因</span> : {{ reasonTxt }}
|
</div> -->
|
<!-- form表单 -->
|
<div>
|
<van-form @submit="onSubmit">
|
<van-field
|
v-model="approve.fullName"
|
:readonly="stateDisable"
|
label="姓名"
|
placeholder="请输入您的姓名"
|
:rules="[{ required: true, message: '请输入您的姓名' }]"
|
/>
|
<!-- 职务 -->
|
<van-field
|
clickable
|
label="职务"
|
readonly
|
:rules="[{ required: true, message: '请选择职务' }]"
|
:value="approve.post"
|
placeholder="请选择"
|
@click="showPickerPop"
|
/>
|
<van-popup v-model="showPicker" position="bottom">
|
<van-picker
|
show-toolbar
|
:columns="colunmsJob"
|
@confirm="onConfirm"
|
@cancel="showPicker = false"
|
/>
|
</van-popup>
|
<!-- 职称 -->
|
<van-field
|
clickable
|
label="职称"
|
readonly
|
:value="approve.positionalTitle"
|
:rules="[{ required: true, message: '请选择职称' }]"
|
placeholder="请选择"
|
@click="showPicker1Pop"
|
/>
|
<van-popup v-model="showPicker1" position="bottom">
|
<van-picker
|
show-toolbar
|
:readonly="stateDisable"
|
:columns="colunmsTitle"
|
@confirm="onConfirm1"
|
@cancel="showPicker1 = false"
|
></van-picker>
|
</van-popup>
|
<!-- 学历 -->
|
<van-field
|
readonly
|
clickable
|
label="学历"
|
:rules="[{ required: false, message: '请选择学历' }]"
|
:value="approve.education"
|
placeholder="请选择"
|
@click="showPicker2Pop"
|
/>
|
<van-popup v-model="showPicker2" position="bottom">
|
<van-picker
|
show-toolbar
|
:columns="colunmsEdu"
|
@confirm="onConfirm2"
|
@cancel="showPicker2 = false"
|
/>
|
</van-popup>
|
<van-field
|
:readonly="stateDisable"
|
v-model="approve.schoolName"
|
:rules="[{ required: true, message: '请输入您的所在学校名称' }]"
|
label="所在学校名称"
|
placeholder="请输入您的所在学校名称"
|
@change="chageState(true)"
|
/>
|
<van-field
|
:readonly="stateDisable"
|
v-model="approve.faculty"
|
:rules="[{ required: true, message: '请输入您的所在院、系' }]"
|
label="所在院、系"
|
placeholder="请输入您的所在院、系"
|
@change="chageState(true)"
|
/>
|
<!-- <van-field
|
:readonly="stateDisable"
|
v-model="approve.region"
|
:rules="[{ required: true, message: '请输入所在省份' }]"
|
label="所在省份:"
|
placeholder="请输入所在省份"
|
/> -->
|
|
<van-field
|
v-model="approve.region"
|
is-link
|
:readonly="stateDisable"
|
label="所在省份:"
|
placeholder="请选择所在省份:"
|
:rules="[{ required: true, message: '请选择所在省份' }]"
|
@click="showAddress"
|
/>
|
<van-popup v-model="showPicker3" round position="bottom">
|
<van-cascader
|
v-model="approve.region"
|
title="请选择所在省份:"
|
:options="areaOptions"
|
@close="showPicker3 = false"
|
@finish="finishAddress"
|
/>
|
</van-popup>
|
<van-field
|
:readonly="stateDisable"
|
v-model="approve.lecturingSpecialty"
|
:rules="[{ required: true, message: '请输入您的授课专业' }]"
|
label="授课专业"
|
placeholder="请输入您的授课专业"
|
@change="chageState(true)"
|
/>
|
<van-field
|
:readonly="stateDisable"
|
v-model="approve.phone"
|
name="phone"
|
type="tel"
|
label="联系电话"
|
:rules="[
|
{ required: true, message: '请填写您的手机号码!' },
|
{ pattern: /^1[3456789]\d{9}$/, message: '手机号码格式错误!' },
|
]"
|
placeholder="请输入您的联系电话"
|
/>
|
|
<van-field
|
:readonly="stateDisable"
|
name="qq"
|
v-model="approve.qq"
|
:rules="[{ required: false, message: '请填写您的QQ' }]"
|
label="QQ"
|
placeholder="请填写您的QQ"
|
/>
|
|
<van-field
|
:readonly="stateDisable"
|
name="email"
|
v-model="approve.email"
|
label="电子邮件"
|
placeholder="请输入您的电子邮件"
|
/>
|
|
<van-field
|
:readonly="stateDisable"
|
v-model="approve.detailedAddress"
|
label="学校地址"
|
:rules="[{ required: true, message: '请输入详细地址' }]"
|
placeholder="请输入详细地址"
|
/>
|
<van-field
|
readonly
|
name="certificate"
|
label="相关证件"
|
:rules="[{ required: true, message: '请上传相关证件' }]"
|
>
|
<template #input>
|
<van-uploader
|
:after-read="afterRead"
|
:disabled="stateDisable"
|
v-model="approve.relevantCertificates"
|
@delete="deleteFile"
|
multiple
|
>
|
<!-- <van-button type="primary">点击上传</van-button> -->
|
</van-uploader>
|
</template>
|
</van-field>
|
<div class="file-infor" style="flex-direction: column">
|
<div class="attention">
|
<p class="notice">
|
1.请上传您的教师工作证(不是教师资格证)或能体现您学校、姓名等信息的相关证件(例如教工卡,教务系统登陆后截图等)
|
</p>
|
</div>
|
<div>
|
<p class="notice">2.支持上传jpg/png文件,且不超过500kb</p>
|
<p class="phone">
|
<span class="notice"
|
>3.如您在认证时遇到问题,请于工作时间联系我们。</span
|
>
|
QQ号:3565269931 / 咨询电话010-65778403
|
(工作时间:9:00~17:00)
|
</p>
|
</div>
|
</div>
|
<div
|
v-if="!stateDisable"
|
style="
|
background-color: rgb(240, 240, 240);
|
padding-top: 25px;
|
height: 175px;
|
"
|
>
|
<van-checkbox
|
v-model="approve.agree"
|
shape="square"
|
style="padding-left: 20px; width: 200px"
|
>同意
|
<span
|
style="color: #3586ff; z-index: 1"
|
@click.stop="dialogVisible = true"
|
>教师会员协议</span
|
>
|
</van-checkbox>
|
<div style="margin: 40px">
|
<van-button
|
round
|
block
|
type="info"
|
native-type="submit"
|
:disabled="submitDisabled"
|
>提 交</van-button
|
>
|
</div>
|
</div>
|
<div v-if="stateDisable && approve.state != 'WaitAudit'">
|
<div style="margin: 40px">
|
<van-button round block type="info" @click="stateDisable = false"
|
>修 改</van-button
|
>
|
</div>
|
</div>
|
</van-form>
|
</div>
|
</div>
|
<div class="loadingBox" v-else>
|
<van-loading type="spinner" color="#1989fa" />
|
</div>
|
<van-dialog
|
v-model="dialogVisible"
|
title="《教师认证服务条款》"
|
width="90%"
|
confirmButtonColor="#3586ff"
|
messageAlign="left"
|
>
|
<div>
|
<div class="protocolBox" v-html="protocolTxt"></div>
|
</div>
|
</van-dialog>
|
</div>
|
</template>
|
|
<script>
|
import Vue from "vue";
|
import { Toast } from "vant";
|
import tool from "@/assets/js/toolClass";
|
import { regionData } from "element-china-area-data"; //引入
|
// import { mapState } from "vuex";
|
|
// :rules="[
|
// { required: false, message: '请输入正确电子邮件' },
|
// {
|
// pattern: /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/,
|
// message: '邮箱格式错误!'
|
// }
|
// ]"
|
|
Vue.use(Toast);
|
export default {
|
data() {
|
return {
|
cascaderValue: "",
|
fileValue: "",
|
areaOptions: [],
|
token: "",
|
dialogVisible: false,
|
protocolTxt: "",
|
refCode: "",
|
headers: {
|
Authorization: "",
|
},
|
submitDisabled: true, // 提交按钮,默认禁选
|
showPicker: false,
|
showPicker1: false,
|
showPicker2: false,
|
showPicker3: false,
|
//加载状态
|
loading: true,
|
subLoading: false,
|
//表单禁用状态
|
stateDisable: false,
|
//审核状态
|
state: "",
|
teacherData: {
|
//姓名
|
username: "",
|
//昵称
|
nickName: "",
|
// 职务
|
job: "",
|
//职称
|
ranks: "",
|
//学历
|
education: "",
|
// description: { education: "" },
|
//所在学校
|
schoolName: "",
|
//所在院系
|
facultyDepartment: "",
|
//授课专业
|
lectureSpecialty: "",
|
//联系电话
|
phone: "",
|
//电子邮件
|
email: "",
|
//所在学校地址
|
schoolAddress: "",
|
//通讯地址
|
phoneAddress: "",
|
//相关证件
|
certificate: [],
|
// 教师同意勾选框
|
checked: false,
|
},
|
isUpdate: false,
|
|
approve: {
|
fullName: "", //姓名
|
post: "", //职务
|
positionalTitle: "", //职称
|
education: "", //学历
|
schoolName: "", //学校名称
|
region: "", //省份
|
faculty: "", //所在院系
|
lecturingSpecialty: "", //授课专业
|
phone: "", //联系电话
|
qq: "", //qq
|
email: "", //联系邮箱
|
schoolAddress: "", //学校地址
|
detailedAddress: "", //通讯地址
|
// description: "", //个人简介
|
relevantCertificates: [], //相关证件
|
state: "", //审核状态默认待审核
|
agree: false,
|
},
|
//picker选择列表
|
colunmsJob: [
|
"院长",
|
"副院长",
|
"教研主任",
|
"教研副主任",
|
"系主任",
|
"系副主任",
|
"专业负责人",
|
"主任",
|
"其他",
|
],
|
colunmsTitle: ["正高级", "高级", "一级", "二级", "三级", "无"],
|
colunmsEdu: ["大专", "本科", "硕士", "博士"],
|
uploadList: [],
|
worksInfo: [],
|
fileList: [],
|
isWaitAudit: false,
|
userId: "",
|
isFree: false,
|
};
|
},
|
watch: {
|
"approve.agree": {
|
handler(val) {
|
this.submitDisabled = !val;
|
},
|
},
|
$route(to, from) {
|
if (
|
to.path == "/teacherCertificate" &&
|
tool.getCookie("websiteFrontToken")
|
) {
|
this.getProtocol();
|
}
|
},
|
},
|
created() {
|
var that = this;
|
var accToken = tool.getCookie("website-front-token");
|
that.token = accToken;
|
if (accToken) {
|
that.getUserRole();
|
that.getType();
|
}
|
that.changeAddress(regionData);
|
that.getProtocol();
|
|
if (this.$route.query?.loginType == "free") {
|
this.isFree = true;
|
}
|
},
|
methods: {
|
// 处理省市
|
changeAddress(data) {
|
for (let i = 0; i < data.length; i++) {
|
const item = data[i];
|
item.value = item.label;
|
item.text = item.label;
|
if (item.children?.length > 0) {
|
this.changeAddress(item.children);
|
}
|
}
|
this.areaOptions = data;
|
},
|
chageState(val) {
|
this.isWaitAudit = val;
|
},
|
// 选择地址
|
finishAddress({ selectedOptions }) {
|
this.showPicker3 = false;
|
this.approve.region = selectedOptions
|
.map((option) => option.text)
|
.join("/");
|
},
|
deleteFile(file) {
|
this.fileList.forEach((item, index) => {
|
if (item.md5 == file.md5) {
|
this.fileList.splice(index, 1);
|
}
|
});
|
},
|
getUserRole() {
|
let that = this;
|
that.MG.identity.getCurrentAppUser().then((res) => {
|
that.userId = res.userId;
|
let teacherRole = res.roleLinks.find(
|
(item) => item.role?.refCode == "teacher"
|
);
|
let teacherInfo =
|
res.infoList.find((item) => item.type == "teacherInfo") ?? {};
|
let wechatInfo =
|
res.infoList.find((item) => item.type == "WeChat") ?? {};
|
let studentInfo = res.infoList.find((item) => item.type == "Default");
|
let phoneInfo = res.secretList.find(
|
(item) => item.type == "MobilePhone"
|
);
|
if (teacherRole && teacherInfo) {
|
this.$store.dispatch("setUserInfo", {
|
...teacherInfo,
|
phoneNumber: phoneInfo?.credential,
|
icon: wechatInfo?.icon,
|
role: "Teacher",
|
roleId: teacherRole.role.id,
|
});
|
} else if (wechatInfo) {
|
this.$store.dispatch("setUserInfo", {
|
...wechatInfo,
|
phoneNumber: phoneInfo?.credential,
|
role: "Student",
|
});
|
} else if (studentInfo) {
|
this.$store.dispatch("setUserInfo", {
|
...studentInfo,
|
icon: wechatInfo?.icon,
|
phoneNumber: phoneInfo?.credential,
|
role: "Student",
|
});
|
}
|
});
|
},
|
|
getType() {
|
const data = {
|
refCodes: ["tourism_teacherCertification"],
|
};
|
this.MG.resource.getCmsTypeByRefCode(data).then((res) => {
|
this.newGetTeacherInfo();
|
this.worksInfo = res[0].cmsTypeLinks[0].children;
|
});
|
},
|
|
newGetTeacherInfo() {
|
let that = this;
|
this.loading = true;
|
const data = {
|
start: 0,
|
size: 10,
|
topicIdOrRefCode: "teacherRoleApproval",
|
appRefCode: "tourismWebsite",
|
sort: {
|
type: "Desc",
|
field: "CreateDate",
|
},
|
};
|
that.MG.ugc.getTopicMessageList(data).then((res) => {
|
try {
|
if (res.datas.length > 0) {
|
that.fileList = [];
|
const resData = res.datas.find(
|
(i) => i.appUserCreator.userId == that.userId
|
);
|
that.approve = that.tool.resultsBytool(
|
that.worksInfo,
|
resData.cmsItemDataList
|
);
|
|
that.approve.state = resData.state;
|
if (
|
that.approve.state == "WaitAudit" ||
|
that.approve.state == "Normal"
|
) {
|
that.stateDisable = true;
|
}
|
that.topicId = resData.id;
|
that.topicMessageList = resData.cmsItemDataList;
|
if (that.approve.feedBack != null) {
|
that.reasonTxt = JSON.parse(that.approve.feedBack).reason;
|
}
|
if (resData.cmsItemDataList.length > 0) {
|
that.isUpdate = true;
|
}
|
if (that.approve.relevantCertificates.length > 0) {
|
if (typeof that.approve.relevantCertificates == "object") {
|
that.approve.relevantCertificates.forEach((ele) => {
|
let imgObj = {
|
md5: ele.file.md5,
|
url:
|
this.config.requestCtx +
|
`/file/GetPreViewImage?md5=` +
|
ele.file.md5,
|
linkType: "LinkFile",
|
linkProtectType: "Public",
|
isImage: true,
|
};
|
that.fileList.push(imgObj);
|
});
|
} else {
|
let imgObj = {
|
url:
|
this.config.requestCtx +
|
`/file/GetPreViewImage?md5=` +
|
that.approve.relevantCertificates,
|
md5: that.approve.relevantCertificates,
|
linkType: "LinkFile",
|
linkProtectType: "Public",
|
isImage: true,
|
};
|
that.fileList.push(imgObj);
|
}
|
}
|
}
|
that.loading = false;
|
} catch (error) {
|
console.log(error);
|
that.loading = false;
|
}
|
});
|
},
|
|
getProtocol() {
|
var that = this;
|
that.MG.resource
|
.getItem({
|
path: "tourism_protocol",
|
fields: {
|
tourism_content: [],
|
},
|
})
|
.then((res) => {
|
try {
|
const data = res.datas.find(
|
(e) => e.refCode == "tourism_teacherCertificationAgreement"
|
);
|
this.protocolTxt = data ? data.tourism_content : "暂无协议";
|
} catch (error) {
|
this.protocolTxt = "暂无协议";
|
}
|
});
|
},
|
|
onSubmit(val) {
|
let that = this;
|
if (this.subLoading) {
|
return false;
|
}
|
this.subLoading = true;
|
if (this.isUpdate) {
|
this.updateSubmit();
|
} else {
|
this.stateDisable = true;
|
if (that.approve.agree) {
|
// this.approve.region = this.approve.region?.split("/");
|
// !this.isFree ? "WaitAudit" : "Normal"
|
const data = {
|
topicIdOrRefCode: "teacherRoleApproval",
|
name: this.approve.fullName,
|
content: "",
|
state: !this.isFree ? "WaitAudit" : "Normal",
|
type: "teacherRegister",
|
cmsTypeRefCode: "tourism_teacherCertification",
|
newDataListRequest: this.tool.worksDataBytool(
|
this.worksInfo,
|
this.approve,
|
this.fileList
|
),
|
};
|
let basicInfo = JSON.parse(JSON.stringify(this.approve));
|
delete basicInfo.agree;
|
delete basicInfo.worksInfo;
|
delete basicInfo.state;
|
const userInfo = {
|
requests: [
|
{
|
data: JSON.stringify(basicInfo),
|
name: basicInfo.fullName,
|
type: "teacherInfo",
|
},
|
],
|
};
|
this.MG.identity.setAppUserInfo(userInfo).then((res) => {
|
this.MG.ugc.newTopicMessage(data).then(() => {
|
this.subLoading = true;
|
const fromRouter = this.$route.query;
|
if (res !== false) {
|
that.newGetTeacherInfo();
|
}
|
if (fromRouter.from && fromRouter.from == "bookDetail") {
|
this.$router.replace({
|
name: "bookDetail",
|
query: {
|
id: this.$route.query.id,
|
},
|
});
|
}
|
});
|
});
|
}
|
}
|
},
|
|
updateSubmit() {
|
let basicInfo = JSON.parse(JSON.stringify(this.approve));
|
this.approve.region = this.approve.region?.split("/");
|
const fields = this.tool.UpdateworksDataBytool(
|
this.worksInfo,
|
this.topicMessageList,
|
this.approve,
|
this.fileList
|
);
|
let state = "Normal";
|
if (this.approve.state == "WaitAudit" || this.approve.state == "Reject") {
|
state = "WaitAudit";
|
}
|
if (this.approve.state == "Normal") {
|
state = this.isWaitAudit ? "WaitAudit" : "Normal";
|
}
|
const data = {
|
description: "",
|
icon: "",
|
id: this.topicId,
|
topicIdOrRefCode: "teacherRoleApproval",
|
name: this.approve.fullName,
|
content: "",
|
type: "teacherRegister",
|
state: state,
|
newDataRequests: fields.newData,
|
updateDataRequests: fields.updateData,
|
delDataRequest: {
|
ids: [],
|
},
|
};
|
delete basicInfo.tourism_relevantCertificates;
|
delete basicInfo.agree;
|
delete basicInfo.worksInfo;
|
delete basicInfo.state;
|
const userInfo = {
|
requests: [
|
{
|
data: JSON.stringify(basicInfo),
|
name: basicInfo.fullName,
|
type: "newTeacherInfo",
|
},
|
],
|
};
|
this.MG.identity.setAppUserInfo(userInfo).then((res) => {
|
if (res) {
|
this.MG.ugc.updateTopicMessage(data).then((res) => {
|
this.subLoading = false;
|
const fromRouter = this.$route.query;
|
if (res !== false) {
|
this.getUserRole();
|
this.newGetTeacherInfo();
|
}
|
if (fromRouter.from && fromRouter.from == "bookDetail") {
|
this.$router.replace({
|
name: "bookDetail",
|
query: {
|
id: this.$route.query.id,
|
},
|
});
|
}
|
});
|
}
|
});
|
},
|
|
async beforeUpload(file) {
|
console.log(file);
|
const isJPG = file.type === "image/jpeg" || file.type === "image/png";
|
const isLt2M = (0.5 * file.size) / 1024 / 1024 < 0.5;
|
if (!isJPG) {
|
Toast("上传文件只能是 jpg/png 格式!");
|
return false;
|
}
|
if (!isLt2M) {
|
Toast("上传文件大小不能超过 500KB!");
|
return false;
|
}
|
const md5 = await this.tool.getFileMd5(file, 1024);
|
this.currentMD5 = md5;
|
let currentFileName = file.name.substring(0, file.name.lastIndexOf("."));
|
this.currentFileName = currentFileName;
|
let currentExtension = file.name.substring(
|
file.name.lastIndexOf(".") + 1,
|
file.name.length
|
);
|
this.currentExtension = currentExtension;
|
this.currentFileType = file.type;
|
// this.fileList.push({
|
// md5: md5,
|
// url: this.config.requestCtx + `/file/GetPreViewImage?md5=` + md5,
|
// linkType: "LinkFile",
|
// linkProtectType: "Public",
|
// isImage: true
|
// });
|
// this.approve.relevantCertificates = this.fileList;
|
|
return isJPG && isLt2M;
|
},
|
|
afterRead(file) {
|
var that = this;
|
that.isLoding = true;
|
const FileName = file.file.name.split(".")[0];
|
const Extension = file.file.name.split(".")[1];
|
const FileType = file.file.type;
|
let size = 1024;
|
that.tool
|
.getFileMd5(file.file, size * 1024)
|
.then((e) => {
|
const imgData = new FormData();
|
that.fileMd5 = e;
|
imgData.append("Md5", e);
|
imgData.append("FileName", FileName);
|
imgData.append("Extension", Extension);
|
imgData.append("FileType", FileType);
|
imgData.append("MetaData", null);
|
imgData.append("file", file.file);
|
that.MG.file.upload(imgData).then((res) => {
|
if (res) {
|
this.fileList.push({
|
md5: e,
|
url: this.config.requestCtx + `/file/GetPreViewImage?md5=` + e,
|
linkType: "LinkFile",
|
linkProtectType: "Public",
|
isImage: true,
|
});
|
this.approve.relevantCertificates = this.fileList;
|
// this.fileList = this.approve.relevantCertificates
|
console.log(this.temp_fileList, "this.temp_fileList");
|
}
|
});
|
})
|
.catch((e) => {
|
that.isLoding = false;
|
console.error(e);
|
});
|
// let fd = new FormData();
|
// fd.append("appId", this.config.appId);
|
// fd.append("file", file.file);
|
// this.request({
|
// method: "POST",
|
// url: "/api/fileUpload/public",
|
// data: fd
|
// }).then(res => {
|
// // 处理相关证件
|
// let imgList = res.uploadSuccessResults;
|
// let showImgList = [];
|
// for (let i = 0; i < imgList.length; i++) {
|
// if (imgList[i].md5) {
|
// showImgList.push({
|
// name: imgList[i].fileName,
|
// md5: imgList[i].md5,
|
// url:
|
// this.config.requestCtx +
|
// "/fileDownload.ashx?md5=" +
|
// imgList[i].md5 +
|
// "&appId=" +
|
// this.config.appId,
|
// isImage: true
|
// });
|
// }
|
// }
|
// this.uploadList = [...this.uploadList, ...showImgList];
|
// this.teacherData.certificate = this.uploadList;
|
// });
|
},
|
//显示职务弹窗
|
showPickerPop() {
|
if (!this.stateDisable) {
|
this.showPicker = true;
|
}
|
this.MG.store
|
.getProductTypeField({
|
refCodes: ["post"],
|
})
|
.then((res) => {
|
if (res && res[0].config) {
|
let list = JSON.parse(res[0].config).option;
|
list.forEach((item) => {
|
item.text = item.name;
|
});
|
this.colunmsJob = list;
|
}
|
});
|
},
|
|
//显示职称弹窗
|
showPicker1Pop() {
|
if (!this.stateDisable) {
|
this.showPicker1 = true;
|
}
|
this.MG.store
|
.getProductTypeField({
|
refCodes: ["positionalTitle"],
|
})
|
.then((res) => {
|
if (res && res[0].config) {
|
let list = JSON.parse(res[0].config).option;
|
list.forEach((item) => {
|
item.text = item.name;
|
});
|
this.colunmsTitle = list;
|
}
|
});
|
},
|
//学历弹窗
|
showPicker2Pop() {
|
if (!this.stateDisable) {
|
this.showPicker2 = true;
|
}
|
this.MG.store
|
.getProductTypeField({
|
refCodes: ["education"],
|
})
|
.then((res) => {
|
if (res && res[0].config) {
|
let list = JSON.parse(res[0].config).option;
|
list.forEach((item) => {
|
item.text = item.name;
|
});
|
this.colunmsEdu = list;
|
}
|
});
|
},
|
|
// 地址弹框
|
showAddress() {
|
if (this.stateDisable) {
|
return false;
|
}
|
this.showPicker3 = true;
|
},
|
// 返回箭头
|
onClickLeft() {
|
var that = this;
|
that.$router.go(-1);
|
},
|
onConfirm(value) {
|
this.approve.post = value.text;
|
this.showPicker = false;
|
},
|
onConfirm1(value) {
|
this.approve.positionalTitle = value.text;
|
this.showPicker1 = false;
|
},
|
onConfirm2(value) {
|
this.approve.education = value.text;
|
this.showPicker2 = false;
|
},
|
},
|
};
|
</script>
|
|
<style scoped>
|
.phone {
|
color: #2b68cd;
|
line-height: 22px;
|
}
|
.attention {
|
line-height: 22px;
|
}
|
.file-infor {
|
padding: 15px 12px;
|
box-sizing: border-box;
|
}
|
.file-infor .notice {
|
color: #ccc;
|
}
|
.status-w {
|
color: #e6a23c;
|
}
|
.status-s {
|
color: #67c23a;
|
}
|
.status-f {
|
color: #f56c6c;
|
}
|
|
.status-b {
|
color: #2b68cd;
|
}
|
.loadingBox {
|
position: absolute;
|
top: 50%;
|
left: 50%;
|
transform: translate(-50%, -50%);
|
}
|
.topTitle {
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
margin-top: 40px;
|
height: 40px;
|
line-height: 40px;
|
padding: 0 16px;
|
/* margin-top: 40px; */
|
background-color: rgba(215, 215, 215, 0.56);
|
color: #999999;
|
}
|
|
.certificate {
|
font-size: 13px;
|
padding: 0 35px 0 15px;
|
}
|
.navBar {
|
top: 0;
|
left: 0;
|
height: 40px;
|
line-height: 40px;
|
position: fixed;
|
width: 100%;
|
}
|
</style>
|
<style>
|
.van-nav-bar__title {
|
height: 40px;
|
line-height: 40px;
|
font-size: 16px;
|
}
|
.van-uploader__wrapper--disabled .van-uploader__preview-delete {
|
display: none;
|
}
|
.van-field--disabled .van-cell__value {
|
background: #f6f6f6;
|
}
|
/* .van-field__control {
|
text-indent: 8px;
|
} */
|
/* .van-uploader__preview {
|
top: 102px;
|
} */
|
.van-field--error .van-field__control,
|
.van-field--error .van-field__control::placeholder {
|
color: #b7b7b7;
|
}
|
/* .van-uploader__preview-delete-icon {
|
right: -5px;
|
} */
|
.van-uploader__preview-delete {
|
right: 1px;
|
}
|
.teacherCertificate .van-dialog__content {
|
height: 60vh;
|
font-size: 14px;
|
overflow: auto;
|
padding: 15px;
|
}
|
</style>
|