后台页面优化

main
fengxinyhyl 11 months ago
parent 15a189e7a2
commit c080baf569
  1. 3
      app/common/dao/store/order/StoreOrderDao.php
  2. 6
      app/common/model/store/order/StoreOrder.php
  3. 18
      app/common/repositories/store/order/StoreOrderCreateRepository.php
  4. 10
      app/common/repositories/store/order/StoreOrderRepository.php
  5. 2
      app/controller/merchant/store/order/Order.php
  6. 9
      app/controller/merchant/system/Merchant.php
  7. 2
      public/mer.html
  8. 2
      public/system.html
  9. 48
      view/admin/src/views/order/list/index.vue
  10. 22
      view/admin/src/views/order/list/orderDetails.vue
  11. 3
      view/admin/src/views/order/orderCancellate/index.vue
  12. 3
      view/admin/src/views/order/refund/index.vue
  13. 104
      view/mer/src/views/order/index.vue
  14. 17
      view/mer/src/views/order/orderCancellate/index.vue
  15. 64
      view/mer/src/views/order/orderDetails.vue
  16. 380
      view/mer/src/views/order/orderRefund/refundDetail.vue
  17. 18
      view/mer/src/views/systemForm/setSystem/modifyStoreInfo.vue

@ -124,6 +124,9 @@ class StoreOrderDao extends BaseDao
->when(isset($where['pay_type']) && $where['pay_type'] !== '', function ($query) use ($where) {
$query->where('StoreOrder.pay_type', $where['pay_type']);
})
->when(isset($where['pay_select']) && $where['pay_select'] !== '', function ($query) use ($where) {
$query->where('StoreOrder.pay_select', $where['pay_select']);
})
->when(isset($where['order_ids']) && $where['order_ids'] !== '', function ($query) use ($where) {
$query->whereIn('order_id', $where['order_ids']);
})

@ -147,6 +147,12 @@ class StoreOrder extends BaseModel
return ($this->verify_time ? strtotime($this->verify_time) > strtotime('-' . $day . ' day') : true);
}
public function getPaySelectAttr($val)
{
$status = [0=>'其它',1=>'微信',2=>'福利积分',3=>'新人优惠券',4=>'组合支付'];
return $status[$val];
}
public function getOrderExtendAttr($val)
{
return $val ? json_decode($val, true) : null;

@ -1280,6 +1280,24 @@ class StoreOrderCreateRepository extends StoreOrderRepository
unset($order['cartInfo']);
//创建子订单
$order['district_id'] = $address['district_id'] ?? 0;
$payCount = 0;
if($order['pay_price'] > 0){
$order['pay_select'] = 1;
$payCount++;
}
if($order['integral_price'] > 0){
$order['pay_select'] = 2;
$payCount++;
}
if($order['platform_coupon_price'] > 0){
$order['pay_select'] = 3;
$payCount++;
}
if($payCount >= 2){
$order['pay_select'] = 4;
}
$_order = $this->dao->create($order);
if ($order['integral'] > 0) {

@ -798,11 +798,11 @@ class StoreOrderRepository extends BaseRepository
'title' => '核销订单',
'order_type' => 1,
],
[
'count' => $this->dao->search($where)->where('is_virtual', 1)->count(),
'title' => '虚拟商品订单',
'order_type' => 2,
],
// [
// 'count' => $this->dao->search($where)->where('is_virtual', 1)->count(),
// 'title' => '虚拟商品订单',
// 'order_type' => 2,
// ],
];
}

@ -52,7 +52,7 @@ class Order extends BaseController
public function lst()
{
[$page, $limit] = $this->getPage();
$where = $this->request->params(['status', 'date', 'order_sn', 'username', 'order_type', 'keywords', 'order_id', 'activity_type', 'group_order_sn', 'store_name']);
$where = $this->request->params(['status', 'date', 'order_sn', 'username', 'order_type', 'keywords', 'order_id', 'activity_type', 'group_order_sn', 'store_name', 'pay_select']);
$where['mer_id'] = $this->request->merId();
return app('json')->success($this->repository->merchantGetList($where, $page, $limit));
}

