index2.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <template>
  2. <div class="app-container">
  3. <search-form
  4. :list-loading="listLoading"
  5. @change="searchHandle"
  6. />
  7. <table-list
  8. :list-loading="listLoading"
  9. :data="tableData2"
  10. :columns="listConfig"
  11. :current-page="currentPage"
  12. :page-size="pageSize"
  13. :total-records="totalRecords"
  14. @currentChange="pageHandle"
  15. :operationsDefaultLength="6"
  16. />
  17. </div>
  18. </template>
  19. <script>
  20. import { arrToObj } from '@/utils'
  21. import baseTable from '_m/baseTable.js'
  22. import SearchForm from './components/searchForm/Index2'
  23. export default {
  24. name: 'index',
  25. components: {
  26. SearchForm,
  27. },
  28. provide() {
  29. return {
  30. parentData: this
  31. }
  32. },
  33. mixins: [baseTable],
  34. data() {
  35. return {
  36. apiStr: 'user.admanswernew',
  37. searchForm: null,
  38. isDtlShow: false,
  39. curObj: {},
  40. isQShow: false,
  41. isAShow: false,
  42. }
  43. },
  44. computed: {
  45. tableData2() {
  46. const arr = [...this.tableData]
  47. arr.map(item => {
  48. if (Number(item.hide_status) !== 2) item.isHide = true
  49. })
  50. return arr
  51. }
  52. },
  53. created() {},
  54. mounted() {
  55. this.listConfig = {
  56. rows: [
  57. { label: '状态', prop: 'hide_status', type: 'tag', tags: arrToObj(this.$dictData.hide_status), tagTypeObj: {'1': 'success', '2': 'danger'} },
  58. { label: '回答内容', prop: 'answer_cont', minWidth: 100, align: 'left' },
  59. { label: '回答时间', prop: 'create_at' },
  60. { label: '昵称', prop: 'nickname' },
  61. { label: '头像', prop: 'avatar', type: 'img' },
  62. { label: '问题', prop: 'question_cont', fullShow: true },
  63. { label: '操作', width: 120, type: 'handle2', operations:
  64. [
  65. { label: '显示', func: this.showHandle, btnType: 'success', hide: 'isHide' },
  66. { label: '删除', func: this.delHandle, btnType: 'danger' },
  67. ]
  68. }
  69. ]
  70. }
  71. },
  72. methods: {
  73. showHandle (row) {
  74. this.$api.user.admanswershow({
  75. answer_id: row.answer_id
  76. }).then(data => {
  77. this.$msgs(`已显示!`)
  78. this.fetchData()
  79. })
  80. },
  81. delHandle(row) {
  82. this.$msg(`您确定要删除该问题吗?`, 'confirm', () => {
  83. this.$api.user.admanswerdel({
  84. answer_id: row.answer_id
  85. }).then(data => {
  86. this.$msgs(`已删除!`)
  87. this.fetchData()
  88. })
  89. }, null, true)
  90. },
  91. }
  92. }
  93. </script>