Commit 33a8acdb authored by 黄奎's avatar 黄奎

页面修改

parent 87c39158
......@@ -5,145 +5,139 @@
</div>
<div class="content">
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="150px" style="width:60%">
<el-form-item label="分类">
<template v-if="addMsg.CategoryList && addMsg.CategoryList.length>0">
<el-tag type="warning" style="margin-right:10px;" @close="exitCheck(item,index)"
v-for="(item,index) in addMsg.CategoryList" :key="index" closable>
{{item.CategoryName}}
</el-tag>
</template>
<el-button type="primary" @click="flDig=true,keepCategoryList=addMsg.CategoryList"
style="margin:0 10px;" size="small">选择分类</el-button>
</el-form-item>
<!-- <el-form-item label="分销名称" prop="Name">
<el-form-item label="分类">
<template v-if="addMsg.CategoryList && addMsg.CategoryList.length>0">
<el-tag type="warning" style="margin-right:10px;" @close="exitCheck(item,index)"
v-for="(item,index) in addMsg.CategoryList" :key="index" closable>
{{item.CategoryName}}
</el-tag>
</template>
<el-button type="primary" @click="flDig=true,keepCategoryList=addMsg.CategoryList" style="margin:0 10px;"
size="small">选择分类</el-button>
</el-form-item>
<!-- <el-form-item label="分销名称" prop="Name">
<el-input v-model="addMsg.Name" size="small"></el-input>
</el-form-item> -->
<el-form-item label="等级">
<el-button @click="gradeDig=true" size="small" type="primary" style="margin-bottom:10px">选择等级</el-button>
<el-table
:data="addMsg.RatioList"
border
style="width: 100%">
<el-table-column
prop="GradeName"
label="名称">
</el-table-column>
<el-table-column
prop="address"
label="比例">
<template slot-scope="scope">
<el-input @input="inputVal(scope.row)" type="number" min="1" v-model="scope.row.CommissionRatio" size="small" placeholder="请输入">
<el-button slot="append">%</el-button>
</el-input>
</template>
</el-table-column>
<el-table-column
width="80px"
prop="address"
label="操作">
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" content="删除" placement="top">
<img @click="Delete(scope.row,scope.$index)" style="width:32px;height:32px;margin:0 10px" src="../../assets/img/userman/del.png" alt="">
</el-tooltip>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item label="返佣小数类型" prop="DecimalType">
<el-radio v-model="addMsg.DecimalType" :label="1">整数</el-radio>
<el-radio v-model="addMsg.DecimalType" :label="2">保留2位小数</el-radio>
</el-form-item>
<el-form-item label="是否启用" prop="Enabled">
<el-radio v-model="addMsg.Enabled" :label="1"></el-radio>
<el-radio v-model="addMsg.Enabled" :label="2"></el-radio>
</el-form-item>
</el-form>
<el-form-item label="等级">
<el-button @click="gradeDig=true" size="small" type="primary" style="margin-bottom:10px">选择等级</el-button>
<el-table :data="addMsg.RatioList" border style="width: 100%">
<el-table-column prop="GradeName" label="名称">
</el-table-column>
<el-table-column prop="address" label="比例">
<template slot-scope="scope">
<el-input @input="inputVal(scope.row)" type="number" min="1" v-model="scope.row.CommissionRatio"
size="small" placeholder="请输入">
<el-button slot="append">%</el-button>
</el-input>
</template>
</el-table-column>
<el-table-column width="80px" prop="address" label="操作">
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" content="删除" placement="top">
<img @click="Delete(scope.row,scope.$index)" style="width:32px;height:32px;margin:0 10px"
src="../../assets/img/userman/del.png" alt="">
</el-tooltip>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-form-item label="返佣小数类型" prop="DecimalType">
<el-radio v-model="addMsg.DecimalType" :label="1">整数</el-radio>
<el-radio v-model="addMsg.DecimalType" :label="2">保留2位小数</el-radio>
</el-form-item>
<el-form-item label="是否启用" prop="Enabled">
<el-radio v-model="addMsg.Enabled" :label="1"></el-radio>
<el-radio v-model="addMsg.Enabled" :label="2"></el-radio>
</el-form-item>
</el-form>
</div>
<div style="margin-top:20px">
<el-button size="small" type="primary" @click="Save('addMsg')">保存</el-button>
<el-button size="small" type="primary" @click="Save('addMsg')">保存</el-button>
</div>
<!-- 选择分类 -->
<el-dialog custom-class="app-add-cat" title="选择分类" :visible.sync="flDig" width="1100px">
<el-row>
<el-col :span="8" style="padding:0 10px;box-sizing:border-box">
<h3 style="padding:15px 0">一级分类</h3>
<div class="app-goods-cat-list active">
<el-checkbox-group v-model="NewCategoryList" @change="handleCheckChange">
<div v-for="(item,index) in fenleiData" :key="index" flex="dir:left box:first" class="cat-item">
<el-checkbox :label="item.Id">
<span style="display: none;">{{item.Name}}</span>
</el-checkbox>
<div flex="box:last cross:center">
<span>{{item.Name}}</span>
<i v-if="item.ChildList.length>0" @click="getChild2(item.ChildList)" class="el-icon-arrow-right"></i>
</div>
</div>
</el-checkbox-group>
<el-row>
<el-col :span="8" style="padding:0 10px;box-sizing:border-box">
<h3 style="padding:15px 0">一级分类</h3>
<div class="app-goods-cat-list active">
<el-checkbox-group v-model="NewCategoryList" @change="handleCheckChange">
<div v-for="(item,index) in fenleiData" :key="index" flex="dir:left box:first" class="cat-item">
<el-checkbox :label="item.Id">
<span style="display: none;">{{item.Name}}</span>
</el-checkbox>
<div flex="box:last cross:center">
<span>{{item.Name}}</span>
<i v-if="item.ChildList.length>0" @click="getChild2(item.ChildList)" class="el-icon-arrow-right"></i>
</div>
</el-col>
<el-col v-show="childList2.length>0" :span="8" style="padding:0 10px;box-sizing:border-box">
<h3 style="padding:15px 0">二级分类</h3>
<div class="app-goods-cat-list active">
<el-checkbox-group v-model="NewCategoryList" @change="handleCheckChange">
<div v-for="(item,index) in childList2" :key="index" flex="dir:left box:first" class="cat-item">
<el-checkbox :label="item.Id">
<span style="display: none;">{{item.Name}}</span>
</el-checkbox>
<div flex="box:last cross:center">
<span>{{item.Name}}</span>
<i v-if="item.ChildList.length>0" @click="getChild3(item.ChildList)" class="el-icon-arrow-right"></i>
</div>
</div>
</el-checkbox-group>
</div>
</el-checkbox-group>
</div>
</el-col>
<el-col v-show="childList2.length>0" :span="8" style="padding:0 10px;box-sizing:border-box">
<h3 style="padding:15px 0">二级分类</h3>
<div class="app-goods-cat-list active">
<el-checkbox-group v-model="NewCategoryList" @change="handleCheckChange">
<div v-for="(item,index) in childList2" :key="index" flex="dir:left box:first" class="cat-item">
<el-checkbox :label="item.Id">
<span style="display: none;">{{item.Name}}</span>
</el-checkbox>
<div flex="box:last cross:center">
<span>{{item.Name}}</span>
<i v-if="item.ChildList.length>0" @click="getChild3(item.ChildList)" class="el-icon-arrow-right"></i>
</div>
</el-col>
<el-col v-show="childList3.length>0" :span="8" style="padding:0 10px;box-sizing:border-box">
<h3 style="padding:15px 0">三级分类</h3>
<div class="app-goods-cat-list active">
<el-checkbox-group v-model="NewCategoryList" @change="handleCheckChange">
<div v-for="(item,index) in childList3" :key="index" flex="dir:left box:first" class="cat-item">
<el-checkbox :label="item.Id">
<span style="display: none;">{{item.Name}}</span>
</el-checkbox>
<div flex="box:last cross:center">
<span>{{item.Name}}</span>
<i class="el-icon-arrow-right"></i>
</div>
</div>
</el-checkbox-group>
</div>
</el-checkbox-group>
</div>
</el-col>
<el-col v-show="childList3.length>0" :span="8" style="padding:0 10px;box-sizing:border-box">
<h3 style="padding:15px 0">三级分类</h3>
<div class="app-goods-cat-list active">
<el-checkbox-group v-model="NewCategoryList" @change="handleCheckChange">
<div v-for="(item,index) in childList3" :key="index" flex="dir:left box:first" class="cat-item">
<el-checkbox :label="item.Id">
<span style="display: none;">{{item.Name}}</span>
</el-checkbox>
<div flex="box:last cross:center">
<span>{{item.Name}}</span>
<i class="el-icon-arrow-right"></i>
</div>
</el-col>
</el-row>
<div class="tag-box">
<el-tag @close="exitCheck(item)" v-for="(item,index) in addMsg.CategoryList" :key="index" type="warning"
closable style="margin-right:5px">{{item.Name}}</el-tag>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="flDig=false,addMsg.CategoryList=keepCategoryList,ExitCateList()">取 消</el-button>
<el-button @click="flDig = false" size="small" type="primary">确 定</el-button>
</span>
</div>
</el-checkbox-group>
</div>
</el-col>
</el-row>
<div class="tag-box">
<el-tag @close="exitCheck(item)" v-for="(item,index) in addMsg.CategoryList" :key="index" type="warning"
closable style="margin-right:5px">{{item.Name}}</el-tag>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="flDig=false,addMsg.CategoryList=keepCategoryList,ExitCateList()">取 消</el-button>
<el-button @click="flDig = false" size="small" type="primary">确 定</el-button>
</span>
</el-dialog>
<!-- 选择等级 -->
<el-dialog title="选择等级" :visible.sync="gradeDig" width="510px">
<div style="box-sizing: border-box;background-color: #F3F5F6;width: 100%;padding-left: 20px;height: 50px;line-height: 50px;">
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选
</el-checkbox>
</div>
<div style="margin: 15px 0;"></div>
<div style="padding: 10px 25px 20px;">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<el-checkbox style="margin-bottom:10px;width:110px" v-for="city in cities" :label="city.Id" :key="city.GradeName">
{{city.GradeName}}</el-checkbox>
</el-checkbox-group>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="gradeDig = false">取 消</el-button>
<el-button size="small" type="primary" @click="chooseGrade">确 定</el-button>
</span>
<div
style="box-sizing: border-box;background-color: #F3F5F6;width: 100%;padding-left: 20px;height: 50px;line-height: 50px;">
<el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选
</el-checkbox>
</div>
<div style="margin: 15px 0;"></div>
<div style="padding: 10px 25px 20px;">
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
<el-checkbox style="margin-bottom:10px;width:110px" v-for="city in cities" :label="city.Id"
:key="city.GradeName">
{{city.GradeName}}</el-checkbox>
</el-checkbox-group>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="gradeDig = false">取 消</el-button>
<el-button size="small" type="primary" @click="chooseGrade">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
......@@ -156,15 +150,15 @@
cities: [],
cityOptions: [],
isIndeterminate: true,
gradeDig:false,
flDig:false,
gradeDig: false,
flDig: false,
addMsg: {
Id: 0,
DecimalType: 2,
Name: '',
Enabled:2,
RatioList:[],
CategoryList:[],
Id: 0,
DecimalType: 2,
Name: '',
Enabled: 2,
RatioList: [],
CategoryList: [],
},
rules: {
Name: [{
......@@ -172,233 +166,226 @@
message: '请输入分销名称',
trigger: 'blur'
}],
DecimalType: [
{ required: true, message: '请选择类型', trigger: 'change' }
],
Enabled: [
{ required: true, message: '请选择是否启用', trigger: 'change' }
],
DecimalType: [{
required: true,
message: '请选择类型',
trigger: 'change'
}],
Enabled: [{
required: true,
message: '请选择是否启用',
trigger: 'change'
}],
},
GradeId: '',
loading: false,
gradeList: [],
fenleiData:[],
fenleiData: [],
checkList: [],
childList2: [],
childList3: [],
keepCategoryList: [],
HpGradeList:[],
NewCategoryList:[],
HpGradeList: [],
NewCategoryList: [],
};
},
created() {
this.getTree();
this.getHpDistributorGrade();
},
methods: {
inputVal(row){
if(Number(row.CommissionRatio)<0){
row.CommissionRatio=1;
}
if(Number(row.CommissionRatio)>100){
row.CommissionRatio=100;
}
},
Delete(item,index){
this.addMsg.RatioList.splice(index, 1);
this.checkedCities.forEach((list,k)=>{
if(list==item.GradeId){
this.checkedCities.splice(k, 1);
}
})
},
chooseGrade(){
let arr=[];
this.addMsg.RatioList=[];
this.cities.forEach(item=>{
this.checkedCities.forEach(list=>{
if(item.Id==list){
let Obj={
Grade:item.Grade,
GradeId:item.Id,
CommissionRatio:'',
GradeName:item.GradeName,
}
arr.push(Obj);
}
})
})
let list=arr.sort(this.compareGrade("Grade",true));
this.addMsg.RatioList=list;
this.gradeDig=false;
},
compareGrade(property,desc) {
return function (a, b) {
var value1 = a[property];
var value2 = b[property];
if(desc==true){
// 升序排列
return value1 - value2;
}else{
// 降序排列
return value2 - value1;
}
}
},
handleCheckAllChange(val) {
this.checkedCities = val ? this.cityOptions : [];
this.isIndeterminate = false;
},
handleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
},
Save(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if(this.addMsg.RatioList.length==0){
this.Error("请选择返佣等级!");
return;
}
this.apipost("/api/user/SetHpDistributorInfo", this.addMsg, res => {
if (res.data.resultCode == 1) {
this.CommonJump('PeaceDistribution');
} else {
this.Error(res.data.message);
}
})
} else {
return false;
inputVal(row) {
if (Number(row.CommissionRatio) < 0) {
row.CommissionRatio = 1;
}
if (Number(row.CommissionRatio) > 100) {
row.CommissionRatio = 100;
}
},
Delete(item, index) {
this.addMsg.RatioList.splice(index, 1);
this.checkedCities.forEach((list, k) => {
if (list == item.GradeId) {
this.checkedCities.splice(k, 1);
}
})
},
chooseGrade() {
let arr = [];
this.addMsg.RatioList = [];
this.cities.forEach(item => {
this.checkedCities.forEach(list => {
if (item.Id == list) {
let Obj = {
Grade: item.Grade,
GradeId: item.Id,
CommissionRatio: '',
GradeName: item.GradeName,
}
arr.push(Obj);
}
});
},
ExitCateList(){
this.NewCategoryList=[];
this.addMsg.CategoryList.forEach(item=>{
item.Name=item.CategoryName;
this.NewCategoryList.push(item.CategoryId)
})
},
handleCheckChange() {
this.addMsg.CategoryList=[];
this.NewCategoryList.forEach(list=>{
this.fenleiData.forEach(item => {
if(list==item.Id){
item.CategoryId=item.Id;
this.addMsg.CategoryList.push(item)
}
item.ChildList.forEach(item2=>{
if(list==item2.Id){
item2.CategoryId=item2.Id;
this.addMsg.CategoryList.push(item2)
}
item2.ChildList.forEach(item3=>{
if(list==item3.Id){
item3.CategoryId=item3.Id;
this.addMsg.CategoryList.push(item3)
}
})
})
})
})
})
})
console.log("this.addMsg.CategoryList",this.addMsg.CategoryList)
},
exitCheck(item, index) {
this.addMsg.CategoryList.forEach((list, k) => {
if (list.Id == item.Id) {
this.addMsg.CategoryList.splice(k, 1);
let list = arr.sort(this.compareGrade("Grade", true));
this.addMsg.RatioList = list;
this.gradeDig = false;
},
compareGrade(property, desc) {
return function (a, b) {
var value1 = a[property];
var value2 = b[property];
if (desc == true) {
// 升序排列
return value1 - value2;
} else {
// 降序排列
return value2 - value1;
}
}
},
handleCheckAllChange(val) {
this.checkedCities = val ? this.cityOptions : [];
this.isIndeterminate = false;
},
handleCheckedCitiesChange(value) {
let checkedCount = value.length;
this.checkAll = checkedCount === this.cities.length;
this.isIndeterminate = checkedCount > 0 && checkedCount < this.cities.length;
},
Save(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.addMsg.RatioList.length == 0) {
this.Error("请选择返佣等级!");
return;
}
this.apipost("/api/user/SetHpDistributorInfo", this.addMsg, res => {
if (res.data.resultCode == 1) {
this.CommonJump('PeaceDistribution');
} else {
this.Error(res.data.message);
}
})
this.ExitCateList();
},
getChild3(ChildList) {
this.childList3 = ChildList;
},
getChild2(ChildList) {
this.childList2 = ChildList;
},
getTree() {
let msg1 = {
Id: 0,
Name: '',
Tier: 0,
ParentId: 0,
Enabled: 1,
IsShow: 1,
}
this.apipost("/api/product/GetProductCategoryTreeList", msg1, res => {
if (res.data.resultCode == 1) {
let pageData = res.data.data;
this.fenleiData = pageData;
this.fenleiData.forEach(item => {
item.CategoryName = item.Name;
item.ChildList.forEach(item2=>{
item2.CategoryName = item2.Name;
item2.ChildList.forEach(item3=>{
item3.CategoryName = item3.Name;
})
})
})
} else {
return false;
}
});
},
ExitCateList() {
this.NewCategoryList = [];
this.addMsg.CategoryList.forEach(item => {
item.Name = item.CategoryName;
this.NewCategoryList.push(item.CategoryId)
})
},
handleCheckChange() {
this.addMsg.CategoryList = [];
this.NewCategoryList.forEach(list => {
this.fenleiData.forEach(item => {
if (list == item.Id) {
item.CategoryId = item.Id;
this.addMsg.CategoryList.push(item)
}
})
},
getHpDistributorGrade() {
this.cityOptions = [];
this.apipost("/api/user/GetHpDistributorGradeList", {}, res => {
this.cities = res.data.data;
let data = res.data.data;
data.forEach(item => {
this.cityOptions.push(item.Id)
})
if (this.$route.query.UserId) {
this.GradeId = this.$route.query.UserId;
this.getData()
item.ChildList.forEach(item2 => {
if (list == item2.Id) {
item2.CategoryId = item2.Id;
this.addMsg.CategoryList.push(item2)
}
item2.ChildList.forEach(item3 => {
if (list == item3.Id) {
item3.CategoryId = item3.Id;
this.addMsg.CategoryList.push(item3)
}
})
})
},
getData() {
this.loading = true;
this.apipost("/api/user/GetHpdistributorInfo", {
CommissionId: this.GradeId
}, res => {
this.loading = false;
this.addMsg = res.data.data;
this.NewCategoryList=[];
this.addMsg.CategoryList.forEach(item=>{
item.Name=item.CategoryName;
this.NewCategoryList.push(item.CategoryId)
})
})
},
exitCheck(item, index) {
this.addMsg.CategoryList.forEach((list, k) => {
if (list.Id == item.Id) {
this.addMsg.CategoryList.splice(k, 1);
}
})
this.ExitCateList();
},
getChild3(ChildList) {
this.childList3 = ChildList;
},
getChild2(ChildList) {
this.childList2 = ChildList;
},
getTree() {
let msg1 = {
Id: 0,
Name: '',
Tier: 0,
ParentId: 0,
Enabled: 1,
IsShow: 1,
}
this.apipost("/api/product/GetProductCategoryTreeList", msg1, res => {
if (res.data.resultCode == 1) {
let pageData = res.data.data;
this.fenleiData = pageData;
this.fenleiData.forEach(item => {
item.CategoryName = item.Name;
item.ChildList.forEach(item2 => {
item2.CategoryName = item2.Name;
item2.ChildList.forEach(item3 => {
item3.CategoryName = item3.Name;
})
this.checkedCities=[];
this.addMsg.RatioList.forEach(item=>{
this.cities.forEach(list=>{
if(item.GradeId==list.Id){
this.checkedCities.push(list.Id);
}
})
})
//
})
})
},
}
})
},
getHpDistributorGrade() {
this.cityOptions = [];
this.apipost("/api/user/GetHpDistributorGradeList", {}, res => {
this.cities = res.data.data;
let data = res.data.data;
data.forEach(item => {
this.cityOptions.push(item.Id)
})
if (this.$route.query.UserId) {
this.GradeId = this.$route.query.UserId;
this.getData()
}
})
},
getData() {
this.loading = true;
this.apipost("/api/user/GetHpdistributorInfo", {
CommissionId: this.GradeId
}, res => {
this.loading = false;
this.addMsg = res.data.data;
this.NewCategoryList = [];
this.addMsg.CategoryList.forEach(item => {
item.Name = item.CategoryName;
this.NewCategoryList.push(item.CategoryId)
})
this.checkedCities = [];
this.addMsg.RatioList.forEach(item => {
this.cities.forEach(list => {
if (item.GradeId == list.Id) {
this.checkedCities.push(list.Id);
}
})
})
})
},
},
mounted() {
}
};
</script>
<style>
.app-add-cat .el-checkbox-group {
.app-add-cat .el-checkbox-group {
font-size: 14px !important;
}
......@@ -435,6 +422,7 @@
overflow: scroll;
height: 400px;
}
.usersListEdit .tip {
margin-left: 10px;
display: inline-block;
......
......@@ -132,7 +132,7 @@
</el-input>
</el-form-item>
</template>
<template v-if="!rubData.data.list[rubik]">
<template v-if="rubData.data.list&&!rubData.data.list[rubik]">
<el-form-item label="图片上传">
<span>请先在左边选择图片位置</span>
</el-form-item>
......@@ -141,7 +141,7 @@
<el-card shadow="never">
<el-form-item label="图片上传">
<el-button size="mini" @click="choicImg=true">选择图片</el-button>
<div flex style="flex-wrap: wrap;" v-if="rubData.data.list[rubik].pic_url">
<div flex style="flex-wrap: wrap;" v-if="rubData.data.list&&rubData.data.list[rubik].pic_url">
<div flex="main:center cross:center" class="app-gallery-item"
style="height: 100px; width: 100px;">
<img :src="getIconLink(rubData.data.list[rubik].pic_url)" style="width:100%;height:100%;">
......@@ -149,7 +149,7 @@
</div>
</el-form-item>
<el-form-item label="选择链接">
<el-input size="small" v-model="rubData.data.list[rubik].link[0].PageName" :disabled="true">
<el-input size="small" v-model="rubData.data.list&&rubData.data.list[rubik].link[0].PageName" :disabled="true">
<template slot="append">
<el-button @click="isShowLink=true">选择链接</el-button>
</template>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment