index.html 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. {include file="/shopro/common/script" /}
  2. <div id="index" class="feedback-index panel panel-default panel-intro" v-cloak>
  3. <el-container class="panel-block">
  4. <el-header class="sa-header">
  5. <div class="sa-title sa-flex sa-row-between">
  6. <div class="sa-title-left">
  7. <div class="left-name">意见反馈</div>
  8. <sa-filter-condition v-model="state.filter" @filter-delete="onChangeFilter">
  9. </sa-filter-condition>
  10. </div>
  11. <div class="sa-title-right">
  12. <el-button class="sa-button-refresh" icon="RefreshRight" @click="getData"></el-button>
  13. <el-button class="sa-button-refresh" icon="Search" @click="onOpenFilter"></el-button>
  14. </div>
  15. </div>
  16. </el-header>
  17. <el-main class="sa-main">
  18. <el-table height="100%" class="sa-table" :data="state.data" stripe @selection-change="onChangeSelection"
  19. @sort-change="onChangeSort">
  20. <el-table-column type="selection" width="48"> </el-table-column>
  21. <el-table-column prop="id" label="ID" min-width="90" sortable="custom"> </el-table-column>
  22. <el-table-column label="反馈用户" min-width="180">
  23. <template #default="scope">
  24. <sa-user-profile :user="scope.row.user" :id="scope.row.user_id"></sa-user-profile>
  25. </template>
  26. </el-table-column>
  27. <el-table-column label="反馈类型" min-width="140">
  28. <template #default="scope">
  29. <div class="sa-table-line-1">
  30. {{ scope.row.type || '-' }}
  31. </div>
  32. </template>
  33. </el-table-column>
  34. <el-table-column prop="content" label="反馈内容" min-width="260">
  35. <template #default="scope">
  36. <div class="sa-table-line-1">
  37. {{ scope.row.content || '-' }}
  38. </div>
  39. </template>
  40. </el-table-column>
  41. <el-table-column label="截图" min-width="146">
  42. <template #default="scope">
  43. <el-scrollbar>
  44. <div class="sa-flex">
  45. <sa-image class="mr-1" v-for="item in scope.row.images" :url="item" size="30">
  46. </sa-image>
  47. </div>
  48. </el-scrollbar>
  49. </template>
  50. </el-table-column>
  51. <el-table-column prop="phone" label="联系电话" min-width="160">
  52. <template #default="scope">
  53. <div class="sa-table-line-1">
  54. {{ scope.row.phone || '-' }}
  55. </div>
  56. </template>
  57. </el-table-column>
  58. <el-table-column prop="status" label="处理状态" min-width="100">
  59. <template #default="scope">
  60. <el-tag :type="scope.row.status == '1' ? 'success' : 'info'">
  61. {{ scope.row.status_text }}
  62. </el-tag>
  63. </template>
  64. </el-table-column>
  65. <el-table-column prop="remark" label="系统备注" min-width="260">
  66. <template #default="scope">
  67. <div class="sa-table-line-1">
  68. {{ scope.row.remark || '-' }}
  69. </div>
  70. </template>
  71. </el-table-column>
  72. <el-table-column label="创建时间" width="172">
  73. <template #default="scope">
  74. {{ scope.row.createtime || '-' }}
  75. </template>
  76. </el-table-column>
  77. <el-table-column label="更新时间" width="172">
  78. <template #default="scope">
  79. {{ scope.row.updatetime || '-' }}
  80. </template>
  81. </el-table-column>
  82. <el-table-column fixed="right" label="操作" min-width="120">
  83. <template #default="scope">
  84. {if $auth->check('shopro/feedback/detail')}
  85. <el-button type="primary" link @click="onDetail(scope.row.id)">查看</el-button>
  86. {/if}
  87. <el-popconfirm width="fit-content" confirm-button-text="确认" cancel-button-text="取消"
  88. title="确认删除这条记录?" @confirm="onDelete(scope.row.id)">
  89. <template #reference>
  90. {if $auth->check('shopro/feedback/delete')}
  91. <el-button type="danger" link>删除</el-button>
  92. {/if}
  93. </template>
  94. </el-popconfirm>
  95. </template>
  96. </el-table-column>
  97. </el-table>
  98. </el-main>
  99. <el-footer class="sa-footer sa-flex sa-row-between sa-flex-wrap">
  100. <div class="sa-batch sa-flex">
  101. <div class="tip">
  102. 已选择 <span>{{batchHandle.data.length}}</span> 项</div>
  103. <div class="sa-flex">
  104. {if $auth->check('shopro/feedback/delete')}
  105. <el-button type="danger" :disabled="!batchHandle.data.length" @click="onBatchHandle('delete')">删除
  106. </el-button>
  107. {/if}
  108. {if $auth->check('shopro/feedback/edit')}
  109. <el-button type="success" :disabled="!batchHandle.data.length" @click="onBatchHandle('1')">已处理
  110. </el-button>
  111. {/if}
  112. {if $auth->check('shopro/feedback/edit')}
  113. <el-button type="info" :disabled="!batchHandle.data.length" @click="onBatchHandle('0')">未处理
  114. </el-button>
  115. {/if}
  116. </div>
  117. </div>
  118. <sa-pagination v-model="pagination" @pagination-change="getData"></sa-pagination>
  119. </el-footer>
  120. </el-container>
  121. <sa-filter v-model="state.filter" @filter-change="onChangeFilter"></sa-filter>
  122. </div>