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

8
app/Models/ImsCjdcOrder.php

@ -28,13 +28,19 @@ class ImsCjdcOrder extends Model
$orders = ImsCjdcOrder::with('user')->with('store') $orders = ImsCjdcOrder::with('user')->with('store')
->where('order_main_id', $oid)->get()->toArray(); ->where('order_main_id', $oid)->get()->toArray();
if (count($orders)) { if (count($orders)) {
$show_refund = [];
foreach ($orders as &$or) { foreach ($orders as &$or) {
if (substr($or['store']['logo'], 0, 4) != 'http') { if (substr($or['store']['logo'], 0, 4) != 'http') {
$or['store']['logo'] = env('IMG_HOST') . '/' . $or['store']['logo']; $or['store']['logo'] = env('IMG_HOST') . '/' . $or['store']['logo'];
} }
$or['goods'] = LanzuOrderGoods::where('order_id', $or['id'])->get()->toArray(); $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> </div>
<p class="mb-0" style="color: red;font-size: 1.4rem;">{{goods.price}}</p> <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="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>
</div> </div>
<p v-if="item.note">店铺备注: ({{item.note}})</p> <p v-if="item.note">店铺备注: ({{item.note}})</p>

Loading…
Cancel
Save