From b05fea19990632b2ec6320cbfaab2bddc87006c0 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 22 一月 2026 21:17:36 +0800
Subject: [PATCH] 经销商管理
---
admin/src/components/business/OperaGoodsOrderDetail.vue | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 105 insertions(+), 10 deletions(-)
diff --git a/admin/src/components/business/OperaGoodsOrderDetail.vue b/admin/src/components/business/OperaGoodsOrderDetail.vue
index d5580ef..76c4f46 100644
--- a/admin/src/components/business/OperaGoodsOrderDetail.vue
+++ b/admin/src/components/business/OperaGoodsOrderDetail.vue
@@ -4,7 +4,7 @@
width="100%"
:visible.sync="visible"
>
- <div style="display: block">
+ <div class="detail-box">
<div class="header">
<div class="header-b">璁㈠崟璇︽儏</div>
<div v-if="info.status ==0" class="header-orange">寰呮敮浠�</div>
@@ -13,7 +13,11 @@
<span v-if="info.status ==3" class="header-grey ">浜ゆ槗瀹屾垚</span>
<div v-if="info.status ==4" class="header-grey">宸插叧闂�</div>
<div v-if="info.status ==6" class="header-grey">宸查��娆�</div>
- <div class="header-blue-btn" @click="showChangeRecord">鍙樻洿璁板綍</div>
+ <div style="text-align: right;">
+ <div class="header-red-btn" v-if="info.status == 0" @click="$refs.OperaOrderCancelWindow.open('鍙栨秷璁㈠崟', info)">鍙栨秷璁㈠崟</div>
+ <div class="header-red-btn" v-if="info.status == 3" @click="$refs.OperaOrderCancelWindow.open('璁㈠崟閫�娆�', info)">璁㈠崟閫�娆�</div>
+ <div class="header-blue-btn" @click="showChangeRecord">鍙樻洿璁板綍</div>
+ </div>
</div>
<div class="info-item">
<div class="info-item-a">璁㈠崟缂栧彿锛�<span>{{info.code}}</span></div>
@@ -30,7 +34,11 @@
<div class="info-item-a" style="flex: 3">褰掑睘缁忛攢鍟嗭細<span >{{ info.shopName }}</span></div>
</div>
<div class="info-item">
- <div class="info-item-a" style="flex: 3">澶囨敞锛�<span v-if="info.sysInfo" class="red">{{info.sysInfo}}</span></div>
+ <div class="info-item-a" style="flex: 3">澶囨敞锛�<span v-if="info.sysInfo" class="red">{{info.sysInfo}}</span>
+ <span style="margin-left: 20px;" >
+ <el-button type="text" @click="$refs.operaOrderMarkWindow.open(info.sysInfo && info.sysInfo.length?'缂栬緫澶囨敞':'娣诲姞澶囨敞', info)">
+ {{ info.sysInfo && info.sysInfo.length?'淇敼澶囨敞':'娣诲姞澶囨敞' }}</el-button>
+ </span></div>
</div>
<div class="info-item"></div>
<div class="header">
@@ -45,6 +53,8 @@
<template v-if="info.receiveType!=1">
<div class="header">
<div class="header-b">蹇�掍俊鎭�</div>
+ <div class="header-blue-btn" v-if="info.status==1 && info.receiveType!=1" @click="$refs.operaShipmentsWindow.open('鍙戣揣',info)">鍙戣揣</div>
+ <div class="header-blue-btn" v-if="info.status==2 && info.receiveType!=1" @click="$refs.operaShipmentsWindow.open('蹇�掑彉鏇�',info)">蹇�掑彉鏇�</div>
</div>
<div class="info-item" >
<div class="info-item-a">鏀惰揣浜猴細<span class="el-icon-user">{{info.linkname}}</span></div>
@@ -57,18 +67,89 @@
<div class="info-item-a" >鍙戣揣浜猴細<span>{{info.kdUserName }}</span></div>
</div>
<div class="info-item" >
- <div class="info-item-a">鍙戣揣鏃堕棿锛�<span >{{info.kdDate }}</span></div>
- <div class="info-item-a" style="flex: 2">蹇�掑娉細<span>{{info.kdInfo }}</span></div>
+ <div class="info-item-a">鍙戣揣鏃堕棿锛�<span>{{info.kdDate }}</span></div>
+ <div class="info-item-a" style="flex: 2;">蹇�掑娉細<span>{{info.kdInfo }}</span></div>
</div>
<div class="info-item"></div>
</template>
-
+ <template v-if="info.status ==6">
+ <div class="header">
+ <div class="header-b">閫�娆句俊鎭�</div>
+ <div class="header-blue-btn" v-if="info.status==1 && info.receiveType!=1" @click="$refs.operaShipmentsWindow.open('鍙戣揣',info)">鍙戣揣</div>
+ <div class="header-blue-btn" v-if="info.status==2 && info.receiveType!=1" @click="$refs.operaShipmentsWindow.open('蹇�掑彉鏇�',info)">蹇�掑彉鏇�</div>
+ </div>
+ <div class="info-item" >
+ <div class="info-item-a">閫�娆鹃噾棰濓細<span class="orange">锟{(info.refundMoney||0).toFixed(2)}}</span></div>
+ <div class="info-item-a" >鎿嶄綔浜猴細<span>{{info.refundUserName }}</span></div>
+ <div class="info-item-a" >閫�娆炬椂闂达細<span>{{info.refundTime }}</span></div>
+ </div>
+ <div class="info-item" >
+ <div class="info-item-a" >閫�娆惧娉細<span>{{info.kdInfo }}</span></div>
+ </div>
+ <div class="info-item"></div>
+ </template>
+ <template v-if="info.status == 4">
+ <div class="header">
+ <div class="header-b">鍙栨秷淇℃伅</div>
+ </div>
+ <div class="info-item" >
+ <div class="info-item-a">鍙栨秷鏃堕棿锛�<span >{{info.cancelDate}}</span></div>
+ <div class="info-item-a">鍙栨秷浜哄憳锛�<span>{{info.cancelUserName }}</span></div>
+ <div class="info-item-a">鍙栨秷璇存槑锛�<span>{{info.cancelInfo }}</span></div>
+ </div>
+ <div class="info-item"></div>
+ </template>
+ <div class="header">
+ <div class="header-b">杩旂Н鍒嗕俊鎭�</div>
+ </div>
+ <div class="info-item" >
+ <div class="info-item-a">杩旇繕鐢ㄦ埛绉垎锛�<span class="orange"> {{(info.returnMemberIntegral||0)}}</span></div>
+ <div class="info-item-a">杩旇繕缁忛攢鍟嗙Н鍒嗭細<span class="orange">{{info.returnCustomerIntegral || 0 }}</span></div>
+ <div class="info-item-a"></div>
+ </div>
+ <div class="info-item"></div>
+ <div class="header">
+ <div class="header-b">鍟嗗搧淇℃伅</div>
+ </div>
+ <div class="info-item" >
+ <el-table :data="info.goodsorderDetailList||[]" stripe border >
+ <el-table-column prop="imgurl" label="鍟嗗搧鍥�" min-width="80px" align="center">
+ <template slot-scope="{row}">
+ <el-image style="width: 50px;height: 50px;" v-if="row.imgurl && row.imgurl!=''" :src="row.imgurl" :preview-src-list="[row.imgurl]"></el-image>
+ </template>
+ </el-table-column>
+ <el-table-column prop="name" label="鍟嗗搧鍚嶇О" align="center" min-width="150px"> </el-table-column>
+ <el-table-column prop="categoryName" label="鍟嗗搧鍒嗙被" align="center" min-width="150px"> </el-table-column>
+ <el-table-column prop="goodsWeight" label="閲嶉噺(kg)" align="center" min-width="150px"></el-table-column>
+ <el-table-column prop="price" label="閿�鍞环(鍏�)" align="center" min-width="100px"></el-table-column>
+ <el-table-column prop="goodsNum" label="鏁伴噺" align="center" min-width="150px"></el-table-column>
+ <el-table-column prop="totalPrice" label="灏忚" align="center" min-width="150px"></el-table-column>
+ </el-table>
+ </div>
+ <div class="info-item" >
+ <div class="info-item-a">鍟嗗搧鎬讳环锛�<span> 锟{((info.totalPrice||0)-(info.mailPrice || 0)).toFixed(2)}}</span></div>
+ <div class="info-item-a">蹇�掕垂锛�<span>锟{(info.mailPrice||0).toFixed(2)}}</span></div>
+ <div class="info-item-a">璁㈠崟鎬讳环锛�<span > 锟{(info.totalPrice||0).toFixed(2)}}</span></div>
+ </div>
+ <div class="info-item" >
+ <div class="info-item-a">浼樻儬鍏卞噺锛�<span> -锟{((info.integral||0) + (info.couponPrice||0)).toFixed(2) }}</span>
+ <span style="margin-left: 20px;" >
+ <el-button type="text" @click="showCouponPrice">鏌ョ湅</el-button>
+ </span>
+ </div>
+ </div>
+ <div class="info-item" >
+ <div class="info-item-a">瀹炰粯閲戦锛�<span class="red"> 锟{(info.price||0).toFixed(2)}}</span></div>
+ </div>
</div>
<template v-slot:footer>
<el-button @click="visible=false">杩斿洖</el-button>
</template>
<OperaChangeOrderRecordWindow ref="OperaChangeOrderRecordWindow"/>
+ <OperaShipmentsWindow ref="operaShipmentsWindow" @success="successBiz"/>
<OperaChangeIntegralWindow ref="OperaChangeIntegralWindow" @success="successBiz"/>
+ <OperaOrderMarkWindow ref="operaOrderMarkWindow" @success="successBiz"/>
+ <OperaOrderCancelWindow ref="OperaOrderCancelWindow" @success="successBiz"/>
</GlobalWindow>
</template>
@@ -77,10 +158,13 @@
import BaseOpera from '@/components/base/BaseOpera'
import OperaChangeOrderRecordWindow from '@/components/business/OperaChangeOrderRecordWindow'
import OperaChangeIntegralWindow from '@/components/business/OperaChangeIntegralWindow'
+import OperaOrderCancelWindow from '@/components/business/OperaOrderCancelWindow'
+import OperaOrderMarkWindow from '@/components/business/OperaOrderMarkWindow'
+import OperaShipmentsWindow from '@/components/business/OperaShipmentsWindow'
export default {
name: 'OperaShopGoodsWindow',
extends: BaseOpera,
- components: { GlobalWindow, OperaChangeOrderRecordWindow, OperaChangeIntegralWindow },
+ components: { GlobalWindow, OperaChangeOrderRecordWindow, OperaChangeIntegralWindow,OperaOrderMarkWindow,OperaShipmentsWindow ,OperaOrderCancelWindow},
data () {
return {
title: '',
@@ -95,7 +179,6 @@
}
}
},
-
created () {
this.config({
module: '鐢ㄦ埛淇℃伅琛�',
@@ -106,9 +189,11 @@
},
methods: {
successBiz () {
- this.handlePageChange()
this.loadInfo()
this.$emit('success')
+ },
+ showCouponPrice(){
+
},
loadInfo () {
this.api.detail(this.info.id).then(res => {
@@ -146,11 +231,21 @@
font-size: 16px;
font-weight: bold;
}
+.header-red-btn{
+ display: inline-block;
+ font-size: 12px;
+ background-color: red;
+ padding: 2px 10px 3px 10px;
+ margin-left: 20px;
+ color: white;
+ cursor: pointer;
+ border-radius: 5px ;
+}
.header-blue-btn{
display: inline-block;
font-size: 12px;
background-color: #216EEE;
- padding: 2px 10px;
+ padding: 2px 10px 3px 10px;
margin-left: 20px;
color: white;
cursor: pointer;
--
Gitblit v1.9.3