|
|
@@ -1,214 +1,356 @@
|
|
|
<template>
|
|
|
<view class="app-content">
|
|
|
<view class="page-det">
|
|
|
-
|
|
|
+ <!-- 售后付款单提示 -->
|
|
|
<view class="after-sale-tip" v-if="orderInfo.forward == 1" @click="goPreOrder(orderInfo)">
|
|
|
<view class="tip-content">
|
|
|
<text class="tip-text">本单是售后付款单<block v-if="!$util.isEmpty(orderInfo.forwardMap)">,点击查看原订单</block></text>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 商品信息模块 -->
|
|
|
<view class="module-com">
|
|
|
<view class="module-tit">商品信息</view>
|
|
|
<view class="module-det">
|
|
|
<block v-if="!$util.isEmpty(orderInfo.goodsInfoList)">
|
|
|
- <detailGoods v-for="(items, subIndex) in orderInfo.goodsInfoList" :key="subIndex" :info="items"></detailGoods>
|
|
|
+ <detailGoods
|
|
|
+ v-for="(items, subIndex) in orderInfo.goodsInfoList"
|
|
|
+ :key="subIndex"
|
|
|
+ :info="items">
|
|
|
+ </detailGoods>
|
|
|
</block>
|
|
|
<block v-if="!$util.isEmpty(orderInfo.itemInfoList)">
|
|
|
- <detailItem v-for="(items, subIndex) in orderInfo.itemInfoList" :key="subIndex" :info="items"></detailItem>
|
|
|
+ <detailItem
|
|
|
+ v-for="(items, subIndex) in orderInfo.itemInfoList"
|
|
|
+ :key="subIndex"
|
|
|
+ :info="items">
|
|
|
+ </detailItem>
|
|
|
</block>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 收花人信息模块 -->
|
|
|
<view class="module-com order-msg" v-if="orderInfo.forward == 0">
|
|
|
<view class="module-tit">
|
|
|
- 收花人信息<text v-if="orderInfo.fromType == 4 && !$util.isEmpty(orderInfo.thirdSn)">(美团编号:{{orderInfo.thirdSn}})</text>
|
|
|
- <button class="admin-button-com mini-btn" @click="edit(orderInfo)" v-if="orderInfo.status == 1 || orderInfo.status == 2" style="float:right;">修改</button>
|
|
|
- <button class="admin-button-com mini-btn default" v-else style="float:right;">修改</button>
|
|
|
+ <text class="module-tit__text">
|
|
|
+ 收花人信息
|
|
|
+ <text v-if="orderInfo.fromType == 4 && !$util.isEmpty(orderInfo.thirdSn)">(美团编号:{{orderInfo.thirdSn}})</text>
|
|
|
+ </text>
|
|
|
+ <view class="module-tit__actions">
|
|
|
+ <button
|
|
|
+ class="admin-button-com mini-btn"
|
|
|
+ @click="edit(orderInfo)"
|
|
|
+ v-if="orderInfo.status == 1 || orderInfo.status == 2">
|
|
|
+ 修改
|
|
|
+ </button>
|
|
|
+ <button
|
|
|
+ class="admin-button-com mini-btn default"
|
|
|
+ v-else>
|
|
|
+ 修改
|
|
|
+ </button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<view class="module-det">
|
|
|
-
|
|
|
<view class="order-msg-blo">
|
|
|
-
|
|
|
+ <!-- 备注信息 -->
|
|
|
<view class="msg-list" v-if="!$util.isEmpty(orderInfo.remark)">
|
|
|
<view class="label">备注:</view>
|
|
|
- <view class="value" style="color:red;font-weight:bold;width:580upx;min-height:28upx;height:auto;word-break:break-all;">{{orderInfo.remark}}</view>
|
|
|
+ <view class="value remark-box">{{orderInfo.remark}}</view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 收花人信息 -->
|
|
|
<view class="msg-list">
|
|
|
- <view class="label">收花:</view>
|
|
|
- <view class="value">{{ orderInfo.receiveUserName }} <text style="margin-left:18upx;" v-if="!$util.isEmpty(orderInfo.receiveMobile)" @click="callUp(orderInfo.receiveMobile)">{{orderInfo.receiveMobile}}</text></view>
|
|
|
+ <view class="label">收花姓名:</view>
|
|
|
+ <view class="value">
|
|
|
+ {{ orderInfo.receiveUserName }}
|
|
|
+ <text
|
|
|
+ class="ml-18 phone-link link-primary"
|
|
|
+ v-if="!$util.isEmpty(orderInfo.receiveMobile)"
|
|
|
+ @click="callUp(orderInfo.receiveMobile)">{{orderInfo.receiveMobile}}</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 地址信息 -->
|
|
|
<view class="msg-list">
|
|
|
- <view class="label">地址:</view>
|
|
|
- <view class="value">{{ orderInfo.fullAddress }}<text v-if="!$util.isEmpty(orderInfo.showAddress)">({{orderInfo.showAddress}})</text></view>
|
|
|
+ <view class="label">收花地址:</view>
|
|
|
+ <view class="value">
|
|
|
+ <view>{{orderInfo.dist}}{{orderInfo.address}}{{orderInfo.floor}}</view>
|
|
|
+ <view v-if="orderInfo.fullAddress!=orderInfo.showAddress && orderInfo.showAddress!=''" style="color:#a7a0a0;">
|
|
|
+ {{ orderInfo.showAddress }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 匿名派送 -->
|
|
|
<view class="msg-list" v-if="orderInfo.anonymity && Number(orderInfo.anonymity) == 1">
|
|
|
<view class="label">要求:</view>
|
|
|
- <view class="value" style="font-weight:bold;color:red;">匿名派送</view>
|
|
|
+ <view class="value"><text class="tag tag--danger">匿名派送</text></view>
|
|
|
</view>
|
|
|
- <view class="msg-list" v-if="orderInfo.sendType != 1 ">
|
|
|
- <view class="label">时间:</view>
|
|
|
+
|
|
|
+ <!-- 送达时间 -->
|
|
|
+ <view class="msg-list" v-if="orderInfo.sendType != 1">
|
|
|
+ <view class="label">配送时间:</view>
|
|
|
<view class="value">
|
|
|
<text v-if="orderInfo.reachDate == orderInfo.today">今天</text>
|
|
|
<text v-else-if="orderInfo.reachDate == orderInfo.tomorrow">明天</text>
|
|
|
<text v-else>{{orderInfo.reachDate ? orderInfo.reachDate.substr(5,11):''}}</text>
|
|
|
- <text style="margin-left:10upx;">{{orderInfo.reachPeriod||''}}前</text>
|
|
|
+ <text class="ml-10">{{orderInfo.reachPeriod||''}}前</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 寄语信息 -->
|
|
|
<view class="msg-list">
|
|
|
- <view class="label">寄语:</view>
|
|
|
+ <view class="label">贺卡内容:</view>
|
|
|
<view class="value">{{ orderInfo.cardInfo || '' }}</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 自取信息 -->
|
|
|
<view class="msg-list" v-if="orderInfo.sendType == 1">
|
|
|
<view class="label">类型:</view>
|
|
|
- <view class="value" style="font-weight:bold;color:red;">到店自取</view>
|
|
|
+ <view class="value"><text class="tag tag--danger">到店自取</text></view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 订花人信息 -->
|
|
|
<view class="msg-list" v-if="!$util.isEmpty(orderInfo.bookName)">
|
|
|
- <view class="label" @click.stop="getCustomInfo(orderInfo)">订花:</view>
|
|
|
- <view class="value" @click.stop="getCustomInfo(orderInfo)">{{orderInfo.bookName}} <text style="margin-left:22upx;color:blue;" v-if="!$util.isEmpty(orderInfo.bookMobile)" @click="callUp(orderInfo.bookMobile)">{{orderInfo.bookMobile}}</text></view>
|
|
|
+ <view class="label" @click.stop="getCustomInfo(orderInfo)">订花姓名:</view>
|
|
|
+ <view class="value" @click.stop="getCustomInfo(orderInfo)">
|
|
|
+ {{orderInfo.bookName}}
|
|
|
+ <text
|
|
|
+ class="ml-22 link-primary phone-link"
|
|
|
+ v-if="!$util.isEmpty(orderInfo.bookMobile)"
|
|
|
+ @click.stop="callUp(orderInfo.bookMobile)">{{orderInfo.bookMobile}}</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 任务模块 -->
|
|
|
<view class="module-com" v-if="!$util.isEmpty(orderInfo.workList)">
|
|
|
<view class="module-tit">任务</view>
|
|
|
<view class="module-det">
|
|
|
<block v-if="!$util.isEmpty(orderInfo.workList)">
|
|
|
- <detailWork v-for="(items, subIndex) in orderInfo.workList" :key="subIndex" :info="items"></detailWork>
|
|
|
+ <detailWork
|
|
|
+ v-for="(items, subIndex) in orderInfo.workList"
|
|
|
+ :key="subIndex"
|
|
|
+ :info="items">
|
|
|
+ </detailWork>
|
|
|
</block>
|
|
|
-
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 订单信息模块 -->
|
|
|
<view class="module-com order-msg">
|
|
|
<view class="module-tit">
|
|
|
- <text>订单信息</text>
|
|
|
- <block v-if="orderInfo.payStatus == 1 && orderInfo.forward == 0">
|
|
|
- <text style="float:right;color: #3385ff;font-weight:normal;" @click.stop="goRefund()">发起售后</text>
|
|
|
- </block>
|
|
|
+ <text class="module-tit__text">订单信息</text>
|
|
|
+ <view class="module-tit__actions" v-if="orderInfo.payStatus == 1 && orderInfo.forward == 0">
|
|
|
+ <text class="link-primary" @click.stop="goRefund()">发起售后</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<view class="module-det">
|
|
|
<view class="order-msg-blo">
|
|
|
+ <!-- 付款类型 -->
|
|
|
<view class="msg-list" v-if="orderInfo.payStatus == 1">
|
|
|
- <view class="label">类型:</view>
|
|
|
- <view class="value" v-if="orderInfo.onlinePay == 2" style="color:#3385ff;font-weight:bold;">线上付款</view>
|
|
|
+ <view class="label">付款类型:</view>
|
|
|
+ <view class="value" v-if="orderInfo.onlinePay == 2"><text class="tag tag--primary">线上付款</text></view>
|
|
|
<view class="value" v-else>线下付款</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 付款方式 -->
|
|
|
<view class="msg-list" v-if="orderInfo.payStatus == 1">
|
|
|
- <view class="label">方式:</view>
|
|
|
+ <view class="label">付款方式:</view>
|
|
|
<block v-if="orderInfo.payWay==3">
|
|
|
- <view class="value" v-if="Number(orderInfo.remainDebtPrice)>0" style="color:red;font-weight:bold;">
|
|
|
+ <view
|
|
|
+ class="value"
|
|
|
+ v-if="Number(orderInfo.remainDebtPrice)>0"
|
|
|
+ style="color:red;font-weight:bold;">
|
|
|
赊账
|
|
|
</view>
|
|
|
- <view v-else class="value" style="color:#3385ff;font-weight:bold;">
|
|
|
+ <view
|
|
|
+ v-else
|
|
|
+ class="value"
|
|
|
+ style="color:#3385ff;font-weight:bold;">
|
|
|
赊账<text>(已结清)</text>
|
|
|
</view>
|
|
|
</block>
|
|
|
<view class="value" v-else>
|
|
|
- {{ orderInfo.payWay == 0 ? '微信支付':orderInfo.payWay==1?'支付宝':orderInfo.payWay==2?'余额':orderInfo.payWay==4?'现金':orderInfo.payWay==5 ?'银行卡' :'其它'}}
|
|
|
- <text v-if="Number(orderInfo.mainPay)>0 && Number(orderInfo.cash)>0">(现金付了¥{{ orderInfo.cash ? parseFloat(orderInfo.cash) : 0 }})</text>
|
|
|
+ {{ orderInfo.payWay == 0 ? '微信支付':
|
|
|
+ orderInfo.payWay == 1 ? '支付宝':
|
|
|
+ orderInfo.payWay == 2 ? '余额':
|
|
|
+ orderInfo.payWay == 4 ? '现金':
|
|
|
+ orderInfo.payWay == 5 ? '银行卡':'其它'}}
|
|
|
+ <text v-if="Number(orderInfo.mainPay)>0 && Number(orderInfo.cash)>0">
|
|
|
+ (现金付了¥{{ orderInfo.cash ? parseFloat(orderInfo.cash) : 0 }})
|
|
|
+ </text>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="msg-list" v-if="Number(orderInfo.remainDebtPrice)>0" style="position:relative;">
|
|
|
- <view class="label">欠款:</view>
|
|
|
+
|
|
|
+ <!-- 欠款信息 -->
|
|
|
+ <view
|
|
|
+ class="msg-list rel"
|
|
|
+ v-if="Number(orderInfo.remainDebtPrice)>0">
|
|
|
+ <view class="label">欠款金额:</view>
|
|
|
<view class="value" style="color:red;font-weight:bold;">
|
|
|
¥{{ orderInfo.remainDebtPrice ? parseFloat(orderInfo.remainDebtPrice) : 0 }}
|
|
|
- </view>
|
|
|
- <button class="admin-button-com mini-btn" v-if="Number(orderInfo.remainDebtPrice)>0" @click="clear(orderInfo)" style="position:absolute;right:0upx;top:0;border:1upx solid red;color:red;">结清</button>
|
|
|
+ </view>
|
|
|
+ <button
|
|
|
+ class="admin-button-com mini-btn btn-outline-danger abs-tr"
|
|
|
+ v-if="Number(orderInfo.remainDebtPrice)>0"
|
|
|
+ @click="clear(orderInfo)">结清</button>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 账单信息 -->
|
|
|
<view class="msg-list" v-if="!$util.isEmpty(orderInfo.orderSettleList)">
|
|
|
- <view class="label">账单:</view>
|
|
|
+ <view class="label">账单信息:</view>
|
|
|
<view class="value">
|
|
|
- <text v-for="(osItem, osIndex) in orderInfo.orderSettleList" :key="osIndex" style="margin-right:10upx;color:#3385ff;" @click="goSettle(osItem)">
|
|
|
- {{ osItem.settleSn!=''? osItem.settleSn:'结账单'+(osIndex+1) }}
|
|
|
- </text>
|
|
|
+ <text
|
|
|
+ v-for="(osItem, osIndex) in orderInfo.orderSettleList"
|
|
|
+ :key="osIndex"
|
|
|
+ class="link-primary mr-10"
|
|
|
+ @click="goSettle(osItem)">{{ osItem.settleSn!=''? osItem.settleSn:'结账单'+(osIndex+1) }}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 商品价格 -->
|
|
|
<view class="msg-list">
|
|
|
- <view class="label">商品:</view>
|
|
|
+ <view class="label">商品金额:</view>
|
|
|
<view class="value">¥{{ orderInfo.goodsPrice ? parseFloat(orderInfo.goodsPrice) : 0 }}</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 运费 -->
|
|
|
<view class="msg-list" v-if="Number(orderInfo.sendCost)>0">
|
|
|
- <view class="label">运费:</view>
|
|
|
+ <view class="label">运费金额:</view>
|
|
|
<view class="value">¥{{ orderInfo.sendCost ? parseFloat(orderInfo.sendCost) : 0 }}</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 手续费 -->
|
|
|
<view class="msg-list" v-if="Number(orderInfo.serviceFee)>0">
|
|
|
- <view class="label">手续费:</view>
|
|
|
+ <view class="label">手续费用:</view>
|
|
|
<view class="value">¥{{ orderInfo.serviceFee ? parseFloat(orderInfo.serviceFee) : 0 }}</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 包装费(劳务) -->
|
|
|
<view class="msg-list" v-if="Number(orderInfo.labourCost)>0">
|
|
|
- <view class="label">包装:</view>
|
|
|
+ <view class="label">材料费用:</view>
|
|
|
<view class="value">¥{{ orderInfo.labourCost ? parseFloat(orderInfo.labourCost) : 0 }}</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 包装费 -->
|
|
|
<view class="msg-list" v-if="Number(orderInfo.packingFee)>0">
|
|
|
- <view class="label">包装:</view>
|
|
|
+ <view class="label">包装费用:</view>
|
|
|
<view class="value">¥{{ orderInfo.packingFee ? parseFloat(orderInfo.packingFee) : 0 }}</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 原价 -->
|
|
|
<view class="msg-list">
|
|
|
<view class="label">原价:</view>
|
|
|
<view class="value">¥{{ orderInfo.prePrice ? parseFloat(orderInfo.prePrice) : 0 }}</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 优惠金额 -->
|
|
|
<view v-if="orderInfo.discountAmount > 0" class="msg-list">
|
|
|
- <view class="label">优惠:</view>
|
|
|
+ <view class="label">优惠金额:</view>
|
|
|
<view class="value">-¥{{ orderInfo.discountAmount ? parseFloat(orderInfo.discountAmount) : 0 }}</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 应付金额 -->
|
|
|
<view class="msg-list">
|
|
|
- <view class="label">应付:</view>
|
|
|
+ <view class="label">应付金额:</view>
|
|
|
<view class="value">¥{{ orderInfo.orderPrice ? parseFloat(orderInfo.orderPrice) : 0 }}</view>
|
|
|
</view>
|
|
|
- <view class="msg-list" v-if="Number(orderInfo.tkPrice)>0" style="position:relative;">
|
|
|
- <view class="label">退款:</view>
|
|
|
- <view class="value" style="color:red;font-weight:bold;">-¥{{ orderInfo.tkPrice ? parseFloat(orderInfo.tkPrice) : 0 }}</view>
|
|
|
- <button class="admin-button-com mini-btn" @click="pageTo({url: '/admin/order/refundList',query: {orderSn: orderInfo.orderSn}})" style="position:absolute;right:0upx;top:0upx;">售后记录</button>
|
|
|
+
|
|
|
+ <!-- 退款信息 -->
|
|
|
+ <view class="msg-list rel" v-if="Number(orderInfo.tkPrice)>0">
|
|
|
+ <view class="label">退款金额:</view>
|
|
|
+ <view class="value" style="color:red;font-weight:bold;">
|
|
|
+ -¥{{ orderInfo.tkPrice ? parseFloat(orderInfo.tkPrice) : 0 }}
|
|
|
+ </view>
|
|
|
+ <button
|
|
|
+ class="admin-button-com mini-btn abs-tr"
|
|
|
+ @click="pageTo({url: '/admin/order/refundList',query: {orderSn: orderInfo.orderSn}})">售后记录</button>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 售后付款信息 -->
|
|
|
<view v-if="!$util.isEmpty(orderInfo.shOrderMap)" style="color:#856404;font-size:26upx;">
|
|
|
- 本单有售后付款:<text v-for="(shItem, shIndex) in orderInfo.shOrderMap" :key="shIndex" style="margin-right:10upx;" @click="goShOrder(shItem)">{{ shItem.shOrderSn }}</text>
|
|
|
+ 本单有售后付款:
|
|
|
+ <text
|
|
|
+ v-for="(shItem, shIndex) in orderInfo.shOrderMap"
|
|
|
+ :key="shIndex"
|
|
|
+ style="margin-right:10upx;"
|
|
|
+ @click="goShOrder(shItem)">
|
|
|
+ {{ shItem.shOrderSn }}
|
|
|
+ </text>
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 实际金额 -->
|
|
|
<view class="msg-list">
|
|
|
- <view class="label">实际:</view>
|
|
|
- <view class="value">{{orderInfo.forward==0?'':'-'}}¥{{ orderInfo.realPrice ? parseFloat(orderInfo.realPrice) : 0 }}</view>
|
|
|
+ <view class="label">实际金额:</view>
|
|
|
+ <view class="value">
|
|
|
+ {{orderInfo.forward==0?'':'-'}}¥{{ orderInfo.realPrice ? parseFloat(orderInfo.realPrice) : 0 }}
|
|
|
+ </view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 订单状态 -->
|
|
|
<view class="msg-list">
|
|
|
<view class="label">状态:</view>
|
|
|
- <view class="value">{{orderInfo.status == 1?'待付款':orderInfo.status==2?'待发货':orderInfo.status == 3?'配送中':orderInfo.status ==4?'已完成':orderInfo.status == 5?'已取消':'待付款'}}</view>
|
|
|
+ <view class="value">
|
|
|
+ {{orderInfo.status == 1 ? '待付款':
|
|
|
+ orderInfo.status == 2 ? '待发货':
|
|
|
+ orderInfo.status == 3 ? '配送中':
|
|
|
+ orderInfo.status == 4 ? '已完成':
|
|
|
+ orderInfo.status == 5 ? '已取消':'待付款'}}
|
|
|
+ </view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 订单编号 -->
|
|
|
<view class="msg-list">
|
|
|
- <view class="label">单号:</view>
|
|
|
- <view class="value">{{ orderInfo.orderSn||'' }}</view>
|
|
|
+ <view class="label">订单编号:</view>
|
|
|
+ <view class="value">{{ orderInfo.orderSn || '' }}</view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 下单时间 -->
|
|
|
<view class="msg-list">
|
|
|
- <view class="label">时间:</view>
|
|
|
+ <view class="label">下单时间:</view>
|
|
|
<view class="value">{{ orderInfo.addTime ? orderInfo.addTime.substr(5,11) : ''}}</view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 过期时间 -->
|
|
|
<view class="msg-list" v-if="orderInfo.status == 1">
|
|
|
- <view class="label">过期:</view>
|
|
|
- <view class="value">{{ orderInfo.deadline?orderInfo.deadline:''}}</view>
|
|
|
+ <view class="label">过期时间:</view>
|
|
|
+ <view class="value">{{ orderInfo.deadline ? orderInfo.deadline : ''}}</view>
|
|
|
</view>
|
|
|
-
|
|
|
</view>
|
|
|
</view>
|
|
|
-
|
|
|
</view>
|
|
|
-
|
|
|
</view>
|
|
|
+
|
|
|
+ <!-- 底部操作按钮 -->
|
|
|
<view class="page-btn app-footer">
|
|
|
- <view class="flex-center"> </view>
|
|
|
+ <view class="flex-center"></view>
|
|
|
<view class="operate-btn-wrap">
|
|
|
- <button class="admin-button-com middle" @click.stop="cancelFn(orderInfo)" v-if="orderInfo.status == 1">取消</button>
|
|
|
- <button class="admin-button-com middle" @click.stop="goScan(orderInfo)" v-if="orderInfo.status == 1">扫码收款</button>
|
|
|
- <button class="admin-button-com middle" @click.stop="printOrder(orderInfo)" v-if="orderInfo.payStatus == 1">打印</button>
|
|
|
+ <button
|
|
|
+ class="admin-button-com middle"
|
|
|
+ @click.stop="cancelFn(orderInfo)"
|
|
|
+ v-if="orderInfo.status == 1">
|
|
|
+ 取消
|
|
|
+ </button>
|
|
|
+ <button
|
|
|
+ class="admin-button-com middle"
|
|
|
+ @click.stop="goScan(orderInfo)"
|
|
|
+ v-if="orderInfo.status == 1">
|
|
|
+ 扫码收款
|
|
|
+ </button>
|
|
|
+ <button
|
|
|
+ class="admin-button-com middle"
|
|
|
+ @click.stop="printOrder(orderInfo)"
|
|
|
+ v-if="orderInfo.payStatus == 1">
|
|
|
+ 打印
|
|
|
+ </button>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</template>
|
|
|
+
|
|
|
<script>
|
|
|
import detailGoods from "./components/detail-goods.vue";
|
|
|
import detailWork from "./components/detail-work.vue";
|
|
|
@@ -216,171 +358,227 @@ import detailItem from "./components/detail-item.vue";
|
|
|
import AppCoupon from "@/components/app-coupon-sel";
|
|
|
import ModalModule from "@/components/plugin/modal";
|
|
|
import RateModule from "@/components/plugin/rate";
|
|
|
-import { onlinePrintOrder,cancelOrder } from '@/api/order'
|
|
|
-import { getDetB} from "@/api/order";
|
|
|
+import { onlinePrintOrder, cancelOrder } from '@/api/order'
|
|
|
+import { getDetB } from "@/api/order";
|
|
|
const commonUtil = require("@/utils/common.js");
|
|
|
import { confirmSettle } from "@/api/settle/index"
|
|
|
import { refundAmount } from "@/api/refund";
|
|
|
+
|
|
|
export default {
|
|
|
name: "detail",
|
|
|
- components: { detailGoods, AppCoupon, ModalModule, RateModule,detailItem,detailWork },
|
|
|
+ components: {
|
|
|
+ detailGoods,
|
|
|
+ AppCoupon,
|
|
|
+ ModalModule,
|
|
|
+ RateModule,
|
|
|
+ detailItem,
|
|
|
+ detailWork
|
|
|
+ },
|
|
|
+
|
|
|
data() {
|
|
|
return {
|
|
|
constant: this.$constant,
|
|
|
orderInfo: {},
|
|
|
- refreshPage:0
|
|
|
+ refreshPage: 0
|
|
|
};
|
|
|
},
|
|
|
+
|
|
|
onLoad() {
|
|
|
-
|
|
|
//返回上一页时不需要刷新
|
|
|
- let pages = getCurrentPages();
|
|
|
- let prevPage = pages[ pages.length - 2 ];
|
|
|
- prevPage.$vm.refreshPage = 0
|
|
|
-
|
|
|
+ let pages = getCurrentPages();
|
|
|
+ let prevPage = pages[pages.length - 2];
|
|
|
+ prevPage.$vm.refreshPage = 0
|
|
|
},
|
|
|
- onShow() {
|
|
|
- if(this.refreshPage == 1){
|
|
|
- this.refreshPage = 0
|
|
|
- this.init()
|
|
|
- }
|
|
|
+
|
|
|
+ onShow() {
|
|
|
+ if (this.refreshPage == 1) {
|
|
|
+ this.refreshPage = 0
|
|
|
+ this.init()
|
|
|
+ }
|
|
|
},
|
|
|
+
|
|
|
methods: {
|
|
|
- goPreOrder(info){
|
|
|
- if(!this.$util.isEmpty(info.forwardMap)){
|
|
|
- this.$util.pageTo({url:'/admin/order/detail?id='+info.forwardMap.orderId})
|
|
|
+ goPreOrder(info) {
|
|
|
+ if (!this.$util.isEmpty(info.forwardMap)) {
|
|
|
+ this.$util.pageTo({url: '/admin/order/detail?id=' + info.forwardMap.orderId})
|
|
|
}
|
|
|
},
|
|
|
- clear(item){
|
|
|
- let that = this
|
|
|
- that.$util.confirmModal({content:'确认结账?'},() => {
|
|
|
- uni.showActionSheet({
|
|
|
- itemList: ['请选择收款方式:', '微信', '支付宝','现金','银行卡'],
|
|
|
- success: function (respond) {
|
|
|
- let currentIndex = respond.tapIndex
|
|
|
- let inWay = [{name:"未选择",id:-1},{name:"微信",id:0},{name:"支付宝",id:1},{name:"现金",id:4},{name:"银行卡",id:5}]
|
|
|
- if(currentIndex > 0){
|
|
|
- let payWay = inWay[currentIndex].id
|
|
|
- let arr = [{id:item.id}]
|
|
|
+
|
|
|
+ clear(item) {
|
|
|
+ let that = this
|
|
|
+ that.$util.confirmModal({content: '确认结账?'}, () => {
|
|
|
+ uni.showActionSheet({
|
|
|
+ itemList: ['请选择收款方式:', '微信', '支付宝', '现金', '银行卡'],
|
|
|
+ success: function(respond) {
|
|
|
+ let currentIndex = respond.tapIndex
|
|
|
+ let inWay = [
|
|
|
+ {name: "未选择", id: -1},
|
|
|
+ {name: "微信", id: 0},
|
|
|
+ {name: "支付宝", id: 1},
|
|
|
+ {name: "现金", id: 4},
|
|
|
+ {name: "银行卡", id: 5}
|
|
|
+ ]
|
|
|
+ if (currentIndex > 0) {
|
|
|
+ let payWay = inWay[currentIndex].id
|
|
|
+ let arr = [{id: item.id}]
|
|
|
let str = JSON.stringify(arr)
|
|
|
- confirmSettle({id:str,payWay:payWay,customId:item.customId}).then(res=>{
|
|
|
- if(res.code == 1){
|
|
|
- that.$msg('操作成功')
|
|
|
+ confirmSettle({
|
|
|
+ id: str,
|
|
|
+ payWay: payWay,
|
|
|
+ customId: item.customId
|
|
|
+ }).then(res => {
|
|
|
+ if (res.code == 1) {
|
|
|
+ that.$msg('操作成功')
|
|
|
that.getDetailInfo()
|
|
|
- }
|
|
|
- })
|
|
|
- }else{
|
|
|
- that.$msg("请选择收款方式")
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ that.$msg("请选择收款方式")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ callUp(mobile) {
|
|
|
+ this.$util.callUp(mobile)
|
|
|
},
|
|
|
- callUp(mobile) {
|
|
|
- this.$util.callUp(mobile)
|
|
|
- },
|
|
|
- goScan(info){
|
|
|
- let actPrice = info.actPrice ? parseFloat(info.actPrice):0
|
|
|
- let orderSn = info.orderSn?info.orderSn:''
|
|
|
+
|
|
|
+ goScan(info) {
|
|
|
+ let actPrice = info.actPrice ? parseFloat(info.actPrice) : 0
|
|
|
+ let orderSn = info.orderSn ? info.orderSn : ''
|
|
|
let orderId = info.id ? info.id : 0
|
|
|
- this.$util.pageTo({url:'/admin/billing/toPay?orderId='+orderId+'&actPrice='+actPrice+'&orderSn='+orderSn,type:2})
|
|
|
+ this.$util.pageTo({
|
|
|
+ url: '/admin/billing/toPay?orderId=' + orderId + '&actPrice=' + actPrice + '&orderSn=' + orderSn,
|
|
|
+ type: 2
|
|
|
+ })
|
|
|
},
|
|
|
- cancelFn(item){
|
|
|
- this.$util.confirmModal({content:'确认取消?'},() => {
|
|
|
- cancelOrder({id:item.id}).then(res=>{
|
|
|
- if(res.code == 1){
|
|
|
+
|
|
|
+ cancelFn(item) {
|
|
|
+ this.$util.confirmModal({content: '确认取消?'}, () => {
|
|
|
+ cancelOrder({id: item.id}).then(res => {
|
|
|
+ if (res.code == 1) {
|
|
|
this.$msg('取消成功')
|
|
|
this.getDetailInfo()
|
|
|
}
|
|
|
})
|
|
|
- })
|
|
|
+ })
|
|
|
},
|
|
|
- backMoney(info){
|
|
|
- refundAmount({id:info.id}).then(res=>{
|
|
|
- if(res.code == 1){
|
|
|
- if(res.data.status == 1){
|
|
|
- this.$msg('退款成功')
|
|
|
- }else{
|
|
|
- this.$msg(res.msg)
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- printOrder(item){
|
|
|
- onlinePrintOrder({id:item.id}).then(res=>{
|
|
|
- if(res.code == 1){
|
|
|
+
|
|
|
+ backMoney(info) {
|
|
|
+ refundAmount({id: info.id}).then(res => {
|
|
|
+ if (res.code == 1) {
|
|
|
+ if (res.data.status == 1) {
|
|
|
+ this.$msg('退款成功')
|
|
|
+ } else {
|
|
|
+ this.$msg(res.msg)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ printOrder(item) {
|
|
|
+ onlinePrintOrder({id: item.id}).then(res => {
|
|
|
+ if (res.code == 1) {
|
|
|
this.$msg('操作成功')
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- goSettle(item){
|
|
|
- this.$util.pageTo({url:'/admin/settle/detail?id='+item.settleId})
|
|
|
+
|
|
|
+ goSettle(item) {
|
|
|
+ this.$util.pageTo({url: '/admin/settle/detail?id=' + item.settleId})
|
|
|
},
|
|
|
- getCustomInfo(item){
|
|
|
- this.$util.pageTo({url:'/admin/member/detail?id='+item.customId})
|
|
|
+
|
|
|
+ getCustomInfo(item) {
|
|
|
+ this.$util.pageTo({url: '/admin/member/detail?id=' + item.customId})
|
|
|
},
|
|
|
- edit(item){
|
|
|
- this.$util.pageTo({url:'/admin/order/modify?id='+item.id})
|
|
|
+
|
|
|
+ edit(item) {
|
|
|
+ this.$util.pageTo({url: '/admin/order/modify?id=' + item.id})
|
|
|
},
|
|
|
- goRefund(){
|
|
|
- this.$util.pageTo({url:'/admin/order/refund?id='+this.option.id})
|
|
|
+
|
|
|
+ goRefund() {
|
|
|
+ this.$util.pageTo({url: '/admin/order/refund?id=' + this.option.id})
|
|
|
},
|
|
|
- goShOrder(info){
|
|
|
- this.$util.pageTo({url:'/admin/order/detail?id='+info.shOrderId})
|
|
|
+
|
|
|
+ goShOrder(info) {
|
|
|
+ this.$util.pageTo({url: '/admin/order/detail?id=' + info.shOrderId})
|
|
|
},
|
|
|
+
|
|
|
init() {
|
|
|
this.getDetailInfo();
|
|
|
},
|
|
|
+
|
|
|
getDetailInfo() {
|
|
|
return getDetB({ id: this.option.id }).then(res => {
|
|
|
this.orderInfo = res.data;
|
|
|
- this.orderInfo.deadline = commonUtil.getFormatDate(this.orderInfo.deadline,'MM-dd hh:mm')
|
|
|
+ this.orderInfo.deadline = commonUtil.getFormatDate(this.orderInfo.deadline, 'MM-dd hh:mm')
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
+
|
|
|
<style lang="scss" scoped>
|
|
|
.app-content {
|
|
|
- padding-bottom:120upx;
|
|
|
+ padding-bottom: 120upx;
|
|
|
}
|
|
|
+
|
|
|
.page-det {
|
|
|
width: 94%;
|
|
|
margin: 0 auto;
|
|
|
position: relative;
|
|
|
top: 20upx;
|
|
|
+
|
|
|
.order-msg {
|
|
|
.order-msg-blo {
|
|
|
font-size: 28upx;
|
|
|
padding: 20upx 0;
|
|
|
border-top: 1px solid $borderColor;
|
|
|
+
|
|
|
.msg-list {
|
|
|
display: flex;
|
|
|
justify-content: flex-start;
|
|
|
margin: 16upx 0;
|
|
|
+
|
|
|
.label {
|
|
|
color: #999999;
|
|
|
+ width: 160upx;
|
|
|
+ flex-shrink: 0;
|
|
|
+ text-align: right;
|
|
|
+ padding-right: 12upx;
|
|
|
+ }
|
|
|
+ .value {
|
|
|
+ flex: 1;
|
|
|
+ line-height: 1.6;
|
|
|
+ word-break: break-all;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
& .order-msg-blo:first-child {
|
|
|
border-top: none;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.page-btn {
|
|
|
@include disFlex(center, space-between);
|
|
|
padding: 0 30upx;
|
|
|
+
|
|
|
.app-price {
|
|
|
margin-bottom: 8upx;
|
|
|
margin-left: 4upx;
|
|
|
}
|
|
|
+
|
|
|
.red {
|
|
|
width: 270upx;
|
|
|
}
|
|
|
+
|
|
|
.default {
|
|
|
width: 260upx;
|
|
|
}
|
|
|
+
|
|
|
.operate-btn-wrap {
|
|
|
.admin-button-com {
|
|
|
margin-left: 30upx;
|
|
|
@@ -388,17 +586,34 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.module-com {
|
|
|
border-radius: 10upx;
|
|
|
background-color: #fff;
|
|
|
padding: 0 20upx;
|
|
|
box-shadow: 0upx 6upx 16upx #ddd;
|
|
|
margin-bottom: 20upx;
|
|
|
+
|
|
|
.module-tit {
|
|
|
padding: 20upx 0;
|
|
|
font-size: 28upx;
|
|
|
font-weight: 600;
|
|
|
border-bottom: 1px solid $borderColor;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+
|
|
|
+ .module-tit__text {
|
|
|
+ display: inline-flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 10upx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .module-tit__actions {
|
|
|
+ display: inline-flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 16upx;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -418,6 +633,7 @@ export default {
|
|
|
justify-content: center;
|
|
|
align-items: center;
|
|
|
width: 100%;
|
|
|
+
|
|
|
.tip-text {
|
|
|
font-size: 28upx;
|
|
|
color: #856404;
|
|
|
@@ -427,4 +643,38 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+/* 通用工具类 */
|
|
|
+.ml-10 { margin-left: 10upx; }
|
|
|
+.ml-18 { margin-left: 18upx; }
|
|
|
+.ml-22 { margin-left: 22upx; }
|
|
|
+.mr-10 { margin-right: 10upx; }
|
|
|
+.rel { position: relative; }
|
|
|
+.abs-tr { position: absolute; right: 0upx; top: 0upx; }
|
|
|
+
|
|
|
+/* 链接与强调 */
|
|
|
+.link-primary { color: #3385ff; }
|
|
|
+.phone-link { text-decoration: underline; }
|
|
|
+
|
|
|
+/* 标签与状态 */
|
|
|
+.tag { display: inline-block; padding: 2upx 8upx; border-radius: 6upx; font-size: 24upx; }
|
|
|
+.tag--primary { background: #e8f2ff; color: #3385ff; }
|
|
|
+.tag--danger { background: #ffecec; color: #ff4d4f; font-weight: 600; }
|
|
|
+
|
|
|
+/* 备注盒子 */
|
|
|
+.remark-box {
|
|
|
+ color: red;
|
|
|
+ font-weight: bold;
|
|
|
+ width: auto;
|
|
|
+ max-width: 100%;
|
|
|
+ min-height: 28upx;
|
|
|
+ height: auto;
|
|
|
+ word-break: break-all;
|
|
|
+}
|
|
|
+
|
|
|
+/* 描边按钮(红色) */
|
|
|
+.btn-outline-danger {
|
|
|
+ border: 1upx solid red;
|
|
|
+ color: red;
|
|
|
+}
|
|
|
</style>
|