|
|
@@ -16,9 +16,20 @@
|
|
|
<button @click="copy(detailInfo.orderSn)" class="admin-button-com default" > 复制 </button>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="order-info_box" v-if="detailInfo.status==2">
|
|
|
+ <!-- 已结清:展示实付方式及线上/线下(与 ghsApp admin/clear/customInfo 一致,onlinePay 1=线下 2=线上) -->
|
|
|
+ <view class="order-info_box" v-if="detailInfo.status == 2">
|
|
|
<view>支付方式:</view>
|
|
|
- <view>{{ detailInfo.payWay==0?'微信':detailInfo.payWay==1?'支付宝':detailInfo.payWay==4?'现金':detailInfo.payWay==5?'银行卡':'其它' }}</view>
|
|
|
+ <view>
|
|
|
+ {{ detailInfo.payWay==0?'微信':detailInfo.payWay==1?'支付宝':detailInfo.payWay==4?'现金':detailInfo.payWay==5?'银行卡':detailInfo.payWay==11?'抵扣':'--' }}
|
|
|
+ <text v-if="detailInfo.onlinePay == 1">
|
|
|
+ <text v-if="detailInfo.payWay==0 || detailInfo.payWay==1">(线下)</text>
|
|
|
+ </text>
|
|
|
+ <text v-else style="font-weight:bold;color:#3385ff;">(线上)</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="order-info_box" v-if="detailInfo.status == 2 && detailInfo.payRemark!=''">
|
|
|
+ <view>支付说明:</view>
|
|
|
+ <view>{{ detailInfo.payRemark }}</view>
|
|
|
</view>
|
|
|
<view class="order-info_box">
|
|
|
<view>操作人员:</view>
|
|
|
@@ -60,13 +71,22 @@
|
|
|
</text>
|
|
|
<text class="item-count" style="color:#3385ff;font-size:28upx;">查看明细</text>
|
|
|
</view>
|
|
|
- <!-- 部分销:备注式小字,独立一行自然换行 -->
|
|
|
+ <!-- 多张结账单:标题单独一行,每行最多 4 个,项间距 30upx -->
|
|
|
<view v-if="showOrderClearLinks(s)" class="order-clear-remark" @click.stop>
|
|
|
- <text class="order-clear-remark__label">总共{{ s.orderClearList.length }}个结账单:</text>
|
|
|
- <block v-for="(bill, billIndex) in s.orderClearList" :key="billIndex">
|
|
|
- <text v-if="billIndex > 0" class="order-clear-remark__sep">、</text>
|
|
|
- <text class="order-clear-remark__link" @click.stop="goClearBill(bill)">{{ bill.clearSn ? bill.clearSn : ('结账单' + (billIndex + 1)) }}</text>
|
|
|
- </block>
|
|
|
+ <view class="order-clear-remark__label">总共{{ s.orderClearList.length }}个结账单:</view>
|
|
|
+ <view
|
|
|
+ v-for="(row, rowIndex) in getOrderClearBillRows(s.orderClearList)"
|
|
|
+ :key="rowIndex"
|
|
|
+ class="order-clear-remark__row"
|
|
|
+ >
|
|
|
+ <text
|
|
|
+ v-for="(bill, billIndex) in row"
|
|
|
+ :key="billIndex"
|
|
|
+ class="order-clear-remark__link"
|
|
|
+ :class="{ 'order-clear-remark__link--gap': billIndex > 0 }"
|
|
|
+ @click.stop="goClearBill(bill)"
|
|
|
+ >{{ getOrderClearBillLabel(bill, rowIndex, billIndex) }}</text>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -164,16 +184,42 @@ export default {
|
|
|
}
|
|
|
this.pageTo({url: '/pagesPurchase/purDetails',query: {id: s.id,}})
|
|
|
},
|
|
|
- /** 部分销或多张结账单:是否展示订单关联结账单链接 */
|
|
|
+ /** 多张结账单时才展示关联链接;仅 1 张时不显示此栏 */
|
|
|
showOrderClearLinks(order) {
|
|
|
if (this.$util.isEmpty(order) || this.$util.isEmpty(order.orderClearList)) {
|
|
|
return false
|
|
|
}
|
|
|
- if (Number(order.remainDebtPrice) > 0) {
|
|
|
- return true
|
|
|
- }
|
|
|
return order.orderClearList.length > 1
|
|
|
},
|
|
|
+ /** 结账单链接每行展示个数 */
|
|
|
+ getOrderClearBillRowSize() {
|
|
|
+ return 4
|
|
|
+ },
|
|
|
+ /** 结账单链接按每行分组,便于换行展示 */
|
|
|
+ getOrderClearBillRows(orderClearList) {
|
|
|
+ if (!Array.isArray(orderClearList) || !orderClearList.length) {
|
|
|
+ return []
|
|
|
+ }
|
|
|
+ const rowSize = this.getOrderClearBillRowSize()
|
|
|
+ const rows = []
|
|
|
+ for (let i = 0; i < orderClearList.length; i += rowSize) {
|
|
|
+ rows.push(orderClearList.slice(i, i + rowSize))
|
|
|
+ }
|
|
|
+ return rows
|
|
|
+ },
|
|
|
+ /** 无单号时的结账单序号(从 1 开始) */
|
|
|
+ getOrderClearBillDisplayIndex(rowIndex, billIndex) {
|
|
|
+ return rowIndex * this.getOrderClearBillRowSize() + billIndex + 1
|
|
|
+ },
|
|
|
+ /** 结账单链接文案:「单号」+ 结账单号后四位;无单号时用结账单序号兜底 */
|
|
|
+ getOrderClearBillLabel(bill, rowIndex, billIndex) {
|
|
|
+ const clearSn = bill && bill.clearSn ? String(bill.clearSn).trim() : ''
|
|
|
+ if (clearSn) {
|
|
|
+ const suffix = clearSn.length > 4 ? clearSn.slice(-4) : clearSn
|
|
|
+ return '单号' + suffix
|
|
|
+ }
|
|
|
+ return '结账单' + this.getOrderClearBillDisplayIndex(rowIndex, billIndex)
|
|
|
+ },
|
|
|
/** 部分销订单:redirectTo 替换当前页,不压入页面栈 */
|
|
|
goClearBill(item) {
|
|
|
const id = Number(item && item.clearId ? item.clearId : 0)
|
|
|
@@ -365,26 +411,30 @@ export default {
|
|
|
}
|
|
|
.order-clear-remark {
|
|
|
margin-top: 20upx;
|
|
|
- line-height: 2;
|
|
|
- word-break: break-all;
|
|
|
- }
|
|
|
- .order-clear-remark__label,
|
|
|
- .order-clear-remark__link,
|
|
|
- .order-clear-remark__sep {
|
|
|
- display: inline;
|
|
|
}
|
|
|
.order-clear-remark__label {
|
|
|
+ display: block;
|
|
|
font-size: 30upx;
|
|
|
color: #999;
|
|
|
+ line-height: 1.6;
|
|
|
+ }
|
|
|
+ .order-clear-remark__row {
|
|
|
+ display: block;
|
|
|
+ margin-top: 8upx;
|
|
|
+ line-height: 1.8;
|
|
|
+ word-break: break-all;
|
|
|
+ }
|
|
|
+ .order-clear-remark__row:first-of-type {
|
|
|
+ margin-top: 10upx;
|
|
|
}
|
|
|
.order-clear-remark__link {
|
|
|
+ display: inline;
|
|
|
font-size: 30upx;
|
|
|
color: #3385ff;
|
|
|
font-weight: normal;
|
|
|
}
|
|
|
- .order-clear-remark__sep {
|
|
|
- font-size: 30upx;
|
|
|
- color: #999;
|
|
|
+ .order-clear-remark__link--gap {
|
|
|
+ margin-left: 30upx;
|
|
|
}
|
|
|
}
|
|
|
}
|