|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <div class="mobileWrapper">
|
|
|
+ <div class="mobileWrapper1">
|
|
|
<van-nav-bar
|
|
|
left-text="返回"
|
|
|
left-arrow
|
|
@@ -8,7 +8,6 @@
|
|
|
:title="title"
|
|
|
/>
|
|
|
<van-form ref="form" @submit="onSubmit" @failed="onFailed">
|
|
|
- <!-- <h5>简历</h5> -->
|
|
|
<van-field
|
|
|
required
|
|
|
v-model="form.userName"
|
|
@@ -33,8 +32,19 @@
|
|
|
/>
|
|
|
<van-field name="resumeFile" label="简历">
|
|
|
<template #input>
|
|
|
- <van-uploader v-model="form.resumeFile">
|
|
|
- <van-button icon="plus" type="primary" size="small"
|
|
|
+ <van-uploader
|
|
|
+ v-model="form.resumeFile"
|
|
|
+ :before-read="beforeRead"
|
|
|
+ :after-read="afterRead"
|
|
|
+ :delete="deleteFile"
|
|
|
+ accept=".doc,.docx"
|
|
|
+ :max-count="1"
|
|
|
+ >
|
|
|
+ <van-button
|
|
|
+ icon="plus"
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ native-type="button"
|
|
|
>上传简历</van-button
|
|
|
>
|
|
|
</van-uploader>
|
|
@@ -189,6 +199,7 @@
|
|
|
<section class="sectionInfo">
|
|
|
<span>工作履历</span>
|
|
|
<van-button
|
|
|
+ native-type="button"
|
|
|
icon="plus"
|
|
|
type="primary"
|
|
|
size="small"
|
|
@@ -197,7 +208,6 @@
|
|
|
>
|
|
|
<div class="formInfo">
|
|
|
<div class="item" v-for="(item, index) in form.workList" :key="index">
|
|
|
- <!-- disabled -->
|
|
|
<van-field
|
|
|
v-model="item.companyName"
|
|
|
label="公司名称"
|
|
@@ -237,13 +247,16 @@
|
|
|
v-model="item.reason"
|
|
|
label="离职原因"
|
|
|
placeholder="请输入"
|
|
|
+ type="textarea"
|
|
|
/>
|
|
|
<van-field
|
|
|
v-model="item.workDetail"
|
|
|
label="工作描述"
|
|
|
placeholder="请输入"
|
|
|
+ type="textarea"
|
|
|
/>
|
|
|
<van-button
|
|
|
+ native-type="button"
|
|
|
type="danger"
|
|
|
size="small"
|
|
|
@click="handleWorkRowDelete(index)"
|
|
@@ -255,6 +268,7 @@
|
|
|
<section class="sectionInfo">
|
|
|
<span>项目经验</span>
|
|
|
<van-button
|
|
|
+ native-type="button"
|
|
|
icon="plus"
|
|
|
type="primary"
|
|
|
size="small"
|
|
@@ -296,13 +310,16 @@
|
|
|
v-model="item.partIn"
|
|
|
label="责任描述"
|
|
|
placeholder="请输入"
|
|
|
+ type="textarea"
|
|
|
/>
|
|
|
<van-field
|
|
|
v-model="item.projectDetail"
|
|
|
label="项目描述"
|
|
|
placeholder="请输入"
|
|
|
+ type="textarea"
|
|
|
/>
|
|
|
<van-button
|
|
|
+ native-type="button"
|
|
|
type="danger"
|
|
|
size="small"
|
|
|
@click="handleProjectRowDelete(index)"
|
|
@@ -314,6 +331,7 @@
|
|
|
<section class="sectionInfo">
|
|
|
<span>教育经历</span>
|
|
|
<van-button
|
|
|
+ native-type="button"
|
|
|
icon="plus"
|
|
|
type="primary"
|
|
|
size="small"
|
|
@@ -347,8 +365,10 @@
|
|
|
v-model="item.detail"
|
|
|
label="描述"
|
|
|
placeholder="请输入"
|
|
|
+ type="textarea"
|
|
|
/>
|
|
|
<van-button
|
|
|
+ native-type="button"
|
|
|
type="danger"
|
|
|
size="small"
|
|
|
@click="handleEduRowDelete(index)"
|
|
@@ -357,7 +377,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</section>
|
|
|
- <div style="margin: 16px">
|
|
|
+ <div class="submitBtn">
|
|
|
<van-button round block type="info" native-type="submit"
|
|
|
>提交</van-button
|
|
|
>
|
|
@@ -375,6 +395,7 @@ import {
|
|
|
delResume,
|
|
|
addResume,
|
|
|
updateResume,
|
|
|
+ uploadResumeSimilarity,
|
|
|
} from "@/api/system/resume";
|
|
|
export default {
|
|
|
name: "MobileResumeForm",
|
|
@@ -434,7 +455,13 @@ export default {
|
|
|
if (this.id) {
|
|
|
getResume(this.id)
|
|
|
.then((response) => {
|
|
|
+ if (!response.data.resumeFile) {
|
|
|
+ response.data.resumeFile = [];
|
|
|
+ } else {
|
|
|
+ response.data.resumeFile = [response.data.resumeFile];
|
|
|
+ }
|
|
|
that.form = response.data;
|
|
|
+ console.log(that.form);
|
|
|
})
|
|
|
.catch((err) => {
|
|
|
that.$toast(err.msg);
|
|
@@ -442,6 +469,38 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 上传前
|
|
|
+ beforeRead(file) {
|
|
|
+ console.log(file);
|
|
|
+ if (file.type.includes("word")) {
|
|
|
+ return true;
|
|
|
+ } else {
|
|
|
+ this.$toast("请上传word简历");
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 上传后
|
|
|
+ afterRead(file) {
|
|
|
+ console.log(file);
|
|
|
+ let formData = new FormData();
|
|
|
+ let that = this;
|
|
|
+ formData.append("file", file.file);
|
|
|
+ uploadResumeSimilarity(formData)
|
|
|
+ .then((response) => {
|
|
|
+ if (response.code == 200) {
|
|
|
+ if (response.data) {
|
|
|
+ let resumeFile = response.data.resumeFile;
|
|
|
+ that.form = response.data;
|
|
|
+ that.form.resumeFile = [resumeFile];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ that.$toast(err.msg);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 删除文件
|
|
|
+ deleteFile(file) {},
|
|
|
onUpdateBirthday(value) {
|
|
|
// 使用moment格式化日期
|
|
|
const data = moment(value).format("YYYY-MM-DD");
|
|
@@ -458,9 +517,16 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
onSubmit(values) {
|
|
|
+ // console.log("values=", values);
|
|
|
let that = this;
|
|
|
+ values.workList = this.form.workList;
|
|
|
+ values.projectList = this.form.projectList;
|
|
|
+ values.eduList = this.form.eduList;
|
|
|
+ if (values.resumeFile && values.resumeFile[0]) {
|
|
|
+ values.resumeFile = values.resumeFile[0];
|
|
|
+ }
|
|
|
if (that.id) {
|
|
|
- values.id = that.id;
|
|
|
+ values.resumeId = that.id;
|
|
|
updateResume(values)
|
|
|
.then((response) => {
|
|
|
if (response.code == 200) {
|
|
@@ -598,15 +664,19 @@ h5 {
|
|
|
margin-left: 40px;
|
|
|
}
|
|
|
.formInfo {
|
|
|
+ .item,
|
|
|
+ .van-cell {
|
|
|
+ background-color: #f1f1f1;
|
|
|
+ }
|
|
|
.item {
|
|
|
padding-bottom: 20px;
|
|
|
- border: 1px solid #ccc;
|
|
|
+ // border: 1px solid #ccc;
|
|
|
border-radius: 5px;
|
|
|
- overflow: auto;
|
|
|
+ // overflow: auto;
|
|
|
margin-top: 10px;
|
|
|
button {
|
|
|
position: relative;
|
|
|
- left: 90%;
|
|
|
+ left: 84%;
|
|
|
top: 10px;
|
|
|
}
|
|
|
}
|
|
@@ -624,4 +694,12 @@ h5 {
|
|
|
-webkit-transform: scaleY(0.5);
|
|
|
transform: scaleY(0.5);
|
|
|
}
|
|
|
+.van-form {
|
|
|
+ padding-bottom: 20px;
|
|
|
+}
|
|
|
+.submitBtn {
|
|
|
+ margin: 16px;
|
|
|
+ // position: absolute;
|
|
|
+ // bottom:0;
|
|
|
+}
|
|
|
</style>
|