diff --git a/.env.development b/.env.development
index b7267e7..7e290f0 100644
--- a/.env.development
+++ b/.env.development
@@ -2,7 +2,7 @@
ENV = 'development'
# KeySaas测试云平台/开发环境
-VUE_APP_BASE_API = '/test-api'
+VUE_APP_BASE_API = '/prod-api'
VUE_APP_BASE_TARGET = 'http://192.168.0.229:9999'
diff --git a/public/assets/ability/metop.png b/public/assets/ability/metop.png
new file mode 100644
index 0000000..1542308
Binary files /dev/null and b/public/assets/ability/metop.png differ
diff --git a/src/api/tester/TesterApply.js b/src/api/tester/TesterApply.js
index 25f7c8f..0c81cfd 100644
--- a/src/api/tester/TesterApply.js
+++ b/src/api/tester/TesterApply.js
@@ -115,7 +115,58 @@ export function exportTesterApply(query) {
// 项目经历 工作经历 教育经历添加
export function couldInfoAdd(data) {
return request({
- url: '/personal/cese/add',
+ url: '/personal/case/add',
+ method: 'post',
+ data
+ })
+}
+// 项目经历 工作经历 教育经历修改
+export function couldInfoUpdate(data) {
+ return request({
+ url: '/personal/case/update',
+ method: 'post',
+ data
+ })
+}
+// 项目经历 工作经历 教育经历删除
+export function couldInfoDelete(id) {
+ return request({
+ url: '/personal/case/' + id,
+ method: 'delete',
+ id
+ })
+}
+
+
+// 个人简介添加
+export function couldUserInfoAdd(data) {
+ return request({
+ url: '/tester/cert/profile',
+ method: 'post',
+ data
+ })
+}
+
+// 查询简历信息
+export function getCloudAll() {
+ return request({
+ url: '/personal/resume',
+ method: 'get',
+ })
+}
+
+// 证书新增
+export function couldBookAdd(data) {
+ return request({
+ url: '/tester/cert/credentials',
+ method: 'post',
+ data
+ })
+}
+// 证书修改
+export function couldBookUpdate(data) {
+ return request({
+ url: '/tester/cert/credentials/edit',
method: 'post',
data
})
diff --git a/src/page/common/imageUpload.vue b/src/page/common/imageUpload.vue
index 8f73245..daff83a 100644
--- a/src/page/common/imageUpload.vue
+++ b/src/page/common/imageUpload.vue
@@ -32,7 +32,7 @@
-->
-
+
@@ -210,4 +210,7 @@ export default {
height: 100px;
line-height: 100px;
}
+.component-upload-image >>> .el-upload-list__item-thumbnail {
+ object-fit: cover;
+}
\ No newline at end of file
diff --git a/src/page/homepage/personability/abilityApply.vue b/src/page/homepage/personability/abilityApply.vue
index f67bdfa..4b974ac 100644
--- a/src/page/homepage/personability/abilityApply.vue
+++ b/src/page/homepage/personability/abilityApply.vue
@@ -129,27 +129,31 @@
工作经历
-
+
-
-
-
- -
-
-
-
+
+
+
+
+
+ -
+
+
+
+
+
@@ -162,8 +166,9 @@
>
-
-
+
+
保存
+
修改
-
+
-
-
-
- -
-
-
-
+
+
+
+
+
+ -
+
+
+
+
+
@@ -218,13 +227,16 @@
>
-
+
+
保存
+
修改

- 删除
+
删除
+ 新增经历
@@ -236,9 +248,9 @@
个人简介
-
-
-
+
+
+
-
-
+
+
-
+
+
@@ -269,26 +287,33 @@
资格证书
-
-
-
+
+
+
-
+
-
+
+
保存
+
修改

- 删除
+
删除
+ 新增证书
@@ -300,29 +325,33 @@
教育经历
-
+
-
-
-
-
-
- -
-
-
+
+
+
+
+
+
+ -
+
+
+
+
+
-
+
@@ -330,16 +359,19 @@
-
+
-
+
+
保存
+
修改

- 删除
+
删除
+ 新增经历
@@ -363,7 +395,7 @@
import { mapGetters } from 'vuex'
import imageUpload from '@/page/common/imageUpload'
import { gettesterId, addtesterApply, updatetesterApply } from '@/api/tester/CompanyApply'
-import { couldInfoAdd } from '@/api/tester/TesterApply'
+import { getCloudAll, couldInfoAdd, couldInfoUpdate, couldInfoDelete, couldUserInfoAdd, couldBookAdd, couldBookUpdate } from '@/api/tester/TesterApply'
export default {
components: { imageUpload },
@@ -398,15 +430,29 @@ export default {
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: {
- namep: [{ required: true, message: '请输入公司名称', trigger: 'blur' }],
+ 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: {},
- userRules: {},
+ userForm: {
+ city: '北京市-北京市',
+ },
+ userRules: {
+ testSkills: [{ required: true, message: '请输入技能方向', trigger: 'blur' }],
+ personalAdvantage: [{ required: true, message: '请输入个人优势', trigger: 'blur' }],
+ },
province: '北京市',
city: '北京市',
placeholders: {
@@ -416,13 +462,21 @@ export default {
// 资格证书
materialServerAddr: '',
certificateList: [{}],
- certificateRules: {},
+ certificateRules: {
+ credentialsName: [{ required: true, message: '请输入证书名称', trigger: 'blur' }],
+ url: [{ required: true, message: '请上传证书', trigger: 'blur' }],
+ },
// 教育经历
educationList: [{}],
- educationRules: {},
+ 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' }],
+ },
}
},
- mounted() {},
watch: {
active: {
handler(newval, oldval) {
@@ -436,7 +490,45 @@ export default {
computed: {
...mapGetters(['userinform', 'token']),
},
+ created() {
+ this.getCloudAllList()
+ },
methods: {
+ // 获取简历信息
+ getCloudAllList() {
+ getCloudAll().then((res) => {
+ console.log(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 = [{}]
+ }
+ // 个人简介
+ this.userForm = res.personalInfo
+ this.province = this.userForm.city.split('-')[0]
+ this.city = this.userForm.city.split('-')[1]
+
+ // 证书
+ 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) => {
@@ -499,30 +591,157 @@ export default {
},
// 工作经历保存
saveWork(i) {
- const data = this.workList[i]
- data.type = 1
- couldInfoAdd(data).then(res => {
- console.log(res);
+ 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) {
- if (this.workList.length == 1) return this.$message.warning('最少有一项')
- this.workList.splice(i, 1)
+ 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 {
+ if (this.workList.length == 1) return this.$message.warning('最少有一项')
+ this.workList.splice(i, 1)
+ this.$message({
+ type: 'success',
+ message: '删除成功!',
+ })
+ }
+ })
},
// 项目经历添加
addProject() {
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) {
- if (this.projectList.length == 1) return this.$message.warning('最少有一项')
- this.projectList.splice(i, 1)
+ 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('保存个人简介成功')
+ })
+ }
+ })
},
// 资格证书添加
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) {
if (this.certificateList.length == 1) return this.$message.warning('最少有一项')
@@ -532,17 +751,62 @@ export default {
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) {
- if (this.educationList.length == 1) return this.$message.warning('最少有一项')
- this.educationList.splice(i, 1)
+ 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.area = this.province + '-' + this.city
+ this.userForm.city = this.province + '-' + this.city
} else {
this.province = ''
}
@@ -551,7 +815,7 @@ export default {
onChangeCity(data) {
if (data.value.indexOf('---') == -1) {
this.city = data.value
- this.userForm.area = this.province + '-' + this.city
+ this.userForm.city = this.province + '-' + this.city
} else {
this.city = ''
}
@@ -785,4 +1049,26 @@ export default {
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;
+}
\ No newline at end of file
diff --git a/src/page/personalpage/home/resume.vue b/src/page/personalpage/home/resume.vue
index b2070aa..ae30058 100644
--- a/src/page/personalpage/home/resume.vue
+++ b/src/page/personalpage/home/resume.vue
@@ -1,7 +1,9 @@
-
云员工个人简历
+
+

+ 云员工个人简历
@@ -11,8 +13,8 @@
个人简介
-
-
+
+
张三(已实名)
@@ -20,8 +22,8 @@
男
-
-
+
+
-
+
-
+
+
@@ -55,46 +60,53 @@
工作经历
-
+
-
-
-
- -
-
-
-
-
-
+
+
+
+
+
+ -
+
+
+
+
+
+
+
-
+
-
+
+
保存
+
修改

- 删除
+
删除
+ 新增经历
@@ -106,49 +118,56 @@
项目经历
-
-
-
-
-
-
-
- -
-
-
+
+
+
-
-
+
+
+
+
+
+ -
+
+
+
+
+
+
+
-
-
+
+
-
+
-
+
+
保存
+
修改

- 删除
+
删除
+ 新增经历
@@ -161,26 +180,33 @@
资格证书
-
-
-
+
+
+
-
+
-
+
+
保存
+
修改

- 删除
+
删除
+ 新增证书
@@ -192,46 +218,58 @@
教育经历
-
+
-
-
-
-
-
- -
-
-
+
-
-
+
+
+
+
+
+ -
+
+
+
+
+
+
+
-
-
+
+
-
+
+
保存
+
修改

- 删除
+
删除
+ 新增经历
@@ -242,10 +280,21 @@
保存并发布
+