step-experience.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <template>
  2. <div v-loading="loading" 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. {{submit_text}}
  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. loading:false,
  58. submit_text:"完成签约",
  59. };
  60. },
  61. computed: {
  62. canFinish() {
  63. return (
  64. this.education.length > 0 &&
  65. this.workExperience.length > 0 &&
  66. this.skills.length > 0
  67. );
  68. }
  69. },
  70. mounted() {
  71. this.cnzz("签约流程", "最后一步", "访问");
  72. },
  73. methods: {
  74. educationChange(val) {
  75. this.education = [...val];
  76. },
  77. workExperienceChange(val) {
  78. this.workExperience = [...val];
  79. },
  80. skillsChange(val) {
  81. this.skills = [...val];
  82. },
  83. profileChange(val) {
  84. this.profile = val;
  85. },
  86. async nextStep() {
  87. if (!this.canFinish) {
  88. this.cnzz("签约流程", "完成签约", "资料未完善");
  89. return;
  90. }
  91. this.cnzz("签约流程", "完成签约", "提交");
  92. let that = this;
  93. let res = await this.$axios.$post("/api/user/sign", {});
  94. if (res.status === 1) {
  95. this.cnzz("签约流程", "完成签约", "提交成功");
  96. this.$alert("签约提交成功,等待后台审核", "", {
  97. type: "success",
  98. callback: function () {
  99. location.href="/web/wx";
  100. }
  101. });
  102. }
  103. }
  104. }
  105. };
  106. </script>
  107. <style lang="scss">
  108. .sign-experience-main {
  109. margin-top: 60px;
  110. .el-button {
  111. height: 34px;
  112. line-height: 34px;
  113. padding: 0 20px;
  114. }
  115. }
  116. .sign-experience-item {
  117. margin-top: 60px;
  118. }
  119. .sign-new-experience {
  120. padding-bottom: 30px;
  121. .sign-new-next {
  122. margin-top: 100px;
  123. }
  124. }
  125. .sign-edit-icon {
  126. width: 18px;
  127. height: 18px;
  128. cursor: pointer;
  129. }
  130. </style>