From bd57b7c6e2307d6dfb07d778adfefc13c1afbffe Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 06 二月 2026 11:48:44 +0800
Subject: [PATCH] 经销商管理

---
 admin/src/views/business/platformGoods.vue |   67 ++++++++++++++++-----------------
 1 files changed, 32 insertions(+), 35 deletions(-)

diff --git a/admin/src/views/business/platformGoods.vue b/admin/src/views/business/platformGoods.vue
index b37bda1..a36e703 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"
@@ -43,6 +44,8 @@
         <el-select
           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"
@@ -73,7 +77,11 @@
             <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>
+        <el-table-column prop="id" label="鍟嗗搧ID" min-width="150px" >
+          <template slot-scope="{row}">
+            <span class="blue" style="cursor: pointer" @click="$refs.OperaGoodsInfoWindow.open('鍟嗗搧璇︽儏', row, 0)">{{row.id}}</span>
+          </template>
+        </el-table-column>
         <el-table-column prop="name" label="鍟嗗搧鍚嶇О" min-width="150px" show-overflow-tooltip></el-table-column>
         <el-table-column prop="categoryName" label="鎵�灞炲垎绫�" min-width="120px"></el-table-column>
         <el-table-column prop="brandName" label="鎵�灞炲搧鐗�" min-width="120px"></el-table-column>
@@ -81,7 +89,7 @@
         <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.pricedShopNum||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>
@@ -101,14 +109,13 @@
         </el-table-column>
         <el-table-column
           label="鎿嶄綔"
-          min-width="250"
+          min-width="160"
           fixed="right"
         >
           <template slot-scope="{row}">
              <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"  @click="goPriceSet(row)">渚涜揣浠�</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>-->
           </template>
         </el-table-column>
       </el-table>
@@ -121,7 +128,7 @@
     </template>
     <!-- 鏂板缓/淇敼 -->
     <OperaGoodsWindow ref="operaGoodsWindow" @success="handlePageChange"/>
-    <OperaGoodsDetailWindow ref="operaGoodsDetailWindow"/>
+    <OperaGoodsInfoWindow ref="OperaGoodsInfoWindow"/>
     <OperaPlatformGoodsSkuWindow ref="operaPlatformGoodsSkuWindow"/>
     <OperaShopGoodsWindow ref="OperaShopGoodsWindow" @success="priceSuccess"/>
   </TableLayout>
@@ -132,46 +139,31 @@
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
 import OperaGoodsWindow from '@/components/business/OperaGoodsWindow'
-import OperaGoodsDetailWindow from '@/components/business/OperaGoodsDetailWindow'
+import OperaGoodsInfoWindow from '@/components/business/OperaGoodsInfoWindow'
 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 ,OperaShopGoodsWindow},
+  components: { TableLayout, Pagination, OperaGoodsWindow, OperaGoodsInfoWindow, 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 () {
@@ -201,15 +193,15 @@
       })
   },
   methods: {
-    priceSuccess(){
+    priceSuccess () {
       this.handlePageChange()
     },
-    goPriceSet(row){
-      if(row.skuPrice == null){
+    goPriceSet (row) {
+      if (row.skuPrice == null) {
         this.$tip.warning('璇峰厛璁剧疆鍟嗗搧閿�鍞环锛�')
         return
       }
-      this.$refs.OperaShopGoodsWindow.open('璁剧疆渚涜揣浠� - '+row.name, row )
+      this.$refs.OperaShopGoodsWindow.open('璁剧疆渚涜揣浠� - ' + row.name, row)
     },
     handleClick (val) {
 
@@ -226,6 +218,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) {

--
Gitblit v1.9.3