diff --git a/src/api/index.js b/src/api/index.js index aad1bc6110d67faa00ef2c0c2a2dce7699244387..0c4d9060e3bc59d84895356188e4b954545715b7 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -476,6 +476,9 @@ export default { getCount (params) { return fetch(`/v1/science-admin/com-talent-apply/getCount`, params) }, + save (params) { + return fetch(`/v1/science-admin/com-talent-apply/save`, params, 'post', 'json') + } }, task: { getListByPage (params) { diff --git a/src/views/report/talent/components/talentEdit.vue b/src/views/report/talent/components/talentEdit.vue index f83d2282f8301db6eb3c6e33cafc9a7a2acd4ca0..5f8c346811c38195f3e7de46106c5cebfe492bed 100644 --- a/src/views/report/talent/components/talentEdit.vue +++ b/src/views/report/talent/components/talentEdit.vue @@ -388,7 +388,10 @@ export default { data() { return { formData: { + id: null, + reportYear: null, certId: null, + personId: null, personName: null, nation: null, sex: null, @@ -409,6 +412,7 @@ export default { telephone: null, fax: null, email: null, + resumeList: [], }, rules: { certId: [{ required: true, message: '*', trigger: 'blur' },], @@ -419,12 +423,12 @@ export default { degree: [{ required: true, message: '*', trigger: 'change' },], degreeTime: [{ required: true, message: '*', trigger: 'change' },], degreeUnit: [{ required: true, message: '*', trigger: 'blur' },], - spec: [{ required: false, message: '*', trigger: 'change' }], - graduateTeacher: [{ required: false, message: '*', trigger: 'change' }], + spec: [{ required: true, message: '*', trigger: 'change' }], + graduateTeacher: [{ required: true, message: '*', trigger: 'change' }], title: [{ required: true, message: '*', trigger: 'change' },], politicalParty: [{ required: true, message: '*', trigger: 'blur' },], - duty: [{ required: false, message: '*', trigger: 'change' }], - talentType: [{ required: false, message: '*', trigger: 'change' }], + duty: [{ required: true, message: '*', trigger: 'change' }], + talentType: [{ required: true, message: '*', trigger: 'change' }], honoraryTitle: [{ required: true, message: '*', trigger: 'blur' },], holdPost1: [{ required: true, message: '*', trigger: 'blur' },], holdPost2: [{ required: true, message: '*', trigger: 'blur' },], @@ -447,8 +451,8 @@ export default { this.loading = true this.$api.person.getPersonByCertId({ certId: this.formData.certId }).then(({ data = {} }) => { if (data) { - console.log(data) this.formData = data + this.formData.personId = data.id } this.loading = false }).catch(() => { this.loading = false }) @@ -488,9 +492,10 @@ export default { let state = obj.projState if (state != 30 && step == 5) obj.projState = 10 + let pars = isEmptyParams(obj) let par = { ...pars } - this.$api.project.save(par).then(({ data = {} }) => { + this.$api.talent.save(par).then(({ data = {} }) => { if (data) { this.formData.id = data if (next) { @@ -523,6 +528,7 @@ export default { } break; case 1: + obj = { id: null, resumeList: [] } break; case 2: break; @@ -533,9 +539,18 @@ export default { case 5: break; } + Object.keys(obj).forEach(key => { - obj[key] = this.formData[key]; + let value = this.formData[key] + + if ((key === 'talentType' || key === 'graduateTeacher') && Array.isArray(value)) { + obj[key] = value.join(',') + } else { + obj[key] = value + } }) + + console.log('getObj处理后的数据:', obj) return obj }, checkInfo (step) { @@ -567,6 +582,13 @@ export default { if (!!this.value) { this.$api.talent.getTalentInfoById({ id: this.value }).then(({ data = {} }) => { if (data) { + if (typeof data.talentType === 'string' && data.talentType) { + data.talentType = data.talentType.split(',') + } + if (typeof data.graduateTeacher === 'string' && data.graduateTeacher) { + data.graduateTeacher = data.graduateTeacher.split(',') + } + this.formData = data this.$emit('onStepChange', { step: 0, state: data.completeStatus }) this.loadList() diff --git a/src/views/utils/common.js b/src/views/utils/common.js index a397bd5966bca9502d1b1a9d5e4b387404335869..4620f1aaab2348a6a72fb8b1a1473cdc3894f1d3 100644 --- a/src/views/utils/common.js +++ b/src/views/utils/common.js @@ -1,4 +1,3 @@ - import moment from 'moment' import storeInfo from '../../store/index' import router from "../../router"