@ -91,6 +91,7 @@ class Merchant extends BaseController
'mer_pics',
'long',
'lat',
'district_id',
['delivery_way',[2]],
]);
$validate->check($data);
@ -104,6 +105,8 @@ class Merchant extends BaseController
unset($data['mer_certificate']);
$data['mer_pics'] = implode(',', $data['mer_pics']);
$data['district_id'] = implode(',',$data['district_id']);
foreach ($data['delivery_way'] as $datum) {
if ($datum == 1) {
$takeData = $this->request->params(['mer_take_status', 'mer_take_name', 'mer_take_phone', 'mer_take_address', 'mer_take_location', 'mer_take_day', 'mer_take_time']);
@ -159,6 +162,12 @@ class Merchant extends BaseController
$data['mer_pics'] = [];
}
if($data['district_id']) {
$data['district_id'] = explode(',', $data['district_id']);
}else{
$data['district_id'] = [];
}
$data['assets'] = \app(FinancialRecordRepository::class)->getMerchantStatistics(array('is_mer' => $this->request->merId()));
// $user = \app(UserRepository::class)->getUserByMerId($this->request->merId());
// if($user){

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -56,23 +56,20 @@
@change="onchangeTime"
/>
</el-form-item>
<!-- <el-form-item label="活动类型:" style="display: inline-block;">-->
<!-- <el-select-->
<!-- v-model="tableFrom.activity_type"-->
<!-- clearable-->
<!-- filterable-->
<!-- placeholder="请选择"-->
<!-- class="selWidth"-->
<!-- @change="getList(1),getCardList()"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in activity"-->
<!-- :key="item.type"-->
<!-- :label="item.name"-->
<!-- :value="item.type"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="支付类型:" class="width100">
<el-select
v-model="tableFrom.pay_select"
placeholder="请选择"
class="filter-item selWidth mr20"
clearable
@change="getList(1)"
>
<el-option key="1" label="微信" value="1"/>
<el-option key="2" label="福利积分" value="2"/>
<el-option key="3" label="新人优惠券" value="3"/>
<el-option key="4" label="组合支付" value="4"/>
</el-select>
</el-form-item>
<el-form-item label="商户名称:" style="display: inline-block;">
<el-select
v-model="tableFrom.mer_id"
@ -244,6 +241,7 @@
</div>
</template>
</el-table-column>
<el-table-column prop="integral_price" label="支付福利积分" min-width="130" />
<el-table-column label="实际支付" min-width="100">
<template slot-scope="scope">
<span>{{ scope.row.pay_price }}</span>
@ -256,12 +254,13 @@
<!-- <em v-if="(scope.row.refund_extension_one > 0) || (scope.row.refund_extension_two > 0)" style="color: red;font-style: normal;">(-{{ (parseFloat(scope.row.refund_extension_one)+parseFloat(scope.row.refund_extension_two)).toFixed(2) }})</em>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="支付类型" min-width="80">
<template slot-scope="scope">
<span v-if="scope.row.paid === 1">{{ scope.row.pay_type | orderPayType }}</span>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column prop="pay_select" label="支付类型" min-width="130" />
<!-- <el-table-column label="支付类型" min-width="80">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.paid === 1">{{ scope.row.pay_type | orderPayType }}</span>-->
<!-- <span v-else>&#45;&#45;</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="支付状态" min-width="80">
<template slot-scope="scope">
<span>{{ scope.row.paid == 0 ? "未支付" : "已支付" }}</span>
@ -383,7 +382,8 @@ export default {
page: 1,
limit: 20,
is_trader: '',
activity_type: ''
activity_type: '',
pay_select:''
},
orderChartType: {},
headeNum: [],

@ -6,7 +6,7 @@
:visible.sync="drawer"
:direction="direction"
:before-close="handleClose"
>
<div v-loading="loading">
<div class="head">
@ -36,9 +36,13 @@
<div class="title">实际支付</div>
<div>¥ {{ orderDetailList.pay_price }}</div>
</li>
<li class="item" >
<div class="title">支付福利积分</div>
<div>{{ orderDetailList.integral_price }}</div>
</li>
<li class="item">
<div class="title">支付方式</div>
<div>{{ orderDetailList.pay_type | payTypeFilter }}</div>
<div>{{ orderDetailList.pay_select }}</div>
</li>
<li class="item">
<div class="title">支付时间</div>
@ -113,7 +117,7 @@
<div>订单总价</div>
<div class="value">{{ orderDetailList.total_price ? orderDetailList.total_price : '-' }}</div>
</li>
<li class="item">
<div>支付运费</div>
<div class="value">{{ orderDetailList.pay_postage }}</div>
@ -122,8 +126,8 @@
<div>推广人</div>
<div class="value">{{ orderDetailList.TopSpread.nickname }}</div>
</li>
</ul>
</div>
<div class="section" v-if="orderDetailList.delivery_type === '1'">
@ -179,7 +183,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="售价" min-width="90">
<template slot-scope="scope">
<div class="tab">
@ -207,7 +211,7 @@
</div>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="订单记录" name="orderList">
@ -286,7 +290,7 @@
</div>
</el-tab-pane>
<el-tab-pane label="店铺信息" name="shopInfo">
<div class="section">
<div class="title">店铺信息</div>
<ul class="list">
@ -337,7 +341,7 @@
</span>
</div>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="实际支付" min-width="80" align="center">
<template slot-scope="scope">
<span>{{ scope.row.pay_price }}</span>

@ -147,6 +147,7 @@
</div>
</template>
</el-table-column>
<el-table-column prop="integral_price" label="福利积分" min-width="100" />
<el-table-column prop="pay_price" label="实际支付" min-width="100" />
<el-table-column prop="serviceScore" label="核销员" min-width="80">
<template slot-scope="scope">
@ -265,7 +266,7 @@ export default {
methods: {
//
onOrderDetail(row) {
this.$router.push({
name: "OrderList",
query: {

@ -133,6 +133,7 @@
<span v-if="scope.row.merchant" class="spBlock">{{ scope.row.merchant.is_trader ? '自营' : '非自营' }}</span>
</template>
</el-table-column>
<el-table-column prop="integral_price" label="福利积分" min-width="130" />
<el-table-column prop="refund_price" label="退款金额" min-width="130" />
<el-table-column prop="nickname" label="商品信息" min-width="330">
<template slot-scope="scope">
@ -285,7 +286,7 @@ export default {
if (lebData.export.length) {
data = data.concat(lebData.export)
excelData.page++
}
}
}
createWorkBook(lebData.header, lebData.title, data, lebData.foot,lebData.filename);
return

@ -34,20 +34,18 @@
<el-button slot="append" icon="el-icon-search" size="small" class="el-button-solt" @click="getList(1),getCardList()" />
</el-input>
</el-form-item>
<el-form-item label="活动类型:" class="width100">
<el-form-item label="支付类型:" class="width100">
<el-select
v-model="tableFrom.activity_type"
v-model="tableFrom.pay_select"
placeholder="请选择"
class="filter-item selWidth mr20"
clearable
@change="getList(1),getCardList()"
@change="getList(1)"
>
<el-option
v-for="item in activityList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
<el-option key="1" label="微信" value="1"/>
<el-option key="2" label="福利积分" value="2"/>
<el-option key="3" label="新人优惠券" value="3"/>
<el-option key="4" label="组合支付" value="4"/>
</el-select>
</el-form-item>
</div>
@ -72,26 +70,26 @@
</el-input>
<el-button size="small" type="primary" @click="orderCancellation('')">订单核销</el-button>
<el-upload
style="display: inline-block;"
class="upload-demo"
:headers="myHeaders"
:action="fileUrl"
:on-success="handleSuccess"
:show-file-list="false"
>
<el-button size="small" type="primary">导入批量发货</el-button>
</el-upload>
<el-button @click="getDeliveryList">批量发货记录</el-button>
<el-button @click="downloadLogistics">下载物流公司对照表</el-button>
<el-button size="small" type="primary" @click="batchSend">批量发送货</el-button>
<!-- <el-upload-->
<!-- style="display: inline-block;"-->
<!-- class="upload-demo"-->
<!-- :headers="myHeaders"-->
<!-- :action="fileUrl"-->
<!-- :on-success="handleSuccess"-->
<!-- :show-file-list="false"-->
<!-- >-->
<!-- <el-button size="small" type="primary">导入批量发货</el-button>-->
<!-- </el-upload>-->
<!-- <el-button @click="getDeliveryList">批量发货记录</el-button>-->
<!-- <el-button @click="downloadLogistics">下载物流公司对照表</el-button>-->
<!-- <el-button size="small" type="primary" @click="batchSend">批量发送货</el-button>-->
</el-form-item>
</el-form>
</div>
<el-tabs v-if="headeNum.length > 0" v-model="tableFrom.order_type" @tab-click="getList(1),getCardList(),getHeaderList()">
<el-tab-pane v-for="(item,index) in headeNum" :key="index" :name="item.order_type.toString()" :label="item.title +'('+item.count +')' " />
</el-tabs>
<cards-data :card-lists="cardLists" />
<!-- <cards-data :card-lists="cardLists" />-->
</div>
<el-table v-loading="listLoading" :data="tableData.data" style="width: 100%" size="mini" class="table" highlight-current-row :cell-class-name="addTdClass">
<el-table-column type="expand">
@ -132,17 +130,17 @@
<span v-show="scope.row.is_del > 0" style="color: #ED4014;display: block;">用户已删除</span>
</template>
</el-table-column>
<el-table-column label="订单类型" min-width="100">
<template slot-scope="scope">
<span>{{ scope.row.is_virtual == 1 ? "虚拟订单" : scope.row.order_type == 0 ? "普通订单" : "核销订单" }}</span>
</template>
</el-table-column>
<el-table-column label="活动类型" min-width="100">
<template slot-scope="scope">
<span v-if="scope.row.activity_type != 4">{{ scope.row.activity_type === 1 ? "秒杀" : scope.row.activity_type === 2 ? "预售" : scope.row.activity_type === 3 ? "助力" : "--" }}</span>
<span v-else>拼团订单 <span v-if="scope.row.groupUser && scope.row.groupUser.groupBuying">-{{ scope.row.groupUser.groupBuying.status | activityOrderStatus }}</span></span>
</template>
</el-table-column>
<!-- <el-table-column label="订单类型" min-width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.is_virtual == 1 ? "虚拟订单" : scope.row.order_type == 0 ? "普通订单" : "核销订单" }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="活动类型" min-width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.activity_type != 4">{{ scope.row.activity_type === 1 ? "秒杀" : scope.row.activity_type === 2 ? "预售" : scope.row.activity_type === 3 ? "助力" : "&#45;&#45;" }}</span>-->
<!-- <span v-else>拼团订单 <span v-if="scope.row.groupUser && scope.row.groupUser.groupBuying">-{{ scope.row.groupUser.groupBuying.status | activityOrderStatus }}</span></span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="real_name" label="收货人/订购人" min-width="130" />
<el-table-column label="商品信息" min-width="330">
<template slot-scope="scope">
@ -160,24 +158,26 @@
</div>
</template>
</el-table-column>
<el-table-column prop="integral_price" label="支付福利积分" min-width="130" />
<el-table-column label="实际支付" min-width="100">
<template slot-scope="scope">
<span>{{ scope.row.pay_price }}</span>
<p v-if="scope.row.finalOrder">尾款{{ scope.row.finalOrder.pay_price }}</p>
</template>
</el-table-column>
<el-table-column label="订单佣金" min-width="100">
<template slot-scope="scope">
<span>{{ (parseFloat(scope.row.extension_one) + parseFloat(scope.row.extension_two) + parseFloat(scope.row.refund_extension_one) + parseFloat(scope.row.refund_extension_two)).toFixed(2) }}</span>
<em v-if="(scope.row.refund_extension_one > 0) || (scope.row.refund_extension_two > 0)" style="color: red;font-style: normal;">(-{{ (parseFloat(scope.row.refund_extension_one)+parseFloat(scope.row.refund_extension_two)).toFixed(2) }})</em>
</template>
</el-table-column>
<el-table-column label="支付类型" min-width="80">
<template slot-scope="scope">
<span v-if="scope.row.paid === 1">{{ scope.row.pay_type | orderPayType }}</span>
<span v-else>--</span>
</template>
</el-table-column>
<!-- <el-table-column label="订单佣金" min-width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ (parseFloat(scope.row.extension_one) + parseFloat(scope.row.extension_two) + parseFloat(scope.row.refund_extension_one) + parseFloat(scope.row.refund_extension_two)).toFixed(2) }}</span>-->
<!-- <em v-if="(scope.row.refund_extension_one > 0) || (scope.row.refund_extension_two > 0)" style="color: red;font-style: normal;">(-{{ (parseFloat(scope.row.refund_extension_one)+parseFloat(scope.row.refund_extension_two)).toFixed(2) }})</em>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column prop="pay_select" label="支付类型" min-width="130" />
<!-- <el-table-column label="支付类型" min-width="80">-->
<!-- <template slot-scope="scope">-->
<!-- <span v-if="scope.row.paid === 1">{{ scope.row.pay_type | orderPayType }}</span>-->
<!-- <span v-else>&#45;&#45;</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="支付状态" min-width="80">
<template slot-scope="scope">
<span>{{ scope.row.paid === 0 ? "未支付" : "已支付" }}</span>
@ -201,11 +201,11 @@
<span>{{ scope.row.spread && scope.row.spread.nickname || '无' }}</span>
</template>
</el-table-column>
<el-table-column label="上级推广人" min-width="100">
<template slot-scope="scope">
<span>{{ scope.row.TopSpread && scope.row.TopSpread.nickname || '无' }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="上级推广人" min-width="100">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.TopSpread && scope.row.TopSpread.nickname || '无' }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column key="8" label="操作" min-width="150" fixed="right" align="left">
<template slot-scope="scope">
<el-button v-if="orderFilter(scope.row) " type="text" size="small" @click="onRefundDetail(scope.row.order_sn)">查看退款单</el-button>
@ -519,7 +519,7 @@ export default {
type: '1',
username: '',
order_id: this.$route.query.id ? this.$route.query.id : '',
activity_type: ''
pay_select: ''
},
activityList: [
{ value: 0, label: '普通订单' },

@ -59,7 +59,7 @@
</el-form-item>
</el-form>
</div>
<cards-data :card-lists="cardLists" />
<!-- <cards-data :card-lists="cardLists" />-->
</div>
<el-table
v-loading="listLoading"
@ -121,6 +121,7 @@
</div>
</template>
</el-table-column>
<el-table-column prop="integral_price" label="福利积分" min-width="100" />
<el-table-column prop="pay_price" label="实际支付" min-width="100" />
<el-table-column prop="pay_price" label="核销员" min-width="100">
<template slot-scope="scope">
@ -133,6 +134,11 @@
</template>
</el-table-column>
<el-table-column prop="verify_time" label="核销时间" min-width="150" />
<el-table-column label="操作" min-width="180" fixed="right" align="center">
<template slot-scope="scope">
<el-button type="text" size="small" @click="onOrderDetail(scope.row.order_sn)">订单详情</el-button>
</template>
</el-table-column>
</el-table>
<div class="block">
@ -232,6 +238,15 @@ export default {
this.getList(1)
},
methods: {
//
onOrderDetail(order_sn) {
this.$router.push({
name: 'OrderList',
query: {
order_sn: order_sn
}
})
},
//
exportOrder() {
exportOrderApi({

@ -26,25 +26,25 @@
>订单核销</el-button
>
<el-button
v-if="(orderDetailList.order_type == 0 || orderDetailList.order_type == 2) && orderDetailList.status === 0 && orderDetailList.paid === 1"
v-if="(orderDetailList.order_type == 0 || orderDetailList.order_type == 2) && orderDetailList.status === 0 && orderDetailList.paid === 1"
type="primary"
size="small"
@click="send"
>发送货</el-button
>
<el-button
v-if="orderDetailList.order_type == 0 && orderDetailList.paid == 1"
type="success"
size="small"
@click="printOrder"
>小票打印</el-button
>
<!-- <el-button-->
<!-- v-if="orderDetailList.order_type == 0 && orderDetailList.paid == 1"-->
<!-- type="success"-->
<!-- size="small"-->
<!-- @click="printOrder"-->
<!-- >小票打印</el-button-->
<!-- >-->
<el-dropdown @command="handleCommand">
<el-button icon="el-icon-more" size="small"></el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="mark">订单备注</el-dropdown-item>
<el-dropdown-item v-if="orderDetailList.order_type == 0 && orderDetailList.status === 1 && orderDetailList.paid === 1" command="modify">修改发货信息</el-dropdown-item>
<el-dropdown-item v-if="orderDetailList.order_type == 0 && orderDetailList.status === 1 && orderDetailList.paid === 1" command="modify">修改发货信息</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@ -68,7 +68,7 @@
</li>
<li class="item">
<div class="title">支付方式</div>
<div>{{ orderDetailList.pay_type | payTypeFilter }}</div>
<div>{{ orderDetailList.pay_select }}</div>
</li>
<li class="item">
<div class="title">支付时间</div>
@ -157,9 +157,9 @@
<div>订单总价</div>
<div class="value">{{ orderDetailList.total_price ? orderDetailList.total_price : '-' }}</div>
</li>
<li class="item" v-if="orderDetailList.svip_discount">
<div>会员商品优惠</div>
<div class="value">{{ orderDetailList.svip_discount }}</div>
<li class="item" v-if="orderDetailList.integral_price">
<div>支付福利积分</div>
<div class="value">{{ orderDetailList.integral_price }}</div>
</li>
<li class="item">
<div>支付运费</div>
@ -169,20 +169,20 @@
<div>推广人</div>
<div class="value">{{ orderDetailList.TopSpread.nickname }}</div>
</li>
<li v-if="!orderDetailList.activity_type" class="item">
<div>一级佣金</div>
<div class="value">
{{ parseFloat(orderDetailList.extension_one) + parseFloat(orderDetailList.refund_extension_one) }}
<em v-if="orderDetailList.refund_extension_one > 0" style="color: red;font-style: normal;">(-{{ orderDetailList.refund_extension_one }})</em>
</div>
</li>
<li v-if="!orderDetailList.activity_type" class="item">
<div>二级佣金</div>
<div class="value">
{{ parseFloat(orderDetailList.extension_two) + parseFloat(orderDetailList.refund_extension_two) }}
<em v-if="orderDetailList.refund_extension_two > 0" style="color: red;font-style: normal;">(-{{ orderDetailList.refund_extension_two }})</em>
</div>
</li>
<!-- <li v-if="!orderDetailList.activity_type" class="item">-->
<!-- <div>一级佣金</div>-->
<!-- <div class="value">-->
<!-- {{ parseFloat(orderDetailList.extension_one) + parseFloat(orderDetailList.refund_extension_one) }}-->
<!-- <em v-if="orderDetailList.refund_extension_one > 0" style="color: red;font-style: normal;">(-{{ orderDetailList.refund_extension_one }})</em>-->
<!-- </div>-->
<!-- </li>-->
<!-- <li v-if="!orderDetailList.activity_type" class="item">-->
<!-- <div>二级佣金</div>-->
<!-- <div class="value">-->
<!-- {{ parseFloat(orderDetailList.extension_two) + parseFloat(orderDetailList.refund_extension_two) }}-->
<!-- <em v-if="orderDetailList.refund_extension_two > 0" style="color: red;font-style: normal;">(-{{ orderDetailList.refund_extension_two }})</em>-->
<!-- </div>-->
<!-- </li>-->
</ul>
</div>
<div class="section" v-if="orderDetailList.mark">
@ -215,7 +215,7 @@
</li>
</ul>
</div>
</el-tab-pane>
<el-tab-pane label="商品信息" name="goods">
<el-table :data="orderDetailList.orderProduct">
@ -239,7 +239,7 @@
</div>
</template>
</el-table-column>
<el-table-column label="售价" min-width="90">
<template slot-scope="scope">
<div class="tab">
@ -269,7 +269,7 @@
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="订单记录" name="orderList">
<div>
<el-form size="small" label-width="80px">
@ -377,7 +377,7 @@
</span>
</div>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="实际支付" min-width="80" align="center">
<template slot-scope="scope">
<span>{{ scope.row.pay_price }}</span>

@ -1,190 +1,190 @@
<template>
<el-dialog
v-if="orderDatalist"
v-loading="loading"
title="退款单信息"
:visible.sync="dialogVisible"
width="700px"
>
<div class="description">
<div class="title">用户信息</div>
<div class="acea-row">
<div class="description-term">用户昵称{{ orderDatalist.user.nickname }}</div>
<div class="description-term">退货人{{ orderDatalist.order.real_name }}</div>
<div class="description-term">联系电话{{ orderDatalist.order.user_phone }}</div>
<div class="description-term">退货地址{{ orderDatalist.order.user_address }}</div>
<div class="description-term">备注{{ orderDatalist.mark }}</div>
</div>
<el-divider />
<div class="title">{{orderDatalist.refund_type == 1 ? '退款信息' : '退回商品信息'}}</div>
<div class="acea-row">
<div class="description-term">订单编号{{ orderDatalist.order.order_sn }}</div>
<div class="description-term">订单状态{{ orderDatalist.status | orderRefundFilter }}</div>
<div class="description-term100">退款单号{{ orderDatalist.refund_order_sn }}</div>
<div class="description-term100">退款商品名称
<div class="product_name">
<div v-for="(item,index) in orderDatalist.refundProduct" :key="index">
<span v-if="item.product && item.product.cart_info && item.product.cart_info.product">{{item.product.cart_info.product.store_name}}</span>
</div>
</div>
</div>
<div class="description-term">退款商品件数{{ orderDatalist.refund_num }}</div>
<!--<div class="description-term">退款总金额{{ orderDatalist }}</div>-->
<div class="description-term">退款总金额{{ orderDatalist.refund_price }}</div>
<!--<div class="description-term">用户备注{{ orderDatalist.coupon_price }}</div>-->
<div class="description-term">创建时间{{ orderDatalist.create_time }}</div>
<div class="description-term">商家备注{{ orderDatalist.mer_mark }}</div>
<div class="description-term100">退款凭证
<div class="product_name" style="margin-left: 70px;">
<div class="demo-image__preview">
<el-image
v-for="(item,index) in orderDatalist.pics"
:key="index"
:src="item"
class="mr5"
:preview-src-list="[item]"
/>
</div>
</div>
</div>
</div>
<el-divider />
<div class="title">订单记录</div>
<el-table v-loading="LogLoading" border :data="tableDataLog.data" style="width: 100%">
<el-table-column prop="order_id" align="center" label="退款单ID" min-width="80" />
<el-table-column prop="change_message" label="操作记录" align="center" min-width="280" />
<el-table-column prop="change_time" label="操作时间" align="center" min-width="280" />
</el-table>
<div class="block">
<el-pagination
:page-sizes="[20, 40, 60, 80]"
:page-size="tableFromLog.limit"
:current-page="tableFromLog.page"
layout="total, sizes, prev, pager, next, jumper"
:total="tableDataLog.total"
@size-change="handleSizeChangeLog"
@current-change="pageChangeLog"
/>
</div>
<el-divider />
<div v-if="(orderDatalist.status == 2 || orderDatalist.status == 3) && orderDatalist.refund_type == 2">
<div class="title">退货物流信息</div>
<div class="acea-row">
<div class="description-term">快递公司{{ orderDatalist.delivery_type }}</div>
<div class="description-term">快递单号{{ orderDatalist.delivery_id }}</div>
<el-button size="small" type="primary" @click="getLoginstics">物流查询</el-button>
</div>
</div>
</div>
</el-dialog>
</template>
<script>
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEBCRMEB
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import {
refundorderLogApi
} from '@/api/order'
export default {
name: 'OrderDetail',
props: {
orderDatalist: {
type: Object,
default: null
}
},
data() {
return {
dialogVisible: false,
LogLoading: false,
// orderDatalist: null,
loading: false,
listLoading: true,
order_id: '',
tableDataLog: {
data: [],
total: 0,
},
tableFromLog: {
page: 1,
limit: 5
},
}
},
mounted() {
},
methods: {
//
onOrderLog(id) {
this.LogLoading = true
this.order_id = id;
refundorderLogApi(id, this.tableFromLog)
.then(res => {
this.tableDataLog.data = res.data.list
this.tableDataLog.total = res.data.count
this.LogLoading = false
})
.catch(res => {
this.$message.error(res.message)
this.LogLoading = false
})
},
/**查看物流 */
getLoginstics(){
this.$emit('get-logistics',this.orderDatalist)
},
pageChangeLog(page) {
this.tableFromLog.page = page
this.onOrderLog(this.order_id)
},
handleSizeChangeLog(val) {
this.tableFromLog.limit = val
this.onOrderLog(this.order_id)
},
}
}
</script>
<style scoped lang="scss">
.title{
margin-bottom: 16px;
color: #17233d;
font-weight: 500;
font-size: 14px;
}
.description{
&-term {
display: table-cell;
padding-bottom: 10px;
line-height: 20px;
width: 50%;
font-size: 12px;
}
}
.description-term100{
display: table-cell;
padding-bottom: 10px;
line-height: 20px;
width: 100%;
font-size: 12px;
}
.product_name{
margin-left: 90px;
position: relative;
top: -20px;
}
.demo-image__preview {
.el-image,img{
width: 40px;
height: 40px;
}
}
</style>
<template>
<el-dialog
v-if="orderDatalist"
v-loading="loading"
title="退款单信息"
:visible.sync="dialogVisible"
width="700px"
>
<div class="description">
<div class="title">用户信息</div>
<div class="acea-row">
<div class="description-term">用户昵称{{ orderDatalist.user.nickname }}</div>
<div class="description-term">退货人{{ orderDatalist.order.real_name }}</div>
<div class="description-term">联系电话{{ orderDatalist.order.user_phone }}</div>
<div class="description-term">退货地址{{ orderDatalist.order.user_address }}</div>
<div class="description-term">备注{{ orderDatalist.mark }}</div>
</div>
<el-divider />
<div class="title">{{orderDatalist.refund_type == 1 ? '退款信息' : '退回商品信息'}}</div>
<div class="acea-row">
<div class="description-term">订单编号{{ orderDatalist.order.order_sn }}</div>
<div class="description-term">订单状态{{ orderDatalist.status | orderRefundFilter }}</div>
<div class="description-term100">退款单号{{ orderDatalist.refund_order_sn }}</div>
<div class="description-term100">退款商品名称
<div class="product_name">
<div v-for="(item,index) in orderDatalist.refundProduct" :key="index">
<span v-if="item.product && item.product.cart_info && item.product.cart_info.product">{{item.product.cart_info.product.store_name}}</span>
</div>
</div>
</div>
<div class="description-term">退款商品件数{{ orderDatalist.refund_num }}</div>
<!--<div class="description-term">退款总金额{{ orderDatalist }}</div>-->
<div class="description-term">退款总金额{{ orderDatalist.refund_price }}</div>
<div class="description-term">福利积分{{ orderDatalist.order.integral_price }}</div>
<div class="description-term">创建时间{{ orderDatalist.create_time }}</div>
<div class="description-term">商家备注{{ orderDatalist.mer_mark }}</div>
<div class="description-term100">退款凭证
<div class="product_name" style="margin-left: 70px;">
<div class="demo-image__preview">
<el-image
v-for="(item,index) in orderDatalist.pics"
:key="index"
:src="item"
class="mr5"
:preview-src-list="[item]"
/>
</div>
</div>
</div>
</div>
<el-divider />
<div class="title">订单记录</div>
<el-table v-loading="LogLoading" border :data="tableDataLog.data" style="width: 100%">
<el-table-column prop="order_id" align="center" label="退款单ID" min-width="80" />
<el-table-column prop="change_message" label="操作记录" align="center" min-width="280" />
<el-table-column prop="change_time" label="操作时间" align="center" min-width="280" />
</el-table>
<div class="block">
<el-pagination
:page-sizes="[20, 40, 60, 80]"
:page-size="tableFromLog.limit"
:current-page="tableFromLog.page"
layout="total, sizes, prev, pager, next, jumper"
:total="tableDataLog.total"
@size-change="handleSizeChangeLog"
@current-change="pageChangeLog"
/>
</div>
<el-divider />
<div v-if="(orderDatalist.status == 2 || orderDatalist.status == 3) && orderDatalist.refund_type == 2">
<div class="title">退货物流信息</div>
<div class="acea-row">
<div class="description-term">快递公司{{ orderDatalist.delivery_type }}</div>
<div class="description-term">快递单号{{ orderDatalist.delivery_id }}</div>
<el-button size="small" type="primary" @click="getLoginstics">物流查询</el-button>
</div>
</div>
</div>
</el-dialog>
</template>
<script>
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2021 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEBCRMEB
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
import {
refundorderLogApi
} from '@/api/order'
export default {
name: 'OrderDetail',
props: {
orderDatalist: {
type: Object,
default: null
}
},
data() {
return {
dialogVisible: false,
LogLoading: false,
// orderDatalist: null,
loading: false,
listLoading: true,
order_id: '',
tableDataLog: {
data: [],
total: 0,
},
tableFromLog: {
page: 1,
limit: 5
},
}
},
mounted() {
},
methods: {
//
onOrderLog(id) {
this.LogLoading = true
this.order_id = id;
refundorderLogApi(id, this.tableFromLog)
.then(res => {
this.tableDataLog.data = res.data.list
this.tableDataLog.total = res.data.count
this.LogLoading = false
})
.catch(res => {
this.$message.error(res.message)
this.LogLoading = false
})
},
/**查看物流 */
getLoginstics(){
this.$emit('get-logistics',this.orderDatalist)
},
pageChangeLog(page) {
this.tableFromLog.page = page
this.onOrderLog(this.order_id)
},
handleSizeChangeLog(val) {
this.tableFromLog.limit = val
this.onOrderLog(this.order_id)
},
}
}
</script>
<style scoped lang="scss">
.title{
margin-bottom: 16px;
color: #17233d;
font-weight: 500;
font-size: 14px;
}
.description{
&-term {
display: table-cell;
padding-bottom: 10px;
line-height: 20px;
width: 50%;
font-size: 12px;
}
}
.description-term100{
display: table-cell;
padding-bottom: 10px;
line-height: 20px;
width: 100%;
font-size: 12px;
}
.product_name{
margin-left: 90px;
position: relative;
top: -20px;
}
.demo-image__preview {
.el-image,img{
width: 40px;
height: 40px;
}
}
</style>

@ -295,7 +295,7 @@
</el-form-item>
</el-col>
</el-row>
<div style="width: 460px;margin-left: 150px;">
<Maps v-if="mapKey" ref="mapChild" class="map-sty" :map-key="mapKey" :lat="Number(merData.lat || 34.34127)" :lon="Number(merData.long || 108.93984)" :address="merData.mer_address" @getCoordinates="getCoordinates" />
</div>
@ -327,20 +327,20 @@
</div> -->
<div v-if="infoType == '4'" class="user-msg">
<div class="basic-information">
<span class="basic-label"> 商户收入</span>
<span class="basic-label"> 商户收入</span>
{{ merData.assets.total }}
<!-- {{ Number(merData.commission_rate) > 0 ? (parseFloat(merData.commission_rate)).toFixed(2) : (parseFloat(merData.merchantCategory.commission_rate * 100)).toFixed(2)}}% -->
</div>
<div class="basic-information">
<span class="basic-label"> 商户余额</span>
<span class="basic-label"> 商户当前余额</span>
{{ merData.assets.mer_money }}
</div>
<div class="basic-information">
<span class="basic-label"> 商户冻结金额</span>
<span class="basic-label"> 商户当前冻结金额</span>
{{ merData.assets.frozen_money }}
</div>
<div class="basic-information">
<span class="basic-label"> 商户可提现总金额</span>
<span class="basic-label"> 商户当前可提现总金额</span>
{{ merData.assets.available_money }}
</div>
<div class="basic-information">
@ -348,11 +348,11 @@
{{ merData.assets.refund_money }}
</div>
<div class="basic-information">
<span class="basic-label"> 商户福利积分</span>
<span class="basic-label"> 商户可提现福利积分部</span>
{{ merData.assets.welfare }}
</div>
<div class="basic-information">
<span class="basic-label"> 商户冻结积分</span>
<span class="basic-label"> 商户当前冻结福利积分</span>
{{ merData.assets.welfare_frozen }}
</div>
</div>
@ -532,7 +532,7 @@ export default {
mer_take_location: '',
id: 0,
mer_take_status: 0 }, //
props: {
lazy: true,
lazyLoad (node, resolve) {
@ -540,7 +540,7 @@ export default {
const { level } = node;
if(level==0){
getArea(0).then(res=>{
let nodes=res.data.map(item=>{
return{
value:item.id,

Loading…
Cancel
Save