<template>
|
<!--
|
作者:lyzflash
|
时间:2025-09-24
|
描述:分会-添加分会
|
-->
|
<div>
|
<el-drawer title="添加分会" :visible.sync="drawerVisible" @close="drawerClose(false)" :direction="direction" size="1000px" custom-class="drawer-box">
|
<!--form表单-->
|
<div class="common-form">基本信息</div>
|
<el-form size="small" ref="form" :model="form" label-width="200px">
|
<el-form-item label="分会名称" prop="branch.name" :rules="[{required: true,message: '请输入名称'}]">
|
<el-input class="max-w460" v-model="form.branch.name" placeholder="请输入分会名称"></el-input>
|
</el-form-item>
|
<el-form-item label="连盟类型">
|
<el-radio-group v-model="form.branch.branch_type">
|
<el-radio :label="10">总会</el-radio>
|
<el-radio :label="20">分会</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="所属连盟" v-if="form.branch.branch_type==20">
|
<el-select v-model="form.branch.parent_branch_id" placeholder="请选择连盟">
|
<el-option :label="item.name" :value="item.branch_id" v-for="(item, index) in branchList" :key='index'></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="所在区域">
|
<el-select v-model="form.branch.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.branch.province_id!=''" v-model="form.branch.city_id" placeholder="市" @change="initRegion">
|
<el-option :label="item1.name" :value="item1.id" v-for="(item1,index1) in areaList[form.branch.province_id]['city']"
|
:key='index1'></el-option>
|
</el-select>
|
<el-select v-if="form.branch.city_id!=''" v-model="form.branch.region_id" placeholder="区">
|
<el-option :label="item2.name" :value="item2.id" v-for="(item2,index2) in areaList[form.branch.province_id]['city'][form.branch.city_id]['region']"
|
:key='index2'></el-option>
|
</el-select>
|
</el-form-item>
|
<!-- <el-form-item label="分会简介" prop="branch.description">
|
<el-input type="textarea" v-model="form.branch.description" class="max-w460"></el-input>
|
</el-form-item> -->
|
<el-form-item label="排序" prop="branch.sort">
|
<el-input v-model="form.branch.sort" type="number" placeholder="请输入排序序号"></el-input>
|
<div class="gray9">序号越大越靠前</div>
|
</el-form-item>
|
<div class="common-form">账号信息</div>
|
<el-form-item label="绑定会长">
|
<el-row>
|
<el-button icon="el-icon-picture-outline" @click="userClick()">选择用户</el-button>
|
<div v-if="form.branch.user_id!=0" class="img">
|
<img :src="user_info.avatarUrl" width="100" height="100" />
|
</div>
|
</el-row>
|
</el-form-item>
|
<el-form-item label="登录账号" prop="branch.user_name" :rules="[{required: true,message: ' '}]">
|
<el-input class="max-w460" v-model="form.branch.user_name" placeholder="请输入登录账号"></el-input>
|
</el-form-item>
|
<el-form-item label="登录密码" prop="branch.password" :rules="[{required: true,message: ' '}]">
|
<el-input v-model="form.branch.password" placeholder="请输入登录密码" type="password" class="max-w460"></el-input>
|
</el-form-item>
|
<el-form-item label="联系人" prop="branch.link_name" :rules="[{required: true,message: ' '}]">
|
<el-input class="max-w460" v-model="form.branch.link_name" placeholder="请输入联系人"></el-input>
|
</el-form-item>
|
<el-form-item label="联系电话" prop="branch.link_phone" :rules="[{required: true,message: ' '}]">
|
<el-input class="max-w460" v-model="form.branch.link_phone" placeholder="请输入联系电话"></el-input>
|
</el-form-item>
|
<!--提交-->
|
<div class="common-button-wrapper">
|
<el-button size="small" type="info" @click="drawerClose(false)">取消</el-button>
|
<el-button size="small" type="primary" @click="onSubmit" :loading="loading">提交</el-button>
|
</div>
|
</el-form>
|
</el-drawer>
|
<!--管理用户-->
|
<GetUser :is_open="open_user" @close="closeDialogFunc($event, 'add')"></GetUser>
|
</div>
|
</template>
|
|
<script>
|
import BranchApi from '@/api/branch.js';
|
import GetUser from '@/components/user/GetUser.vue';
|
import DataApi from '@/api/data.js';
|
export default {
|
components: {
|
/*选择用户*/
|
GetUser,
|
},
|
data() {
|
return {
|
drawerVisible: false, // 抽屉是否显示
|
direction: 'rtl', // 抽屉呼出方向
|
/*form表单数据*/
|
form: {
|
branch:{
|
user_id: 0,
|
branch_type: 20, // 类型 10总会 20分会
|
parent_branch_id: '', // 所属总会
|
province_id: '',
|
city_id: '',
|
region_id: '',
|
description: '',
|
sort: 0,
|
},
|
},
|
/*是否打开添加弹窗*/
|
open_add: false,
|
branchList: [], // 总会列表
|
loading: false,
|
open_user: false,
|
user_info: {},
|
/*省市区*/
|
areaList: [],
|
};
|
},
|
props: ['open'],
|
watch:{
|
open:function(n, o){
|
this.drawerVisible = this.open;
|
}
|
},
|
created() {
|
this.getData();
|
this.getBranchList();
|
},
|
methods: {
|
/*初始化城市id*/
|
initCity() {
|
this.form.branch.city_id = ''
|
},
|
|
/*初始化区id*/
|
initRegion() {
|
this.form.branch.region_id = ''
|
},
|
getData(){
|
let self = this;
|
DataApi.getRegion({}, true)
|
.then(res => {
|
self.areaList = res.data.regionData;
|
})
|
.catch(error => {
|
|
});
|
},
|
|
// 获取总会列表
|
getBranchList() {
|
let self = this;
|
BranchApi.branchLists({branch_type: 10}, true)
|
.then(res => {
|
self.branchList = res.data.list;
|
})
|
.catch(error => {
|
|
}
|
);
|
},
|
|
onSubmit() {
|
let self = this;
|
let form = self.form;
|
self.$refs.form.validate((valid) => {
|
if (valid) {
|
// 分会必须选择所属总会
|
if (form.branch.branch_type == 20 && form.branch.parent_branch_id == '') {
|
self.$message({
|
message: '请选择所属连盟',
|
type: 'error'
|
});
|
return false;
|
}
|
if (form.branch.branch_type == 10) {
|
form.branch.parent_branch_id = '';
|
}
|
self.loading = true;
|
BranchApi.addBranch(form, true)
|
.then(data => {
|
self.loading = false;
|
if (data.code == 1) {
|
self.$message({
|
message: '恭喜你,连盟添加成功',
|
type: 'success'
|
});
|
self.drawerClose(true);
|
} else {
|
self.loading = false;
|
}
|
})
|
.catch(error => {
|
self.loading = false;
|
});
|
}
|
});
|
},
|
|
/*关闭抽屉*/
|
drawerClose(e) {
|
this.$emit('closeDrawer', e);
|
},
|
|
/*打开弹出层*/
|
userClick() {
|
this.open_user = true;
|
},
|
|
/*关闭获取用户弹窗*/
|
closeDialogFunc(e) {
|
if (e.type != 'error') {
|
this.user_info = e.params[0];
|
this.form.branch.user_id = e.params[0].user_id;
|
}
|
this.open_user = false;
|
},
|
|
/*打开弹出层*/
|
// branchClick() {
|
// this.open_branch = true;
|
// },
|
|
/*关闭获取总会弹窗*/
|
// closeDialogBranch(e) {
|
// if (e.type != 'error') {
|
// this.branch_info = e.params[0];
|
// this.form.branch.parent_supplier_id = e.params[0].shop_supplier_id;
|
// }
|
// this.open_branch = false;
|
// },
|
|
}
|
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.basic-setting-content {}
|
|
.product-add {
|
padding-bottom: 50px;
|
}
|
|
|
</style>
|