|
@@ -17,6 +17,8 @@ export default {
|
|
|
children: 'zones',
|
|
|
isLeaf: 'leaf'
|
|
|
},
|
|
|
+
|
|
|
+ selectCityListAll: [],
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -37,8 +39,18 @@ export default {
|
|
|
selectDeliveryAreaDialogCancel(){
|
|
|
this.selectDeliveryAreaDialogOpe = false;
|
|
|
},
|
|
|
+ /** 确认弹窗 */
|
|
|
selectDeliveryAreaDialogSubmitForm(){
|
|
|
-
|
|
|
+ let list = []
|
|
|
+ this.selectDeliveryAreaDialogList.forEach((item)=>{
|
|
|
+ if(item.selectCityList && item.selectCityList.length>0) {
|
|
|
+ item.selectCityList.forEach((item1,index1)=>{
|
|
|
+ list.push(item.name+'-'+item1.join('-'))
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+ console.log("list====",list)
|
|
|
},
|
|
|
/** 获取行政区划 */
|
|
|
async basePositionFun(upCode) {
|
|
@@ -47,28 +59,124 @@ export default {
|
|
|
upCode,
|
|
|
})
|
|
|
if(res.code == 200) {
|
|
|
- this.selectDeliveryAreaDialogList = [].concat(res.data)
|
|
|
+ let list = []
|
|
|
+ let listApi = []
|
|
|
+ res.data.forEach((item,index) => {
|
|
|
+ if(item.code!='#') {
|
|
|
+ list.push({
|
|
|
+ ...item,
|
|
|
+ countyList: [],
|
|
|
+ selectCityList: [],
|
|
|
+ cityList: []
|
|
|
+ })
|
|
|
+ listApi.push(basePositionApi({
|
|
|
+ upCode: item.code?item.code : '#',
|
|
|
+ }))
|
|
|
+ }
|
|
|
+
|
|
|
+ });
|
|
|
+ let res1 = await Promise.all(listApi)
|
|
|
+ if(res1) {
|
|
|
+ res1.forEach((item,index)=>{
|
|
|
+ list[index].cityList = [].concat(item.data)
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ this.selectDeliveryAreaDialogList = [].concat(list)
|
|
|
+ console.log("res1=====",res1,this.selectDeliveryAreaDialogList)
|
|
|
}
|
|
|
} catch (error) {
|
|
|
console.error("error====",error)
|
|
|
}
|
|
|
},
|
|
|
+ async basePositionFunCopy(upCode) {
|
|
|
+ try {
|
|
|
+ let res = await basePositionApi({
|
|
|
+ upCode,
|
|
|
+ })
|
|
|
+ if(res.code == 200) {
|
|
|
+ return res.data
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ return []
|
|
|
+ }
|
|
|
+ },
|
|
|
loadNode(node, resolve) {
|
|
|
- if (node.level === 0) {
|
|
|
- return resolve([{ name: 'region' }]);
|
|
|
+ console.log(node,resolve)
|
|
|
+ // if(){
|
|
|
+
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ /** 展开某个 */
|
|
|
+ urrentEchoedRegionsFun(areaItem){
|
|
|
+ this.urrentEchoedRegions = areaItem.areaCode
|
|
|
+ },
|
|
|
+
|
|
|
+ handleChangeAreaCity(){
|
|
|
+
|
|
|
+ },
|
|
|
+ /** 懒加载 配置 */
|
|
|
+ areaCascaderProps(areaItem, areaIndex) {
|
|
|
+ return {
|
|
|
+ lazy: true,
|
|
|
+ lazyLoad: (node, resolve) => this.areaLazyLoad(node, resolve, areaItem, areaIndex),
|
|
|
+ multiple: true,
|
|
|
+ children: 'countyList',
|
|
|
+ label: 'name',
|
|
|
+ value: 'name',
|
|
|
+ expandTrigger: 'hover'
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /** 懒加载 函数 */
|
|
|
+ areaLazyLoad(node, resolve, areaItem, provinceIndex) {
|
|
|
+ const { level } = node;
|
|
|
+ console.log(node, resolve, areaItem, provinceIndex)
|
|
|
+ if (level === 0) {
|
|
|
+ resolve([])
|
|
|
+ } else if(level == 1 ) {
|
|
|
+ //console.log(node, resolve, areaItem, provinceIndex)
|
|
|
+ if(node.data && node.data.code){
|
|
|
+ basePositionApi({
|
|
|
+ upCode: node.data.code,
|
|
|
+ }).then((res)=>{
|
|
|
+ let list = []
|
|
|
+ //let listLable = []
|
|
|
+ res.data.forEach((item,index)=>{
|
|
|
+ //listLable.push([node.label,item.name])
|
|
|
+ list.push({
|
|
|
+ ...item,
|
|
|
+ leaf: true,
|
|
|
+ })
|
|
|
+ })
|
|
|
+ // if(areaItem.selected) {
|
|
|
+ // this.selectDeliveryAreaDialogList[provinceIndex].selectCityList = list
|
|
|
+ // }
|
|
|
+ resolve(list)
|
|
|
+ })
|
|
|
+ }else {
|
|
|
+ resolve([])
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ resolve([])
|
|
|
}
|
|
|
- if (node.level > 1) return resolve([]);
|
|
|
-
|
|
|
- setTimeout(() => {
|
|
|
- const data = [{
|
|
|
- name: 'leaf',
|
|
|
- leaf: true
|
|
|
- }, {
|
|
|
- name: 'zone'
|
|
|
- }];
|
|
|
-
|
|
|
- resolve(data);
|
|
|
- }, 500);
|
|
|
- }
|
|
|
+ },
|
|
|
+ // 当选中节点变化时触发
|
|
|
+ changeCascader(data){
|
|
|
+ console.log(data)
|
|
|
+ console.log('selectDeliveryAreaDialogList====',this.selectDeliveryAreaDialogList)
|
|
|
+ },
|
|
|
+ // 下拉框出现/隐藏时触发
|
|
|
+ handleCascaderVisibleChangeCity(isVisible, areaItem, provinceIndex){
|
|
|
+ console.log(isVisible, areaItem, provinceIndex)
|
|
|
+ if(areaItem.selected){
|
|
|
+ let list = ['市辖区','东城区']
|
|
|
+ // this.selectDeliveryAreaDialogList[provinceIndex].cityList.forEach((item,index)=>{
|
|
|
+ // list.push([item.name])
|
|
|
+ // })
|
|
|
+ console.log("dsfsdfsdf===",list)
|
|
|
+ this.$set(this.selectDeliveryAreaDialogList[provinceIndex],'selectCityList',[].concat(list))
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
}
|