From c384e04f81caf681647c602d5896cc10b289582e Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 27 二月 2026 14:59:16 +0800
Subject: [PATCH] 经销商管理
---
admin/src/views/business/shop.vue | 103 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 94 insertions(+), 9 deletions(-)
diff --git a/admin/src/views/business/shop.vue b/admin/src/views/business/shop.vue
index 1f91fc3..8a7ad1c 100644
--- a/admin/src/views/business/shop.vue
+++ b/admin/src/views/business/shop.vue
@@ -5,19 +5,52 @@
<el-form-item label="鍚嶇О" prop="name">
<el-input v-model="searchForm.name" placeholder="璇疯緭鍏ュ悕绉�" @keypress.enter.native="search"></el-input>
</el-form-item>
+ <el-form-item label="闂ㄥ簵ID" prop="code">
+ <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ラ棬搴桰D" @keypress.enter.native="search"></el-input>
+ </el-form-item>
<el-form-item label="鐧诲綍璐﹀彿" prop="name">
<el-input v-model="searchForm.username" placeholder="璇疯緭鍏ョ櫥褰曡处鍙�" @keypress.enter.native="search"></el-input>
</el-form-item>
<el-form-item label="閿�鍞ā寮�" prop="saleType" >
<!-- 0姝e父 1绂佺敤 -->
- <el-select v-model="searchForm.saleType" placeholder="閿�鍞ā寮�" @change="search" >
+ <el-select v-model="searchForm.saleType" placeholder="閿�鍞ā寮�" style="width: 100px" @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="provinceId" >
+ <el-select v-model="searchForm.provinceId" placeholder="鐪佷唤" style="width: 100px" filterable @change="selectProvince">
+ <el-option
+ v-for="item in provinces"
+ :key="item.id"
+ :value="item.id"
+ :label="item.name"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="" prop="cityId" >
+ <el-select v-model="searchForm.cityId" filterable placeholder="鍩庡競" @change="selectCity" style="width: 100px" >
+ <el-option
+ v-for="item in cities"
+ :key="item.id"
+ :value="item.id"
+ :label="item.name"
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="" prop="areaId" >
+ <el-select v-model="searchForm.areaId" filterable placeholder="鍖哄煙" style="width: 100px" >
+ <el-option
+ v-for="item in areas"
+ :key="item.id"
+ :value="item.id"
+ :label="item.name"
+ ></el-option>
+ </el-select>
+ </el-form-item>
<el-form-item label="鐘舵��" prop="status">
<!-- 0姝e父 1绂佺敤 -->
- <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨鐘舵��" @change="search" >
+ <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨鐘舵��" style="width: 100px" @change="search" >
<el-option :key="0" :value="0" label="姝e父" ></el-option>
<el-option :key="1" :value="1" label="绂佺敤" ></el-option>
</el-select>
@@ -32,7 +65,7 @@
<ul class="toolbar" >
<li><el-button type="primary" @click="$refs.operaShopWindow.open('鏂板缓缁忛攢鍟�')" icon="el-icon-plus" v-permissions="['business:shop:create']">鏂板缓</el-button></li>
<!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:shop:delete']">鍒犻櫎</el-button></li> -->
- <li><p class="tip-warn" style="width: 100%;margin-left: 20px;"><i class="el-icon-warning"></i>鎻愮ず锛氥�愪緵璐т环璁剧疆銆戝彧缁熻涓婃灦鐘舵�佺殑鍟嗗搧浠锋牸璁剧疆鏁版嵁</p></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"
@@ -135,21 +168,29 @@
import OperaGoodsShopWindow from '@/components/business/OperaGoodsShopWindow'
import { resetPwd, updateIsRecById } from '@/api/business/shop'
import ResetPwdShopWindow from '@/components/business/ResetPwdShopWindow'
+import { listByParentId } from '@/api/business/areas'
export default {
name: 'Shop',
extends: BaseTable,
- components: { TableLayout, Pagination, OperaShopWindow, OperaShopInfoWindow, ResetPwdShopWindow,OperaGoodsShopWindow },
+ components: { TableLayout, Pagination, OperaShopWindow, OperaShopInfoWindow, ResetPwdShopWindow, OperaGoodsShopWindow },
data () {
return {
// 鎼滅储
searchForm: {
name: '',
+ code: '',
username: '',
status: '',
saleType: '',
- isrec: ''
- }
+ isrec: '',
+ provinceId: '',
+ cityId: '',
+ areaId: ''
+ },
+ provinces: [],
+ cities: [],
+ areas: []
}
},
created () {
@@ -159,11 +200,55 @@
'field.id': 'id',
'field.main': 'id'
})
+ listByParentId({ type: 0, parentId: '' })
+ .then(data => {
+ this.provinces = data
+ })
this.search()
},
methods: {
- goPriceSet(row){
- this.$refs.OperaGoodsShopWindow.open('璁剧疆渚涜揣浠� - '+row.name, row )
+ selectProvince (val) {
+ this.searchForm.cityId = null
+ this.searchForm.areaId = null
+ this.cities = []
+ this.areas = []
+ listByParentId({ type: 1, parentId: val })
+ .then(data => {
+ this.cities = data
+ })
+ .catch(e => {
+ this.$tip.error(e)
+ })
+ },
+ selectCity (val) {
+ this.searchForm.areaId = null
+ this.areas = []
+ listByParentId({ type: 2, parentId: val })
+ .then(data => {
+ this.areas = data
+ })
+ .catch(e => {
+ this.$tip.error(e)
+ })
+ },
+ initCityArea (proid, cityid) {
+ listByParentId({ type: 1, parentId: proid })
+ .then(data => {
+ this.cities = data
+ })
+ .catch(e => {
+ this.$tip.error(e)
+ })
+ listByParentId({ type: 2, parentId: cityid })
+ .then(data => {
+ this.areas = data
+ })
+ .catch(e => {
+ this.$tip.error(e)
+ })
+ },
+ goPriceSet (row) {
+ this.$refs.OperaGoodsShopWindow.open('璁剧疆渚涜揣浠� - ' + row.name, row)
},
resetPwd (row) {
this.$dialog.messageWaring('纭閲嶇疆璇ョ粡閿�鍟嗐��' + row.name + '銆戠殑鐧诲綍瀵嗙爜鍚楋紵')
@@ -195,7 +280,7 @@
})
},
showDetail (row) {
- this.$refs.OperaShopInfoWindow.open('缁忛攢鍟嗚鎯呫��'+row.name+'銆�', row)
+ this.$refs.OperaShopInfoWindow.open('缁忛攢鍟嗚鎯呫��' + row.name + '銆�', row)
}
}
}
--
Gitblit v1.9.3