const Province = { "上海市": ["上海市"] } const City = { "上海市": ['金山区', '徐汇区', '静安区', '普陀区', '长宁区', '虹口区', '杨浦区', '闵行区', '宝山区', '嘉定区', '浦东新区', '黄浦区', '松江区', '青浦区', '奉贤区', '崇明区'] } const District = { //上海市 '金山区': ['石化街道', '金山工业区', '金山第二工业区', '朱泾镇', '枫泾镇', '张堰镇', '亭林镇', '吕巷镇', '廊下镇', '金山卫镇', '漕泾镇', '山阳镇'], '徐汇区': [], '长宁区': [], '静安区': [], '普陀区': [], '虹口区': [], '杨浦区': [], '闵行区': [], '宝山区': [], '嘉定区': [], '浦东新区': [], '黄浦区': [], '松江区': [], '青浦区': [], '奉贤区': [], '崇明区': [] } const locations = function (indexs) { var names = [] var selecteds = [] if (indexs.length > 0) { //省份列表 var pList = Object.keys(Province) //省份名称 var pName = pList[indexs[0]] names.push(pList) selecteds.push(pName) if (indexs.length > 1) { //城市列表 var cList = Province[pName] //城市名称 var cName = cList[indexs[1]] names.push(cList) selecteds.push(cName) if (indexs.length > 2) { //区县列表 var dList = City[cName] //区县名称 var dName = dList[indexs[2]] names.push(dList) selecteds.push(dName) if (indexs.length > 3) { //街镇列表 var tList = District[dName] //街镇名称 var tName = tList[indexs[3]] names.push(tList) selecteds.push(tName) } } } } var selectedDes = "" selecteds.forEach(str => { if (str != undefined && selectedDes != str) { if (selectedDes != "") { selectedDes += "-" } selectedDes += str } }) return { names: names, values: indexs, selected: selecteds, des: selectedDes } } const multiIndex = function (selecteds) { var indexs = [] var names = [] if (selecteds.length > 0) { //省份列表 var pList = Object.keys(Province) //省份名称 var pIndex = pList.indexOf(selecteds[0]) names.push(pList) if (pIndex != -1) { indexs.push(pIndex) } else { indexs.push(0) } if (selecteds.length > 1) { //城市列表 var cList = Province[selecteds[0]] //城市名称 var cIndex = cList.indexOf(selecteds[1]) names.push(cList) if (cIndex != -1) { indexs.push(cIndex) } else { indexs.push(0) } if (selecteds.length > 2) { //区县列表 var dList = City[selecteds[1]] //区县名称 var dIndex = dList.indexOf(selecteds[2]) names.push(dList) if (dIndex != -1) { indexs.push(dIndex) } else { indexs.push(0) } if (selecteds.length > 3) { //街镇列表 var tList = District[selecteds[2]] //街镇名称 var tIndex = tList.indexOf(selecteds[3]) names.push(tList) if (tIndex != -1) { indexs.push(tIndex) } else { indexs.push(0) } } } } } var selectedDes = "" selecteds.forEach(str => { if (str != undefined && selectedDes != str) { if (selectedDes != "") { selectedDes += "-" } selectedDes += str } }) return { names: names, values: indexs, selected: selecteds, des: selectedDes } } module.exports = { locations: locations, multiIndex: multiIndex }