refund-list.vue 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. <template>
  2. <div class="app-container">
  3. <!-- 顶部操作区域 -->
  4. <div class="filter-container">
  5. <div class="filter-control">
  6. <span>退款编号:</span>
  7. <el-input
  8. v-model="listQuery.productName"
  9. placeholder="退款编号"
  10. clearable
  11. style="width: 180px"
  12. @keyup.enter.native="getList"
  13. @clear="getList"
  14. />
  15. </div>
  16. <div class="filter-control">
  17. <span>订单ID:</span>
  18. <el-input
  19. v-model="listQuery.shopName"
  20. placeholder="订单ID"
  21. clearable
  22. style="width: 120px"
  23. @keyup.enter.native="getList"
  24. @clear="getList"
  25. />
  26. </div>
  27. <div class="filter-control">
  28. <span>订单编号:</span>
  29. <el-input
  30. v-model="listQuery.shopName"
  31. placeholder="订单编号"
  32. clearable
  33. style="width: 180px"
  34. @keyup.enter.native="getList"
  35. @clear="getList"
  36. />
  37. </div>
  38. <div class="filter-control">
  39. <span>买家:</span>
  40. <el-input
  41. v-model="listQuery.shopName"
  42. placeholder="买家"
  43. clearable
  44. style="width: 120px"
  45. @keyup.enter.native="getList"
  46. @clear="getList"
  47. />
  48. </div>
  49. <div class="filter-control">
  50. <span>退款审核状态:</span>
  51. <el-select v-model="listQuery.status" style="width: 120px" clearable @change="getList">
  52. <el-option value="" label="所有" />
  53. <el-option :value="1" label="待审核" />
  54. <el-option :value="2" label="审核通过" />
  55. <el-option :value="3" label="审核不通过" />
  56. </el-select>
  57. </div>
  58. <div class="filter-control">
  59. <span>申请时间:</span>
  60. <el-date-picker
  61. v-model="time"
  62. type="daterange"
  63. unlink-panels
  64. value-format="yyyy-MM-dd"
  65. range-separator="至"
  66. start-placeholder="开始日期"
  67. end-placeholder="结束日期"
  68. :picker-options="pickerOptions"
  69. @change="handleDatePick"
  70. />
  71. </div>
  72. <div class="filter-control">
  73. <el-button type="primary" @click="getList"> 查询 </el-button>
  74. </div>
  75. </div>
  76. <!-- 列表 -->
  77. <el-table v-loading="isLoading" :data="list" border style="width: 100%" height="660">
  78. <el-table-column prop="id" label="ID" align="center" width="50" />
  79. <el-table-column prop="productName" label="商品名称" align="center" />
  80. <el-table-column prop="shopName" label="供应商名称" align="center">
  81. <template slot-scope="{ row }">
  82. {{ row.shopName ? row.shopName : '---' }}
  83. </template>
  84. </el-table-column>
  85. <el-table-column prop="price" label="拼团价格" align="center" width="100">
  86. <template slot-scope="{ row }">
  87. {{ row.price | amountfilters }}
  88. </template>
  89. </el-table-column>
  90. <el-table-column prop="memberNum" label="拼团人数" align="center" width="50" />
  91. <el-table-column prop="name" label="已拼人数" align="center" width="50">
  92. <template slot-scope="{ row }">
  93. <span v-if="row.status === 2">{{ row.memberNum }}</span>
  94. <span v-else>{{ row.orderIdList.length }}</span>
  95. </template>
  96. </el-table-column>
  97. <el-table-column prop="orderIdList" label="关联订单" align="center" width="100">
  98. <template slot-scope="{ row }">
  99. <template v-if="row.orderIdList">
  100. <p v-for="item in row.orderIdList" :key="item">
  101. {{ item ? item : '---' }}
  102. </p>
  103. </template>
  104. <p v-else>---</p>
  105. </template>
  106. </el-table-column>
  107. <el-table-column prop="status" label="小程序状态" align="center" width="100">
  108. <template slot-scope="{ row }">
  109. <el-tag v-if="row.status === 1" type="warning" size="small">拼团中</el-tag>
  110. <el-tag v-if="row.status === 2" type="success" size="small">已拼成</el-tag>
  111. </template>
  112. </el-table-column>
  113. <el-table-column prop="startTime" label="开始时间" align="center" width="100">
  114. <template slot-scope="{ row }">
  115. {{ row.startTime ? row.startTime : '---' }}
  116. </template>
  117. </el-table-column>
  118. <el-table-column prop="endTime" label="结束时间" align="center" width="100">
  119. <template slot-scope="{ row }">
  120. {{ row.endTime ? row.endTime : '---' }}
  121. </template>
  122. </el-table-column>
  123. <el-table-column prop="completeTime" label="成团时间" align="center" width="100">
  124. <template slot-scope="{ row }">
  125. {{ row.completeTime ? row.completeTime : '---' }}
  126. </template>
  127. </el-table-column>
  128. <el-table-column fixed="right" label="操作" align="center">
  129. <template slot-scope="{ row }">
  130. <el-button
  131. v-if="row.status === 1"
  132. type="primary"
  133. size="mini"
  134. style="margin: 2px"
  135. @click="handleRecordDetail(3, row)"
  136. >
  137. 一键成团
  138. </el-button>
  139. <el-button type="danger" size="mini" style="margin: 2px" @click="handleRecordDetail(3, row)">
  140. 拼团成员
  141. </el-button>
  142. </template>
  143. </el-table-column>
  144. </el-table>
  145. <!-- 页码 -->
  146. <pagination
  147. :total="total"
  148. :page-sizes="[10, 20, 30, 100]"
  149. :page-size="20"
  150. :page.sync="listQuery.pageNum"
  151. :limit.sync="listQuery.pageSize"
  152. @pagination="getHeHeCollageRecord"
  153. />
  154. </div>
  155. </template>
  156. <script>
  157. import { getHeHeCollageRecord } from '@/api/stricts/active/active'
  158. import pickerOptions from '@/utils/time-picker.js'
  159. export default {
  160. name: 'GroupsList',
  161. filters: {},
  162. data() {
  163. return {
  164. time: '',
  165. pickerOptions,
  166. isLoading: true,
  167. listQuery: {
  168. id: '',
  169. productName: '',
  170. status: '',
  171. shopName: '',
  172. pageNum: 1,
  173. pageSize: 20
  174. },
  175. list: [],
  176. total: 0
  177. }
  178. },
  179. computed: {},
  180. created() {
  181. this.getList()
  182. },
  183. mounted() {},
  184. methods: {
  185. // 获取行为记录列表
  186. getList() {
  187. this.list = []
  188. this.listQuery.pageNum = 1
  189. this.getHeHeCollageRecord()
  190. },
  191. // 获取首页导航列表
  192. async getHeHeCollageRecord() {
  193. try {
  194. this.isLoading = true
  195. const res = await getHeHeCollageRecord(this.listQuery)
  196. this.list = res.data.results
  197. this.total = res.data.totalRecord
  198. this.isLoading = false
  199. } catch (error) {
  200. console.log(error)
  201. }
  202. },
  203. // 菜单排序
  204. async consultSort(row) {
  205. try {
  206. // await consultSort({ id: row.id, sortNumber: row.sortNumber })
  207. this.getList()
  208. } catch (error) {
  209. console.log(error)
  210. }
  211. }
  212. }
  213. }
  214. </script>
  215. <style>
  216. .avatar-uploader .el-upload {
  217. border: 1px dashed #d9d9d9;
  218. border-radius: 6px;
  219. cursor: pointer;
  220. position: relative;
  221. overflow: hidden;
  222. float: left;
  223. }
  224. .uploader-tips {
  225. position: absolute;
  226. bottom: 0;
  227. left: 160px;
  228. line-height: 28px;
  229. color: red;
  230. margin: 0;
  231. }
  232. </style>