Commit 06e9893f authored by 黄奎's avatar 黄奎

页面修改

parent 06bd1df3
......@@ -243,8 +243,8 @@
<div flex="dir:left">
<span class="box-grow-0" style="color:#606266">商品</span>
<div style="width: 100%;margin:0 10px">
<el-input placeholder="请输入限购数量" @keyup.native="checkInteger(addMsg,'Confine_Count','-')" v-model="addMsg.Confine_Count" size="small"
:disabled="addMsg.Confine_Count <=-1">
<el-input placeholder="请输入限购数量" @keyup.native="checkInteger(addMsg,'Confine_Count','-')"
v-model="addMsg.Confine_Count" size="small" :disabled="addMsg.Confine_Count <=-1">
<template slot="append"></template>
</el-input>
</div>
......@@ -255,7 +255,8 @@
<div flex="dir:left" style="margin-top: 10px;">
<span class="box-grow-0" style="color:#606266">订单</span>
<div style="width: 100%;margin:0 10px">
<el-input placeholder="请输入限购数量" @keyup.native="checkInteger(addMsg,'Confine_Order_Count','-')" v-model="addMsg.Confine_Order_Count" size="small"
<el-input placeholder="请输入限购数量" @keyup.native="checkInteger(addMsg,'Confine_Order_Count','-')"
v-model="addMsg.Confine_Order_Count" size="small"
:disabled="addMsg.Confine_Order_Count<=-1">
<template slot="append"></template>
</el-input>
......@@ -295,20 +296,20 @@
</el-switch>
</el-form-item>
<el-form-item v-if="addMsg.Is_Area_Limit == 1" label="允许购买区域">
<span v-if="addMsg.Area_limit.length == 0" @click="addArea" class="blue point">+添加地区</span>
<div v-if="addMsg.Area_limit.length > 0" style="border: 1px solid #EBEEF5;padding:20px"
<span v-if="addMsg.AreaList.length == 0" @click="addArea" class="blue point">+添加地区</span>
<div v-if="addMsg.AreaList.length > 0" style="border: 1px solid #EBEEF5;padding:20px"
flex="dir:left box:last">
<div>
<div flex="dir:left" style="flex-wrap: wrap; width: 90%;">
<span>区域:</span>
<el-tag v-for="item in addMsg.Area_limit" :key="item.Id" type="info" style="margin:5px">
<el-tag v-for="item in addMsg.AreaList" :key="item.Id" type="info" style="margin:5px">
{{ item.AreaName }}</el-tag>
</div>
</div>
<div>
<img @click="editQy" style="cursor:pointer;" src="../../assets/img/userman/edit.png" alt="" />
<img @click="(addMsg.Area_limit = []), (AreaList = [])" style="margin-left:15px;cursor:pointer;"
src="../../assets/img/userman/del.png" alt="" />
<img @click="(addMsg.AreaList = []), (ChooseAreaList = [])"
style="margin-left:15px;cursor:pointer;" src="../../assets/img/userman/del.png" alt="" />
</div>
</div>
</el-form-item>
......@@ -491,7 +492,7 @@
</el-dialog>
<!--区域-->
<el-dialog custom-class="regionDig" title="区域" :visible.sync="dialogFormVisible">
<regionChoice @event1="change($event)" :List="AreaList" ref="child"></regionChoice>
<regionChoice @event1="change($event)" :List="ChooseAreaList" ref="child"></regionChoice>
<div slot="footer" class="dialog-footer">
<el-button type="primary" size="small" @click="Addto">确 定</el-button>
</div>
......@@ -550,7 +551,7 @@
Pieces: 0, //单品满件包邮
Forehead: 0, //单品满额包邮
Is_Area_Limit: 0, //区域购买
Area_limit: [], //购买区域
AreaList: [], //购买区域
Give_integral: 0, //积分赠送
Give_integral_type: 1, //积分赠送=>1固定值 2百分比
Is_forehead_integral: 0, //积分抵扣
......@@ -583,7 +584,7 @@
formName: '',
imgDialog: false,
//区域
AreaList:[],
ChooseAreaList: [],
dialogFormVisible: false,
rules: {
StartTime: [{
......@@ -646,7 +647,10 @@
this.addMsg.Pieces = Mydata.Pieces;
this.addMsg.Forehead = Mydata.Forehead;
this.addMsg.Is_Area_Limit = Mydata.Is_Area_Limit;
this.addMsg.Area_limit = Mydata.Area_limit;
if (Mydata.AreaList && Mydata.AreaList) {
this.addMsg.AreaList = Mydata.AreaList;
this.ChooseAreaList = Mydata.AreaList;
}
this.addMsg.Give_integral = Mydata.Give_integral;
this.addMsg.Give_integral_type = Mydata.Give_integral_type;
this.addMsg.Is_forehead_integral = Mydata.Is_forehead_integral;
......@@ -821,37 +825,36 @@
this.imgDialog = false;
},
//添加区域
addArea(){
addArea() {
this.dialogFormVisible = true;
this.AreaList = [];
this.addMsg.Area_limit = [];
this.ChooseAreaList = [];
this.addMsg.AreaList = [];
setTimeout(() => {
this.$refs.child.Receive(this.AreaList);
this.$refs.child.Receive(this.ChooseAreaList);
}, 1000);
},
//点击区域弹窗确定
Addto() {
this.addMsg.Area_limit = [];
this.AreaList.forEach(item => {
this.addMsg.AreaList = [];
this.ChooseAreaList.forEach(item => {
let obj = {
Id: item.RegionId,
AreaId: item.RegionId,
AreaName: item.RegionName
};
this.addMsg.Area_limit.push(obj);
this.addMsg.AreaList.push(obj);
});
this.dialogFormVisible = false;
},
change(data) {
this.AreaList = data;
this.ChooseAreaList = data;
},
editQy() {
this.dialogFormVisible = true;
setTimeout(() => {
this.$refs.child.Receive(this.AreaList);
this.$refs.child.Receive(this.ChooseAreaList);
}, 1000);
}
}
};
......
......@@ -2,27 +2,27 @@
<div class="regionChoice" v-loading="loading">
<div class="item">
<div class="item_b" v-for="(item,index) in regionList" :key="index">
<el-checkbox :indeterminate="item.indeterminate" v-model="item.ischeckAll"
@change="handleCheckAllChange(index,item.ID,$event)" :disabled="item.disabled"> </el-checkbox>
<el-checkbox :indeterminate="item.indeterminate" v-model="item.ischeckAll" @change="handleCheckAllChange(index,item.ID,$event)" :disabled="item.disabled"> </el-checkbox>
<span @click="showcity(index,item.ID)">{{item.Name}}</span>
</div>
</div>
<div class="item">
<div class="item_b" v-for="(item,index) in cityList " :key="index">
<el-checkbox :indeterminate="item.indeterminate" v-model="item.ischeckAll"
@change="handleCityAllChange(index,item.ID,$event)" :disabled="item.disabled"> </el-checkbox>
<el-checkbox :indeterminate="item.indeterminate" v-model="item.ischeckAll" @change="handleCityAllChange(index,item.ID,$event)" :disabled="item.disabled"> </el-checkbox>
<span @click="showarea(index,item.ID)">{{item.Name}}</span>
</div>
</div>
<div class="item">
<div class="item_b" v-for="(item,index) in areaList" :key="index" v-if="areaList[0].Name.indexOf('街道')==-1">
<el-checkbox v-model="item.ischeckAll" @change="handleareaAllChange(index,item.ID,$event)"
:disabled="item.disabled"></el-checkbox>
<div class="item_b" v-for="(item,index) in areaList" :key="index" v-if="areaList[0].Name.indexOf('街道')==-1" >
<el-checkbox v-model="item.ischeckAll" @change="handleareaAllChange(index,item.ID,$event)" :disabled="item.disabled"></el-checkbox>
<span>{{item.Name}}</span>
</div>
</div>
</div>
</template>
<script>
export default {
name: "regionChoice",
......@@ -30,127 +30,139 @@
List: Array,
required: true
},
data() {
return {
regionList: [],
msg: {
Id: 1,
},
cityID: 0,
areaID: 0,
list: [],
provinceindex: 0,
cityindex: 0,
areaindex: 0,
cityList: [],
areaList: [],
loading: false,
getlist: [],
isban: false, //是否禁止
isbanlist: [], //被禁的数组
data(){
return{
regionList:[],
msg:{ Id:1,},
cityID:0,
areaID:0,
list:[],
provinceindex:0,
cityindex:0,
areaindex:0,
cityList:[],
areaList:[],
loading:false,
getlist:[],
isban:false,//是否禁止
isbanlist:[],//被禁的数组
}
},
methods: {
getprovince() {
methods:{
getprovince(){
let getlist = this.getlist
let isbanlist = this.isbanlist
this.apipost("/api/Destination/GetChildList", this.msg, res => {
this.apipost("/api/Destination/GetChildList",this.msg , res => {
if (res.data.resultCode == 1) {
let data = res.data.data;
for (let i = 0; i < data.length; i++) {
data[i].ischeckAll = false;
data[i].indeterminate = false;
if (getlist.length > 0) {
for (let j = 0; j < getlist.length; j++) {
if (getlist[j].GrandpaID == data[i].ID || getlist[j].ParentID == data[i]
.ID) { //如果有着2个参数再 他的子级没选择完全
data[i].indeterminate = true;
this.citylist(data[i].ID, i)
}
if (getlist[j].RegionId == data[i].ID) {
data[i].ischeckAll = true;
data[i].indeterminate = false;
for(let i=0;i<data.length;i++){
data[i].ischeckAll=false;
data[i].indeterminate=false;
if(getlist.length>0){
for(let j=0;j<getlist.length;j++){
if(getlist[j].GrandpaID==data[i].ID || getlist[j].ParentID==data[i].ID){ //如果有着2个参数再 他的子级没选择完全
data[i].indeterminate=true;
this.citylist(data[i].ID,i)
}
if(getlist[j].RegionId==data[i].ID){
data[i].ischeckAll=true;
data[i].indeterminate=false;
this.getCitylist(true)
}
}
}
if (isbanlist.length > 0 && this.isban == true) {
for (let j = 0; j < isbanlist.length; j++) {
if (isbanlist[j].GrandpaID == data[i].ID || isbanlist[j].ParentID == data[i]
.ID) { //如果有着2个参数再 他的子级没选择完全
data[i].disabled = true;
this.citylist(data[i].ID, i)
if(isbanlist.length>0 && this.isban==true){
for(let j=0;j<isbanlist.length;j++){
if(isbanlist[j].GrandpaID==data[i].ID || isbanlist[j].ParentID==data[i].ID){ //如果有着2个参数再 他的子级没选择完全
data[i].disabled=true;
this.citylist(data[i].ID,i)
}
if (isbanlist[j].RegionId == data[i].ID) {
data[i].disabled = true;
if(isbanlist[j].RegionId==data[i].ID){
data[i].disabled=true;
}
}
}
}
this.regionList = data;
this.cityID = data[this.provinceindex].ID
this.getCitylist()
} else {
// this.Info(res.data.message);
}
})
},
getCitylist(type = false, type2 = true) {
let getlist = this.getlist
getCitylist(type=false,type2=true){
let getlist =this.getlist
let isbanlist = this.isbanlist
this.apipost("/api/Destination/GetChildList", {
'Id': this.cityID
}, res => {
this.apipost("/api/Destination/GetChildList",{'Id':this.cityID} , res => {
if (res.data.resultCode == 1) {
let data = res.data.data;
this.areaID = data[this.cityindex].ID
for (let i = 0; i < data.length; i++) {
if (type2 == true) {
if (getlist.length > 0) {
for (let j = 0; j < getlist.length; j++) {
if (type == true) {
data[i].ischeckAll = true;
data[i].indeterminate = false;
} else {
if (getlist[j].RegionId == data[i].ID || getlist[j].RegionId == this.cityID) {
data[i].ischeckAll = true;
data[i].indeterminate = false;
} else if (getlist[j].ParentID == data[i].ID) {
data[i].ischeckAll = false;
data[i].indeterminate = true;
for(let i=0;i<data.length;i++){
if(type2==true){
if(getlist.length>0){
for(let j=0;j<getlist.length;j++){
if(type==true){
data[i].ischeckAll=true;
data[i].indeterminate=false;
}else {
if(getlist[j].RegionId==data[i].ID || getlist[j].RegionId==this.cityID){
data[i].ischeckAll=true;
data[i].indeterminate=false;
}else if(getlist[j].ParentID==data[i].ID){
data[i].ischeckAll=false;
data[i].indeterminate=true;
} else if (data[i].hasOwnProperty('ischeckAll') == false && data[i].hasOwnProperty(
'indeterminate') == false) {
data[i].ischeckAll = false;
data[i].indeterminate = false;
}else if(data[i].hasOwnProperty('ischeckAll')==false && data[i].hasOwnProperty('indeterminate')==false){
data[i].ischeckAll=false;
data[i].indeterminate=false;
}
}
}
} else {
if (type == true) {
data[i].ischeckAll = true;
data[i].indeterminate = false;
} else {
data[i].ischeckAll = false;
data[i].indeterminate = false;
}else {
if(type==true){
data[i].ischeckAll=true;
data[i].indeterminate=false;
}else {
data[i].ischeckAll=false;
data[i].indeterminate=false;
}
}
if (isbanlist.length > 0 && this.isban == true) {
for (let j = 0; j < isbanlist.length; j++) {
if (isbanlist[j].RegionId == data[i].ID || isbanlist[j].RegionId == this.cityID) {
data[i].disabled = true;
} else if (isbanlist[j].ParentID == data[i].ID) {
data[i].disabled = true;
if(isbanlist.length>0 && this.isban==true){
for(let j=0;j<isbanlist.length;j++){
if(isbanlist[j].RegionId==data[i].ID || isbanlist[j].RegionId==this.cityID){
data[i].disabled=true;
}else if(isbanlist[j].ParentID==data[i].ID){
data[i].disabled=true;
}
}
}
} else {
data[i].ischeckAll = false;
data[i].indeterminate = false;
}else {
data[i].ischeckAll=false;
data[i].indeterminate=false;
}
}
let regionList = this.regionList
for (let i = 0; i < regionList.length; i++) {
if (regionList[i].ID == this.cityID) {
for(let i=0;i<regionList.length;i++){
if(regionList[i].ID== this.cityID){
regionList[i].cityList = data;
}
}
......@@ -161,57 +173,60 @@
}
})
},
getareaIDlist(type = false, type2 = true) {
let getlist = this.getlist
getareaIDlist(type=false,type2=true){
let getlist =this.getlist
let isbanlist = this.isbanlist
this.apipost("/api/Destination/GetChildList", {
'Id': this.areaID
}, res => {
this.loading = false
this.apipost("/api/Destination/GetChildList",{'Id':this.areaID} , res => {
this.loading= false
if (res.data.resultCode == 1) {
let data = res.data.data;
for (let i = 0; i < data.length; i++) {
if (type2 == true) {
if (getlist.length > 0) {
for (let j = 0; j < getlist.length; j++) {
if (type == true) {
data[i].ischeckAll = true;
} else {
for(let i=0;i<data.length;i++){
if(type2==true){
if(getlist.length>0){
for(let j=0;j<getlist.length;j++){
if(type==true){
data[i].ischeckAll=true;
}else {
if(getlist[j].RegionId==this.cityID || getlist[j].RegionId==data[i].ID || getlist[j].RegionId == this.areaID){
data[i].ischeckAll=true;
}else if(data[i].hasOwnProperty('ischeckAll')==false ){
data[i].ischeckAll=false;
if (getlist[j].RegionId == this.cityID || getlist[j].RegionId == data[i].ID || getlist[j]
.RegionId == this.areaID) {
data[i].ischeckAll = true;
} else if (data[i].hasOwnProperty('ischeckAll') == false) {
data[i].ischeckAll = false;
}
}
}
} else {
if (type == true) {
data[i].ischeckAll = true;
} else {
data[i].ischeckAll = false;
}else {
if(type==true){
data[i].ischeckAll=true;
}else {
data[i].ischeckAll=false;
}
}
if (isbanlist.length > 0 && this.isban == true) {
for (let j = 0; j < isbanlist.length; j++) {
if (isbanlist[j].RegionId == this.cityID || isbanlist[j].RegionId == data[i].ID || isbanlist[j]
.RegionId == this.areaID) {
data[i].disabled = true;
if(isbanlist.length>0 && this.isban==true){
for(let j=0;j<isbanlist.length;j++){
if(isbanlist[j].RegionId==this.cityID || isbanlist[j].RegionId==data[i].ID || isbanlist[j].RegionId == this.areaID){
data[i].disabled=true;
}
}
}
} else {
data[i].ischeckAll = false;
}else {
data[i].ischeckAll=false;
}
}
let regionList = this.regionList;
for (let i = 0; i < regionList.length; i++) {
if (regionList[i].ID == this.cityID) {
for(let i=0;i<regionList.length;i++){
if(regionList[i].ID== this.cityID){
let cityList = regionList[i].cityList;
for (let i = 0; i < cityList.length; i++) {
if (cityList[i].ID == this.areaID) {
for(let i=0;i<cityList.length;i++){
if(cityList[i].ID== this.areaID){
cityList[i].areaList = data;
}
}
......@@ -223,364 +238,383 @@
}
})
},
handleCheckAllChange(index, id, e) {
handleCheckAllChange(index, id, e){
let regionList = this.regionList;
this.provinceindex = index;
this.cityID = id;
if (regionList[index].indeterminate == true) {
regionList[index].indeterminate = false;
regionList[index].ischeckAll = true;
if(regionList[index].indeterminate==true){
regionList[index].indeterminate=false;
regionList[index].ischeckAll=true;
}
if (e == false) {
if (regionList[index].hasOwnProperty('cityList') == false) {
this.getCitylist(false, false)
} else {
if(e==false){
if(regionList[index].hasOwnProperty('cityList')==false) {
this.getCitylist(false,false)
}else {
let cityList = regionList[index].cityList;
for (let i = 0; i < cityList.length; i++) {
cityList[i].ischeckAll = false
for(let i=0;i<cityList.length;i++){
cityList[i].ischeckAll=false
}
this.cityList = cityList
let areaList = this.cityList[this.cityindex].areaList
for (let i = 0; i < areaList.length; i++) {
areaList[i].ischeckAll = false
for(let i=0;i<areaList.length;i++){
areaList[i].ischeckAll=false
}
this.areaList = areaList
}
} else {
if (regionList[index].hasOwnProperty('cityList') == false) {
}else {
if(regionList[index].hasOwnProperty('cityList')==false) {
this.getCitylist(true)
} else {
}else {
let cityList = regionList[index].cityList;
for (let i = 0; i < cityList.length; i++) {
cityList[i].ischeckAll = true
for(let i=0;i<cityList.length;i++){
cityList[i].ischeckAll=true
}
this.cityList = cityList
let areaList = this.cityList[this.cityindex].areaList
for (let i = 0; i < areaList.length; i++) {
areaList[i].ischeckAll = true
for(let i=0;i<areaList.length;i++){
areaList[i].ischeckAll=true
}
this.areaList = areaList
}
}
this.toParent()
},
showcity(index, id) {
showcity(index, id){
let regionList = this.regionList;
this.provinceindex = index;
this.cityID = id;
if (regionList[index].hasOwnProperty('cityList') == false) {
if(regionList[index].hasOwnProperty('cityList')==false){
this.getCitylist()
} else {
}else {
this.cityList = regionList[index].cityList;
this.areaList = this.cityList[0].areaList;
}
},
handleCityAllChange(index, id, e) {
handleCityAllChange(index, id, e){
let regionList = this.regionList;
this.cityindex = index;
this.areaID = id;
//取消自己的勾的时候父级的勾改变
let areaList = regionList[this.provinceindex].cityList[index].areaList;
if (e == false) {
if (regionList[this.provinceindex].cityList[index].hasOwnProperty('areaList') == false) {
this.getareaIDlist(false, false)
} else {
if(e==false){
if(regionList[this.provinceindex].cityList[index].hasOwnProperty('areaList')==false){
this.getareaIDlist(false,false)
}else {
this.areaList = regionList[this.provinceindex].cityList[index].areaList;
}
regionList[this.provinceindex].indeterminate = true;
regionList[this.provinceindex].ischeckAll = false;
if (areaList != undefined) {
for (let i = 0; i < areaList.length; i++) {
areaList[i].ischeckAll = false;
regionList[this.provinceindex].indeterminate=true;
regionList[this.provinceindex].ischeckAll=false;
if(areaList!=undefined){
for(let i=0;i<areaList.length;i++){
areaList[i].ischeckAll=false;
}
regionList[this.provinceindex].cityList[index].indeterminate = false
regionList[this.provinceindex].cityList[index].indeterminate=false
}
let all = true;
let all=true;
let cityList = this.regionList[this.provinceindex].cityList;
if (cityList != undefined) {
for (let i = 0; i < cityList.length; i++) {
if (cityList[i].ischeckAll == true) {
all = false
if(cityList!=undefined){
for(let i=0;i<cityList.length;i++){
if(cityList[i].ischeckAll==true){
all=false
}
}
}
if (all == true) {
this.regionList[this.provinceindex].indeterminate = false
this.regionList[this.provinceindex].ischeckAll = false
if(all==true){
this.regionList[this.provinceindex].indeterminate=false
this.regionList[this.provinceindex].ischeckAll=false
}
if (areaList != undefined) {
for (let i = 0; i < areaList.length; i++) {
areaList[i].ischeckAll = false
if(areaList!=undefined){
for(let i=0;i<areaList.length;i++){
areaList[i].ischeckAll=false
}
}
} else {
if (regionList[this.provinceindex].cityList[index].hasOwnProperty('areaList') == false) {
}else {
if(regionList[this.provinceindex].cityList[index].hasOwnProperty('areaList')==false){
this.getareaIDlist(true)
} else {
}else {
this.areaList = regionList[this.provinceindex].cityList[index].areaList;
}
regionList[this.provinceindex].indeterminate = true;
regionList[this.provinceindex].ischeckAll = false;
let all = true;
regionList[this.provinceindex].indeterminate=true;
regionList[this.provinceindex].ischeckAll=false;
let all=true;
let cityList = this.regionList[this.provinceindex].cityList;
if (cityList != undefined) {
for (let i = 0; i < cityList.length; i++) {
if (cityList[i].ischeckAll == false) {
all = false
if(cityList!=undefined){
for(let i=0;i<cityList.length;i++){
if(cityList[i].ischeckAll==false){
all=false
}
}
}
if (all == true) {
this.regionList[this.provinceindex].indeterminate = false
this.regionList[this.provinceindex].ischeckAll = true
if(all==true){
this.regionList[this.provinceindex].indeterminate=false
this.regionList[this.provinceindex].ischeckAll=true
}
if (areaList != undefined) {
for (let i = 0; i < areaList.length; i++) {
areaList[i].ischeckAll = true
if(areaList!=undefined){
for(let i=0;i<areaList.length;i++){
areaList[i].ischeckAll=true
}
}
}
this.toParent()
},
showarea(index, id) {
showarea(index, id){
let regionList = this.regionList;
this.cityindex = index;
this.areaID = id;
if (regionList[this.provinceindex].cityList[index].hasOwnProperty('areaList') == false) { //没有子级的时候加载
if (regionList[this.provinceindex].cityList[index].ischeckAll == true) {
if(regionList[this.provinceindex].cityList[index].hasOwnProperty('areaList')==false){//没有子级的时候加载
if(regionList[this.provinceindex].cityList[index].ischeckAll==true){
this.getareaIDlist(true)
} else {
}else {
this.getareaIDlist()
}
} else {
}else {
this.areaList = regionList[this.provinceindex].cityList[index].areaList;
}
},
handleareaAllChange(index, id, e) {
handleareaAllChange(index, id, e){
let regionList = this.regionList;
this.areaindex = index;
let areaList = regionList[this.provinceindex].cityList[this.cityindex].areaList;
let cityList = regionList[this.provinceindex].cityList;
if (e == false) {
regionList[this.provinceindex].indeterminate = true
regionList[this.provinceindex].cityList[this.cityindex].indeterminate = true
let areaAll = true
for (let i = 0; i < areaList.length; i++) {
if (areaList[i].ischeckAll == true) {
areaAll = false
let areaList= regionList[this.provinceindex].cityList[this.cityindex].areaList;
let cityList= regionList[this.provinceindex].cityList;
if(e==false){
regionList[this.provinceindex].indeterminate=true
regionList[this.provinceindex].cityList[this.cityindex].indeterminate=true
let areaAll=true
for(let i=0;i<areaList.length;i++){
if(areaList[i].ischeckAll==true){
areaAll=false
}
}
if (areaAll == true) {
regionList[this.provinceindex].cityList[this.cityindex].indeterminate = false;
regionList[this.provinceindex].cityList[this.cityindex].ischeckAll = false;
let provinceAll = true;
for (let i = 0; i < cityList.length; i++) {
if (cityList[i].ischeckAll == true || cityList[i].indeterminate == true) {
provinceAll = false
if(areaAll==true){
regionList[this.provinceindex].cityList[this.cityindex].indeterminate=false;
regionList[this.provinceindex].cityList[this.cityindex].ischeckAll=false;
let provinceAll =true;
for(let i=0;i<cityList.length;i++){
if(cityList[i].ischeckAll==true || cityList[i].indeterminate==true){
provinceAll=false
}
}
if (provinceAll == true) {
regionList[this.provinceindex].indeterminate = false;
regionList[this.provinceindex].ischeckAll = false;
if(provinceAll== true){
regionList[this.provinceindex].indeterminate=false;
regionList[this.provinceindex].ischeckAll=false;
}
}
} else {
regionList[this.provinceindex].indeterminate = true
regionList[this.provinceindex].cityList[this.cityindex].indeterminate = true
let areaAll = true
for (let i = 0; i < areaList.length; i++) {
if (areaList[i].ischeckAll == false) {
areaAll = false
}else {
regionList[this.provinceindex].indeterminate=true
regionList[this.provinceindex].cityList[this.cityindex].indeterminate=true
let areaAll=true
for(let i=0;i<areaList.length;i++){
if(areaList[i].ischeckAll==false){
areaAll=false
}
}
if (areaAll == true) {
regionList[this.provinceindex].cityList[this.cityindex].indeterminate = false;
regionList[this.provinceindex].cityList[this.cityindex].ischeckAll = true;
if(areaAll==true){
regionList[this.provinceindex].cityList[this.cityindex].indeterminate=false;
regionList[this.provinceindex].cityList[this.cityindex].ischeckAll=true;
let provinceAll = true;
for (let i = 0; i < cityList.length; i++) {
if (cityList[i].ischeckAll == false || cityList[i].indeterminate == true) {
provinceAll = false
let provinceAll =true;
for(let i=0;i<cityList.length;i++){
if(cityList[i].ischeckAll==false || cityList[i].indeterminate==true){
provinceAll=false
}
}
if (provinceAll == true) {
regionList[this.provinceindex].indeterminate = false;
regionList[this.provinceindex].ischeckAll = true;
if(provinceAll== true){
regionList[this.provinceindex].indeterminate=false;
regionList[this.provinceindex].ischeckAll=true;
}
}
}
this.toParent()
},
toParent() { //传值给父组件
let List = [];
let data = this.regionList
for (let i = 0; i < data.length; i++) {
if (data[i].ischeckAll == true && data[i].indeterminate == false && (data[i].hasOwnProperty('disabled') ==
false || data[i].disabled == false)) { //全选的情况 只穿省的ID
List.push({
'ID': 0,
'RegionId': data[i].ID,
"RegionName": data[i].Name,
'GrandpaID': 0,
'ParentID': 0
})
}
if (data[i].indeterminate == true) { //传市的ID
if (data[i].hasOwnProperty('cityList') == true) {
toParent(){//传值给父组件
let List=[];
let data= this.regionList
for(let i=0 ;i<data.length;i++){
if(data[i].ischeckAll==true && data[i].indeterminate==false && (data[i].hasOwnProperty('disabled')==false || data[i].disabled==false)){ //全选的情况 只穿省的ID
List.push({'ID':0,'RegionId':data[i].ID,"RegionName":data[i].Name,'GrandpaID':0,'ParentID':0})
}
if(data[i].indeterminate==true){//传市的ID
if(data[i].hasOwnProperty('cityList')==true){
let citylist = data[i].cityList;
for (let j = 0; j < citylist.length; j++) {
if (citylist[j].ischeckAll == true && citylist[j].indeterminate == false && (citylist[j].hasOwnProperty(
'disabled') == false || citylist[j].disabled == false)) {
List.push({
'ID': 0,
'RegionId': citylist[j].ID,
"RegionName": citylist[j].Name,
'GrandpaID': 0,
'ParentID': data[i].ID
})
for(let j= 0;j<citylist.length;j++){
if(citylist[j].ischeckAll==true && citylist[j].indeterminate==false && (citylist[j].hasOwnProperty('disabled')==false || citylist[j].disabled==false)){
List.push({'ID':0,'RegionId':citylist[j].ID,"RegionName":citylist[j].Name,'GrandpaID':0,'ParentID':data[i].ID})
}
if (citylist[j].indeterminate == true) {
if (citylist[j].hasOwnProperty('areaList') == true) {
if(citylist[j].indeterminate==true){
if(citylist[j].hasOwnProperty('areaList')==true){
let areaList = citylist[j].areaList;
for (let z = 0; z < areaList.length; z++) {
if (areaList[z].ischeckAll == true && (areaList[z].hasOwnProperty('disabled') == false ||
areaList[z].disabled == false)) {
List.push({
'ID': 0,
'RegionId': areaList[z].ID,
"RegionName": areaList[z].Name,
'GrandpaID': data[i].ID,
'ParentID': citylist[j].ID
})
for(let z= 0;z<areaList.length;z++){
if(areaList[z].ischeckAll==true && (areaList[z].hasOwnProperty('disabled')==false || areaList[z].disabled==false)){
List.push({'ID':0,'RegionId':areaList[z].ID,"RegionName":areaList[z].Name,'GrandpaID':data[i].ID,'ParentID':citylist[j].ID})
}
}
}
}
}
}
}
}
this.$emit('event1', List)
},
citylist(Id, index) {
let getlist = this.getlist;
let isbanlist = this.isbanlist;
let msg = {
'Id': Id
}
this.apipost("/api/Destination/GetChildList", msg, res => {
citylist(Id,index){
let getlist =this.getlist;
let isbanlist =this.isbanlist;
let msg = {'Id':Id}
this.apipost("/api/Destination/GetChildList",msg , res => {
if (res.data.resultCode == 1) {
let data = res.data.data;
for (let i = 0; i < data.length; i++) {
if (getlist.length > 0) {
for (let j = 0; j < getlist.length; j++) {
if (getlist[j].RegionId == data[i].ID || getlist[j].RegionId == this.regionList[index].ID) {
data[i].ischeckAll = true;
data[i].indeterminate = false;
this.arealist(data[i].ID, i, index)
} else if (getlist[j].ParentID == data[i].ID) {
data[i].ischeckAll = false;
data[i].indeterminate = true;
this.arealist(data[i].ID, i, index)
} else if (data[i].hasOwnProperty('ischeckAll') == false && data[i].hasOwnProperty(
'indeterminate') == false) {
data[i].ischeckAll = false;
data[i].indeterminate = false;
for(let i=0;i<data.length;i++){
if(getlist.length>0){
for(let j=0;j<getlist.length;j++){
if(getlist[j].RegionId==data[i].ID || getlist[j].RegionId==this.regionList[index].ID){
data[i].ischeckAll=true;
data[i].indeterminate=false;
this.arealist(data[i].ID,i,index)
}else if(getlist[j].ParentID==data[i].ID){
data[i].ischeckAll=false;
data[i].indeterminate=true;
this.arealist(data[i].ID,i,index)
}else if(data[i].hasOwnProperty('ischeckAll')==false && data[i].hasOwnProperty('indeterminate')==false){
data[i].ischeckAll=false;
data[i].indeterminate=false;
}
}
} else {
data[i].ischeckAll = false;
data[i].indeterminate = false;
}else {
data[i].ischeckAll=false;
data[i].indeterminate=false;
}
if (isbanlist.length > 0 && this.isban == true) {
for (let j = 0; j < isbanlist.length; j++) {
if (isbanlist[j].RegionId == data[i].ID || isbanlist[j].RegionId == this.cityID) {
data[i].disabled = true;
} else if (isbanlist[j].ParentID == data[i].ID) {
data[i].disabled = true;
if(isbanlist.length>0 && this.isban==true){
for(let j=0;j<isbanlist.length;j++){
if(isbanlist[j].RegionId==data[i].ID || isbanlist[j].RegionId==this.cityID){
data[i].disabled=true;
}else if(isbanlist[j].ParentID==data[i].ID){
data[i].disabled=true;
}
}
}
}
this.regionList[index].cityList = data
} else {
this.Info(res.data.message);
}
})
},
arealist(Id, index, Pindex) {
let getlist = this.getlist;
let isbanlist = this.isbanlist;
let msg = {
'Id': Id
}
this.apipost("/api/Destination/GetChildList", msg, res => {
arealist(Id,index,Pindex){
let getlist =this.getlist;
let isbanlist =this.isbanlist;
let msg = {'Id':Id}
this.apipost("/api/Destination/GetChildList",msg , res => {
if (res.data.resultCode == 1) {
let data = res.data.data;
for (let i = 0; i < data.length; i++) {
if (getlist.length > 0) {
for (let j = 0; j < getlist.length; j++) {
if (getlist[j].RegionId == this.regionList[Pindex].ID || getlist[j].RegionId == data[i].ID ||
getlist[j].RegionId == this.regionList[Pindex].cityList[index].ID) {
data[i].ischeckAll = true;
} else if (data[i].hasOwnProperty('ischeckAll') == false) {
data[i].ischeckAll = false;
for(let i=0;i<data.length;i++){
if(getlist.length>0){
for(let j=0;j<getlist.length;j++){
if(getlist[j].RegionId==this.regionList[Pindex].ID || getlist[j].RegionId==data[i].ID || getlist[j].RegionId == this.regionList[Pindex].cityList[index].ID){
data[i].ischeckAll=true;
}else if(data[i].hasOwnProperty('ischeckAll')==false ){
data[i].ischeckAll=false;
}
}
} else {
data[i].ischeckAll = false;
}else {
data[i].ischeckAll=false;
}
if (isbanlist.length > 0 && this.isban == true) {
for (let j = 0; j < isbanlist.length; j++) {
if (isbanlist[j].RegionId == this.cityID || isbanlist[j].RegionId == data[i].ID || isbanlist[j]
.RegionId == this.areaID) {
data[i].disabled = true;
if(isbanlist.length>0 && this.isban==true){
for(let j=0;j<isbanlist.length;j++){
if(isbanlist[j].RegionId==this.cityID || isbanlist[j].RegionId==data[i].ID || isbanlist[j].RegionId == this.areaID){
data[i].disabled=true;
}
}
}
}
this.regionList[Pindex].cityList[index].areaList = data
} else {
this.Info(res.data.message);
}
})
},
Receive(val, val2 = [], isban = false) {
Receive(val,val2=[],isban=false){
this.regionList = [];
this.loading = true;
this.provinceindex = 0;
this.cityindex = 0;
this.areaindex = 0;
this.cityID = 0;
this.areaID = 0;
this.getlist = val;
this.isbanlist = val2;
this.loading=true;
this.provinceindex=0;
this.cityindex=0;
this.areaindex=0;
this.cityID=0;
this.areaID=0;
this.getlist= val;
this.isbanlist= val2;
this.isban = isban
setTimeout(() => {
setTimeout(()=>{
this.getprovince()
}, 2000)
},2000)
}
},
mounted() {
mounted(){
// this.getprovince()
},
}
}
</script>
<style scoped>
.regionChoice {
.regionChoice{
width: 880px;
height: 400px;
/*margin-left: 100px;*/
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.regionChoice .item {
}
.regionChoice .item{
overflow-y: auto;
border: 1px solid #EBEEF5;
border-radius: 4px;
......@@ -589,15 +623,12 @@
height: 400px;
}
.regionChoice .item_b {
.regionChoice .item_b{
display: flex;
flex-direction: row;
align-items: center;
}
.regionChoice .item_b span {
.regionChoice .item_b span{
margin-left: 15px;
}
}
</style>
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