diff --git a/app/build.gradle b/app/build.gradle
index ad9d36a..f32e87d 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -54,4 +54,6 @@ dependencies {
implementation 'com.j256.ormlite:ormlite-core:5.1'
implementation 'com.j256.ormlite:ormlite-android:5.1'
implementation files('libs/eventbus-2.4.0.jar')
+ //三级联动选择
+ implementation 'com.contrarywind:Android-PickerView:3.2.6'
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2e54255..68e5605 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,7 +8,7 @@
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
+
-
+
+
-
-
\ No newline at end of file
diff --git a/app/src/main/assets/province.json b/app/src/main/assets/province.json
new file mode 100644
index 0000000..2166cb4
--- /dev/null
+++ b/app/src/main/assets/province.json
@@ -0,0 +1,5354 @@
+[
+ {
+ "name": "北京市",
+ "city": [
+ {
+ "name": "北京市",
+ "area": [
+ "东城区",
+ "西城区",
+ "崇文区",
+ "宣武区",
+ "朝阳区",
+ "丰台区",
+ "石景山区",
+ "海淀区",
+ "门头沟区",
+ "房山区",
+ "通州区",
+ "顺义区",
+ "昌平区",
+ "大兴区",
+ "平谷区",
+ "怀柔区",
+ "密云县",
+ "延庆县"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "天津市",
+ "city": [
+ {
+ "name": "天津市",
+ "area": [
+ "和平区",
+ "河东区",
+ "河西区",
+ "南开区",
+ "河北区",
+ "红桥区",
+ "塘沽区",
+ "汉沽区",
+ "大港区",
+ "东丽区",
+ "西青区",
+ "津南区",
+ "北辰区",
+ "武清区",
+ "宝坻区",
+ "宁河县",
+ "静海县",
+ "蓟 县"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "河北省",
+ "city": [
+ {
+ "name": "石家庄市",
+ "area": [
+ "长安区",
+ "桥东区",
+ "桥西区",
+ "新华区",
+ "郊 区",
+ "井陉矿区",
+ "井陉县",
+ "正定县",
+ "栾城县",
+ "行唐县",
+ "灵寿县",
+ "高邑县",
+ "深泽县",
+ "赞皇县",
+ "无极县",
+ "平山县",
+ "元氏县",
+ "赵 县",
+ "辛集市",
+ "藁",
+ "晋州市",
+ "新乐市",
+ "鹿泉市"
+ ]
+ },
+ {
+ "name": "唐山市",
+ "area": [
+ "路南区",
+ "路北区",
+ "古冶区",
+ "开平区",
+ "新 区",
+ "丰润县",
+ "滦 县",
+ "滦南县",
+ "乐亭县",
+ "迁西县",
+ "玉田县",
+ "唐海县",
+ "遵化市",
+ "丰南市",
+ "迁安市"
+ ]
+ },
+ {
+ "name": "秦皇岛市",
+ "area": [
+ "海港区",
+ "山海关区",
+ "北戴河区",
+ "青龙满族自治县",
+ "昌黎县",
+ "抚宁县",
+ "卢龙县"
+ ]
+ },
+ {
+ "name": "邯郸市",
+ "area": [
+ "邯山区",
+ "丛台区",
+ "复兴区",
+ "峰峰矿区",
+ "邯郸县",
+ "临漳县",
+ "成安县",
+ "大名县",
+ "涉 县",
+ "磁 县",
+ "肥乡县",
+ "永年县",
+ "邱 县",
+ "鸡泽县",
+ "广平县",
+ "馆陶县",
+ "魏 县",
+ "曲周县",
+ "武安市"
+ ]
+ },
+ {
+ "name": "邢台市",
+ "area": [
+ "桥东区",
+ "桥西区",
+ "邢台县",
+ "临城县",
+ "内丘县",
+ "柏乡县",
+ "隆尧县",
+ "任 县",
+ "南和县",
+ "宁晋县",
+ "巨鹿县",
+ "新河县",
+ "广宗县",
+ "平乡县",
+ "威 县",
+ "清河县",
+ "临西县",
+ "南宫市",
+ "沙河市"
+ ]
+ },
+ {
+ "name": "保定市",
+ "area": [
+ "新市区",
+ "北市区",
+ "南市区",
+ "满城县",
+ "清苑县",
+ "涞水县",
+ "阜平县",
+ "徐水县",
+ "定兴县",
+ "唐 县",
+ "高阳县",
+ "容城县",
+ "涞源县",
+ "望都县",
+ "安新县",
+ "易 县",
+ "曲阳县",
+ "蠡 县",
+ "顺平县",
+ "博野",
+ "雄县",
+ "涿州市",
+ "定州市",
+ "安国市",
+ "高碑店市"
+ ]
+ },
+ {
+ "name": "张家口",
+ "area": [
+ "桥东区",
+ "桥西区",
+ "宣化区",
+ "下花园区",
+ "宣化县",
+ "张北县",
+ "康保县",
+ "沽源县",
+ "尚义县",
+ "蔚 县",
+ "阳原县",
+ "怀安县",
+ "万全县",
+ "怀来县",
+ "涿鹿县",
+ "赤城县",
+ "崇礼县"
+ ]
+ },
+ {
+ "name": "承德市",
+ "area": [
+ "双桥区",
+ "双滦区",
+ "鹰手营子矿区",
+ "承德县",
+ "兴隆县",
+ "平泉县",
+ "滦平县",
+ "隆化县",
+ "丰宁满族自治县",
+ "宽城满族自治县",
+ "围场满族蒙古族自治县"
+ ]
+ },
+ {
+ "name": "沧州市",
+ "area": [
+ "新华区",
+ "运河区",
+ "沧 县",
+ "青 县",
+ "东光县",
+ "海兴县",
+ "盐山县",
+ "肃宁县",
+ "南皮县",
+ "吴桥县",
+ "献 县",
+ "孟村回族自治县",
+ "泊头市",
+ "任丘市",
+ "黄骅市",
+ "河间市"
+ ]
+ },
+ {
+ "name": "廊坊市",
+ "area": [
+ "安次区",
+ "固安县",
+ "永清县",
+ "香河县",
+ "大城县",
+ "文安县",
+ "大厂回族自治县",
+ "霸州市",
+ "三河市"
+ ]
+ },
+ {
+ "name": "衡水市",
+ "area": [
+ "桃城区",
+ "枣强县",
+ "武邑县",
+ "武强县",
+ "饶阳县",
+ "安平县",
+ "故城县",
+ "景 县",
+ "阜城县",
+ "冀州市",
+ "深州市"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "山西省",
+ "city": [
+ {
+ "name": "太原市",
+ "area": [
+ "小店区",
+ "迎泽区",
+ "杏花岭区",
+ "尖草坪区",
+ "万柏林区",
+ "晋源区",
+ "清徐县",
+ "阳曲县",
+ "娄烦县",
+ "古交市"
+ ]
+ },
+ {
+ "name": "大同市",
+ "area": [
+ "城 区",
+ "矿 区",
+ "南郊区",
+ "新荣区",
+ "阳高县",
+ "天镇县",
+ "广灵县",
+ "灵丘县",
+ "浑源县",
+ "左云县",
+ "大同县"
+ ]
+ },
+ {
+ "name": "阳泉市",
+ "area": [
+ "城 区",
+ "矿 区",
+ "郊 区",
+ "平定县",
+ "盂 县"
+ ]
+ },
+ {
+ "name": "长治市",
+ "area": [
+ "城 区",
+ "郊 区",
+ "长治县",
+ "襄垣县",
+ "屯留县",
+ "平顺县",
+ "黎城县",
+ "壶关县",
+ "长子县",
+ "武乡县",
+ "沁 县",
+ "沁源县",
+ "潞城市"
+ ]
+ },
+ {
+ "name": "晋城市",
+ "area": [
+ "城 区",
+ "沁水县",
+ "阳城县",
+ "陵川县",
+ "泽州县",
+ "高平市"
+ ]
+ },
+ {
+ "name": "朔州市",
+ "area": [
+ "朔城区",
+ "平鲁区",
+ "山阴县",
+ "应 县",
+ "右玉县",
+ "怀仁县"
+ ]
+ },
+ {
+ "name": "忻州市",
+ "area": [
+ "忻府区",
+ "原平市",
+ "定襄县",
+ "五台县",
+ "代 县",
+ "繁峙县",
+ "宁武县",
+ "静乐县",
+ "神池县",
+ "五寨县",
+ "岢岚县",
+ "河曲县",
+ "保德县",
+ "偏关县"
+ ]
+ },
+ {
+ "name": "吕梁市",
+ "area": [
+ "离石区",
+ "孝义市",
+ "汾阳市",
+ "文水县",
+ "交城县",
+ "兴 县",
+ "临 县",
+ "柳林县",
+ "石楼县",
+ "岚 县",
+ "方山县",
+ "中阳县",
+ "交口县"
+ ]
+ },
+ {
+ "name": "晋中市",
+ "area": [
+ "榆次市",
+ "介休市",
+ "榆社县",
+ "左权县",
+ "和顺县",
+ "昔阳县",
+ "寿阳县",
+ "太谷县",
+ "祁 县",
+ "平遥县",
+ "灵石县"
+ ]
+ },
+ {
+ "name": "临汾市",
+ "area": [
+ "临汾市",
+ "侯马市",
+ "霍州市",
+ "曲沃县",
+ "翼城县",
+ "襄汾县",
+ "洪洞县",
+ "古 县",
+ "安泽县",
+ "浮山县",
+ "吉 县",
+ "乡宁县",
+ "蒲 县",
+ "大宁县",
+ "永和县",
+ "隰 县",
+ "汾西县"
+ ]
+ },
+ {
+ "name": "运城市",
+ "area": [
+ "运城市",
+ "永济市",
+ "河津市",
+ "芮城县",
+ "临猗县",
+ "万荣县",
+ "新绛县",
+ "稷山县",
+ "闻喜县",
+ "夏 县",
+ "绛 县",
+ "平陆县",
+ "垣曲县"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "内蒙古",
+ "city": [
+ {
+ "name": "呼和浩特市",
+ "area": [
+ "新城区",
+ "回民区",
+ "玉泉区",
+ "郊 区",
+ "土默特左旗",
+ "托克托县",
+ "和林格尔县",
+ "清水河县",
+ "武川县"
+ ]
+ },
+ {
+ "name": "包头市",
+ "area": [
+ "东河区",
+ "昆都伦区",
+ "青山区",
+ "石拐矿区",
+ "白云矿区",
+ "郊 区",
+ "土默特右旗",
+ "固阳县",
+ "达尔罕茂明安联合旗"
+ ]
+ },
+ {
+ "name": "乌海市",
+ "area": [
+ "海勃湾区",
+ "海南区",
+ "乌达区"
+ ]
+ },
+ {
+ "name": "赤峰市",
+ "area": [
+ "红山区",
+ "元宝山区",
+ "松山区",
+ "阿鲁科尔沁旗",
+ "巴林左旗",
+ "巴林右旗",
+ "林西县",
+ "克什克腾旗",
+ "翁牛特旗",
+ "喀喇沁旗",
+ "宁城县",
+ "敖汉旗"
+ ]
+ },
+ {
+ "name": "呼伦贝尔市",
+ "area": [
+ "海拉尔市",
+ "满洲里市",
+ "扎兰屯市",
+ "牙克石市",
+ "根河市",
+ "额尔古纳市",
+ "阿荣旗",
+ "莫力达瓦达斡尔族自治旗",
+ "鄂伦春自治旗",
+ "鄂温克族自治旗",
+ "新巴尔虎右旗",
+ "新巴尔虎左旗",
+ "陈巴尔虎旗"
+ ]
+ },
+ {
+ "name": "兴安盟",
+ "area": [
+ "乌兰浩特市",
+ "阿尔山市",
+ "科尔沁右翼前旗",
+ "科尔沁右翼中旗",
+ "扎赉特旗",
+ "突泉县"
+ ]
+ },
+ {
+ "name": "通辽市",
+ "area": [
+ "科尔沁区",
+ "霍林郭勒市",
+ "科尔沁左翼中旗",
+ "科尔沁左翼后旗",
+ "开鲁县",
+ "库伦旗",
+ "奈曼旗",
+ "扎鲁特旗"
+ ]
+ },
+ {
+ "name": "锡林郭勒盟",
+ "area": [
+ "二连浩特市",
+ "锡林浩特市",
+ "阿巴嘎旗",
+ "苏尼特左旗",
+ "苏尼特右旗",
+ "东乌珠穆沁旗",
+ "西乌珠穆沁旗",
+ "太仆寺旗",
+ "镶黄旗",
+ "正镶白旗",
+ "正蓝旗",
+ "多伦县"
+ ]
+ },
+ {
+ "name": "乌兰察布盟",
+ "area": [
+ "集宁市",
+ "丰镇市",
+ "卓资县",
+ "化德县",
+ "商都县",
+ "兴和县",
+ "凉城县",
+ "察哈尔右翼前旗",
+ "察哈尔右翼中旗",
+ "察哈尔右翼后旗",
+ "四子王旗"
+ ]
+ },
+ {
+ "name": "伊克昭盟",
+ "area": [
+ "东胜市",
+ "达拉特旗",
+ "准格尔旗",
+ "鄂托克前旗",
+ "鄂托克旗",
+ "杭锦旗",
+ "乌审旗",
+ "伊金霍洛旗"
+ ]
+ },
+ {
+ "name": "巴彦淖尔盟",
+ "area": [
+ "临河市",
+ "五原县",
+ "磴口县",
+ "乌拉特前旗",
+ "乌拉特中旗",
+ "乌拉特后旗",
+ "杭锦后旗"
+ ]
+ },
+ {
+ "name": "阿拉善盟",
+ "area": [
+ "阿拉善左旗",
+ "阿拉善右旗",
+ "额济纳旗"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "辽宁省",
+ "city": [
+ {
+ "name": "沈阳市",
+ "area": [
+ "沈河区",
+ "皇姑区",
+ "和平区",
+ "大东区",
+ "铁西区",
+ "苏家屯区",
+ "东陵区",
+ "于洪区",
+ "新民市",
+ "法库县",
+ "辽中县",
+ "康平县",
+ "新城子区",
+ "其他"
+ ]
+ },
+ {
+ "name": "大连市",
+ "area": [
+ "西岗区",
+ "中山区",
+ "沙河口区",
+ "甘井子区",
+ "旅顺口区",
+ "金州区",
+ "瓦房店市",
+ "普兰店市",
+ "庄河市",
+ "长海县",
+ "其他"
+ ]
+ },
+ {
+ "name": "鞍山市",
+ "area": [
+ "铁东区",
+ "铁西区",
+ "立山区",
+ "千山区",
+ "海城市",
+ "台安县",
+ "岫岩满族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "抚顺市",
+ "area": [
+ "顺城区",
+ "新抚区",
+ "东洲区",
+ "望花区",
+ "抚顺县",
+ "清原满族自治县",
+ "新宾满族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "本溪市",
+ "area": [
+ "平山区",
+ "明山区",
+ "溪湖区",
+ "南芬区",
+ "本溪满族自治县",
+ "桓仁满族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "丹东市",
+ "area": [
+ "振兴区",
+ "元宝区",
+ "振安区",
+ "东港市",
+ "凤城市",
+ "宽甸满族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "锦州市",
+ "area": [
+ "太和区",
+ "古塔区",
+ "凌河区",
+ "凌海市",
+ "黑山县",
+ "义县",
+ "北宁市",
+ "其他"
+ ]
+ },
+ {
+ "name": "营口市",
+ "area": [
+ "站前区",
+ "西市区",
+ "鲅鱼圈区",
+ "老边区",
+ "大石桥市",
+ "盖州市",
+ "其他"
+ ]
+ },
+ {
+ "name": "阜新市",
+ "area": [
+ "海州区",
+ "新邱区",
+ "太平区",
+ "清河门区",
+ "细河区",
+ "彰武县",
+ "阜新蒙古族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "辽阳市",
+ "area": [
+ "白塔区",
+ "文圣区",
+ "宏伟区",
+ "太子河区",
+ "弓长岭区",
+ "灯塔市",
+ "辽阳县",
+ "其他"
+ ]
+ },
+ {
+ "name": "盘锦",
+ "area": [
+ "双台子区",
+ "兴隆台区",
+ "盘山县",
+ "大洼县",
+ "其他"
+ ]
+ },
+ {
+ "name": "铁岭市",
+ "area": [
+ "银州区",
+ "清河区",
+ "调兵山市",
+ "开原市",
+ "铁岭县",
+ "昌图县",
+ "西丰县",
+ "其他"
+ ]
+ },
+ {
+ "name": "朝阳市",
+ "area": [
+ "双塔区",
+ "龙城区",
+ "凌源市",
+ "北票市",
+ "朝阳县",
+ "建平县",
+ "喀喇沁左翼蒙古族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "葫芦岛市",
+ "area": [
+ "龙港区",
+ "南票区",
+ "连山区",
+ "兴城市",
+ "绥中县",
+ "建昌县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "吉林省",
+ "city": [
+ {
+ "name": "长春市",
+ "area": [
+ "朝阳区",
+ "宽城区",
+ "二道区",
+ "南关区",
+ "绿园区",
+ "双阳区",
+ "九台市",
+ "榆树市",
+ "德惠市",
+ "农安县",
+ "其他"
+ ]
+ },
+ {
+ "name": "吉林市",
+ "area": [
+ "船营区",
+ "昌邑区",
+ "龙潭区",
+ "丰满区",
+ "舒兰市",
+ "桦甸市",
+ "蛟河市",
+ "磐石市",
+ "永吉县",
+ "其他"
+ ]
+ },
+ {
+ "name": "四平",
+ "area": [
+ "铁西区",
+ "铁东区",
+ "公主岭市",
+ "双辽市",
+ "梨树县",
+ "伊通满族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "辽源市",
+ "area": [
+ "龙山区",
+ "西安区",
+ "东辽县",
+ "东丰县",
+ "其他"
+ ]
+ },
+ {
+ "name": "通化市",
+ "area": [
+ "东昌区",
+ "二道江区",
+ "梅河口市",
+ "集安市",
+ "通化县",
+ "辉南县",
+ "柳河县",
+ "其他"
+ ]
+ },
+ {
+ "name": "白山市",
+ "area": [
+ "八道江区",
+ "江源区",
+ "临江市",
+ "靖宇县",
+ "抚松县",
+ "长白朝鲜族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "松原市",
+ "area": [
+ "宁江区",
+ "乾安县",
+ "长岭县",
+ "扶余县",
+ "前郭尔罗斯蒙古族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "白城市",
+ "area": [
+ "洮北区",
+ "大安市",
+ "洮南市",
+ "镇赉县",
+ "通榆县",
+ "其他"
+ ]
+ },
+ {
+ "name": "延边朝鲜族自治州",
+ "area": [
+ "延吉市",
+ "图们市",
+ "敦化市",
+ "龙井市",
+ "珲春市",
+ "和龙市",
+ "安图县",
+ "汪清县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "黑龙江省",
+ "city": [
+ {
+ "name": "哈尔滨市",
+ "area": [
+ "松北区",
+ "道里区",
+ "南岗区",
+ "平房区",
+ "香坊区",
+ "道外区",
+ "呼兰区",
+ "阿城区",
+ "双城市",
+ "尚志市",
+ "五常市",
+ "宾县",
+ "方正县",
+ "通河县",
+ "巴彦县",
+ "延寿县",
+ "木兰县",
+ "依兰县",
+ "其他"
+ ]
+ },
+ {
+ "name": "齐齐哈尔市",
+ "area": [
+ "龙沙区",
+ "昂昂溪区",
+ "铁锋区",
+ "建华区",
+ "富拉尔基区",
+ "碾子山区",
+ "梅里斯达斡尔族区",
+ "讷河市",
+ "富裕县",
+ "拜泉县",
+ "甘南县",
+ "依安县",
+ "克山县",
+ "泰来县",
+ "克东县",
+ "龙江县",
+ "其他"
+ ]
+ },
+ {
+ "name": "鹤岗市",
+ "area": [
+ "兴山区",
+ "工农区",
+ "南山区",
+ "兴安区",
+ "向阳区",
+ "东山区",
+ "萝北县",
+ "绥滨县",
+ "其他"
+ ]
+ },
+ {
+ "name": "双鸭山",
+ "area": [
+ "尖山区",
+ "岭东区",
+ "四方台区",
+ "宝山区",
+ "集贤县",
+ "宝清县",
+ "友谊县",
+ "饶河县",
+ "其他"
+ ]
+ },
+ {
+ "name": "鸡西市",
+ "area": [
+ "鸡冠区",
+ "恒山区",
+ "城子河区",
+ "滴道区",
+ "梨树区",
+ "麻山区",
+ "密山市",
+ "虎林市",
+ "鸡东县",
+ "其他"
+ ]
+ },
+ {
+ "name": "大庆市",
+ "area": [
+ "萨尔图区",
+ "红岗区",
+ "龙凤区",
+ "让胡路区",
+ "大同区",
+ "林甸县",
+ "肇州县",
+ "肇源县",
+ "杜尔伯特蒙古族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "伊春市",
+ "area": [
+ "伊春区",
+ "带岭区",
+ "南岔区",
+ "金山屯区",
+ "西林区",
+ "美溪区",
+ "乌马河区",
+ "翠峦区",
+ "友好区",
+ "上甘岭区",
+ "五营区",
+ "红星区",
+ "新青区",
+ "汤旺河区",
+ "乌伊岭区",
+ "铁力市",
+ "嘉荫县",
+ "其他"
+ ]
+ },
+ {
+ "name": "牡丹江市",
+ "area": [
+ "爱民区",
+ "东安区",
+ "阳明区",
+ "西安区",
+ "绥芬河市",
+ "宁安市",
+ "海林市",
+ "穆棱市",
+ "林口县",
+ "东宁县",
+ "其他"
+ ]
+ },
+ {
+ "name": "佳木斯市",
+ "area": [
+ "向阳区",
+ "前进区",
+ "东风区",
+ "郊区",
+ "同江市",
+ "富锦市",
+ "桦川县",
+ "抚远县",
+ "桦南县",
+ "汤原县",
+ "其他"
+ ]
+ },
+ {
+ "name": "七台河市",
+ "area": [
+ "桃山区",
+ "新兴区",
+ "茄子河区",
+ "勃利县",
+ "其他"
+ ]
+ },
+ {
+ "name": "黑河市",
+ "area": [
+ "爱辉区",
+ "北安市",
+ "五大连池市",
+ "逊克县",
+ "嫩江县",
+ "孙吴县",
+ "其他"
+ ]
+ },
+ {
+ "name": "绥化市",
+ "area": [
+ "北林区",
+ "安达市",
+ "肇东市",
+ "海伦市",
+ "绥棱县",
+ "兰西县",
+ "明水县",
+ "青冈县",
+ "庆安县",
+ "望奎县",
+ "其他"
+ ]
+ },
+ {
+ "name": "大兴安岭地区",
+ "area": [
+ "呼玛县",
+ "塔河县",
+ "漠河县",
+ "大兴安岭辖区",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "上海市",
+ "city": [
+ {
+ "name": "上海市",
+ "area": [
+ "黄浦区",
+ "卢湾区",
+ "徐汇区",
+ "长宁区",
+ "静安区",
+ "普陀区",
+ "闸北区",
+ "虹口区",
+ "杨浦区",
+ "宝山区",
+ "闵行区",
+ "嘉定区",
+ "松江区",
+ "金山区",
+ "青浦区",
+ "南汇区",
+ "奉贤区",
+ "浦东新区",
+ "崇明县",
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "江苏省",
+ "city": [
+ {
+ "name": "南京市",
+ "area": [
+ "玄武区",
+ "白下区",
+ "秦淮区",
+ "建邺区",
+ "鼓楼区",
+ "下关区",
+ "栖霞区",
+ "雨花台区",
+ "浦口区",
+ "江宁区",
+ "六合区",
+ "溧水县",
+ "高淳县",
+ "其他"
+ ]
+ },
+ {
+ "name": "苏州市",
+ "area": [
+ "金阊区",
+ "平江区",
+ "沧浪区",
+ "虎丘区",
+ "吴中区",
+ "相城区",
+ "常熟市",
+ "张家港市",
+ "昆山市",
+ "吴江市",
+ "太仓市",
+ "其他"
+ ]
+ },
+ {
+ "name": "无锡市",
+ "area": [
+ "崇安区",
+ "南长区",
+ "北塘区",
+ "滨湖区",
+ "锡山区",
+ "惠山区",
+ "江阴市",
+ "宜兴市",
+ "其他"
+ ]
+ },
+ {
+ "name": "常州市",
+ "area": [
+ "钟楼区",
+ "天宁区",
+ "戚墅堰区",
+ "新北区",
+ "武进区",
+ "金坛市",
+ "溧阳市",
+ "其他"
+ ]
+ },
+ {
+ "name": "镇江市",
+ "area": [
+ "京口区",
+ "润州区",
+ "丹徒区",
+ "丹阳市",
+ "扬中市",
+ "句容市",
+ "其他"
+ ]
+ },
+ {
+ "name": "南通市",
+ "area": [
+ "崇川区",
+ "港闸区",
+ "通州市",
+ "如皋市",
+ "海门市",
+ "启东市",
+ "海安县",
+ "如东县",
+ "其他"
+ ]
+ },
+ {
+ "name": "泰州市",
+ "area": [
+ "海陵区",
+ "高港区",
+ "姜堰市",
+ "泰兴市",
+ "靖江市",
+ "兴化市",
+ "其他"
+ ]
+ },
+ {
+ "name": "扬州市",
+ "area": [
+ "广陵区",
+ "维扬区",
+ "邗江区",
+ "江都市",
+ "仪征市",
+ "高邮市",
+ "宝应县",
+ "其他"
+ ]
+ },
+ {
+ "name": "盐城市",
+ "area": [
+ "亭湖区",
+ "盐都区",
+ "大丰市",
+ "东台市",
+ "建湖县",
+ "射阳县",
+ "阜宁县",
+ "滨海县",
+ "响水县",
+ "其他"
+ ]
+ },
+ {
+ "name": "连云港市",
+ "area": [
+ "新浦区",
+ "海州区",
+ "连云区",
+ "东海县",
+ "灌云县",
+ "赣榆县",
+ "灌南县",
+ "其他"
+ ]
+ },
+ {
+ "name": "徐州市",
+ "area": [
+ "云龙区",
+ "鼓楼区",
+ "九里区",
+ "泉山区",
+ "贾汪区",
+ "邳州市",
+ "新沂市",
+ "铜山县",
+ "睢宁县",
+ "沛县",
+ "丰县",
+ "其他"
+ ]
+ },
+ {
+ "name": "淮安市",
+ "area": [
+ "清河区",
+ "清浦区",
+ "楚州区",
+ "淮阴区",
+ "涟水县",
+ "洪泽县",
+ "金湖县",
+ "盱眙县",
+ "其他"
+ ]
+ },
+ {
+ "name": "宿迁市",
+ "area": [
+ "宿城区",
+ "宿豫区",
+ "沭阳县",
+ "泗阳县",
+ "泗洪县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "浙江省",
+ "city": [
+ {
+ "name": "杭州市",
+ "area": [
+ "拱墅区",
+ "西湖区",
+ "上城区",
+ "下城区",
+ "江干区",
+ "滨江区",
+ "余杭区",
+ "萧山区",
+ "建德市",
+ "富阳市",
+ "临安市",
+ "桐庐县",
+ "淳安县",
+ "其他"
+ ]
+ },
+ {
+ "name": "宁波市",
+ "area": [
+ "海曙区",
+ "江东区",
+ "江北区",
+ "镇海区",
+ "北仑区",
+ "鄞州区",
+ "余姚市",
+ "慈溪市",
+ "奉化市",
+ "宁海县",
+ "象山县",
+ "其他"
+ ]
+ },
+ {
+ "name": "温州市",
+ "area": [
+ "鹿城区",
+ "龙湾区",
+ "瓯海区",
+ "瑞安市",
+ "乐清市",
+ "永嘉县",
+ "洞头县",
+ "平阳县",
+ "苍南县",
+ "文成县",
+ "泰顺县",
+ "其他"
+ ]
+ },
+ {
+ "name": "嘉兴市",
+ "area": [
+ "秀城区",
+ "秀洲区",
+ "海宁市",
+ "平湖市",
+ "桐乡市",
+ "嘉善县",
+ "海盐县",
+ "其他"
+ ]
+ },
+ {
+ "name": "湖州市",
+ "area": [
+ "吴兴区",
+ "南浔区",
+ "长兴县",
+ "德清县",
+ "安吉县",
+ "其他"
+ ]
+ },
+ {
+ "name": "绍兴市",
+ "area": [
+ "越城区",
+ "诸暨市",
+ "上虞市",
+ "嵊州市",
+ "绍兴县",
+ "新昌县",
+ "其他"
+ ]
+ },
+ {
+ "name": "金华市",
+ "area": [
+ "婺城区",
+ "金东区",
+ "兰溪市",
+ "义乌市",
+ "东阳市",
+ "永康市",
+ "武义县",
+ "浦江县",
+ "磐安县",
+ "其他"
+ ]
+ },
+ {
+ "name": "衢州市",
+ "area": [
+ "柯城区",
+ "衢江区",
+ "江山市",
+ "龙游县",
+ "常山县",
+ "开化县",
+ "其他"
+ ]
+ },
+ {
+ "name": "舟山市",
+ "area": [
+ "定海区",
+ "普陀区",
+ "岱山县",
+ "嵊泗县",
+ "其他"
+ ]
+ },
+ {
+ "name": "台州市",
+ "area": [
+ "椒江区",
+ "黄岩区",
+ "路桥区",
+ "临海市",
+ "温岭市",
+ "玉环县",
+ "天台县",
+ "仙居县",
+ "三门县",
+ "其他"
+ ]
+ },
+ {
+ "name": "丽水市",
+ "area": [
+ "莲都区",
+ "龙泉市",
+ "缙云县",
+ "青田县",
+ "云和县",
+ "遂昌县",
+ "松阳县",
+ "庆元县",
+ "景宁畲族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他市",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "安徽省",
+ "city": [
+ {
+ "name": "合肥市",
+ "area": [
+ "庐阳区",
+ "瑶海区",
+ "蜀山区",
+ "包河区",
+ "长丰县",
+ "肥东县",
+ "肥西县",
+ "其他"
+ ]
+ },
+ {
+ "name": "芜湖市",
+ "area": [
+ "镜湖区",
+ "弋江区",
+ "鸠江区",
+ "三山区",
+ "芜湖县",
+ "南陵县",
+ "繁昌县",
+ "其他"
+ ]
+ },
+ {
+ "name": "蚌埠市",
+ "area": [
+ "蚌山区",
+ "龙子湖区",
+ "禹会区",
+ "淮上区",
+ "怀远县",
+ "固镇县",
+ "五河县",
+ "其他"
+ ]
+ },
+ {
+ "name": "淮南市",
+ "area": [
+ "田家庵区",
+ "大通区",
+ "谢家集区",
+ "八公山区",
+ "潘集区",
+ "凤台县",
+ "其他"
+ ]
+ },
+ {
+ "name": "马鞍山市",
+ "area": [
+ "雨山区",
+ "花山区",
+ "金家庄区",
+ "当涂县",
+ "其他"
+ ]
+ },
+ {
+ "name": "淮北市",
+ "area": [
+ "相山区",
+ "杜集区",
+ "烈山区",
+ "濉溪县",
+ "其他"
+ ]
+ },
+ {
+ "name": "铜陵市",
+ "area": [
+ "铜官山区",
+ "狮子山区",
+ "郊区",
+ "铜陵县",
+ "其他"
+ ]
+ },
+ {
+ "name": "安庆市",
+ "area": [
+ "迎江区",
+ "大观区",
+ "宜秀区",
+ "桐城市",
+ "宿松县",
+ "枞阳县",
+ "太湖县",
+ "怀宁县",
+ "岳西县",
+ "望江县",
+ "潜山县",
+ "其他"
+ ]
+ },
+ {
+ "name": "黄山市",
+ "area": [
+ "屯溪区",
+ "黄山区",
+ "徽州区",
+ "休宁县",
+ "歙县",
+ "祁门县",
+ "黟县",
+ "其他"
+ ]
+ },
+ {
+ "name": "滁州市",
+ "area": [
+ "琅琊区",
+ "南谯区",
+ "天长市",
+ "明光市",
+ "全椒县",
+ "来安县",
+ "定远县",
+ "凤阳县",
+ "其他"
+ ]
+ },
+ {
+ "name": "阜阳市",
+ "area": [
+ "颍州区",
+ "颍东区",
+ "颍泉区",
+ "界首市",
+ "临泉县",
+ "颍上县",
+ "阜南县",
+ "太和县",
+ "其他"
+ ]
+ },
+ {
+ "name": "宿州市",
+ "area": [
+ "埇桥区",
+ "萧县",
+ "泗县",
+ "砀山县",
+ "灵璧县",
+ "其他"
+ ]
+ },
+ {
+ "name": "巢湖市",
+ "area": [
+ "居巢区",
+ "含山县",
+ "无为县",
+ "庐江县",
+ "和县",
+ "其他"
+ ]
+ },
+ {
+ "name": "六安市",
+ "area": [
+ "金安区",
+ "裕安区",
+ "寿县",
+ "霍山县",
+ "霍邱县",
+ "舒城县",
+ "金寨县",
+ "其他"
+ ]
+ },
+ {
+ "name": "亳州市",
+ "area": [
+ "谯城区",
+ "利辛县",
+ "涡阳县",
+ "蒙城县",
+ "其他"
+ ]
+ },
+ {
+ "name": "池州市",
+ "area": [
+ "贵池区",
+ "东至县",
+ "石台县",
+ "青阳县",
+ "其他"
+ ]
+ },
+ {
+ "name": "宣城市",
+ "area": [
+ "宣州区",
+ "宁国市",
+ "广德县",
+ "郎溪县",
+ "泾县",
+ "旌德县",
+ "绩溪县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他市",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "福建省",
+ "city": [
+ {
+ "name": "福州市",
+ "area": [
+ "鼓楼区",
+ "台江区",
+ "仓山区",
+ "马尾区",
+ "晋安区",
+ "福清市",
+ "长乐市",
+ "闽侯县",
+ "闽清县",
+ "永泰县",
+ "连江县",
+ "罗源县",
+ "平潭县",
+ "其他"
+ ]
+ },
+ {
+ "name": "厦门市",
+ "area": [
+ "思明区",
+ "海沧区",
+ "湖里区",
+ "集美区",
+ "同安区",
+ "翔安区",
+ "其他"
+ ]
+ },
+ {
+ "name": "莆田市",
+ "area": [
+ "城厢区",
+ "涵江区",
+ "荔城区",
+ "秀屿区",
+ "仙游县",
+ "其他"
+ ]
+ },
+ {
+ "name": "三明市",
+ "area": [
+ "梅列区",
+ "三元区",
+ "永安市",
+ "明溪县",
+ "将乐县",
+ "大田县",
+ "宁化县",
+ "建宁县",
+ "沙县",
+ "尤溪县",
+ "清流县",
+ "泰宁县",
+ "其他"
+ ]
+ },
+ {
+ "name": "泉州市",
+ "area": [
+ "鲤城区",
+ "丰泽区",
+ "洛江区",
+ "泉港区",
+ "石狮市",
+ "晋江市",
+ "南安市",
+ "惠安县",
+ "永春县",
+ "安溪县",
+ "德化县",
+ "金门县",
+ "其他"
+ ]
+ },
+ {
+ "name": "漳州市",
+ "area": [
+ "芗城区",
+ "龙文区",
+ "龙海市",
+ "平和县",
+ "南靖县",
+ "诏安县",
+ "漳浦县",
+ "华安县",
+ "东山县",
+ "长泰县",
+ "云霄县",
+ "其他"
+ ]
+ },
+ {
+ "name": "南平市",
+ "area": [
+ "延平区",
+ "建瓯市",
+ "邵武市",
+ "武夷山市",
+ "建阳市",
+ "松溪县",
+ "光泽县",
+ "顺昌县",
+ "浦城县",
+ "政和县",
+ "其他"
+ ]
+ },
+ {
+ "name": "龙岩市",
+ "area": [
+ "新罗区",
+ "漳平市",
+ "长汀县",
+ "武平县",
+ "上杭县",
+ "永定县",
+ "连城县",
+ "其他"
+ ]
+ },
+ {
+ "name": "宁德市",
+ "area": [
+ "蕉城区",
+ "福安市",
+ "福鼎市",
+ "寿宁县",
+ "霞浦县",
+ "柘荣县",
+ "屏南县",
+ "古田县",
+ "周宁县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "江西省",
+ "city": [
+ {
+ "name": "南昌市",
+ "area": [
+ "东湖区",
+ "西湖区",
+ "青云谱区",
+ "湾里区",
+ "青山湖区",
+ "新建县",
+ "南昌县",
+ "进贤县",
+ "安义县",
+ "其他"
+ ]
+ },
+ {
+ "name": "景德镇市",
+ "area": [
+ "珠山区",
+ "昌江区",
+ "乐平市",
+ "浮梁县",
+ "其他"
+ ]
+ },
+ {
+ "name": "萍乡市",
+ "area": [
+ "安源区",
+ "湘东区",
+ "莲花县",
+ "上栗县",
+ "芦溪县",
+ "其他"
+ ]
+ },
+ {
+ "name": "九江市",
+ "area": [
+ "浔阳区",
+ "庐山区",
+ "瑞昌市",
+ "九江县",
+ "星子县",
+ "武宁县",
+ "彭泽县",
+ "永修县",
+ "修水县",
+ "湖口县",
+ "德安县",
+ "都昌县",
+ "其他"
+ ]
+ },
+ {
+ "name": "新余市",
+ "area": [
+ "渝水区",
+ "分宜县",
+ "其他"
+ ]
+ },
+ {
+ "name": "鹰潭市",
+ "area": [
+ "月湖区",
+ "贵溪市",
+ "余江县",
+ "其他"
+ ]
+ },
+ {
+ "name": "赣州市",
+ "area": [
+ "章贡区",
+ "瑞金市",
+ "南康市",
+ "石城县",
+ "安远县",
+ "赣县",
+ "宁都县",
+ "寻乌县",
+ "兴国县",
+ "定南县",
+ "上犹县",
+ "于都县",
+ "龙南县",
+ "崇义县",
+ "信丰县",
+ "全南县",
+ "大余县",
+ "会昌县",
+ "其他"
+ ]
+ },
+ {
+ "name": "吉安市",
+ "area": [
+ "吉州区",
+ "青原区",
+ "井冈山市",
+ "吉安县",
+ "永丰县",
+ "永新县",
+ "新干县",
+ "泰和县",
+ "峡江县",
+ "遂川县",
+ "安福县",
+ "吉水县",
+ "万安县",
+ "其他"
+ ]
+ },
+ {
+ "name": "宜春市",
+ "area": [
+ "袁州区",
+ "丰城市",
+ "樟树市",
+ "高安市",
+ "铜鼓县",
+ "靖安县",
+ "宜丰县",
+ "奉新县",
+ "万载县",
+ "上高县",
+ "其他"
+ ]
+ },
+ {
+ "name": "抚州市",
+ "area": [
+ "临川区",
+ "南丰县",
+ "乐安县",
+ "金溪县",
+ "南城县",
+ "东乡县",
+ "资溪县",
+ "宜黄县",
+ "广昌县",
+ "黎川县",
+ "崇仁县",
+ "其他"
+ ]
+ },
+ {
+ "name": "上饶市",
+ "area": [
+ "信州区",
+ "德兴市",
+ "上饶县",
+ "广丰县",
+ "鄱阳县",
+ "婺源县",
+ "铅山县",
+ "余干县",
+ "横峰县",
+ "弋阳县",
+ "玉山县",
+ "万年县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "山东省",
+ "city": [
+ {
+ "name": "济南市",
+ "area": [
+ "市中区",
+ "历下区",
+ "天桥区",
+ "槐荫区",
+ "历城区",
+ "长清区",
+ "章丘市",
+ "平阴县",
+ "济阳县",
+ "商河县",
+ "其他"
+ ]
+ },
+ {
+ "name": "青岛市",
+ "area": [
+ "市南区",
+ "市北区",
+ "城阳区",
+ "四方区",
+ "李沧区",
+ "黄岛区",
+ "崂山区",
+ "胶南市",
+ "胶州市",
+ "平度市",
+ "莱西市",
+ "即墨市",
+ "其他"
+ ]
+ },
+ {
+ "name": "淄博市",
+ "area": [
+ "张店区",
+ "临淄区",
+ "淄川区",
+ "博山区",
+ "周村区",
+ "桓台县",
+ "高青县",
+ "沂源县",
+ "其他"
+ ]
+ },
+ {
+ "name": "枣庄市",
+ "area": [
+ "市中区",
+ "山亭区",
+ "峄城区",
+ "台儿庄区",
+ "薛城区",
+ "滕州市",
+ "其他"
+ ]
+ },
+ {
+ "name": "东营市",
+ "area": [
+ "东营区",
+ "河口区",
+ "垦利县",
+ "广饶县",
+ "利津县",
+ "其他"
+ ]
+ },
+ {
+ "name": "烟台市",
+ "area": [
+ "芝罘区",
+ "福山区",
+ "牟平区",
+ "莱山区",
+ "龙口市",
+ "莱阳市",
+ "莱州市",
+ "招远市",
+ "蓬莱市",
+ "栖霞市",
+ "海阳市",
+ "长岛县",
+ "其他"
+ ]
+ },
+ {
+ "name": "潍坊市",
+ "area": [
+ "潍城区",
+ "寒亭区",
+ "坊子区",
+ "奎文区",
+ "青州市",
+ "诸城市",
+ "寿光市",
+ "安丘市",
+ "高密市",
+ "昌邑市",
+ "昌乐县",
+ "临朐县",
+ "其他"
+ ]
+ },
+ {
+ "name": "济宁市",
+ "area": [
+ "市中区",
+ "任城区",
+ "曲阜市",
+ "兖州市",
+ "邹城市",
+ "鱼台县",
+ "金乡县",
+ "嘉祥县",
+ "微山县",
+ "汶上县",
+ "泗水县",
+ "梁山县",
+ "其他"
+ ]
+ },
+ {
+ "name": "泰安市",
+ "area": [
+ "泰山区",
+ "岱岳区",
+ "新泰市",
+ "肥城市",
+ "宁阳县",
+ "东平县",
+ "其他"
+ ]
+ },
+ {
+ "name": "威海市",
+ "area": [
+ "环翠区",
+ "乳山市",
+ "文登市",
+ "荣成市",
+ "其他"
+ ]
+ },
+ {
+ "name": "日照市",
+ "area": [
+ "东港区",
+ "岚山区",
+ "五莲县",
+ "莒县",
+ "其他"
+ ]
+ },
+ {
+ "name": "莱芜市",
+ "area": [
+ "莱城区",
+ "钢城区",
+ "其他"
+ ]
+ },
+ {
+ "name": "临沂市",
+ "area": [
+ "兰山区",
+ "罗庄区",
+ "河东区",
+ "沂南县",
+ "郯城县",
+ "沂水县",
+ "苍山县",
+ "费县",
+ "平邑县",
+ "莒南县",
+ "蒙阴县",
+ "临沭县",
+ "其他"
+ ]
+ },
+ {
+ "name": "德州市",
+ "area": [
+ "德城区",
+ "乐陵市",
+ "禹城市",
+ "陵县",
+ "宁津县",
+ "齐河县",
+ "武城县",
+ "庆云县",
+ "平原县",
+ "夏津县",
+ "临邑县",
+ "其他"
+ ]
+ },
+ {
+ "name": "聊城市",
+ "area": [
+ "东昌府区",
+ "临清市",
+ "高唐县",
+ "阳谷县",
+ "茌平县",
+ "莘县",
+ "东阿县",
+ "冠县",
+ "其他"
+ ]
+ },
+ {
+ "name": "滨州市",
+ "area": [
+ "滨城区",
+ "邹平县",
+ "沾化县",
+ "惠民县",
+ "博兴县",
+ "阳信县",
+ "无棣县",
+ "其他"
+ ]
+ },
+ {
+ "name": "菏泽市",
+ "area": [
+ "牡丹区",
+ "鄄城县",
+ "单县",
+ "郓城县",
+ "曹县",
+ "定陶县",
+ "巨野县",
+ "东明县",
+ "成武县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "河南省",
+ "city": [
+ {
+ "name": "郑州市",
+ "area": [
+ "中原区",
+ "金水区",
+ "二七区",
+ "管城回族区",
+ "上街区",
+ "惠济区",
+ "巩义市",
+ "新郑市",
+ "新密市",
+ "登封市",
+ "荥阳市",
+ "中牟县",
+ "其他"
+ ]
+ },
+ {
+ "name": "开封市",
+ "area": [
+ "鼓楼区",
+ "龙亭区",
+ "顺河回族区",
+ "禹王台区",
+ "金明区",
+ "开封县",
+ "尉氏县",
+ "兰考县",
+ "杞县",
+ "通许县",
+ "其他"
+ ]
+ },
+ {
+ "name": "洛阳市",
+ "area": [
+ "西工区",
+ "老城区",
+ "涧西区",
+ "瀍河回族区",
+ "洛龙区",
+ "吉利区",
+ "偃师市",
+ "孟津县",
+ "汝阳县",
+ "伊川县",
+ "洛宁县",
+ "嵩县",
+ "宜阳县",
+ "新安县",
+ "栾川县",
+ "其他"
+ ]
+ },
+ {
+ "name": "平顶山市",
+ "area": [
+ "新华区",
+ "卫东区",
+ "湛河区",
+ "石龙区",
+ "汝州市",
+ "舞钢市",
+ "宝丰县",
+ "叶县",
+ "郏县",
+ "鲁山县",
+ "其他"
+ ]
+ },
+ {
+ "name": "安阳市",
+ "area": [
+ "北关区",
+ "文峰区",
+ "殷都区",
+ "龙安区",
+ "林州市",
+ "安阳县",
+ "滑县",
+ "内黄县",
+ "汤阴县",
+ "其他"
+ ]
+ },
+ {
+ "name": "鹤壁市",
+ "area": [
+ "淇滨区",
+ "山城区",
+ "鹤山区",
+ "浚县",
+ "淇县",
+ "其他"
+ ]
+ },
+ {
+ "name": "新乡市",
+ "area": [
+ "卫滨区",
+ "红旗区",
+ "凤泉区",
+ "牧野区",
+ "卫辉市",
+ "辉县市",
+ "新乡县",
+ "获嘉县",
+ "原阳县",
+ "长垣县",
+ "封丘县",
+ "延津县",
+ "其他"
+ ]
+ },
+ {
+ "name": "焦作市",
+ "area": [
+ "解放区",
+ "中站区",
+ "马村区",
+ "山阳区",
+ "沁阳市",
+ "孟州市",
+ "修武县",
+ "温县",
+ "武陟县",
+ "博爱县",
+ "其他"
+ ]
+ },
+ {
+ "name": "濮阳市",
+ "area": [
+ "华龙区",
+ "濮阳县",
+ "南乐县",
+ "台前县",
+ "清丰县",
+ "范县",
+ "其他"
+ ]
+ },
+ {
+ "name": "许昌市",
+ "area": [
+ "魏都区",
+ "禹州市",
+ "长葛市",
+ "许昌县",
+ "鄢陵县",
+ "襄城县",
+ "其他"
+ ]
+ },
+ {
+ "name": "漯河市",
+ "area": [
+ "源汇区",
+ "郾城区",
+ "召陵区",
+ "临颍县",
+ "舞阳县",
+ "其他"
+ ]
+ },
+ {
+ "name": "三门峡市",
+ "area": [
+ "湖滨区",
+ "义马市",
+ "灵宝市",
+ "渑池县",
+ "卢氏县",
+ "陕县",
+ "其他"
+ ]
+ },
+ {
+ "name": "南阳市",
+ "area": [
+ "卧龙区",
+ "宛城区",
+ "邓州市",
+ "桐柏县",
+ "方城县",
+ "淅川县",
+ "镇平县",
+ "唐河县",
+ "南召县",
+ "内乡县",
+ "新野县",
+ "社旗县",
+ "西峡县",
+ "其他"
+ ]
+ },
+ {
+ "name": "商丘市",
+ "area": [
+ "梁园区",
+ "睢阳区",
+ "永城市",
+ "宁陵县",
+ "虞城县",
+ "民权县",
+ "夏邑县",
+ "柘城县",
+ "睢县",
+ "其他"
+ ]
+ },
+ {
+ "name": "信阳市",
+ "area": [
+ "浉河区",
+ "平桥区",
+ "潢川县",
+ "淮滨县",
+ "息县",
+ "新县",
+ "商城县",
+ "固始县",
+ "罗山县",
+ "光山县",
+ "其他"
+ ]
+ },
+ {
+ "name": "周口市",
+ "area": [
+ "川汇区",
+ "项城市",
+ "商水县",
+ "淮阳县",
+ "太康县",
+ "鹿邑县",
+ "西华县",
+ "扶沟县",
+ "沈丘县",
+ "郸城县",
+ "其他"
+ ]
+ },
+ {
+ "name": "驻马店市",
+ "area": [
+ "驿城区",
+ "确山县",
+ "新蔡县",
+ "上蔡县",
+ "西平县",
+ "泌阳县",
+ "平舆县",
+ "汝南县",
+ "遂平县",
+ "正阳县",
+ "其他"
+ ]
+ },
+ {
+ "name": "焦作市",
+ "area": [
+ "济源市",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "湖北省",
+ "city": [
+ {
+ "name": "武汉市",
+ "area": [
+ "江岸区",
+ "武昌区",
+ "江汉区",
+ "硚口区",
+ "汉阳区",
+ "青山区",
+ "洪山区",
+ "东西湖区",
+ "汉南区",
+ "蔡甸区",
+ "江夏区",
+ "黄陂区",
+ "新洲区",
+ "其他"
+ ]
+ },
+ {
+ "name": "黄石市",
+ "area": [
+ "黄石港区",
+ "西塞山区",
+ "下陆区",
+ "铁山区",
+ "大冶市",
+ "阳新县",
+ "其他"
+ ]
+ },
+ {
+ "name": "十堰市",
+ "area": [
+ "张湾区",
+ "茅箭区",
+ "丹江口市",
+ "郧县",
+ "竹山县",
+ "房县",
+ "郧西县",
+ "竹溪县",
+ "其他"
+ ]
+ },
+ {
+ "name": "荆州市",
+ "area": [
+ "沙市区",
+ "荆州区",
+ "洪湖市",
+ "石首市",
+ "松滋市",
+ "监利县",
+ "公安县",
+ "江陵县",
+ "其他"
+ ]
+ },
+ {
+ "name": "宜昌市",
+ "area": [
+ "西陵区",
+ "伍家岗区",
+ "点军区",
+ "猇亭区",
+ "夷陵区",
+ "宜都市",
+ "当阳市",
+ "枝江市",
+ "秭归县",
+ "远安县",
+ "兴山县",
+ "五峰土家族自治县",
+ "长阳土家族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "襄樊市",
+ "area": [
+ "襄城区",
+ "樊城区",
+ "襄阳区",
+ "老河口市",
+ "枣阳市",
+ "宜城市",
+ "南漳县",
+ "谷城县",
+ "保康县",
+ "其他"
+ ]
+ },
+ {
+ "name": "鄂州市",
+ "area": [
+ "鄂城区",
+ "华容区",
+ "梁子湖区",
+ "其他"
+ ]
+ },
+ {
+ "name": "荆门市",
+ "area": [
+ "东宝区",
+ "掇刀区",
+ "钟祥市",
+ "京山县",
+ "沙洋县",
+ "其他"
+ ]
+ },
+ {
+ "name": "孝感市",
+ "area": [
+ "孝南区",
+ "应城市",
+ "安陆市",
+ "汉川市",
+ "云梦县",
+ "大悟县",
+ "孝昌县",
+ "其他"
+ ]
+ },
+ {
+ "name": "黄冈市",
+ "area": [
+ "黄州区",
+ "麻城市",
+ "武穴市",
+ "红安县",
+ "罗田县",
+ "浠水县",
+ "蕲春县",
+ "黄梅县",
+ "英山县",
+ "团风县",
+ "其他"
+ ]
+ },
+ {
+ "name": "咸宁市",
+ "area": [
+ "咸安区",
+ "赤壁市",
+ "嘉鱼县",
+ "通山县",
+ "崇阳县",
+ "通城县",
+ "其他"
+ ]
+ },
+ {
+ "name": "随州市",
+ "area": [
+ "曾都区",
+ "广水市",
+ "其他"
+ ]
+ },
+ {
+ "name": "恩施土家族苗族自治州",
+ "area": [
+ "恩施市",
+ "利川市",
+ "建始县",
+ "来凤县",
+ "巴东县",
+ "鹤峰县",
+ "宣恩县",
+ "咸丰县",
+ "其他"
+ ]
+ },
+ {
+ "name": "仙桃市",
+ "area": [
+ "仙桃"
+ ]
+ },
+ {
+ "name": "天门市",
+ "area": [
+ "天门"
+ ]
+ },
+ {
+ "name": "潜江市",
+ "area": [
+ "潜江"
+ ]
+ },
+ {
+ "name": "神农架林区",
+ "area": [
+ "神农架林区"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "湖南省",
+ "city": [
+ {
+ "name": "长沙市",
+ "area": [
+ "岳麓区",
+ "芙蓉区",
+ "天心区",
+ "开福区",
+ "雨花区",
+ "浏阳市",
+ "长沙县",
+ "望城县",
+ "宁乡县",
+ "其他"
+ ]
+ },
+ {
+ "name": "株洲市",
+ "area": [
+ "天元区",
+ "荷塘区",
+ "芦淞区",
+ "石峰区",
+ "醴陵市",
+ "株洲县",
+ "炎陵县",
+ "茶陵县",
+ "攸县",
+ "其他"
+ ]
+ },
+ {
+ "name": "湘潭市",
+ "area": [
+ "岳塘区",
+ "雨湖区",
+ "湘乡市",
+ "韶山市",
+ "湘潭县",
+ "其他"
+ ]
+ },
+ {
+ "name": "衡阳市",
+ "area": [
+ "雁峰区",
+ "珠晖区",
+ "石鼓区",
+ "蒸湘区",
+ "南岳区",
+ "耒阳市",
+ "常宁市",
+ "衡阳县",
+ "衡东县",
+ "衡山县",
+ "衡南县",
+ "祁东县",
+ "其他"
+ ]
+ },
+ {
+ "name": "邵阳市",
+ "area": [
+ "双清区",
+ "大祥区",
+ "北塔区",
+ "武冈市",
+ "邵东县",
+ "洞口县",
+ "新邵县",
+ "绥宁县",
+ "新宁县",
+ "邵阳县",
+ "隆回县",
+ "城步苗族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "岳阳市",
+ "area": [
+ "岳阳楼区",
+ "云溪区",
+ "君山区",
+ "临湘市",
+ "汨罗市",
+ "岳阳县",
+ "湘阴县",
+ "平江县",
+ "华容县",
+ "其他"
+ ]
+ },
+ {
+ "name": "常德市",
+ "area": [
+ "武陵区",
+ "鼎城区",
+ "津市市",
+ "澧县",
+ "临澧县",
+ "桃源县",
+ "汉寿县",
+ "安乡县",
+ "石门县",
+ "其他"
+ ]
+ },
+ {
+ "name": "张家界市",
+ "area": [
+ "永定区",
+ "武陵源区",
+ "慈利县",
+ "桑植县",
+ "其他"
+ ]
+ },
+ {
+ "name": "益阳市",
+ "area": [
+ "赫山区",
+ "资阳区",
+ "沅江市",
+ "桃江县",
+ "南县",
+ "安化县",
+ "其他"
+ ]
+ },
+ {
+ "name": "郴州市",
+ "area": [
+ "北湖区",
+ "苏仙区",
+ "资兴市",
+ "宜章县",
+ "汝城县",
+ "安仁县",
+ "嘉禾县",
+ "临武县",
+ "桂东县",
+ "永兴县",
+ "桂阳县",
+ "其他"
+ ]
+ },
+ {
+ "name": "永州市",
+ "area": [
+ "冷水滩区",
+ "零陵区",
+ "祁阳县",
+ "蓝山县",
+ "宁远县",
+ "新田县",
+ "东安县",
+ "江永县",
+ "道县",
+ "双牌县",
+ "江华瑶族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "怀化市",
+ "area": [
+ "鹤城区",
+ "洪江市",
+ "会同县",
+ "沅陵县",
+ "辰溪县",
+ "溆浦县",
+ "中方县",
+ "新晃侗族自治县",
+ "芷江侗族自治县",
+ "通道侗族自治县",
+ "靖州苗族侗族自治县",
+ "麻阳苗族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "娄底市",
+ "area": [
+ "娄星区",
+ "冷水江市",
+ "涟源市",
+ "新化县",
+ "双峰县",
+ "其他"
+ ]
+ },
+ {
+ "name": "湘西土家族苗族自治州",
+ "area": [
+ "吉首市",
+ "古丈县",
+ "龙山县",
+ "永顺县",
+ "凤凰县",
+ "泸溪县",
+ "保靖县",
+ "花垣县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "广东省",
+ "city": [
+ {
+ "name": "广州市",
+ "area": [
+ "越秀区",
+ "荔湾区",
+ "海珠区",
+ "天河区",
+ "白云区",
+ "黄埔区",
+ "番禺区",
+ "花都区",
+ "南沙区",
+ "萝岗区",
+ "增城市",
+ "从化市",
+ "其他"
+ ]
+ },
+ {
+ "name": "深圳市",
+ "area": [
+ "福田区",
+ "罗湖区",
+ "南山区",
+ "宝安区",
+ "龙岗区",
+ "盐田区",
+ "其他"
+ ]
+ },
+ {
+ "name": "东莞市",
+ "area": [
+ "莞城",
+ "常平",
+ "塘厦",
+ "塘厦",
+ "塘厦",
+ "其他"
+ ]
+ },
+ {
+ "name": "中山市",
+ "area": [
+ "中山"
+ ]
+ },
+ {
+ "name": "潮州市",
+ "area": [
+ "湘桥区",
+ "潮安县",
+ "饶平县",
+ "其他"
+ ]
+ },
+ {
+ "name": "揭阳市",
+ "area": [
+ "榕城区",
+ "揭东县",
+ "揭西县",
+ "惠来县",
+ "普宁市",
+ "其他"
+ ]
+ },
+ {
+ "name": "云浮市",
+ "area": [
+ "云城区",
+ "新兴县",
+ "郁南县",
+ "云安县",
+ "罗定市",
+ "其他"
+ ]
+ },
+ {
+ "name": "珠海市",
+ "area": [
+ "香洲区",
+ "斗门区",
+ "金湾区",
+ "其他"
+ ]
+ },
+ {
+ "name": "汕头市",
+ "area": [
+ "金平区",
+ "濠江区",
+ "龙湖区",
+ "潮阳区",
+ "潮南区",
+ "澄海区",
+ "南澳县",
+ "其他"
+ ]
+ },
+ {
+ "name": "韶关市",
+ "area": [
+ "浈江区",
+ "武江区",
+ "曲江区",
+ "乐昌市",
+ "南雄市",
+ "始兴县",
+ "仁化县",
+ "翁源县",
+ "新丰县",
+ "乳源瑶族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "佛山市",
+ "area": [
+ "禅城区",
+ "南海区",
+ "顺德区",
+ "三水区",
+ "高明区",
+ "其他"
+ ]
+ },
+ {
+ "name": "江门市",
+ "area": [
+ "蓬江区",
+ "江海区",
+ "新会区",
+ "恩平市",
+ "台山市",
+ "开平市",
+ "鹤山市",
+ "其他"
+ ]
+ },
+ {
+ "name": "湛江市",
+ "area": [
+ "赤坎区",
+ "霞山区",
+ "坡头区",
+ "麻章区",
+ "吴川市",
+ "廉江市",
+ "雷州市",
+ "遂溪县",
+ "徐闻县",
+ "其他"
+ ]
+ },
+ {
+ "name": "茂名市",
+ "area": [
+ "茂南区",
+ "茂港区",
+ "化州市",
+ "信宜市",
+ "高州市",
+ "电白县",
+ "其他"
+ ]
+ },
+ {
+ "name": "肇庆市",
+ "area": [
+ "端州区",
+ "鼎湖区",
+ "高要市",
+ "四会市",
+ "广宁县",
+ "怀集县",
+ "封开县",
+ "德庆县",
+ "其他"
+ ]
+ },
+ {
+ "name": "惠州市",
+ "area": [
+ "惠城区",
+ "惠阳区",
+ "博罗县",
+ "惠东县",
+ "龙门县",
+ "其他"
+ ]
+ },
+ {
+ "name": "梅州市",
+ "area": [
+ "梅江区",
+ "兴宁市",
+ "梅县",
+ "大埔县",
+ "丰顺县",
+ "五华县",
+ "平远县",
+ "蕉岭县",
+ "其他"
+ ]
+ },
+ {
+ "name": "汕尾市",
+ "area": [
+ "城区",
+ "陆丰市",
+ "海丰县",
+ "陆河县",
+ "其他"
+ ]
+ },
+ {
+ "name": "河源市",
+ "area": [
+ "源城区",
+ "紫金县",
+ "龙川县",
+ "连平县",
+ "和平县",
+ "东源县",
+ "其他"
+ ]
+ },
+ {
+ "name": "阳江市",
+ "area": [
+ "江城区",
+ "阳春市",
+ "阳西县",
+ "阳东县",
+ "其他"
+ ]
+ },
+ {
+ "name": "清远市",
+ "area": [
+ "清城区",
+ "英德市",
+ "连州市",
+ "佛冈县",
+ "阳山县",
+ "清新县",
+ "连山壮族瑶族自治县",
+ "连南瑶族自治县",
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "广西",
+ "city": [
+ {
+ "name": "南宁市",
+ "area": [
+ "青秀区",
+ "兴宁区",
+ "西乡塘区",
+ "良庆区",
+ "江南区",
+ "邕宁区",
+ "武鸣县",
+ "隆安县",
+ "马山县",
+ "上林县",
+ "宾阳县",
+ "横县",
+ "其他"
+ ]
+ },
+ {
+ "name": "柳州市",
+ "area": [
+ "城中区",
+ "鱼峰区",
+ "柳北区",
+ "柳南区",
+ "柳江县",
+ "柳城县",
+ "鹿寨县",
+ "融安县",
+ "融水苗族自治县",
+ "三江侗族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "桂林市",
+ "area": [
+ "象山区",
+ "秀峰区",
+ "叠彩区",
+ "七星区",
+ "雁山区",
+ "阳朔县",
+ "临桂县",
+ "灵川县",
+ "全州县",
+ "平乐县",
+ "兴安县",
+ "灌阳县",
+ "荔浦县",
+ "资源县",
+ "永福县",
+ "龙胜各族自治县",
+ "恭城瑶族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "梧州市",
+ "area": [
+ "万秀区",
+ "蝶山区",
+ "长洲区",
+ "岑溪市",
+ "苍梧县",
+ "藤县",
+ "蒙山县",
+ "其他"
+ ]
+ },
+ {
+ "name": "北海市",
+ "area": [
+ "海城区",
+ "银海区",
+ "铁山港区",
+ "合浦县",
+ "其他"
+ ]
+ },
+ {
+ "name": "防城港市",
+ "area": [
+ "港口区",
+ "防城区",
+ "东兴市",
+ "上思县",
+ "其他"
+ ]
+ },
+ {
+ "name": "钦州市",
+ "area": [
+ "钦南区",
+ "钦北区",
+ "灵山县",
+ "浦北县",
+ "其他"
+ ]
+ },
+ {
+ "name": "贵港市",
+ "area": [
+ "港北区",
+ "港南区",
+ "覃塘区",
+ "桂平市",
+ "平南县",
+ "其他"
+ ]
+ },
+ {
+ "name": "玉林市",
+ "area": [
+ "玉州区",
+ "北流市",
+ "容县",
+ "陆川县",
+ "博白县",
+ "兴业县",
+ "其他"
+ ]
+ },
+ {
+ "name": "百色市",
+ "area": [
+ "右江区",
+ "凌云县",
+ "平果县",
+ "西林县",
+ "乐业县",
+ "德保县",
+ "田林县",
+ "田阳县",
+ "靖西县",
+ "田东县",
+ "那坡县",
+ "隆林各族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "贺州市",
+ "area": [
+ "八步区",
+ "钟山县",
+ "昭平县",
+ "富川瑶族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "河池市",
+ "area": [
+ "金城江区",
+ "宜州市",
+ "天峨县",
+ "凤山县",
+ "南丹县",
+ "东兰县",
+ "都安瑶族自治县",
+ "罗城仫佬族自治县",
+ "巴马瑶族自治县",
+ "环江毛南族自治县",
+ "大化瑶族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "来宾市",
+ "area": [
+ "兴宾区",
+ "合山市",
+ "象州县",
+ "武宣县",
+ "忻城县",
+ "金秀瑶族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "崇左市",
+ "area": [
+ "江州区",
+ "凭祥市",
+ "宁明县",
+ "扶绥县",
+ "龙州县",
+ "大新县",
+ "天等县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他市",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "海南省",
+ "city": [
+ {
+ "name": "海口市",
+ "area": [
+ "龙华区",
+ "秀英区",
+ "琼山区",
+ "美兰区",
+ "其他"
+ ]
+ },
+ {
+ "name": "三亚市",
+ "area": [
+ "三亚市",
+ "其他"
+ ]
+ },
+ {
+ "name": "五指山市",
+ "area": [
+ "五指山"
+ ]
+ },
+ {
+ "name": "琼海市",
+ "area": [
+ "琼海"
+ ]
+ },
+ {
+ "name": "儋州市",
+ "area": [
+ "儋州"
+ ]
+ },
+ {
+ "name": "文昌市",
+ "area": [
+ "文昌"
+ ]
+ },
+ {
+ "name": "万宁市",
+ "area": [
+ "万宁"
+ ]
+ },
+ {
+ "name": "东方市",
+ "area": [
+ "东方"
+ ]
+ },
+ {
+ "name": "澄迈县",
+ "area": [
+ "澄迈县"
+ ]
+ },
+ {
+ "name": "定安县",
+ "area": [
+ "定安县"
+ ]
+ },
+ {
+ "name": "屯昌县",
+ "area": [
+ "屯昌县"
+ ]
+ },
+ {
+ "name": "临高县",
+ "area": [
+ "临高县"
+ ]
+ },
+ {
+ "name": "白沙黎族自治县",
+ "area": [
+ "白沙黎族自治县"
+ ]
+ },
+ {
+ "name": "昌江黎族自治县",
+ "area": [
+ "昌江黎族自治县"
+ ]
+ },
+ {
+ "name": "乐东黎族自治县",
+ "area": [
+ "乐东黎族自治县"
+ ]
+ },
+ {
+ "name": "陵水黎族自治县",
+ "area": [
+ "陵水黎族自治县"
+ ]
+ },
+ {
+ "name": "保亭黎族苗族自治县",
+ "area": [
+ "保亭黎族苗族自治县"
+ ]
+ },
+ {
+ "name": "琼中黎族苗族自治县",
+ "area": [
+ "琼中黎族苗族自治县"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "重庆市",
+ "city": [
+ {
+ "name": "重庆市",
+ "area": [
+ "渝中区",
+ "大渡口区",
+ "江北区",
+ "南岸区",
+ "北碚区",
+ "渝北区",
+ "巴南区",
+ "长寿区",
+ "双桥区",
+ "沙坪坝区",
+ "万盛区",
+ "万州区",
+ "涪陵区",
+ "黔江区",
+ "永川区",
+ "合川区",
+ "江津区",
+ "九龙坡区",
+ "南川区",
+ "綦江县",
+ "潼南县",
+ "荣昌县",
+ "璧山县",
+ "大足县",
+ "铜梁县",
+ "梁平县",
+ "开县",
+ "忠县",
+ "城口县",
+ "垫江县",
+ "武隆县",
+ "丰都县",
+ "奉节县",
+ "云阳县",
+ "巫溪县",
+ "巫山县",
+ "石柱土家族自治县",
+ "秀山土家族苗族自治县",
+ "酉阳土家族苗族自治县",
+ "彭水苗族土家族自治县",
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "四川省",
+ "city": [
+ {
+ "name": "成都市",
+ "area": [
+ "青羊区",
+ "锦江区",
+ "金牛区",
+ "武侯区",
+ "成华区",
+ "龙泉驿区",
+ "青白江区",
+ "新都区",
+ "温江区",
+ "都江堰市",
+ "彭州市",
+ "邛崃市",
+ "崇州市",
+ "金堂县",
+ "郫县",
+ "新津县",
+ "双流县",
+ "蒲江县",
+ "大邑县",
+ "其他"
+ ]
+ },
+ {
+ "name": "自贡市",
+ "area": [
+ "大安区",
+ "自流井区",
+ "贡井区",
+ "沿滩区",
+ "荣县",
+ "富顺县",
+ "其他"
+ ]
+ },
+ {
+ "name": "攀枝花市",
+ "area": [
+ "仁和区",
+ "米易县",
+ "盐边县",
+ "东区",
+ "西区",
+ "其他"
+ ]
+ },
+ {
+ "name": "泸州市",
+ "area": [
+ "江阳区",
+ "纳溪区",
+ "龙马潭区",
+ "泸县",
+ "合江县",
+ "叙永县",
+ "古蔺县",
+ "其他"
+ ]
+ },
+ {
+ "name": "德阳市",
+ "area": [
+ "旌阳区",
+ "广汉市",
+ "什邡市",
+ "绵竹市",
+ "罗江县",
+ "中江县",
+ "其他"
+ ]
+ },
+ {
+ "name": "绵阳市",
+ "area": [
+ "涪城区",
+ "游仙区",
+ "江油市",
+ "盐亭县",
+ "三台县",
+ "平武县",
+ "安县",
+ "梓潼县",
+ "北川羌族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "广元市",
+ "area": [
+ "元坝区",
+ "朝天区",
+ "青川县",
+ "旺苍县",
+ "剑阁县",
+ "苍溪县",
+ "市中区",
+ "其他"
+ ]
+ },
+ {
+ "name": "遂宁市",
+ "area": [
+ "船山区",
+ "安居区",
+ "射洪县",
+ "蓬溪县",
+ "大英县",
+ "其他"
+ ]
+ },
+ {
+ "name": "内江市",
+ "area": [
+ "市中区",
+ "东兴区",
+ "资中县",
+ "隆昌县",
+ "威远县",
+ "其他"
+ ]
+ },
+ {
+ "name": "乐山市",
+ "area": [
+ "市中区",
+ "五通桥区",
+ "沙湾区",
+ "金口河区",
+ "峨眉山市",
+ "夹江县",
+ "井研县",
+ "犍为县",
+ "沐川县",
+ "马边彝族自治县",
+ "峨边彝族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "南充",
+ "area": [
+ "顺庆区",
+ "高坪区",
+ "嘉陵区",
+ "阆中市",
+ "营山县",
+ "蓬安县",
+ "仪陇县",
+ "南部县",
+ "西充县",
+ "其他"
+ ]
+ },
+ {
+ "name": "眉山市",
+ "area": [
+ "东坡区",
+ "仁寿县",
+ "彭山县",
+ "洪雅县",
+ "丹棱县",
+ "青神县",
+ "其他"
+ ]
+ },
+ {
+ "name": "宜宾市",
+ "area": [
+ "翠屏区",
+ "宜宾县",
+ "兴文县",
+ "南溪县",
+ "珙县",
+ "长宁县",
+ "高县",
+ "江安县",
+ "筠连县",
+ "屏山县",
+ "其他"
+ ]
+ },
+ {
+ "name": "广安市",
+ "area": [
+ "广安区",
+ "华蓥市",
+ "岳池县",
+ "邻水县",
+ "武胜县",
+ "其他"
+ ]
+ },
+ {
+ "name": "达州市",
+ "area": [
+ "通川区",
+ "万源市",
+ "达县",
+ "渠县",
+ "宣汉县",
+ "开江县",
+ "大竹县",
+ "其他"
+ ]
+ },
+ {
+ "name": "雅安市",
+ "area": [
+ "雨城区",
+ "芦山县",
+ "石棉县",
+ "名山县",
+ "天全县",
+ "荥经县",
+ "宝兴县",
+ "汉源县",
+ "其他"
+ ]
+ },
+ {
+ "name": "巴中市",
+ "area": [
+ "巴州区",
+ "南江县",
+ "平昌县",
+ "通江县",
+ "其他"
+ ]
+ },
+ {
+ "name": "资阳市",
+ "area": [
+ "雁江区",
+ "简阳市",
+ "安岳县",
+ "乐至县",
+ "其他"
+ ]
+ },
+ {
+ "name": "阿坝藏族羌族自治州",
+ "area": [
+ "马尔康县",
+ "九寨沟县",
+ "红原县",
+ "汶川县",
+ "阿坝县",
+ "理县",
+ "若尔盖县",
+ "小金县",
+ "黑水县",
+ "金川县",
+ "松潘县",
+ "壤塘县",
+ "茂县",
+ "其他"
+ ]
+ },
+ {
+ "name": "甘孜藏族自治州",
+ "area": [
+ "康定县",
+ "丹巴县",
+ "炉霍县",
+ "九龙县",
+ "甘孜县",
+ "雅江县",
+ "新龙县",
+ "道孚县",
+ "白玉县",
+ "理塘县",
+ "德格县",
+ "乡城县",
+ "石渠县",
+ "稻城县",
+ "色达县",
+ "巴塘县",
+ "泸定县",
+ "得荣县",
+ "其他"
+ ]
+ },
+ {
+ "name": "凉山彝族自治州",
+ "area": [
+ "西昌市",
+ "美姑县",
+ "昭觉县",
+ "金阳县",
+ "甘洛县",
+ "布拖县",
+ "雷波县",
+ "普格县",
+ "宁南县",
+ "喜德县",
+ "会东县",
+ "越西县",
+ "会理县",
+ "盐源县",
+ "德昌县",
+ "冕宁县",
+ "木里藏族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "贵州省",
+ "city": [
+ {
+ "name": "贵阳市",
+ "area": [
+ "南明区",
+ "云岩区",
+ "花溪区",
+ "乌当区",
+ "白云区",
+ "小河区",
+ "清镇市",
+ "开阳县",
+ "修文县",
+ "息烽县",
+ "其他"
+ ]
+ },
+ {
+ "name": "六盘水市",
+ "area": [
+ "钟山区",
+ "水城县",
+ "盘县",
+ "六枝特区",
+ "其他"
+ ]
+ },
+ {
+ "name": "遵义市",
+ "area": [
+ "红花岗区",
+ "汇川区",
+ "赤水市",
+ "仁怀市",
+ "遵义县",
+ "绥阳县",
+ "桐梓县",
+ "习水县",
+ "凤冈县",
+ "正安县",
+ "余庆县",
+ "湄潭县",
+ "道真仡佬族苗族自治县",
+ "务川仡佬族苗族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "安顺市",
+ "area": [
+ "西秀区",
+ "普定县",
+ "平坝县",
+ "镇宁布依族苗族自治县",
+ "紫云苗族布依族自治县",
+ "关岭布依族苗族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "铜仁地区",
+ "area": [
+ "铜仁市",
+ "德江县",
+ "江口县",
+ "思南县",
+ "石阡县",
+ "玉屏侗族自治县",
+ "松桃苗族自治县",
+ "印江土家族苗族自治县",
+ "沿河土家族自治县",
+ "万山特区",
+ "其他"
+ ]
+ },
+ {
+ "name": "毕节地区",
+ "area": [
+ "毕节市",
+ "黔西县",
+ "大方县",
+ "织金县",
+ "金沙县",
+ "赫章县",
+ "纳雍县",
+ "威宁彝族回族苗族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "黔西南布依族苗族自治州",
+ "area": [
+ "兴义市",
+ "望谟县",
+ "兴仁县",
+ "普安县",
+ "册亨县",
+ "晴隆县",
+ "贞丰县",
+ "安龙县",
+ "其他"
+ ]
+ },
+ {
+ "name": "黔东南苗族侗族自治州",
+ "area": [
+ "凯里市",
+ "施秉县",
+ "从江县",
+ "锦屏县",
+ "镇远县",
+ "麻江县",
+ "台江县",
+ "天柱县",
+ "黄平县",
+ "榕江县",
+ "剑河县",
+ "三穗县",
+ "雷山县",
+ "黎平县",
+ "岑巩县",
+ "丹寨县",
+ "其他"
+ ]
+ },
+ {
+ "name": "黔南布依族苗族自治州",
+ "area": [
+ "都匀市",
+ "福泉市",
+ "贵定县",
+ "惠水县",
+ "罗甸县",
+ "瓮安县",
+ "荔波县",
+ "龙里县",
+ "平塘县",
+ "长顺县",
+ "独山县",
+ "三都水族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "云南省",
+ "city": [
+ {
+ "name": "昆明市",
+ "area": [
+ "盘龙区",
+ "五华区",
+ "官渡区",
+ "西山区",
+ "东川区",
+ "安宁市",
+ "呈贡县",
+ "晋宁县",
+ "富民县",
+ "宜良县",
+ "嵩明县",
+ "石林彝族自治县",
+ "禄劝彝族苗族自治县",
+ "寻甸回族彝族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "曲靖市",
+ "area": [
+ "麒麟区",
+ "宣威市",
+ "马龙县",
+ "沾益县",
+ "富源县",
+ "罗平县",
+ "师宗县",
+ "陆良县",
+ "会泽县",
+ "其他"
+ ]
+ },
+ {
+ "name": "玉溪市",
+ "area": [
+ "红塔区",
+ "江川县",
+ "澄江县",
+ "通海县",
+ "华宁县",
+ "易门县",
+ "峨山彝族自治县",
+ "新平彝族傣族自治县",
+ "元江哈尼族彝族傣族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "保山市",
+ "area": [
+ "隆阳区",
+ "施甸县",
+ "腾冲县",
+ "龙陵县",
+ "昌宁县",
+ "其他"
+ ]
+ },
+ {
+ "name": "昭通市",
+ "area": [
+ "昭阳区",
+ "鲁甸县",
+ "巧家县",
+ "盐津县",
+ "大关县",
+ "永善县",
+ "绥江县",
+ "镇雄县",
+ "彝良县",
+ "威信县",
+ "水富县",
+ "其他"
+ ]
+ },
+ {
+ "name": "丽江市",
+ "area": [
+ "古城区",
+ "永胜县",
+ "华坪县",
+ "玉龙纳西族自治县",
+ "宁蒗彝族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "普洱市",
+ "area": [
+ "思茅区",
+ "普洱哈尼族彝族自治县",
+ "墨江哈尼族自治县",
+ "景东彝族自治县",
+ "景谷傣族彝族自治县",
+ "镇沅彝族哈尼族拉祜族自治县",
+ "江城哈尼族彝族自治县",
+ "孟连傣族拉祜族佤族自治县",
+ "澜沧拉祜族自治县",
+ "西盟佤族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "临沧市",
+ "area": [
+ "临翔区",
+ "凤庆县",
+ "云县",
+ "永德县",
+ "镇康县",
+ "双江拉祜族佤族布朗族傣族自治县",
+ "耿马傣族佤族自治县",
+ "沧源佤族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "德宏傣族景颇族自治州",
+ "area": [
+ "潞西市",
+ "瑞丽市",
+ "梁河县",
+ "盈江县",
+ "陇川县",
+ "其他"
+ ]
+ },
+ {
+ "name": "怒江傈僳族自治州",
+ "area": [
+ "泸水县",
+ "福贡县",
+ "贡山独龙族怒族自治县",
+ "兰坪白族普米族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "迪庆藏族自治州",
+ "area": [
+ "香格里拉县",
+ "德钦县",
+ "维西傈僳族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "大理白族自治州",
+ "area": [
+ "大理市",
+ "祥云县",
+ "宾川县",
+ "弥渡县",
+ "永平县",
+ "云龙县",
+ "洱源县",
+ "剑川县",
+ "鹤庆县",
+ "漾濞彝族自治县",
+ "南涧彝族自治县",
+ "巍山彝族回族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "楚雄彝族自治州",
+ "area": [
+ "楚雄市",
+ "双柏县",
+ "牟定县",
+ "南华县",
+ "姚安县",
+ "大姚县",
+ "永仁县",
+ "元谋县",
+ "武定县",
+ "禄丰县",
+ "其他"
+ ]
+ },
+ {
+ "name": "红河哈尼族彝族自治州",
+ "area": [
+ "蒙自县",
+ "个旧市",
+ "开远市",
+ "绿春县",
+ "建水县",
+ "石屏县",
+ "弥勒县",
+ "泸西县",
+ "元阳县",
+ "红河县",
+ "金平苗族瑶族傣族自治县",
+ "河口瑶族自治县",
+ "屏边苗族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "文山壮族苗族自治州",
+ "area": [
+ "文山县",
+ "砚山县",
+ "西畴县",
+ "麻栗坡县",
+ "马关县",
+ "丘北县",
+ "广南县",
+ "富宁县",
+ "其他"
+ ]
+ },
+ {
+ "name": "西双版纳傣族自治州",
+ "area": [
+ "景洪市",
+ "勐海县",
+ "勐腊县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "西藏",
+ "city": [
+ {
+ "name": "拉萨市",
+ "area": [
+ "城关区",
+ "林周县",
+ "当雄县",
+ "尼木县",
+ "曲水县",
+ "堆龙德庆县",
+ "达孜县",
+ "墨竹工卡县",
+ "其他"
+ ]
+ },
+ {
+ "name": "那曲地区",
+ "area": [
+ "那曲县",
+ "嘉黎县",
+ "比如县",
+ "聂荣县",
+ "安多县",
+ "申扎县",
+ "索县",
+ "班戈县",
+ "巴青县",
+ "尼玛县",
+ "其他"
+ ]
+ },
+ {
+ "name": "昌都地区",
+ "area": [
+ "昌都县",
+ "江达县",
+ "贡觉县",
+ "类乌齐县",
+ "丁青县",
+ "察雅县",
+ "八宿县",
+ "左贡县",
+ "芒康县",
+ "洛隆县",
+ "边坝县",
+ "其他"
+ ]
+ },
+ {
+ "name": "林芝地区",
+ "area": [
+ "林芝县",
+ "工布江达县",
+ "米林县",
+ "墨脱县",
+ "波密县",
+ "察隅县",
+ "朗县",
+ "其他"
+ ]
+ },
+ {
+ "name": "山南地区",
+ "area": [
+ "乃东县",
+ "扎囊县",
+ "贡嘎县",
+ "桑日县",
+ "琼结县",
+ "曲松县",
+ "措美县",
+ "洛扎县",
+ "加查县",
+ "隆子县",
+ "错那县",
+ "浪卡子县",
+ "其他"
+ ]
+ },
+ {
+ "name": "日喀则地区",
+ "area": [
+ "日喀则市",
+ "南木林县",
+ "江孜县",
+ "定日县",
+ "萨迦县",
+ "拉孜县",
+ "昂仁县",
+ "谢通门县",
+ "白朗县",
+ "仁布县",
+ "康马县",
+ "定结县",
+ "仲巴县",
+ "亚东县",
+ "吉隆县",
+ "聂拉木县",
+ "萨嘎县",
+ "岗巴县",
+ "其他"
+ ]
+ },
+ {
+ "name": "阿里地区",
+ "area": [
+ "噶尔县",
+ "普兰县",
+ "札达县",
+ "日土县",
+ "革吉县",
+ "改则县",
+ "措勤县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "陕西省",
+ "city": [
+ {
+ "name": "西安市",
+ "area": [
+ "莲湖区",
+ "新城区",
+ "碑林区",
+ "雁塔区",
+ "灞桥区",
+ "未央区",
+ "阎良区",
+ "临潼区",
+ "长安区",
+ "高陵县",
+ "蓝田县",
+ "户县",
+ "周至县",
+ "其他"
+ ]
+ },
+ {
+ "name": "铜川市",
+ "area": [
+ "耀州区",
+ "王益区",
+ "印台区",
+ "宜君县",
+ "其他"
+ ]
+ },
+ {
+ "name": "宝鸡市",
+ "area": [
+ "渭滨区",
+ "金台区",
+ "陈仓区",
+ "岐山县",
+ "凤翔县",
+ "陇县",
+ "太白县",
+ "麟游县",
+ "扶风县",
+ "千阳县",
+ "眉县",
+ "凤县",
+ "其他"
+ ]
+ },
+ {
+ "name": "咸阳市",
+ "area": [
+ "秦都区",
+ "渭城区",
+ "杨陵区",
+ "兴平市",
+ "礼泉县",
+ "泾阳县",
+ "永寿县",
+ "三原县",
+ "彬县",
+ "旬邑县",
+ "长武县",
+ "乾县",
+ "武功县",
+ "淳化县",
+ "其他"
+ ]
+ },
+ {
+ "name": "渭南市",
+ "area": [
+ "临渭区",
+ "韩城市",
+ "华阴市",
+ "蒲城县",
+ "潼关县",
+ "白水县",
+ "澄城县",
+ "华县",
+ "合阳县",
+ "富平县",
+ "大荔县",
+ "其他"
+ ]
+ },
+ {
+ "name": "延安市",
+ "area": [
+ "宝塔区",
+ "安塞县",
+ "洛川县",
+ "子长县",
+ "黄陵县",
+ "延川县",
+ "富县",
+ "延长县",
+ "甘泉县",
+ "宜川县",
+ "志丹县",
+ "黄龙县",
+ "吴起县",
+ "其他"
+ ]
+ },
+ {
+ "name": "汉中市",
+ "area": [
+ "汉台区",
+ "留坝县",
+ "镇巴县",
+ "城固县",
+ "南郑县",
+ "洋县",
+ "宁强县",
+ "佛坪县",
+ "勉县",
+ "西乡县",
+ "略阳县",
+ "其他"
+ ]
+ },
+ {
+ "name": "榆林市",
+ "area": [
+ "榆阳区",
+ "清涧县",
+ "绥德县",
+ "神木县",
+ "佳县",
+ "府谷县",
+ "子洲县",
+ "靖边县",
+ "横山县",
+ "米脂县",
+ "吴堡县",
+ "定边县",
+ "其他"
+ ]
+ },
+ {
+ "name": "安康市",
+ "area": [
+ "汉滨区",
+ "紫阳县",
+ "岚皋县",
+ "旬阳县",
+ "镇坪县",
+ "平利县",
+ "石泉县",
+ "宁陕县",
+ "白河县",
+ "汉阴县",
+ "其他"
+ ]
+ },
+ {
+ "name": "商洛市",
+ "area": [
+ "商州区",
+ "镇安县",
+ "山阳县",
+ "洛南县",
+ "商南县",
+ "丹凤县",
+ "柞水县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "甘肃省",
+ "city": [
+ {
+ "name": "兰州市",
+ "area": [
+ "城关区",
+ "七里河区",
+ "西固区",
+ "安宁区",
+ "红古区",
+ "永登县",
+ "皋兰县",
+ "榆中县",
+ "其他"
+ ]
+ },
+ {
+ "name": "嘉峪关市",
+ "area": [
+ "嘉峪关市",
+ "其他"
+ ]
+ },
+ {
+ "name": "金昌市",
+ "area": [
+ "金川区",
+ "永昌县",
+ "其他"
+ ]
+ },
+ {
+ "name": "白银市",
+ "area": [
+ "白银区",
+ "平川区",
+ "靖远县",
+ "会宁县",
+ "景泰县",
+ "其他"
+ ]
+ },
+ {
+ "name": "天水市",
+ "area": [
+ "清水县",
+ "秦安县",
+ "甘谷县",
+ "武山县",
+ "张家川回族自治县",
+ "北道区",
+ "秦城区",
+ "其他"
+ ]
+ },
+ {
+ "name": "武威市",
+ "area": [
+ "凉州区",
+ "民勤县",
+ "古浪县",
+ "天祝藏族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "酒泉市",
+ "area": [
+ "肃州区",
+ "玉门市",
+ "敦煌市",
+ "金塔县",
+ "肃北蒙古族自治县",
+ "阿克塞哈萨克族自治县",
+ "安西县",
+ "其他"
+ ]
+ },
+ {
+ "name": "张掖市",
+ "area": [
+ "甘州区",
+ "民乐县",
+ "临泽县",
+ "高台县",
+ "山丹县",
+ "肃南裕固族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "庆阳市",
+ "area": [
+ "西峰区",
+ "庆城县",
+ "环县",
+ "华池县",
+ "合水县",
+ "正宁县",
+ "宁县",
+ "镇原县",
+ "其他"
+ ]
+ },
+ {
+ "name": "平凉市",
+ "area": [
+ "崆峒区",
+ "泾川县",
+ "灵台县",
+ "崇信县",
+ "华亭县",
+ "庄浪县",
+ "静宁县",
+ "其他"
+ ]
+ },
+ {
+ "name": "定西市",
+ "area": [
+ "安定区",
+ "通渭县",
+ "临洮县",
+ "漳县",
+ "岷县",
+ "渭源县",
+ "陇西县",
+ "其他"
+ ]
+ },
+ {
+ "name": "陇南市",
+ "area": [
+ "武都区",
+ "成县",
+ "宕昌县",
+ "康县",
+ "文县",
+ "西和县",
+ "礼县",
+ "两当县",
+ "徽县",
+ "其他"
+ ]
+ },
+ {
+ "name": "临夏回族自治州",
+ "area": [
+ "临夏市",
+ "临夏县",
+ "康乐县",
+ "永靖县",
+ "广河县",
+ "和政县",
+ "东乡族自治县",
+ "积石山保安族东乡族撒拉族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "甘南藏族自治州",
+ "area": [
+ "合作市",
+ "临潭县",
+ "卓尼县",
+ "舟曲县",
+ "迭部县",
+ "玛曲县",
+ "碌曲县",
+ "夏河县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "青海省",
+ "city": [
+ {
+ "name": "西宁市",
+ "area": [
+ "城中区",
+ "城东区",
+ "城西区",
+ "城北区",
+ "湟源县",
+ "湟中县",
+ "大通回族土族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "海东地区",
+ "area": [
+ "平安县",
+ "乐都县",
+ "民和回族土族自治县",
+ "互助土族自治县",
+ "化隆回族自治县",
+ "循化撒拉族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "海北藏族自治州",
+ "area": [
+ "海晏县",
+ "祁连县",
+ "刚察县",
+ "门源回族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "海南藏族自治州",
+ "area": [
+ "共和县",
+ "同德县",
+ "贵德县",
+ "兴海县",
+ "贵南县",
+ "其他"
+ ]
+ },
+ {
+ "name": "黄南藏族自治州",
+ "area": [
+ "同仁县",
+ "尖扎县",
+ "泽库县",
+ "河南蒙古族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "果洛藏族自治州",
+ "area": [
+ "玛沁县",
+ "班玛县",
+ "甘德县",
+ "达日县",
+ "久治县",
+ "玛多县",
+ "其他"
+ ]
+ },
+ {
+ "name": "玉树藏族自治州",
+ "area": [
+ "玉树县",
+ "杂多县",
+ "称多县",
+ "治多县",
+ "囊谦县",
+ "曲麻莱县",
+ "其他"
+ ]
+ },
+ {
+ "name": "海西蒙古族藏族自治州",
+ "area": [
+ "德令哈市",
+ "格尔木市",
+ "乌兰县",
+ "都兰县",
+ "天峻县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "宁夏",
+ "city": [
+ {
+ "name": "银川市",
+ "area": [
+ "兴庆区",
+ "西夏区",
+ "金凤区",
+ "灵武市",
+ "永宁县",
+ "贺兰县",
+ "其他"
+ ]
+ },
+ {
+ "name": "石嘴山市",
+ "area": [
+ "大武口区",
+ "惠农区",
+ "平罗县",
+ "其他"
+ ]
+ },
+ {
+ "name": "吴忠市",
+ "area": [
+ "利通区",
+ "青铜峡市",
+ "盐池县",
+ "同心县",
+ "其他"
+ ]
+ },
+ {
+ "name": "固原市",
+ "area": [
+ "原州区",
+ "西吉县",
+ "隆德县",
+ "泾源县",
+ "彭阳县",
+ "其他"
+ ]
+ },
+ {
+ "name": "中卫市",
+ "area": [
+ "沙坡头区",
+ "中宁县",
+ "海原县",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "新疆",
+ "city": [
+ {
+ "name": "乌鲁木齐市",
+ "area": [
+ "天山区",
+ "沙依巴克区",
+ "新市区",
+ "水磨沟区",
+ "头屯河区",
+ "达坂城区",
+ "东山区",
+ "乌鲁木齐县",
+ "其他"
+ ]
+ },
+ {
+ "name": "克拉玛依市",
+ "area": [
+ "克拉玛依区",
+ "独山子区",
+ "白碱滩区",
+ "乌尔禾区",
+ "其他"
+ ]
+ },
+ {
+ "name": "吐鲁番地区",
+ "area": [
+ "吐鲁番市",
+ "托克逊县",
+ "鄯善县",
+ "其他"
+ ]
+ },
+ {
+ "name": "哈密地区",
+ "area": [
+ "哈密市",
+ "伊吾县",
+ "巴里坤哈萨克自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "和田地区",
+ "area": [
+ "和田市",
+ "和田县",
+ "洛浦县",
+ "民丰县",
+ "皮山县",
+ "策勒县",
+ "于田县",
+ "墨玉县",
+ "其他"
+ ]
+ },
+ {
+ "name": "阿克苏地区",
+ "area": [
+ "阿克苏市",
+ "温宿县",
+ "沙雅县",
+ "拜城县",
+ "阿瓦提县",
+ "库车县",
+ "柯坪县",
+ "新和县",
+ "乌什县",
+ "其他"
+ ]
+ },
+ {
+ "name": "喀什地区",
+ "area": [
+ "喀什市",
+ "巴楚县",
+ "泽普县",
+ "伽师县",
+ "叶城县",
+ "岳普湖县",
+ "疏勒县",
+ "麦盖提县",
+ "英吉沙县",
+ "莎车县",
+ "疏附县",
+ "塔什库尔干塔吉克自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "克孜勒苏柯尔克孜自治州",
+ "area": [
+ "阿图什市",
+ "阿合奇县",
+ "乌恰县",
+ "阿克陶县",
+ "其他"
+ ]
+ },
+ {
+ "name": "巴音郭楞蒙古自治州",
+ "area": [
+ "库尔勒市",
+ "和静县",
+ "尉犁县",
+ "和硕县",
+ "且末县",
+ "博湖县",
+ "轮台县",
+ "若羌县",
+ "焉耆回族自治县",
+ "其他"
+ ]
+ },
+ {
+ "name": "昌吉回族自治州",
+ "area": [
+ "昌吉市",
+ "阜康市",
+ "奇台县",
+ "玛纳斯县",
+ "吉木萨尔县",
+ "呼图壁县",
+ "木垒哈萨克自治县",
+ "米泉市",
+ "其他"
+ ]
+ },
+ {
+ "name": "博尔塔拉蒙古自治州",
+ "area": [
+ "博乐市",
+ "精河县",
+ "温泉县",
+ "其他"
+ ]
+ },
+ {
+ "name": "石河子",
+ "area": [
+ "石河子"
+ ]
+ },
+ {
+ "name": "阿拉尔",
+ "area": [
+ "阿拉尔"
+ ]
+ },
+ {
+ "name": "图木舒克",
+ "area": [
+ "图木舒克"
+ ]
+ },
+ {
+ "name": "五家渠",
+ "area": [
+ "五家渠"
+ ]
+ },
+ {
+ "name": "伊犁哈萨克自治州",
+ "area": [
+ "伊宁市",
+ "奎屯市",
+ "伊宁县",
+ "特克斯县",
+ "尼勒克县",
+ "昭苏县",
+ "新源县",
+ "霍城县",
+ "巩留县",
+ "察布查尔锡伯自治县",
+ "塔城地区",
+ "阿勒泰地区",
+ "其他"
+ ]
+ },
+ {
+ "name": "其他",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "台湾省",
+ "city": [
+ {
+ "name": "台北市",
+ "area": [
+ "内湖区",
+ "南港区",
+ "中正区",
+ "万华区",
+ "大同区",
+ "中山区",
+ "松山区",
+ "大安区",
+ "信义区",
+ "文山区",
+ "士林区",
+ "北投区"
+ ]
+ },
+ {
+ "name": "新北市",
+ "area": [
+ "板桥区",
+ "汐止区",
+ "新店区",
+ "其他"
+ ]
+ },
+ {
+ "name": "桃园市",
+ "area": [
+ "其他"
+ ]
+ },
+ {
+ "name": "台中市",
+ "area": [
+ "其他"
+ ]
+ },
+ {
+ "name": "台南市",
+ "area": [
+ "其他"
+ ]
+ },
+ {
+ "name": "高雄市",
+ "area": [
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "澳门",
+ "city": [
+ {
+ "name": "澳门",
+ "area": [
+ "花地玛堂区",
+ "圣安多尼堂区",
+ "大堂区",
+ "望德堂区",
+ "风顺堂区",
+ "嘉模堂区",
+ "圣方济各堂区",
+ "路凼",
+ "其他"
+ ]
+ }
+ ]
+ },
+ {
+ "name": "香港",
+ "city": [
+ {
+ "name": "香港",
+ "area": [
+ "深水埗区",
+ "油尖旺区",
+ "九龙城区",
+ "黄大仙区",
+ "观塘区",
+ "北区",
+ "大埔区",
+ "沙田区",
+ "西贡区",
+ "元朗区",
+ "屯门区",
+ "荃湾区",
+ "葵青区",
+ "离岛区",
+ "中西区",
+ "湾仔区",
+ "东区",
+ "南区",
+ "其他"
+ ]
+ }
+ ]
+ }
+]
diff --git a/app/src/main/java/com/example/administrator/seven/FHConfig.java b/app/src/main/java/com/example/administrator/seven/FHConfig.java
new file mode 100644
index 0000000..d2e9ca6
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/FHConfig.java
@@ -0,0 +1,23 @@
+package com.example.administrator.seven;
+
+/**
+ * 蜂狐配置参数
+ * Created by XiaoQiang on 2017/6/24.
+ */
+public class FHConfig {
+
+
+ /**
+ * 地区选择SHNG
+ */
+ public static String KEY_OPTIONS1= "options1";
+ /**
+ * 地区选择
+ */
+ public static String KEY_OPTIONS2= "options2";
+ /**
+ * 地区选择
+ */
+ public static String KEY_OPTIONS3= "options3";
+
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/CommitDesignModel.java b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/CommitDesignModel.java
new file mode 100644
index 0000000..d382827
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/CommitDesignModel.java
@@ -0,0 +1,57 @@
+package com.example.administrator.seven.main.kehu.Bean;
+
+import com.example.administrator.seven.test.BaseModel;
+
+public class CommitDesignModel extends BaseModel {
+
+
+ /**
+ * result : {"msg":"提交成功","success":0}
+ * status : 0
+ */
+
+ private ResultBean result;
+ private int status;
+
+ public ResultBean getResult() {
+ return result;
+ }
+
+ public void setResult(ResultBean result) {
+ this.result = result;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public static class ResultBean {
+ /**
+ * msg : 提交成功
+ * success : 0
+ */
+
+ private String msg;
+ private int success;
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public int getSuccess() {
+ return success;
+ }
+
+ public void setSuccess(int success) {
+ this.success = success;
+ }
+ }
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/JsonBean.java b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/JsonBean.java
new file mode 100644
index 0000000..fc65a66
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/JsonBean.java
@@ -0,0 +1,77 @@
+package com.example.administrator.seven.main.kehu.Bean;
+
+
+
+import com.bigkoo.pickerview.model.IPickerViewData;
+
+import java.util.List;
+
+/**
+ * TODO
+ *
+ * @author: 小嵩
+ * @date: 2017/3/16 15:36
+ */
+
+public class JsonBean implements IPickerViewData {
+
+
+ /**
+ * name : 省份
+ * city : [{"name":"北京市","area":["东城区","西城区","崇文区","宣武区","朝阳区"]}]
+ */
+
+ private String name;
+ private List city;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List getCityList() {
+ return city;
+ }
+
+ public void setCityList(List city) {
+ this.city = city;
+ }
+
+ // 实现 IPickerViewData 接口,
+ // 这个用来显示在PickerView上面的字符串,
+ // PickerView会通过IPickerViewData获取getPickerViewText方法显示出来。
+ @Override
+ public String getPickerViewText() {
+ return this.name;
+ }
+
+
+ public static class CityBean {
+ /**
+ * name : 城市
+ * area : ["东城区","西城区","崇文区","昌平区"]
+ */
+
+ private String name;
+ private List area;
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public List getArea() {
+ return area;
+ }
+
+ public void setArea(List area) {
+ this.area = area;
+ }
+ }
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/LocalMedia.java b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/LocalMedia.java
new file mode 100644
index 0000000..811895a
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/LocalMedia.java
@@ -0,0 +1,218 @@
+package com.example.administrator.seven.main.kehu.Bean;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.text.TextUtils;
+
+/**
+ * author:luck
+ * project:PictureSelector
+ * package:com.luck.picture.lib.entity
+ * describe:for PictureSelector media entity.
+ * email:893855882@qq.com
+ * data:2017/5/24
+ */
+
+public class LocalMedia implements Parcelable {
+ private String path;
+ private String compressPath;
+ private String cutPath;
+ private long duration;
+ private boolean isChecked;
+ private boolean isCut;
+ public int position;
+ private int num;
+ private int mimeType;
+ private String pictureType;
+ private boolean compressed;
+ private int width;
+ private int height;
+
+ public LocalMedia() {
+
+ }
+
+ public LocalMedia(String path, long duration, int mimeType, String pictureType) {
+ this.path = path;
+ this.duration = duration;
+ this.mimeType = mimeType;
+ this.pictureType = pictureType;
+ }
+
+ public LocalMedia(String path, long duration, int mimeType, String pictureType, int width, int height) {
+ this.path = path;
+ this.duration = duration;
+ this.mimeType = mimeType;
+ this.pictureType = pictureType;
+ this.width = width;
+ this.height = height;
+ }
+
+ public LocalMedia(String path, long duration,
+ boolean isChecked, int position, int num, int mimeType) {
+ this.path = path;
+ this.duration = duration;
+ this.isChecked = isChecked;
+ this.position = position;
+ this.num = num;
+ this.mimeType = mimeType;
+ }
+
+ public String getPictureType() {
+ if (TextUtils.isEmpty(pictureType)) {
+ pictureType = "image/jpeg";
+ }
+ return pictureType;
+ }
+
+ public void setPictureType(String pictureType) {
+ this.pictureType = pictureType;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public void setPath(String path) {
+ this.path = path;
+ }
+
+ public String getCompressPath() {
+ return compressPath;
+ }
+
+ public void setCompressPath(String compressPath) {
+ this.compressPath = compressPath;
+ }
+
+ public String getCutPath() {
+ return cutPath;
+ }
+
+ public void setCutPath(String cutPath) {
+ this.cutPath = cutPath;
+ }
+
+ public long getDuration() {
+ return duration;
+ }
+
+ public void setDuration(long duration) {
+ this.duration = duration;
+ }
+
+
+ public boolean isChecked() {
+ return isChecked;
+ }
+
+ public void setChecked(boolean checked) {
+ isChecked = checked;
+ }
+
+ public boolean isCut() {
+ return isCut;
+ }
+
+ public void setCut(boolean cut) {
+ isCut = cut;
+ }
+
+ public int getPosition() {
+ return position;
+ }
+
+ public void setPosition(int position) {
+ this.position = position;
+ }
+
+ public int getNum() {
+ return num;
+ }
+
+ public void setNum(int num) {
+ this.num = num;
+ }
+
+ public int getMimeType() {
+ return mimeType;
+ }
+
+ public void setMimeType(int mimeType) {
+ this.mimeType = mimeType;
+ }
+
+ public boolean isCompressed() {
+ return compressed;
+ }
+
+ public void setCompressed(boolean compressed) {
+ this.compressed = compressed;
+ }
+
+ public int getWidth() {
+ return width;
+ }
+
+ public void setWidth(int width) {
+ this.width = width;
+ }
+
+ public int getHeight() {
+ return height;
+ }
+
+ public void setHeight(int height) {
+ this.height = height;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeString(this.path);
+ dest.writeString(this.compressPath);
+ dest.writeString(this.cutPath);
+ dest.writeLong(this.duration);
+ dest.writeByte(this.isChecked ? (byte) 1 : (byte) 0);
+ dest.writeByte(this.isCut ? (byte) 1 : (byte) 0);
+ dest.writeInt(this.position);
+ dest.writeInt(this.num);
+ dest.writeInt(this.mimeType);
+ dest.writeString(this.pictureType);
+ dest.writeByte(this.compressed ? (byte) 1 : (byte) 0);
+ dest.writeInt(this.width);
+ dest.writeInt(this.height);
+ }
+
+ protected LocalMedia(Parcel in) {
+ this.path = in.readString();
+ this.compressPath = in.readString();
+ this.cutPath = in.readString();
+ this.duration = in.readLong();
+ this.isChecked = in.readByte() != 0;
+ this.isCut = in.readByte() != 0;
+ this.position = in.readInt();
+ this.num = in.readInt();
+ this.mimeType = in.readInt();
+ this.pictureType = in.readString();
+ this.compressed = in.readByte() != 0;
+ this.width = in.readInt();
+ this.height = in.readInt();
+ }
+
+ public static final Creator CREATOR = new Creator() {
+ @Override
+ public LocalMedia createFromParcel(Parcel source) {
+ return new LocalMedia(source);
+ }
+
+ @Override
+ public LocalMedia[] newArray(int size) {
+ return new LocalMedia[size];
+ }
+ };
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/PhotoeditorBean.java b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/PhotoeditorBean.java
new file mode 100644
index 0000000..a2a6818
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/PhotoeditorBean.java
@@ -0,0 +1,48 @@
+package com.example.administrator.seven.main.kehu.Bean;
+
+/**
+ * Time: 2020/8/18
+ * Author: jianbo
+ * Description:
+ */
+public class PhotoeditorBean {
+
+
+ private String city;
+ private String customer_id;
+
+ public String getCity() {
+ return city;
+ }
+
+ public void setCity(String city) {
+ this.city = city;
+ }
+
+ public String getCustomer_id() {
+ return customer_id;
+ }
+
+ public void setCustomer_id(String customer_id) {
+ this.customer_id = customer_id;
+ }
+
+ public String getIndustry_id() {
+ return industry_id;
+ }
+
+ public void setIndustry_id(String industry_id) {
+ this.industry_id = industry_id;
+ }
+
+ public String getProvince() {
+ return province;
+ }
+
+ public void setProvince(String province) {
+ this.province = province;
+ }
+
+ private String industry_id;
+ private String province;
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/WorkDetailModel.java b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/WorkDetailModel.java
new file mode 100644
index 0000000..8238672
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/WorkDetailModel.java
@@ -0,0 +1,324 @@
+package com.example.administrator.seven.main.kehu.Bean;
+
+import com.example.administrator.seven.test.BaseModel;
+
+import java.io.Serializable;
+import java.util.List;
+
+public class WorkDetailModel extends BaseModel implements Serializable {
+
+
+ /**
+ * status : 0
+ * result : {"success":0,"msg":"获取成功","data":{"workid":"10af479c179dd7a1d23782624d861872","housename":"西安万科翡翠国宾","custorhead":"","custorname":"张笑妹","custorphone":"13575542727","house_img":"http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__19__2019121910503152324.jpg","house_img_cloud":"","housearea":"100","vr_styleid":"1,2","worktype":"1","budget":"20000","decorate":"2","remark":"出彩出差错错错","vrstyle":"[{\"styleid\":\"1\",\"stylename\":\"日式风格\",\"styleimg\":\"http:\\/\\/www.fenghoo.cn\\/templates\\/fenghu\\/img\\/photo_icon.png\"},{\"styleid\":\"2\",\"stylename\":\"北欧风格\",\"styleimg\":\"http:\\/\\/www.fenghoo.cn\\/templates\\/fenghu\\/img\\/photo_icon.png\"}]","decorate_img":["http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__19__10af479c179dd7a1d23782624d861872__2019121910503163605.jpg","http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__19__43651f74c3832e2f403a37d5138487b2__2019121910524819500.jpg"]}}
+ */
+
+ private int status;
+ private ResultBean result;
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public ResultBean getResult() {
+ return result;
+ }
+
+ public void setResult(ResultBean result) {
+ this.result = result;
+ }
+
+ public static class ResultBean implements Serializable{
+ /**
+ * success : 0
+ * msg : 获取成功
+ * data : {"workid":"10af479c179dd7a1d23782624d861872","housename":"西安万科翡翠国宾","custorhead":"","custorname":"张笑妹","custorphone":"13575542727","house_img":"http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__19__2019121910503152324.jpg","house_img_cloud":"","housearea":"100","vr_styleid":"1,2","worktype":"1","budget":"20000","decorate":"2","remark":"出彩出差错错错","vrstyle":"[{\"styleid\":\"1\",\"stylename\":\"日式风格\",\"styleimg\":\"http:\\/\\/www.fenghoo.cn\\/templates\\/fenghu\\/img\\/photo_icon.png\"},{\"styleid\":\"2\",\"stylename\":\"北欧风格\",\"styleimg\":\"http:\\/\\/www.fenghoo.cn\\/templates\\/fenghu\\/img\\/photo_icon.png\"}]","decorate_img":["http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__19__10af479c179dd7a1d23782624d861872__2019121910503163605.jpg","http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__19__43651f74c3832e2f403a37d5138487b2__2019121910524819500.jpg"]}
+ */
+
+ private int success;
+ private String msg;
+ private DataBean data;
+
+ public int getSuccess() {
+ return success;
+ }
+
+ public void setSuccess(int success) {
+ this.success = success;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public DataBean getData() {
+ return data;
+ }
+
+ public void setData(DataBean data) {
+ this.data = data;
+ }
+
+ public static class DataBean implements Serializable {
+ /**
+ * workid : 10af479c179dd7a1d23782624d861872
+ * housename : 西安万科翡翠国宾
+ * custorhead :
+ * custorname : 张笑妹
+ * custorphone : 13575542727
+ * house_img : http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__19__2019121910503152324.jpg
+ * house_img_cloud :
+ * housearea : 100
+ * vr_styleid : 1,2
+ * worktype : 1
+ * budget : 20000
+ * decorate : 2
+ * remark : 出彩出差错错错
+ * vrstyle : [{"styleid":"1","stylename":"日式风格","styleimg":"http:\/\/www.fenghoo.cn\/templates\/fenghu\/img\/photo_icon.png"},{"styleid":"2","stylename":"北欧风格","styleimg":"http:\/\/www.fenghoo.cn\/templates\/fenghu\/img\/photo_icon.png"}]
+ * decorate_img : ["http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__19__10af479c179dd7a1d23782624d861872__2019121910503163605.jpg","http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__19__43651f74c3832e2f403a37d5138487b2__2019121910524819500.jpg"]
+ */
+
+ private String workid;//
+ private String housename;//
+ private String custorhead;//
+ private String custorname;//
+ private String custorphone;//
+ private String house_img;//
+ private String house_img_cloud;//
+ private String housearea;//
+ private String vr_styleid;
+ private String worktype;
+ private String budget;//
+ private String decorate;//
+ private String remark;//
+ private List vrstyle;//
+ private List decorate_img;//
+ private String design_name;//
+ private String design_uid;//
+ private String vr_choosestyle;
+ private String project_id;
+
+ private String is_robone;//
+
+ public String getIs_robone() {
+ return is_robone;
+ }
+
+ public void setIs_robone(String is_robone) {
+ this.is_robone = is_robone;
+ }
+
+ public String getVr_choosestyle() {
+ return vr_choosestyle;
+ }
+
+ public void setVr_choosestyle(String vr_choosestyle) {
+ this.vr_choosestyle = vr_choosestyle;
+ }
+
+ public String getProject_id() {
+ return project_id;
+ }
+
+ public void setProject_id(String project_id) {
+ this.project_id = project_id;
+ }
+
+ public String getDesign_uid() {
+ return design_uid;
+ }
+
+ public void setDesign_uid(String design_uid) {
+ this.design_uid = design_uid;
+ }
+
+ public String getDesign_name() {
+ return design_name;
+ }
+
+ public void setDesign_name(String design_name) {
+ this.design_name = design_name;
+ }
+
+ public String getWorkid() {
+ return workid;
+ }
+
+ public void setWorkid(String workid) {
+ this.workid = workid;
+ }
+
+ public String getHousename() {
+ return housename;
+ }
+
+ public void setHousename(String housename) {
+ this.housename = housename;
+ }
+
+ public String getCustorhead() {
+ return custorhead;
+ }
+
+ public void setCustorhead(String custorhead) {
+ this.custorhead = custorhead;
+ }
+
+ public String getCustorname() {
+ return custorname;
+ }
+
+ public void setCustorname(String custorname) {
+ this.custorname = custorname;
+ }
+
+ public String getCustorphone() {
+ return custorphone;
+ }
+
+ public void setCustorphone(String custorphone) {
+ this.custorphone = custorphone;
+ }
+
+ public String getHouse_img() {
+ return house_img;
+ }
+
+ public void setHouse_img(String house_img) {
+ this.house_img = house_img;
+ }
+
+ public String getHouse_img_cloud() {
+ return house_img_cloud;
+ }
+
+ public void setHouse_img_cloud(String house_img_cloud) {
+ this.house_img_cloud = house_img_cloud;
+ }
+
+ public String getHousearea() {
+ return housearea;
+ }
+
+ public void setHousearea(String housearea) {
+ this.housearea = housearea;
+ }
+
+ public String getVr_styleid() {
+ return vr_styleid;
+ }
+
+ public void setVr_styleid(String vr_styleid) {
+ this.vr_styleid = vr_styleid;
+ }
+
+ public String getWorktype() {
+ return worktype;
+ }
+
+ public void setWorktype(String worktype) {
+ this.worktype = worktype;
+ }
+
+ public String getBudget() {
+ return budget;
+ }
+
+ public void setBudget(String budget) {
+ this.budget = budget;
+ }
+
+ public String getDecorate() {
+ return decorate;
+ }
+
+ public void setDecorate(String decorate) {
+ this.decorate = decorate;
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
+ public List getVrstyle() {
+ return vrstyle;
+ }
+
+ public void setVrstyle(List vrstyle) {
+ this.vrstyle = vrstyle;
+ }
+
+ public List getDecorate_img() {
+ return decorate_img;
+ }
+
+ public void setDecorate_img(List decorate_img) {
+ this.decorate_img = decorate_img;
+ }
+
+
+ public static class Bean implements Serializable{
+ /**
+ * styleid : 1
+ * stylename : 日式风格
+ * styleimg : http://www.fenghoo.cn/templates/fenghu/img/photo_icon.png
+ */
+
+ private String styleid;
+ private String stylename;
+ private String styleimg;
+
+ private boolean isCheck = false;//选中风格
+
+ public boolean isCheck() {
+ return isCheck;
+ }
+
+ public void setCheck(boolean check) {
+ isCheck = check;
+ }
+
+ public String getStyleid() {
+ return styleid;
+ }
+
+ public void setStyleid(String styleid) {
+ this.styleid = styleid;
+ }
+
+ public String getStylename() {
+ return stylename;
+ }
+
+ public void setStylename(String stylename) {
+ this.stylename = stylename;
+ }
+
+ public String getStyleimg() {
+ return styleimg;
+ }
+
+ public void setStyleimg(String styleimg) {
+ this.styleimg = styleimg;
+ }
+ }
+
+ }
+
+
+
+
+ }
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/customerDetailBean.java b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/customerDetailBean.java
new file mode 100644
index 0000000..2edd5a5
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/customerDetailBean.java
@@ -0,0 +1,177 @@
+package com.example.administrator.seven.main.kehu.Bean;
+
+import com.example.administrator.seven.test.BaseModel;
+
+/**
+ * Time: 2020/8/17
+ * Author: jianbo
+ * Description:
+ */
+public class customerDetailBean extends BaseModel{
+
+ /**
+ * result : {"msg":"成功","data":{"address":"陕西省西安市未央区某某路","headimg":"localhost/upload/2020081115530962805.jpg","phone":"18831913290","name":"demo","wechat":"wangyuxin283425757","source":"1","style_id":"1","decoration":"1","style_name":"北欧","budget":"120"},"success":0}
+ * status : 0
+ */
+
+ private ResultBean result;
+ private int status;
+
+ public ResultBean getResult() {
+ return result;
+ }
+
+ public void setResult(ResultBean result) {
+ this.result = result;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public static class ResultBean {
+ /**
+ * msg : 成功
+ * data : {"address":"陕西省西安市未央区某某路","headimg":"localhost/upload/2020081115530962805.jpg","phone":"18831913290","name":"demo","wechat":"wangyuxin283425757","source":"1","style_id":"1","decoration":"1","style_name":"北欧","budget":"120"}
+ * success : 0
+ */
+
+ private String msg;
+ private DataBean data;
+ private int success;
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public DataBean getData() {
+ return data;
+ }
+
+ public void setData(DataBean data) {
+ this.data = data;
+ }
+
+ public int getSuccess() {
+ return success;
+ }
+
+ public void setSuccess(int success) {
+ this.success = success;
+ }
+
+ public static class DataBean {
+ /**
+ * address : 陕西省西安市未央区某某路
+ * headimg : localhost/upload/2020081115530962805.jpg
+ * phone : 18831913290
+ * name : demo
+ * wechat : wangyuxin283425757
+ * source : 1
+ * style_id : 1
+ * decoration : 1
+ * style_name : 北欧
+ * budget : 120
+ */
+
+ private String address;
+ private String headimg;
+ private String phone;
+ private String name;
+ private String wechat;
+ private String source;
+ private String style_id;
+ private String decoration;
+ private String style_name;
+ private String budget;
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getHeadimg() {
+ return headimg;
+ }
+
+ public void setHeadimg(String headimg) {
+ this.headimg = headimg;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getWechat() {
+ return wechat;
+ }
+
+ public void setWechat(String wechat) {
+ this.wechat = wechat;
+ }
+
+ public String getSource() {
+ return source;
+ }
+
+ public void setSource(String source) {
+ this.source = source;
+ }
+
+ public String getStyle_id() {
+ return style_id;
+ }
+
+ public void setStyle_id(String style_id) {
+ this.style_id = style_id;
+ }
+
+ public String getDecoration() {
+ return decoration;
+ }
+
+ public void setDecoration(String decoration) {
+ this.decoration = decoration;
+ }
+
+ public String getStyle_name() {
+ return style_name;
+ }
+
+ public void setStyle_name(String style_name) {
+ this.style_name = style_name;
+ }
+
+ public String getBudget() {
+ return budget;
+ }
+
+ public void setBudget(String budget) {
+ this.budget = budget;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/orderListBean.java b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/orderListBean.java
new file mode 100644
index 0000000..f4e136f
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/orderListBean.java
@@ -0,0 +1,139 @@
+package com.example.administrator.seven.main.kehu.Bean;
+
+import com.example.administrator.seven.test.BaseModel;
+
+import java.util.List;
+
+/**
+ * Time: 2020/8/18
+ * Author: jianbo
+ * Description:
+ */
+public class orderListBean extends BaseModel {
+
+ /**
+ * result : {"msg":"获取成功","data":[{"headimg":"localhost/upload/2020081115530962805.jpg","phone":"18831913290","name":"demo","wechat":"wangyuxin283425757","order_num":"1","customer_id":"ae0c5199fdf564f90796aec09482b85d"}],"success":0}
+ * status : 0
+ */
+
+ private ResultBean result;
+ private int status;
+
+ public ResultBean getResult() {
+ return result;
+ }
+
+ public void setResult(ResultBean result) {
+ this.result = result;
+ }
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public static class ResultBean {
+ /**
+ * msg : 获取成功
+ * data : [{"headimg":"localhost/upload/2020081115530962805.jpg","phone":"18831913290","name":"demo","wechat":"wangyuxin283425757","order_num":"1","customer_id":"ae0c5199fdf564f90796aec09482b85d"}]
+ * success : 0
+ */
+
+ private String msg;
+ private int success;
+ private List data;
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+
+ public int getSuccess() {
+ return success;
+ }
+
+ public void setSuccess(int success) {
+ this.success = success;
+ }
+
+ public List getData() {
+ return data;
+ }
+
+ public void setData(List data) {
+ this.data = data;
+ }
+
+ public static class DataBean {
+ /**
+ * headimg : localhost/upload/2020081115530962805.jpg
+ * phone : 18831913290
+ * name : demo
+ * wechat : wangyuxin283425757
+ * order_num : 1
+ * customer_id : ae0c5199fdf564f90796aec09482b85d
+ */
+
+ private String headimg;
+ private String phone;
+ private String name;
+ private String wechat;
+ private String order_num;
+ private String customer_id;
+
+ public String getHeadimg() {
+ return headimg;
+ }
+
+ public void setHeadimg(String headimg) {
+ this.headimg = headimg;
+ }
+
+ public String getPhone() {
+ return phone;
+ }
+
+ public void setPhone(String phone) {
+ this.phone = phone;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getWechat() {
+ return wechat;
+ }
+
+ public void setWechat(String wechat) {
+ this.wechat = wechat;
+ }
+
+ public String getOrder_num() {
+ return order_num;
+ }
+
+ public void setOrder_num(String order_num) {
+ this.order_num = order_num;
+ }
+
+ public String getCustomer_id() {
+ return customer_id;
+ }
+
+ public void setCustomer_id(String customer_id) {
+ this.customer_id = customer_id;
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/uploadImgBean.java b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/uploadImgBean.java
new file mode 100644
index 0000000..1c22868
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/Bean/uploadImgBean.java
@@ -0,0 +1,66 @@
+package com.example.administrator.seven.main.kehu.Bean;
+
+import com.example.administrator.seven.test.BaseModel;
+
+public class uploadImgBean extends BaseModel {
+
+ /**
+ * status : 0
+ * result : {"success":0,"img":"http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__31__2019123117282518691.jpg","msg":"成功"}
+ */
+
+ private int status;
+ private ResultBean result;
+
+ public int getStatus() {
+ return status;
+ }
+
+ public void setStatus(int status) {
+ this.status = status;
+ }
+
+ public ResultBean getResult() {
+ return result;
+ }
+
+ public void setResult(ResultBean result) {
+ this.result = result;
+ }
+
+ public static class ResultBean {
+ /**
+ * success : 0
+ * img : http://www.fenghoo.com.cn:88/file.php?img=vr__2019__12__31__2019123117282518691.jpg
+ * msg : 成功
+ */
+
+ private int success;
+ private String img;
+ private String msg;
+
+ public int getSuccess() {
+ return success;
+ }
+
+ public void setSuccess(int success) {
+ this.success = success;
+ }
+
+ public String getImg() {
+ return img;
+ }
+
+ public void setImg(String img) {
+ this.img = img;
+ }
+
+ public String getMsg() {
+ return msg;
+ }
+
+ public void setMsg(String msg) {
+ this.msg = msg;
+ }
+ }
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/CustomerFragment.java b/app/src/main/java/com/example/administrator/seven/main/kehu/CustomerFragment.java
index 3cfda4c..5688cd3 100644
--- a/app/src/main/java/com/example/administrator/seven/main/kehu/CustomerFragment.java
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/CustomerFragment.java
@@ -9,6 +9,7 @@ import com.example.administrator.seven.dialog.BaseTipsDialog;
import com.example.administrator.seven.main.activity.LoginPasswordActivity;
import com.example.administrator.seven.main.kehu.Bean.CustomerListBean;
import com.example.administrator.seven.main.kehu.Dialog.CusOperationDialog;
+import com.example.administrator.seven.main.kehu.activity.ShowAty;
import com.example.administrator.seven.main.kehu.adapter.CusListAdapter;
import com.example.administrator.seven.okgonet.NetApi;
import com.example.administrator.seven.okgonet.Observer;
@@ -52,13 +53,7 @@ public class CustomerFragment extends MobanFragment {
}
@Override
- public void kaidanonClick() {//信息完善
-
- }
-
- //删除客户
- @Override
- public void uploadAvatar() {
+ public void kaidanonClick() {//删除客户
new BaseTipsDialog().showDownloadDialog(getActivity(), "确认删除该客户吗?", "确定", new BaseTipsDialog.ClickListener() {
@Override
public void confirm() {
@@ -72,35 +67,47 @@ public class CustomerFragment extends MobanFragment {
});
}
+ //信息完善
+ @Override
+ public void uploadAvatar() {
+
+ }
+
}).show();
}
+
+ @Override
+ public void enterCusDetail(CustomerListBean.ResultBean.DataBean item) {
+ //进入客户详情
+ ShowAty.CustomerDetailActivity(getActivity(),item);
+ }
});
}
@Override
public void requestData() {
-// new NetApi().customerList(ProfileSpUtils.getInstance().getUserProfie().getData().getUuid(),"").subscribe(new Observer() {
-// @Override
-// public void onNext(Response response) {
-// String body = (String) response.body();
-// CustomerListBean.ResultBean result = JsonUtils.fromJson(body, CustomerListBean.class).getResult();
-// mSwl.setRefreshing(false);
-// if (result != null && String.valueOf(result.getSuccess()).equals("0")) {
+ new NetApi().customerList(ProfileSpUtils.getInstance().getUserProfie().getData().getUuid(),"").subscribe(new Observer() {
+ @Override
+ public void onNext(Response response) {
+ String body = (String) response.body();
+ CustomerListBean.ResultBean result = JsonUtils.fromJson(body, CustomerListBean.class).getResult();
+ mSwl.setRefreshing(false);
+ if (result != null && String.valueOf(result.getSuccess()).equals("0")) {
- // List data = result.getData();
- List data = new ArrayList();
- for (int i = 0; i < 20; i++)
- {
- CustomerListBean.ResultBean.DataBean dataBean = new CustomerListBean.ResultBean.DataBean();
- dataBean.setName("小斐");
- dataBean.setPhone("15862656263");
- dataBean.setSource_name("添加客户");
- dataBean.setWechat("weixin");
- dataBean.setHeadimg("");
- dataBean.setSource("1");
- dataBean.setType("old");
- data.add(dataBean);
- }
+ List data = result.getData();
+// List data = new ArrayList();
+// for (int i = 0; i < 20; i++)
+// {
+// CustomerListBean.ResultBean.DataBean dataBean = new CustomerListBean.ResultBean.DataBean();
+// dataBean.setName("小斐");
+// dataBean.setPhone("15862656263");
+// dataBean.setSource_name("添加客户");
+// dataBean.setWechat("weixin");
+// dataBean.setHeadimg("");
+// dataBean.setSource("1");
+// dataBean.setType("old");
+// data.add(dataBean);
+// }
if (data.size() == 0) {
markingtwoAdapter.setEmptyView(notDataView);
@@ -111,19 +118,19 @@ public class CustomerFragment extends MobanFragment {
} else {
setData(false, data);
}
-// } else {
-// setData(true, null);
-// markingtwoAdapter.setEmptyView(notDataView);
-// mSwl.setRefreshing(false);
-// }
-// }
-// @Override
-// public void onError(Exception e) {
-// e.printStackTrace();
-// markingtwoAdapter.setEmptyView(errorView);
-// mSwl.setRefreshing(false);
-// }
-// });
+ } else {
+ setData(true, null);
+ markingtwoAdapter.setEmptyView(notDataView);
+ mSwl.setRefreshing(false);
+ }
+ }
+ @Override
+ public void onError(Exception e) {
+ e.printStackTrace();
+ markingtwoAdapter.setEmptyView(errorView);
+ mSwl.setRefreshing(false);
+ }
+ });
}
@Override
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/DealFragment.java b/app/src/main/java/com/example/administrator/seven/main/kehu/DealFragment.java
index 91ea803..ae5519f 100644
--- a/app/src/main/java/com/example/administrator/seven/main/kehu/DealFragment.java
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/DealFragment.java
@@ -3,9 +3,11 @@ package com.example.administrator.seven.main.kehu;
import com.example.administrator.seven.JsonUtils;
import com.example.administrator.seven.main.adapter.mine.XikeInfoAdapter;
import com.example.administrator.seven.main.entity.XikeInfoBean;
+import com.example.administrator.seven.main.kehu.Bean.orderListBean;
import com.example.administrator.seven.main.kehu.adapter.DeaListAdapter;
import com.example.administrator.seven.okgonet.NetApi;
import com.example.administrator.seven.okgonet.Observer;
+import com.example.administrator.seven.utils.checkVersionsUtils.ProfileSpUtils;
import com.lzy.okgo.model.Response;
import java.util.ArrayList;
@@ -38,29 +40,18 @@ public class DealFragment extends MobanFragment {
@Override
public void requestData() {
- new NetApi().xikeInfo("b886798bdce09746a787651013f2c6e6").subscribe(new Observer() {
+ new NetApi().orderList(ProfileSpUtils.getInstance().getUserProfie().getData().getUuid(),"").subscribe(new Observer() {
@Override
public void onNext(Response response) {
String body = (String) response.body();
- XikeInfoBean.ResultBean esdv = JsonUtils.fromJson(body, XikeInfoBean.class).getResult();
+ orderListBean.ResultBean result = JsonUtils.fromJson(body, orderListBean.class).getResult();
mSwl.setRefreshing(false);
- if (esdv != null && String.valueOf(esdv.getSuccess()).equals("0")) {
+ if (result != null && String.valueOf(result.getSuccess()).equals("0")) {
- // List data = esdv.getData();
-
-
- List data = new ArrayList();
- for (int i = 0; i < 20; i++)
- {
- XikeInfoBean.ResultBean.DataBean dataBean = new XikeInfoBean.ResultBean.DataBean();
- dataBean.setTime("2020-07-01 12:00:00");
- dataBean.setXike_num("+89.00");
- dataBean.setXike_remark("收益账户转入");
- data.add(dataBean);
- }
+ List data = result.getData();
if (data.size() == 0) {
- //markingtwoAdapter.setEmptyView(notDataView);
+ markingtwoAdapter.setEmptyView(notDataView);
return;
}
if (mNextRequestPage == 1) {
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/DistriFragment.java b/app/src/main/java/com/example/administrator/seven/main/kehu/DistriFragment.java
index 0c3956e..5c0083f 100644
--- a/app/src/main/java/com/example/administrator/seven/main/kehu/DistriFragment.java
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/DistriFragment.java
@@ -5,6 +5,7 @@ import com.example.administrator.seven.main.kehu.Bean.FpListBean;
import com.example.administrator.seven.main.kehu.adapter.DisListAdapter;
import com.example.administrator.seven.okgonet.NetApi;
import com.example.administrator.seven.okgonet.Observer;
+import com.example.administrator.seven.utils.checkVersionsUtils.ProfileSpUtils;
import com.lzy.okgo.model.Response;
import java.util.List;
@@ -35,7 +36,7 @@ public class DistriFragment extends MobanFragment {
@Override
public void requestData() {
- new NetApi().fpList("b886798bdce09746a787651013f2c6e6","").subscribe(new Observer() {
+ new NetApi().fpList(ProfileSpUtils.getInstance().getUserProfie().getData().getUuid(),"").subscribe(new Observer() {
@Override
public void onNext(Response response) {
String body = (String) response.body();
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/activity/AllocationActivity.java b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/AllocationActivity.java
index 854af27..c161c8e 100644
--- a/app/src/main/java/com/example/administrator/seven/main/kehu/activity/AllocationActivity.java
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/AllocationActivity.java
@@ -3,7 +3,6 @@ package com.example.administrator.seven.main.kehu.activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
-import android.widget.AutoCompleteTextView;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
@@ -13,14 +12,13 @@ import com.example.administrator.seven.R;
import com.example.administrator.seven.base.BaseActivity;
import com.example.administrator.seven.db.DbRecordBeanData;
import com.example.administrator.seven.db.dao.DbRecordDao;
-import com.example.administrator.seven.main.kehu.Bean.CustomerListBean;
import com.example.administrator.seven.main.kehu.Bean.WxuSerinfo;
import com.example.administrator.seven.main.kehu.Bean.customerFPListBean;
import com.example.administrator.seven.main.kehu.Bean.fenpeisuccess;
import com.example.administrator.seven.main.kehu.adapter.AllocationAdapter;
import com.example.administrator.seven.okgonet.NetApi;
import com.example.administrator.seven.okgonet.Observer;
-import com.example.administrator.seven.utils.AbStrUtil;
+import com.example.administrator.seven.utils.checkVersionsUtils.ProfileSpUtils;
import com.lzy.okgo.model.Response;
import java.util.ArrayList;
@@ -119,25 +117,25 @@ public class AllocationActivity extends BaseActivity implements View.OnClickList
}
public void getData(String times) {
-// new NetApi().customerFPList("b886798bdce09746a787651013f2c6e6").subscribe(new Observer() {
-// @Override
-// public void onNext(Response response) {
-// String body = (String) response.body();
-// customerFPListBean.ResultBean result = JsonUtils.fromJson(body, customerFPListBean.class).getResult();
-// if (result != null && String.valueOf(result.getSuccess()).equals("0")) {
- // List data = result.getData();
+ new NetApi().customerFPList(ProfileSpUtils.getInstance().getUserProfie().getData().getUuid()).subscribe(new Observer() {
+ @Override
+ public void onNext(Response response) {
+ String body = (String) response.body();
+ customerFPListBean.ResultBean result = JsonUtils.fromJson(body, customerFPListBean.class).getResult();
+ if (result != null && String.valueOf(result.getSuccess()).equals("0")) {
+ List data = result.getData();
- List data = new ArrayList();
- for (int i = 0; i < 20; i++)
- {
- customerFPListBean.ResultBean.DataBean dataBean = new customerFPListBean.ResultBean.DataBean();
- dataBean.setName("小斐");
- dataBean.setPhone("15862656263");
- dataBean.setWechat("weixin");
- dataBean.setHeadimg("");
- data.add(dataBean);
- }
+// List data = new ArrayList();
+// for (int i = 0; i < 20; i++)
+// {
+// customerFPListBean.ResultBean.DataBean dataBean = new customerFPListBean.ResultBean.DataBean();
+// dataBean.setName("小斐");
+// dataBean.setPhone("15862656263");
+// dataBean.setWechat("weixin");
+// dataBean.setHeadimg("");
+// data.add(dataBean);
+// }
//存入数据库
for (int i = 0; i < data.size(); i++) {
@@ -161,14 +159,14 @@ public class AllocationActivity extends BaseActivity implements View.OnClickList
dbRecordBeanData = dbRecordDao.queryAll();
Log.e("数据的个数==", dbRecordBeanData.size()+"");
setData(dbRecordBeanData);
-// }
-// }
-// @Override
-// public void onError(Exception e) {
-// e.printStackTrace();
-//
-// }
-// });
+ }
+ }
+ @Override
+ public void onError(Exception e) {
+ e.printStackTrace();
+
+ }
+ });
}
private void setEvent() {
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/activity/CustomerDetailActivity.java b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/CustomerDetailActivity.java
new file mode 100644
index 0000000..5b57270
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/CustomerDetailActivity.java
@@ -0,0 +1,80 @@
+package com.example.administrator.seven.main.kehu.activity;
+
+import android.os.Bundle;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.example.administrator.seven.R;
+import com.example.administrator.seven.base.BaseActivity;
+import com.example.administrator.seven.widget.CircleImageView;
+import com.example.administrator.seven.widget.TitleBar;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+/**
+ * 客户详情
+ */
+public class CustomerDetailActivity extends BaseActivity {
+
+ private TitleBar mTitleBar;
+ private CircleImageView mIvDraUserHeads;
+ /**
+ * 姓名:--
+ */
+ private TextView mTvDraUserName;
+ /**
+ * 电话:— —
+ */
+ private TextView mTvDarUserPhone;
+ /**
+ * 家装阶段:
+ */
+ private TextView mTvDraInfo01;
+ /**
+ * 毛胚
+ */
+ private TextView mTvDraInfo02;
+ /**
+ * 风格
+ */
+ private TextView mTvDraInfo03;
+ /**
+ * 美式
+ */
+ private TextView mTvDraInfo04;
+ /**
+ * 预算
+ */
+ private TextView mTvDraInfo05;
+ /**
+ * 10万
+ */
+ private TextView mTvDraInfo06;
+ private String namephone;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_customer_detail);
+ namephone = getIntent().getStringExtra("namephone");
+ initView();
+ initNormalBack();
+ }
+
+ private void initView() {
+ mTitleBar = (TitleBar) findViewById(R.id.title_bar);
+ mTitleBar.setTitle(namephone);
+ mIvDraUserHeads = (CircleImageView) findViewById(R.id.iv_dra_user_heads);
+ mTvDraUserName = (TextView) findViewById(R.id.tv_dra_user_name);
+ mTvDarUserPhone = (TextView) findViewById(R.id.tv_dar_user_phone);
+ mTvDraInfo01 = (TextView) findViewById(R.id.tv_dra_info01);
+ mTvDraInfo02 = (TextView) findViewById(R.id.tv_dra_info02);
+ mTvDraInfo03 = (TextView) findViewById(R.id.tv_dra_info03);
+ mTvDraInfo04 = (TextView) findViewById(R.id.tv_dra_info04);
+ mTvDraInfo05 = (TextView) findViewById(R.id.tv_dra_info05);
+ mTvDraInfo06 = (TextView) findViewById(R.id.tv_dra_info06);
+ }
+
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/activity/DesignActivity.java b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/DesignActivity.java
new file mode 100644
index 0000000..aacbcf9
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/DesignActivity.java
@@ -0,0 +1,312 @@
+package com.example.administrator.seven.main.kehu.activity;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.content.Context;
+import android.graphics.Color;
+import android.os.Handler;
+import android.os.Message;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import com.bigkoo.pickerview.OptionsPickerView;
+import com.example.administrator.seven.FHConfig;
+import com.example.administrator.seven.R;
+import com.example.administrator.seven.base.BaseTreeActivity;
+import com.example.administrator.seven.db.DbRecordBeanData;
+import com.example.administrator.seven.main.kehu.Bean.CommitDesignModel;
+import com.example.administrator.seven.main.kehu.Bean.JsonBean;
+import com.example.administrator.seven.main.kehu.Bean.PhotoeditorBean;
+import com.example.administrator.seven.main.kehu.activity.mvp.contract.CommitDesignContract;
+import com.example.administrator.seven.main.kehu.activity.mvp.presenter.CommitDesignPresenter;
+import com.example.administrator.seven.main.kehu.adapter.DesignAdapter;
+import com.example.administrator.seven.utils.GetJsonDataUtil;
+import com.example.administrator.seven.utils.SPUtils;
+import com.example.administrator.seven.utils.ToastUtils;
+import com.example.administrator.seven.utils.checkVersionsUtils.ProfileSpUtils;
+import com.example.administrator.seven.widget.TitleBar;
+import com.google.gson.Gson;
+
+import org.json.JSONArray;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+public class DesignActivity extends BaseTreeActivity implements CommitDesignContract.View,
+ View.OnClickListener {
+ private TitleBar mTitleBar;
+ private int options1, options2, options3;
+ private boolean isLoaded = true;//省市区选择状态
+ private ArrayList options1Items = new ArrayList<>();
+ private ArrayList> options2Items = new ArrayList<>();
+ private ArrayList>> options3Items = new ArrayList<>();
+ private String mActivityType, userType, checkType, isEdit = "0", orderId, orderNum, userPhone, paymentpaper = "", isFocus = "0", province = "", city = "", area = "",
+ orderType, visitor_id, returnnum = "", uid, checkTypetb, unique_only = "", phone, userName = "";
+ private static final int MSG_LOAD_DATA = 0x0001;
+ private static final int MSG_LOAD_SUCCESS = 0x0002;
+ private static final int MSG_LOAD_FAILED = 0x0003;
+ private Thread thread;
+ private List dataBean;
+
+ private TextView btn_add;
+ private RecyclerView mLabelRvList;
+ private DesignAdapter adapter;
+ private List photoeditor=new ArrayList<>();
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.activity_design;
+ }
+
+ @Override
+ protected void initView() {
+ mTitleBar = (TitleBar) findViewById(R.id.title_bar);
+ mTitleBar.setTitle("客户分配");
+ btn_add = (TextView) findViewById(R.id.btn_add);
+
+ //第一部分的数据
+ mLabelRvList = (RecyclerView) findViewById(R.id.label_rv_list);
+
+
+ }
+
+
+ @Override
+ protected void initData() {
+ mHandler.sendEmptyMessage(MSG_LOAD_DATA);//省市区选择器
+ dataBean = (List) getIntent().getSerializableExtra("dataBean");
+ PhotoeditorBean photoeditorBean = new PhotoeditorBean();
+ photoeditorBean.setCity("");
+ photoeditorBean.setCustomer_id("");
+ photoeditorBean.setIndustry_id("");
+ photoeditorBean.setProvince("");
+ photoeditor.add(photoeditorBean);
+ initRecyclerView();
+ adapter.notifyDataSetChanged();
+ }
+
+ private void initRecyclerView() {
+ adapter = new DesignAdapter(mContext, photoeditor);
+ LinearLayoutManager manager = new LinearLayoutManager(this);
+ mLabelRvList.setLayoutManager(manager);
+ mLabelRvList.setAdapter(adapter);
+ adapter.operationListenner(new DesignAdapter.DesignItemviewOnClickListener() {
+ @Override
+ public void fphangye() {
+
+ }
+
+ @Override
+ public void address() {
+ options1 = (int) SPUtils.getSp(DesignActivity.this, FHConfig.KEY_OPTIONS1, 0);
+ options2 = (int) SPUtils.getSp(DesignActivity.this, FHConfig.KEY_OPTIONS2, 0);
+ options3 = (int) SPUtils.getSp(DesignActivity.this, FHConfig.KEY_OPTIONS3, 0);
+ if (isLoaded) {
+ showPickerView();
+ } else {
+ }
+ }
+ });
+ }
+
+
+ @Override
+ public void onsuccress() {
+ // finish();
+ }
+
+ @Override
+ protected void initEvent() {
+ btn_add.setOnClickListener(this);
+ }
+
+ @Override
+ public void onClick(View view) {
+ switch (view.getId()) {
+ case R.id.rl_left://返回
+ finish();
+ break;
+ case R.id.btn_commit://添加图文编辑
+ for (int i = 0; i < photoeditor.size(); i++) {
+ if (TextUtils.isEmpty(photoeditor.get(i).getIndustry_id()) || photoeditor.get(i).getIndustry_id().equals("")) {
+ ToastUtils.showToast(DesignActivity.this, "请选择行业");
+ return;
+ }
+ if (TextUtils.isEmpty(photoeditor.get(i).getProvince()) || photoeditor.get(i).getProvince().equals("")) {
+ ToastUtils.showToast(DesignActivity.this, "请选择省");
+ return;
+ }
+ if (TextUtils.isEmpty(photoeditor.get(i).getCity()) || photoeditor.get(i).getCity().equals("")) {
+ ToastUtils.showToast(DesignActivity.this, "请选择市");
+ return;
+ }
+
+ }
+
+ Gson gson = new Gson();
+ String strtext = gson.toJson(photoeditor);
+ getPresenter().commitdesign(strtext);
+ break;
+ case R.id.btn_add://添加图文编辑
+ PhotoeditorBean photoeditorBean = new PhotoeditorBean();
+ photoeditorBean.setCity("");
+ photoeditorBean.setCustomer_id("");
+ photoeditorBean.setIndustry_id("");
+ photoeditorBean.setProvince("");
+ photoeditor.add(photoeditorBean);
+ adapter.notifyDataSetChanged();
+ int size = photoeditor.size();
+ mLabelRvList.scrollToPosition(size); // 将ListView定位到最后一行
+ break;
+
+ }
+ }
+
+ @Override
+ public Context getContext() {
+ return DesignActivity.this;
+ }
+
+ @Override
+ public Activity getActivity() {
+ return DesignActivity.this;
+ }
+
+ @Override
+ public void commitdesign(CommitDesignModel commitDesignModel) {
+
+ }
+
+ @Override
+ public void progress() {
+ showProgressDialog("加载中...");
+ }
+
+ @Override
+ public void hideProgress() {
+ dismissProgressDialog();
+ }
+
+ @NonNull
+ @Override
+ public CommitDesignPresenter createPresenter() {
+ return new CommitDesignPresenter();
+ }
+
+
+ @Override
+ public void toastThreadSafe(String msg) {
+
+ }
+
+
+ /**
+ * 省市区选择弹框
+ */
+ private void showPickerView() {// 弹出选择器
+ OptionsPickerView pvOptions = new OptionsPickerView.Builder(DesignActivity.this, new OptionsPickerView.OnOptionsSelectListener() {
+ @Override
+ public void onOptionsSelect(int options1, int options2, int options3, View v) {
+ //返回的分别是三个级别的选中位置
+ province = options1Items.get(options1).getPickerViewText();
+ city = options2Items.get(options1).get(options2);
+ area = options3Items.get(options1).get(options2).get(options3);
+ // mEtReceiveCollect.setText(province + city + area);
+ SPUtils.setSP(DesignActivity.this, FHConfig.KEY_OPTIONS1, options1);
+ SPUtils.setSP(DesignActivity.this, FHConfig.KEY_OPTIONS2, options2);
+ SPUtils.setSP(DesignActivity.this, FHConfig.KEY_OPTIONS3, options3);
+ }
+ }).setTitleText("").setDividerColor(Color.BLACK).setTextColorCenter(Color.BLACK) //设置选中项文字颜色
+ .setContentTextSize(20)
+ .setSelectOptions(options1, options2, options3)
+ .build();
+ pvOptions.setPicker(options1Items, options2Items, options3Items);//三级选择器
+ pvOptions.show();
+ }
+
+ @SuppressLint("HandlerLeak")
+ private Handler mHandler = new Handler() {
+ public void handleMessage(Message msg) {
+ switch (msg.what) {
+ case MSG_LOAD_DATA:
+ if (thread == null) {//如果已创建就不再重新创建子线程了
+ thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ // 子线程中解析省市区数据
+ initJsonData();
+ }
+ });
+ thread.start();
+ }
+ break;
+ case MSG_LOAD_SUCCESS:
+ isLoaded = true;
+ break;
+ case MSG_LOAD_FAILED:
+// Toast.makeText(NewOrderActivity.this, "Parse Failed", Toast.LENGTH_SHORT).show();
+ break;
+ }
+ }
+ };
+
+ private void initJsonData() {//解析数据
+ /**
+ * 注意:assets 目录下的Json文件仅供参考,实际使用可自行替换文件
+ * 关键逻辑在于循环体
+ * */
+ String JsonData = new GetJsonDataUtil().getJson(this, "province.json");//获取assets目录下的json文件数据
+ ArrayList jsonBean = parseData(JsonData);//用Gson 转成实体
+ /**
+ * 添加省份数据
+ * 注意:如果是添加的JavaBean实体,则实体类需要实现 IPickerViewData 接口,
+ * PickerView会通过getPickerViewText方法获取字符串显示出来。
+ */
+ options1Items = jsonBean;
+ for (int i = 0; i < jsonBean.size(); i++) {//遍历省份
+ ArrayList CityList = new ArrayList<>();//该省的城市列表(第二级)
+ ArrayList> Province_AreaList = new ArrayList<>();//该省的所有地区列表(第三极)
+ for (int c = 0; c < jsonBean.get(i).getCityList().size(); c++) {//遍历该省份的所有城市
+ String CityName = jsonBean.get(i).getCityList().get(c).getName();
+ CityList.add(CityName);//添加城市
+ ArrayList City_AreaList = new ArrayList<>();//该城市的所有地区列表
+ //如果无地区数据,建议添加空字符串,防止数据为null 导致三个选项长度不匹配造成崩溃
+ if (jsonBean.get(i).getCityList().get(c).getArea() == null
+ || jsonBean.get(i).getCityList().get(c).getArea().size() == 0) {
+ City_AreaList.add("");
+ } else {
+ City_AreaList.addAll(jsonBean.get(i).getCityList().get(c).getArea());
+ }
+ Province_AreaList.add(City_AreaList);//添加该省所有地区数据
+ }
+ //添加城市数据
+ options2Items.add(CityList);
+ //添加地区数据
+ options3Items.add(Province_AreaList);
+ }
+ mHandler.sendEmptyMessage(MSG_LOAD_SUCCESS);
+ }
+
+ public ArrayList parseData(String result) {//Gson 解析
+ ArrayList detail = new ArrayList<>();
+ try {
+ JSONArray data = new JSONArray(result);
+ Gson gson = new Gson();
+ for (int i = 0; i < data.length(); i++) {
+ JsonBean entity = gson.fromJson(data.optJSONObject(i).toString(), JsonBean.class);
+ detail.add(entity);
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ mHandler.sendEmptyMessage(MSG_LOAD_FAILED);
+ }
+ return detail;
+ }
+
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/activity/ShowAty.java b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/ShowAty.java
index 3195bcd..8543a10 100644
--- a/app/src/main/java/com/example/administrator/seven/main/kehu/activity/ShowAty.java
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/ShowAty.java
@@ -2,9 +2,12 @@ package com.example.administrator.seven.main.kehu.activity;
import android.content.Context;
import android.content.Intent;
+import android.os.Bundle;
import com.example.administrator.seven.db.DbRecordBeanData;
+import com.example.administrator.seven.main.kehu.Bean.CustomerListBean;
+import java.io.Serializable;
import java.util.List;
public class ShowAty {
@@ -13,11 +16,12 @@ public class ShowAty {
* 选择调拨店铺
*/
public static void AllocationSelectActivity(Context ctx, List mShowListtwo) {
-// Intent i = new Intent(ctx, AllocationSelectActivity.class);
-// Bundle bundle = new Bundle();
-// bundle.putSerializable("dataBean", (Serializable) mShowListtwo);
-// i.putExtras(bundle);
-// ctx.startActivity(i);
+ // Intent i = new Intent(ctx, AllocationSelectActivity.class);
+ Intent i = new Intent(ctx, DesignActivity.class);
+ Bundle bundle = new Bundle();
+ bundle.putSerializable("dataBean", (Serializable) mShowListtwo);
+ i.putExtras(bundle);
+ ctx.startActivity(i);
}
/**
@@ -28,4 +32,14 @@ public class ShowAty {
ctx.startActivity(i);
}
+
+ /**
+ * 客户详情
+ */
+ public static void CustomerDetailActivity(Context ctx, CustomerListBean.ResultBean.DataBean item) {
+ Intent i = new Intent(ctx, CustomerDetailActivity.class);
+ i.putExtra("namephone",item.getName()+item.getPhone());
+ ctx.startActivity(i);
+ }
+
}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/BaseMenDianView.java b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/BaseMenDianView.java
new file mode 100644
index 0000000..1c18b34
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/BaseMenDianView.java
@@ -0,0 +1,79 @@
+package com.example.administrator.seven.main.kehu.activity.mvp;
+
+import android.app.Activity;
+
+import com.hannesdorfmann.mosby3.mvp.MvpView;
+
+import androidx.annotation.StringRes;
+import androidx.annotation.UiThread;
+
+/**
+ * BaseMenDianView
+ * (๑• . •๑)
+ * 类描述:基础View接口
+ * Created by RenJianBo on 2018/9/10 17:23
+ */
+
+public interface BaseMenDianView extends MvpView {
+
+ /**
+ * 显示加载中对话框
+ */
+ @UiThread
+
+ void showProgressDialog(String dialogMessage);
+
+ /**
+ * 隐藏加载中对话框
+ */
+ @UiThread
+
+ void dismissProgressDialog();
+
+
+ /**
+ * toast
+ *
+ * @param msg 吐丝的内容
+ */
+ void toast(String msg);
+
+ /**
+ * toast
+ *
+ * @param ids 吐丝的内容的字符串ids
+ */
+ void toast(@StringRes int ids);
+
+
+ /**
+ * 线程安全的toast
+ *
+ * @param msg 消息内容
+ */
+ @UiThread
+ void toastThreadSafe(final String msg);
+
+ /**
+ * 线程安全的toast
+ *
+ * @param ids 消息内容
+ */
+ @UiThread
+ void toastThreadSafe(@StringRes final int ids);
+
+ /**
+ * 开启一个Activity
+ *
+ * @param clz 需要开启的Activity
+ */
+ void startActivity(Class extends Activity> clz);
+
+ /**
+ * 开启一个Activity,并finish掉当前的Activity
+ *
+ * @param clz 消息内容
+ */
+ void startActivityAndFinishSelf(Class extends Activity> clz);
+
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/contract/CommitDesignContract.java b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/contract/CommitDesignContract.java
new file mode 100644
index 0000000..692c0fa
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/contract/CommitDesignContract.java
@@ -0,0 +1,46 @@
+package com.example.administrator.seven.main.kehu.activity.mvp.contract;
+
+import android.app.Activity;
+import android.content.Context;
+
+import com.example.administrator.seven.main.kehu.Bean.CommitDesignModel;
+import com.example.administrator.seven.main.kehu.Bean.PhotoeditorBean;
+import com.example.administrator.seven.main.kehu.activity.mvp.BaseMenDianView;
+import com.example.administrator.seven.network.ApiCallBack;
+
+
+public interface CommitDesignContract {
+ interface Model {
+
+ //详细信息
+ void commitdesign(String content,
+ final ApiCallBack callBack);
+
+
+
+ void worksReedit(String uid, String workid, String project_id, final ApiCallBack callBack);//重新编辑
+
+ }
+
+ interface View extends BaseMenDianView {
+
+ Context getContext();
+
+ Activity getActivity();
+
+ void commitdesign(CommitDesignModel commitDesignModel);
+
+ void progress();
+
+ void hideProgress();
+
+ void onsuccress();
+
+ }
+
+ interface Presenter {
+
+ void commitdesign(String uid);//提交方案设计
+
+ }
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/model/CommitDesignModeltwo.java b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/model/CommitDesignModeltwo.java
new file mode 100644
index 0000000..99b9365
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/model/CommitDesignModeltwo.java
@@ -0,0 +1,55 @@
+package com.example.administrator.seven.main.kehu.activity.mvp.model;
+
+import android.util.Log;
+
+import com.example.administrator.seven.JsonUtils;
+import com.example.administrator.seven.db.DbRecordBeanData;
+import com.example.administrator.seven.main.kehu.Bean.CommitDesignModel;
+import com.example.administrator.seven.main.kehu.Bean.PhotoeditorBean;
+import com.example.administrator.seven.main.kehu.Bean.customerFPListBean;
+import com.example.administrator.seven.main.kehu.activity.mvp.contract.CommitDesignContract;
+import com.example.administrator.seven.network.ApiCallBack;
+import com.example.administrator.seven.network.http.ApiUtils;
+import com.example.administrator.seven.network.http.ResponseBean;
+import com.example.administrator.seven.okgonet.NetApi;
+import com.example.administrator.seven.okgonet.Observer;
+import com.example.administrator.seven.utils.checkVersionsUtils.ProfileSpUtils;
+import com.lzy.okgo.model.Response;
+
+import java.util.List;
+
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.annotations.NonNull;
+import io.reactivex.functions.Consumer;
+import io.reactivex.schedulers.Schedulers;
+
+public class CommitDesignModeltwo implements CommitDesignContract.Model {
+
+
+ @Override
+ public void commitdesign(String content, final ApiCallBack callBack) {
+ ApiUtils.getApi()
+ .sureFP(ProfileSpUtils.getInstance().getUserProfie().getData().getUuid(), content)
+ .subscribeOn(Schedulers.io())
+ .observeOn(AndroidSchedulers.mainThread())
+ .subscribe(new Consumer() {
+ @Override
+ public void accept(@NonNull ResponseBean responseBean) throws Exception {
+ callBack.onResponse(responseBean);
+ }
+ }, new Consumer() {
+ @Override
+ public void accept(@NonNull Throwable throwable) throws Exception {
+ callBack.onFailure(throwable);
+ }
+ });
+ }
+
+
+ @Override
+ public void worksReedit(String uid, String workid, String project_id, final ApiCallBack callBack) {
+
+ PhotoeditorBean worksReeditBean = new PhotoeditorBean();
+ //callBack.onResponse(worksReeditBean);
+ }
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/presenter/CommitDesignPresenter.java b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/presenter/CommitDesignPresenter.java
new file mode 100644
index 0000000..9944015
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/activity/mvp/presenter/CommitDesignPresenter.java
@@ -0,0 +1,36 @@
+package com.example.administrator.seven.main.kehu.activity.mvp.presenter;
+
+import com.example.administrator.seven.main.kehu.Bean.CommitDesignModel;
+import com.example.administrator.seven.main.kehu.activity.mvp.contract.CommitDesignContract;
+import com.example.administrator.seven.main.kehu.activity.mvp.model.CommitDesignModeltwo;
+import com.example.administrator.seven.network.ApiCallBack;
+import com.example.administrator.seven.utils.ToastUtils;
+import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter;
+
+
+public class CommitDesignPresenter extends MvpBasePresenter implements CommitDesignContract.Presenter {
+
+ private CommitDesignModeltwo mModel;
+
+ public CommitDesignPresenter() {
+ mModel = new CommitDesignModeltwo();
+ }
+
+ @Override
+ public void commitdesign(String content) {
+ mModel.commitdesign(content, new ApiCallBack() {
+ @Override
+ protected void onSuccess(CommitDesignModel responseData, String message) {
+ if (responseData.getResult().getSuccess() == 0) {
+ ToastUtils.showToast(getView().getContext(), responseData.getResult().getMsg());
+ getView().getActivity().finish();
+ }
+ }
+
+ @Override
+ protected void onFailure(String error) {
+ ToastUtils.showToast(getView().getContext(), "数据异常");
+ }
+ });
+ }
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/CusListAdapter.java b/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/CusListAdapter.java
index 649c0fc..ff930fd 100644
--- a/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/CusListAdapter.java
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/CusListAdapter.java
@@ -2,6 +2,7 @@ package com.example.administrator.seven.main.kehu.adapter;
import android.content.Context;
import android.view.View;
+import android.widget.RelativeLayout;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
@@ -35,6 +36,14 @@ public class CusListAdapter extends BaseQuickAdapter {
+ Context mcontext;
+ DesignItemviewOnClickListener onViewClickListener;
+ public DesignAdapter(Context context, List list) {
+ super(R.layout.activity_design_two, list);
+ this.mcontext = context;
+ }
+ @Override
+ protected void convert(final BaseViewHolder helper, final PhotoeditorBean item) {
+ RelativeLayout rl_dingdan_type = (RelativeLayout)helper.getView(R.id.rl_dingdan_type);
+ TextView et_receive_collect = (TextView)helper.getView(R.id.et_receive_collect);
+ rl_dingdan_type.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ onViewClickListener.fphangye();
+ }
+ });
+ et_receive_collect.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ onViewClickListener.address();
+ }
+ });
+ }
+
+
+ public void operationListenner(DesignItemviewOnClickListener onViewClickListener){
+ this.onViewClickListener = onViewClickListener;
+ }
+
+ public interface DesignItemviewOnClickListener {
+
+ void fphangye();
+ void address();
+
+
+ }
+}
diff --git a/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/VrStyleAdapter.java b/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/VrStyleAdapter.java
new file mode 100644
index 0000000..6b45eb5
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/main/kehu/adapter/VrStyleAdapter.java
@@ -0,0 +1,73 @@
+package com.example.administrator.seven.main.kehu.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.example.administrator.seven.R;
+import com.example.administrator.seven.main.kehu.Bean.WorkDetailModel;
+
+import java.util.List;
+
+public class VrStyleAdapter extends BaseAdapter {
+
+ private Context mContext;
+ LayoutInflater inflater;
+ private List mPinpaiList;
+
+
+ public VrStyleAdapter(Context mContext, List mPinpaiList){
+ this.mContext = mContext;
+ this.mPinpaiList = mPinpaiList;
+ inflater = LayoutInflater.from(mContext);//1
+
+
+ }
+
+ @Override
+ public int getCount() {
+ if(mPinpaiList.size()==0){
+ return 0;
+ }else{
+ return mPinpaiList.size();
+ }
+
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return mPinpaiList.get(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup viewGroup) {
+ Holder hoder = null;
+ if (convertView == null) {
+ // 获取list_item布局文件的视图
+ convertView = inflater.inflate(R.layout.order_type_dialog_view, null);
+ hoder = new Holder();
+ // 获取控件对象
+ hoder.tv = (TextView) convertView.findViewById(R.id.tv_text);
+ convertView.setTag(hoder);
+ } else {
+ hoder = (Holder) convertView.getTag();
+ }
+ //设置数据
+ hoder.tv.setText(mPinpaiList.get(position).getStylename());
+ return convertView;
+ }
+ private class Holder{
+ TextView tv;
+ LinearLayout layout;
+ }
+
+ }
diff --git a/app/src/main/java/com/example/administrator/seven/main/task/HomeFragment.java b/app/src/main/java/com/example/administrator/seven/main/task/HomeFragment.java
index bf8541f..56a37e9 100644
--- a/app/src/main/java/com/example/administrator/seven/main/task/HomeFragment.java
+++ b/app/src/main/java/com/example/administrator/seven/main/task/HomeFragment.java
@@ -9,15 +9,6 @@ import android.widget.TextView;
import com.example.administrator.seven.R;
import com.example.administrator.seven.base.BaseFragment;
-
-/**
- * 项目名:jiajiesong
- * 包名:com.example.administrator.newjiajiesone.main.activity.mvp.Fragment
- * 文件名:HomeFragment
- * 创建者:mengjuan
- * 创建时间:2018/11/1
- * 描述:TODO
- */
public class HomeFragment extends BaseFragment {
private View mContentView;
diff --git a/app/src/main/java/com/example/administrator/seven/network/http/MyApi.java b/app/src/main/java/com/example/administrator/seven/network/http/MyApi.java
index 5274f23..c57f427 100644
--- a/app/src/main/java/com/example/administrator/seven/network/http/MyApi.java
+++ b/app/src/main/java/com/example/administrator/seven/network/http/MyApi.java
@@ -114,8 +114,21 @@ public class MyApi {
, @Field("sex") String sex
, @Field("union_id") String union_id);
+
+
+ /**
+ * 账号密码登录
+ *
+ * @param uid 登录员工的uid
+ * @param content 分配内容[{"customer_id":"客户1","industry_id":"家具id","province":"610000","city":"610100"},{"customer_id":"客户1","industry_id":"建材id","province":"610000","city":"610100"},{"customer_id":"客户2","industry_id":"家具id","province":"610000","city":"610100"},{"customer_id":"客户2","industry_id":"建材id","province":"610000","city":"610100"}]
+ * @return
+ */
+ @POST("AppCustomer/sureFP")
+ // @POST("/device/DevLogin/accountPwd")
+ @FormUrlEncoded
+ Observable> sureFP(@Field("uid") String uid
+ , @Field("content") String content);
+
}
-
-
}
diff --git a/app/src/main/java/com/example/administrator/seven/okgonet/HttpConstants.java b/app/src/main/java/com/example/administrator/seven/okgonet/HttpConstants.java
index 34916a5..4a59e5c 100644
--- a/app/src/main/java/com/example/administrator/seven/okgonet/HttpConstants.java
+++ b/app/src/main/java/com/example/administrator/seven/okgonet/HttpConstants.java
@@ -399,16 +399,28 @@ public class HttpConstants {
/**
- * 分配列表
+ * 客户列表
*/
public static String URi_device_AppCustomer_customerList = URiBase + "/device/AppCustomer/customerList";
+ /**
+ * 成交列表
+ */
+ public static String URi_device_AppCustomer_orderList = URiBase + "/device/AppCustomer/orderList";
/**
* 客户分配
*/
public static String URi_device_AppCustomer_customerFPList = URiBase + "/device/AppCustomer/customerFPList";
+ /**
+ * 客户详情
+ */
+ public static String URi_device_AppCustomer_customerDetail = URiBase + "/device/AppCustomer/customerDetail";
+ /**
+ * 确认分配
+ */
+ public static String URi_device_AppCustomer_sureFP = URiBase + "/device/AppCustomer/sureFP";
}
diff --git a/app/src/main/java/com/example/administrator/seven/okgonet/NetApi.java b/app/src/main/java/com/example/administrator/seven/okgonet/NetApi.java
index be773a8..fac9e0e 100644
--- a/app/src/main/java/com/example/administrator/seven/okgonet/NetApi.java
+++ b/app/src/main/java/com/example/administrator/seven/okgonet/NetApi.java
@@ -150,6 +150,51 @@ public class NetApi {
}
+ /**
+ * 成交列表
+ */
+ public Observable orderList(final String uid,final String search) {
+
+ return new Observable() {
+ @Override
+ public void subscribe(final Observer observer) {
+
+ OkGo.post(HttpConstants.URi_device_AppCustomer_orderList)//
+ .params("uid", uid)
+ .params("search", search)
+ .converter(new StringConvert())//
+ .cacheMode(CacheMode.NO_CACHE) //无缓存模式 CacheMode.NO_CACHE
+ .adapt(new ObservableResponse())//
+ .subscribeOn(Schedulers.io())//
+ .observeOn(AndroidSchedulers.mainThread())//
+ .subscribe(new io.reactivex.Observer>() {
+
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ // addDisposable(d);
+ }
+
+ @Override
+ public void onNext(@NonNull Response response) {
+ observer.onNext(response);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ e.printStackTrace();
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ };
+
+ }
+
/**
* 客户分配
*/
@@ -194,6 +239,93 @@ public class NetApi {
}
+ /**
+ * 客户详情
+ */
+ public Observable customerDetail(final String customer_id) {
+ return new Observable() {
+ @Override
+ public void subscribe(final Observer observer) {
+
+ OkGo.post(HttpConstants.URi_device_AppCustomer_customerDetail)//
+ .params("customer_id", customer_id)
+ .converter(new StringConvert())//
+ .cacheMode(CacheMode.NO_CACHE) //无缓存模式 CacheMode.NO_CACHE
+ .adapt(new ObservableResponse())//
+ .subscribeOn(Schedulers.io())//
+ .observeOn(AndroidSchedulers.mainThread())//
+ .subscribe(new io.reactivex.Observer>() {
+
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ // addDisposable(d);
+ }
+
+ @Override
+ public void onNext(@NonNull Response response) {
+ observer.onNext(response);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ e.printStackTrace();
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ };
+
+ }
+
+ /**
+ * 确认分配device/AppCustomer/sureFP
+ */
+ public Observable sureFP(final String uid,final String content) {
+
+ return new Observable() {
+ @Override
+ public void subscribe(final Observer observer) {
+
+ OkGo.post(HttpConstants.URi_device_AppCustomer_sureFP)//
+ .params("uid", uid)
+ .params("content", content)
+ .converter(new StringConvert())//
+ .cacheMode(CacheMode.NO_CACHE) //无缓存模式 CacheMode.NO_CACHE
+ .adapt(new ObservableResponse())//
+ .subscribeOn(Schedulers.io())//
+ .observeOn(AndroidSchedulers.mainThread())//
+ .subscribe(new io.reactivex.Observer>() {
+
+ @Override
+ public void onSubscribe(@NonNull Disposable d) {
+ // addDisposable(d);
+ }
+
+ @Override
+ public void onNext(@NonNull Response response) {
+ observer.onNext(response);
+ }
+
+ @Override
+ public void onError(@NonNull Throwable e) {
+ e.printStackTrace();
+
+ }
+
+ @Override
+ public void onComplete() {
+
+ }
+ });
+ }
+ };
+
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/administrator/seven/utils/GetJsonDataUtil.java b/app/src/main/java/com/example/administrator/seven/utils/GetJsonDataUtil.java
new file mode 100644
index 0000000..7103ab5
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/utils/GetJsonDataUtil.java
@@ -0,0 +1,38 @@
+package com.example.administrator.seven.utils;
+
+import android.content.Context;
+import android.content.res.AssetManager;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+
+/**
+ * TODO<读取Json文件的工具类>
+ *
+ * @author: 小嵩
+ * @date: 2017/3/16 16:22
+
+ */
+
+public class GetJsonDataUtil {
+
+
+ public String getJson(Context context, String fileName) {
+
+ StringBuilder stringBuilder = new StringBuilder();
+ try {
+ AssetManager assetManager = context.getAssets();
+ BufferedReader bf = new BufferedReader(new InputStreamReader(
+ assetManager.open(fileName)));
+ String line;
+ while ((line = bf.readLine()) != null) {
+ stringBuilder.append(line);
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ return stringBuilder.toString();
+ }
+}
+
diff --git a/app/src/main/java/com/example/administrator/seven/utils/SPUtils.java b/app/src/main/java/com/example/administrator/seven/utils/SPUtils.java
new file mode 100644
index 0000000..8e287fa
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/utils/SPUtils.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2016 android@19code.com
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.example.administrator.seven.utils;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.Editor;
+
+/**
+ * Create by h4de5ing 2016/5/7 007
+ * SharedPreferences工具
+ *
+ */
+public class SPUtils {
+
+ public static void setSP(Context context, String key, Object object) {
+ String type = object.getClass().getSimpleName();
+ String packageName = context.getPackageName();
+ SharedPreferences sp = context.getSharedPreferences(packageName, Context.MODE_PRIVATE);
+ Editor edit = sp.edit();
+ if ("String".equals(type)) {
+ edit.putString(key, (String) object);
+ } else if ("Integer".equals(type)) {
+ edit.putInt(key, (Integer) object);
+ } else if ("Boolean".equals(type)) {
+ edit.putBoolean(key, (Boolean) object);
+ } else if ("Float".equals(type)) {
+ edit.putFloat(key, (Float) object);
+ } else if ("Long".equals(type)) {
+ edit.putLong(key, (Long) object);
+ }
+ edit.apply();
+ }
+
+ public static Object getSp(Context context, String key, Object defaultObject) {
+ String type = defaultObject.getClass().getSimpleName();
+ String packageName = context.getPackageName();
+ SharedPreferences sp = context.getSharedPreferences(packageName, Context.MODE_PRIVATE);
+ if ("String".equals(type)) {
+ return sp.getString(key, (String) defaultObject);
+ } else if ("Integer".equals(type)) {
+ return sp.getInt(key, (Integer) defaultObject);
+ } else if ("Boolean".equals(type)) {
+ return sp.getBoolean(key, (Boolean) defaultObject);
+ } else if ("Float".equals(type)) {
+ return sp.getFloat(key, (Float) defaultObject);
+ } else if ("Long".equals(type)) {
+ return sp.getLong(key, (Long) defaultObject);
+ }
+ return null;
+ }
+
+ public static void cleanAllSP(Context context) {
+ String packageName = context.getPackageName();
+ SharedPreferences sp = context.getSharedPreferences(packageName, Context.MODE_PRIVATE);
+ Editor editor = sp.edit();
+ editor.clear();
+ editor.apply();
+ }
+
+
+}
diff --git a/app/src/main/java/com/example/administrator/seven/utils/ToastUtils.java b/app/src/main/java/com/example/administrator/seven/utils/ToastUtils.java
new file mode 100644
index 0000000..8113d8d
--- /dev/null
+++ b/app/src/main/java/com/example/administrator/seven/utils/ToastUtils.java
@@ -0,0 +1,57 @@
+package com.example.administrator.seven.utils;
+
+import android.content.Context;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.example.administrator.seven.R;
+
+/**
+ * Created by gh0st on 2017/1/17.
+ * 吐司工具类
+ */
+
+public class ToastUtils {
+ private static Toast mToast;
+ private static String message;
+ private static TextView mTextView;
+
+
+ public static void showToast1(Context context, String string) {
+ Toast.makeText(context , string , Toast.LENGTH_SHORT).show();
+ }
+ public static void showToast(Context context, int string) {
+ Toast.makeText(context , string , Toast.LENGTH_SHORT).show();
+ }
+
+ public static void showToast(Context context, String message) {
+ //加载Toast布局
+ View toastRoot = LayoutInflater.from(context).inflate(R.layout.toast, null);
+ //初始化布局控件
+ mTextView = (TextView) toastRoot.findViewById(R.id.message);
+// mImageView = (ImageView) toastRoot.findViewById(R.id.imageView);
+ //为控件设置属性
+ mTextView.setText(message);
+// mImageView.setImageResource(R.mipmap.ic_launcher);
+ //Toast的初始化
+ Toast toastStart = new Toast(context);
+ //获取屏幕高度
+ WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+ int height = wm.getDefaultDisplay().getHeight();
+ //Toast的Y坐标是屏幕高度的1/3,不会出现不适配的问题
+ toastStart.setGravity(Gravity.BOTTOM, 0, height / 3);
+ toastStart.setDuration(Toast.LENGTH_LONG);
+ toastStart.setView(toastRoot);
+ toastStart.show();
+ }
+
+
+
+
+
+
+}
diff --git a/app/src/main/res/drawable/bg_markingxinxi.xml b/app/src/main/res/drawable/bg_markingxinxi.xml
new file mode 100644
index 0000000..7c78d0e
--- /dev/null
+++ b/app/src/main/res/drawable/bg_markingxinxi.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/marking_zhaikai.png b/app/src/main/res/drawable/marking_zhaikai.png
new file mode 100644
index 0000000..90b016d
Binary files /dev/null and b/app/src/main/res/drawable/marking_zhaikai.png differ
diff --git a/app/src/main/res/drawable/toast_bg.xml b/app/src/main/res/drawable/toast_bg.xml
new file mode 100644
index 0000000..c4fbe32
--- /dev/null
+++ b/app/src/main/res/drawable/toast_bg.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_customer_detail.xml b/app/src/main/res/layout/activity_customer_detail.xml
new file mode 100644
index 0000000..838cb46
--- /dev/null
+++ b/app/src/main/res/layout/activity_customer_detail.xml
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_design.xml b/app/src/main/res/layout/activity_design.xml
new file mode 100644
index 0000000..a595d98
--- /dev/null
+++ b/app/src/main/res/layout/activity_design.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_design_two.xml b/app/src/main/res/layout/activity_design_two.xml
new file mode 100644
index 0000000..026ea3b
--- /dev/null
+++ b/app/src/main/res/layout/activity_design_two.xml
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/fragment_home_layout.xml b/app/src/main/res/layout/fragment_home_layout.xml
index 2464f47..29cc5b1 100644
--- a/app/src/main/res/layout/fragment_home_layout.xml
+++ b/app/src/main/res/layout/fragment_home_layout.xml
@@ -8,11 +8,13 @@
layout="@layout/title_layout"/>
@@ -153,6 +156,7 @@
diff --git a/app/src/main/res/layout/order_type_dialog_view.xml b/app/src/main/res/layout/order_type_dialog_view.xml
new file mode 100644
index 0000000..c174695
--- /dev/null
+++ b/app/src/main/res/layout/order_type_dialog_view.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/toast.xml b/app/src/main/res/layout/toast.xml
new file mode 100644
index 0000000..36925b6
--- /dev/null
+++ b/app/src/main/res/layout/toast.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/mipmap-hdpi/icon_add_des.png b/app/src/main/res/mipmap-hdpi/icon_add_des.png
new file mode 100644
index 0000000..075cb85
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/icon_add_des.png differ
diff --git a/app/src/main/res/mipmap-mdpi/icon_add_des.png b/app/src/main/res/mipmap-mdpi/icon_add_des.png
new file mode 100644
index 0000000..35fe09a
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/icon_add_des.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/icon_add_des.png b/app/src/main/res/mipmap-xhdpi/icon_add_des.png
new file mode 100644
index 0000000..be50321
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/icon_add_des.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/icon_add_des.png b/app/src/main/res/mipmap-xxhdpi/icon_add_des.png
new file mode 100644
index 0000000..2e74640
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/icon_add_des.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/icon_add_des.png b/app/src/main/res/mipmap-xxxhdpi/icon_add_des.png
new file mode 100644
index 0000000..1cab8d7
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/icon_add_des.png differ