From 6e996f74553e1418531e119ae9d5fd1630ea28d4 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 23 一月 2026 14:28:08 +0800
Subject: [PATCH] 经销商管理
---
admin/src/components/business/OperaOrderRefundWindow.vue | 66 +++++++++++++++++++++++---------
admin/src/components/business/OperaGoodsOrderDetail.vue | 2
admin/src/views/business/goodsorder.vue | 4 +-
3 files changed, 50 insertions(+), 22 deletions(-)
diff --git a/admin/src/components/business/OperaGoodsOrderDetail.vue b/admin/src/components/business/OperaGoodsOrderDetail.vue
index dc6a2ac..093ec81 100644
--- a/admin/src/components/business/OperaGoodsOrderDetail.vue
+++ b/admin/src/components/business/OperaGoodsOrderDetail.vue
@@ -16,7 +16,6 @@
<div style="text-align: right;">
<div class="header-red-btn" v-if="info.status == 0 || info.status == 1" @click="$refs.OperaOrderCancelWindow.open('鍙栨秷璁㈠崟', info)">鍙栨秷璁㈠崟</div>
<div class="header-red-btn" v-if="info.status == 3" @click="$refs.OperaOrderRefundWindow.open('璁㈠崟閫�娆�', info)">璁㈠崟閫�娆�</div>
- <div class="header-blue-btn" @click="showChangeRecord">鍙樻洿璁板綍</div>
</div>
</div>
<div class="info-item">
@@ -55,6 +54,7 @@
<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 class="header-blue-btn" @click="showChangeRecord">蹇�掑彉鏇磋褰�</div>
</div>
<div class="info-item" >
<div class="info-item-a">鏀惰揣浜猴細<span class="el-icon-user">{{info.linkname}}</span></div>
diff --git a/admin/src/components/business/OperaOrderRefundWindow.vue b/admin/src/components/business/OperaOrderRefundWindow.vue
index 1fb9731..4baebbc 100644
--- a/admin/src/components/business/OperaOrderRefundWindow.vue
+++ b/admin/src/components/business/OperaOrderRefundWindow.vue
@@ -42,7 +42,7 @@
<div class="info-item" >
<div class="info-item-a">绉垎鎶垫墸锛�<span v-if="(info.integral||0)>0">-锟{(info.integral||0).toFixed(2) +' '}}浣跨敤{{(info.useIntegral||0)}}绉垎鎶垫墸锟{(info.integral||0).toFixed(2) +' '}}鍏�</span></div>
<div class="info-item-a">浼樻儬鍒革細<span v-if="(info.couponPrice||0)>0">-锟{(info.couponPrice||0).toFixed(2) +' '}} 浣跨敤{{info.couponName}}</span></div>
- <div class="info-item-a">缁忛攢鍟嗙粨绠楋細<span> 锟{(info.totalPrice||0).toFixed(2)}}</span></div>
+ <div class="info-item-a">缁忛攢鍟嗙粨绠楋細<span style="margin-right: 10px;"> 锟{(info.shopSettlement||0).toFixed(2)}}</span>锛坽{info.shopName}}锛�</div>
</div>
<div class="info-item" >
<div class="info-item-a">瀹炰粯閲戦锛�<span class="red"> 锟{(info.price||0).toFixed(2)}}</span></div>
@@ -53,32 +53,32 @@
<div class="header-b">閫�娆惧唴瀹�</div>
<div class="info-item" >
<el-form :model="form" ref="form" label-width="120px" label-suffix="锛�" :rules="rules" inline>
- <el-form-item label="閫�娆鹃噾棰�" prop="price" style="display: block;">
- <el-input type="number" v-model="form.price" placeholder="璇疯緭鍏ラ��娆鹃噾棰�" v-trim> <template slot="append"> 鍏�</template> </el-input>
+ <el-form-item label="閫�娆鹃噾棰�" prop="money" style="display: block;">
+ <el-input type="number" v-model="form.money" placeholder="璇疯緭鍏ラ��娆鹃噾棰�" v-trim> <template slot="append"> 鍏�</template> </el-input>
<span class="tip-warn" style="margin-bottom: 30px;font-size: 14px;"> <i class="el-icon-warning"></i>
鎻愮ず锛氬綋鍓嶈鍗曟渶澶氬彲閫�閲戦涓�<span class="red">{{(info.price||0).toFixed(2)}}</span></span>
</el-form-item>
<div style="display:flex;">
<el-form-item label="閫�杩�" prop="refundInfo" style="display: inline;">
- <el-checkbox style="border: none;" v-model="checked1" label="閫�杩樺鎴蜂紭鎯犲埜" border></el-checkbox>
+ <el-checkbox style="border: none;" v-model="form.returnUseCouponStatus" label="閫�杩樺鎴蜂紭鎯犲埜" border></el-checkbox>
</el-form-item>
<el-form-item label="" prop="refundInfo" style="display: inline;">
- <el-checkbox style="border: none" v-model="checked1" label="閫�杩樺鎴风Н鍒�" border></el-checkbox>
+ <el-checkbox style="border: none" v-model="form.returnUseIntegralStatus" label="閫�杩樺鎴风Н鍒�" border></el-checkbox>
</el-form-item>
</div>
<div style="display:flex;">
<el-form-item label="鎵i櫎" prop="refundInfo" style="display: inline;">
- <el-checkbox style="border: none" v-model="checked1" label="鎵i櫎缁忛攢鍟嗗凡缁撶畻閲戦" border></el-checkbox>
+ <el-checkbox style="border: none" v-model="form.returnShopSettlementStatus" label="鎵i櫎缁忛攢鍟嗗凡缁撶畻閲戦" border></el-checkbox>
</el-form-item>
<el-form-item label="" prop="refundInfo" style="display: inline;">
- <el-checkbox style="border: none" v-model="checked1" label="鎵i櫎宸茶繑瀹㈡埛绉垎" border></el-checkbox>
+ <el-checkbox style="border: none" v-model="form.returnIntegralStatus" label="鎵i櫎宸茶繑瀹㈡埛绉垎" border></el-checkbox>
</el-form-item>
<el-form-item label="" prop="refundInfo" style="display: inline;">
- <el-checkbox style="border: none" v-model="checked1" label="鎵i櫎宸茶繑缁忛攢鍟嗙Н鍒�" border></el-checkbox>
+ <el-checkbox style="border: none" v-model="form.returnShopIntegralStatus" label="鎵i櫎宸茶繑缁忛攢鍟嗙Н鍒�" border></el-checkbox>
</el-form-item>
</div>
- <el-form-item label="澶囨敞" prop="refundInfo" style="display: block;">
- <el-input type="textarea" :autosize="{ minRows: 4, maxRows:4 }" style="width: 500px;" v-model="form.cancelInfo" placeholder="璇疯緭鍏ュ彇娑堣鏄�" v-trim/>
+ <el-form-item label="澶囨敞" prop="remark" style="display: block;">
+ <el-input type="textarea" :autosize="{ minRows: 4, maxRows:4 }" style="width: 500px;" v-model="form.remark" placeholder="璇疯緭鍏ュ彇娑堣鏄�" v-trim/>
</el-form-item>
</el-form>
</div>
@@ -108,16 +108,20 @@
info: {},
shopInfo: {},
rules: {
- price: [
+ money: [
{ required: true, message: '璇疯緭鍏ラ��娆鹃噾棰�', tigger: 'blur' }
]
},
// 鎼滅储
form: {
- id: '',
- checked1:false,
- price: 0,
- type: null
+ orderId: '',
+ money: null,
+ returnShopIntegralStatus: false,
+ returnIntegralStatus: false,
+ returnShopSettlementStatus: false,
+ returnUseIntegralStatus: false,
+ returnUseCouponStatus: false,
+ remark: ''
}
}
},
@@ -143,21 +147,46 @@
this.title = title
this.visible = true
this.info = info || {}
- this.form.price = ''
+ this.form = {
+ orderId: info.id,
+ money: null,
+ returnShopIntegralStatus: false,
+ returnIntegralStatus: false,
+ returnShopSettlementStatus: false,
+ returnUseIntegralStatus: false,
+ returnUseCouponStatus: false,
+ remark: ''
+ }
if (this.info.distributionShopId != null) {
this.loadInfo()
}
+ },
+ doSubmit () {
+
},
confirm () {
this.$refs.form.validate((valid) => {
if (!valid) {
return
}
- this.$dialog.messageWaring(`纭畾杩涜閫�娆捐璁㈠崟锛�${this.info.code}锛焋)
+ var msg = `纭畾瀵硅鍗曘��${this.info.code}銆戣繘琛岄��娆炬搷浣滃悧锛焋
+ if (this.form.returnShopSettlementStatus && (this.info.shopSettlement || 0) > 0 && (this.info.shopSettlement || 0) > (this.shopInfo.amount || 0)) {
+ msg = '缁忛攢鍟嗕綑棰濅笉瓒筹紝' + msg
+ }
+ this.$dialog.messageWaring(msg)
.then(() => {
this.isWorking = true
- this.api.orderRefund(this.form)
+ this.api.orderRefund({
+ orderId: this.form.id,
+ money: this.form.money,
+ returnShopIntegralStatus: this.form.returnShopIntegralStatus ? 1 : 0,
+ returnIntegralStatus: this.form.returnIntegralStatus ? 1 : 0,
+ returnShopSettlementStatus: this.form.returnShopSettlementStatus ? 1 : 0,
+ returnUseIntegralStatus: this.form.returnUseIntegralStatus ? 1 : 0,
+ returnUseCouponStatus: this.form.returnUseCouponStatus ? 1 : 0,
+ remark: this.form.remark
+ })
.then(() => {
this.visible = false
this.$tip.apiSuccess('閫�娆炬垚鍔�')
@@ -169,7 +198,6 @@
this.isWorking = false
})
})
-
// 璋冪敤鏂板缓鎺ュ彛
})
}
diff --git a/admin/src/views/business/goodsorder.vue b/admin/src/views/business/goodsorder.vue
index fc80c6f..4350e14 100644
--- a/admin/src/views/business/goodsorder.vue
+++ b/admin/src/views/business/goodsorder.vue
@@ -163,11 +163,11 @@
import OperaOrderMarkWindow from '@/components/business/OperaOrderMarkWindow'
import OperaOrderCancelWindow from '@/components/business/OperaOrderCancelWindow'
import OperaGoodsOrderDetail from '@/components/business/OperaGoodsOrderDetail'
-import OperaOrderRefundWindow from "@/components/business/OperaOrderRefundWindow";
+import OperaOrderRefundWindow from '@/components/business/OperaOrderRefundWindow'
export default {
name: 'Goodsorder',
extends: BaseTable,
- components: {OperaOrderRefundWindow, TableLayout, Pagination, OperaShipmentsWindow, OperaOrderMarkWindow, OperaGoodsOrderDetail,OperaOrderCancelWindow },
+ components: { OperaOrderRefundWindow, TableLayout, Pagination, OperaShipmentsWindow, OperaOrderMarkWindow, OperaGoodsOrderDetail, OperaOrderCancelWindow },
data () {
return {
status: '10',
--
Gitblit v1.9.3