show.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <template>
  2. <div class="UserSettingShow">
  3. <div class="titleArea">
  4. <p>设置主页展示内容</p>
  5. </div>
  6. <div class="bodyArea">
  7. <div class="selectList">
  8. <div class="cell" v-for="(item, index) in typeList" :key="'cell' + index">
  9. <div class="left">
  10. <p>{{item.name}}:</p>
  11. </div>
  12. <div class="right">
  13. <el-radio-group v-model="item.status" size="mini" :disabled="item.disable">
  14. <el-radio :label="1">不隐藏</el-radio>
  15. <el-radio :label="0">隐藏</el-radio>
  16. </el-radio-group>
  17. <span class="tips" v-if="item.disable">
  18. 注: 系统默认展示,暂不支持隐藏
  19. </span>
  20. </div>
  21. </div>
  22. </div>
  23. <div class="submitButton">
  24. <div class="left"></div>
  25. <div class="right" @click="submitForm">
  26. <p>确认提交</p>
  27. </div>
  28. </div>
  29. </div>
  30. </div>
  31. </template>
  32. <script>
  33. export default {
  34. name: 'userSetting',
  35. data() {
  36. return {
  37. typeList: [
  38. { name: '个人介绍模块', status: 1, disable: true, key: 'show_resume' },
  39. { name: '工作经历模块', status: 0, disable: false, key: 'show_experience' },
  40. { name: '教育经历模块', status: 0, disable: false, key: 'show_education' },
  41. { name: '专业技能模块', status: 1, disable: true, key: 'show_skill' },
  42. { name: '代表作品模块', status: 1, disable: true, key: 'show_works' },
  43. { name: '社区影响力模块', status: 1, disable: true, key: 'show_community_influence' },
  44. { name: '用户评价模块', status: 0, disable: false, key: 'show_rating' },
  45. ],
  46. }
  47. },
  48. async created() {
  49. },
  50. async mounted() {
  51. await this.needLogin()
  52. this.getTypeList()
  53. },
  54. methods: {
  55. /** 获取展示状态 */
  56. getTypeList() {
  57. this.$axios.get('/api/user_info_show/getting').then(res => {
  58. console.log('res', res)
  59. if (res.data.status === 1) {
  60. let data = res.data.data
  61. this.typeList.forEach(item => {
  62. item.status = Number(data[ item.key ])
  63. })
  64. this.typeList = [...this.typeList]
  65. }
  66. })
  67. },
  68. /** 提交 **/
  69. submitForm() {
  70. const { typeList } = this
  71. let p = {}
  72. typeList.forEach(item => {
  73. p[item.key] = Number(item.status)
  74. })
  75. this.$axios.post('/api/user_info_show/setting', p).then(res => {
  76. let data = res.data
  77. if (data.status === 1) {
  78. this.$message.success('提交成功')
  79. setTimeout(() => {
  80. history.back()
  81. }, 1000)
  82. } else {
  83. this.$message.error('提交失败')
  84. }
  85. }).catch(e => {
  86. console.log(e)
  87. this.$message.error('提交失败')
  88. })
  89. },
  90. chooseReport(item) {
  91. item.selected = !item.selected
  92. }
  93. },
  94. }
  95. </script>
  96. <style lang="scss" scoped>
  97. @import '../../../assets/css/otherpage/userSettingShow.scss';
  98. </style>