123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- <template>
- <view class="refund-wrapper" :style="viewColor">
- <view class="item" v-for="item in orderDetail">
- <view class="img-box">
- <image :src="item.cart_info.product.image"></image>
- </view>
- <view class="info">
- <view class="name line1">{{item.cart_info.product.store_name}}</view>
- <view class="tips">{{item.cart_info.productAttr.sku}}</view>
- <view class="price">¥{{item.cart_info.productAttr.price}} ×{{item.refund_num}}</view>
- </view>
- <view class="check-box" @click="bindCheck(item)">
- <view v-if="item.check" class="iconfont icon-xuanzhong1"></view>
- <view v-else class="iconfont icon-weixuanzhong"></view>
- </view>
- </view>
- <view class="btn-box" @click="confirm">申请退款</view>
- </view>
- </template>
- <script>
- // +----------------------------------------------------------------------
- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2016~2024 https://www.crmeb.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
- // +----------------------------------------------------------------------
- // | Author: CRMEB Team <admin@crmeb.com>
- // +----------------------------------------------------------------------
- import { refundBatch } from '@/api/order.js'
- import { mapGetters } from "vuex";
- export default{
- computed: mapGetters(['viewColor']),
- data(){
- return {
- // 订单id
- order_id:'',
- // 退款退货类型
- refund_type:2,
- //单个还是多个
- type:2,
- orderDetail:[],
- activeId:[]
- }
- },
- onLoad(options) {
- this.order_id = options.order_id
- this.refund_type = options.refund_type
- this.type = options.type
- this.getList()
- },
- methods:{
- // 获取退款列表
- getList(){
- refundBatch(this.order_id).then(({data})=>{
- data.forEach(el=>{
- el.check = false
- })
- this.orderDetail = data
- }).catch(error=>{
- this.$util.Tips({
- title:error
- },{
- tab:3
- })
- })
- },
- // 是否选中
- bindCheck(item){
- item.check = !item.check
- this.arrFilter()
- },
- // 筛选
- arrFilter(){
- let tempArr = this.orderDetail.filter(el=>{
- return el.check == true
- })
- this.activeId = []
- tempArr.map(item =>{
- this.activeId.push(item.order_product_id)
- })
- },
- // 确认
- confirm(){
- if(this.activeId.length == 0){
- uni.showToast({
- title:'请选择商品',
- icon:'none'
- })
- }else{
- uni.redirectTo({
- url:'/pages/users/refund/confirm?ids='+this.activeId.join(',')+'&refund_type='+this.refund_type+'&type='+this.type+'&order_id='+this.order_id
- })
- }
- }
- }
- }
- </script>
- <style lang="scss">
- .refund-wrapper{
- background-color: #fff;
- padding-bottom: 150rpx;
- .item{
- position: relative;
- display: flex;
- padding: 25rpx 30rpx;
- &:after{
- content: ' ';
- position: absolute;
- right: 0;
- bottom: 0;
- width: 657rpx;
- height: 1px;
- background: #F0F0F0;
- }
- .img-box{
- width: 130rpx;
- height: 130rpx;
- image{
- width: 130rpx;
- height: 130rpx;
- border-radius:16rpx;
- }
- }
- .info{
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- width: 500rpx;
- margin-left: 26rpx;
- .tips{
- color: #868686;
- font-size: 20rpx;
- }
- .price{
- font-size: 26rpx;
- }
- }
- .check-box{
- display: flex;
- align-items: center;
- justify-content: center;
- flex: 1;
- .iconfont{
- font-size: 40rpx;
- color: #CCCCCC;
- }
- .icon-xuanzhong1{
- color: var(--view-theme);
- }
- }
- }
- .btn-box{
- position: fixed;
- left: 50%;
- bottom: 60rpx;
- width:690rpx;
- height:86rpx;
- transform: translateX(-50%);
- line-height: 86rpx;
- text-align: center;
- color: #fff;
- background: var(--view-theme);
- border-radius:43rpx;
- font-size: 32rpx;
- }
- }
- </style>
|