payfinance-refund-record.vue 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. <template>
  2. <div class="app-container">
  3. <el-card v-if="cmReturnedPurchaseList.length === 0" class="box-card" style="text-align:center;color: #999;line-height: 120px;">暂无退款退货记录~</el-card>
  4. <div v-else id="printBox">
  5. <el-card ref="print" class="box-card" style="margin: 5px auto;">
  6. <div class="refund-item">
  7. <h1 class="refund-item-title">审核信息</h1>
  8. <el-row :gutter="24" class="box-row">
  9. <el-col :span="5"><b>审核人:</b> 卢海珠</el-col>
  10. <el-col :span="4"><b>审核时间:</b> 2023-03-06 15:28:50</el-col>
  11. <el-col :span="15"><b>审核备注:</b> 没有货了</el-col>
  12. </el-row>
  13. </div>
  14. </el-card>
  15. <el-card ref="print" class="box-card" style="margin: 5px auto;">
  16. <div class="refund-item">
  17. <h1 class="refund-item-title">申请信息</h1>
  18. <el-row :gutter="24" class="box-row">
  19. <el-col :span="5"><b>申请人:</b> 卢海珠</el-col>
  20. <el-col :span="4"><b>申请时间:</b> 2023-03-06 15:28:50</el-col>
  21. <el-col :span="15"><b>退款备注:</b> 有部分没有货,客户需要重新下单</el-col>
  22. </el-row>
  23. </div>
  24. </el-card>
  25. <el-card ref="print" class="box-card" style="margin: 5px auto;">
  26. <div class="refund-item">
  27. <el-row :gutter="24" class="box-row">
  28. <el-col :span="5"><b>退款编号:</b> T1678087730239854</el-col>
  29. <el-col :span="4"><b>申请时间:</b> 2023-03-06 15:28:50</el-col>
  30. <el-col :span="4"><b>申请金额:</b> 30000.00元</el-col>
  31. <el-col :span="11"><b>退款方式:</b> 线上退回:597.00元</el-col>
  32. </el-row>
  33. </div>
  34. </el-card>
  35. <el-card ref="print" class="box-card" style="margin: 5px auto;">
  36. <div class="refund-item">
  37. <el-row :gutter="24" class="box-row">
  38. <el-col :span="5"><b>订单编号(ID):</b> {{ repacts.orderNo }}({{ repacts.orderId }})</el-col>
  39. <el-col :span="4"><b>下单时间:</b> {{ repacts.applyTime }}</el-col>
  40. <el-col :span="4"><b>机构名称:</b> {{ repacts.clubName }}</el-col>
  41. <el-col :span="4"><b>订单状态:</b> 交易中</el-col>
  42. </el-row>
  43. <el-row :gutter="24" class="box-row">
  44. <el-col :span="5"><b>订单金额:</b> {{ repacts.payableAmount }}</el-col>
  45. <el-col :span="4"><b>应收金额:</b> {{ repacts.payableAmount }}</el-col>
  46. <el-col :span="4"><b>机构运费:</b> <span>{{ repacts.postageInfo }}</span></el-col>
  47. </el-row>
  48. <el-row :gutter="24" class="box-row">
  49. <el-col :span="5"><b>收款状态:</b> {{ repacts.status | statusFilter }}</el-col>
  50. <el-col :span="4"><b>发货状态:</b> {{ repacts.status | statusFilter }}</el-col>
  51. <el-col :span="4"><b>付款状态:</b> {{ repacts.status | statusFilter }}</el-col>
  52. <el-col :span="4"><b>退款状态:</b> {{ repacts.status | statusFilter }}</el-col>
  53. </el-row>
  54. <el-row :gutter="24" class="box-row">
  55. <el-col :span="5"><b>收货人:</b> 黄志国</el-col>
  56. <el-col :span="4"><b>手机:</b> 15817887257</el-col>
  57. <el-col :span="15"><b>地址:</b> 广东省深圳市龙华区大浪街道上早新村</el-col>
  58. </el-row>
  59. <el-table :data="repacts.shopOrderIdList" border fit highlight-current-row default-expand-all :header-cell-style="{background:'#e9f3f7',color:'#606266'}">
  60. <el-table-column label="商品信息" type="expand" width="80px">
  61. <template slot-scope="scope">
  62. <el-table :data="scope.row.products" border fit highlight-current-row :header-cell-style="{background:'#f9f9f9',color:'#606266'}">
  63. <el-table-column label="商品图片" align="center" prop="image" width="100">
  64. <template slot-scope="{row}">
  65. <el-popover
  66. placement="top-start"
  67. title=""
  68. width="120"
  69. trigger="hover"
  70. >
  71. <img :src="row.image" alt="" style="width:100px;height:100px;">
  72. <img slot="reference" :src="row.image" alt="" style="width:50px;height:50px;">
  73. </el-popover>
  74. </template>
  75. </el-table-column>
  76. <el-table-column label="商品名" align="center" prop="productName" />
  77. <el-table-column label="规格" align="center" prop="unit" />
  78. <el-table-column label="购买数量" align="center" prop="num" />
  79. <el-table-column label="退货" align="center" prop="returnNum" />
  80. <el-table-column label="单价" align="center" prop="price" />
  81. <el-table-column label="总额" align="center" prop="totalPrice" />
  82. <el-table-column label="已发货" align="center" prop="num" />
  83. <el-table-column label="已退货" align="center" prop="num" />
  84. <el-table-column label="本次退货" align="center" prop="num" />
  85. <el-table-column label="待发货" align="center" prop="num" />
  86. <el-table-column label="已取消" align="center" prop="num" />
  87. <el-table-column label="本次取消" align="center" prop="num" />
  88. </el-table>
  89. </template>
  90. </el-table-column>
  91. <el-table-column label="子订单编号(ID)" align="center" prop="shopOrderNos" width="240">
  92. <template slot-scope="scope">
  93. <span>{{ scope.row.shopOrderNos }}({{ scope.row.shopOrderIds }})</span>
  94. </template>
  95. </el-table-column>
  96. <el-table-column label="子订单金额" align="center" prop="payShopTotals" />
  97. <el-table-column label="收款状态" prop="status" align="center" width="100">
  98. <template slot-scope="{ row }">
  99. <span
  100. :class="{
  101. 'el-span-warning': row.status == 0,
  102. 'el-span-success': row.status == 1,
  103. 'el-span-danger': row.status == 2
  104. }"
  105. >
  106. {{ row.status | statusFilter }}
  107. </span>
  108. </template>
  109. </el-table-column>
  110. <el-table-column label="发货状态" prop="status" align="center" width="100">
  111. <template slot-scope="{ row }">
  112. <span
  113. :class="{
  114. 'el-span-warning': row.status == 0,
  115. 'el-span-success': row.status == 1,
  116. 'el-span-danger': row.status == 2
  117. }"
  118. >
  119. 待发货
  120. </span>
  121. </template>
  122. </el-table-column>
  123. <el-table-column label="付款状态" prop="status" align="center" width="100">
  124. <template slot-scope="{ row }">
  125. <span
  126. :class="{
  127. 'el-span-warning': row.status == 0,
  128. 'el-span-success': row.status == 1,
  129. 'el-span-danger': row.status == 2
  130. }"
  131. >
  132. 待付款
  133. </span>
  134. </template>
  135. </el-table-column>
  136. <el-table-column label="供应商" align="center" prop="shopName" />
  137. <el-table-column label="商品总额" align="center" prop="payShopTotals" />
  138. <el-table-column label="应付金额" align="center" prop="payShopTotals" />
  139. <el-table-column label="已付金额" align="center" prop="payShopTotals" />
  140. <el-table-column label="待付金额" align="center" prop="payShopTotals" />
  141. </el-table>
  142. </div>
  143. </el-card>
  144. </div>
  145. </div>
  146. </template>
  147. <script>
  148. import { getRefundRecord } from '@/api/order'
  149. export default {
  150. name: 'RefundRecord',
  151. filters: {
  152. statusFilter(status) {
  153. const map = {
  154. 0: '待付款',
  155. 1: '已付款',
  156. 2: '审核不通过'
  157. }
  158. return map[status]
  159. }
  160. },
  161. data() {
  162. return {
  163. payRepacts: {},
  164. repacts: {},
  165. products: [],
  166. cmReturnedPurchaseList: []
  167. }
  168. },
  169. computed: {
  170. orderId: function() {
  171. return this.$route.query.orderId * 1
  172. }
  173. },
  174. created() {
  175. this.getRefundRecord()
  176. },
  177. methods: {
  178. async getRefundRecord() {
  179. try {
  180. const res = await getRefundRecord({ orderId: this.orderId })
  181. this.cmReturnedPurchaseList = res.data.cmReturnedPurchaseList
  182. console.log('res', res)
  183. } catch (error) {
  184. console.log('error', error)
  185. }
  186. }
  187. }
  188. }
  189. </script>
  190. <style scoped>
  191. .app-title{
  192. line-height: 36px;
  193. font-size: 26px;
  194. font-weight: bold;
  195. color: #409EFF;
  196. text-align: center;
  197. }
  198. .box-card{
  199. margin-top: 20px;
  200. font-size: 14px;
  201. }
  202. .box-row{
  203. padding: 10px 0;
  204. }
  205. .box-row .dropdown{
  206. margin-top: -10px;
  207. }
  208. .refund-item{
  209. padding: 5px 0;
  210. }
  211. .refund-item-title{
  212. line-height: 24px;
  213. font-size: 14px;
  214. color: #409EFF;
  215. margin: 0;
  216. }
  217. .order-item{
  218. background:#f7f7f7;
  219. margin-bottom: 20px;
  220. padding: 10px 15px;
  221. border-radius: 5px;
  222. }
  223. .product-row{
  224. padding: 10px 0;
  225. background: #EBEEF5;
  226. border-top: 1px dashed #DCDFE6;
  227. }
  228. .op-item{
  229. padding: 5px 0;
  230. }
  231. .el-span-warning{
  232. color: #E6A23C;
  233. }
  234. .el-span-success{
  235. color: #67C23A;
  236. }
  237. .el-span-danger{
  238. color: #F56C6C;
  239. }
  240. /deep/ .el-table__expanded-cell[class*=cell]{
  241. padding:10px 10px !important;
  242. }
  243. /deep/ .el-card__body{
  244. padding: 5px 20px !important;
  245. }
  246. </style>