From 6e996f74553e1418531e119ae9d5fd1630ea28d4 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 23 一月 2026 14:28:08 +0800
Subject: [PATCH] 经销商管理
---
admin/src/views/business/platformGoods.vue | 82 +++++++++++++++++++++-------------------
1 files changed, 43 insertions(+), 39 deletions(-)
diff --git a/admin/src/views/business/platformGoods.vue b/admin/src/views/business/platformGoods.vue
index 2c1f3df..885cc8c 100644
--- a/admin/src/views/business/platformGoods.vue
+++ b/admin/src/views/business/platformGoods.vue
@@ -2,11 +2,6 @@
<TableLayout :permissions="['business:goods:query']">
<!-- 鎼滅储琛ㄥ崟 -->
<el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-<!-- <el-tabs v-model="activeName" @tab-click="handleClick">
- <el-tab-pane label="鍏ㄩ儴鍟嗗搧" name="first"></el-tab-pane>
- <el-tab-pane label="宸插敭缃勫晢鍝�" name="second"></el-tab-pane>
- <el-tab-pane label="鍥炴敹绔欏晢鍝�" name="third"></el-tab-pane>
- </el-tabs>-->
<el-form-item label="鍟嗗搧鍚嶇О" prop="name">
<el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�" @keypress.enter.native="search"></el-input>
</el-form-item>
@@ -16,7 +11,10 @@
<el-form-item label="鎵�灞炲垎绫�" prop="categoryId">
<el-select
v-model="searchForm.categoryId"
+ style="width: 150px"
placeholder="璇烽�夋嫨鎵�灞炲垎绫�"
+ clearable
+ @change="search"
>
<el-option
v-for="item in labels"
@@ -29,7 +27,10 @@
<el-form-item label="鎵�灞炲搧鐗�" prop="brandId">
<el-select
v-model="searchForm.brandId"
+ style="width: 150px"
placeholder="璇烽�夋嫨鎵�灞炲搧鐗�"
+ clearable
+ @change="search"
>
<el-option
v-for="item in brands"
@@ -41,8 +42,10 @@
</el-form-item>
<el-form-item label="涓婃灦鐘舵��" prop="status">
<el-select
- v-model="searchForm.brandId"
+ v-model="searchForm.status"
placeholder="璇烽�夋嫨涓婃灦鐘舵��"
+ clearable
+ @change="search"
>
<el-option :key="0" :value="0" label="涓婃灦"></el-option>
<el-option :key="1" :value="1" label="涓嬫灦"></el-option>
@@ -55,10 +58,11 @@
</el-form>
<!-- 琛ㄦ牸鍜屽垎椤� -->
<template v-slot:table-wrap>
- <ul class="toolbar" v-permissions="['business:goods:create', 'business:goods:delete']">
+ <ul class="toolbar" >
<li><el-button type="primary" icon="el-icon-plus" @click="$refs.operaGoodsWindow.open('鏂板缓鍟嗗搧', null, 0)" v-permissions="['business:goods:create']">鏂板缓</el-button></li>
<li><el-button type="primary" icon="el-icon-edit" @click="issued(0)">涓婃灦</el-button></li>
<li><el-button type="danger" icon="el-icon-edit" @click="issued(1)">涓嬫灦</el-button></li>
+ <li><p class="tip-warn" style="width: 100%;margin-left: 20px;"><i class="el-icon-warning"></i>鎻愮ず锛氥�愪緵璐т环璁剧疆銆戝彧缁熻鍚敤鐘舵�佺殑渚涢攢鍟嗚缃暟鎹紝锛堝凡瀹氫环渚涢攢鍟嗘暟/鍏ㄩ儴渚涢攢鍟嗘暟锛�</p></li>
</ul>
<el-table
v-loading="isWorking.search"
@@ -68,9 +72,9 @@
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"></el-table-column>
- <el-table-column prop="imgurl" label="鍟嗗搧淇℃伅" min-width="100px">
+ <el-table-column prop="imgurl" label="鍟嗗搧淇℃伅" min-width="80px">
<template slot-scope="{row}">
- <el-image style="width: 80px;height: 80px;" v-if="row.imgurl && row.imgurl!=''" :src="row.resourcePath+row.imgurl" :preview-src-list="[row.resourcePath+row.imgurl]"></el-image>
+ <el-image style="width: 50px;height: 50px;" v-if="row.imgurl && row.imgurl!=''" :src="row.resourcePath+row.imgurl" :preview-src-list="[row.resourcePath+row.imgurl]"></el-image>
</template>
</el-table-column>
<el-table-column prop="id" label="鍟嗗搧ID" min-width="150px" ></el-table-column>
@@ -78,14 +82,14 @@
<el-table-column prop="categoryName" label="鎵�灞炲垎绫�" min-width="120px"></el-table-column>
<el-table-column prop="brandName" label="鎵�灞炲搧鐗�" min-width="120px"></el-table-column>
<el-table-column prop="price" label="灞曠ず浠锋牸" min-width="100px"></el-table-column>
- <el-table-column prop="stockNum" label="鍓╀綑搴撳瓨閲�" min-width="100px"></el-table-column>
- <el-table-column prop="salesVolume" label="瀹為檯閿�閲�" min-width="100px"></el-table-column>
- <el-table-column prop="skuPrice" label="闆跺敭浠�(鍏�)" min-width="100px"></el-table-column>
+ <el-table-column prop="skuPrice" label="閿�鍞环(鍏�)" min-width="100px"></el-table-column>
<el-table-column prop="shopPrice" label="渚涜揣浠疯缃�" min-width="100px" align="center">
<template slot-scope="{row}" >
- <div @click="goPriceSet(row)" style="cursor:pointer;"><span class="red"> {{row.shopPriceNum||0}}</span> / <span class="green"> {{row.shopNum||0}}</span> </div>
+ <div title="閽堝鍚敤渚涢攢鍟嗕环鏍艰缃粺璁�" @click="goPriceSet(row)" style="cursor:pointer;"><span class="red"> {{row.pricedShopNum||0}}</span> / <span class="green"> {{row.shopNum||0}}</span> </div>
</template>
</el-table-column>
+ <el-table-column prop="stockNum" label="鍓╀綑搴撳瓨閲�" min-width="100px"></el-table-column>
+ <el-table-column prop="salesVolume" label="瀹為檯閿�閲�" min-width="100px"></el-table-column>
<el-table-column prop="editDate" label="鏈�杩戞洿鏂版椂闂�" min-width="100px"></el-table-column>
<el-table-column prop="status" label="涓婁笅鏋剁姸鎬�" min-width="100px" fixed="right" align="center">
<template slot-scope="{row}">
@@ -101,14 +105,14 @@
</el-table-column>
<el-table-column
label="鎿嶄綔"
- min-width="250"
+ min-width="160"
fixed="right"
>
<template slot-scope="{row}">
- <el-button type="text" @click="$refs.operaGoodsWindow.open('缂栬緫鍟嗗搧', row, 0)" v-permissions="['business:goods:update']">缂栬緫</el-button>
- <el-button type="text" @click="goPriceSet(row)">渚涜揣浠�</el-button>
+ <el-button type="text" v-if="row.status == 1" @click="$refs.operaGoodsWindow.open('缂栬緫鍟嗗搧', row, 0)" v-permissions="['business:goods:update']">缂栬緫</el-button>
+ <el-button type="text" v-permissions="['business:goods:update']" @click="goPriceSet(row)">渚涜揣浠�</el-button>
<el-button type="text" style="color: red;" @click="deleteById(row)" v-permissions="['business:goods:delete']">鍒犻櫎</el-button>
- <!-- <el-button type="text" @click="$refs.operaGoodsDetailWindow.open('鍟嗗搧璇︽儏', row, 0)">鏌ョ湅璇︽儏</el-button>-->
+ <!-- <el-button type="text" @click="$refs.operaGoodsDetailWindow.open('鍟嗗搧璇︽儏', row, 0)">鏌ョ湅璇︽儏</el-button>-->
</template>
</el-table-column>
</el-table>
@@ -123,6 +127,7 @@
<OperaGoodsWindow ref="operaGoodsWindow" @success="handlePageChange"/>
<OperaGoodsDetailWindow ref="operaGoodsDetailWindow"/>
<OperaPlatformGoodsSkuWindow ref="operaPlatformGoodsSkuWindow"/>
+ <OperaShopGoodsWindow ref="OperaShopGoodsWindow" @success="priceSuccess"/>
</TableLayout>
</template>
@@ -133,43 +138,29 @@
import OperaGoodsWindow from '@/components/business/OperaGoodsWindow'
import OperaGoodsDetailWindow from '@/components/business/OperaGoodsDetailWindow'
import OperaPlatformGoodsSkuWindow from '@/components/business/OperaPlatformGoodsSkuWindow'
+import OperaShopGoodsWindow from '@/components/business/OperaShopGoodsWindow'
import { findAll as labelList } from '@/api/business/labels'
export default {
name: 'Goods',
extends: BaseTable,
- components: { TableLayout, Pagination, OperaGoodsWindow, OperaGoodsDetailWindow, OperaPlatformGoodsSkuWindow },
+ components: { TableLayout, Pagination, OperaGoodsWindow, OperaGoodsDetailWindow, OperaPlatformGoodsSkuWindow, OperaShopGoodsWindow },
data () {
return {
activeName: 'first',
// 鎼滅储
searchForm: {
id: '',
- creator: '',
- createDate: '',
- editor: '',
- editDate: '',
- isdeleted: '',
- remark: '',
- imgurl: '',
name: '',
- info: '',
categoryId: '',
brandId: '',
- price: '',
- salenum: '',
- content: '',
- sortnum: '',
- looknum: '',
// 绫诲瀷 0骞冲彴鍟嗗煄 1鍜栬眴鍟嗗煄 2鍜栧暋璁″垝鍟嗗搧
type: '0', // 骞冲彴鍟嗗搧
status: '',
- isrec: '',
- styleImg: '',
labels: ''
},
labels: [],
- serials: [],
- brands: []
+ brands: [],
+ serials: []
}
},
provide () {
@@ -199,10 +190,18 @@
})
},
methods: {
- goPriceSet(row){
-
+ priceSuccess () {
+ this.handlePageChange()
+ },
+ goPriceSet (row) {
+ if (row.skuPrice == null) {
+ this.$tip.warning('璇峰厛璁剧疆鍟嗗搧閿�鍞环锛�')
+ return
+ }
+ this.$refs.OperaShopGoodsWindow.open('璁剧疆渚涜揣浠� - ' + row.name, row)
},
handleClick (val) {
+
},
/**
*
@@ -216,6 +215,11 @@
const message = `纭${status === 0 ? '涓婃灦' : '涓嬫灦'}閫変腑鐨勫晢鍝佷箞?`
this.$dialog.messageWaring(message)
.then(() => {
+ var temp = []
+ this.tableData.selectedRows.forEach(item => {
+ temp.push({ id: item.id, name: item.name, status: status })
+ })
+ this.statusChangeBiz(temp)
})
},
statusChange (row) {
@@ -224,10 +228,10 @@
statusChangeBiz (rows) {
this.api.updateStatus(rows)
.then(() => {
- this.search()
+ this.handlePageChange()
})
.catch(e => {
- this.search()
+ this.handlePageChange()
})
}
}
--
Gitblit v1.9.3