Browse Source

优化订单商品退款

master
lanzu_qinsheng 5 years ago
parent
commit
ea8258cb0e
  1. 15
      app/Admin/Extensions/MyDetailPage.php
  2. 8
      app/Models/ImsCjdcOrder.php
  3. 1687
      composer.lock
  4. 4
      resources/views/orderdetail.php

15
app/Admin/Extensions/MyDetailPage.php

@ -25,12 +25,13 @@ class MyDetailPage extends LazyRenderable
$order = ImsCjdcOrderMain::getOrderData($this->order_id);
if ($order) {
//>>2.获取子订单
$orders = ImsCjdcOrder::getOrdersData($order['global_order_id']);
//拒绝退款理由
//退款总备注原因,单个商品或者单个子订单
$result = ImsCjdcOrder::getOrdersData($order['global_order_id']);
$orders = json_encode($result['orders']);
$showRefund = json_encode($result['show_refund']);
Admin::script(
<<<JS
var orders = JSON.stringify($orders)
var show_refund = JSON.stringify($showRefund)
var app = new Vue({
el:"#detail",
data:{
@ -56,6 +57,7 @@ class MyDetailPage extends LazyRenderable
horseman_name: "{$order['horseman_name']}",
distance: "{$order['distance']}",
orders: JSON.parse(orders),
show_refund: JSON.parse(show_refund),
refund_2:"退款",
refund_3:"已同意退款",
refund_goods_name:"",
@ -67,13 +69,16 @@ class MyDetailPage extends LazyRenderable
show_refund_3:false,
},
methods: {
refundNote(name,order_goods_id,order_child_id) {
this.dialogFormVisible = true;
this.order_goods_id=order_goods_id;
this.order_child_id=order_child_id;
this.refund_goods_name ="退款备注商品 ["+name+"]" ;
},
refundConfirm() {
this.\$confirm('是否同意该商品退款?', '提示', {
@ -100,8 +105,8 @@ class MyDetailPage extends LazyRenderable
message: '退款成功',
type: 'success'
})
that.show_refund_2=false
that.show_refund_3=true
that.show_refund[that.order_goods_id].show_refund_2=false
that.show_refund[that.order_goods_id].show_refund_3=true
}
that.dialogFormVisible = false;
},

8
app/Models/ImsCjdcOrder.php

@ -28,13 +28,19 @@ class ImsCjdcOrder extends Model
$orders = ImsCjdcOrder::with('user')->with('store')
->where('order_main_id', $oid)->get()->toArray();
if (count($orders)) {
$show_refund = [];
foreach ($orders as &$or) {
if (substr($or['store']['logo'], 0, 4) != 'http') {
$or['store']['logo'] = env('IMG_HOST') . '/' . $or['store']['logo'];
}
$or['goods'] = LanzuOrderGoods::where('order_id', $or['id'])->get()->toArray();
foreach ($or['goods'] as $goods){
$show_refund[$goods['id']] = ['show_refund_2'=>true,'show_refund_3'=>false];
}
}
}
return json_encode($orders);
return ['orders'=>$orders,'show_refund'=>$show_refund];
}
}

1687
composer.lock
File diff suppressed because it is too large
View File

4
resources/views/orderdetail.php

@ -50,9 +50,9 @@
</div>
<p class="mb-0" style="color: red;font-size: 1.4rem;">{{goods.price}}</p>
<el-button type="info" plain style="float: right;" @click="refundNote(goods.name,goods.id,item.id)" v-if="state==4&&show_refund_2">{{refund_2}}</el-button>
<el-button type="info" plain style="float: right;" @click="refundNote(goods.name,goods.id,item.id)" v-if="state==4&&show_refund[goods.id].show_refund_2">{{refund_2}}</el-button>
<p style="float: right; color: red" v-if="goods.status==3">{{refund_3}}</p>
<p style="float: right; color: red" v-if="show_refund_3">{{refund_3}}</p>
<p style="float: right; color: red" v-if="show_refund[goods.id].show_refund_3">{{refund_3}}</p>
</div>
</div>
<p v-if="item.note">店铺备注: ({{item.note}})</p>

Loading…
Cancel
Save