step-experience.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <template>
  2. <div class="sign-new-experience">
  3. <div class="sign-new-tips">
  4. 完善经历和技能信息,尤其<b>技能</b>信息将直接用于<b>派单匹配</b>,确保准确,完善
  5. </div>
  6. <div class="sign-experience-main">
  7. <!-- 教育经历 -->
  8. <div class="sign-experience-item">
  9. <stepEducation @educationChange="educationChange"></stepEducation>
  10. </div>
  11. <!-- 工作经历 -->
  12. <div class="sign-experience-item">
  13. <stepWorkExperienceVue
  14. @workExperienceChange="workExperienceChange"
  15. ></stepWorkExperienceVue>
  16. </div>
  17. <!-- 技能 -->
  18. <div class="sign-experience-item">
  19. <stepSkills @skillsChange="skillsChange"></stepSkills>
  20. </div>
  21. <!-- 个人介绍 -->
  22. <div class="sign-experience-item">
  23. <stepProfile @profileChange="profileChange"></stepProfile>
  24. </div>
  25. </div>
  26. <div class="sign-new-next">
  27. <div
  28. class="sign-new-next-btn"
  29. :class="{
  30. disable: !canFinish
  31. }"
  32. @click="nextStep"
  33. >
  34. 完成签约
  35. </div>
  36. </div>
  37. </div>
  38. </template>
  39. <script>
  40. import stepEducation from "./step-education.vue";
  41. import stepWorkExperienceVue from "./step-work-experience.vue";
  42. import stepSkills from "./step-skills.vue";
  43. import stepProfile from "./step-profile.vue";
  44. export default {
  45. components: {
  46. stepEducation,
  47. stepWorkExperienceVue,
  48. stepSkills,
  49. stepProfile
  50. },
  51. data() {
  52. return {
  53. education: [],
  54. workExperience: [],
  55. skills: [],
  56. profile: ""
  57. };
  58. },
  59. computed: {
  60. canFinish() {
  61. return (
  62. this.education.length > 0 &&
  63. this.workExperience.length > 0 &&
  64. this.skills.length > 0
  65. );
  66. }
  67. },
  68. methods: {
  69. educationChange(val) {
  70. this.education = [...val];
  71. },
  72. workExperienceChange(val) {
  73. this.workExperience = [...val];
  74. },
  75. skillsChange(val) {
  76. this.skills = [...val];
  77. },
  78. profileChange(val) {
  79. this.profile = val;
  80. },
  81. nextStep() {
  82. if (!this.canFinish) {
  83. return;
  84. }
  85. let that = this;
  86. this.$alert("签约已在审核中", "", {
  87. type: "success",
  88. callback: function() {
  89. that.$router.replace({
  90. path: "/frontend/developer"
  91. });
  92. }
  93. });
  94. // this.$emit("next", { isFinished: true });
  95. }
  96. }
  97. };
  98. </script>
  99. <style lang="scss">
  100. .sign-experience-main {
  101. margin-top: 60px;
  102. .el-button {
  103. height: 34px;
  104. line-height: 34px;
  105. padding: 0 20px;
  106. }
  107. }
  108. .sign-experience-item {
  109. margin-top: 60px;
  110. }
  111. .sign-new-experience {
  112. padding-bottom: 30px;
  113. .sign-new-next {
  114. margin-top: 100px;
  115. }
  116. }
  117. .sign-edit-icon {
  118. width: 18px;
  119. height: 18px;
  120. cursor: pointer;
  121. }
  122. </style>