From abed82384f42233b7534b7047bcfd955a2ef4487 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 02 三月 2026 13:49:14 +0800
Subject: [PATCH] 经销商管理
---
admin/src/views/business/goodsorder.vue | 156 +++++++++++++++++++++++++++------------------------
1 files changed, 83 insertions(+), 73 deletions(-)
diff --git a/admin/src/views/business/goodsorder.vue b/admin/src/views/business/goodsorder.vue
index 3e5f518..cad9df0 100644
--- a/admin/src/views/business/goodsorder.vue
+++ b/admin/src/views/business/goodsorder.vue
@@ -2,73 +2,80 @@
<TableLayout :permissions="['business:goodsorder:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
- <!-- 0寰呮敮浠� 1寰呭彂璐� 2寰呮敹璐� 3浜ゆ槗瀹屾垚 4宸插叧闂� 5閮ㄥ垎鍙戣揣 -->
- <el-tabs v-model="status" @tab-click="handleClick">
- <el-tab-pane
- v-for="tab in statusList"
- :key="tab.name"
- :name="tab.name"
- >
- <template #label>
- <span>{{ tab.label }}</span>
- <el-badge
- v-if="tab.count > 0"
- :value="tab.count"
- class="tab-badge"
- />
- </template>
- </el-tab-pane>
- </el-tabs>
- <el-form-item label="璁㈠崟缂栧彿" prop="code">
- <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" type="number" clearable @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鏀惰揣浜�" prop="nickName">
- <el-input v-model="searchForm.nickName" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" clearable @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鍙栬揣鏂瑰紡" prop="receiveType">
- <el-select v-model="searchForm.receiveType" placeholder="璇烽�夋嫨鍙栬揣鏂瑰紡" clearable @change="search" >
- <el-option :key="0" :value="0" label="蹇�掗厤閫�"></el-option>
- <el-option :key="1" :value="1" label="鑷彁"></el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="褰掑睘缁忛攢鍟�" prop="shopName">
- <el-input v-model="searchForm.shopName" placeholder="璇疯緭鍏ョ粡閿�鍟嗗悕绉�" clearable @keypress.enter.native="search"></el-input>
- </el-form-item>
- <el-form-item label="鏀粯鍗曞彿" prop="payOrderId">
- <el-input v-model="searchForm.payOrderId" placeholder="璇疯緭鍏ユ敮浠樺崟鍙�" clearable @keypress.enter.native="search"></el-input>
- </el-form-item>
- <div class="date-style" style="display: inline">
- <el-form-item label="璁㈠崟鏃堕棿" prop="starttime" >
- <el-date-picker
- style="width: 160px"
- clearable
- @change="search"
- v-model="searchForm.starttime"
- type="datetime"
- value-format="yyyy-MM-dd HH:mm:ss"
- format="yyyy-MM-dd HH:mm:ss"
- range-separator="鑷�"
- placeholder="寮�濮嬫椂闂�"
- ></el-date-picker>
- </el-form-item>
- <el-form-item label="-" label-width="10px" prop="endtime" >
- <el-date-picker
- style="width: 160px"
- clearable
- v-model="searchForm.endtime"
- type="datetime"
- @change="search"
- value-format="yyyy-MM-dd HH:mm:ss"
- format="yyyy-MM-dd HH:mm:ss"
- range-separator="鑷�"
- placeholder="鎴鏃堕棿"
- ></el-date-picker>
- </el-form-item>
+ <div>
+ <el-tabs v-model="status" @tab-click="handleClick">
+ <el-tab-pane
+ v-for="tab in statusList"
+ :key="tab.name"
+ :name="tab.name"
+ >
+ <template #label>
+ <span>{{ tab.label }}</span>
+ <el-badge
+ v-if="tab.count > 0"
+ :value="tab.count"
+ class="tab-badge"
+ />
+ </template>
+ </el-tab-pane>
+ </el-tabs>
</div>
+ <div>
+ <el-form-item label="璁㈠崟缂栧彿" prop="code">
+ <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ヨ鍗曠紪鍙�" type="number" clearable @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="鏀惰揣浜�" prop="nickName">
+ <el-input v-model="searchForm.nickName" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" clearable @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="鍙栬揣鏂瑰紡" prop="receiveType">
+ <el-select v-model="searchForm.receiveType" placeholder="璇烽�夋嫨鍙栬揣鏂瑰紡" clearable @change="search" >
+ <el-option :key="0" :value="0" label="蹇�掗厤閫�"></el-option>
+ <el-option :key="1" :value="1" label="鑷彁"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍟嗗搧鍚嶇О" prop="shopName">
+ <el-input v-model="searchForm.goodsName" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�" clearable @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="褰掑睘缁忛攢鍟�" prop="shopName">
+ <el-input v-model="searchForm.shopName" placeholder="璇疯緭鍏ョ粡閿�鍟嗗悕绉�" clearable @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <el-form-item label="鏀粯鍗曞彿" prop="payOrderId">
+ <el-input v-model="searchForm.payOrderId" placeholder="璇疯緭鍏ユ敮浠樺崟鍙�" clearable @keypress.enter.native="search"></el-input>
+ </el-form-item>
+ <div class="date-style" style="display: inline">
+ <el-form-item label="璁㈠崟鏃堕棿" prop="starttime" >
+ <el-date-picker
+ style="width: 180px"
+ clearable
+ @change="search"
+ v-model="searchForm.starttime"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
+ range-separator="鑷�"
+ placeholder="寮�濮嬫椂闂�"
+ ></el-date-picker>
+ </el-form-item>
+ <el-form-item label="-" label-width="10px" prop="endtime" >
+ <el-date-picker
+ style="width: 180px"
+ clearable
+ v-model="searchForm.endtime"
+ type="datetime"
+ @change="search"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ format="yyyy-MM-dd HH:mm:ss"
+ range-separator="鑷�"
+ placeholder="鎴鏃堕棿"
+ ></el-date-picker>
+ </el-form-item>
+ </div>
+ </div>
+
<section>
<el-button type="primary" @click="search">鎼滅储</el-button>
- <el-button type="primary" :loading="isWorking.export" v-permissions="['business:goodsorder:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>
<el-button @click="reset">閲嶇疆</el-button>
+ <el-button type="primary" :loading="isWorking.export" v-permissions="['business:goodsorder:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>
</section>
</el-form>
<!-- 琛ㄦ牸鍜屽垎椤� -->
@@ -85,7 +92,7 @@
<span v-if="item.status ==1" class="orange">{{item.receiveType==1?'寰呰嚜鎻�':'寰呭彂璐�'}}</span>
<span v-if="item.status ==2" class="orange">寰呮敹璐�</span>
<span v-if="item.status ==3" class="grey">浜ゆ槗瀹屾垚</span>
- <span v-if="item.status ==4" class="grey">宸插叧闂�</span>
+ <span v-if="item.status ==4" class="grey">宸插彇娑�</span>
<span v-if="item.status ==6" class="grey">宸查��娆�</span>
</div>
</div>
@@ -101,17 +108,18 @@
</div>
<div class="message" style="">
<div class="name">{{ goods.name }}</div>
- <div class="attr">锟{ goods.goodsNum }}</div>
+ <div class="attr">x{{ goods.goodsNum }}</div>
</div>
</div>
- <div class="mark" v-if="item.sysInfo&& item.sysInfo.length" >澶囨敞锛歿{item.sysInfo}}</div>
+ <div class="mark" v-if="item.sysInfo&& item.sysInfo.length" >骞冲彴澶囨敞锛歿{item.sysInfo}}</div>
+ <div class="mark" v-if="item.memberInfo&& item.memberInfo.length" >瀹㈡埛澶囨敞锛歿{item.memberInfo}}</div>
</div>
<div class="member-message right-border">
<div class="el-icon-user" style="padding: 5px 5px;width: 100%;">{{ item.linkname }}</div>
<div class="el-icon-phone-outline" style="padding: 10px 5px;width: 100%;color: #777;font-size: 13px;">{{ item.linkphone }}</div>
</div>
<div class="address-message right-border right-border" style="padding-top: 15px;" >
- <div class="underway el-icon-sell" >{{item.receiveType==1?'鍒板簵鑷彁':'蹇�掗厤閫�'}} </div>
+ <div class="underway el-icon-sell" >{{item.receiveType==1?'闂ㄥ簵鑷彁':'蹇�掗厤閫�'}} </div>
<div class=" el-icon-add-location" v-if="item.receiveType!=1">{{ item.linkaddr }}</div>
</div>
<div class="price-message right-border">
@@ -125,9 +133,9 @@
<div class="action">
<el-button v-if="item.status==1 && item.receiveType!=1" style=" width: 80%;" type="primary" @click="$refs.operaShipmentsWindow.open('鍙戣揣', item)">鍙戣揣</el-button>
<div></div>
- <el-button v-if="item.status == 0" style="color: red; " type="text" @click="$refs.OperaOrderCancelWindow.open('鍙栨秷璁㈠崟', item)">鍙栨秷璁㈠崟</el-button>
+ <el-button v-if="item.status == 0 || item.status==1" style="color: red; " type="text" @click="$refs.OperaOrderCancelWindow.open('鍙栨秷璁㈠崟', item)">鍙栨秷璁㈠崟</el-button>
<div></div>
- <el-button v-if="item.status == 3" style="color: red " type="text" @click="cancelOrder(item)">璁㈠崟閫�娆�</el-button>
+ <el-button v-if="item.status == 3" style="color: red " type="text" @click="$refs.OperaOrderRefundWindow.open('璁㈠崟閫�娆�', item)">璁㈠崟閫�娆�</el-button>
<div></div>
<el-button v-if="item.status==2 && item.receiveType!=1" style="color: #666; " type="text" @click="$refs.operaShipmentsWindow.open('蹇�掍俊鎭彉鏇�', item)">蹇�掑彉鏇�</el-button>
<div></div>
@@ -149,6 +157,7 @@
<!-- 鏂板缓/淇敼 -->
<OperaShipmentsWindow ref="operaShipmentsWindow" @success="search"/>
<OperaOrderMarkWindow ref="operaOrderMarkWindow" @success="handlePageChange"/>
+ <OperaOrderRefundWindow ref="OperaOrderRefundWindow" @success="handlePageChange"/>
<OperaOrderCancelWindow ref="OperaOrderCancelWindow" @success="handlePageChange"/>
<OperaGoodsOrderDetail ref="operaGoodsOrderDetail" @success="handlePageChange"/>
</TableLayout>
@@ -162,10 +171,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'
export default {
name: 'Goodsorder',
extends: BaseTable,
- components: { TableLayout, Pagination, OperaShipmentsWindow, OperaOrderMarkWindow, OperaGoodsOrderDetail,OperaOrderCancelWindow },
+ components: { OperaOrderRefundWindow, TableLayout, Pagination, OperaShipmentsWindow, OperaOrderMarkWindow, OperaGoodsOrderDetail, OperaOrderCancelWindow },
data () {
return {
status: '10',
@@ -177,7 +187,7 @@
{ name: '2', label: '寰呮敹璐�', count: 0 },
{ name: '3', label: '浜ゆ槗瀹屾垚', count: 0 },
{ name: '6', label: '宸查��娆�', count: 0 },
- { name: '4', label: '浜ゆ槗鍏抽棴', count: 0 }],
+ { name: '4', label: '宸插彇娑�', count: 0 }],
// 鎼滅储
searchForm: {
id: '',
@@ -188,7 +198,7 @@
status: '',
nickName: '',
starttime: null,
- enttime: null
+ endtime: null
}
}
},
@@ -236,7 +246,7 @@
reset () {
this.createDate = []
this.searchForm.starttime = ''
- this.searchForm.enttime = ''
+ this.searchForm.endtime = ''
this.$refs.searchForm.resetFields()
this.search()
},
--
Gitblit v1.9.3