添加:烟酒店
This commit is contained in:
parent
d20a739a9e
commit
88e33afa0b
|
|
@ -48,6 +48,15 @@ const merchantRouter =
|
|||
},
|
||||
component: () => import('@/views/merchant/list/supplier')
|
||||
},
|
||||
{
|
||||
path: 'smoke',
|
||||
name: 'MerchantShopList',
|
||||
meta: {
|
||||
title: '烟酒店',
|
||||
noCache: true
|
||||
},
|
||||
component: () => import('@/views/merchant/list/smoke')
|
||||
},
|
||||
{
|
||||
path: 'list/reconciliation/:id/:type?',
|
||||
name: 'MerchantRecord',
|
||||
|
|
|
|||
|
|
@ -337,11 +337,12 @@
|
|||
<el-option label="普通商户" :value="0" />
|
||||
<el-option label="酒道馆" :value="1" />
|
||||
<el-option label="供应商" :value="2" />
|
||||
<el-option label="烟酒店" :value="3" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="defaultMerchantType == 1">
|
||||
<el-form-item label="关联商户:" prop="merchant_type">
|
||||
<el-form-item label="关联商户:">
|
||||
<el-select v-model="merData.shop_mer_id" filterable remote class="selWidth" placeholder="请输入关键字搜索商户" :remote-method="selectMerList">
|
||||
<el-option
|
||||
v-for="item in mer_list"
|
||||
|
|
@ -435,7 +436,12 @@ export default {
|
|||
merData: {
|
||||
handler() {
|
||||
this.merData.merchant_type = this.defaultMerchantType || 0;
|
||||
this.mar_type_name = this.defaultMerchantType == 1 ? '酒道馆' : (this.defaultMerchantType == 2 ? '供应商' :'商户');
|
||||
|
||||
if(this.defaultMerchantType == 1) this.mar_type_name = '酒道馆';
|
||||
else if(this.defaultMerchantType == 2) this.mar_type_name = '供应商';
|
||||
else if(this.defaultMerchantType == 3) this.mar_type_name = '烟酒店';
|
||||
else this.mar_type_name = '商户';
|
||||
|
||||
|
||||
this.selectMerList();
|
||||
this.selectBrandList('');
|
||||
|
|
|
|||
|
|
@ -193,6 +193,7 @@
|
|||
<div class="value" v-if="merData.merchant_type == 0">普通商户</div>
|
||||
<div class="value" v-else-if="merData.merchant_type == 1">酒道馆</div>
|
||||
<div class="value" v-else-if="merData.merchant_type == 2">供应商</div>
|
||||
<div class="value" v-else-if="merData.merchant_type == 3">烟酒店</div>
|
||||
</li>
|
||||
<li class="item" v-if="defaultMerchantType == 1">
|
||||
<div>关联商户:</div>
|
||||
|
|
@ -244,7 +245,11 @@ export default {
|
|||
merData: {
|
||||
handler() {
|
||||
this.merData.merchant_type = this.defaultMerchantType || 0;
|
||||
this.mar_type_name = this.defaultMerchantType == 1 ? '酒道馆' : (this.defaultMerchantType == 2 ? '供应商' :'商户');
|
||||
|
||||
if(this.defaultMerchantType == 1) this.mar_type_name = '酒道馆';
|
||||
else if(this.defaultMerchantType == 2) this.mar_type_name = '供应商';
|
||||
else if(this.defaultMerchantType == 3) this.mar_type_name = '烟酒店';
|
||||
else this.mar_type_name = '商户';
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,434 @@
|
|||
<template>
|
||||
<div class="divBox">
|
||||
<el-card class="box-card">
|
||||
<div slot="header" class="clearfix">
|
||||
<div class="container">
|
||||
<el-form size="small" label-width="100px" :inline="true">
|
||||
<el-form-item label="选择时间:" style="display: inline-block">
|
||||
<el-radio-group
|
||||
v-model="tableFrom.date"
|
||||
size="small"
|
||||
@change="selectChange(tableFrom.date)"
|
||||
>
|
||||
<el-radio-button
|
||||
v-for="(itemn,indexn) in fromList.fromTxt"
|
||||
:key="indexn"
|
||||
:label="itemn.val"
|
||||
>{{ itemn.text }}</el-radio-button>
|
||||
</el-radio-group>
|
||||
<el-date-picker
|
||||
v-model="timeVal"
|
||||
type="daterange"
|
||||
placeholder="选择日期"
|
||||
format="yyyy/MM/dd"
|
||||
value-format="yyyy/MM/dd"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
@change="onchangeTime"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="关键字:" label-width="80px" style="display: inline-block;">
|
||||
<el-input
|
||||
v-model="tableFrom.keyword"
|
||||
@keyup.enter.native="getList(1)"
|
||||
placeholder="请输入店铺关键字/店铺名/联系电话"
|
||||
class="selWidth"
|
||||
>
|
||||
<el-button slot="append" icon="el-icon-search" class="el-button-solt" @click="getList(1)" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="烟酒店类别:">
|
||||
<el-select
|
||||
v-model="tableFrom.is_trader"
|
||||
clearable
|
||||
placeholder="请选择"
|
||||
class="selWidth"
|
||||
@change="getList(1)"
|
||||
>
|
||||
<el-option label="自营" value="1" />
|
||||
<el-option label="非自营" value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="烟酒店分类:">
|
||||
<el-select
|
||||
v-model="tableFrom.category_id"
|
||||
clearable
|
||||
placeholder="请选择"
|
||||
class="selWidth"
|
||||
@change="getList(1)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in merCateList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="店铺类型:">
|
||||
<el-select
|
||||
v-model="tableFrom.type_id"
|
||||
clearable
|
||||
placeholder="请选择"
|
||||
class="selWidth"
|
||||
@change="getList(1)"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in storeType"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否推荐:">
|
||||
<el-select
|
||||
v-model="tableFrom.is_best"
|
||||
clearable
|
||||
placeholder="请选择"
|
||||
class="selWidth"
|
||||
@change="getList(1)"
|
||||
>
|
||||
<el-option key="1" label="是" value="1"/>
|
||||
<el-option key="0" label="否" value="0"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-tabs v-if="headeNum.length > 0" v-model="tableFrom.status" @tab-click="getList(1),getHeadNum()">
|
||||
<el-tab-pane
|
||||
v-for="(item,index) in headeNum"
|
||||
:key="index"
|
||||
:name="item.type.toString()"
|
||||
:label="item.title +'('+item.count +')' "
|
||||
/>
|
||||
</el-tabs>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-button size="small" type="primary" @click="onAdd">添加烟酒店</el-button>
|
||||
</div>
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="tableData.data"
|
||||
style="width: 100%"
|
||||
size="small"
|
||||
highlight-current-row
|
||||
class="switchTable"
|
||||
>
|
||||
<el-table-column prop="mer_id" label="ID" min-width="60" />
|
||||
<el-table-column prop="mer_name" label="烟酒店名称" min-width="150" />
|
||||
<el-table-column prop="real_name" label="烟酒店姓名" min-width="150" />
|
||||
|
||||
<el-table-column prop="status" label="推荐" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.is_best"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
active-text="是"
|
||||
inactive-text="否"
|
||||
disabled
|
||||
@click.native="onchangeIsShow(scope.row)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" label="开启/关闭" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.status"
|
||||
:active-value="1"
|
||||
:inactive-value="0"
|
||||
active-text="开启"
|
||||
inactive-text="关闭"
|
||||
disabled
|
||||
@click.native="onchangeIsClose(scope.row)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="create_time" label="创建时间" min-width="150" />
|
||||
<el-table-column prop="margin" label="保证金" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.is_margin == 1 ? '未支付' : scope.row.is_margin == 0 ? '无' : '已支付'}}</span>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="sort" label="排序" min-width="100" />
|
||||
<el-table-column prop="mark" label="备注" min-width="200" />
|
||||
|
||||
<el-table-column label="操作" min-width="150" fixed="right" align="center">
|
||||
<template slot-scope="scope">
|
||||
<!-- <router-link
|
||||
v-if="tableFrom.status === '1'"
|
||||
:to="{path: roterPre+ '/merchant/list/reconciliation/' + scope.row.mer_id + '/1' }"
|
||||
>
|
||||
<el-button type="text" size="small" class="mr10">对账</el-button>
|
||||
</router-link> -->
|
||||
<el-button
|
||||
v-if="tableFrom.status === '1'"
|
||||
type="text"
|
||||
size="small"
|
||||
@click="onLogo(scope.row.mer_id)"
|
||||
>登录</el-button>
|
||||
<el-button type="text" size="small" @click="onEdit(scope.row.mer_id)">编辑</el-button>
|
||||
<el-button type="text" size="small" @click="onDetails(scope.row.mer_id)">详情</el-button>
|
||||
<el-button
|
||||
v-if="tableFrom.status === '0'"
|
||||
type="text"
|
||||
size="small"
|
||||
@click="handleDelete(scope.row.mer_id, scope.$index)"
|
||||
>删除</el-button>
|
||||
<!-- <el-button
|
||||
v-if="tableFrom.status === '1'"
|
||||
type="text"
|
||||
size="small"
|
||||
@click="onDeduct(scope.row.mer_id)"
|
||||
>扣除保证金</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="block">
|
||||
<el-pagination
|
||||
:page-sizes="[20, 40, 60, 80]"
|
||||
:page-size="tableFrom.limit"
|
||||
:current-page="tableFrom.page"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="tableData.total"
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="pageChange"
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
<!--烟酒店详情-->
|
||||
<mer-detail
|
||||
ref="merDetail"
|
||||
:merId="merId"
|
||||
@closeDrawer="closeDrawer"
|
||||
@changeDrawer="changeDrawer"
|
||||
@onPassword="onPassword"
|
||||
@handleTimes="handleTimes"
|
||||
@getList="getList"
|
||||
:drawer="drawer"
|
||||
:defaultMerchantType="3"
|
||||
></mer-detail>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
import {
|
||||
merchantListApi,
|
||||
merchantCreateApi,
|
||||
merchantUpdateApi,
|
||||
merchantDeleteForm,
|
||||
merchantStatuseApi,
|
||||
merchantPasswordApi,
|
||||
merchantLoginApi,
|
||||
changeCopyApi,
|
||||
merchantCountApi,
|
||||
merchantIsCloseApi,
|
||||
getstoreTypeApi,
|
||||
getMerCateApi, marginDeductionForm
|
||||
} from "@/api/merchant";
|
||||
import merDetail from './handle/merDetails.vue';
|
||||
import { fromList } from "@/libs/constants.js";
|
||||
import { roterPre } from "@/settings";
|
||||
import SettingMer from "@/libs/settingMer";
|
||||
import Cookies from "js-cookie";
|
||||
export default {
|
||||
name: "MerchantList",
|
||||
components: { merDetail },
|
||||
data() {
|
||||
return {
|
||||
fromList: fromList,
|
||||
roterPre: roterPre,
|
||||
isChecked: false,
|
||||
listLoading: true,
|
||||
merCateList: [],
|
||||
storeType: [],
|
||||
headeNum: [
|
||||
{
|
||||
count: '',
|
||||
type: "1",
|
||||
title: "正常开启的烟酒店"
|
||||
},
|
||||
{
|
||||
count: '',
|
||||
type: "0",
|
||||
title: "已关闭烟酒店"
|
||||
}
|
||||
],
|
||||
tableData: {
|
||||
data: [],
|
||||
total: 0
|
||||
},
|
||||
tableFrom: {
|
||||
page: 1,
|
||||
limit: 20,
|
||||
date: "",
|
||||
status: "1",
|
||||
keyword: "",
|
||||
is_trader: "",
|
||||
is_best: "",
|
||||
category_id: '',
|
||||
type_id: "",
|
||||
merchant_type: 3
|
||||
},
|
||||
autoUpdate: true,
|
||||
merId: "",
|
||||
drawer: false,
|
||||
timeVal: []
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getHeadNum();
|
||||
this.getMerCategory();
|
||||
this.getStoreType();
|
||||
this.getList("");
|
||||
},
|
||||
methods: {
|
||||
onLogo(id) {
|
||||
merchantLoginApi(id)
|
||||
.then(res => {
|
||||
Cookies.set("merchantToken", res.data.token);
|
||||
window.open(SettingMer.httpUrl + res.data.url);
|
||||
})
|
||||
.catch(res => {
|
||||
this.$message.error(res.message);
|
||||
});
|
||||
},
|
||||
// 选择时间
|
||||
selectChange(tab) {
|
||||
this.tableFrom.date = tab;
|
||||
this.timeVal = [];
|
||||
this.tableFrom.page = 1;
|
||||
this.getList("");
|
||||
},
|
||||
// 具体日期
|
||||
onchangeTime(e) {
|
||||
this.timeVal = e;
|
||||
this.tableFrom.date = this.timeVal ? this.timeVal.join("-") : "";
|
||||
this.tableFrom.page = 1;
|
||||
this.getList("");
|
||||
},
|
||||
// 获取开启烟酒店数
|
||||
getHeadNum() {
|
||||
merchantCountApi(this.tableFrom)
|
||||
.then(res => {
|
||||
this.headeNum[0]["count"] = res.data.valid;
|
||||
this.headeNum[1]["count"] = res.data.invalid;
|
||||
})
|
||||
.catch(res => {});
|
||||
},
|
||||
// 烟酒店分类;
|
||||
getMerCategory() {
|
||||
getMerCateApi().then(res => {
|
||||
this.merCateList = res.data
|
||||
}).catch(res => {
|
||||
this.$message.error(res.message)
|
||||
})
|
||||
},
|
||||
getStoreType(){
|
||||
getstoreTypeApi().then(res => {
|
||||
this.storeType = res.data
|
||||
}).catch(res => {
|
||||
this.$message.error(res.message)
|
||||
})
|
||||
},
|
||||
// 列表
|
||||
getList(num) {
|
||||
this.listLoading = true;
|
||||
this.tableFrom.page = num ? num : this.tableFrom.page;
|
||||
merchantListApi(this.tableFrom)
|
||||
.then(res => {
|
||||
this.tableData.data = res.data.list;
|
||||
this.tableData.total = res.data.count;
|
||||
this.listLoading = false;
|
||||
})
|
||||
.catch(res => {
|
||||
this.listLoading = false;
|
||||
this.$message.error(res.message);
|
||||
});
|
||||
},
|
||||
pageChange(page) {
|
||||
this.tableFrom.page = page;
|
||||
this.getList("");
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.tableFrom.limit = val;
|
||||
this.getList(1);
|
||||
},
|
||||
// 修改状态
|
||||
onchangeIsShow(row) {
|
||||
const title = row.is_best === 0 ? "是否开启推荐烟酒店" : "是否关闭推荐烟酒店";
|
||||
this.$modalSure(title).then(() => {
|
||||
merchantStatuseApi(row.mer_id, row.is_best === 1 ? 0 : 1)
|
||||
.then(({ message }) => {
|
||||
this.$message.success(message);
|
||||
this.getList("");
|
||||
})
|
||||
.catch(({ message }) => {
|
||||
this.$message.error(message);
|
||||
});
|
||||
});
|
||||
},
|
||||
// 开启关闭
|
||||
onchangeIsClose(row) {
|
||||
merchantIsCloseApi(row.mer_id, row.status === 1 ? 0 : 1)
|
||||
.then(({ message }) => {
|
||||
this.$message.success(message);
|
||||
this.getList("");
|
||||
})
|
||||
.catch(({ message }) => {
|
||||
this.$message.error(message);
|
||||
});
|
||||
},
|
||||
// 添加
|
||||
onAdd() {
|
||||
// this.$modalForm(merchantCreateApi()).then(() => this.getList(""));
|
||||
this.drawer = true;
|
||||
this.$refs.merDetail.initData();
|
||||
|
||||
|
||||
},
|
||||
// 编辑
|
||||
onEdit(id) {
|
||||
this.merId = id;
|
||||
this.$refs.merDetail.isEdit = true;
|
||||
this.$refs.merDetail.getInfo(id);
|
||||
this.drawer = true;
|
||||
|
||||
},
|
||||
// 详情
|
||||
onDetails(id) {
|
||||
this.merId = id;
|
||||
this.$refs.merDetail.isEdit = false;
|
||||
this.$refs.merDetail.getInfo(id);
|
||||
this.drawer = true;
|
||||
},
|
||||
changeDrawer(v) {
|
||||
this.drawer = v;
|
||||
},
|
||||
closeDrawer() {
|
||||
this.drawer = false;
|
||||
},
|
||||
// 删除
|
||||
handleDelete(id) {
|
||||
this.$modalForm(merchantDeleteForm(id)).then(() => this.getList(""));
|
||||
},
|
||||
// 扣除保证金
|
||||
onDeduct(id) {
|
||||
this.$modalForm(marginDeductionForm(id)).then(() => this.getList(""));
|
||||
},
|
||||
// 设置复制次数
|
||||
handleTimes(id) {
|
||||
this.$modalForm(changeCopyApi(id)).then(() => this.getList(""));
|
||||
},
|
||||
|
||||
// 修改密码表单
|
||||
onPassword(id) {
|
||||
this.$modalForm(merchantPasswordApi(id));
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
</style>
|
||||
Loading…
Reference in New Issue