show.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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">{{item.key==="show_engine_recording" || item.key==="show_contact" ?'不允许':'不隐藏'}}</el-radio>
  15. <el-radio :label="0">{{item.key==="show_engine_recording" || item.key==="show_contact" ?'允许':'隐藏'}}</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. {name: '是否允许搜索引擎自动收录', status: 0, disable: false, key: 'show_engine_recording'},
  46. {name: '是否允许查看联系方式', status: 0, disable: false, key: 'show_contact'},
  47. ],
  48. }
  49. },
  50. async created() {
  51. },
  52. async mounted() {
  53. await this.needLogin()
  54. this.getTypeList()
  55. },
  56. methods: {
  57. /** 获取展示状态 */
  58. getTypeList() {
  59. this.$axios.get('/api/user_info_show/getting').then(res => {
  60. console.log('res', res)
  61. if (res.data.status === 1) {
  62. let data = res.data.data
  63. this.typeList.forEach(item => {
  64. item.status = Number(data[item.key])
  65. })
  66. this.typeList = [...this.typeList]
  67. }
  68. })
  69. },
  70. /** 提交 **/
  71. submitForm() {
  72. const {typeList} = this
  73. let p = {}
  74. typeList.forEach(item => {
  75. p[item.key] = Number(item.status)
  76. })
  77. this.$axios.post('/api/user_info_show/setting', p).then(res => {
  78. let data = res.data
  79. if (data.status === 1) {
  80. this.$message.success('提交成功')
  81. setTimeout(() => {
  82. // history.back()
  83. }, 1000)
  84. } else {
  85. this.$message.error('提交失败')
  86. }
  87. }).catch(e => {
  88. console.log(e)
  89. this.$message.error('提交失败')
  90. })
  91. },
  92. chooseReport(item) {
  93. item.selected = !item.selected
  94. }
  95. },
  96. }
  97. </script>
  98. <style lang="scss" scoped>
  99. @import '../../../assets/css/otherpage/userSettingShow.scss';
  100. </style>