<template>
|
<!--
|
作者:luoyiming
|
时间:2019-10-26
|
描述:门店-店员列表-添加店员
|
-->
|
<div class="product-add">
|
<!--form表单-->
|
<el-form size="small" ref="form" :model="form" label-width="200px">
|
<!--添加店员-->
|
<div class="common-form">添加商户</div>
|
<el-form-item label="商户名称" prop="supplier.name" :rules="[{required: true,message: ' '}]">
|
<el-input class="max-w460" v-model="form.supplier.name" placeholder="请输入商户名称"></el-input>
|
</el-form-item>
|
<el-form-item label="账号" prop="supplier.user_name" :rules="[{required: true,message: ' '}]">
|
<el-input class="max-w460" v-model="form.supplier.user_name" placeholder="请输入账号"></el-input>
|
</el-form-item>
|
<el-form-item label="登录密码" prop="supplier.password" :rules="[{required: true,message: ' '}]">
|
<el-input v-model="form.supplier.password" placeholder="请输入登录密码" type="password" class="max-w460"></el-input>
|
</el-form-item>
|
<el-form-item label="确认密码" prop="supplier.confirm_password" :rules="[{required: true,message: ' '}]">
|
<el-input v-model="form.supplier.confirm_password" placeholder="请输入确认密码" type="password" class="max-w460"></el-input>
|
</el-form-item>
|
<el-form-item label="联系人" prop="supplier.link_name" :rules="[{required: true,message: ' '}]">
|
<el-input class="max-w460" v-model="form.supplier.link_name" placeholder="请输入联系人"></el-input>
|
</el-form-item>
|
<el-form-item label="联系电话" prop="supplier.link_phone" :rules="[{required: true,message: ' '}]">
|
<el-input class="max-w460" v-model="form.supplier.link_phone" placeholder="请输入联系电话"></el-input>
|
</el-form-item>
|
<el-form-item label="门店logo">
|
<el-row>
|
<el-button icon="el-icon-picture-outline" @click="openUpload('logo')">选择图片</el-button>
|
<div v-if="form.supplier.logo_id!=''" class="img">
|
<img :src="logo_file_path" width="100" height="100" />
|
</div>
|
</el-row>
|
</el-form-item>
|
<el-form-item label="主营类别" prop="supplier.category_id" :rules="[{required: true,message: ' '}]">
|
<el-select v-model="form.supplier.category_id" placeholder="请选择">
|
<el-option v-for="(item, index) in category" :key="index" :label="item.name" :value="item.category_id"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="所在区域" prop="supplier.area_id" :rules="[{required: true,message: ' '}]" v-if="region.length > 0">
|
<el-select v-model="form.supplier.area_id" placeholder="请选择">
|
<el-option v-for="(item, index) in region" :key="index" :label="item.name" :value="item.area_id"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="店铺类型">
|
<el-radio-group v-model="form.supplier.store_type">
|
<el-radio :label="10">普通</el-radio>
|
<el-radio :label="20">自营</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="是否独立抽成">
|
<el-radio-group v-model="form.supplier.is_alone_commission_rate">
|
<el-radio :label="0">否</el-radio>
|
<el-radio :label="1">是</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="抽成比例" :label-width="formLabelWidth" prop="supplier.commission_rate" v-if="form.supplier.is_alone_commission_rate == 1">
|
<el-input v-model="form.supplier.commission_rate" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="是否独立收款">
|
<div>
|
<el-radio v-model="form.supplier.is_independent" :label="0">否</el-radio>
|
<el-radio v-model="form.supplier.is_independent" :label="1">是</el-radio>
|
</div>
|
<div class="tips">如设置了是,则该商户的订单按该商户后台设置的支付信息来收款</div>
|
</el-form-item>
|
<el-form-item label="供需权限">
|
<el-radio-group v-model="form.supplier.is_release">
|
<el-radio :label="0">否</el-radio>
|
<el-radio :label="1">是</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="是否是新人专区" :label-width="formLabelWidth">
|
<el-radio-group v-model="form.supplier.is_newcomer">
|
<el-radio :label="1">是</el-radio>
|
<el-radio :label="0">否</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="是否是复购专区" :label-width="formLabelWidth">
|
<el-radio-group v-model="form.supplier.is_repurchase">
|
<el-radio :label="1">是</el-radio>
|
<el-radio :label="0">否</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="营业时间">
|
<el-time-picker v-model="form.supplier.business_start_time" placeholder="选择营业开始时间" format="HH:mm" value-format="HH:mm">
|
</el-time-picker>至
|
<el-time-picker v-model="form.supplier.business_end_time" placeholder="选择营业结束时间" format="HH:mm" value-format="HH:mm">
|
</el-time-picker>
|
</el-form-item>
|
<el-form-item label="所在地址">
|
<el-select v-model="form.supplier.province_id" placeholder="省" @change="initCity">
|
<el-option :label="item.name" :value="item.id" v-for="(item,index) in areaList" :key='index'></el-option>
|
</el-select>
|
<el-select v-if="form.supplier.province_id!=''" v-model="form.supplier.city_id" placeholder="市" @change="initRegion">
|
<el-option :label="item1.name" :value="item1.id" v-for="(item1,index1) in areaList[form.supplier.province_id]['city']"
|
:key='index1'></el-option>
|
</el-select>
|
<el-select v-if="form.supplier.city_id!=''" v-model="form.supplier.region_id" placeholder="区">
|
<el-option :label="item2.name" :value="item2.id" v-for="(item2,index2) in areaList[form.supplier.province_id]['city'][form.supplier.city_id]['region']"
|
:key='index2'></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="详细地址">
|
<el-input class="max-w460" v-model="form.supplier.address" placeholder="请输入地址"></el-input>
|
</el-form-item>
|
<el-form-item label="坐标">
|
<el-row class="mb16">
|
<el-col :span="24">
|
<el-input v-model="form.supplier.coordinate" class="max-w460"></el-input>
|
</el-col>
|
</el-row>
|
<el-row class="mb16">
|
<el-col :span="24">
|
<Getpoint :form="form.supplier" @getMapdata="getMapdataFunc" @chose="choseFunc"></Getpoint>
|
</el-col>
|
</el-row>
|
</el-form-item>
|
<el-form-item label="营业执照">
|
<el-row>
|
<el-button icon="el-icon-picture-outline" @click="openUpload('business')">选择图片</el-button>
|
<div v-if="form.supplier.business_id!=''" class="img">
|
<img :src="business_file_path" width="100" height="100" />
|
</div>
|
</el-row>
|
</el-form-item>
|
<el-form-item label="绑定用户">
|
<el-row>
|
<el-button icon="el-icon-picture-outline" @click="userClick()">选择用户</el-button>
|
<div v-if="form.supplier.user_id!=0" class="img">
|
<img :src="user_info.avatarUrl" width="100" height="100" />
|
</div>
|
</el-row>
|
</el-form-item>
|
<el-form-item label="企业微信客服二维码">
|
<el-row>
|
<el-button icon="el-icon-picture-outline" @click="openUpload('qyqrcode')">选择二维码</el-button>
|
<div v-if="form.supplier.qy_qrcode_id!=0" class="img">
|
<img :src="qy_qrcode_file_path" width="100" height="100" />
|
</div>
|
</el-row>
|
</el-form-item>
|
<el-form-item label="商家介绍" prop="supplier.description">
|
<el-input type="textarea" v-model="form.supplier.description" class="max-w460"></el-input>
|
</el-form-item>
|
<!--提交-->
|
<div class="common-button-wrapper">
|
<el-button size="small" type="info" @click="cancelFunc">取消</el-button>
|
<el-button size="small" type="primary" @click="onSubmit" :loading="loading">提交</el-button>
|
</div>
|
|
</el-form>
|
|
<!--上传图片组件-->
|
<Upload v-if="isupload" :isupload="isupload" :type="type" @returnImgs="returnImgsFunc">上传图片</Upload>
|
<!--管理用户-->
|
<GetUser :is_open="open_user" @close="closeDialogFunc($event, 'add')"></GetUser>
|
</div>
|
</template>
|
|
<script>
|
import SupplierApi from '@/api/supplier.js';
|
import Upload from '@/components/file/Upload';
|
import GetUser from '@/components/user/GetUser.vue';
|
import DataApi from '@/api/data.js';
|
import Getpoint from '@/components/map/Getpoint.vue';
|
export default {
|
components: {
|
/*上传组件*/
|
Upload,
|
/*选择用户*/
|
GetUser,
|
/*腾讯地图拾取器*/
|
Getpoint,
|
},
|
data() {
|
return {
|
/*form表单数据*/
|
form: {
|
supplier:{
|
logo_id: 0,
|
business_id: 0,
|
qy_qrcode_id:0,
|
open_service: 0,
|
category_id: '',
|
user_id: 0,
|
store_type:10,
|
business_start_time: '',
|
business_end_time:'',
|
province_id: '',
|
city_id: '',
|
region_id: '',
|
coordinate: '',
|
description: '',
|
is_alone_commission_rate:0,
|
commission_rate:0,
|
area_id:'',
|
is_independent:0,
|
is_release:0,
|
is_newcomer:0,
|
is_repurchase:0
|
},
|
},
|
logo_file_path: '',
|
business_file_path: '',
|
qy_qrcode_file_path: '',
|
/*是否打开添加弹窗*/
|
open_add: false,
|
storeList: [],
|
category: [],
|
/*是否上传图片*/
|
isupload: false,
|
loading: false,
|
type:'logo',
|
open_user: false,
|
user_info: {},
|
/*省市区*/
|
areaList: [],
|
/*区域列表*/
|
region: [],
|
};
|
},
|
created() {
|
this.getData();
|
/*获取列表*/
|
this.getCategoryList();
|
},
|
methods: {
|
/*初始化城市id*/
|
initCity() {
|
this.form.supplier.city_id = ''
|
},
|
|
/*初始化区id*/
|
initRegion() {
|
this.form.supplier.region_id = ''
|
},
|
|
/*获取经纬度*/
|
getMapdataFunc(e) {
|
this.form.supplier.coordinate = e.data[0].toFixed(6) + ',' + e.data[1].toFixed(6);
|
},
|
/*选择的地址*/
|
choseFunc(e){
|
this.form.supplier.coordinate=e.location.lat+','+e.location.lng;
|
this.form.supplier.address=e.address;
|
|
},
|
getData(){
|
let self = this;
|
DataApi.getRegion({}, true)
|
.then(res => {
|
self.areaList = res.data.regionData;
|
})
|
.catch(error => {
|
|
});
|
},
|
/*获取广告类别*/
|
getCategoryList() {
|
let self = this;
|
let Params = {};
|
|
SupplierApi.toaddSupplier(Params, true)
|
.then(res => {
|
self.category = res.data.category;
|
self.region = res.data.region;
|
if(self.category.length > 0){
|
self.form.category_id = self.category[0].category_id;
|
}
|
})
|
.catch(error => {
|
|
});
|
},
|
onSubmit() {
|
let self = this;
|
let form = self.form;
|
self.$refs.form.validate((valid) => {
|
if (valid) {
|
self.loading = true;
|
SupplierApi.addSupplier(form, true)
|
.then(data => {
|
self.loading = false;
|
if (data.code == 1) {
|
self.$message({
|
message: '恭喜你,商户添加成功',
|
type: 'success'
|
});
|
self.$router.push('/supplier/supplier/index');
|
} else {
|
self.loading = false;
|
}
|
})
|
.catch(error => {
|
self.loading = false;
|
});
|
}
|
});
|
},
|
|
/*上传*/
|
openUpload(e) {
|
this.type = e;
|
this.isupload = true;
|
},
|
|
/*获取图片*/
|
returnImgsFunc(e) {
|
if (e != null && e.length > 0) {
|
if(this.type == 'logo'){
|
this.logo_file_path = e[0].file_path;
|
this.form.supplier.logo_id = e[0].file_id;
|
}else if(this.type == 'business'){
|
this.business_file_path = e[0].file_path;
|
this.form.supplier.business_id = e[0].file_id;
|
}else if(this.type == 'qyqrcode'){
|
this.qy_qrcode_file_path = e[0].file_path;
|
this.form.supplier.qy_qrcode_id = e[0].file_id;
|
}
|
}
|
this.isupload = false;
|
},
|
|
|
/*取消*/
|
cancelFunc() {
|
this.$router.back(-1);
|
},
|
/*打开弹出层*/
|
userClick() {
|
this.open_user = true;
|
},
|
|
/*关闭获取用户弹窗*/
|
closeDialogFunc(e) {
|
if (e.type != 'error') {
|
this.user_info = e.params[0];
|
this.form.supplier.user_id = e.params[0].user_id;
|
}
|
this.open_user = false;
|
},
|
|
}
|
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.basic-setting-content {}
|
|
.product-add {
|
padding-bottom: 50px;
|
}
|
|
.img {
|
margin-top: 10px;
|
}
|
</style>
|