index.vue 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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. >
  16. </table-list>
  17. </div>
  18. </template>
  19. <script>
  20. import { arrToObj } from '@/utils'
  21. import SearchForm from './components/searchForm/Index'
  22. import baseTable from '_m/baseTable.js'
  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.admfeedbacklist',
  37. searchForm: null,
  38. isDtlShow: false,
  39. curObj: {}
  40. }
  41. },
  42. computed: {
  43. tableData2() {
  44. const arr = [...this.tableData]
  45. arr.map(item => {
  46. const curImg = (item.images || '').split(',')
  47. item.img1 = curImg[0] || ''
  48. item.img2 = curImg[1] || ''
  49. item.img3 = curImg[2] || ''
  50. })
  51. return arr
  52. }
  53. },
  54. created() {},
  55. mounted() {
  56. this.listConfig = {
  57. rows: [
  58. { label: '反馈图1', prop: 'img1', type: 'img' },
  59. { label: '反馈图2', prop: 'img2', type: 'img' },
  60. { label: '反馈图3', prop: 'img3', type: 'img' },
  61. { label: '反馈内容', prop: 'feedback_count' },
  62. { label: '类型', prop: 'feedback_type', type: 'tag', tags: arrToObj(this.$dictData.feedback_type) },
  63. { label: '联系方式', prop: 'contact' },
  64. { label: '操作', width: 60, type: 'handle2', operations:
  65. [
  66. { label: '删除', func: this.delHandle, btnType: 'danger' },
  67. ]
  68. }
  69. ]
  70. }
  71. },
  72. methods: {
  73. delHandle(row) {
  74. this.$msg(`您确定要删除该文章吗?`, 'confirm', () => {
  75. this.$api.user.admfeedbackdel({
  76. id: row.id,
  77. }).then(data => {
  78. this.$msgs(`已删除!`)
  79. this.fetchData()
  80. })
  81. }, null, true)
  82. },
  83. }
  84. }
  85. </script>
  86. <style lang="scss" scoped>
  87. </style>