offline_mer/src/views/order/orderDetails.vue

1084 lines
35 KiB
Vue
Raw Normal View History

2024-03-22 15:50:26 +08:00
<template>
<div>
<el-drawer
:with-header="false"
:visible.sync="drawer"
size="1000px"
:direction="direction"
:before-close="handleClose"
>
<div v-loading="loading">
<div class="head">
<div class="full">
<img class="order_icon" :src="orderImg" alt="" />
<div class="text">
2024-08-26 10:29:07 +08:00
<div class="title">
{{ orderDetailList.order_type == 0 ? "普通订单" : "核销订单" }}
</div>
2024-03-22 15:50:26 +08:00
<div>
2024-08-26 10:29:07 +08:00
<span class="mr20"
>订单编号{{ orderDetailList.order_sn }}</span
>
2024-03-22 15:50:26 +08:00
</div>
</div>
<div>
<el-button
2024-08-26 10:29:07 +08:00
v-if="
orderDetailList.order_type != 0 && orderDetailList.status == 0
"
2024-03-22 15:50:26 +08:00
type="primary"
size="small"
@click="orderCancellation"
>订单核销</el-button
>
<el-button
2024-08-26 10:29:07 +08:00
v-if="
(orderDetailList.order_type == 0 ||
orderDetailList.order_type == 2) &&
orderDetailList.status === 0 &&
orderDetailList.paid === 1
"
2024-03-22 15:50:26 +08:00
type="primary"
size="small"
@click="send"
>发送货</el-button
>
2024-05-19 11:52:06 +08:00
<!-- <el-button
2024-03-22 15:50:26 +08:00
v-if="orderDetailList.paid == 1"
type="success"
size="small"
@click="printOrder"
>小票打印</el-button
2024-05-19 11:52:06 +08:00
> -->
2024-03-22 15:50:26 +08:00
<el-dropdown @command="handleCommand" class="ml10">
<el-button icon="el-icon-more" size="small"></el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item command="mark">订单备注</el-dropdown-item>
2024-08-26 10:29:07 +08:00
<el-dropdown-item
v-if="
orderDetailList.order_type == 0 &&
orderDetailList.status === 1 &&
orderDetailList.paid === 1
"
command="modify"
>修改发货信息</el-dropdown-item
>
2024-05-19 16:23:38 +08:00
<!-- <el-dropdown-item v-if="orderDetailList.status!=-1&&orderDetailList.paid==1&&orderDetailList.status<9" command="refund">退款</el-dropdown-item> -->
2024-03-22 15:50:26 +08:00
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
<ul class="list">
<li class="item">
<div class="title">订单状态</div>
<div>
2024-08-26 10:29:07 +08:00
<div v-if="!orderDetailList.pay_time" class="value1">
待付款<span
v-if="orderDetailList.is_del > 0"
style="color:rgb(237,64,20);font-size:12px;"
>用户已删除</span
>
2024-03-22 15:50:26 +08:00
</div>
2024-08-26 10:29:07 +08:00
<div
v-if="
orderDetailList.order_type === 0 && orderDetailList.pay_time
"
class="value1"
>
<span
>{{ orderDetailList.status | orderStatusFilter
}}<span
v-if="orderDetailList.is_del > 0"
style="color:rgb(237,64,20);font-size:12px;"
>用户已删除</span
></span
>
</div>
<div
v-if="
orderDetailList.order_type === 1 && orderDetailList.pay_time
"
class="value1"
>
<span
>{{ orderDetailList.status | cancelOrderStatusFilter
}}<span
v-if="orderDetailList.is_del > 0"
style="color:rgb(237,64,20);font-size:12px;"
>用户已删除</span
></span
>
2024-03-22 15:50:26 +08:00
</div>
</div>
</li>
<li class="item">
<div class="title">实际支付</div>
<div>
¥{{ orderDetailList.pay_price }}
2024-08-26 10:29:07 +08:00
<span
v-if="
orderDetailList.finalOrder &&
orderDetailList.finalOrder.pay_price &&
orderDetailList.finalOrder.paid == 1
"
>尾款¥{{ orderDetailList.finalOrder.pay_price }}</span
>
2024-03-22 15:50:26 +08:00
</div>
</li>
<li class="item">
<div class="title">支付方式</div>
<div>{{ orderDetailList.pay_type | payTypeFilter }}</div>
</li>
<li class="item">
2024-08-26 10:29:07 +08:00
<div class="title">
{{ orderDetailList.pay_time ? "支付时间" : "下单时间" }}
</div>
2024-03-22 15:50:26 +08:00
<div>{{ orderDetailList.create_time }}</div>
</li>
</ul>
</div>
<el-tabs type="border-card" v-model="activeName" @tab-click="tabClick">
<el-tab-pane label="订单信息" name="detail">
<div v-if="orderDetailList.user" class="section">
<div class="title">用户信息</div>
<ul class="list">
<li class="item">
<div>用户昵称</div>
<div class="value">
{{
2024-08-26 10:29:07 +08:00
orderDetailList.user.real_name
? orderDetailList.user.real_name
: orderDetailList.user.nickname
2024-03-22 15:50:26 +08:00
}}
</div>
</li>
2024-05-14 17:44:04 +08:00
<!-- <li class="item">
2024-03-22 15:50:26 +08:00
<div>用户ID</div>
<div class="value">{{ orderDetailList.user.uid ? orderDetailList.user.uid : '-' }}</div>
2024-05-14 17:44:04 +08:00
</li> -->
2024-03-22 15:50:26 +08:00
<li class="item">
<div>绑定电话</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.user.phone
? orderDetailList.user.phone
: "-"
}}
</div>
2024-03-22 15:50:26 +08:00
</li>
</ul>
</div>
<div class="section">
<div class="title">收货信息</div>
<ul class="list">
<li class="item">
<div>收货人</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.real_name
? orderDetailList.real_name
: "-"
}}
</div>
2024-03-22 15:50:26 +08:00
</li>
<li class="item">
<div>收货电话</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.user_phone
? orderDetailList.user_phone
: "-"
}}
</div>
2024-03-22 15:50:26 +08:00
</li>
<li class="item">
<div>收货地址</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.user_address
? orderDetailList.user_address
: "-"
}}
</div>
2024-03-22 15:50:26 +08:00
</li>
</ul>
</div>
2024-08-26 10:29:07 +08:00
2024-03-22 15:50:26 +08:00
<div class="section">
<div class="title">订单信息</div>
<ul class="list">
<li class="item">
<div>创建时间</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.create_time
? orderDetailList.create_time
: "-"
}}
</div>
2024-03-22 15:50:26 +08:00
</li>
<li class="item">
<div>商品总数</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.total_num
? orderDetailList.total_num
: "-"
}}
</div>
2024-03-22 15:50:26 +08:00
</li>
<li v-if="orderDetailList.pay_time" class="item">
<div>实际支付</div>
<div class="value">
{{ orderDetailList.pay_price }}
2024-08-26 10:29:07 +08:00
<span
v-if="
orderDetailList.finalOrder &&
orderDetailList.finalOrder.pay_price &&
orderDetailList.finalOrder.paid == 1
"
>尾款¥{{ orderDetailList.finalOrder.pay_price }}</span
>
2024-03-22 15:50:26 +08:00
</div>
</li>
2024-08-26 10:29:07 +08:00
<!-- <li class="item">
2024-03-22 15:50:26 +08:00
<div>优惠券金额</div>
<div class="value">{{ orderDetailList.coupon_price ? orderDetailList.coupon_price : '-' }}</div>
2024-05-19 11:52:06 +08:00
</li> -->
2024-08-26 10:29:07 +08:00
<li v-if="orderDetailList.integral" class="item">
2024-05-19 11:52:06 +08:00
<div>铸源星抵扣</div>
2024-08-26 10:29:07 +08:00
<div
v-if="
orderDetailList.integral && orderDetailList.integral != 0
"
class="value"
>
使用了{{ orderDetailList.integral }}个铸源星抵扣了{{
orderDetailList.integral_price
}}
</div>
2024-05-19 16:23:38 +08:00
</li>
2024-08-26 10:29:07 +08:00
<li v-if="orderDetailList.amount_price > 0" class="item">
<div>折扣</div>
<!-- <div v-if="orderDetailList.amount_price && orderDetailList.amount_price != 0" class="value">使用了{{ orderDetailList.amount_price }}个折扣抵扣了{{ orderDetailList.amount_price }}</div> -->
<div
v-if="
orderDetailList.amount_price &&
orderDetailList.amount_price != 0
"
class="value"
>
-{{ orderDetailList.amount_price }}
</div>
2024-03-22 15:50:26 +08:00
</li>
<li class="item">
<div>商品总价</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.total_price
? orderDetailList.total_price
: "-"
}}
</div>
2024-03-22 15:50:26 +08:00
</li>
2024-05-19 11:52:06 +08:00
<!-- <li class="item" v-if="orderDetailList.svip_discount">
2024-03-22 15:50:26 +08:00
<div>会员商品优惠</div>
<div class="value">{{ orderDetailList.svip_discount }}</div>
2024-05-19 11:52:06 +08:00
</li> -->
2024-03-22 15:50:26 +08:00
<li class="item">
<div>支付运费</div>
<div class="value">{{ orderDetailList.pay_postage }}</div>
</li>
2024-12-05 15:29:53 +08:00
<!-- <li v-if="orderDetailList.spread" class="item">
2024-03-22 15:50:26 +08:00
<div>推广人</div>
<div class="value">{{ orderDetailList.spread.nickname }}</div>
</li>
<li v-if="orderDetailList.TopSpread" class="item">
<div>上级推广人</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{ orderDetailList.TopSpread.nickname }}
</div>
2024-12-05 15:29:53 +08:00
</li> -->
2024-05-14 17:44:04 +08:00
<!-- <li v-if="!orderDetailList.activity_type" class="item">
2024-03-22 15:50:26 +08:00
<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>
2024-05-14 17:44:04 +08:00
</li> -->
2024-08-26 10:29:07 +08:00
<!-- <li class="item">
2024-03-22 15:50:26 +08:00
<div>赠送积分</div>
<div class="value">{{orderDetailList.give_integral || '-'}}</div>
2024-05-14 17:44:04 +08:00
</li> -->
2024-03-22 15:50:26 +08:00
<li class="item">
<div>发货方式</div>
2024-08-26 10:29:07 +08:00
<div v-if="orderDetailList.order_type == 1" class="value">
核销
</div>
<div v-else class="value">
{{ orderDetailList.delivery_type | sendWay }}
</div>
2024-03-22 15:50:26 +08:00
</li>
<li class="item">
<div>商品类型</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.is_virtual == 1
? "虚拟商品"
: orderDetailList.is_virtual == 2
? "卡密商品"
: "普通商品"
}}
</div>
2024-03-22 15:50:26 +08:00
</li>
<li class="item">
<div>活动类型</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.activity_type == 1
? "秒杀"
: orderDetailList.activity_type == 2
? "预售"
: orderDetailList.activity_type == 3
? "助力"
: orderDetailList.activity_type == 4
? "拼团"
: "普通"
}}
</div>
2024-03-22 15:50:26 +08:00
</li>
</ul>
</div>
<div class="section" v-if="orderDetailList.order_extend">
<div class="title">自定义留言</div>
<ul class="list">
2024-08-26 10:29:07 +08:00
<li
class="item"
v-for="(item, i) in orderDetailList.order_extend"
:key="i"
>
2024-03-22 15:50:26 +08:00
<div>{{ i }}</div>
<template v-if="!Array.isArray(item)">
<div class="value">{{ item }}</div>
</template>
<template v-else>
2024-08-26 10:29:07 +08:00
<img
v-for="(pic, idx) in item"
:key="idx"
:src="pic"
style="width:40px;height:40px;margin-right:12px;"
/>
2024-03-22 15:50:26 +08:00
</template>
</li>
</ul>
</div>
<div class="section" v-if="orderDetailList.mark">
<div class="title">买家留言</div>
<ul class="list">
<li class="item">
2024-08-26 10:29:07 +08:00
<div>
{{ orderDetailList.mark ? orderDetailList.mark : "-" }}
</div>
2024-03-22 15:50:26 +08:00
</li>
</ul>
</div>
<div class="section" v-if="orderDetailList.remark">
<div class="title">商家备注</div>
<ul class="list">
<li class="item">
2024-08-26 10:29:07 +08:00
<div>
{{ orderDetailList.remark ? orderDetailList.remark : "-" }}
</div>
2024-03-22 15:50:26 +08:00
</li>
</ul>
</div>
<div class="section" v-if="orderDetailList.delivery_type === '1'">
<div class="title">物流信息</div>
<ul class="list">
<li class="item">
<div>快递公司</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.delivery_name
? orderDetailList.delivery_name
: "-"
}}
</div>
2024-03-22 15:50:26 +08:00
</li>
<li class="item">
<div>快递单号</div>
2024-08-26 10:29:07 +08:00
<div class="value">
{{
orderDetailList.delivery_id
? orderDetailList.delivery_id
: "-"
}}
</div>
<el-button
type="text"
size="mini"
style="margin-left: 5px"
@click="openLogistics"
>物流查询</el-button
>
2024-03-22 15:50:26 +08:00
</li>
</ul>
</div>
</el-tab-pane>
<el-tab-pane label="商品信息" name="goods">
<el-table :data="orderDetailList.orderProduct" size="small">
<el-table-column label="商品信息" min-width="300">
<template slot-scope="scope">
<div class="tab">
<div class="demo-image__preview">
<el-image
:src="scope.row.cart_info.product.image"
:preview-src-list="[scope.row.cart_info.product.image]"
/>
</div>
<div>
2024-08-26 10:29:07 +08:00
<div class="line1">
{{ scope.row.cart_info.product.store_name }}
</div>
2024-03-22 15:50:26 +08:00
<div class="line1 gary">
规格{{
2024-08-26 10:29:07 +08:00
scope.row.cart_info.productAttr.sku
? scope.row.cart_info.productAttr.sku
: "默认"
2024-03-22 15:50:26 +08:00
}}
</div>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="售价" min-width="90">
<template slot-scope="scope">
<div class="tab">
<div class="line1">
2024-08-26 10:29:07 +08:00
{{
scope.row.cart_info.productAttr.price
? scope.row.cart_info.productAttr.price
: "-"
}}
2024-03-22 15:50:26 +08:00
</div>
</div>
</template>
</el-table-column>
<el-table-column label="成本价" min-width="90">
<template slot-scope="scope">
<div class="tab">
<div class="line1">
2024-08-26 10:29:07 +08:00
{{
scope.row.cart_info.productAttr.cost
? scope.row.cart_info.productAttr.cost
: "-"
}}
2024-03-22 15:50:26 +08:00
</div>
</div>
</template>
</el-table-column>
2024-08-26 10:29:07 +08:00
<el-table-column label="实付金额" min-width="90">
2024-03-22 15:50:26 +08:00
<template slot-scope="scope">
<div class="tab">
<div class="line1">
2024-08-26 10:29:07 +08:00
{{
scope.row.product_price ? scope.row.product_price : "-"
}}
2024-03-22 15:50:26 +08:00
</div>
</div>
</template>
</el-table-column>
<el-table-column label="购买数量" min-width="90">
<template slot-scope="scope">
<div class="tab">
<div class="line1">
{{ scope.row.product_num }}
</div>
</div>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="订单记录" name="orderList">
<div>
<el-form size="small" label-width="80px">
<div class="acea-row">
<el-form-item label="操作端:">
<el-select
v-model="tableFromLog.user_type"
placeholder="请选择"
style="width: 140px; margin-right: 20px"
clearable
filterable
@change="onOrderLog(orderId)"
>
<el-option label="系统" value="0" />
<el-option label="用户" value="1" />
<el-option label="平台" value="2" />
<el-option label="商户" value="3" />
<el-option label="商家客服" value="4" />
</el-select>
</el-form-item>
<el-form-item label="操作时间:">
<el-date-picker
style="width: 380px; margin-right: 20px"
v-model="timeVal"
type="datetimerange"
placeholder="选择日期"
value-format="yyyy/MM/dd HH:mm:ss"
clearable
@change="onchangeTime"
>
</el-date-picker>
</el-form-item>
<!-- <div>
<el-button type="primary" size="small" @click="onOrderLog(orderId)">查询</el-button>
</div> -->
</div>
</el-form>
</div>
<el-table :data="tableDataLog.data" size="small">
<el-table-column prop="order_id" label="订单编号" min-width="200">
<template slot-scope="scope">
<span>{{ scope.row.order_sn }}</span>
</template>
</el-table-column>
<el-table-column label="操作记录" min-width="200">
<template slot-scope="scope">
<span>{{ scope.row.change_message }}</span>
</template>
</el-table-column>
<el-table-column label="操作角色" min-width="150">
<template slot-scope="scope">
<div class="tab">
<div>{{ operationType(scope.row.user_type) }}</div>
</div>
</template>
</el-table-column>
<el-table-column label="操作人" min-width="150">
<template slot-scope="scope">
<div class="tab">
<div>{{ scope.row.nickname }}</div>
</div>
</template>
</el-table-column>
<el-table-column label="操作时间" min-width="150">
<template slot-scope="scope">
<div class="tab">
<div class="line1">{{ scope.row.change_time }}</div>
</div>
</template>
</el-table-column>
</el-table>
<div class="block">
2024-08-26 10:29:07 +08:00
<el-pagination
:page-size="tableFromLog.limit"
:current-page="tableFromLog.page"
layout="prev, pager, next, jumper"
:total="tableDataLog.total"
@size-change="handleSizeChangeLog"
@current-change="pageChangeLog"
/>
2024-03-22 15:50:26 +08:00
</div>
</el-tab-pane>
2024-08-26 10:29:07 +08:00
<el-tab-pane
v-if="childOrder.length > 0"
label="关联订单"
name="subOrder"
>
2024-03-22 15:50:26 +08:00
<el-table :data="childOrder">
2024-08-26 10:29:07 +08:00
<el-table-column label="订单编号" prop="order_sn" min-width="150">
<template slot-scope="scope">
2024-03-22 15:50:26 +08:00
<div>{{ scope.row.order_sn }}</div>
</template>
</el-table-column>
<el-table-column label="商品信息" min-width="200">
<template slot-scope="scope">
<div
v-for="(val, i) in scope.row.orderProduct"
:key="i"
class="tabBox acea-row row-middle"
>
<div class="demo-image__preview">
<el-image
:src="val.cart_info.product.image"
:preview-src-list="[val.cart_info.product.image]"
/>
</div>
2024-08-26 10:29:07 +08:00
<span class="tabBox_tit"
>{{ val.cart_info.product.store_name + " | "
}}{{ val.cart_info.productAttr.sku }}</span
>
2024-03-22 15:50:26 +08:00
<span class="tabBox_pice">
2024-08-26 10:29:07 +08:00
{{
"¥" +
val.cart_info.productAttr.price +
" x " +
val.product_num
}}
2024-03-22 15:50:26 +08:00
<em
2024-08-26 10:29:07 +08:00
v-if="
val.refund_num < val.product_num && val.refund_num > 0
"
2024-03-22 15:50:26 +08:00
style="color: red;font-style: normal;"
2024-08-26 10:29:07 +08:00
>(-{{ val.product_num - val.refund_num }})</em
>
2024-03-22 15:50:26 +08:00
</span>
</div>
</template>
2024-08-26 10:29:07 +08:00
</el-table-column>
2024-03-22 15:50:26 +08:00
<el-table-column label="实际支付" min-width="80" align="center">
<template slot-scope="scope">
<span>{{ scope.row.pay_price }}</span>
</template>
</el-table-column>
2024-08-26 10:29:07 +08:00
<el-table-column
label="订单生成时间"
prop="create_time"
min-width="120"
/>
2024-03-22 15:50:26 +08:00
<el-table-column label="操作" min-width="50" fixed="right">
<template slot-scope="scope">
2024-08-26 10:29:07 +08:00
<el-button
type="text"
size="small"
@click="getChildOrderDetail(scope.row.order_id)"
>详情</el-button
>
2024-03-22 15:50:26 +08:00
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</el-drawer>
<el-dialog
title="物流查询"
:visible.sync="dialogLogistics"
width="350px"
v-if="dialogLogistics"
>
<div class="logistics acea-row row-top">
2024-08-26 10:29:07 +08:00
<div class="logistics_img">
<img src="@/assets/images/expressi.jpg" />
</div>
2024-03-22 15:50:26 +08:00
<div class="logistics_cent">
<span>物流公司{{ orderDetailList.delivery_name }}</span>
<span>物流单号{{ orderDetailList.delivery_id }}</span>
</div>
</div>
<div class="acea-row row-column-around trees-coadd">
<div class="scollhide">
2024-08-26 10:29:07 +08:00
<el-timeline v-if="result.length > 0">
<el-timeline-item v-for="(item, i) in result" :key="i">
2024-03-22 15:50:26 +08:00
<p class="time" v-text="item.time" />
<p class="content" v-text="item.status" />
</el-timeline-item>
</el-timeline>
</div>
</div>
</el-dialog>
<!--订单核销-->
<order-cancellate ref="orderCancellate" @getList="getList" />
</div>
</template>
<script>
import {
getExpress,
orderDeliveryApi,
orderDetailApi,
orderLogApi,
orderPrintApi,
orderRemarkApi,
getChildrenOrderApi
2024-08-26 10:29:07 +08:00
} from "@/api/order";
import orderCancellate from "./orderCancellate";
2024-03-22 15:50:26 +08:00
export default {
2024-08-26 10:29:07 +08:00
components: {
2024-03-22 15:50:26 +08:00
orderCancellate
},
props: {
drawer: {
type: Boolean,
2024-08-26 10:29:07 +08:00
default: false
}
2024-03-22 15:50:26 +08:00
},
data() {
return {
loading: true,
2024-08-26 10:29:07 +08:00
orderId: "",
direction: "rtl",
activeName: "detail",
2024-03-22 15:50:26 +08:00
goodsList: [],
timeVal: [],
orderConfirm: false,
sendGoods: false,
dialogLogistics: false,
confirmReceiptForm: {
2024-08-26 10:29:07 +08:00
id: ""
2024-03-22 15:50:26 +08:00
},
tableDataLog: {
data: [],
total: 0
},
contentList: [],
nicknameList: [],
result: [],
orderDetailList: {
user: {
2024-08-26 10:29:07 +08:00
real_name: ""
2024-03-22 15:50:26 +08:00
},
groupOrder: {
2024-08-26 10:29:07 +08:00
group_order_sn: ""
}
2024-03-22 15:50:26 +08:00
},
2024-08-26 10:29:07 +08:00
orderImg: require("@/assets/images/order_icon.png"),
2024-03-22 15:50:26 +08:00
tableFromLog: {
2024-08-26 10:29:07 +08:00
user_type: "",
2024-03-22 15:50:26 +08:00
date: [],
page: 1,
limit: 10
},
childOrder: []
};
},
2024-08-26 10:29:07 +08:00
filters: {},
2024-03-22 15:50:26 +08:00
methods: {
// 具体日期
onchangeTime(e) {
2024-08-26 10:29:07 +08:00
this.timeVal = e;
this.tableFromLog.date = e ? this.timeVal.join("-") : "";
this.onOrderLog(this.orderId);
2024-03-22 15:50:26 +08:00
},
handleClose() {
2024-08-26 10:29:07 +08:00
this.activeName = "detail";
this.$emit("closeDrawer");
2024-03-22 15:50:26 +08:00
this.sendGoods = false;
this.orderRemark = false;
},
openLogistics() {
2024-08-26 10:29:07 +08:00
this.getOrderData();
this.dialogLogistics = true;
2024-03-22 15:50:26 +08:00
},
// 订单核销
orderCancellation() {
2024-08-26 10:29:07 +08:00
const that = this;
2024-03-22 15:50:26 +08:00
that.$refs.orderCancellate.dialogVisible = true;
2024-08-26 10:29:07 +08:00
that.$refs.orderCancellate.productDetails(
that.orderDetailList.verify_code
);
2024-03-22 15:50:26 +08:00
that.$refs.orderCancellate.isColum = true;
},
// 发送货
2024-08-26 10:29:07 +08:00
send() {
this.$emit("send", this.orderDetailList, this.orderId);
2024-03-22 15:50:26 +08:00
},
// 小票打印
printOrder() {
orderPrintApi(this.orderId)
2024-08-26 10:29:07 +08:00
.then(res => {
this.$message.success(res.message);
2024-03-22 15:50:26 +08:00
})
2024-08-26 10:29:07 +08:00
.catch(res => {
this.$message.error(res.message);
});
2024-03-22 15:50:26 +08:00
},
2024-08-26 10:29:07 +08:00
// 备注
2024-03-22 15:50:26 +08:00
onOrderMark() {
2024-08-26 10:29:07 +08:00
this.$modalForm(orderRemarkApi(this.orderId)).then(() =>
this.getInfo(this.orderId)
);
2024-03-22 15:50:26 +08:00
},
2024-08-26 10:29:07 +08:00
//下拉
2024-03-22 15:50:26 +08:00
handleCommand(command) {
2024-08-26 10:29:07 +08:00
if (command == "mark") {
2024-03-22 15:50:26 +08:00
this.onOrderMark();
2024-08-26 10:29:07 +08:00
} else if (command == "modify") {
2024-03-22 15:50:26 +08:00
this.reSend(this.orderId);
2024-08-26 10:29:07 +08:00
} else {
this.refund(this.orderId);
2024-03-22 15:50:26 +08:00
}
},
// 退款
2024-08-26 10:29:07 +08:00
refund(id) {
this.$emit("onOrderRefund", id);
2024-03-22 15:50:26 +08:00
},
// 修改发货信息
2024-08-26 10:29:07 +08:00
reSend(id) {
this.$emit("reSend", id);
2024-03-22 15:50:26 +08:00
},
// 修改订单信息
getList() {
2024-08-26 10:29:07 +08:00
this.$emit("getList", "");
2024-03-22 15:50:26 +08:00
},
// 获取子订单信息
getChildOrder() {
this.loading = true;
getChildrenOrderApi(this.orderId)
2024-08-26 10:29:07 +08:00
.then(res => {
this.activeName = "detail";
this.childOrder = res.data;
setTimeout(() => {
2024-03-22 15:50:26 +08:00
this.loading = false;
2024-08-26 10:29:07 +08:00
}, 500);
2024-03-22 15:50:26 +08:00
})
2024-08-26 10:29:07 +08:00
.catch(res => {
this.$message.error(res.message);
});
2024-03-22 15:50:26 +08:00
},
2024-08-26 10:29:07 +08:00
// 获取订单物流信息
2024-03-22 15:50:26 +08:00
getOrderData() {
2024-08-26 10:29:07 +08:00
getExpress(this.orderId)
.then(async res => {
this.result = res.data;
})
.catch(res => {
this.$message.error(res.message);
});
2024-03-22 15:50:26 +08:00
},
//发送货
toSendGoods() {
this.sendGoods = true;
},
getDelivery() {
orderDeliveryApi(this.orderId)
2024-08-26 10:29:07 +08:00
.then(res => {
2024-03-22 15:50:26 +08:00
this.$message.success(res.message);
this.sendGoods = false;
})
2024-08-26 10:29:07 +08:00
.catch(res => {
2024-03-22 15:50:26 +08:00
this.$message.error(res.message);
});
},
2024-08-26 10:29:07 +08:00
getChildOrderDetail(id) {
2024-03-22 15:50:26 +08:00
this.getInfo(id);
},
getInfo(id) {
this.loading = true;
this.orderId = id;
orderDetailApi(id)
2024-08-26 10:29:07 +08:00
.then(res => {
2024-03-22 15:50:26 +08:00
this.drawer = true;
this.orderDetailList = res.data;
2024-08-26 10:29:07 +08:00
this.getChildOrder();
2024-03-22 15:50:26 +08:00
})
2024-08-26 10:29:07 +08:00
.catch(res => {
2024-03-22 15:50:26 +08:00
this.$message.error(res.message);
});
},
tabClick(tab) {
2024-08-26 10:29:07 +08:00
if (tab.name === "orderList") {
this.onOrderLog(this.orderId);
2024-03-22 15:50:26 +08:00
}
},
2024-08-26 10:29:07 +08:00
onOrderLog(id) {
orderLogApi(id, this.tableFromLog).then(res => {
this.tableDataLog.data = res.data.list;
this.tableDataLog.total = res.data.count;
2024-03-22 15:50:26 +08:00
});
},
pageChangeLog(page) {
2024-08-26 10:29:07 +08:00
this.tableFromLog.page = page;
this.onOrderLog(this.orderId);
2024-03-22 15:50:26 +08:00
},
handleSizeChangeLog(val) {
2024-08-26 10:29:07 +08:00
this.tableFromLog.limit = val;
this.onOrderLog(this.orderId);
2024-03-22 15:50:26 +08:00
},
operationType(type) {
if (type == 0) {
2024-08-26 10:29:07 +08:00
return "系统";
2024-03-22 15:50:26 +08:00
} else if (type == 1) {
2024-08-26 10:29:07 +08:00
return "用户";
2024-03-22 15:50:26 +08:00
} else if (type == 2) {
2024-08-26 10:29:07 +08:00
return "平台";
2024-03-22 15:50:26 +08:00
} else if (type == 3) {
2024-08-26 10:29:07 +08:00
return "商户";
2024-03-22 15:50:26 +08:00
} else if (type == 4) {
2024-08-26 10:29:07 +08:00
return "商家客服";
2024-03-22 15:50:26 +08:00
} else {
2024-08-26 10:29:07 +08:00
return "未知";
2024-03-22 15:50:26 +08:00
}
2024-08-26 10:29:07 +08:00
}
}
2024-03-22 15:50:26 +08:00
};
</script>
<style lang="scss" scoped>
.head {
padding: 20px 35px;
.full {
display: flex;
align-items: center;
.order_icon {
width: 60px;
height: 60px;
}
.iconfont {
color: var(--prev-color-primary);
&.sale-after {
color: #90add5;
}
}
.text {
align-self: center;
flex: 1;
min-width: 0;
padding-left: 12px;
font-size: 13px;
color: #606266;
.title {
margin-bottom: 10px;
font-weight: 500;
font-size: 16px;
line-height: 16px;
color: rgba(0, 0, 0, 0.85);
}
.order-num {
padding-top: 10px;
white-space: nowrap;
}
}
}
.list {
display: flex;
margin-top: 20px;
overflow: hidden;
list-style: none;
padding: 0;
.item {
flex: none;
width: 200px;
font-size: 14px;
line-height: 14px;
color: rgba(0, 0, 0, 0.85);
.title {
margin-bottom: 12px;
font-size: 13px;
line-height: 13px;
color: #666666;
}
.value1 {
color: #f56022;
}
.value2 {
color: #1bbe6b;
}
.value3 {
2024-08-26 10:29:07 +08:00
color: #437ffd;
2024-03-22 15:50:26 +08:00
}
.value4 {
color: #6a7b9d;
}
.value5 {
color: #f5222d;
}
}
}
}
.el-tabs--border-card {
box-shadow: none;
border-bottom: none;
}
.section {
padding: 20px 0 8px;
border-bottom: 1px dashed #eeeeee;
.title {
padding-left: 10px;
border-left: 3px solid var(--prev-color-primary);
font-size: 15px;
line-height: 15px;
color: #303133;
}
.list {
display: flex;
flex-wrap: wrap;
list-style: none;
padding: 0;
}
.item {
flex: 0 0 calc(100% / 3);
display: flex;
margin-top: 16px;
font-size: 13px;
color: #606266;
align-items: center;
&:nth-child(3n + 1) {
padding-right: 20px;
}
&:nth-child(3n + 2) {
padding-right: 10px;
padding-left: 10px;
}
&:nth-child(3n + 3) {
padding-left: 20px;
}
}
.value {
flex: 1;
image {
display: inline-block;
width: 40px;
height: 40px;
margin: 0 12px 12px 0;
vertical-align: middle;
}
}
}
.tab {
display: flex;
align-items: center;
.el-image {
width: 36px;
height: 36px;
margin-right: 10px;
}
}
::v-deep .el-drawer__body {
overflow: auto;
}
.gary {
color: #aaa;
}
2024-08-26 10:29:07 +08:00
.logistics {
2024-03-22 15:50:26 +08:00
align-items: center;
padding: 10px 0px;
2024-08-26 10:29:07 +08:00
.logistics_img {
2024-03-22 15:50:26 +08:00
width: 45px;
height: 45px;
margin-right: 12px;
2024-08-26 10:29:07 +08:00
img {
2024-03-22 15:50:26 +08:00
width: 100%;
height: 100%;
}
}
2024-08-26 10:29:07 +08:00
.logistics_cent {
span {
2024-03-22 15:50:26 +08:00
display: block;
font-size: 12px;
}
}
}
.tabBox_tit {
width: 53%;
font-size: 12px !important;
margin: 0 2px 0 10px;
letter-spacing: 1px;
padding: 5px 0;
box-sizing: border-box;
}
</style>