已修改18个文件
已添加5个文件
1693 ■■■■ 文件已修改
package.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/jsonApi/areaList.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/sidebar.scss 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/styles/variables.module.scss 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/ImageUpload/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/Table/ETable.vue 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Settings/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/SidebarItem.vue 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/Sidebar/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/layout/components/TagsView/index.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/settings.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicInformation/index.vue 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicInformation/mould/coal.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicInformation/mould/coalQualityMaintenance.vue 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicInformation/mould/customer.vue 149 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicInformation/mould/supplier.vue 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procureMent/components/ProductionDialog.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/production/components/ProductionDialog.vue 298 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/production/components/SupplierDialog.vue 283 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/production/index.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/user/index.vue 107 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/tool/build/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
package.json
@@ -22,6 +22,7 @@
    "axios": "0.28.1",
    "clipboard": "2.0.11",
    "echarts": "5.5.1",
    "element-china-area-data": "^6.1.0",
    "element-plus": "2.7.6",
    "file-saver": "2.0.5",
    "fuse.js": "6.6.2",
src/api/jsonApi/areaList.json
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
[{"name":"北京市","no":"110000","children":[{"name":"北京市","no":"110100","children":[{"name":"东城区","no":"110101"},{"name":"西城区","no":"110102"},{"name":"朝阳区","no":"110105"},{"name":"丰台区","no":"110106"},{"name":"石景山区","no":"110107"},{"name":"海淀区","no":"110108"},{"name":"门头沟区","no":"110109"},{"name":"房山区","no":"110111"},{"name":"通州区","no":"110112"},{"name":"顺义区","no":"110113"},{"name":"昌平区","no":"110114"},{"name":"大兴区","no":"110115"},{"name":"怀柔区","no":"110116"},{"name":"平谷区","no":"110117"},{"name":"密云区","no":"110118"},{"name":"延庆区","no":"110119"}]}]},{"name":"天津市","no":"120000","children":[{"name":"天津市","no":"120100","children":[{"name":"和平区","no":"120101"},{"name":"河东区","no":"120102"},{"name":"河西区","no":"120103"},{"name":"南开区","no":"120104"},{"name":"河北区","no":"120105"},{"name":"红桥区","no":"120106"},{"name":"东丽区","no":"120110"},{"name":"西青区","no":"120111"},{"name":"津南区","no":"120112"},{"name":"北辰区","no":"120113"},{"name":"武清区","no":"120114"},{"name":"宝坻区","no":"120115"},{"name":"滨海新区","no":"120116"},{"name":"宁河区","no":"120117"},{"name":"静海区","no":"120118"},{"name":"蓟州区","no":"120119"}]}]},{"name":"河北省","no":"130000","children":[{"name":"石家庄市","no":"130100","children":[{"name":"长安区","no":"130102"},{"name":"桥西区","no":"130104"},{"name":"新华区","no":"130105"},{"name":"井陉矿区","no":"130107"},{"name":"裕华区","no":"130108"},{"name":"藁城区","no":"130109"},{"name":"鹿泉区","no":"130110"},{"name":"栾城区","no":"130111"},{"name":"井陉县","no":"130121"},{"name":"正定县","no":"130123"},{"name":"行唐县","no":"130125"},{"name":"灵寿县","no":"130126"},{"name":"高邑县","no":"130127"},{"name":"深泽县","no":"130128"},{"name":"赞皇县","no":"130129"},{"name":"无极县","no":"130130"},{"name":"平山县","no":"130131"},{"name":"元氏县","no":"130132"},{"name":"赵县","no":"130133"},{"name":"石家庄高新技术产业开发区","no":"130171"},{"name":"石家庄循环化工园区","no":"130172"},{"name":"辛集市","no":"130181"},{"name":"晋州市","no":"130183"},{"name":"新乐市","no":"130184"}]},{"name":"唐山市","no":"130200","children":[{"name":"路南区","no":"130202"},{"name":"路北区","no":"130203"},{"name":"古冶区","no":"130204"},{"name":"开平区","no":"130205"},{"name":"丰南区","no":"130207"},{"name":"丰润区","no":"130208"},{"name":"曹妃甸区","no":"130209"},{"name":"滦南县","no":"130224"},{"name":"乐亭县","no":"130225"},{"name":"迁西县","no":"130227"},{"name":"玉田县","no":"130229"},{"name":"唐山高新技术产业开发区","no":"130273"},{"name":"河北唐山海港经济开发区","no":"130274"},{"name":"遵化市","no":"130281"},{"name":"迁安市","no":"130283"},{"name":"滦州市","no":"130284"}]},{"name":"秦皇岛市","no":"130300","children":[{"name":"海港区","no":"130302"},{"name":"山海关区","no":"130303"},{"name":"北戴河区","no":"130304"},{"name":"抚宁区","no":"130306"},{"name":"青龙满族自治县","no":"130321"},{"name":"昌黎县","no":"130322"},{"name":"卢龙县","no":"130324"},{"name":"秦皇岛市经济技术开发区","no":"130371"},{"name":"北戴河新区","no":"130372"},{"name":"经济技术开发区","no":"130390"}]},{"name":"邯郸市","no":"130400","children":[{"name":"邯山区","no":"130402"},{"name":"丛台区","no":"130403"},{"name":"复兴区","no":"130404"},{"name":"峰峰矿区","no":"130406"},{"name":"肥乡区","no":"130407"},{"name":"永年区","no":"130408"},{"name":"临漳县","no":"130423"},{"name":"成安县","no":"130424"},{"name":"大名县","no":"130425"},{"name":"涉县","no":"130426"},{"name":"磁县","no":"130427"},{"name":"邱县","no":"130430"},{"name":"鸡泽县","no":"130431"},{"name":"广平县","no":"130432"},{"name":"馆陶县","no":"130433"},{"name":"魏县","no":"130434"},{"name":"曲周县","no":"130435"},{"name":"邯郸经济技术开发区","no":"130471"},{"name":"邯郸冀南新区","no":"130473"},{"name":"武安市","no":"130481"}]},{"name":"邢台市","no":"130500","children":[{"name":"襄都区","no":"130502"},{"name":"信都区","no":"130503"},{"name":"任泽区","no":"130505"},{"name":"南和区","no":"130506"},{"name":"临城县","no":"130522"},{"name":"内丘县","no":"130523"},{"name":"柏乡县","no":"130524"},{"name":"隆尧县","no":"130525"},{"name":"宁晋县","no":"130528"},{"name":"巨鹿县","no":"130529"},{"name":"新河县","no":"130530"},{"name":"广宗县","no":"130531"},{"name":"平乡县","no":"130532"},{"name":"威县","no":"130533"},{"name":"清河县","no":"130534"},{"name":"临西县","no":"130535"},{"name":"河北邢台经济开发区","no":"130571"},{"name":"南宫市","no":"130581"},{"name":"沙河市","no":"130582"}]},{"name":"保定市","no":"130600","children":[{"name":"竞秀区","no":"130602"},{"name":"莲池区","no":"130606"},{"name":"满城区","no":"130607"},{"name":"清苑区","no":"130608"},{"name":"徐水区","no":"130609"},{"name":"涞水县","no":"130623"},{"name":"阜平县","no":"130624"},{"name":"定兴县","no":"130626"},{"name":"唐县","no":"130627"},{"name":"高阳县","no":"130628"},{"name":"容城县","no":"130629"},{"name":"涞源县","no":"130630"},{"name":"望都县","no":"130631"},{"name":"安新县","no":"130632"},{"name":"易县","no":"130633"},{"name":"曲阳县","no":"130634"},{"name":"蠡县","no":"130635"},{"name":"顺平县","no":"130636"},{"name":"博野县","no":"130637"},{"name":"雄县","no":"130638"},{"name":"保定高新技术产业开发区","no":"130671"},{"name":"保定白沟新城","no":"130672"},{"name":"涿州市","no":"130681"},{"name":"定州市","no":"130682"},{"name":"安国市","no":"130683"},{"name":"高碑店市","no":"130684"}]},{"name":"张家口市","no":"130700","children":[{"name":"桥东区","no":"130702"},{"name":"桥西区","no":"130703"},{"name":"宣化区","no":"130705"},{"name":"下花园区","no":"130706"},{"name":"万全区","no":"130708"},{"name":"崇礼区","no":"130709"},{"name":"张北县","no":"130722"},{"name":"康保县","no":"130723"},{"name":"沽源县","no":"130724"},{"name":"尚义县","no":"130725"},{"name":"蔚县","no":"130726"},{"name":"阳原县","no":"130727"},{"name":"怀安县","no":"130728"},{"name":"怀来县","no":"130730"},{"name":"涿鹿县","no":"130731"},{"name":"赤城县","no":"130732"},{"name":"张家口市察北管理区","no":"130772"}]},{"name":"承德市","no":"130800","children":[{"name":"双桥区","no":"130802"},{"name":"双滦区","no":"130803"},{"name":"鹰手营子矿区","no":"130804"},{"name":"承德县","no":"130821"},{"name":"兴隆县","no":"130822"},{"name":"滦平县","no":"130824"},{"name":"隆化县","no":"130825"},{"name":"丰宁满族自治县","no":"130826"},{"name":"宽城满族自治县","no":"130827"},{"name":"围场满族蒙古族自治县","no":"130828"},{"name":"承德高新技术产业开发区","no":"130871"},{"name":"平泉市","no":"130881"}]},{"name":"沧州市","no":"130900","children":[{"name":"新华区","no":"130902"},{"name":"运河区","no":"130903"},{"name":"沧县","no":"130921"},{"name":"青县","no":"130922"},{"name":"东光县","no":"130923"},{"name":"海兴县","no":"130924"},{"name":"盐山县","no":"130925"},{"name":"肃宁县","no":"130926"},{"name":"南皮县","no":"130927"},{"name":"吴桥县","no":"130928"},{"name":"献县","no":"130929"},{"name":"孟村回族自治县","no":"130930"},{"name":"河北沧州经济开发区","no":"130971"},{"name":"沧州高新技术产业开发区","no":"130972"},{"name":"沧州渤海新区","no":"130973"},{"name":"泊头市","no":"130981"},{"name":"任丘市","no":"130982"},{"name":"黄骅市","no":"130983"},{"name":"河间市","no":"130984"}]},{"name":"廊坊市","no":"131000","children":[{"name":"安次区","no":"131002"},{"name":"广阳区","no":"131003"},{"name":"固安县","no":"131022"},{"name":"永清县","no":"131023"},{"name":"香河县","no":"131024"},{"name":"大城县","no":"131025"},{"name":"文安县","no":"131026"},{"name":"大厂回族自治县","no":"131028"},{"name":"廊坊经济技术开发区","no":"131071"},{"name":"霸州市","no":"131081"},{"name":"三河市","no":"131082"},{"name":"开发区","no":"131090"}]},{"name":"衡水市","no":"131100","children":[{"name":"桃城区","no":"131102"},{"name":"冀州区","no":"131103"},{"name":"枣强县","no":"131121"},{"name":"武邑县","no":"131122"},{"name":"武强县","no":"131123"},{"name":"饶阳县","no":"131124"},{"name":"安平县","no":"131125"},{"name":"故城县","no":"131126"},{"name":"景县","no":"131127"},{"name":"阜城县","no":"131128"},{"name":"河北衡水经济开发区","no":"131171"},{"name":"衡水滨湖新区","no":"131172"},{"name":"深州市","no":"131182"}]}]},{"name":"山西省","no":"140000","children":[{"name":"太原市","no":"140100","children":[{"name":"小店区","no":"140105"},{"name":"迎泽区","no":"140106"},{"name":"杏花岭区","no":"140107"},{"name":"尖草坪区","no":"140108"},{"name":"万柏林区","no":"140109"},{"name":"晋源区","no":"140110"},{"name":"清徐县","no":"140121"},{"name":"阳曲县","no":"140122"},{"name":"娄烦县","no":"140123"},{"name":"古交市","no":"140181"}]},{"name":"大同市","no":"140200","children":[{"name":"新荣区","no":"140212"},{"name":"平城区","no":"140213"},{"name":"云冈区","no":"140214"},{"name":"云州区","no":"140215"},{"name":"阳高县","no":"140221"},{"name":"天镇县","no":"140222"},{"name":"广灵县","no":"140223"},{"name":"灵丘县","no":"140224"},{"name":"浑源县","no":"140225"},{"name":"左云县","no":"140226"},{"name":"山西大同经济开发区","no":"140271"}]},{"name":"阳泉市","no":"140300","children":[{"name":"城区","no":"140302"},{"name":"矿区","no":"140303"},{"name":"郊区","no":"140311"},{"name":"平定县","no":"140321"},{"name":"盂县","no":"140322"}]},{"name":"长治市","no":"140400","children":[{"name":"潞州区","no":"140403"},{"name":"上党区","no":"140404"},{"name":"屯留区","no":"140405"},{"name":"潞城区","no":"140406"},{"name":"襄垣县","no":"140423"},{"name":"平顺县","no":"140425"},{"name":"黎城县","no":"140426"},{"name":"壶关县","no":"140427"},{"name":"长子县","no":"140428"},{"name":"武乡县","no":"140429"},{"name":"沁县","no":"140430"},{"name":"沁源县","no":"140431"},{"name":"山西长治高新技术产业园区","no":"140471"}]},{"name":"晋城市","no":"140500","children":[{"name":"城区","no":"140502"},{"name":"沁水县","no":"140521"},{"name":"阳城县","no":"140522"},{"name":"陵川县","no":"140524"},{"name":"泽州县","no":"140525"},{"name":"高平市","no":"140581"}]},{"name":"朔州市","no":"140600","children":[{"name":"朔城区","no":"140602"},{"name":"平鲁区","no":"140603"},{"name":"山阴县","no":"140621"},{"name":"应县","no":"140622"},{"name":"右玉县","no":"140623"},{"name":"山西朔州经济开发区","no":"140671"},{"name":"怀仁市","no":"140681"}]},{"name":"晋中市","no":"140700","children":[{"name":"榆次区","no":"140702"},{"name":"太谷区","no":"140703"},{"name":"榆社县","no":"140721"},{"name":"左权县","no":"140722"},{"name":"和顺县","no":"140723"},{"name":"昔阳县","no":"140724"},{"name":"寿阳县","no":"140725"},{"name":"祁县","no":"140727"},{"name":"平遥县","no":"140728"},{"name":"灵石县","no":"140729"},{"name":"介休市","no":"140781"}]},{"name":"运城市","no":"140800","children":[{"name":"盐湖区","no":"140802"},{"name":"临猗县","no":"140821"},{"name":"万荣县","no":"140822"},{"name":"闻喜县","no":"140823"},{"name":"稷山县","no":"140824"},{"name":"新绛县","no":"140825"},{"name":"绛县","no":"140826"},{"name":"垣曲县","no":"140827"},{"name":"夏县","no":"140828"},{"name":"平陆县","no":"140829"},{"name":"芮城县","no":"140830"},{"name":"永济市","no":"140881"},{"name":"河津市","no":"140882"}]},{"name":"忻州市","no":"140900","children":[{"name":"忻府区","no":"140902"},{"name":"定襄县","no":"140921"},{"name":"五台县","no":"140922"},{"name":"代县","no":"140923"},{"name":"繁峙县","no":"140924"},{"name":"宁武县","no":"140925"},{"name":"静乐县","no":"140926"},{"name":"神池县","no":"140927"},{"name":"五寨县","no":"140928"},{"name":"岢岚县","no":"140929"},{"name":"河曲县","no":"140930"},{"name":"保德县","no":"140931"},{"name":"偏关县","no":"140932"},{"name":"五台山风景名胜区","no":"140971"},{"name":"原平市","no":"140981"}]},{"name":"临汾市","no":"141000","children":[{"name":"尧都区","no":"141002"},{"name":"曲沃县","no":"141021"},{"name":"翼城县","no":"141022"},{"name":"襄汾县","no":"141023"},{"name":"洪洞县","no":"141024"},{"name":"古县","no":"141025"},{"name":"安泽县","no":"141026"},{"name":"浮山县","no":"141027"},{"name":"吉县","no":"141028"},{"name":"乡宁县","no":"141029"},{"name":"大宁县","no":"141030"},{"name":"隰县","no":"141031"},{"name":"永和县","no":"141032"},{"name":"蒲县","no":"141033"},{"name":"汾西县","no":"141034"},{"name":"侯马市","no":"141081"},{"name":"霍州市","no":"141082"}]},{"name":"吕梁市","no":"141100","children":[{"name":"离石区","no":"141102"},{"name":"文水县","no":"141121"},{"name":"交城县","no":"141122"},{"name":"兴县","no":"141123"},{"name":"临县","no":"141124"},{"name":"柳林县","no":"141125"},{"name":"石楼县","no":"141126"},{"name":"岚县","no":"141127"},{"name":"方山县","no":"141128"},{"name":"中阳县","no":"141129"},{"name":"交口县","no":"141130"},{"name":"孝义市","no":"141181"},{"name":"汾阳市","no":"141182"}]}]},{"name":"内蒙古自治区","no":"150000","children":[{"name":"呼和浩特市","no":"150100","children":[{"name":"新城区","no":"150102"},{"name":"回民区","no":"150103"},{"name":"玉泉区","no":"150104"},{"name":"赛罕区","no":"150105"},{"name":"土默特左旗","no":"150121"},{"name":"托克托县","no":"150122"},{"name":"和林格尔县","no":"150123"},{"name":"清水河县","no":"150124"},{"name":"武川县","no":"150125"},{"name":"呼和浩特经济技术开发区","no":"150172"}]},{"name":"包头市","no":"150200","children":[{"name":"东河区","no":"150202"},{"name":"昆都仑区","no":"150203"},{"name":"青山区","no":"150204"},{"name":"石拐区","no":"150205"},{"name":"白云鄂博矿区","no":"150206"},{"name":"九原区","no":"150207"},{"name":"土默特右旗","no":"150221"},{"name":"固阳县","no":"150222"},{"name":"达尔罕茂明安联合旗","no":"150223"},{"name":"包头稀土高新技术产业开发区","no":"150271"}]},{"name":"乌海市","no":"150300","children":[{"name":"海勃湾区","no":"150302"},{"name":"海南区","no":"150303"},{"name":"乌达区","no":"150304"}]},{"name":"赤峰市","no":"150400","children":[{"name":"红山区","no":"150402"},{"name":"元宝山区","no":"150403"},{"name":"松山区","no":"150404"},{"name":"阿鲁科尔沁旗","no":"150421"},{"name":"巴林左旗","no":"150422"},{"name":"巴林右旗","no":"150423"},{"name":"林西县","no":"150424"},{"name":"克什克腾旗","no":"150425"},{"name":"翁牛特旗","no":"150426"},{"name":"喀喇沁旗","no":"150428"},{"name":"宁城县","no":"150429"},{"name":"敖汉旗","no":"150430"}]},{"name":"通辽市","no":"150500","children":[{"name":"科尔沁区","no":"150502"},{"name":"科尔沁左翼中旗","no":"150521"},{"name":"科尔沁左翼后旗","no":"150522"},{"name":"开鲁县","no":"150523"},{"name":"库伦旗","no":"150524"},{"name":"奈曼旗","no":"150525"},{"name":"扎鲁特旗","no":"150526"},{"name":"通辽经济技术开发区","no":"150571"},{"name":"霍林郭勒市","no":"150581"}]},{"name":"鄂尔多斯市","no":"150600","children":[{"name":"东胜区","no":"150602"},{"name":"康巴什区","no":"150603"},{"name":"达拉特旗","no":"150621"},{"name":"准格尔旗","no":"150622"},{"name":"鄂托克前旗","no":"150623"},{"name":"鄂托克旗","no":"150624"},{"name":"杭锦旗","no":"150625"},{"name":"乌审旗","no":"150626"},{"name":"伊金霍洛旗","no":"150627"}]},{"name":"呼伦贝尔市","no":"150700","children":[{"name":"海拉尔区","no":"150702"},{"name":"扎赉诺尔区","no":"150703"},{"name":"阿荣旗","no":"150721"},{"name":"莫力达瓦达斡尔族自治旗","no":"150722"},{"name":"鄂伦春自治旗","no":"150723"},{"name":"鄂温克族自治旗","no":"150724"},{"name":"陈巴尔虎旗","no":"150725"},{"name":"新巴尔虎左旗","no":"150726"},{"name":"新巴尔虎右旗","no":"150727"},{"name":"满洲里市","no":"150781"},{"name":"牙克石市","no":"150782"},{"name":"扎兰屯市","no":"150783"},{"name":"额尔古纳市","no":"150784"},{"name":"根河市","no":"150785"}]},{"name":"巴彦淖尔市","no":"150800","children":[{"name":"临河区","no":"150802"},{"name":"五原县","no":"150821"},{"name":"磴口县","no":"150822"},{"name":"乌拉特前旗","no":"150823"},{"name":"乌拉特中旗","no":"150824"},{"name":"乌拉特后旗","no":"150825"},{"name":"杭锦后旗","no":"150826"}]},{"name":"乌兰察布市","no":"150900","children":[{"name":"集宁区","no":"150902"},{"name":"卓资县","no":"150921"},{"name":"化德县","no":"150922"},{"name":"商都县","no":"150923"},{"name":"兴和县","no":"150924"},{"name":"凉城县","no":"150925"},{"name":"察哈尔右翼前旗","no":"150926"},{"name":"察哈尔右翼中旗","no":"150927"},{"name":"察哈尔右翼后旗","no":"150928"},{"name":"四子王旗","no":"150929"},{"name":"丰镇市","no":"150981"}]},{"name":"兴安盟","no":"152200","children":[{"name":"乌兰浩特市","no":"152201"},{"name":"阿尔山市","no":"152202"},{"name":"科尔沁右翼前旗","no":"152221"},{"name":"科尔沁右翼中旗","no":"152222"},{"name":"扎赉特旗","no":"152223"},{"name":"突泉县","no":"152224"}]},{"name":"锡林郭勒盟","no":"152500","children":[{"name":"二连浩特市","no":"152501"},{"name":"锡林浩特市","no":"152502"},{"name":"阿巴嘎旗","no":"152522"},{"name":"苏尼特左旗","no":"152523"},{"name":"苏尼特右旗","no":"152524"},{"name":"东乌珠穆沁旗","no":"152525"},{"name":"西乌珠穆沁旗","no":"152526"},{"name":"太仆寺旗","no":"152527"},{"name":"镶黄旗","no":"152528"},{"name":"正镶白旗","no":"152529"},{"name":"正蓝旗","no":"152530"},{"name":"多伦县","no":"152531"},{"name":"乌拉盖管委会","no":"152571"}]},{"name":"阿拉善盟","no":"152900","children":[{"name":"阿拉善左旗","no":"152921"},{"name":"阿拉善右旗","no":"152922"},{"name":"额济纳旗","no":"152923"},{"name":"内蒙古阿拉善经济开发区","no":"152971"}]}]},{"name":"辽宁省","no":"210000","children":[{"name":"沈阳市","no":"210100","children":[{"name":"和平区","no":"210102"},{"name":"沈河区","no":"210103"},{"name":"大东区","no":"210104"},{"name":"皇姑区","no":"210105"},{"name":"铁西区","no":"210106"},{"name":"苏家屯区","no":"210111"},{"name":"浑南区","no":"210112"},{"name":"沈北新区","no":"210113"},{"name":"于洪区","no":"210114"},{"name":"辽中区","no":"210115"},{"name":"康平县","no":"210123"},{"name":"法库县","no":"210124"},{"name":"新民市","no":"210181"},{"name":"经济技术开发区","no":"210190"}]},{"name":"大连市","no":"210200","children":[{"name":"中山区","no":"210202"},{"name":"西岗区","no":"210203"},{"name":"沙河口区","no":"210204"},{"name":"甘井子区","no":"210211"},{"name":"旅顺口区","no":"210212"},{"name":"金州区","no":"210213"},{"name":"普兰店区","no":"210214"},{"name":"长海县","no":"210224"},{"name":"瓦房店市","no":"210281"},{"name":"庄河市","no":"210283"}]},{"name":"鞍山市","no":"210300","children":[{"name":"铁东区","no":"210302"},{"name":"铁西区","no":"210303"},{"name":"立山区","no":"210304"},{"name":"千山区","no":"210311"},{"name":"台安县","no":"210321"},{"name":"岫岩满族自治县","no":"210323"},{"name":"海城市","no":"210381"},{"name":"高新区","no":"210390"}]},{"name":"抚顺市","no":"210400","children":[{"name":"新抚区","no":"210402"},{"name":"东洲区","no":"210403"},{"name":"望花区","no":"210404"},{"name":"顺城区","no":"210411"},{"name":"抚顺县","no":"210421"},{"name":"新宾满族自治县","no":"210422"},{"name":"清原满族自治县","no":"210423"}]},{"name":"本溪市","no":"210500","children":[{"name":"平山区","no":"210502"},{"name":"溪湖区","no":"210503"},{"name":"明山区","no":"210504"},{"name":"南芬区","no":"210505"},{"name":"本溪满族自治县","no":"210521"},{"name":"桓仁满族自治县","no":"210522"}]},{"name":"丹东市","no":"210600","children":[{"name":"元宝区","no":"210602"},{"name":"振兴区","no":"210603"},{"name":"振安区","no":"210604"},{"name":"宽甸满族自治县","no":"210624"},{"name":"东港市","no":"210681"},{"name":"凤城市","no":"210682"}]},{"name":"锦州市","no":"210700","children":[{"name":"古塔区","no":"210702"},{"name":"凌河区","no":"210703"},{"name":"太和区","no":"210711"},{"name":"黑山县","no":"210726"},{"name":"义县","no":"210727"},{"name":"凌海市","no":"210781"},{"name":"北镇市","no":"210782"},{"name":"经济技术开发区","no":"210793"}]},{"name":"营口市","no":"210800","children":[{"name":"站前区","no":"210802"},{"name":"西市区","no":"210803"},{"name":"鲅鱼圈区","no":"210804"},{"name":"老边区","no":"210811"},{"name":"盖州市","no":"210881"},{"name":"大石桥市","no":"210882"}]},{"name":"阜新市","no":"210900","children":[{"name":"海州区","no":"210902"},{"name":"新邱区","no":"210903"},{"name":"太平区","no":"210904"},{"name":"清河门区","no":"210905"},{"name":"细河区","no":"210911"},{"name":"阜新蒙古族自治县","no":"210921"},{"name":"彰武县","no":"210922"}]},{"name":"辽阳市","no":"211000","children":[{"name":"白塔区","no":"211002"},{"name":"文圣区","no":"211003"},{"name":"宏伟区","no":"211004"},{"name":"弓长岭区","no":"211005"},{"name":"太子河区","no":"211011"},{"name":"辽阳县","no":"211021"},{"name":"灯塔市","no":"211081"}]},{"name":"盘锦市","no":"211100","children":[{"name":"双台子区","no":"211102"},{"name":"兴隆台区","no":"211103"},{"name":"大洼区","no":"211104"},{"name":"盘山县","no":"211122"}]},{"name":"铁岭市","no":"211200","children":[{"name":"银州区","no":"211202"},{"name":"清河区","no":"211204"},{"name":"铁岭县","no":"211221"},{"name":"西丰县","no":"211223"},{"name":"昌图县","no":"211224"},{"name":"调兵山市","no":"211281"},{"name":"开原市","no":"211282"}]},{"name":"朝阳市","no":"211300","children":[{"name":"双塔区","no":"211302"},{"name":"龙城区","no":"211303"},{"name":"朝阳县","no":"211321"},{"name":"建平县","no":"211322"},{"name":"喀喇沁左翼蒙古族自治县","no":"211324"},{"name":"北票市","no":"211381"},{"name":"凌源市","no":"211382"}]},{"name":"葫芦岛市","no":"211400","children":[{"name":"连山区","no":"211402"},{"name":"龙港区","no":"211403"},{"name":"南票区","no":"211404"},{"name":"绥中县","no":"211421"},{"name":"建昌县","no":"211422"},{"name":"兴城市","no":"211481"}]}]},{"name":"吉林省","no":"220000","children":[{"name":"长春市","no":"220100","children":[{"name":"南关区","no":"220102"},{"name":"宽城区","no":"220103"},{"name":"朝阳区","no":"220104"},{"name":"二道区","no":"220105"},{"name":"绿园区","no":"220106"},{"name":"双阳区","no":"220112"},{"name":"九台区","no":"220113"},{"name":"农安县","no":"220122"},{"name":"长春经济技术开发区","no":"220171"},{"name":"长春净月高新技术产业开发区","no":"220172"},{"name":"长春高新技术产业开发区","no":"220173"},{"name":"长春汽车经济技术开发区","no":"220174"},{"name":"榆树市","no":"220182"},{"name":"德惠市","no":"220183"},{"name":"公主岭市","no":"220184"},{"name":"经济技术开发区","no":"220192"}]},{"name":"吉林市","no":"220200","children":[{"name":"昌邑区","no":"220202"},{"name":"龙潭区","no":"220203"},{"name":"船营区","no":"220204"},{"name":"丰满区","no":"220211"},{"name":"永吉县","no":"220221"},{"name":"吉林经济开发区","no":"220271"},{"name":"吉林高新技术产业开发区","no":"220272"},{"name":"蛟河市","no":"220281"},{"name":"桦甸市","no":"220282"},{"name":"舒兰市","no":"220283"},{"name":"磐石市","no":"220284"}]},{"name":"四平市","no":"220300","children":[{"name":"铁西区","no":"220302"},{"name":"铁东区","no":"220303"},{"name":"梨树县","no":"220322"},{"name":"伊通满族自治县","no":"220323"},{"name":"双辽市","no":"220382"}]},{"name":"辽源市","no":"220400","children":[{"name":"龙山区","no":"220402"},{"name":"西安区","no":"220403"},{"name":"东丰县","no":"220421"},{"name":"东辽县","no":"220422"}]},{"name":"通化市","no":"220500","children":[{"name":"东昌区","no":"220502"},{"name":"二道江区","no":"220503"},{"name":"通化县","no":"220521"},{"name":"辉南县","no":"220523"},{"name":"柳河县","no":"220524"},{"name":"梅河口市","no":"220581"},{"name":"集安市","no":"220582"}]},{"name":"白山市","no":"220600","children":[{"name":"浑江区","no":"220602"},{"name":"江源区","no":"220605"},{"name":"抚松县","no":"220621"},{"name":"靖宇县","no":"220622"},{"name":"长白朝鲜族自治县","no":"220623"},{"name":"临江市","no":"220681"}]},{"name":"松原市","no":"220700","children":[{"name":"宁江区","no":"220702"},{"name":"前郭尔罗斯蒙古族自治县","no":"220721"},{"name":"长岭县","no":"220722"},{"name":"乾安县","no":"220723"},{"name":"吉林松原经济开发区","no":"220771"},{"name":"扶余市","no":"220781"}]},{"name":"白城市","no":"220800","children":[{"name":"洮北区","no":"220802"},{"name":"镇赉县","no":"220821"},{"name":"通榆县","no":"220822"},{"name":"吉林白城经济开发区","no":"220871"},{"name":"洮南市","no":"220881"},{"name":"大安市","no":"220882"}]},{"name":"延边朝鲜族自治州","no":"222400","children":[{"name":"延吉市","no":"222401"},{"name":"图们市","no":"222402"},{"name":"敦化市","no":"222403"},{"name":"珲春市","no":"222404"},{"name":"龙井市","no":"222405"},{"name":"和龙市","no":"222406"},{"name":"汪清县","no":"222424"},{"name":"安图县","no":"222426"}]}]},{"name":"黑龙江省","no":"230000","children":[{"name":"哈尔滨市","no":"230100","children":[{"name":"道里区","no":"230102"},{"name":"南岗区","no":"230103"},{"name":"道外区","no":"230104"},{"name":"平房区","no":"230108"},{"name":"松北区","no":"230109"},{"name":"香坊区","no":"230110"},{"name":"呼兰区","no":"230111"},{"name":"阿城区","no":"230112"},{"name":"双城区","no":"230113"},{"name":"依兰县","no":"230123"},{"name":"方正县","no":"230124"},{"name":"宾县","no":"230125"},{"name":"巴彦县","no":"230126"},{"name":"木兰县","no":"230127"},{"name":"通河县","no":"230128"},{"name":"延寿县","no":"230129"},{"name":"尚志市","no":"230183"},{"name":"五常市","no":"230184"}]},{"name":"齐齐哈尔市","no":"230200","children":[{"name":"龙沙区","no":"230202"},{"name":"建华区","no":"230203"},{"name":"铁锋区","no":"230204"},{"name":"昂昂溪区","no":"230205"},{"name":"富拉尔基区","no":"230206"},{"name":"碾子山区","no":"230207"},{"name":"梅里斯达斡尔族区","no":"230208"},{"name":"龙江县","no":"230221"},{"name":"依安县","no":"230223"},{"name":"泰来县","no":"230224"},{"name":"甘南县","no":"230225"},{"name":"富裕县","no":"230227"},{"name":"克山县","no":"230229"},{"name":"克东县","no":"230230"},{"name":"拜泉县","no":"230231"},{"name":"讷河市","no":"230281"}]},{"name":"鸡西市","no":"230300","children":[{"name":"鸡冠区","no":"230302"},{"name":"恒山区","no":"230303"},{"name":"滴道区","no":"230304"},{"name":"梨树区","no":"230305"},{"name":"城子河区","no":"230306"},{"name":"麻山区","no":"230307"},{"name":"鸡东县","no":"230321"},{"name":"虎林市","no":"230381"},{"name":"密山市","no":"230382"}]},{"name":"鹤岗市","no":"230400","children":[{"name":"向阳区","no":"230402"},{"name":"工农区","no":"230403"},{"name":"南山区","no":"230404"},{"name":"兴安区","no":"230405"},{"name":"东山区","no":"230406"},{"name":"兴山区","no":"230407"},{"name":"萝北县","no":"230421"},{"name":"绥滨县","no":"230422"}]},{"name":"双鸭山市","no":"230500","children":[{"name":"尖山区","no":"230502"},{"name":"岭东区","no":"230503"},{"name":"四方台区","no":"230505"},{"name":"宝山区","no":"230506"},{"name":"集贤县","no":"230521"},{"name":"友谊县","no":"230522"},{"name":"宝清县","no":"230523"},{"name":"饶河县","no":"230524"}]},{"name":"大庆市","no":"230600","children":[{"name":"萨尔图区","no":"230602"},{"name":"龙凤区","no":"230603"},{"name":"让胡路区","no":"230604"},{"name":"红岗区","no":"230605"},{"name":"大同区","no":"230606"},{"name":"肇州县","no":"230621"},{"name":"肇源县","no":"230622"},{"name":"林甸县","no":"230623"},{"name":"杜尔伯特蒙古族自治县","no":"230624"},{"name":"大庆高新技术产业开发区","no":"230671"}]},{"name":"伊春市","no":"230700","children":[{"name":"伊美区","no":"230717"},{"name":"乌翠区","no":"230718"},{"name":"友好区","no":"230719"},{"name":"嘉荫县","no":"230722"},{"name":"汤旺县","no":"230723"},{"name":"丰林县","no":"230724"},{"name":"大箐山县","no":"230725"},{"name":"南岔县","no":"230726"},{"name":"金林区","no":"230751"},{"name":"铁力市","no":"230781"}]},{"name":"佳木斯市","no":"230800","children":[{"name":"向阳区","no":"230803"},{"name":"前进区","no":"230804"},{"name":"东风区","no":"230805"},{"name":"郊区","no":"230811"},{"name":"桦南县","no":"230822"},{"name":"桦川县","no":"230826"},{"name":"汤原县","no":"230828"},{"name":"同江市","no":"230881"},{"name":"富锦市","no":"230882"},{"name":"抚远市","no":"230883"}]},{"name":"七台河市","no":"230900","children":[{"name":"新兴区","no":"230902"},{"name":"桃山区","no":"230903"},{"name":"茄子河区","no":"230904"},{"name":"勃利县","no":"230921"}]},{"name":"牡丹江市","no":"231000","children":[{"name":"东安区","no":"231002"},{"name":"阳明区","no":"231003"},{"name":"爱民区","no":"231004"},{"name":"西安区","no":"231005"},{"name":"林口县","no":"231025"},{"name":"绥芬河市","no":"231081"},{"name":"海林市","no":"231083"},{"name":"宁安市","no":"231084"},{"name":"穆棱市","no":"231085"},{"name":"东宁市","no":"231086"}]},{"name":"黑河市","no":"231100","children":[{"name":"爱辉区","no":"231102"},{"name":"逊克县","no":"231123"},{"name":"孙吴县","no":"231124"},{"name":"北安市","no":"231181"},{"name":"五大连池市","no":"231182"},{"name":"嫩江市","no":"231183"}]},{"name":"绥化市","no":"231200","children":[{"name":"北林区","no":"231202"},{"name":"望奎县","no":"231221"},{"name":"兰西县","no":"231222"},{"name":"青冈县","no":"231223"},{"name":"庆安县","no":"231224"},{"name":"明水县","no":"231225"},{"name":"绥棱县","no":"231226"},{"name":"安达市","no":"231281"},{"name":"肇东市","no":"231282"},{"name":"海伦市","no":"231283"}]},{"name":"大兴安岭地区","no":"232700","children":[{"name":"漠河市","no":"232701"},{"name":"呼玛县","no":"232721"},{"name":"塔河县","no":"232722"},{"name":"加格达奇区","no":"232761"},{"name":"松岭区","no":"232762"},{"name":"新林区","no":"232763"},{"name":"呼中区","no":"232764"}]}]},{"name":"上海市","no":"310000","children":[{"name":"上海市","no":"310100","children":[{"name":"黄浦区","no":"310101"},{"name":"徐汇区","no":"310104"},{"name":"长宁区","no":"310105"},{"name":"静安区","no":"310106"},{"name":"普陀区","no":"310107"},{"name":"虹口区","no":"310109"},{"name":"杨浦区","no":"310110"},{"name":"闵行区","no":"310112"},{"name":"宝山区","no":"310113"},{"name":"嘉定区","no":"310114"},{"name":"浦东新区","no":"310115"},{"name":"金山区","no":"310116"},{"name":"松江区","no":"310117"},{"name":"青浦区","no":"310118"},{"name":"奉贤区","no":"310120"},{"name":"崇明区","no":"310151"}]}]},{"name":"江苏省","no":"320000","children":[{"name":"南京市","no":"320100","children":[{"name":"玄武区","no":"320102"},{"name":"秦淮区","no":"320104"},{"name":"建邺区","no":"320105"},{"name":"鼓楼区","no":"320106"},{"name":"浦口区","no":"320111"},{"name":"江北新区","no":"320112"},{"name":"栖霞区","no":"320113"},{"name":"雨花台区","no":"320114"},{"name":"江宁区","no":"320115"},{"name":"六合区","no":"320116"},{"name":"溧水区","no":"320117"},{"name":"高淳区","no":"320118"}]},{"name":"无锡市","no":"320200","children":[{"name":"锡山区","no":"320205"},{"name":"惠山区","no":"320206"},{"name":"滨湖区","no":"320211"},{"name":"梁溪区","no":"320213"},{"name":"新吴区","no":"320214"},{"name":"江阴市","no":"320281"},{"name":"宜兴市","no":"320282"}]},{"name":"徐州市","no":"320300","children":[{"name":"鼓楼区","no":"320302"},{"name":"云龙区","no":"320303"},{"name":"贾汪区","no":"320305"},{"name":"泉山区","no":"320311"},{"name":"铜山区","no":"320312"},{"name":"丰县","no":"320321"},{"name":"沛县","no":"320322"},{"name":"睢宁县","no":"320324"},{"name":"徐州经济技术开发区","no":"320371"},{"name":"新沂市","no":"320381"},{"name":"邳州市","no":"320382"},{"name":"工业园区","no":"320391"}]},{"name":"常州市","no":"320400","children":[{"name":"天宁区","no":"320402"},{"name":"钟楼区","no":"320404"},{"name":"新北区","no":"320411"},{"name":"武进区","no":"320412"},{"name":"金坛区","no":"320413"},{"name":"溧阳市","no":"320481"}]},{"name":"苏州市","no":"320500","children":[{"name":"虎丘区","no":"320505"},{"name":"吴中区","no":"320506"},{"name":"相城区","no":"320507"},{"name":"姑苏区","no":"320508"},{"name":"吴江区","no":"320509"},{"name":"苏州工业园区","no":"320571"},{"name":"常熟市","no":"320581"},{"name":"张家港市","no":"320582"},{"name":"昆山市","no":"320583"},{"name":"太仓市","no":"320585"},{"name":"工业园区","no":"320590"},{"name":"高新区","no":"320591"}]},{"name":"南通市","no":"320600","children":[{"name":"港闸区","no":"320611"},{"name":"通州区","no":"320612"},{"name":"崇川区","no":"320613"},{"name":"海门区","no":"320614"},{"name":"如东县","no":"320623"},{"name":"启东市","no":"320681"},{"name":"如皋市","no":"320682"},{"name":"海安市","no":"320685"},{"name":"高新区","no":"320691"}]},{"name":"连云港市","no":"320700","children":[{"name":"连云区","no":"320703"},{"name":"海州区","no":"320706"},{"name":"赣榆区","no":"320707"},{"name":"东海县","no":"320722"},{"name":"灌云县","no":"320723"},{"name":"灌南县","no":"320724"},{"name":"连云港经济技术开发区","no":"320771"}]},{"name":"淮安市","no":"320800","children":[{"name":"淮安区","no":"320803"},{"name":"淮阴区","no":"320804"},{"name":"清江浦区","no":"320812"},{"name":"洪泽区","no":"320813"},{"name":"涟水县","no":"320826"},{"name":"盱眙县","no":"320830"},{"name":"金湖县","no":"320831"},{"name":"淮安经济技术开发区","no":"320871"},{"name":"经济开发区","no":"320890"}]},{"name":"盐城市","no":"320900","children":[{"name":"亭湖区","no":"320902"},{"name":"盐都区","no":"320903"},{"name":"大丰区","no":"320904"},{"name":"响水县","no":"320921"},{"name":"滨海县","no":"320922"},{"name":"阜宁县","no":"320923"},{"name":"射阳县","no":"320924"},{"name":"建湖县","no":"320925"},{"name":"盐城经济技术开发区","no":"320971"},{"name":"东台市","no":"320981"}]},{"name":"扬州市","no":"321000","children":[{"name":"广陵区","no":"321002"},{"name":"邗江区","no":"321003"},{"name":"江都区","no":"321012"},{"name":"宝应县","no":"321023"},{"name":"扬州经济技术开发区","no":"321071"},{"name":"仪征市","no":"321081"},{"name":"高邮市","no":"321084"},{"name":"经济开发区","no":"321090"}]},{"name":"镇江市","no":"321100","children":[{"name":"京口区","no":"321102"},{"name":"润州区","no":"321111"},{"name":"丹徒区","no":"321112"},{"name":"镇江新区","no":"321150"},{"name":"丹阳市","no":"321181"},{"name":"扬中市","no":"321182"},{"name":"句容市","no":"321183"}]},{"name":"泰州市","no":"321200","children":[{"name":"海陵区","no":"321202"},{"name":"高港区","no":"321203"},{"name":"姜堰区","no":"321204"},{"name":"泰州医药高新技术产业开发区","no":"321271"},{"name":"兴化市","no":"321281"},{"name":"靖江市","no":"321282"},{"name":"泰兴市","no":"321283"}]},{"name":"宿迁市","no":"321300","children":[{"name":"宿城区","no":"321302"},{"name":"宿豫区","no":"321311"},{"name":"沭阳县","no":"321322"},{"name":"泗阳县","no":"321323"},{"name":"泗洪县","no":"321324"},{"name":"宿迁经济技术开发区","no":"321371"}]}]},{"name":"浙江省","no":"330000","children":[{"name":"杭州市","no":"330100","children":[{"name":"上城区","no":"330102"},{"name":"拱墅区","no":"330105"},{"name":"西湖区","no":"330106"},{"name":"滨江区","no":"330108"},{"name":"萧山区","no":"330109"},{"name":"余杭区","no":"330110"},{"name":"富阳区","no":"330111"},{"name":"临安区","no":"330112"},{"name":"临平区","no":"330113"},{"name":"钱塘区","no":"330114"},{"name":"桐庐县","no":"330122"},{"name":"淳安县","no":"330127"},{"name":"建德市","no":"330182"}]},{"name":"宁波市","no":"330200","children":[{"name":"海曙区","no":"330203"},{"name":"江北区","no":"330205"},{"name":"北仑区","no":"330206"},{"name":"镇海区","no":"330211"},{"name":"鄞州区","no":"330212"},{"name":"奉化区","no":"330213"},{"name":"象山县","no":"330225"},{"name":"宁海县","no":"330226"},{"name":"余姚市","no":"330281"},{"name":"慈溪市","no":"330282"}]},{"name":"温州市","no":"330300","children":[{"name":"鹿城区","no":"330302"},{"name":"龙湾区","no":"330303"},{"name":"瓯海区","no":"330304"},{"name":"洞头区","no":"330305"},{"name":"永嘉县","no":"330324"},{"name":"平阳县","no":"330326"},{"name":"苍南县","no":"330327"},{"name":"文成县","no":"330328"},{"name":"泰顺县","no":"330329"},{"name":"瑞安市","no":"330381"},{"name":"乐清市","no":"330382"},{"name":"龙港市","no":"330383"}]},{"name":"嘉兴市","no":"330400","children":[{"name":"南湖区","no":"330402"},{"name":"秀洲区","no":"330411"},{"name":"嘉善县","no":"330421"},{"name":"海盐县","no":"330424"},{"name":"海宁市","no":"330481"},{"name":"平湖市","no":"330482"},{"name":"桐乡市","no":"330483"}]},{"name":"湖州市","no":"330500","children":[{"name":"吴兴区","no":"330502"},{"name":"南浔区","no":"330503"},{"name":"德清县","no":"330521"},{"name":"长兴县","no":"330522"},{"name":"安吉县","no":"330523"}]},{"name":"绍兴市","no":"330600","children":[{"name":"越城区","no":"330602"},{"name":"柯桥区","no":"330603"},{"name":"上虞区","no":"330604"},{"name":"新昌县","no":"330624"},{"name":"诸暨市","no":"330681"},{"name":"嵊州市","no":"330683"}]},{"name":"金华市","no":"330700","children":[{"name":"婺城区","no":"330702"},{"name":"金东区","no":"330703"},{"name":"武义县","no":"330723"},{"name":"浦江县","no":"330726"},{"name":"磐安县","no":"330727"},{"name":"兰溪市","no":"330781"},{"name":"义乌市","no":"330782"},{"name":"东阳市","no":"330783"},{"name":"永康市","no":"330784"}]},{"name":"衢州市","no":"330800","children":[{"name":"柯城区","no":"330802"},{"name":"衢江区","no":"330803"},{"name":"常山县","no":"330822"},{"name":"开化县","no":"330824"},{"name":"龙游县","no":"330825"},{"name":"江山市","no":"330881"}]},{"name":"舟山市","no":"330900","children":[{"name":"定海区","no":"330902"},{"name":"普陀区","no":"330903"},{"name":"岱山县","no":"330921"},{"name":"嵊泗县","no":"330922"}]},{"name":"台州市","no":"331000","children":[{"name":"椒江区","no":"331002"},{"name":"黄岩区","no":"331003"},{"name":"路桥区","no":"331004"},{"name":"三门县","no":"331022"},{"name":"天台县","no":"331023"},{"name":"仙居县","no":"331024"},{"name":"温岭市","no":"331081"},{"name":"临海市","no":"331082"},{"name":"玉环市","no":"331083"}]},{"name":"丽水市","no":"331100","children":[{"name":"莲都区","no":"331102"},{"name":"青田县","no":"331121"},{"name":"缙云县","no":"331122"},{"name":"遂昌县","no":"331123"},{"name":"松阳县","no":"331124"},{"name":"云和县","no":"331125"},{"name":"庆元县","no":"331126"},{"name":"景宁畲族自治县","no":"331127"},{"name":"龙泉市","no":"331181"}]}]},{"name":"安徽省","no":"340000","children":[{"name":"合肥市","no":"340100","children":[{"name":"瑶海区","no":"340102"},{"name":"庐阳区","no":"340103"},{"name":"蜀山区","no":"340104"},{"name":"包河区","no":"340111"},{"name":"长丰县","no":"340121"},{"name":"肥东县","no":"340122"},{"name":"肥西县","no":"340123"},{"name":"庐江县","no":"340124"},{"name":"合肥高新技术产业开发区","no":"340171"},{"name":"合肥经济技术开发区","no":"340172"},{"name":"合肥新站高新技术产业开发区","no":"340173"},{"name":"巢湖市","no":"340181"},{"name":"高新技术开发区","no":"340190"},{"name":"经济技术开发区","no":"340191"}]},{"name":"芜湖市","no":"340200","children":[{"name":"镜湖区","no":"340202"},{"name":"鸠江区","no":"340207"},{"name":"弋江区","no":"340209"},{"name":"湾沚区","no":"340210"},{"name":"繁昌区","no":"340212"},{"name":"南陵县","no":"340223"},{"name":"无为市","no":"340281"}]},{"name":"蚌埠市","no":"340300","children":[{"name":"龙子湖区","no":"340302"},{"name":"蚌山区","no":"340303"},{"name":"禹会区","no":"340304"},{"name":"淮上区","no":"340311"},{"name":"怀远县","no":"340321"},{"name":"五河县","no":"340322"},{"name":"固镇县","no":"340323"},{"name":"蚌埠市高新技术开发区","no":"340371"},{"name":"蚌埠市经济开发区","no":"340372"}]},{"name":"淮南市","no":"340400","children":[{"name":"大通区","no":"340402"},{"name":"田家庵区","no":"340403"},{"name":"谢家集区","no":"340404"},{"name":"八公山区","no":"340405"},{"name":"潘集区","no":"340406"},{"name":"凤台县","no":"340421"},{"name":"寿县","no":"340422"}]},{"name":"马鞍山市","no":"340500","children":[{"name":"花山区","no":"340503"},{"name":"雨山区","no":"340504"},{"name":"博望区","no":"340506"},{"name":"当涂县","no":"340521"},{"name":"含山县","no":"340522"},{"name":"和县","no":"340523"}]},{"name":"淮北市","no":"340600","children":[{"name":"杜集区","no":"340602"},{"name":"相山区","no":"340603"},{"name":"烈山区","no":"340604"},{"name":"濉溪县","no":"340621"}]},{"name":"铜陵市","no":"340700","children":[{"name":"铜官区","no":"340705"},{"name":"义安区","no":"340706"},{"name":"郊区","no":"340711"},{"name":"枞阳县","no":"340722"}]},{"name":"安庆市","no":"340800","children":[{"name":"迎江区","no":"340802"},{"name":"大观区","no":"340803"},{"name":"宜秀区","no":"340811"},{"name":"怀宁县","no":"340822"},{"name":"太湖县","no":"340825"},{"name":"宿松县","no":"340826"},{"name":"望江县","no":"340827"},{"name":"岳西县","no":"340828"},{"name":"桐城市","no":"340881"},{"name":"潜山市","no":"340882"}]},{"name":"黄山市","no":"341000","children":[{"name":"屯溪区","no":"341002"},{"name":"黄山区","no":"341003"},{"name":"徽州区","no":"341004"},{"name":"歙县","no":"341021"},{"name":"休宁县","no":"341022"},{"name":"黟县","no":"341023"},{"name":"祁门县","no":"341024"}]},{"name":"滁州市","no":"341100","children":[{"name":"琅琊区","no":"341102"},{"name":"南谯区","no":"341103"},{"name":"来安县","no":"341122"},{"name":"全椒县","no":"341124"},{"name":"定远县","no":"341125"},{"name":"凤阳县","no":"341126"},{"name":"天长市","no":"341181"},{"name":"明光市","no":"341182"}]},{"name":"阜阳市","no":"341200","children":[{"name":"颍州区","no":"341202"},{"name":"颍东区","no":"341203"},{"name":"颍泉区","no":"341204"},{"name":"临泉县","no":"341221"},{"name":"太和县","no":"341222"},{"name":"阜南县","no":"341225"},{"name":"颍上县","no":"341226"},{"name":"阜阳合肥现代产业园区","no":"341271"},{"name":"界首市","no":"341282"}]},{"name":"宿州市","no":"341300","children":[{"name":"埇桥区","no":"341302"},{"name":"砀山县","no":"341321"},{"name":"萧县","no":"341322"},{"name":"灵璧县","no":"341323"},{"name":"泗县","no":"341324"},{"name":"宿州马鞍山现代产业园区","no":"341371"},{"name":"宿州经济技术开发区","no":"341372"},{"name":"经济开发区","no":"341390"}]},{"name":"六安市","no":"341500","children":[{"name":"金安区","no":"341502"},{"name":"裕安区","no":"341503"},{"name":"叶集区","no":"341504"},{"name":"霍邱县","no":"341522"},{"name":"舒城县","no":"341523"},{"name":"金寨县","no":"341524"},{"name":"霍山县","no":"341525"}]},{"name":"亳州市","no":"341600","children":[{"name":"谯城区","no":"341602"},{"name":"涡阳县","no":"341621"},{"name":"蒙城县","no":"341622"},{"name":"利辛县","no":"341623"}]},{"name":"池州市","no":"341700","children":[{"name":"贵池区","no":"341702"},{"name":"东至县","no":"341721"},{"name":"石台县","no":"341722"},{"name":"青阳县","no":"341723"}]},{"name":"宣城市","no":"341800","children":[{"name":"宣州区","no":"341802"},{"name":"郎溪县","no":"341821"},{"name":"泾县","no":"341823"},{"name":"绩溪县","no":"341824"},{"name":"旌德县","no":"341825"},{"name":"宣城市经济开发区","no":"341871"},{"name":"宁国市","no":"341881"},{"name":"广德市","no":"341882"}]}]},{"name":"福建省","no":"350000","children":[{"name":"福州市","no":"350100","children":[{"name":"鼓楼区","no":"350102"},{"name":"台江区","no":"350103"},{"name":"仓山区","no":"350104"},{"name":"马尾区","no":"350105"},{"name":"晋安区","no":"350111"},{"name":"长乐区","no":"350112"},{"name":"闽侯县","no":"350121"},{"name":"连江县","no":"350122"},{"name":"罗源县","no":"350123"},{"name":"闽清县","no":"350124"},{"name":"永泰县","no":"350125"},{"name":"平潭县","no":"350128"},{"name":"福清市","no":"350181"}]},{"name":"厦门市","no":"350200","children":[{"name":"思明区","no":"350203"},{"name":"海沧区","no":"350205"},{"name":"湖里区","no":"350206"},{"name":"集美区","no":"350211"},{"name":"同安区","no":"350212"},{"name":"翔安区","no":"350213"}]},{"name":"莆田市","no":"350300","children":[{"name":"城厢区","no":"350302"},{"name":"涵江区","no":"350303"},{"name":"荔城区","no":"350304"},{"name":"秀屿区","no":"350305"},{"name":"仙游县","no":"350322"}]},{"name":"三明市","no":"350400","children":[{"name":"梅列区","no":"350402"},{"name":"三元区","no":"350404"},{"name":"沙县区","no":"350405"},{"name":"明溪县","no":"350421"},{"name":"清流县","no":"350423"},{"name":"宁化县","no":"350424"},{"name":"大田县","no":"350425"},{"name":"尤溪县","no":"350426"},{"name":"将乐县","no":"350428"},{"name":"泰宁县","no":"350429"},{"name":"建宁县","no":"350430"},{"name":"永安市","no":"350481"}]},{"name":"泉州市","no":"350500","children":[{"name":"鲤城区","no":"350502"},{"name":"丰泽区","no":"350503"},{"name":"洛江区","no":"350504"},{"name":"泉港区","no":"350505"},{"name":"惠安县","no":"350521"},{"name":"安溪县","no":"350524"},{"name":"永春县","no":"350525"},{"name":"德化县","no":"350526"},{"name":"金门县","no":"350527"},{"name":"石狮市","no":"350581"},{"name":"晋江市","no":"350582"},{"name":"南安市","no":"350583"}]},{"name":"漳州市","no":"350600","children":[{"name":"芗城区","no":"350602"},{"name":"龙文区","no":"350603"},{"name":"龙海区","no":"350604"},{"name":"长泰区","no":"350605"},{"name":"云霄县","no":"350622"},{"name":"漳浦县","no":"350623"},{"name":"诏安县","no":"350624"},{"name":"东山县","no":"350626"},{"name":"南靖县","no":"350627"},{"name":"平和县","no":"350628"},{"name":"华安县","no":"350629"}]},{"name":"南平市","no":"350700","children":[{"name":"延平区","no":"350702"},{"name":"建阳区","no":"350703"},{"name":"顺昌县","no":"350721"},{"name":"浦城县","no":"350722"},{"name":"光泽县","no":"350723"},{"name":"松溪县","no":"350724"},{"name":"政和县","no":"350725"},{"name":"邵武市","no":"350781"},{"name":"武夷山市","no":"350782"},{"name":"建瓯市","no":"350783"}]},{"name":"龙岩市","no":"350800","children":[{"name":"新罗区","no":"350802"},{"name":"永定区","no":"350803"},{"name":"长汀县","no":"350821"},{"name":"上杭县","no":"350823"},{"name":"武平县","no":"350824"},{"name":"连城县","no":"350825"},{"name":"漳平市","no":"350881"}]},{"name":"宁德市","no":"350900","children":[{"name":"蕉城区","no":"350902"},{"name":"霞浦县","no":"350921"},{"name":"古田县","no":"350922"},{"name":"屏南县","no":"350923"},{"name":"寿宁县","no":"350924"},{"name":"周宁县","no":"350925"},{"name":"柘荣县","no":"350926"},{"name":"福安市","no":"350981"},{"name":"福鼎市","no":"350982"}]}]},{"name":"江西省","no":"360000","children":[{"name":"南昌市","no":"360100","children":[{"name":"东湖区","no":"360102"},{"name":"西湖区","no":"360103"},{"name":"青云谱区","no":"360104"},{"name":"青山湖区","no":"360111"},{"name":"新建区","no":"360112"},{"name":"红谷滩区","no":"360113"},{"name":"南昌县","no":"360121"},{"name":"安义县","no":"360123"},{"name":"进贤县","no":"360124"},{"name":"经济技术开发区","no":"360190"},{"name":"高新区","no":"360192"}]},{"name":"景德镇市","no":"360200","children":[{"name":"昌江区","no":"360202"},{"name":"珠山区","no":"360203"},{"name":"浮梁县","no":"360222"},{"name":"乐平市","no":"360281"}]},{"name":"萍乡市","no":"360300","children":[{"name":"安源区","no":"360302"},{"name":"湘东区","no":"360313"},{"name":"莲花县","no":"360321"},{"name":"上栗县","no":"360322"},{"name":"芦溪县","no":"360323"}]},{"name":"九江市","no":"360400","children":[{"name":"濂溪区","no":"360402"},{"name":"浔阳区","no":"360403"},{"name":"柴桑区","no":"360404"},{"name":"武宁县","no":"360423"},{"name":"修水县","no":"360424"},{"name":"永修县","no":"360425"},{"name":"德安县","no":"360426"},{"name":"都昌县","no":"360428"},{"name":"湖口县","no":"360429"},{"name":"彭泽县","no":"360430"},{"name":"瑞昌市","no":"360481"},{"name":"共青城市","no":"360482"},{"name":"庐山市","no":"360483"},{"name":"经济技术开发区","no":"360490"}]},{"name":"新余市","no":"360500","children":[{"name":"渝水区","no":"360502"},{"name":"分宜县","no":"360521"}]},{"name":"鹰潭市","no":"360600","children":[{"name":"月湖区","no":"360602"},{"name":"余江区","no":"360603"},{"name":"贵溪市","no":"360681"}]},{"name":"赣州市","no":"360700","children":[{"name":"章贡区","no":"360702"},{"name":"南康区","no":"360703"},{"name":"赣县区","no":"360704"},{"name":"信丰县","no":"360722"},{"name":"大余县","no":"360723"},{"name":"上犹县","no":"360724"},{"name":"崇义县","no":"360725"},{"name":"安远县","no":"360726"},{"name":"定南县","no":"360728"},{"name":"全南县","no":"360729"},{"name":"宁都县","no":"360730"},{"name":"于都县","no":"360731"},{"name":"兴国县","no":"360732"},{"name":"会昌县","no":"360733"},{"name":"寻乌县","no":"360734"},{"name":"石城县","no":"360735"},{"name":"瑞金市","no":"360781"},{"name":"龙南市","no":"360783"}]},{"name":"吉安市","no":"360800","children":[{"name":"吉州区","no":"360802"},{"name":"青原区","no":"360803"},{"name":"吉安县","no":"360821"},{"name":"吉水县","no":"360822"},{"name":"峡江县","no":"360823"},{"name":"新干县","no":"360824"},{"name":"永丰县","no":"360825"},{"name":"泰和县","no":"360826"},{"name":"遂川县","no":"360827"},{"name":"万安县","no":"360828"},{"name":"安福县","no":"360829"},{"name":"永新县","no":"360830"},{"name":"井冈山市","no":"360881"}]},{"name":"宜春市","no":"360900","children":[{"name":"袁州区","no":"360902"},{"name":"奉新县","no":"360921"},{"name":"万载县","no":"360922"},{"name":"上高县","no":"360923"},{"name":"宜丰县","no":"360924"},{"name":"靖安县","no":"360925"},{"name":"铜鼓县","no":"360926"},{"name":"丰城市","no":"360981"},{"name":"樟树市","no":"360982"},{"name":"高安市","no":"360983"}]},{"name":"抚州市","no":"361000","children":[{"name":"临川区","no":"361002"},{"name":"东乡区","no":"361003"},{"name":"南城县","no":"361021"},{"name":"黎川县","no":"361022"},{"name":"南丰县","no":"361023"},{"name":"崇仁县","no":"361024"},{"name":"乐安县","no":"361025"},{"name":"宜黄县","no":"361026"},{"name":"金溪县","no":"361027"},{"name":"资溪县","no":"361028"},{"name":"广昌县","no":"361030"}]},{"name":"上饶市","no":"361100","children":[{"name":"信州区","no":"361102"},{"name":"广丰区","no":"361103"},{"name":"广信区","no":"361104"},{"name":"玉山县","no":"361123"},{"name":"铅山县","no":"361124"},{"name":"横峰县","no":"361125"},{"name":"弋阳县","no":"361126"},{"name":"余干县","no":"361127"},{"name":"鄱阳县","no":"361128"},{"name":"万年县","no":"361129"},{"name":"婺源县","no":"361130"},{"name":"德兴市","no":"361181"}]}]},{"name":"山东省","no":"370000","children":[{"name":"济南市","no":"370100","children":[{"name":"历下区","no":"370102"},{"name":"市中区","no":"370103"},{"name":"槐荫区","no":"370104"},{"name":"天桥区","no":"370105"},{"name":"历城区","no":"370112"},{"name":"长清区","no":"370113"},{"name":"章丘区","no":"370114"},{"name":"济阳区","no":"370115"},{"name":"莱芜区","no":"370116"},{"name":"钢城区","no":"370117"},{"name":"平阴县","no":"370124"},{"name":"商河县","no":"370126"},{"name":"济南高新技术产业开发区","no":"370171"},{"name":"高新区","no":"370190"}]},{"name":"青岛市","no":"370200","children":[{"name":"市南区","no":"370202"},{"name":"市北区","no":"370203"},{"name":"黄岛区","no":"370211"},{"name":"崂山区","no":"370212"},{"name":"李沧区","no":"370213"},{"name":"城阳区","no":"370214"},{"name":"即墨区","no":"370215"},{"name":"青岛高新技术产业开发区","no":"370271"},{"name":"胶州市","no":"370281"},{"name":"平度市","no":"370283"},{"name":"莱西市","no":"370285"},{"name":"开发区","no":"370290"}]},{"name":"淄博市","no":"370300","children":[{"name":"淄川区","no":"370302"},{"name":"张店区","no":"370303"},{"name":"博山区","no":"370304"},{"name":"临淄区","no":"370305"},{"name":"周村区","no":"370306"},{"name":"桓台县","no":"370321"},{"name":"高青县","no":"370322"},{"name":"沂源县","no":"370323"}]},{"name":"枣庄市","no":"370400","children":[{"name":"市中区","no":"370402"},{"name":"薛城区","no":"370403"},{"name":"峄城区","no":"370404"},{"name":"台儿庄区","no":"370405"},{"name":"山亭区","no":"370406"},{"name":"滕州市","no":"370481"}]},{"name":"东营市","no":"370500","children":[{"name":"东营区","no":"370502"},{"name":"河口区","no":"370503"},{"name":"垦利区","no":"370505"},{"name":"利津县","no":"370522"},{"name":"广饶县","no":"370523"},{"name":"东营经济技术开发区","no":"370571"},{"name":"东营港经济开发区","no":"370572"}]},{"name":"烟台市","no":"370600","children":[{"name":"芝罘区","no":"370602"},{"name":"福山区","no":"370611"},{"name":"牟平区","no":"370612"},{"name":"莱山区","no":"370613"},{"name":"蓬莱区","no":"370614"},{"name":"长岛县","no":"370634"},{"name":"烟台高新技术产业开发区","no":"370671"},{"name":"烟台经济技术开发区","no":"370672"},{"name":"龙口市","no":"370681"},{"name":"莱阳市","no":"370682"},{"name":"莱州市","no":"370683"},{"name":"招远市","no":"370685"},{"name":"栖霞市","no":"370686"},{"name":"海阳市","no":"370687"},{"name":"开发区","no":"370690"}]},{"name":"潍坊市","no":"370700","children":[{"name":"潍城区","no":"370702"},{"name":"寒亭区","no":"370703"},{"name":"坊子区","no":"370704"},{"name":"奎文区","no":"370705"},{"name":"临朐县","no":"370724"},{"name":"昌乐县","no":"370725"},{"name":"潍坊滨海经济技术开发区","no":"370772"},{"name":"青州市","no":"370781"},{"name":"诸城市","no":"370782"},{"name":"寿光市","no":"370783"},{"name":"安丘市","no":"370784"},{"name":"高密市","no":"370785"},{"name":"昌邑市","no":"370786"},{"name":"开发区","no":"370790"},{"name":"高新区","no":"370791"}]},{"name":"济宁市","no":"370800","children":[{"name":"任城区","no":"370811"},{"name":"兖州区","no":"370812"},{"name":"微山县","no":"370826"},{"name":"鱼台县","no":"370827"},{"name":"金乡县","no":"370828"},{"name":"嘉祥县","no":"370829"},{"name":"汶上县","no":"370830"},{"name":"泗水县","no":"370831"},{"name":"梁山县","no":"370832"},{"name":"济宁高新技术产业开发区","no":"370871"},{"name":"曲阜市","no":"370881"},{"name":"邹城市","no":"370883"},{"name":"高新区","no":"370890"}]},{"name":"泰安市","no":"370900","children":[{"name":"泰山区","no":"370902"},{"name":"岱岳区","no":"370911"},{"name":"宁阳县","no":"370921"},{"name":"东平县","no":"370923"},{"name":"新泰市","no":"370982"},{"name":"肥城市","no":"370983"}]},{"name":"威海市","no":"371000","children":[{"name":"环翠区","no":"371002"},{"name":"文登区","no":"371003"},{"name":"威海火炬高技术产业开发区","no":"371071"},{"name":"威海经济技术开发区","no":"371072"},{"name":"荣成市","no":"371082"},{"name":"乳山市","no":"371083"},{"name":"经济技术开发区","no":"371091"}]},{"name":"日照市","no":"371100","children":[{"name":"东港区","no":"371102"},{"name":"岚山区","no":"371103"},{"name":"五莲县","no":"371121"},{"name":"莒县","no":"371122"},{"name":"日照经济技术开发区","no":"371171"}]},{"name":"临沂市","no":"371300","children":[{"name":"兰山区","no":"371302"},{"name":"罗庄区","no":"371311"},{"name":"河东区","no":"371312"},{"name":"沂南县","no":"371321"},{"name":"郯城县","no":"371322"},{"name":"沂水县","no":"371323"},{"name":"兰陵县","no":"371324"},{"name":"费县","no":"371325"},{"name":"平邑县","no":"371326"},{"name":"莒南县","no":"371327"},{"name":"蒙阴县","no":"371328"},{"name":"临沭县","no":"371329"},{"name":"临沂高新技术产业开发区","no":"371371"}]},{"name":"德州市","no":"371400","children":[{"name":"德城区","no":"371402"},{"name":"陵城区","no":"371403"},{"name":"宁津县","no":"371422"},{"name":"庆云县","no":"371423"},{"name":"临邑县","no":"371424"},{"name":"齐河县","no":"371425"},{"name":"平原县","no":"371426"},{"name":"夏津县","no":"371427"},{"name":"武城县","no":"371428"},{"name":"德州运河经济开发区","no":"371472"},{"name":"乐陵市","no":"371481"},{"name":"禹城市","no":"371482"}]},{"name":"聊城市","no":"371500","children":[{"name":"东昌府区","no":"371502"},{"name":"茌平区","no":"371503"},{"name":"阳谷县","no":"371521"},{"name":"莘县","no":"371522"},{"name":"东阿县","no":"371524"},{"name":"冠县","no":"371525"},{"name":"高唐县","no":"371526"},{"name":"临清市","no":"371581"}]},{"name":"滨州市","no":"371600","children":[{"name":"滨城区","no":"371602"},{"name":"沾化区","no":"371603"},{"name":"惠民县","no":"371621"},{"name":"阳信县","no":"371622"},{"name":"无棣县","no":"371623"},{"name":"博兴县","no":"371625"},{"name":"邹平市","no":"371681"}]},{"name":"菏泽市","no":"371700","children":[{"name":"牡丹区","no":"371702"},{"name":"定陶区","no":"371703"},{"name":"曹县","no":"371721"},{"name":"单县","no":"371722"},{"name":"成武县","no":"371723"},{"name":"巨野县","no":"371724"},{"name":"郓城县","no":"371725"},{"name":"鄄城县","no":"371726"},{"name":"东明县","no":"371728"},{"name":"菏泽经济技术开发区","no":"371771"},{"name":"菏泽高新技术开发区","no":"371772"}]}]},{"name":"河南省","no":"410000","children":[{"name":"郑州市","no":"410100","children":[{"name":"中原区","no":"410102"},{"name":"二七区","no":"410103"},{"name":"管城回族区","no":"410104"},{"name":"金水区","no":"410105"},{"name":"上街区","no":"410106"},{"name":"惠济区","no":"410108"},{"name":"中牟县","no":"410122"},{"name":"郑州经济技术开发区","no":"410171"},{"name":"郑州高新技术产业开发区","no":"410172"},{"name":"郑州航空港经济综合实验区","no":"410173"},{"name":"巩义市","no":"410181"},{"name":"荥阳市","no":"410182"},{"name":"新密市","no":"410183"},{"name":"新郑市","no":"410184"},{"name":"登封市","no":"410185"},{"name":"高新技术开发区","no":"410190"},{"name":"经济技术开发区","no":"410191"}]},{"name":"开封市","no":"410200","children":[{"name":"龙亭区","no":"410202"},{"name":"顺河回族区","no":"410203"},{"name":"鼓楼区","no":"410204"},{"name":"禹王台区","no":"410205"},{"name":"祥符区","no":"410212"},{"name":"杞县","no":"410221"},{"name":"通许县","no":"410222"},{"name":"尉氏县","no":"410223"},{"name":"兰考县","no":"410225"}]},{"name":"洛阳市","no":"410300","children":[{"name":"老城区","no":"410302"},{"name":"西工区","no":"410303"},{"name":"瀍河回族区","no":"410304"},{"name":"涧西区","no":"410305"},{"name":"偃师区","no":"410307"},{"name":"孟津区","no":"410308"},{"name":"洛龙区","no":"410311"},{"name":"新安县","no":"410323"},{"name":"栾川县","no":"410324"},{"name":"嵩县","no":"410325"},{"name":"汝阳县","no":"410326"},{"name":"宜阳县","no":"410327"},{"name":"洛宁县","no":"410328"},{"name":"伊川县","no":"410329"}]},{"name":"平顶山市","no":"410400","children":[{"name":"新华区","no":"410402"},{"name":"卫东区","no":"410403"},{"name":"石龙区","no":"410404"},{"name":"湛河区","no":"410411"},{"name":"宝丰县","no":"410421"},{"name":"叶县","no":"410422"},{"name":"鲁山县","no":"410423"},{"name":"郏县","no":"410425"},{"name":"平顶山高新技术产业开发区","no":"410471"},{"name":"舞钢市","no":"410481"},{"name":"汝州市","no":"410482"}]},{"name":"安阳市","no":"410500","children":[{"name":"文峰区","no":"410502"},{"name":"北关区","no":"410503"},{"name":"殷都区","no":"410505"},{"name":"龙安区","no":"410506"},{"name":"安阳县","no":"410522"},{"name":"汤阴县","no":"410523"},{"name":"滑县","no":"410526"},{"name":"内黄县","no":"410527"},{"name":"林州市","no":"410581"},{"name":"开发区","no":"410590"}]},{"name":"鹤壁市","no":"410600","children":[{"name":"鹤山区","no":"410602"},{"name":"山城区","no":"410603"},{"name":"淇滨区","no":"410611"},{"name":"浚县","no":"410621"},{"name":"淇县","no":"410622"}]},{"name":"新乡市","no":"410700","children":[{"name":"红旗区","no":"410702"},{"name":"卫滨区","no":"410703"},{"name":"凤泉区","no":"410704"},{"name":"牧野区","no":"410711"},{"name":"新乡县","no":"410721"},{"name":"获嘉县","no":"410724"},{"name":"原阳县","no":"410725"},{"name":"延津县","no":"410726"},{"name":"封丘县","no":"410727"},{"name":"新乡高新技术产业开发区","no":"410771"},{"name":"新乡经济技术开发区","no":"410772"},{"name":"卫辉市","no":"410781"},{"name":"辉县市","no":"410782"},{"name":"长垣市","no":"410783"}]},{"name":"焦作市","no":"410800","children":[{"name":"解放区","no":"410802"},{"name":"中站区","no":"410803"},{"name":"马村区","no":"410804"},{"name":"山阳区","no":"410811"},{"name":"修武县","no":"410821"},{"name":"博爱县","no":"410822"},{"name":"武陟县","no":"410823"},{"name":"温县","no":"410825"},{"name":"焦作城乡一体化示范区","no":"410871"},{"name":"沁阳市","no":"410882"},{"name":"孟州市","no":"410883"}]},{"name":"濮阳市","no":"410900","children":[{"name":"华龙区","no":"410902"},{"name":"清丰县","no":"410922"},{"name":"南乐县","no":"410923"},{"name":"范县","no":"410926"},{"name":"台前县","no":"410927"},{"name":"濮阳县","no":"410928"},{"name":"河南濮阳工业园区","no":"410971"}]},{"name":"许昌市","no":"411000","children":[{"name":"魏都区","no":"411002"},{"name":"建安区","no":"411003"},{"name":"鄢陵县","no":"411024"},{"name":"襄城县","no":"411025"},{"name":"许昌经济技术开发区","no":"411071"},{"name":"禹州市","no":"411081"},{"name":"长葛市","no":"411082"}]},{"name":"漯河市","no":"411100","children":[{"name":"源汇区","no":"411102"},{"name":"郾城区","no":"411103"},{"name":"召陵区","no":"411104"},{"name":"舞阳县","no":"411121"},{"name":"临颍县","no":"411122"},{"name":"漯河经济技术开发区","no":"411171"}]},{"name":"三门峡市","no":"411200","children":[{"name":"湖滨区","no":"411202"},{"name":"陕州区","no":"411203"},{"name":"渑池县","no":"411221"},{"name":"卢氏县","no":"411224"},{"name":"河南三门峡经济开发区","no":"411271"},{"name":"义马市","no":"411281"},{"name":"灵宝市","no":"411282"}]},{"name":"南阳市","no":"411300","children":[{"name":"宛城区","no":"411302"},{"name":"卧龙区","no":"411303"},{"name":"南召县","no":"411321"},{"name":"方城县","no":"411322"},{"name":"西峡县","no":"411323"},{"name":"镇平县","no":"411324"},{"name":"内乡县","no":"411325"},{"name":"淅川县","no":"411326"},{"name":"社旗县","no":"411327"},{"name":"唐河县","no":"411328"},{"name":"新野县","no":"411329"},{"name":"桐柏县","no":"411330"},{"name":"南阳市城乡一体化示范区","no":"411372"},{"name":"邓州市","no":"411381"}]},{"name":"商丘市","no":"411400","children":[{"name":"梁园区","no":"411402"},{"name":"睢阳区","no":"411403"},{"name":"民权县","no":"411421"},{"name":"睢县","no":"411422"},{"name":"宁陵县","no":"411423"},{"name":"柘城县","no":"411424"},{"name":"虞城县","no":"411425"},{"name":"夏邑县","no":"411426"},{"name":"永城市","no":"411481"}]},{"name":"信阳市","no":"411500","children":[{"name":"浉河区","no":"411502"},{"name":"平桥区","no":"411503"},{"name":"罗山县","no":"411521"},{"name":"光山县","no":"411522"},{"name":"新县","no":"411523"},{"name":"商城县","no":"411524"},{"name":"固始县","no":"411525"},{"name":"潢川县","no":"411526"},{"name":"淮滨县","no":"411527"},{"name":"息县","no":"411528"}]},{"name":"周口市","no":"411600","children":[{"name":"川汇区","no":"411602"},{"name":"淮阳区","no":"411603"},{"name":"扶沟县","no":"411621"},{"name":"西华县","no":"411622"},{"name":"商水县","no":"411623"},{"name":"沈丘县","no":"411624"},{"name":"郸城县","no":"411625"},{"name":"太康县","no":"411627"},{"name":"鹿邑县","no":"411628"},{"name":"河南周口经济开发区","no":"411671"},{"name":"项城市","no":"411681"},{"name":"经济开发区","no":"411690"}]},{"name":"驻马店市","no":"411700","children":[{"name":"驿城区","no":"411702"},{"name":"西平县","no":"411721"},{"name":"上蔡县","no":"411722"},{"name":"平舆县","no":"411723"},{"name":"正阳县","no":"411724"},{"name":"确山县","no":"411725"},{"name":"泌阳县","no":"411726"},{"name":"汝南县","no":"411727"},{"name":"遂平县","no":"411728"},{"name":"新蔡县","no":"411729"}]},{"name":"省直辖县","no":"419000","children":[{"name":"济源市","no":"419001"}]}]},{"name":"湖北省","no":"420000","children":[{"name":"武汉市","no":"420100","children":[{"name":"江岸区","no":"420102"},{"name":"江汉区","no":"420103"},{"name":"硚口区","no":"420104"},{"name":"汉阳区","no":"420105"},{"name":"武昌区","no":"420106"},{"name":"青山区","no":"420107"},{"name":"洪山区","no":"420111"},{"name":"东西湖区","no":"420112"},{"name":"汉南区","no":"420113"},{"name":"蔡甸区","no":"420114"},{"name":"江夏区","no":"420115"},{"name":"黄陂区","no":"420116"},{"name":"新洲区","no":"420117"}]},{"name":"黄石市","no":"420200","children":[{"name":"黄石港区","no":"420202"},{"name":"西塞山区","no":"420203"},{"name":"下陆区","no":"420204"},{"name":"铁山区","no":"420205"},{"name":"阳新县","no":"420222"},{"name":"大冶市","no":"420281"}]},{"name":"十堰市","no":"420300","children":[{"name":"茅箭区","no":"420302"},{"name":"张湾区","no":"420303"},{"name":"郧阳区","no":"420304"},{"name":"郧西县","no":"420322"},{"name":"竹山县","no":"420323"},{"name":"竹溪县","no":"420324"},{"name":"房县","no":"420325"},{"name":"丹江口市","no":"420381"}]},{"name":"宜昌市","no":"420500","children":[{"name":"西陵区","no":"420502"},{"name":"伍家岗区","no":"420503"},{"name":"点军区","no":"420504"},{"name":"猇亭区","no":"420505"},{"name":"夷陵区","no":"420506"},{"name":"远安县","no":"420525"},{"name":"兴山县","no":"420526"},{"name":"秭归县","no":"420527"},{"name":"长阳土家族自治县","no":"420528"},{"name":"五峰土家族自治县","no":"420529"},{"name":"宜都市","no":"420581"},{"name":"当阳市","no":"420582"},{"name":"枝江市","no":"420583"},{"name":"经济开发区","no":"420590"}]},{"name":"襄阳市","no":"420600","children":[{"name":"襄城区","no":"420602"},{"name":"樊城区","no":"420606"},{"name":"襄州区","no":"420607"},{"name":"南漳县","no":"420624"},{"name":"谷城县","no":"420625"},{"name":"保康县","no":"420626"},{"name":"老河口市","no":"420682"},{"name":"枣阳市","no":"420683"},{"name":"宜城市","no":"420684"}]},{"name":"鄂州市","no":"420700","children":[{"name":"梁子湖区","no":"420702"},{"name":"华容区","no":"420703"},{"name":"鄂城区","no":"420704"}]},{"name":"荆门市","no":"420800","children":[{"name":"东宝区","no":"420802"},{"name":"掇刀区","no":"420804"},{"name":"沙洋县","no":"420822"},{"name":"钟祥市","no":"420881"},{"name":"京山市","no":"420882"}]},{"name":"孝感市","no":"420900","children":[{"name":"孝南区","no":"420902"},{"name":"孝昌县","no":"420921"},{"name":"大悟县","no":"420922"},{"name":"云梦县","no":"420923"},{"name":"应城市","no":"420981"},{"name":"安陆市","no":"420982"},{"name":"汉川市","no":"420984"}]},{"name":"荆州市","no":"421000","children":[{"name":"沙市区","no":"421002"},{"name":"荆州区","no":"421003"},{"name":"公安县","no":"421022"},{"name":"江陵县","no":"421024"},{"name":"石首市","no":"421081"},{"name":"洪湖市","no":"421083"},{"name":"松滋市","no":"421087"},{"name":"监利市","no":"421088"}]},{"name":"黄冈市","no":"421100","children":[{"name":"黄州区","no":"421102"},{"name":"团风县","no":"421121"},{"name":"红安县","no":"421122"},{"name":"罗田县","no":"421123"},{"name":"英山县","no":"421124"},{"name":"浠水县","no":"421125"},{"name":"蕲春县","no":"421126"},{"name":"黄梅县","no":"421127"},{"name":"龙感湖管理区","no":"421171"},{"name":"麻城市","no":"421181"},{"name":"武穴市","no":"421182"}]},{"name":"咸宁市","no":"421200","children":[{"name":"咸安区","no":"421202"},{"name":"嘉鱼县","no":"421221"},{"name":"通城县","no":"421222"},{"name":"崇阳县","no":"421223"},{"name":"通山县","no":"421224"},{"name":"赤壁市","no":"421281"}]},{"name":"随州市","no":"421300","children":[{"name":"曾都区","no":"421303"},{"name":"随县","no":"421321"},{"name":"广水市","no":"421381"}]},{"name":"恩施土家族苗族自治州","no":"422800","children":[{"name":"恩施市","no":"422801"},{"name":"利川市","no":"422802"},{"name":"建始县","no":"422822"},{"name":"巴东县","no":"422823"},{"name":"宣恩县","no":"422825"},{"name":"咸丰县","no":"422826"},{"name":"来凤县","no":"422827"},{"name":"鹤峰县","no":"422828"}]},{"name":"省直辖县","no":"429000","children":[{"name":"仙桃市","no":"429004"},{"name":"潜江市","no":"429005"},{"name":"天门市","no":"429006"},{"name":"神农架林区","no":"429021"}]}]},{"name":"湖南省","no":"430000","children":[{"name":"长沙市","no":"430100","children":[{"name":"芙蓉区","no":"430102"},{"name":"天心区","no":"430103"},{"name":"岳麓区","no":"430104"},{"name":"开福区","no":"430105"},{"name":"雨花区","no":"430111"},{"name":"望城区","no":"430112"},{"name":"长沙县","no":"430121"},{"name":"浏阳市","no":"430181"},{"name":"宁乡市","no":"430182"}]},{"name":"株洲市","no":"430200","children":[{"name":"荷塘区","no":"430202"},{"name":"芦淞区","no":"430203"},{"name":"石峰区","no":"430204"},{"name":"天元区","no":"430211"},{"name":"渌口区","no":"430212"},{"name":"攸县","no":"430223"},{"name":"茶陵县","no":"430224"},{"name":"炎陵县","no":"430225"},{"name":"云龙示范区","no":"430271"},{"name":"醴陵市","no":"430281"}]},{"name":"湘潭市","no":"430300","children":[{"name":"雨湖区","no":"430302"},{"name":"岳塘区","no":"430304"},{"name":"湘潭县","no":"430321"},{"name":"湘潭九华示范区","no":"430373"},{"name":"湘乡市","no":"430381"},{"name":"韶山市","no":"430382"}]},{"name":"衡阳市","no":"430400","children":[{"name":"珠晖区","no":"430405"},{"name":"雁峰区","no":"430406"},{"name":"石鼓区","no":"430407"},{"name":"蒸湘区","no":"430408"},{"name":"南岳区","no":"430412"},{"name":"衡阳县","no":"430421"},{"name":"衡南县","no":"430422"},{"name":"衡山县","no":"430423"},{"name":"衡东县","no":"430424"},{"name":"祁东县","no":"430426"},{"name":"耒阳市","no":"430481"},{"name":"常宁市","no":"430482"}]},{"name":"邵阳市","no":"430500","children":[{"name":"双清区","no":"430502"},{"name":"大祥区","no":"430503"},{"name":"北塔区","no":"430511"},{"name":"新邵县","no":"430522"},{"name":"邵阳县","no":"430523"},{"name":"隆回县","no":"430524"},{"name":"洞口县","no":"430525"},{"name":"绥宁县","no":"430527"},{"name":"新宁县","no":"430528"},{"name":"城步苗族自治县","no":"430529"},{"name":"武冈市","no":"430581"},{"name":"邵东市","no":"430582"}]},{"name":"岳阳市","no":"430600","children":[{"name":"岳阳楼区","no":"430602"},{"name":"云溪区","no":"430603"},{"name":"君山区","no":"430611"},{"name":"岳阳县","no":"430621"},{"name":"华容县","no":"430623"},{"name":"湘阴县","no":"430624"},{"name":"平江县","no":"430626"},{"name":"汨罗市","no":"430681"},{"name":"临湘市","no":"430682"}]},{"name":"常德市","no":"430700","children":[{"name":"武陵区","no":"430702"},{"name":"鼎城区","no":"430703"},{"name":"安乡县","no":"430721"},{"name":"汉寿县","no":"430722"},{"name":"澧县","no":"430723"},{"name":"临澧县","no":"430724"},{"name":"桃源县","no":"430725"},{"name":"石门县","no":"430726"},{"name":"津市市","no":"430781"}]},{"name":"张家界市","no":"430800","children":[{"name":"永定区","no":"430802"},{"name":"武陵源区","no":"430811"},{"name":"慈利县","no":"430821"},{"name":"桑植县","no":"430822"}]},{"name":"益阳市","no":"430900","children":[{"name":"资阳区","no":"430902"},{"name":"赫山区","no":"430903"},{"name":"南县","no":"430921"},{"name":"桃江县","no":"430922"},{"name":"安化县","no":"430923"},{"name":"益阳市大通湖管理区","no":"430971"},{"name":"沅江市","no":"430981"}]},{"name":"郴州市","no":"431000","children":[{"name":"北湖区","no":"431002"},{"name":"苏仙区","no":"431003"},{"name":"桂阳县","no":"431021"},{"name":"宜章县","no":"431022"},{"name":"永兴县","no":"431023"},{"name":"嘉禾县","no":"431024"},{"name":"临武县","no":"431025"},{"name":"汝城县","no":"431026"},{"name":"桂东县","no":"431027"},{"name":"安仁县","no":"431028"},{"name":"资兴市","no":"431081"}]},{"name":"永州市","no":"431100","children":[{"name":"零陵区","no":"431102"},{"name":"冷水滩区","no":"431103"},{"name":"东安县","no":"431122"},{"name":"双牌县","no":"431123"},{"name":"道县","no":"431124"},{"name":"江永县","no":"431125"},{"name":"宁远县","no":"431126"},{"name":"蓝山县","no":"431127"},{"name":"新田县","no":"431128"},{"name":"江华瑶族自治县","no":"431129"},{"name":"祁阳市","no":"431181"}]},{"name":"怀化市","no":"431200","children":[{"name":"鹤城区","no":"431202"},{"name":"中方县","no":"431221"},{"name":"沅陵县","no":"431222"},{"name":"辰溪县","no":"431223"},{"name":"溆浦县","no":"431224"},{"name":"会同县","no":"431225"},{"name":"麻阳苗族自治县","no":"431226"},{"name":"新晃侗族自治县","no":"431227"},{"name":"芷江侗族自治县","no":"431228"},{"name":"靖州苗族侗族自治县","no":"431229"},{"name":"通道侗族自治县","no":"431230"},{"name":"怀化市洪江管理区","no":"431271"},{"name":"洪江市","no":"431281"}]},{"name":"娄底市","no":"431300","children":[{"name":"娄星区","no":"431302"},{"name":"双峰县","no":"431321"},{"name":"新化县","no":"431322"},{"name":"冷水江市","no":"431381"},{"name":"涟源市","no":"431382"}]},{"name":"湘西土家族苗族自治州","no":"433100","children":[{"name":"吉首市","no":"433101"},{"name":"泸溪县","no":"433122"},{"name":"凤凰县","no":"433123"},{"name":"花垣县","no":"433124"},{"name":"保靖县","no":"433125"},{"name":"古丈县","no":"433126"},{"name":"永顺县","no":"433127"},{"name":"龙山县","no":"433130"}]}]},{"name":"广东省","no":"440000","children":[{"name":"广州市","no":"440100","children":[{"name":"荔湾区","no":"440103"},{"name":"越秀区","no":"440104"},{"name":"海珠区","no":"440105"},{"name":"天河区","no":"440106"},{"name":"白云区","no":"440111"},{"name":"黄埔区","no":"440112"},{"name":"番禺区","no":"440113"},{"name":"花都区","no":"440114"},{"name":"南沙区","no":"440115"},{"name":"从化区","no":"440117"},{"name":"增城区","no":"440118"}]},{"name":"韶关市","no":"440200","children":[{"name":"武江区","no":"440203"},{"name":"浈江区","no":"440204"},{"name":"曲江区","no":"440205"},{"name":"始兴县","no":"440222"},{"name":"仁化县","no":"440224"},{"name":"翁源县","no":"440229"},{"name":"乳源瑶族自治县","no":"440232"},{"name":"新丰县","no":"440233"},{"name":"乐昌市","no":"440281"},{"name":"南雄市","no":"440282"}]},{"name":"深圳市","no":"440300","children":[{"name":"罗湖区","no":"440303"},{"name":"福田区","no":"440304"},{"name":"南山区","no":"440305"},{"name":"宝安区","no":"440306"},{"name":"龙岗区","no":"440307"},{"name":"盐田区","no":"440308"},{"name":"龙华区","no":"440309"},{"name":"坪山区","no":"440310"},{"name":"光明区","no":"440311"}]},{"name":"珠海市","no":"440400","children":[{"name":"香洲区","no":"440402"},{"name":"斗门区","no":"440403"},{"name":"金湾区","no":"440404"}]},{"name":"汕头市","no":"440500","children":[{"name":"龙湖区","no":"440507"},{"name":"金平区","no":"440511"},{"name":"濠江区","no":"440512"},{"name":"潮阳区","no":"440513"},{"name":"潮南区","no":"440514"},{"name":"澄海区","no":"440515"},{"name":"南澳县","no":"440523"}]},{"name":"佛山市","no":"440600","children":[{"name":"禅城区","no":"440604"},{"name":"南海区","no":"440605"},{"name":"顺德区","no":"440606"},{"name":"三水区","no":"440607"},{"name":"高明区","no":"440608"}]},{"name":"江门市","no":"440700","children":[{"name":"蓬江区","no":"440703"},{"name":"江海区","no":"440704"},{"name":"新会区","no":"440705"},{"name":"台山市","no":"440781"},{"name":"开平市","no":"440783"},{"name":"鹤山市","no":"440784"},{"name":"恩平市","no":"440785"}]},{"name":"湛江市","no":"440800","children":[{"name":"赤坎区","no":"440802"},{"name":"霞山区","no":"440803"},{"name":"坡头区","no":"440804"},{"name":"麻章区","no":"440811"},{"name":"遂溪县","no":"440823"},{"name":"徐闻县","no":"440825"},{"name":"廉江市","no":"440881"},{"name":"雷州市","no":"440882"},{"name":"吴川市","no":"440883"},{"name":"经济技术开发区","no":"440890"}]},{"name":"茂名市","no":"440900","children":[{"name":"茂南区","no":"440902"},{"name":"电白区","no":"440904"},{"name":"高州市","no":"440981"},{"name":"化州市","no":"440982"},{"name":"信宜市","no":"440983"}]},{"name":"肇庆市","no":"441200","children":[{"name":"端州区","no":"441202"},{"name":"鼎湖区","no":"441203"},{"name":"高要区","no":"441204"},{"name":"广宁县","no":"441223"},{"name":"怀集县","no":"441224"},{"name":"封开县","no":"441225"},{"name":"德庆县","no":"441226"},{"name":"四会市","no":"441284"}]},{"name":"惠州市","no":"441300","children":[{"name":"惠城区","no":"441302"},{"name":"惠阳区","no":"441303"},{"name":"博罗县","no":"441322"},{"name":"惠东县","no":"441323"},{"name":"龙门县","no":"441324"}]},{"name":"梅州市","no":"441400","children":[{"name":"梅江区","no":"441402"},{"name":"梅县区","no":"441403"},{"name":"大埔县","no":"441422"},{"name":"丰顺县","no":"441423"},{"name":"五华县","no":"441424"},{"name":"平远县","no":"441426"},{"name":"蕉岭县","no":"441427"},{"name":"兴宁市","no":"441481"}]},{"name":"汕尾市","no":"441500","children":[{"name":"城区","no":"441502"},{"name":"海丰县","no":"441521"},{"name":"陆河县","no":"441523"},{"name":"陆丰市","no":"441581"}]},{"name":"河源市","no":"441600","children":[{"name":"源城区","no":"441602"},{"name":"紫金县","no":"441621"},{"name":"龙川县","no":"441622"},{"name":"连平县","no":"441623"},{"name":"和平县","no":"441624"},{"name":"东源县","no":"441625"}]},{"name":"阳江市","no":"441700","children":[{"name":"江城区","no":"441702"},{"name":"阳东区","no":"441704"},{"name":"阳西县","no":"441721"},{"name":"阳春市","no":"441781"}]},{"name":"清远市","no":"441800","children":[{"name":"清城区","no":"441802"},{"name":"清新区","no":"441803"},{"name":"佛冈县","no":"441821"},{"name":"阳山县","no":"441823"},{"name":"连山壮族瑶族自治县","no":"441825"},{"name":"连南瑶族自治县","no":"441826"},{"name":"英德市","no":"441881"},{"name":"连州市","no":"441882"}]},{"name":"东莞市","no":"441900","children":[{"name":"中堂镇","no":"441901"},{"name":"南城街道","no":"441903"},{"name":"长安镇","no":"441904"},{"name":"东坑镇","no":"441905"},{"name":"樟木头镇","no":"441906"},{"name":"莞城街道","no":"441907"},{"name":"石龙镇","no":"441908"},{"name":"桥头镇","no":"441909"},{"name":"万江街道","no":"441910"},{"name":"麻涌镇","no":"441911"},{"name":"虎门镇","no":"441912"},{"name":"谢岗镇","no":"441913"},{"name":"石碣镇","no":"441914"},{"name":"茶山镇","no":"441915"},{"name":"东城街道","no":"441916"},{"name":"洪梅镇","no":"441917"},{"name":"道滘镇","no":"441918"},{"name":"高埗镇","no":"441919"},{"name":"企石镇","no":"441920"},{"name":"凤岗镇","no":"441921"},{"name":"大岭山镇","no":"441922"},{"name":"松山湖","no":"441923"},{"name":"清溪镇","no":"441924"},{"name":"望牛墩镇","no":"441925"},{"name":"厚街镇","no":"441926"},{"name":"常平镇","no":"441927"},{"name":"寮步镇","no":"441928"},{"name":"石排镇","no":"441929"},{"name":"横沥镇","no":"441930"},{"name":"塘厦镇","no":"441931"},{"name":"黄江镇","no":"441932"},{"name":"大朗镇","no":"441933"},{"name":"东莞港","no":"441934"},{"name":"东莞生态园","no":"441935"},{"name":"沙田镇","no":"441990"}]},{"name":"中山市","no":"442000","children":[{"name":"南头镇","no":"442001"},{"name":"神湾镇","no":"442002"},{"name":"东凤镇","no":"442003"},{"name":"五桂山街道","no":"442004"},{"name":"黄圃镇","no":"442005"},{"name":"小榄镇","no":"442006"},{"name":"石岐街道","no":"442007"},{"name":"横栏镇","no":"442008"},{"name":"三角镇","no":"442009"},{"name":"三乡镇","no":"442010"},{"name":"港口镇","no":"442011"},{"name":"沙溪镇","no":"442012"},{"name":"板芙镇","no":"442013"},{"name":"东升镇","no":"442015"},{"name":"阜沙镇","no":"442016"},{"name":"民众镇","no":"442017"},{"name":"东区街道","no":"442018"},{"name":"火炬开发区街道办事处","no":"442019"},{"name":"西区街道","no":"442020"},{"name":"南区街道","no":"442021"},{"name":"古镇镇","no":"442022"},{"name":"坦洲镇","no":"442023"},{"name":"大涌镇","no":"442024"},{"name":"南朗镇","no":"442025"}]},{"name":"潮州市","no":"445100","children":[{"name":"湘桥区","no":"445102"},{"name":"潮安区","no":"445103"},{"name":"饶平县","no":"445122"}]},{"name":"揭阳市","no":"445200","children":[{"name":"榕城区","no":"445202"},{"name":"揭东区","no":"445203"},{"name":"揭西县","no":"445222"},{"name":"惠来县","no":"445224"},{"name":"普宁市","no":"445281"}]},{"name":"云浮市","no":"445300","children":[{"name":"云城区","no":"445302"},{"name":"云安区","no":"445303"},{"name":"新兴县","no":"445321"},{"name":"郁南县","no":"445322"},{"name":"罗定市","no":"445381"}]}]},{"name":"广西壮族自治区","no":"450000","children":[{"name":"南宁市","no":"450100","children":[{"name":"兴宁区","no":"450102"},{"name":"青秀区","no":"450103"},{"name":"江南区","no":"450105"},{"name":"西乡塘区","no":"450107"},{"name":"良庆区","no":"450108"},{"name":"邕宁区","no":"450109"},{"name":"武鸣区","no":"450110"},{"name":"隆安县","no":"450123"},{"name":"马山县","no":"450124"},{"name":"上林县","no":"450125"},{"name":"宾阳县","no":"450126"},{"name":"横州市","no":"450181"}]},{"name":"柳州市","no":"450200","children":[{"name":"城中区","no":"450202"},{"name":"鱼峰区","no":"450203"},{"name":"柳南区","no":"450204"},{"name":"柳北区","no":"450205"},{"name":"柳江区","no":"450206"},{"name":"柳城县","no":"450222"},{"name":"鹿寨县","no":"450223"},{"name":"融安县","no":"450224"},{"name":"融水苗族自治县","no":"450225"},{"name":"三江侗族自治县","no":"450226"}]},{"name":"桂林市","no":"450300","children":[{"name":"秀峰区","no":"450302"},{"name":"叠彩区","no":"450303"},{"name":"象山区","no":"450304"},{"name":"七星区","no":"450305"},{"name":"雁山区","no":"450311"},{"name":"临桂区","no":"450312"},{"name":"阳朔县","no":"450321"},{"name":"灵川县","no":"450323"},{"name":"全州县","no":"450324"},{"name":"兴安县","no":"450325"},{"name":"永福县","no":"450326"},{"name":"灌阳县","no":"450327"},{"name":"龙胜各族自治县","no":"450328"},{"name":"资源县","no":"450329"},{"name":"平乐县","no":"450330"},{"name":"恭城瑶族自治县","no":"450332"},{"name":"荔浦市","no":"450381"}]},{"name":"梧州市","no":"450400","children":[{"name":"万秀区","no":"450403"},{"name":"长洲区","no":"450405"},{"name":"龙圩区","no":"450406"},{"name":"苍梧县","no":"450421"},{"name":"藤县","no":"450422"},{"name":"蒙山县","no":"450423"},{"name":"岑溪市","no":"450481"}]},{"name":"北海市","no":"450500","children":[{"name":"海城区","no":"450502"},{"name":"银海区","no":"450503"},{"name":"铁山港区","no":"450512"},{"name":"合浦县","no":"450521"}]},{"name":"防城港市","no":"450600","children":[{"name":"港口区","no":"450602"},{"name":"防城区","no":"450603"},{"name":"上思县","no":"450621"},{"name":"东兴市","no":"450681"}]},{"name":"钦州市","no":"450700","children":[{"name":"钦南区","no":"450702"},{"name":"钦北区","no":"450703"},{"name":"灵山县","no":"450721"},{"name":"浦北县","no":"450722"}]},{"name":"贵港市","no":"450800","children":[{"name":"港北区","no":"450802"},{"name":"港南区","no":"450803"},{"name":"覃塘区","no":"450804"},{"name":"平南县","no":"450821"},{"name":"桂平市","no":"450881"}]},{"name":"玉林市","no":"450900","children":[{"name":"玉州区","no":"450902"},{"name":"福绵区","no":"450903"},{"name":"容县","no":"450921"},{"name":"陆川县","no":"450922"},{"name":"博白县","no":"450923"},{"name":"兴业县","no":"450924"},{"name":"北流市","no":"450981"}]},{"name":"百色市","no":"451000","children":[{"name":"右江区","no":"451002"},{"name":"田阳区","no":"451003"},{"name":"田东县","no":"451022"},{"name":"德保县","no":"451024"},{"name":"那坡县","no":"451026"},{"name":"凌云县","no":"451027"},{"name":"乐业县","no":"451028"},{"name":"田林县","no":"451029"},{"name":"西林县","no":"451030"},{"name":"隆林各族自治县","no":"451031"},{"name":"靖西市","no":"451081"},{"name":"平果市","no":"451082"}]},{"name":"贺州市","no":"451100","children":[{"name":"八步区","no":"451102"},{"name":"平桂区","no":"451103"},{"name":"昭平县","no":"451121"},{"name":"钟山县","no":"451122"},{"name":"富川瑶族自治县","no":"451123"}]},{"name":"河池市","no":"451200","children":[{"name":"金城江区","no":"451202"},{"name":"宜州区","no":"451203"},{"name":"南丹县","no":"451221"},{"name":"天峨县","no":"451222"},{"name":"凤山县","no":"451223"},{"name":"东兰县","no":"451224"},{"name":"罗城仫佬族自治县","no":"451225"},{"name":"环江毛南族自治县","no":"451226"},{"name":"巴马瑶族自治县","no":"451227"},{"name":"都安瑶族自治县","no":"451228"},{"name":"大化瑶族自治县","no":"451229"}]},{"name":"来宾市","no":"451300","children":[{"name":"兴宾区","no":"451302"},{"name":"忻城县","no":"451321"},{"name":"象州县","no":"451322"},{"name":"武宣县","no":"451323"},{"name":"金秀瑶族自治县","no":"451324"},{"name":"合山市","no":"451381"}]},{"name":"崇左市","no":"451400","children":[{"name":"江州区","no":"451402"},{"name":"扶绥县","no":"451421"},{"name":"宁明县","no":"451422"},{"name":"龙州县","no":"451423"},{"name":"大新县","no":"451424"},{"name":"天等县","no":"451425"},{"name":"凭祥市","no":"451481"}]}]},{"name":"海南省","no":"460000","children":[{"name":"海口市","no":"460100","children":[{"name":"秀英区","no":"460105"},{"name":"龙华区","no":"460106"},{"name":"琼山区","no":"460107"},{"name":"美兰区","no":"460108"}]},{"name":"三亚市","no":"460200","children":[{"name":"海棠区","no":"460202"},{"name":"吉阳区","no":"460203"},{"name":"天涯区","no":"460204"},{"name":"崖州区","no":"460205"}]},{"name":"三沙市","no":"460300","children":[{"name":"西沙区","no":"460321"},{"name":"南沙区","no":"460322"}]},{"name":"儋州市","no":"460400","children":[{"name":"那大镇","no":"460401"},{"name":"和庆镇","no":"460402"},{"name":"南丰镇","no":"460403"},{"name":"大成镇","no":"460404"},{"name":"雅星镇","no":"460405"},{"name":"兰洋镇","no":"460406"},{"name":"光村镇","no":"460407"},{"name":"木棠镇","no":"460408"},{"name":"海头镇","no":"460409"},{"name":"峨蔓镇","no":"460410"},{"name":"王五镇","no":"460411"},{"name":"白马井镇","no":"460412"},{"name":"中和镇","no":"460413"},{"name":"排浦镇","no":"460414"},{"name":"东成镇","no":"460415"},{"name":"新州镇","no":"460416"},{"name":"洋浦经济开发区","no":"460417"},{"name":"华南热作学院","no":"460418"}]},{"name":"省直辖县","no":"469000","children":[{"name":"五指山市","no":"469001"},{"name":"琼海市","no":"469002"},{"name":"文昌市","no":"469005"},{"name":"万宁市","no":"469006"},{"name":"东方市","no":"469007"},{"name":"定安县","no":"469021"},{"name":"屯昌县","no":"469022"},{"name":"澄迈县","no":"469023"},{"name":"临高县","no":"469024"},{"name":"白沙黎族自治县","no":"469025"},{"name":"昌江黎族自治县","no":"469026"},{"name":"乐东黎族自治县","no":"469027"},{"name":"陵水黎族自治县","no":"469028"},{"name":"保亭黎族苗族自治县","no":"469029"},{"name":"琼中黎族苗族自治县","no":"469030"}]}]},{"name":"重庆市","no":"500000","children":[{"name":"重庆市","no":"500100","children":[{"name":"万州区","no":"500101"},{"name":"涪陵区","no":"500102"},{"name":"渝中区","no":"500103"},{"name":"大渡口区","no":"500104"},{"name":"江北区","no":"500105"},{"name":"沙坪坝区","no":"500106"},{"name":"九龙坡区","no":"500107"},{"name":"南岸区","no":"500108"},{"name":"北碚区","no":"500109"},{"name":"綦江区","no":"500110"},{"name":"大足区","no":"500111"},{"name":"渝北区","no":"500112"},{"name":"巴南区","no":"500113"},{"name":"黔江区","no":"500114"},{"name":"长寿区","no":"500115"},{"name":"江津区","no":"500116"},{"name":"合川区","no":"500117"},{"name":"永川区","no":"500118"},{"name":"南川区","no":"500119"},{"name":"璧山区","no":"500120"},{"name":"铜梁区","no":"500151"},{"name":"潼南区","no":"500152"},{"name":"荣昌区","no":"500153"},{"name":"开州区","no":"500154"},{"name":"梁平区","no":"500155"},{"name":"武隆区","no":"500156"}]},{"name":"县","no":"500200","children":[{"name":"城口县","no":"500229"},{"name":"丰都县","no":"500230"},{"name":"垫江县","no":"500231"},{"name":"忠县","no":"500233"},{"name":"云阳县","no":"500235"},{"name":"奉节县","no":"500236"},{"name":"巫山县","no":"500237"},{"name":"巫溪县","no":"500238"},{"name":"石柱土家族自治县","no":"500240"},{"name":"秀山土家族苗族自治县","no":"500241"},{"name":"酉阳土家族苗族自治县","no":"500242"},{"name":"彭水苗族土家族自治县","no":"500243"}]}]},{"name":"四川省","no":"510000","children":[{"name":"成都市","no":"510100","children":[{"name":"锦江区","no":"510104"},{"name":"青羊区","no":"510105"},{"name":"金牛区","no":"510106"},{"name":"武侯区","no":"510107"},{"name":"成华区","no":"510108"},{"name":"龙泉驿区","no":"510112"},{"name":"青白江区","no":"510113"},{"name":"新都区","no":"510114"},{"name":"温江区","no":"510115"},{"name":"双流区","no":"510116"},{"name":"郫都区","no":"510117"},{"name":"新津区","no":"510118"},{"name":"金堂县","no":"510121"},{"name":"大邑县","no":"510129"},{"name":"蒲江县","no":"510131"},{"name":"都江堰市","no":"510181"},{"name":"彭州市","no":"510182"},{"name":"邛崃市","no":"510183"},{"name":"崇州市","no":"510184"},{"name":"简阳市","no":"510185"},{"name":"高新区","no":"510191"}]},{"name":"自贡市","no":"510300","children":[{"name":"自流井区","no":"510302"},{"name":"贡井区","no":"510303"},{"name":"大安区","no":"510304"},{"name":"沿滩区","no":"510311"},{"name":"荣县","no":"510321"},{"name":"富顺县","no":"510322"}]},{"name":"攀枝花市","no":"510400","children":[{"name":"东区","no":"510402"},{"name":"西区","no":"510403"},{"name":"仁和区","no":"510411"},{"name":"米易县","no":"510421"},{"name":"盐边县","no":"510422"}]},{"name":"泸州市","no":"510500","children":[{"name":"江阳区","no":"510502"},{"name":"纳溪区","no":"510503"},{"name":"龙马潭区","no":"510504"},{"name":"泸县","no":"510521"},{"name":"合江县","no":"510522"},{"name":"叙永县","no":"510524"},{"name":"古蔺县","no":"510525"}]},{"name":"德阳市","no":"510600","children":[{"name":"旌阳区","no":"510603"},{"name":"罗江区","no":"510604"},{"name":"中江县","no":"510623"},{"name":"广汉市","no":"510681"},{"name":"什邡市","no":"510682"},{"name":"绵竹市","no":"510683"}]},{"name":"绵阳市","no":"510700","children":[{"name":"涪城区","no":"510703"},{"name":"游仙区","no":"510704"},{"name":"安州区","no":"510705"},{"name":"三台县","no":"510722"},{"name":"盐亭县","no":"510723"},{"name":"梓潼县","no":"510725"},{"name":"北川羌族自治县","no":"510726"},{"name":"平武县","no":"510727"},{"name":"江油市","no":"510781"},{"name":"高新区","no":"510791"}]},{"name":"广元市","no":"510800","children":[{"name":"利州区","no":"510802"},{"name":"昭化区","no":"510811"},{"name":"朝天区","no":"510812"},{"name":"旺苍县","no":"510821"},{"name":"青川县","no":"510822"},{"name":"剑阁县","no":"510823"},{"name":"苍溪县","no":"510824"}]},{"name":"遂宁市","no":"510900","children":[{"name":"船山区","no":"510903"},{"name":"安居区","no":"510904"},{"name":"蓬溪县","no":"510921"},{"name":"大英县","no":"510923"},{"name":"射洪市","no":"510981"}]},{"name":"内江市","no":"511000","children":[{"name":"市中区","no":"511002"},{"name":"东兴区","no":"511011"},{"name":"威远县","no":"511024"},{"name":"资中县","no":"511025"},{"name":"隆昌市","no":"511083"}]},{"name":"乐山市","no":"511100","children":[{"name":"市中区","no":"511102"},{"name":"沙湾区","no":"511111"},{"name":"五通桥区","no":"511112"},{"name":"金口河区","no":"511113"},{"name":"犍为县","no":"511123"},{"name":"井研县","no":"511124"},{"name":"夹江县","no":"511126"},{"name":"沐川县","no":"511129"},{"name":"峨边彝族自治县","no":"511132"},{"name":"马边彝族自治县","no":"511133"},{"name":"峨眉山市","no":"511181"}]},{"name":"南充市","no":"511300","children":[{"name":"顺庆区","no":"511302"},{"name":"高坪区","no":"511303"},{"name":"嘉陵区","no":"511304"},{"name":"南部县","no":"511321"},{"name":"营山县","no":"511322"},{"name":"蓬安县","no":"511323"},{"name":"仪陇县","no":"511324"},{"name":"西充县","no":"511325"},{"name":"阆中市","no":"511381"}]},{"name":"眉山市","no":"511400","children":[{"name":"东坡区","no":"511402"},{"name":"彭山区","no":"511403"},{"name":"仁寿县","no":"511421"},{"name":"洪雅县","no":"511423"},{"name":"丹棱县","no":"511424"},{"name":"青神县","no":"511425"}]},{"name":"宜宾市","no":"511500","children":[{"name":"翠屏区","no":"511502"},{"name":"南溪区","no":"511503"},{"name":"叙州区","no":"511504"},{"name":"江安县","no":"511523"},{"name":"长宁县","no":"511524"},{"name":"高县","no":"511525"},{"name":"珙县","no":"511526"},{"name":"筠连县","no":"511527"},{"name":"兴文县","no":"511528"},{"name":"屏山县","no":"511529"}]},{"name":"广安市","no":"511600","children":[{"name":"广安区","no":"511602"},{"name":"前锋区","no":"511603"},{"name":"岳池县","no":"511621"},{"name":"武胜县","no":"511622"},{"name":"邻水县","no":"511623"},{"name":"华蓥市","no":"511681"}]},{"name":"达州市","no":"511700","children":[{"name":"通川区","no":"511702"},{"name":"达川区","no":"511703"},{"name":"宣汉县","no":"511722"},{"name":"开江县","no":"511723"},{"name":"大竹县","no":"511724"},{"name":"渠县","no":"511725"},{"name":"万源市","no":"511781"}]},{"name":"雅安市","no":"511800","children":[{"name":"雨城区","no":"511802"},{"name":"名山区","no":"511803"},{"name":"荥经县","no":"511822"},{"name":"汉源县","no":"511823"},{"name":"石棉县","no":"511824"},{"name":"天全县","no":"511825"},{"name":"芦山县","no":"511826"},{"name":"宝兴县","no":"511827"}]},{"name":"巴中市","no":"511900","children":[{"name":"巴州区","no":"511902"},{"name":"恩阳区","no":"511903"},{"name":"通江县","no":"511921"},{"name":"南江县","no":"511922"},{"name":"平昌县","no":"511923"},{"name":"巴中经济开发区","no":"511971"}]},{"name":"资阳市","no":"512000","children":[{"name":"雁江区","no":"512002"},{"name":"安岳县","no":"512021"},{"name":"乐至县","no":"512022"}]},{"name":"阿坝藏族羌族自治州","no":"513200","children":[{"name":"马尔康市","no":"513201"},{"name":"汶川县","no":"513221"},{"name":"理县","no":"513222"},{"name":"茂县","no":"513223"},{"name":"松潘县","no":"513224"},{"name":"九寨沟县","no":"513225"},{"name":"金川县","no":"513226"},{"name":"小金县","no":"513227"},{"name":"黑水县","no":"513228"},{"name":"壤塘县","no":"513230"},{"name":"阿坝县","no":"513231"},{"name":"若尔盖县","no":"513232"},{"name":"红原县","no":"513233"}]},{"name":"甘孜藏族自治州","no":"513300","children":[{"name":"康定市","no":"513301"},{"name":"泸定县","no":"513322"},{"name":"丹巴县","no":"513323"},{"name":"九龙县","no":"513324"},{"name":"雅江县","no":"513325"},{"name":"道孚县","no":"513326"},{"name":"炉霍县","no":"513327"},{"name":"甘孜县","no":"513328"},{"name":"新龙县","no":"513329"},{"name":"德格县","no":"513330"},{"name":"白玉县","no":"513331"},{"name":"石渠县","no":"513332"},{"name":"色达县","no":"513333"},{"name":"理塘县","no":"513334"},{"name":"巴塘县","no":"513335"},{"name":"乡城县","no":"513336"},{"name":"稻城县","no":"513337"},{"name":"得荣县","no":"513338"}]},{"name":"凉山彝族自治州","no":"513400","children":[{"name":"西昌市","no":"513401"},{"name":"会理市","no":"513402"},{"name":"木里藏族自治县","no":"513422"},{"name":"盐源县","no":"513423"},{"name":"德昌县","no":"513424"},{"name":"会东县","no":"513426"},{"name":"宁南县","no":"513427"},{"name":"普格县","no":"513428"},{"name":"布拖县","no":"513429"},{"name":"金阳县","no":"513430"},{"name":"昭觉县","no":"513431"},{"name":"喜德县","no":"513432"},{"name":"冕宁县","no":"513433"},{"name":"越西县","no":"513434"},{"name":"甘洛县","no":"513435"},{"name":"美姑县","no":"513436"},{"name":"雷波县","no":"513437"}]}]},{"name":"贵州省","no":"520000","children":[{"name":"贵阳市","no":"520100","children":[{"name":"南明区","no":"520102"},{"name":"云岩区","no":"520103"},{"name":"花溪区","no":"520111"},{"name":"乌当区","no":"520112"},{"name":"白云区","no":"520113"},{"name":"观山湖区","no":"520115"},{"name":"开阳县","no":"520121"},{"name":"息烽县","no":"520122"},{"name":"修文县","no":"520123"},{"name":"清镇市","no":"520181"}]},{"name":"六盘水市","no":"520200","children":[{"name":"钟山区","no":"520201"},{"name":"六枝特区","no":"520203"},{"name":"水城区","no":"520204"},{"name":"盘州市","no":"520281"}]},{"name":"遵义市","no":"520300","children":[{"name":"红花岗区","no":"520302"},{"name":"汇川区","no":"520303"},{"name":"播州区","no":"520304"},{"name":"桐梓县","no":"520322"},{"name":"绥阳县","no":"520323"},{"name":"正安县","no":"520324"},{"name":"道真仡佬族苗族自治县","no":"520325"},{"name":"务川仡佬族苗族自治县","no":"520326"},{"name":"凤冈县","no":"520327"},{"name":"湄潭县","no":"520328"},{"name":"余庆县","no":"520329"},{"name":"习水县","no":"520330"},{"name":"赤水市","no":"520381"},{"name":"仁怀市","no":"520382"}]},{"name":"安顺市","no":"520400","children":[{"name":"西秀区","no":"520402"},{"name":"平坝区","no":"520403"},{"name":"普定县","no":"520422"},{"name":"镇宁布依族苗族自治县","no":"520423"},{"name":"关岭布依族苗族自治县","no":"520424"},{"name":"紫云苗族布依族自治县","no":"520425"}]},{"name":"毕节市","no":"520500","children":[{"name":"七星关区","no":"520502"},{"name":"大方县","no":"520521"},{"name":"金沙县","no":"520523"},{"name":"织金县","no":"520524"},{"name":"纳雍县","no":"520525"},{"name":"威宁彝族回族苗族自治县","no":"520526"},{"name":"赫章县","no":"520527"},{"name":"黔西市","no":"520581"}]},{"name":"铜仁市","no":"520600","children":[{"name":"碧江区","no":"520602"},{"name":"万山区","no":"520603"},{"name":"江口县","no":"520621"},{"name":"玉屏侗族自治县","no":"520622"},{"name":"石阡县","no":"520623"},{"name":"思南县","no":"520624"},{"name":"印江土家族苗族自治县","no":"520625"},{"name":"德江县","no":"520626"},{"name":"沿河土家族自治县","no":"520627"},{"name":"松桃苗族自治县","no":"520628"}]},{"name":"黔西南布依族苗族自治州","no":"522300","children":[{"name":"兴义市","no":"522301"},{"name":"兴仁市","no":"522302"},{"name":"普安县","no":"522323"},{"name":"晴隆县","no":"522324"},{"name":"贞丰县","no":"522325"},{"name":"望谟县","no":"522326"},{"name":"册亨县","no":"522327"},{"name":"安龙县","no":"522328"}]},{"name":"黔东南苗族侗族自治州","no":"522600","children":[{"name":"凯里市","no":"522601"},{"name":"黄平县","no":"522622"},{"name":"施秉县","no":"522623"},{"name":"三穗县","no":"522624"},{"name":"镇远县","no":"522625"},{"name":"岑巩县","no":"522626"},{"name":"天柱县","no":"522627"},{"name":"锦屏县","no":"522628"},{"name":"剑河县","no":"522629"},{"name":"台江县","no":"522630"},{"name":"黎平县","no":"522631"},{"name":"榕江县","no":"522632"},{"name":"从江县","no":"522633"},{"name":"雷山县","no":"522634"},{"name":"麻江县","no":"522635"},{"name":"丹寨县","no":"522636"}]},{"name":"黔南布依族苗族自治州","no":"522700","children":[{"name":"都匀市","no":"522701"},{"name":"福泉市","no":"522702"},{"name":"荔波县","no":"522722"},{"name":"贵定县","no":"522723"},{"name":"瓮安县","no":"522725"},{"name":"独山县","no":"522726"},{"name":"平塘县","no":"522727"},{"name":"罗甸县","no":"522728"},{"name":"长顺县","no":"522729"},{"name":"龙里县","no":"522730"},{"name":"惠水县","no":"522731"},{"name":"三都水族自治县","no":"522732"}]}]},{"name":"云南省","no":"530000","children":[{"name":"昆明市","no":"530100","children":[{"name":"五华区","no":"530102"},{"name":"盘龙区","no":"530103"},{"name":"官渡区","no":"530111"},{"name":"西山区","no":"530112"},{"name":"东川区","no":"530113"},{"name":"呈贡区","no":"530114"},{"name":"晋宁区","no":"530115"},{"name":"富民县","no":"530124"},{"name":"宜良县","no":"530125"},{"name":"石林彝族自治县","no":"530126"},{"name":"嵩明县","no":"530127"},{"name":"禄劝彝族苗族自治县","no":"530128"},{"name":"寻甸回族彝族自治县","no":"530129"},{"name":"安宁市","no":"530181"}]},{"name":"曲靖市","no":"530300","children":[{"name":"麒麟区","no":"530302"},{"name":"沾益区","no":"530303"},{"name":"马龙区","no":"530304"},{"name":"陆良县","no":"530322"},{"name":"师宗县","no":"530323"},{"name":"罗平县","no":"530324"},{"name":"富源县","no":"530325"},{"name":"会泽县","no":"530326"},{"name":"宣威市","no":"530381"}]},{"name":"玉溪市","no":"530400","children":[{"name":"红塔区","no":"530402"},{"name":"江川区","no":"530403"},{"name":"通海县","no":"530423"},{"name":"华宁县","no":"530424"},{"name":"易门县","no":"530425"},{"name":"峨山彝族自治县","no":"530426"},{"name":"新平彝族傣族自治县","no":"530427"},{"name":"元江哈尼族彝族傣族自治县","no":"530428"},{"name":"澄江市","no":"530481"}]},{"name":"保山市","no":"530500","children":[{"name":"隆阳区","no":"530502"},{"name":"施甸县","no":"530521"},{"name":"龙陵县","no":"530523"},{"name":"昌宁县","no":"530524"},{"name":"腾冲市","no":"530581"}]},{"name":"昭通市","no":"530600","children":[{"name":"昭阳区","no":"530602"},{"name":"鲁甸县","no":"530621"},{"name":"巧家县","no":"530622"},{"name":"盐津县","no":"530623"},{"name":"大关县","no":"530624"},{"name":"永善县","no":"530625"},{"name":"绥江县","no":"530626"},{"name":"镇雄县","no":"530627"},{"name":"彝良县","no":"530628"},{"name":"威信县","no":"530629"},{"name":"水富市","no":"530681"}]},{"name":"丽江市","no":"530700","children":[{"name":"古城区","no":"530702"},{"name":"玉龙纳西族自治县","no":"530721"},{"name":"永胜县","no":"530722"},{"name":"华坪县","no":"530723"},{"name":"宁蒗彝族自治县","no":"530724"}]},{"name":"普洱市","no":"530800","children":[{"name":"思茅区","no":"530802"},{"name":"宁洱哈尼族彝族自治县","no":"530821"},{"name":"墨江哈尼族自治县","no":"530822"},{"name":"景东彝族自治县","no":"530823"},{"name":"景谷傣族彝族自治县","no":"530824"},{"name":"镇沅彝族哈尼族拉祜族自治县","no":"530825"},{"name":"江城哈尼族彝族自治县","no":"530826"},{"name":"孟连傣族拉祜族佤族自治县","no":"530827"},{"name":"澜沧拉祜族自治县","no":"530828"},{"name":"西盟佤族自治县","no":"530829"}]},{"name":"临沧市","no":"530900","children":[{"name":"临翔区","no":"530902"},{"name":"凤庆县","no":"530921"},{"name":"云县","no":"530922"},{"name":"永德县","no":"530923"},{"name":"镇康县","no":"530924"},{"name":"双江拉祜族佤族布朗族傣族自治县","no":"530925"},{"name":"耿马傣族佤族自治县","no":"530926"},{"name":"沧源佤族自治县","no":"530927"}]},{"name":"楚雄彝族自治州","no":"532300","children":[{"name":"楚雄市","no":"532301"},{"name":"禄丰市","no":"532302"},{"name":"双柏县","no":"532322"},{"name":"牟定县","no":"532323"},{"name":"南华县","no":"532324"},{"name":"姚安县","no":"532325"},{"name":"大姚县","no":"532326"},{"name":"永仁县","no":"532327"},{"name":"元谋县","no":"532328"},{"name":"武定县","no":"532329"}]},{"name":"红河哈尼族彝族自治州","no":"532500","children":[{"name":"个旧市","no":"532501"},{"name":"开远市","no":"532502"},{"name":"蒙自市","no":"532503"},{"name":"弥勒市","no":"532504"},{"name":"屏边苗族自治县","no":"532523"},{"name":"建水县","no":"532524"},{"name":"石屏县","no":"532525"},{"name":"泸西县","no":"532527"},{"name":"元阳县","no":"532528"},{"name":"红河县","no":"532529"},{"name":"金平苗族瑶族傣族自治县","no":"532530"},{"name":"绿春县","no":"532531"},{"name":"河口瑶族自治县","no":"532532"}]},{"name":"文山壮族苗族自治州","no":"532600","children":[{"name":"文山市","no":"532601"},{"name":"砚山县","no":"532622"},{"name":"西畴县","no":"532623"},{"name":"麻栗坡县","no":"532624"},{"name":"马关县","no":"532625"},{"name":"丘北县","no":"532626"},{"name":"广南县","no":"532627"},{"name":"富宁县","no":"532628"}]},{"name":"西双版纳傣族自治州","no":"532800","children":[{"name":"景洪市","no":"532801"},{"name":"勐海县","no":"532822"},{"name":"勐腊县","no":"532823"}]},{"name":"大理白族自治州","no":"532900","children":[{"name":"大理市","no":"532901"},{"name":"漾濞彝族自治县","no":"532922"},{"name":"祥云县","no":"532923"},{"name":"宾川县","no":"532924"},{"name":"弥渡县","no":"532925"},{"name":"南涧彝族自治县","no":"532926"},{"name":"巍山彝族回族自治县","no":"532927"},{"name":"永平县","no":"532928"},{"name":"云龙县","no":"532929"},{"name":"洱源县","no":"532930"},{"name":"剑川县","no":"532931"},{"name":"鹤庆县","no":"532932"}]},{"name":"德宏傣族景颇族自治州","no":"533100","children":[{"name":"瑞丽市","no":"533102"},{"name":"芒市","no":"533103"},{"name":"梁河县","no":"533122"},{"name":"盈江县","no":"533123"},{"name":"陇川县","no":"533124"}]},{"name":"怒江傈僳族自治州","no":"533300","children":[{"name":"泸水市","no":"533301"},{"name":"福贡县","no":"533323"},{"name":"贡山独龙族怒族自治县","no":"533324"},{"name":"兰坪白族普米族自治县","no":"533325"}]},{"name":"迪庆藏族自治州","no":"533400","children":[{"name":"香格里拉市","no":"533401"},{"name":"德钦县","no":"533422"},{"name":"维西傈僳族自治县","no":"533423"}]}]},{"name":"西藏自治区","no":"540000","children":[{"name":"拉萨市","no":"540100","children":[{"name":"城关区","no":"540102"},{"name":"堆龙德庆区","no":"540103"},{"name":"达孜区","no":"540104"},{"name":"林周县","no":"540121"},{"name":"当雄县","no":"540122"},{"name":"尼木县","no":"540123"},{"name":"曲水县","no":"540124"},{"name":"墨竹工卡县","no":"540127"}]},{"name":"日喀则市","no":"540200","children":[{"name":"桑珠孜区","no":"540202"},{"name":"南木林县","no":"540221"},{"name":"江孜县","no":"540222"},{"name":"定日县","no":"540223"},{"name":"萨迦县","no":"540224"},{"name":"拉孜县","no":"540225"},{"name":"昂仁县","no":"540226"},{"name":"谢通门县","no":"540227"},{"name":"白朗县","no":"540228"},{"name":"仁布县","no":"540229"},{"name":"康马县","no":"540230"},{"name":"定结县","no":"540231"},{"name":"仲巴县","no":"540232"},{"name":"亚东县","no":"540233"},{"name":"吉隆县","no":"540234"},{"name":"聂拉木县","no":"540235"},{"name":"萨嘎县","no":"540236"},{"name":"岗巴县","no":"540237"}]},{"name":"昌都市","no":"540300","children":[{"name":"卡若区","no":"540302"},{"name":"江达县","no":"540321"},{"name":"贡觉县","no":"540322"},{"name":"类乌齐县","no":"540323"},{"name":"丁青县","no":"540324"},{"name":"察雅县","no":"540325"},{"name":"八宿县","no":"540326"},{"name":"左贡县","no":"540327"},{"name":"芒康县","no":"540328"},{"name":"洛隆县","no":"540329"},{"name":"边坝县","no":"540330"}]},{"name":"林芝市","no":"540400","children":[{"name":"巴宜区","no":"540402"},{"name":"工布江达县","no":"540421"},{"name":"墨脱县","no":"540423"},{"name":"波密县","no":"540424"},{"name":"察隅县","no":"540425"},{"name":"朗县","no":"540426"},{"name":"米林市","no":"540481"}]},{"name":"山南市","no":"540500","children":[{"name":"乃东区","no":"540502"},{"name":"扎囊县","no":"540521"},{"name":"贡嘎县","no":"540522"},{"name":"桑日县","no":"540523"},{"name":"琼结县","no":"540524"},{"name":"曲松县","no":"540525"},{"name":"措美县","no":"540526"},{"name":"洛扎县","no":"540527"},{"name":"加查县","no":"540528"},{"name":"隆子县","no":"540529"},{"name":"浪卡子县","no":"540531"},{"name":"错那市","no":"540581"}]},{"name":"那曲市","no":"540600","children":[{"name":"色尼区","no":"540602"},{"name":"嘉黎县","no":"540621"},{"name":"比如县","no":"540622"},{"name":"聂荣县","no":"540623"},{"name":"安多县","no":"540624"},{"name":"申扎县","no":"540625"},{"name":"索县","no":"540626"},{"name":"班戈县","no":"540627"},{"name":"巴青县","no":"540628"},{"name":"尼玛县","no":"540629"},{"name":"双湖县","no":"540630"}]},{"name":"阿里地区","no":"542500","children":[{"name":"普兰县","no":"542521"},{"name":"札达县","no":"542522"},{"name":"噶尔县","no":"542523"},{"name":"日土县","no":"542524"},{"name":"革吉县","no":"542525"},{"name":"改则县","no":"542526"},{"name":"措勤县","no":"542527"}]}]},{"name":"陕西省","no":"610000","children":[{"name":"西安市","no":"610100","children":[{"name":"新城区","no":"610102"},{"name":"碑林区","no":"610103"},{"name":"莲湖区","no":"610104"},{"name":"灞桥区","no":"610111"},{"name":"未央区","no":"610112"},{"name":"雁塔区","no":"610113"},{"name":"阎良区","no":"610114"},{"name":"临潼区","no":"610115"},{"name":"长安区","no":"610116"},{"name":"高陵区","no":"610117"},{"name":"鄠邑区","no":"610118"},{"name":"蓝田县","no":"610122"},{"name":"周至县","no":"610124"}]},{"name":"铜川市","no":"610200","children":[{"name":"王益区","no":"610202"},{"name":"印台区","no":"610203"},{"name":"耀州区","no":"610204"},{"name":"宜君县","no":"610222"}]},{"name":"宝鸡市","no":"610300","children":[{"name":"渭滨区","no":"610302"},{"name":"金台区","no":"610303"},{"name":"陈仓区","no":"610304"},{"name":"凤翔区","no":"610305"},{"name":"岐山县","no":"610323"},{"name":"扶风县","no":"610324"},{"name":"眉县","no":"610326"},{"name":"陇县","no":"610327"},{"name":"千阳县","no":"610328"},{"name":"麟游县","no":"610329"},{"name":"凤县","no":"610330"},{"name":"太白县","no":"610331"}]},{"name":"咸阳市","no":"610400","children":[{"name":"秦都区","no":"610402"},{"name":"杨陵区","no":"610403"},{"name":"渭城区","no":"610404"},{"name":"三原县","no":"610422"},{"name":"泾阳县","no":"610423"},{"name":"乾县","no":"610424"},{"name":"礼泉县","no":"610425"},{"name":"永寿县","no":"610426"},{"name":"长武县","no":"610428"},{"name":"旬邑县","no":"610429"},{"name":"淳化县","no":"610430"},{"name":"武功县","no":"610431"},{"name":"兴平市","no":"610481"},{"name":"彬州市","no":"610482"}]},{"name":"渭南市","no":"610500","children":[{"name":"临渭区","no":"610502"},{"name":"华州区","no":"610503"},{"name":"潼关县","no":"610522"},{"name":"大荔县","no":"610523"},{"name":"合阳县","no":"610524"},{"name":"澄城县","no":"610525"},{"name":"蒲城县","no":"610526"},{"name":"白水县","no":"610527"},{"name":"富平县","no":"610528"},{"name":"韩城市","no":"610581"},{"name":"华阴市","no":"610582"}]},{"name":"延安市","no":"610600","children":[{"name":"宝塔区","no":"610602"},{"name":"安塞区","no":"610603"},{"name":"延长县","no":"610621"},{"name":"延川县","no":"610622"},{"name":"志丹县","no":"610625"},{"name":"吴起县","no":"610626"},{"name":"甘泉县","no":"610627"},{"name":"富县","no":"610628"},{"name":"洛川县","no":"610629"},{"name":"宜川县","no":"610630"},{"name":"黄龙县","no":"610631"},{"name":"黄陵县","no":"610632"},{"name":"子长市","no":"610681"}]},{"name":"汉中市","no":"610700","children":[{"name":"汉台区","no":"610702"},{"name":"南郑区","no":"610703"},{"name":"城固县","no":"610722"},{"name":"洋县","no":"610723"},{"name":"西乡县","no":"610724"},{"name":"勉县","no":"610725"},{"name":"宁强县","no":"610726"},{"name":"略阳县","no":"610727"},{"name":"镇巴县","no":"610728"},{"name":"留坝县","no":"610729"},{"name":"佛坪县","no":"610730"}]},{"name":"榆林市","no":"610800","children":[{"name":"榆阳区","no":"610802"},{"name":"横山区","no":"610803"},{"name":"府谷县","no":"610822"},{"name":"靖边县","no":"610824"},{"name":"定边县","no":"610825"},{"name":"绥德县","no":"610826"},{"name":"米脂县","no":"610827"},{"name":"佳县","no":"610828"},{"name":"吴堡县","no":"610829"},{"name":"清涧县","no":"610830"},{"name":"子洲县","no":"610831"},{"name":"神木市","no":"610881"}]},{"name":"安康市","no":"610900","children":[{"name":"汉滨区","no":"610902"},{"name":"汉阴县","no":"610921"},{"name":"石泉县","no":"610922"},{"name":"宁陕县","no":"610923"},{"name":"紫阳县","no":"610924"},{"name":"岚皋县","no":"610925"},{"name":"平利县","no":"610926"},{"name":"镇坪县","no":"610927"},{"name":"白河县","no":"610929"},{"name":"旬阳市","no":"610981"}]},{"name":"商洛市","no":"611000","children":[{"name":"商州区","no":"611002"},{"name":"洛南县","no":"611021"},{"name":"丹凤县","no":"611022"},{"name":"商南县","no":"611023"},{"name":"山阳县","no":"611024"},{"name":"镇安县","no":"611025"},{"name":"柞水县","no":"611026"}]}]},{"name":"甘肃省","no":"620000","children":[{"name":"兰州市","no":"620100","children":[{"name":"城关区","no":"620102"},{"name":"七里河区","no":"620103"},{"name":"西固区","no":"620104"},{"name":"安宁区","no":"620105"},{"name":"红古区","no":"620111"},{"name":"永登县","no":"620121"},{"name":"皋兰县","no":"620122"},{"name":"榆中县","no":"620123"},{"name":"兰州新区","no":"620171"}]},{"name":"嘉峪关市","no":"620200","children":[{"name":"市辖区","no":"620201"},{"name":"雄关区","no":"620290"},{"name":"长城区","no":"620291"},{"name":"镜铁区","no":"620292"},{"name":"新城镇","no":"620293"},{"name":"峪泉镇","no":"620294"},{"name":"文殊镇","no":"620295"}]},{"name":"金昌市","no":"620300","children":[{"name":"金川区","no":"620302"},{"name":"永昌县","no":"620321"}]},{"name":"白银市","no":"620400","children":[{"name":"白银区","no":"620402"},{"name":"平川区","no":"620403"},{"name":"靖远县","no":"620421"},{"name":"会宁县","no":"620422"},{"name":"景泰县","no":"620423"}]},{"name":"天水市","no":"620500","children":[{"name":"秦州区","no":"620502"},{"name":"麦积区","no":"620503"},{"name":"清水县","no":"620521"},{"name":"秦安县","no":"620522"},{"name":"甘谷县","no":"620523"},{"name":"武山县","no":"620524"},{"name":"张家川回族自治县","no":"620525"}]},{"name":"武威市","no":"620600","children":[{"name":"凉州区","no":"620602"},{"name":"民勤县","no":"620621"},{"name":"古浪县","no":"620622"},{"name":"天祝藏族自治县","no":"620623"}]},{"name":"张掖市","no":"620700","children":[{"name":"甘州区","no":"620702"},{"name":"肃南裕固族自治县","no":"620721"},{"name":"民乐县","no":"620722"},{"name":"临泽县","no":"620723"},{"name":"高台县","no":"620724"},{"name":"山丹县","no":"620725"}]},{"name":"平凉市","no":"620800","children":[{"name":"崆峒区","no":"620802"},{"name":"泾川县","no":"620821"},{"name":"灵台县","no":"620822"},{"name":"崇信县","no":"620823"},{"name":"庄浪县","no":"620825"},{"name":"静宁县","no":"620826"},{"name":"华亭市","no":"620881"}]},{"name":"酒泉市","no":"620900","children":[{"name":"肃州区","no":"620902"},{"name":"金塔县","no":"620921"},{"name":"瓜州县","no":"620922"},{"name":"肃北蒙古族自治县","no":"620923"},{"name":"阿克塞哈萨克族自治县","no":"620924"},{"name":"玉门市","no":"620981"},{"name":"敦煌市","no":"620982"}]},{"name":"庆阳市","no":"621000","children":[{"name":"西峰区","no":"621002"},{"name":"庆城县","no":"621021"},{"name":"环县","no":"621022"},{"name":"华池县","no":"621023"},{"name":"合水县","no":"621024"},{"name":"正宁县","no":"621025"},{"name":"宁县","no":"621026"},{"name":"镇原县","no":"621027"}]},{"name":"定西市","no":"621100","children":[{"name":"安定区","no":"621102"},{"name":"通渭县","no":"621121"},{"name":"陇西县","no":"621122"},{"name":"渭源县","no":"621123"},{"name":"临洮县","no":"621124"},{"name":"漳县","no":"621125"},{"name":"岷县","no":"621126"}]},{"name":"陇南市","no":"621200","children":[{"name":"武都区","no":"621202"},{"name":"成县","no":"621221"},{"name":"文县","no":"621222"},{"name":"宕昌县","no":"621223"},{"name":"康县","no":"621224"},{"name":"西和县","no":"621225"},{"name":"礼县","no":"621226"},{"name":"徽县","no":"621227"},{"name":"两当县","no":"621228"}]},{"name":"临夏回族自治州","no":"622900","children":[{"name":"临夏市","no":"622901"},{"name":"临夏县","no":"622921"},{"name":"康乐县","no":"622922"},{"name":"永靖县","no":"622923"},{"name":"广河县","no":"622924"},{"name":"和政县","no":"622925"},{"name":"东乡族自治县","no":"622926"},{"name":"积石山保安族东乡族撒拉族自治县","no":"622927"}]},{"name":"甘南藏族自治州","no":"623000","children":[{"name":"合作市","no":"623001"},{"name":"临潭县","no":"623021"},{"name":"卓尼县","no":"623022"},{"name":"舟曲县","no":"623023"},{"name":"迭部县","no":"623024"},{"name":"玛曲县","no":"623025"},{"name":"碌曲县","no":"623026"},{"name":"夏河县","no":"623027"}]}]},{"name":"青海省","no":"630000","children":[{"name":"西宁市","no":"630100","children":[{"name":"城东区","no":"630102"},{"name":"城中区","no":"630103"},{"name":"城西区","no":"630104"},{"name":"城北区","no":"630105"},{"name":"湟中区","no":"630106"},{"name":"大通回族土族自治县","no":"630121"},{"name":"湟源县","no":"630123"}]},{"name":"海东市","no":"630200","children":[{"name":"乐都区","no":"630202"},{"name":"平安区","no":"630203"},{"name":"民和回族土族自治县","no":"630222"},{"name":"互助土族自治县","no":"630223"},{"name":"化隆回族自治县","no":"630224"},{"name":"循化撒拉族自治县","no":"630225"}]},{"name":"海北藏族自治州","no":"632200","children":[{"name":"门源回族自治县","no":"632221"},{"name":"祁连县","no":"632222"},{"name":"海晏县","no":"632223"},{"name":"刚察县","no":"632224"}]},{"name":"黄南藏族自治州","no":"632300","children":[{"name":"同仁市","no":"632301"},{"name":"尖扎县","no":"632322"},{"name":"泽库县","no":"632323"},{"name":"河南蒙古族自治县","no":"632324"}]},{"name":"海南藏族自治州","no":"632500","children":[{"name":"共和县","no":"632521"},{"name":"同德县","no":"632522"},{"name":"贵德县","no":"632523"},{"name":"兴海县","no":"632524"},{"name":"贵南县","no":"632525"}]},{"name":"果洛藏族自治州","no":"632600","children":[{"name":"玛沁县","no":"632621"},{"name":"班玛县","no":"632622"},{"name":"甘德县","no":"632623"},{"name":"达日县","no":"632624"},{"name":"久治县","no":"632625"},{"name":"玛多县","no":"632626"}]},{"name":"玉树藏族自治州","no":"632700","children":[{"name":"玉树市","no":"632701"},{"name":"杂多县","no":"632722"},{"name":"称多县","no":"632723"},{"name":"治多县","no":"632724"},{"name":"囊谦县","no":"632725"},{"name":"曲麻莱县","no":"632726"}]},{"name":"海西蒙古族藏族自治州","no":"632800","children":[{"name":"格尔木市","no":"632801"},{"name":"德令哈市","no":"632802"},{"name":"茫崖市","no":"632803"},{"name":"乌兰县","no":"632821"},{"name":"都兰县","no":"632822"},{"name":"天峻县","no":"632823"},{"name":"大柴旦行政委员会","no":"632857"}]}]},{"name":"宁夏回族自治区","no":"640000","children":[{"name":"银川市","no":"640100","children":[{"name":"兴庆区","no":"640104"},{"name":"西夏区","no":"640105"},{"name":"金凤区","no":"640106"},{"name":"永宁县","no":"640121"},{"name":"贺兰县","no":"640122"},{"name":"灵武市","no":"640181"}]},{"name":"石嘴山市","no":"640200","children":[{"name":"大武口区","no":"640202"},{"name":"惠农区","no":"640205"},{"name":"平罗县","no":"640221"}]},{"name":"吴忠市","no":"640300","children":[{"name":"利通区","no":"640302"},{"name":"红寺堡区","no":"640303"},{"name":"盐池县","no":"640323"},{"name":"同心县","no":"640324"},{"name":"青铜峡市","no":"640381"}]},{"name":"固原市","no":"640400","children":[{"name":"原州区","no":"640402"},{"name":"西吉县","no":"640422"},{"name":"隆德县","no":"640423"},{"name":"泾源县","no":"640424"},{"name":"彭阳县","no":"640425"}]},{"name":"中卫市","no":"640500","children":[{"name":"沙坡头区","no":"640502"},{"name":"中宁县","no":"640521"},{"name":"海原县","no":"640522"}]}]},{"name":"新疆维吾尔自治区","no":"650000","children":[{"name":"乌鲁木齐市","no":"650100","children":[{"name":"天山区","no":"650102"},{"name":"沙依巴克区","no":"650103"},{"name":"新市区","no":"650104"},{"name":"水磨沟区","no":"650105"},{"name":"头屯河区","no":"650106"},{"name":"达坂城区","no":"650107"},{"name":"米东区","no":"650109"},{"name":"乌鲁木齐县","no":"650121"}]},{"name":"克拉玛依市","no":"650200","children":[{"name":"独山子区","no":"650202"},{"name":"克拉玛依区","no":"650203"},{"name":"白碱滩区","no":"650204"},{"name":"乌尔禾区","no":"650205"}]},{"name":"吐鲁番市","no":"650400","children":[{"name":"高昌区","no":"650402"},{"name":"鄯善县","no":"650421"},{"name":"托克逊县","no":"650422"}]},{"name":"哈密市","no":"650500","children":[{"name":"伊州区","no":"650502"},{"name":"巴里坤哈萨克自治县","no":"650521"},{"name":"伊吾县","no":"650522"}]},{"name":"昌吉回族自治州","no":"652300","children":[{"name":"昌吉市","no":"652301"},{"name":"阜康市","no":"652302"},{"name":"呼图壁县","no":"652323"},{"name":"玛纳斯县","no":"652324"},{"name":"奇台县","no":"652325"},{"name":"吉木萨尔县","no":"652327"},{"name":"木垒哈萨克自治县","no":"652328"}]},{"name":"博尔塔拉蒙古自治州","no":"652700","children":[{"name":"博乐市","no":"652701"},{"name":"阿拉山口市","no":"652702"},{"name":"精河县","no":"652722"},{"name":"温泉县","no":"652723"}]},{"name":"巴音郭楞蒙古自治州","no":"652800","children":[{"name":"库尔勒市","no":"652801"},{"name":"轮台县","no":"652822"},{"name":"尉犁县","no":"652823"},{"name":"若羌县","no":"652824"},{"name":"且末县","no":"652825"},{"name":"焉耆回族自治县","no":"652826"},{"name":"和静县","no":"652827"},{"name":"和硕县","no":"652828"},{"name":"博湖县","no":"652829"}]},{"name":"阿克苏地区","no":"652900","children":[{"name":"阿克苏市","no":"652901"},{"name":"库车市","no":"652902"},{"name":"温宿县","no":"652922"},{"name":"沙雅县","no":"652924"},{"name":"新和县","no":"652925"},{"name":"拜城县","no":"652926"},{"name":"乌什县","no":"652927"},{"name":"阿瓦提县","no":"652928"},{"name":"柯坪县","no":"652929"}]},{"name":"克孜勒苏柯尔克孜自治州","no":"653000","children":[{"name":"阿图什市","no":"653001"},{"name":"阿克陶县","no":"653022"},{"name":"阿合奇县","no":"653023"},{"name":"乌恰县","no":"653024"}]},{"name":"喀什地区","no":"653100","children":[{"name":"喀什市","no":"653101"},{"name":"疏附县","no":"653121"},{"name":"疏勒县","no":"653122"},{"name":"英吉沙县","no":"653123"},{"name":"泽普县","no":"653124"},{"name":"莎车县","no":"653125"},{"name":"叶城县","no":"653126"},{"name":"麦盖提县","no":"653127"},{"name":"岳普湖县","no":"653128"},{"name":"伽师县","no":"653129"},{"name":"巴楚县","no":"653130"},{"name":"塔什库尔干塔吉克自治县","no":"653131"}]},{"name":"和田地区","no":"653200","children":[{"name":"和田市","no":"653201"},{"name":"和田县","no":"653221"},{"name":"墨玉县","no":"653222"},{"name":"皮山县","no":"653223"},{"name":"洛浦县","no":"653224"},{"name":"策勒县","no":"653225"},{"name":"于田县","no":"653226"},{"name":"民丰县","no":"653227"}]},{"name":"伊犁哈萨克自治州","no":"654000","children":[{"name":"伊宁市","no":"654002"},{"name":"奎屯市","no":"654003"},{"name":"霍尔果斯市","no":"654004"},{"name":"伊宁县","no":"654021"},{"name":"察布查尔锡伯自治县","no":"654022"},{"name":"霍城县","no":"654023"},{"name":"巩留县","no":"654024"},{"name":"新源县","no":"654025"},{"name":"昭苏县","no":"654026"},{"name":"特克斯县","no":"654027"},{"name":"尼勒克县","no":"654028"}]},{"name":"塔城地区","no":"654200","children":[{"name":"塔城市","no":"654201"},{"name":"乌苏市","no":"654202"},{"name":"沙湾市","no":"654203"},{"name":"额敏县","no":"654221"},{"name":"托里县","no":"654224"},{"name":"裕民县","no":"654225"},{"name":"和布克赛尔蒙古自治县","no":"654226"}]},{"name":"阿勒泰地区","no":"654300","children":[{"name":"阿勒泰市","no":"654301"},{"name":"布尔津县","no":"654321"},{"name":"富蕴县","no":"654322"},{"name":"福海县","no":"654323"},{"name":"哈巴河县","no":"654324"},{"name":"青河县","no":"654325"},{"name":"吉木乃县","no":"654326"}]},{"name":"自治区直辖县级行政区划","no":"659000","children":[{"name":"石河子市","no":"659001"},{"name":"阿拉尔市","no":"659002"},{"name":"图木舒克市","no":"659003"},{"name":"五家渠市","no":"659004"},{"name":"北屯市","no":"659005"},{"name":"铁门关市","no":"659006"},{"name":"双河市","no":"659007"},{"name":"可克达拉市","no":"659008"},{"name":"昆玉市","no":"659009"},{"name":"胡杨河市","no":"659010"},{"name":"新星市","no":"659011"},{"name":"白杨市","no":"659012"}]}]},{"name":"台湾省","no":"710000","children":[{"name":"台北市","no":"710100","children":[{"name":"中正区","no":"710101"},{"name":"大同区","no":"710102"},{"name":"中山区","no":"710103"},{"name":"松山区","no":"710104"},{"name":"大安区","no":"710105"},{"name":"万华区","no":"710106"},{"name":"信义区","no":"710107"},{"name":"士林区","no":"710108"},{"name":"北投区","no":"710109"},{"name":"内湖区","no":"710110"},{"name":"南港区","no":"710111"},{"name":"文山区","no":"710112"},{"name":"其它区","no":"710199"}]},{"name":"高雄市","no":"710200","children":[{"name":"新兴区","no":"710201"},{"name":"前金区","no":"710202"},{"name":"芩雅区","no":"710203"},{"name":"盐埕区","no":"710204"},{"name":"鼓山区","no":"710205"},{"name":"旗津区","no":"710206"},{"name":"前镇区","no":"710207"},{"name":"三民区","no":"710208"},{"name":"左营区","no":"710209"},{"name":"楠梓区","no":"710210"},{"name":"小港区","no":"710211"},{"name":"苓雅区","no":"710241"},{"name":"仁武区","no":"710242"},{"name":"大社区","no":"710243"},{"name":"冈山区","no":"710244"},{"name":"路竹区","no":"710245"},{"name":"阿莲区","no":"710246"},{"name":"田寮区","no":"710247"},{"name":"燕巢区","no":"710248"},{"name":"桥头区","no":"710249"},{"name":"梓官区","no":"710250"},{"name":"弥陀区","no":"710251"},{"name":"永安区","no":"710252"},{"name":"湖内区","no":"710253"},{"name":"凤山区","no":"710254"},{"name":"大寮区","no":"710255"},{"name":"林园区","no":"710256"},{"name":"鸟松区","no":"710257"},{"name":"大树区","no":"710258"},{"name":"旗山区","no":"710259"},{"name":"美浓区","no":"710260"},{"name":"六龟区","no":"710261"},{"name":"内门区","no":"710262"},{"name":"杉林区","no":"710263"},{"name":"甲仙区","no":"710264"},{"name":"桃源区","no":"710265"},{"name":"那玛夏区","no":"710266"},{"name":"茂林区","no":"710267"},{"name":"茄萣区","no":"710268"},{"name":"其它区","no":"710299"}]},{"name":"台南市","no":"710300","children":[{"name":"中西区","no":"710301"},{"name":"东区","no":"710302"},{"name":"南区","no":"710303"},{"name":"北区","no":"710304"},{"name":"安平区","no":"710305"},{"name":"安南区","no":"710306"},{"name":"永康区","no":"710339"},{"name":"归仁区","no":"710340"},{"name":"新化区","no":"710341"},{"name":"左镇区","no":"710342"},{"name":"玉井区","no":"710343"},{"name":"楠西区","no":"710344"},{"name":"南化区","no":"710345"},{"name":"仁德区","no":"710346"},{"name":"关庙区","no":"710347"},{"name":"龙崎区","no":"710348"},{"name":"官田区","no":"710349"},{"name":"麻豆区","no":"710350"},{"name":"佳里区","no":"710351"},{"name":"西港区","no":"710352"},{"name":"七股区","no":"710353"},{"name":"将军区","no":"710354"},{"name":"学甲区","no":"710355"},{"name":"北门区","no":"710356"},{"name":"新营区","no":"710357"},{"name":"后壁区","no":"710358"},{"name":"白河区","no":"710359"},{"name":"东山区","no":"710360"},{"name":"六甲区","no":"710361"},{"name":"下营区","no":"710362"},{"name":"柳营区","no":"710363"},{"name":"盐水区","no":"710364"},{"name":"善化区","no":"710365"},{"name":"大内区","no":"710366"},{"name":"山上区","no":"710367"},{"name":"新市区","no":"710368"},{"name":"安定区","no":"710369"},{"name":"其它区","no":"710399"}]},{"name":"台中市","no":"710400","children":[{"name":"中区","no":"710401"},{"name":"东区","no":"710402"},{"name":"南区","no":"710403"},{"name":"西区","no":"710404"},{"name":"北区","no":"710405"},{"name":"北屯区","no":"710406"},{"name":"西屯区","no":"710407"},{"name":"南屯区","no":"710408"},{"name":"太平区","no":"710431"},{"name":"大里区","no":"710432"},{"name":"雾峰区","no":"710433"},{"name":"乌日区","no":"710434"},{"name":"丰原区","no":"710435"},{"name":"后里区","no":"710436"},{"name":"石冈区","no":"710437"},{"name":"东势区","no":"710438"},{"name":"和平区","no":"710439"},{"name":"新社区","no":"710440"},{"name":"潭子区","no":"710441"},{"name":"大雅区","no":"710442"},{"name":"神冈区","no":"710443"},{"name":"大肚区","no":"710444"},{"name":"沙鹿区","no":"710445"},{"name":"龙井区","no":"710446"},{"name":"梧栖区","no":"710447"},{"name":"清水区","no":"710448"},{"name":"大甲区","no":"710449"},{"name":"外埔区","no":"710450"},{"name":"大安区","no":"710451"},{"name":"其它区","no":"710499"}]},{"name":"金门县","no":"710500","children":[{"name":"金沙镇","no":"710507"},{"name":"金湖镇","no":"710508"},{"name":"金宁乡","no":"710509"},{"name":"金城镇","no":"710510"},{"name":"烈屿乡","no":"710511"},{"name":"乌坵乡","no":"710512"}]},{"name":"南投县","no":"710600","children":[{"name":"南投市","no":"710614"},{"name":"中寮乡","no":"710615"},{"name":"草屯镇","no":"710616"},{"name":"国姓乡","no":"710617"},{"name":"埔里镇","no":"710618"},{"name":"仁爱乡","no":"710619"},{"name":"名间乡","no":"710620"},{"name":"集集镇","no":"710621"},{"name":"水里乡","no":"710622"},{"name":"鱼池乡","no":"710623"},{"name":"信义乡","no":"710624"},{"name":"竹山镇","no":"710625"},{"name":"鹿谷乡","no":"710626"}]},{"name":"基隆市","no":"710700","children":[{"name":"仁爱区","no":"710701"},{"name":"信义区","no":"710702"},{"name":"中正区","no":"710703"},{"name":"中山区","no":"710704"},{"name":"安乐区","no":"710705"},{"name":"暖暖区","no":"710706"},{"name":"七堵区","no":"710707"},{"name":"其它区","no":"710799"}]},{"name":"新竹市","no":"710800","children":[{"name":"东区","no":"710801"},{"name":"北区","no":"710802"},{"name":"香山区","no":"710803"},{"name":"其它区","no":"710899"}]},{"name":"嘉义市","no":"710900","children":[{"name":"东区","no":"710901"},{"name":"西区","no":"710902"},{"name":"其它区","no":"710999"}]},{"name":"新北市","no":"711100","children":[{"name":"万里区","no":"711130"},{"name":"板桥区","no":"711132"},{"name":"汐止区","no":"711133"},{"name":"深坑区","no":"711134"},{"name":"石碇区","no":"711135"},{"name":"瑞芳区","no":"711136"},{"name":"平溪区","no":"711137"},{"name":"双溪区","no":"711138"},{"name":"贡寮区","no":"711139"},{"name":"新店区","no":"711140"},{"name":"坪林区","no":"711141"},{"name":"乌来区","no":"711142"},{"name":"永和区","no":"711143"},{"name":"中和区","no":"711144"},{"name":"土城区","no":"711145"},{"name":"三峡区","no":"711146"},{"name":"树林区","no":"711147"},{"name":"莺歌区","no":"711148"},{"name":"三重区","no":"711149"},{"name":"新庄区","no":"711150"},{"name":"泰山区","no":"711151"},{"name":"林口区","no":"711152"},{"name":"芦洲区","no":"711153"},{"name":"五股区","no":"711154"},{"name":"八里区","no":"711155"},{"name":"淡水区","no":"711156"},{"name":"三芝区","no":"711157"},{"name":"石门区","no":"711158"}]},{"name":"宜兰县","no":"711200","children":[{"name":"宜兰市","no":"711287"},{"name":"头城镇","no":"711288"},{"name":"礁溪乡","no":"711289"},{"name":"壮围乡","no":"711290"},{"name":"员山乡","no":"711291"},{"name":"罗东镇","no":"711292"},{"name":"三星乡","no":"711293"},{"name":"大同乡","no":"711294"},{"name":"五结乡","no":"711295"},{"name":"冬山乡","no":"711296"},{"name":"苏澳镇","no":"711297"},{"name":"南澳乡","no":"711298"},{"name":"钓鱼台","no":"711299"}]},{"name":"新竹县","no":"711300","children":[{"name":"竹北市","no":"711387"},{"name":"湖口乡","no":"711388"},{"name":"新丰乡","no":"711389"},{"name":"新埔镇","no":"711390"},{"name":"关西镇","no":"711391"},{"name":"芎林乡","no":"711392"},{"name":"宝山乡","no":"711393"},{"name":"竹东镇","no":"711394"},{"name":"五峰乡","no":"711395"},{"name":"横山乡","no":"711396"},{"name":"尖石乡","no":"711397"},{"name":"北埔乡","no":"711398"},{"name":"峨眉乡","no":"711399"}]},{"name":"桃园市","no":"711400","children":[{"name":"中坜区","no":"711414"},{"name":"平镇区","no":"711415"},{"name":"杨梅区","no":"711417"},{"name":"新屋区","no":"711418"},{"name":"观音区","no":"711419"},{"name":"桃园区","no":"711420"},{"name":"龟山区","no":"711421"},{"name":"八德区","no":"711422"},{"name":"大溪区","no":"711423"},{"name":"大园区","no":"711425"},{"name":"芦竹区","no":"711426"},{"name":"中坜市","no":"711487"},{"name":"平镇市","no":"711488"},{"name":"龙潭乡","no":"711489"},{"name":"杨梅市","no":"711490"},{"name":"新屋乡","no":"711491"},{"name":"观音乡","no":"711492"},{"name":"桃园市","no":"711493"},{"name":"龟山乡","no":"711494"},{"name":"八德市","no":"711495"},{"name":"大溪镇","no":"711496"},{"name":"复兴乡","no":"711497"},{"name":"大园乡","no":"711498"},{"name":"芦竹乡","no":"711499"}]},{"name":"苗栗县","no":"711500","children":[{"name":"头份市","no":"711520"},{"name":"竹南镇","no":"711582"},{"name":"头份镇","no":"711583"},{"name":"三湾乡","no":"711584"},{"name":"南庄乡","no":"711585"},{"name":"狮潭乡","no":"711586"},{"name":"后龙镇","no":"711587"},{"name":"通霄镇","no":"711588"},{"name":"苑里镇","no":"711589"},{"name":"苗栗市","no":"711590"},{"name":"造桥乡","no":"711591"},{"name":"头屋乡","no":"711592"},{"name":"公馆乡","no":"711593"},{"name":"大湖乡","no":"711594"},{"name":"泰安乡","no":"711595"},{"name":"铜锣乡","no":"711596"},{"name":"三义乡","no":"711597"},{"name":"西湖乡","no":"711598"},{"name":"卓兰镇","no":"711599"}]},{"name":"彰化县","no":"711700","children":[{"name":"员林市","no":"711736"},{"name":"彰化市","no":"711774"},{"name":"芬园乡","no":"711775"},{"name":"花坛乡","no":"711776"},{"name":"秀水乡","no":"711777"},{"name":"鹿港镇","no":"711778"},{"name":"福兴乡","no":"711779"},{"name":"线西乡","no":"711780"},{"name":"和美镇","no":"711781"},{"name":"伸港乡","no":"711782"},{"name":"员林镇","no":"711783"},{"name":"社头乡","no":"711784"},{"name":"永靖乡","no":"711785"},{"name":"埔心乡","no":"711786"},{"name":"溪湖镇","no":"711787"},{"name":"大村乡","no":"711788"},{"name":"埔盐乡","no":"711789"},{"name":"田中镇","no":"711790"},{"name":"北斗镇","no":"711791"},{"name":"田尾乡","no":"711792"},{"name":"埤头乡","no":"711793"},{"name":"溪州乡","no":"711794"},{"name":"竹塘乡","no":"711795"},{"name":"二林镇","no":"711796"},{"name":"大城乡","no":"711797"},{"name":"芳苑乡","no":"711798"},{"name":"二水乡","no":"711799"}]},{"name":"嘉义县","no":"711900","children":[{"name":"番路乡","no":"711982"},{"name":"梅山乡","no":"711983"},{"name":"竹崎乡","no":"711984"},{"name":"阿里山乡","no":"711985"},{"name":"中埔乡","no":"711986"},{"name":"大埔乡","no":"711987"},{"name":"水上乡","no":"711988"},{"name":"鹿草乡","no":"711989"},{"name":"太保市","no":"711990"},{"name":"朴子市","no":"711991"},{"name":"东石乡","no":"711992"},{"name":"六脚乡","no":"711993"},{"name":"新港乡","no":"711994"},{"name":"民雄乡","no":"711995"},{"name":"大林镇","no":"711996"},{"name":"溪口乡","no":"711997"},{"name":"义竹乡","no":"711998"},{"name":"布袋镇","no":"711999"}]},{"name":"云林县","no":"712100","children":[{"name":"斗南镇","no":"712180"},{"name":"大埤乡","no":"712181"},{"name":"虎尾镇","no":"712182"},{"name":"土库镇","no":"712183"},{"name":"褒忠乡","no":"712184"},{"name":"东势乡","no":"712185"},{"name":"台西乡","no":"712186"},{"name":"仑背乡","no":"712187"},{"name":"麦寮乡","no":"712188"},{"name":"斗六市","no":"712189"},{"name":"林内乡","no":"712190"},{"name":"古坑乡","no":"712191"},{"name":"莿桐乡","no":"712192"},{"name":"西螺镇","no":"712193"},{"name":"二仑乡","no":"712194"},{"name":"北港镇","no":"712195"},{"name":"水林乡","no":"712196"},{"name":"口湖乡","no":"712197"},{"name":"四湖乡","no":"712198"},{"name":"元长乡","no":"712199"}]},{"name":"屏东县","no":"712400","children":[{"name":"崁顶乡","no":"712451"},{"name":"屏东市","no":"712467"},{"name":"三地门乡","no":"712468"},{"name":"雾台乡","no":"712469"},{"name":"玛家乡","no":"712470"},{"name":"九如乡","no":"712471"},{"name":"里港乡","no":"712472"},{"name":"高树乡","no":"712473"},{"name":"盐埔乡","no":"712474"},{"name":"长治乡","no":"712475"},{"name":"麟洛乡","no":"712476"},{"name":"竹田乡","no":"712477"},{"name":"内埔乡","no":"712478"},{"name":"万丹乡","no":"712479"},{"name":"潮州镇","no":"712480"},{"name":"泰武乡","no":"712481"},{"name":"来义乡","no":"712482"},{"name":"万峦乡","no":"712483"},{"name":"莰顶乡","no":"712484"},{"name":"新埤乡","no":"712485"},{"name":"南州乡","no":"712486"},{"name":"林边乡","no":"712487"},{"name":"东港镇","no":"712488"},{"name":"琉球乡","no":"712489"},{"name":"佳冬乡","no":"712490"},{"name":"新园乡","no":"712491"},{"name":"枋寮乡","no":"712492"},{"name":"枋山乡","no":"712493"},{"name":"春日乡","no":"712494"},{"name":"狮子乡","no":"712495"},{"name":"车城乡","no":"712496"},{"name":"牡丹乡","no":"712497"},{"name":"恒春镇","no":"712498"},{"name":"满州乡","no":"712499"}]},{"name":"台东县","no":"712500","children":[{"name":"台东市","no":"712584"},{"name":"绿岛乡","no":"712585"},{"name":"兰屿乡","no":"712586"},{"name":"延平乡","no":"712587"},{"name":"卑南乡","no":"712588"},{"name":"鹿野乡","no":"712589"},{"name":"关山镇","no":"712590"},{"name":"海端乡","no":"712591"},{"name":"池上乡","no":"712592"},{"name":"东河乡","no":"712593"},{"name":"成功镇","no":"712594"},{"name":"长滨乡","no":"712595"},{"name":"金峰乡","no":"712596"},{"name":"大武乡","no":"712597"},{"name":"达仁乡","no":"712598"},{"name":"太麻里乡","no":"712599"}]},{"name":"花莲县","no":"712600","children":[{"name":"花莲市","no":"712686"},{"name":"新城乡","no":"712687"},{"name":"太鲁阁","no":"712688"},{"name":"秀林乡","no":"712689"},{"name":"吉安乡","no":"712690"},{"name":"寿丰乡","no":"712691"},{"name":"凤林镇","no":"712692"},{"name":"光复乡","no":"712693"},{"name":"丰滨乡","no":"712694"},{"name":"瑞穗乡","no":"712695"},{"name":"万荣乡","no":"712696"},{"name":"玉里镇","no":"712697"},{"name":"卓溪乡","no":"712698"},{"name":"富里乡","no":"712699"}]},{"name":"澎湖县","no":"712700","children":[{"name":"马公市","no":"712794"},{"name":"西屿乡","no":"712795"},{"name":"望安乡","no":"712796"},{"name":"七美乡","no":"712797"},{"name":"白沙乡","no":"712798"},{"name":"湖西乡","no":"712799"}]},{"name":"连江县","no":"712800","children":[{"name":"南竿乡","no":"712896"},{"name":"北竿乡","no":"712897"},{"name":"东引乡","no":"712898"},{"name":"莒光乡","no":"712899"}]}]},{"name":"香港特别行政区","no":"810000","children":[{"name":"香港岛","no":"810100","children":[{"name":"中西区","no":"810101"},{"name":"湾仔区","no":"810102"},{"name":"东区","no":"810103"},{"name":"南区","no":"810104"}]},{"name":"九龙","no":"810200","children":[{"name":"九龙城区","no":"810201"},{"name":"油尖旺区","no":"810202"},{"name":"深水埗区","no":"810203"},{"name":"黄大仙区","no":"810204"},{"name":"观塘区","no":"810205"}]},{"name":"新界","no":"810300","children":[{"name":"北区","no":"810301"},{"name":"大埔区","no":"810302"},{"name":"沙田区","no":"810303"},{"name":"西贡区","no":"810304"},{"name":"元朗区","no":"810305"},{"name":"屯门区","no":"810306"},{"name":"荃湾区","no":"810307"},{"name":"葵青区","no":"810308"},{"name":"离岛区","no":"810309"}]}]},{"name":"澳门特别行政区","no":"820000","children":[{"name":"澳门半岛","no":"820100","children":[{"name":"花地玛堂区","no":"820102"},{"name":"花王堂区","no":"820103"},{"name":"望德堂区","no":"820104"},{"name":"大堂区","no":"820105"},{"name":"风顺堂区","no":"820106"}]},{"name":"离岛","no":"820200","children":[{"name":"嘉模堂区","no":"820202"},{"name":"路氹填海区","no":"820203"},{"name":"圣方济各堂区","no":"820204"}]}]}]
src/assets/styles/sidebar.scss
@@ -26,6 +26,7 @@
    overflow: hidden;
    -webkit-box-shadow: 2px 0 6px rgba(0,21,41,.35);
    box-shadow: none;
    margin: 0 auto;
    // reset element-ui css
    .horizontal-collapse-transition {
@@ -41,7 +42,7 @@
    }
    .el-scrollbar {
      height: 100%;
      height: 92%;
    }
    &.has-logo {
@@ -53,24 +54,29 @@
    .is-horizontal {
      display: none;
    }
    a {
      display: inline-block;
      width: 100%;
      width: 80px;
      height: 80px;
      overflow: hidden;
      margin-top: 20px;
    }
    .svg-icon {
      margin-right: 16px;
      //margin-right: 16px;
    }
    .el-menu {
      border: none;
      height: 100%;
      width: 100% !important;
      padding: 0 20px !important;
    }
    .el-menu-item, .menu-title {
      line-height: 20px;
      font-size: 14px;
      overflow: hidden !important;
      text-overflow: ellipsis !important;
      white-space: nowrap !important;
@@ -83,52 +89,69 @@
    // menu hover
    .sub-menu-title-noDropdown,
    .el-sub-menu__title {
      border-radius: 10px 10px 10px 10px;
      &:hover {
        background-color: #ffffff !important;
        border-radius: 10px 10px 10px 10px;
        color: $base-menu-color-active !important;
      }
    }
    & .theme-dark .is-active > .el-sub-menu__title {
      color: $base-menu-color-active !important;
    }
    & .nest-menu > a {
      right: 20px;
      position: relative;
    }
    & .nest-menu> .el-sub-menu > .el-sub-menu__title {
      right: 20px;
      position: relative;
    }
    & .nest-menu .el-sub-menu>.el-sub-menu__title,
    & .el-sub-menu .el-menu-item {
      min-width: $base-sidebar-width !important;
      height: 80px;
      min-width: 80px !important;
      border-radius: 10px 10px 10px 10px;
      &:hover {
        background-color: #ffffff !important;
        border-radius: 10px 10px 10px 10px;
        color: $base-menu-color-active !important;
      }
    }
    & .theme-dark .nest-menu .el-sub-menu>.el-sub-menu__title,
    & .theme-dark .el-sub-menu .el-menu-item {
      background-color: $base-sub-menu-background;
      border-radius: 10px 10px 10px 10px;
      &:hover {
        background-color: #ffffff !important;
        border-radius: 10px 10px 10px 10px;
        color: $base-menu-color-active !important;
      }
    }
  }
  .hideSidebar {
    .sidebar-container {
      width: 54px !important;
      width: 120px !important;
    }
    .main-container {
      margin-left: 54px;
      margin-left: 120px;
    }
    .sub-menu-title-noDropdown {
      padding: 0 !important;
      padding: 0 0 0 20px !important;
      position: relative;
      .el-tooltip {
        padding: 0 !important;
        .svg-icon {
          margin-left: 20px;
          //margin-left: 20px;
        }
      }
    }
@@ -140,7 +163,7 @@
        padding: 0 !important;
        .svg-icon {
          margin-left: 20px;
          //margin-left: 20px;
        }
      }
@@ -205,15 +228,18 @@
.el-menu--vertical {
  &>.el-menu {
    .svg-icon {
      margin-right: 16px;
      //margin-right: 16px;
    }
  }
  .nest-menu .el-sub-menu>.el-sub-menu__title,
  .el-menu-item {
    border-radius: 10px 10px 10px 10px;
    &:hover {
      // you can use $sub-menuHover
      background-color: #ffffff !important;
      border-radius: 10px 10px 10px 10px;
      color: $base-menu-color-active !important;
    }
  }
src/assets/styles/variables.module.scss
@@ -21,12 +21,12 @@
$menuLightActiveText: #165DFF;
// åŸºç¡€å˜é‡
$base-sidebar-width: 200px;
$sideBarWidth: 200px;
$base-sidebar-width: 120px;
$sideBarWidth: 120px;
// èœå•暗色变量
$base-menu-color: #bfcbd9;
$base-menu-color-active: #f4f4f5;
$base-menu-color-active: #165DFF;
$base-menu-background: #165DFF;
$base-sub-menu-background: #1f2d3d;
$base-sub-menu-hover: #001528;
src/components/ImageUpload/index.vue
@@ -57,7 +57,7 @@
  // ä¸Šä¼ æŽ¥å£åœ°å€
  action: {
    type: String,
    default: "/common/upload"
    default: "/common/minioUploads"
  },
  // ä¸Šä¼ æºå¸¦çš„参数
  data: {
src/components/Table/ETable.vue
@@ -7,13 +7,20 @@
      :show-selection="showSelection"
      :max-height="maxHeight"
      @selection-change="handleSelectionChange"
      @row-click="handleRowClick"
      @row-dblclick="handleRowDblClick"
      @cell-click="handleCellClick"
      :max-width="maxWidth"
      @export="handleExport"
    >
      <el-table-column v-if="showSelection" type="selection" width="55" align="center" />
      <el-table-column v-if="showIndex" label="序号" type="index" width="60" align="center" />
      <el-table-column v-if="showIndex" label="序号" type="index" width="60" align="center"  />
      <template v-for="col in columns" :key="col.prop">
        <el-table-column
          v-bind="col"
          :show-overflow-tooltip="col.showOverflowTooltip !== false"
          :show-overflow-tooltip="shouldShowTooltip(col, tableData)"
          :formatter="(row, column, cellValue) => cellValue == null || cellValue === '' ? '--' : cellValue"
          align="center"
        >
          <template v-if="col.slot" #default>
            <slot></slot>
@@ -21,7 +28,7 @@
        </el-table-column>
      </template>
      <!-- æ“ä½œåˆ— -->
      <el-table-column v-if="showOperations" :label="operationsLabel" :width="operationsWidth" fixed="right">
      <el-table-column v-if="showOperations" :label="operationsLabel" :width="operationsWidth" fixed="right" align="center">
        <template #default="scope">
          <slot name="operations" :row="scope.row">
            <el-button
@@ -47,8 +54,28 @@
  <script setup>
  import { defineEmits } from 'vue'
  import { ElMessage, ElMessageBox } from 'element-plus'
  const props = defineProps({
    // æœ€å¤§å®½åº¦
    maxWidth: {
      type: [String, Number],
      default: 'auto'
    },
    handleCellClick: {
      type: Function,
      default: () => {}
    },
    handleRowClick: {
      type: Function,
      default: () => {}
    },
    handleExport: {
      type: Function,
      default: () => {}
    },
    handleRowDblClick: {
      type: Function,
      default: () => {}
    },
    // é«˜åº¦
    maxHeight: {
      type: [String, Number],
@@ -110,6 +137,14 @@
      default: '确认删除该记录?'
    }
  })
  // æ£€æŸ¥åˆ—是否需要显示tooltip
  const shouldShowTooltip = (col, data) => {
  // å¦‚果没有prop,直接返回false
  if (!col.prop) return false;
  // æ£€æŸ¥è¯¥åˆ—在所有数据中是否有非空值
  return data.some(row => row[col.prop] != null && row[col.prop] !== '');
};
// å¤„理选择变化、编辑、删除和导出操作
  const emit = defineEmits(['selection-change', 'edit', 'delete', 'export'])
  const handleSelectionChange = (selection) => {
    emit('selection-change', selection)
src/layout/components/Settings/index.vue
@@ -108,7 +108,7 @@
}
function themeChange(val) {
  settingsStore.theme = val
  settingsStore.theme = '165DFF'
  handleThemeStyle(val)
}
src/layout/components/Sidebar/SidebarItem.vue
@@ -2,8 +2,8 @@
  <div v-if="!item.hidden">
    <template v-if="hasOneShowingChild(item.children, item) && (!onlyOneChild.children || onlyOneChild.noShowingChildren) && !item.alwaysShow">
      <app-link v-if="onlyOneChild.meta" :to="resolvePath(onlyOneChild.path, onlyOneChild.query)">
        <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{ 'submenu-title-noDropdown': !isNest }">
          <svg-icon :icon-class="onlyOneChild.meta.icon || (item.meta && item.meta.icon)"/>
        <el-menu-item :index="resolvePath(onlyOneChild.path)" :class="{ 'submenu-title-noDropdown': !isNest }" style="display: flex;flex-direction: column;justify-content: center;height: 80px;padding: 0;width: 80px">
          <svg-icon :icon-class="onlyOneChild.meta.icon || (item.meta && item.meta.icon)" style="width: 30px;height: 30px;margin-bottom: 6px"/>
          <template #title><span class="menu-title" :title="hasTitle(onlyOneChild.meta.title)">{{ onlyOneChild.meta.title }}</span></template>
        </el-menu-item>
      </app-link>
@@ -11,8 +11,8 @@
    <el-sub-menu v-else ref="subMenu" :index="resolvePath(item.path)" teleported>
      <template v-if="item.meta" #title>
        <svg-icon :icon-class="item.meta && item.meta.icon" />
        <span class="menu-title" :title="hasTitle(item.meta.title)">{{ item.meta.title }}</span>
        <svg-icon :icon-class="item.meta && item.meta.icon" style="width: 30px;height: 30px;margin-bottom: 6px"/>
        <span class="menu-title" :title="hasTitle(item.meta.title)">{{ item.meta.title}}</span>
      </template>
      <sidebar-item
@@ -99,5 +99,27 @@
}
</script>
<style scoped>
:deep(.el-sub-menu__title) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 !important;
  height: 80px;
  margin-top: 20px;
}
:deep(.submenu-title-noDropdown) {
  padding: 0 !important;
}
:deep(.router-link-exact-active) {
  width: 80px;
  height: 80px;
  background: #FFFFFF;
  border-radius: 10px 10px 10px 10px;
}
:deep(.el-sub-menu__icon-arrow) {
  right: -12px !important;
  &:hover {
    color: #ffffff !important;
  }
}
</style>
src/layout/components/Sidebar/index.vue
@@ -4,7 +4,7 @@
    <el-scrollbar wrap-class="scrollbar-wrapper">
      <el-menu
        :default-active="activeMenu"
        :collapse="true"
        :collapse="false"
        :background-color="getMenuBackground"
        :text-color="getMenuTextColor"
        :unique-opened="true"
src/layout/components/TagsView/index.vue
@@ -272,14 +272,14 @@
      display: inline-block;
      position: relative;
      cursor: pointer;
      height: 26px;
      height: 30px;
      line-height: 26px;
      border: 1px solid var(--tags-item-border, #d8dce5);
      //border: 1px solid var(--tags-item-border, #d8dce5);
      color: var(--tags-item-text, #495060);
      background: var(--tags-item-bg, #fff);
      padding: 0 8px;
      padding: 2px 16px;
      font-size: 12px;
      margin-left: 5px;
      //margin-left: 5px;
      margin-top: 4px;
      &:first-of-type {
@@ -291,20 +291,9 @@
      }
      &.active {
        background-color: #42b983;
        color: #fff;
        border-color: #42b983;
        &::before {
          content: '';
          background: #fff;
          display: inline-block;
          width: 8px;
          height: 8px;
          border-radius: 50%;
          position: relative;
          margin-right: 5px;
        }
        border-radius: 10px 10px 0px 0px;
        background-color: #F2F2F4 !important;
        color: #165DFF;
      }
    }
  }
src/main.js
@@ -78,5 +78,6 @@
  // æ”¯æŒ large、default、small
  size: Cookies.get('size') || 'default'
})
app._context.components.ElDialog.props.closeOnClickModal.default = false
app.mount('#app')
src/store/modules/settings.js
@@ -14,7 +14,7 @@
  {
    state: () => ({
      title: '',
      theme: storageSetting.theme || '#409EFF',
      theme: storageSetting.theme || '#165DFF',
      sideTheme: storageSetting.sideTheme || sideTheme,
      showSettings: showSettings,
      topNav: storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
src/views/basicInformation/index.vue
@@ -1,12 +1,11 @@
<template>
  <div class="app-container">
      <el-form :inline="true" :model="queryParams" class="search-form">
          <el-form :inline="true" :model="queryParams" class="search-form">
        <el-form-item label="搜索">
          <el-input
            v-model="queryParams.searchText"
            placeholder="请输入关键词"
            clearable
            :style="{ width: '100%' }"
          />
        </el-form-item>
        <el-form-item label="供应商名称">
@@ -14,7 +13,6 @@
            v-model="queryParams.supplierName"
            placeholder="请输入"
            clearable
            :style="{ width: '100%' }"
          />
        </el-form-item>
        <el-form-item label="统一人识别号">
@@ -22,7 +20,6 @@
            v-model="queryParams.identifyNumber"
            placeholder="请输入"
            clearable
            :style="{ width: '100%' }"
          />
        </el-form-item>
        <el-form-item label="经营地址">
@@ -30,7 +27,6 @@
            v-model="queryParams.address"
            placeholder="请输入"
            clearable
            :style="{ width: '100%' }"
          />
        </el-form-item>
        <el-form-item>
@@ -99,6 +95,7 @@
        :form="form"
        :title="title"
        @submit="handleSubmit"
        :addOrEdit="addOrEdit"
        @beforeClose="handleBeforeClose"
      />
      <Coal
@@ -106,6 +103,15 @@
        v-model:coalDialogFormVisible="dialogFormVisible"
        :form="form"
        :title="title"
        :addOrEdit="addOrEdit"
        @submit="handleSubmit"
      />
      <coalQualityMaintenance
        v-if="tabName === 'coalQualityMaintenance'"
        v-model:coalQualityMaintenanceDialogFormVisible="dialogFormVisible"
        :form="form"
        :title="title"
        :addOrEdit="addOrEdit"
        @submit="handleSubmit"
      />
    </el-card>
@@ -121,8 +127,10 @@
import Supplier from "./mould/supplier.vue";
import Customer from "./mould/customer.vue";
import Coal from "./mould/coal.vue";
import coalQualityMaintenance from "./mould/coalQualityMaintenance.vue";
const { proxy } = getCurrentInstance()
// å¼¹çª—
const coalQualityMaintenanceDialogFormVisible = ref(false);
const customerDialogFormVisible = ref(false);
const coalDialogFormVisible = ref(false);
const supplierDialogFormVisible = ref(false);
@@ -134,7 +142,7 @@
const tabName = ref("supplier");
// çŠ¶æ€å˜é‡
const loading = ref(false);
const total = ref(200);
const total = ref(0);
const pageNum = ref(1);
const pageSize = ref(10);
const activeTab = ref("supplier");
@@ -155,6 +163,7 @@
  { name: "supplier", label: "供应商信息" },
  { name: "customer", label: "客户信息" },
  { name: "coal", label: "煤种信息" },
  { name: "coalQualityMaintenance", label: "煤质维护" },
]);
// æ˜¯å¦ç¼–辑
const addOrEdit = ref("add");
@@ -168,10 +177,11 @@
  }, 500);
};
// supplier ä¾›åº”商数据
const supplierColumns = reactive([
const supplierColumns = ref([
  { prop: "supplierName", label: "供应商名称", minWidth: 200 },
  { prop: "identifyNumber", label: "统一人识别号", minWidth: 120 },
  { prop: "address", label: "经营地址", minWidth: 150 },
  { prop: "detailedaddress", label: "详细地址", minWidth: 150 },
  { prop: "bank", label: "开户行", minWidth: 120 },
  { prop: "bankAccount", label: "银行账号", minWidth: 150 },
  { prop: "contacts", label: "联系人", minWidth: 100 },
@@ -180,10 +190,11 @@
  { prop: "maintainDate", label: "维护日期", minWidth: 100 },
]);
// customer å®¢æˆ·æ•°æ®
const customerColumns = reactive([
const customerColumns = ref([
  { prop: "customerName", label: "客户名称", minWidth: 200 },
  { prop: "identifyNumber", label: "统一人识别号", minWidth: 120 },
  { prop: "address", label: "经营地址", minWidth: 150 },
  { prop: "detailedaddress", label: "详细地址", minWidth: 150 },
  { prop: "bank", label: "开户行", minWidth: 120 },
  { prop: "bankAccount", label: "银行账号", minWidth: 150 },
  { prop: "contacts", label: "联系人", minWidth: 100 },
@@ -192,10 +203,21 @@
  { prop: "maintainDate", label: "维护日期", minWidth: 100 },
]);
// coal ç…¤ç§æ•°æ®
const coalColumns = reactive([
const coalColumns = ref([
  { prop: "coalName", label: "煤种名称", minWidth: 200 },
  { prop: "maintainer", label: "维护人", minWidth: 120 },
  { prop: "maintenanceDate", label: "维护日期", minWidth: 150 },
]);
// coalQualityMaintenance ç…¤è´¨ç»´æŠ¤æ•°æ®
const coalQualityMaintenanceColumns = ref([
  { prop: "supplierName", label: "全水(<)", minWidth: 200 },
  { prop: "identifyNumber", label: "水分析(<)", minWidth: 120 },
  { prop: "address", label: "灰分", minWidth: 150 },
  { prop: "bank", label: "挥发(>)", minWidth: 100 },
  { prop: "bankAccount", label: "ç¡«(<)", minWidth: 100 },
  { prop: "contacts", label: "固定碳", minWidth: 100 },
  { prop: "contactAddress", label: "高位发热量", minWidth: 100 },
  { prop: "maintainer", label: "低位发热量", minWidth: 100 },
]);
// æ ‡ç­¾é¡µç‚¹å‡»
const handleTabClick = (tab) => {
@@ -208,16 +230,20 @@
  getList();
  switch (tabName.value) {
    case "supplier":
      columns.value = supplierColumns;
      columns.value = supplierColumns.value;
      dialogFormVisible.value = supplierDialogFormVisible.value;
      break;
    case "customer":
      columns.value = customerColumns;
      columns.value = customerColumns.value;
      dialogFormVisible.value = customerDialogFormVisible.value;
      break;
    case "coal":
      columns.value = coalColumns;
      columns.value = coalColumns.value;
      dialogFormVisible.value = coalDialogFormVisible.value;
      break;
    case "coalQualityMaintenance":
      columns.value = coalQualityMaintenanceColumns.value;
      dialogFormVisible.value = coalQualityMaintenanceDialogFormVisible.value;
      break;
  }
  setTimeout(() => {
@@ -240,7 +266,7 @@
};
// æ–°å¢žç¼–辑
const handleAddEdit = (tabName) => {
  addOrEdit.value == "add" ? (title.value = "新增") : (title.value = "编辑");
  addOrEdit.value == "add" ? title.value = "新增" : title.value = "编辑";
  if (tabName === "supplier") {
    dialogFormVisible.value = true;
    title.value = title.value + "供应商信息";
@@ -252,6 +278,10 @@
  } else if (tabName === "coal") {
    dialogFormVisible.value = true;
    title.value = title.value + "煤种信息";
    openDialog();
  } else if (tabName === "coalQualityMaintenance") {
    dialogFormVisible.value = true;
    title.value = title.value + "煤质维护";
    openDialog();
  }
};
@@ -266,9 +296,14 @@
  dialogFormVisible.value = true;
};
// æäº¤è¡¨å•
const handleSubmit = (val) => {
const handleSubmit = () => {
  // æ‹¿åˆ°æäº¤æ•°æ®
  dialogFormVisible.value = false;
  if (addOrEdit.value === "add") {
    ElMessage.success("新增成功:" + copyForm.value.supplierName);
  } else {
    ElMessage.success("编辑成功:" + copyForm.value.supplierName);
  }
  getList();
};
const handleDialogFormVisible = (value) => {
@@ -326,6 +361,7 @@
};
const getList = () => {
  loading.value = true;
  setTimeout(() => {
    // æš‚时引入测试数据
    tableData.value = [
@@ -473,15 +509,22 @@
</script>
<style scoped>
.app-container{
.app-container {
  padding: 20px;
  background-color: #f5f7fa;
  box-sizing: border-box;
  min-height: calc(100vh - 84px);
}
.search-form {
  background-color: #fff;
  background: #fff;
  padding: 20px 20px 0 20px;
  margin-bottom: 20px;
  border-radius: 4px;
  box-shadow: var(--el-box-shadow-light);
}
.el-form-item__label{
  padding: 0 5px 0 0 !important;
  font-weight: 500;
}
.search-form :deep(.el-form-item) {
  margin-bottom: 16px;
@@ -496,7 +539,7 @@
}
@media screen and (min-width: 1200px) {
  .search-form :deep(.el-form-item) {
    width: 18%;
    width: 16%;
  }
}
.info-tabs {
@@ -508,7 +551,6 @@
  flex-wrap: wrap;
  gap: 10px;
}
/* å“åº”式表格 */
@media screen and (max-width: 768px) {
  .table-toolbar {
@@ -525,4 +567,10 @@
.table-toolbar{
  margin-bottom: 20px !important;
}
.el-form--inline .el-form-item {
  margin-right: 25px;
}
.main-container{
  background: red !important;
}
</style>
src/views/basicInformation/mould/coal.vue
@@ -39,6 +39,8 @@
                    <el-button type="primary" @click="submitForm">
                        ç¡®å®š
                    </el-button>
                    <el-button v-if="addOrEdit === 'edit'" @click="resetForm">重置</el-button>
                    <el-button v-if="addOrEdit === 'add'" @click="cancelForm">取消</el-button>
                </el-form-item>
            </el-form>
        </el-dialog>
src/views/basicInformation/mould/coalQualityMaintenance.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,193 @@
<template>
  <div>
    <el-dialog
      v-model="dialogVisible"
      :title="title"
      width="600"
      :close-on-click-modal="false"
      :before-close="handleClose"
    >
      <el-form
        ref="formRef"
        style="max-width: 400px; margin: 0 auto"
        :model="formData"
        :rules="rules"
        label-width="auto"
      >
        <el-form-item label="客户名称" prop="supplierName">
          <el-input
            v-model="formData.supplierName"
            placeholder="请输入供货商名称"
          />
        </el-form-item>
        <el-form-item label="纳税人识别号" prop="identifyNumber">
          <el-input
            v-model="formData.identifyNumber"
            placeholder="请输入纳税人识别号"
          />
        </el-form-item>
        <el-form-item label="经营地址" prop="address">
          <el-cascader
            placeholder="请选择经营地址"
            size="default"
            :options="addressSelectOptions"
            v-model="formData.address"
            @change="handleChange"
          >
          </el-cascader>
        </el-form-item>
        <el-form-item label="详细地址" prop="addressDetail">
          <el-input
            v-model="formData.addressDetail"
            placeholder="请输入客户详细地址"
          />
        </el-form-item>
        <el-form-item label="银行账户" prop="bankAccount">
          <el-input
            v-model="formData.bankAccount"
            placeholder="请输入银行账户"
          />
        </el-form-item>
        <el-form-item label="开户行" prop="bank">
          <el-input v-model="formData.bank" placeholder="请输入开户行" />
        </el-form-item>
        <el-form-item label="联系人" prop="contacts">
          <el-input v-model="formData.contacts" placeholder="请输入联系人" />
        </el-form-item>
        <el-form-item label="联系人电话" prop="contactsPhone">
          <el-input
            v-model="formData.contactsPhone"
            placeholder="请输入联系人电话"
          />
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="submitForm"> ç¡®å®š </el-button>
          <el-button v-if="addOrEdit === 'edit'" @click="resetForm"
            >重置</el-button
          >
          <el-button v-if="addOrEdit === 'add'" @click="cancelForm"
            >取消</el-button
          >
        </el-form-item>
      </el-form>
    </el-dialog>
  </div>
</template>
<script setup>
import { ref, watch, defineProps, onMounted } from "vue";
import addressList from "@/api/jsonApi/areaList.json";
const props = defineProps({
  beforeClose: {
    type: Function,
    default: () => {},
  },
  form: {
    type: Object,
    default: () => ({}),
  },
  addOrEdit: {
    type: String,
    default: "add",
  },
  title: {
    type: String,
    default: "",
  },
});
const emit = defineEmits(["submit", "handleBeforeClose"]);
onMounted(()=>{
  addressSelectOptions.value = mapAddress(addressList);
})
// åœ°å€é€‰æ‹©æ•°æ®
const addressSelectOptions = ref([]);
// å¤„理地址数据转换
function mapAddress(list) {
  return list.map(item => ({
    value: item.no,
    label: item.name,
    children: item.children ? mapAddress(item.children) : undefined
  }));
}
// è¡¨å•引用
const formRef = ref(null);
// è¡¨å•数据
const formData = ref({ ...props.form });
// å¼¹çª—可见性
const dialogVisible = defineModel("coalQualityMaintenanceDialogFormVisible", {
  required: true,
  type: Boolean,
});
// ç›‘听外部传入的表单数据变化
watch(
  () => props.form,
  (newVal) => {
    formData.value = { ...newVal };
  },
  { deep: true }
);
// ç›‘听内部弹窗状态变化
watch(
  () => dialogVisible.value,
  (newVal) => {
    emit("update:coalQualityMaintenanceDialogFormVisible", newVal);
  }
);
// å¤„理地址选择变化
const handleChange = (value) => {
  console.log(value);
};
// æäº¤è¡¨å•
const submitForm = async () => {
  if (!formRef.value) return;
  await formRef.value.validate((valid, fields) => {
    if (valid) {
      emit("submit", formData.value);
    }
  });
};
// å–消表单
const cancelForm = () => {
  emit("update:coalQualityMaintenanceDialogFormVisible", false);
  formData.value = {};
};
// é‡ç½®è¡¨å•
const resetForm = () => {
  if (!formRef.value) return;
  formRef.value.resetFields();
};
// å…³é—­å¼¹çª—
const handleClose = () => {
  // è§¦å‘父组件的关闭函数
  emit("handleBeforeClose");
  emit("update:coalQualityMaintenanceDialogFormVisible", false);
};
const rules = reactive({
  supplierName: [
    { required: true, message: "请输入供货商名称", trigger: "blur" },
  ],
  identifyNumber: [
    { required: true, message: "请正确输入纳税人识别号", trigger: "blur" },
    { min: 17, max: 20, message: "请输入17-20位纳税人识别号", trigger: "blur" },
  ],
  address: [
    {
      required: true,
      message: "请选择经营地址",
      trigger: "change",
    },
  ],
  bankAccount: [{ required: true, message: "请输入银行账户", trigger: "blur" }],
  bank: [{ required: true, message: "请输入开户行", trigger: "blur" }],
  contacts: [{ required: true, message: "请输入开户行", trigger: "blur" }],
  contactsPhone: [
    { required: true, message: "请输入联系人", trigger: "blur" },
    { min: 11, max: 11, message: "请输入11位联系人电话", trigger: "blur" },
  ],
});
</script>
<style lang="sass" scoped>
</style>
src/views/basicInformation/mould/customer.vue
@@ -3,13 +3,13 @@
        <el-dialog
            v-model="dialogVisible"
            :title="title"
            width="800"
            width="600"
            :close-on-click-modal="false"
            :before-close="handleClose"
        >
            <el-form
                ref="formRef"
                style="max-width: 600px; margin: 0 auto"
                style="max-width: 400px; margin: 0 auto"
                :model="formData"
                :rules="rules"
                label-width="auto"
@@ -27,11 +27,21 @@
                    />
                </el-form-item>
                <el-form-item label="经营地址" prop="address">
                    <el-select v-model="formData.address" placeholder="请选择经营地址">
                        <el-option label="Zone one" value="shanghai" />
                        <el-option label="Zone two" value="beijing" />
                    </el-select>
                </el-form-item>
                      <el-cascader
                        placeholder="请选择经营地址"
                        size="default"
                        :options="addressSelectOptions"
                        v-model="formData.address"
                        @change="handleChange"
                      >
                      </el-cascader>
                    </el-form-item>
                    <el-form-item label="详细地址" prop="addressDetail">
                      <el-input
                        v-model="formData.addressDetail"
                        placeholder="请输入客户详细地址"
                      />
                    </el-form-item>
                <el-form-item label="银行账户" prop="bankAccount">
                    <el-input v-model="formData.bankAccount" placeholder="请输入银行账户" />
                </el-form-item>
@@ -39,6 +49,8 @@
                    <el-button type="primary" @click="submitForm">
                        ç¡®å®š
                    </el-button>
                    <el-button v-if="addOrEdit === 'edit'" @click="resetForm">重置</el-button>
                    <el-button v-if="addOrEdit === 'add'" @click="cancelForm">取消</el-button>
                </el-form-item>
            </el-form>
        </el-dialog>
@@ -46,71 +58,100 @@
</template>
<script setup>
import { ref, watch ,defineProps } from 'vue'
import { ref, watch, onMounted } from "vue";
import addressList from "@/api/jsonApi/areaList.json";
const props = defineProps({
    beforeClose: {
        type: Function,
        default: () => {}
    },
    form: {
        type: Object,
        default: () => ({})
    },
    addOrEdit: {
        type: String,
        default: 'add'
    },
    title: {
        type: String,
        default: ''
    },
})
const emit = defineEmits(['submit', 'handleBeforeClose','update:customerDialogFormVisible'])
  beforeClose: {
    type: Function,
    default: () => {},
  },
  form: {
    type: Object,
    default: () => ({}),
  },
  addOrEdit: {
    type: String,
    default: "add",
  },
  title: {
    type: String,
    default: "",
  },
});
const handleChange = (value) => {
  console.log(value);
};
const emit = defineEmits([
  "submit",
  "handleBeforeClose",
  "update:customerDialogFormVisible",
]);
onMounted(() => {
  addressSelectOptions.value = mapAddress(addressList);
});
// åœ°å€é€‰æ‹©æ•°æ®
const addressSelectOptions = ref([]);
// å¤„理地址数据转换
function mapAddress(list) {
  return list.map((item) => ({
    value: item.no,
    label: item.name,
    children: item.children ? mapAddress(item.children) : undefined,
  }));
}
// è¡¨å•引用
const formRef = ref(null)
const formRef = ref(null);
// è¡¨å•数据
const formData = ref({ ...props.form })
const formData = ref({ ...props.form });
// å¼¹çª—可见性
const dialogVisible = defineModel("customerDialogFormVisible",{required:true,type:Boolean})
const dialogVisible = defineModel("customerDialogFormVisible", {
  required: true,
  type: Boolean,
});
// ç›‘听外部传入的表单数据变化
watch(() => props.form, (newVal) => {
    formData.value = { ...newVal }
}, { deep: true })
watch(
  () => props.form,
  (newVal) => {
    formData.value = { ...newVal };
  },
  { deep: true }
);
// ç›‘听内部弹窗状态变化
watch(() => dialogVisible.value, (newVal) => {
    emit('update:customerDialogFormVisible', newVal)
})
watch(
  () => dialogVisible.value,
  (newVal) => {
    emit("update:customerDialogFormVisible", newVal);
  }
);
// æäº¤è¡¨å•
const submitForm = async () => {
    if (!formRef.value) return
    await formRef.value.validate((valid, fields) => {
        if (valid) {
            emit('submit', formData.value)
        }
    })
}
  if (!formRef.value) return;
  await formRef.value.validate((valid, fields) => {
    if (valid) {
      emit("submit", formData.value);
    }
  });
};
// å–消表单
const cancelForm = () => {
    emit('update:customerDialogFormVisible', false)
    formData.value = {}
}
  emit("update:customerDialogFormVisible", false);
  formData.value = {};
};
// é‡ç½®è¡¨å•
const resetForm = () => {
    if (!formRef.value) return
    formRef.value.resetFields()
}
  if (!formRef.value) return;
  formRef.value.resetFields();
};
// å…³é—­å¼¹çª—
const handleClose = () => {
    // è§¦å‘父组件的关闭函数
    emit("handleBeforeClose")
    emit('update:customerDialogFormVisible', false)
}
  // è§¦å‘父组件的关闭函数
  emit("handleBeforeClose");
  emit("update:customerDialogFormVisible", false);
};
const rules = reactive({
  supplierName: [
    { required: true, message: "请输入供货商名称", trigger: "blur" },
src/views/basicInformation/mould/supplier.vue
@@ -1,130 +1,171 @@
<template>
    <div>
        <el-dialog
            v-model="dialogVisible"
            :title="title"
            width="800"
            :close-on-click-modal="false"
            :before-close="handleClose"
        >
            <el-form
                ref="formRef"
                style="max-width: 600px; margin: 0 auto"
                :model="formData"
                :rules="rules"
                label-width="auto"
            >
                <el-form-item label="客户名称" prop="supplierName">
                    <el-input
                        v-model="formData.supplierName"
                        placeholder="请输入供货商名称"
                    />
                </el-form-item>
                <el-form-item label="纳税人识别号" prop="identifyNumber">
                    <el-input
                        v-model="formData.identifyNumber"
                        placeholder="请输入纳税人识别号"
                    />
                </el-form-item>
                <el-form-item label="经营地址" prop="address">
                    <el-select v-model="formData.address" placeholder="请选择经营地址">
                        <el-option label="Zone one" value="shanghai" />
                        <el-option label="Zone two" value="beijing" />
                    </el-select>
                </el-form-item>
                <el-form-item label="银行账户" prop="bankAccount">
                    <el-input v-model="formData.bankAccount" placeholder="请输入银行账户" />
                </el-form-item>
                <el-form-item label="开户行" prop="bank">
                    <el-input v-model="formData.bank" placeholder="请输入开户行" />
                </el-form-item>
                <el-form-item label="联系人" prop="contacts">
                    <el-input v-model="formData.contacts" placeholder="请输入联系人" />
                </el-form-item>
                <el-form-item label="联系人电话" prop="contactsPhone">
                    <el-input
                        v-model="formData.contactsPhone"
                        placeholder="请输入联系人电话"
                    />
                </el-form-item>
                <el-form-item>
                    <el-button type="primary" @click="submitForm">
                        ç¡®å®š
                    </el-button>
                    <el-button v-if="addOrEdit === 'edit'" @click="resetForm">重置</el-button>
                    <el-button v-if="addOrEdit === 'add'" @click="cancelForm">取消</el-button>
                </el-form-item>
            </el-form>
        </el-dialog>
    </div>
  <div>
    <el-dialog
      v-model="dialogVisible"
      :title="title"
      width="600"
      :close-on-click-modal="false"
      :before-close="handleClose"
    >
      <el-form
        ref="formRef"
        style="max-width: 400px; margin: 0 auto"
        :model="formData"
        :rules="rules"
        label-width="auto"
      >
        <el-form-item label="客户名称" prop="supplierName">
          <el-input
            v-model="formData.supplierName"
            placeholder="请输入供货商名称"
          />
        </el-form-item>
        <el-form-item label="纳税人识别号" prop="identifyNumber">
          <el-input
            v-model="formData.identifyNumber"
            placeholder="请输入纳税人识别号"
          />
        </el-form-item>
        <el-form-item label="经营地址" prop="address">
          <el-cascader
            placeholder="请选择经营地址"
            size="default"
            :options="addressSelectOptions"
            v-model="formData.address"
            @change="handleChange"
          >
          </el-cascader>
        </el-form-item>
        <el-form-item label="详细地址" prop="addressDetail">
          <el-input
            v-model="formData.addressDetail"
            placeholder="请输入客户详细地址"
          />
        </el-form-item>
        <el-form-item label="银行账户" prop="bankAccount">
          <el-input
            v-model="formData.bankAccount"
            placeholder="请输入银行账户"
          />
        </el-form-item>
        <el-form-item label="开户行" prop="bank">
          <el-input v-model="formData.bank" placeholder="请输入开户行" />
        </el-form-item>
        <el-form-item label="联系人" prop="contacts">
          <el-input v-model="formData.contacts" placeholder="请输入联系人" />
        </el-form-item>
        <el-form-item label="联系人电话" prop="contactsPhone">
          <el-input
            v-model="formData.contactsPhone"
            placeholder="请输入联系人电话"
          />
        </el-form-item>
        <el-form-item>
          <el-button type="primary" @click="submitForm"> ç¡®å®š </el-button>
          <el-button v-if="addOrEdit === 'edit'" @click="resetForm"
            >重置</el-button
          >
          <el-button v-if="addOrEdit === 'add'" @click="cancelForm"
            >取消</el-button
          >
        </el-form-item>
      </el-form>
    </el-dialog>
  </div>
</template>
<script setup>
import { ref, watch, defineProps } from 'vue'
import { ref, watch, defineProps, onMounted } from "vue";
import addressList from "@/api/jsonApi/areaList.json";
import imageUpload from "@/components/ImageUpload/index.vue";
const props = defineProps({
    beforeClose: {
        type: Function,
        default: () => {}
    },
    form: {
        type: Object,
        default: () => ({})
    },
    addOrEdit: {
        type: String,
        default: 'add'
    },
    title: {
        type: String,
        default: ''
    },
  beforeClose: {
    type: Function,
    default: () => {},
  },
  form: {
    type: Object,
    default: () => ({}),
  },
  addOrEdit: {
    type: String,
    default: "add",
  },
  title: {
    type: String,
    default: "",
  },
});
const emit = defineEmits(["submit", "handleBeforeClose"]);
onMounted(()=>{
  addressSelectOptions.value = mapAddress(addressList);
})
const emit = defineEmits(['submit', 'handleBeforeClose'])
// åœ°å€é€‰æ‹©æ•°æ®
const addressSelectOptions = ref([]);
// å¤„理地址数据转换
function mapAddress(list) {
  return list.map(item => ({
    value: item.no,
    label: item.name,
    children: item.children ? mapAddress(item.children) : undefined
  }));
}
// è¡¨å•引用
const formRef = ref(null)
const formRef = ref(null);
// è¡¨å•数据
const formData = ref({ ...props.form })
const formData = ref({ ...props.form });
// å¼¹çª—可见性
const dialogVisible = defineModel("supplierDialogFormVisible",{required:true,type:Boolean})
const dialogVisible = defineModel("supplierDialogFormVisible", {
  required: true,
  type: Boolean,
});
// ç›‘听外部传入的表单数据变化
watch(() => props.form, (newVal) => {
    formData.value = { ...newVal }
}, { deep: true })
watch(
  () => props.form,
  (newVal) => {
    formData.value = { ...newVal };
  },
  { deep: true }
);
// ç›‘听内部弹窗状态变化
watch(() => dialogVisible.value, (newVal) => {
    emit('update:supplierDialogFormVisible', newVal)
})
watch(
  () => dialogVisible.value,
  (newVal) => {
    emit("update:supplierDialogFormVisible", newVal);
  }
);
// å¤„理地址选择变化
const handleChange = (value) => {
  console.log(value);
};
// æäº¤è¡¨å•
const submitForm = async () => {
    if (!formRef.value) return
    await formRef.value.validate((valid, fields) => {
        if (valid) {
            emit('submit', formData.value)
        }
    })
}
  if (!formRef.value) return;
  await formRef.value.validate((valid, fields) => {
    if (valid) {
      emit("submit", formData.value);
    }
  });
};
// å–消表单
const cancelForm = () => {
    emit('update:supplierDialogFormVisible', false)
    formData.value = {}
}
  emit("update:supplierDialogFormVisible", false);
  formData.value = {};
};
// é‡ç½®è¡¨å•
const resetForm = () => {
    if (!formRef.value) return
    formRef.value.resetFields()
}
  if (!formRef.value) return;
  formRef.value.resetFields();
};
// å…³é—­å¼¹çª—
const handleClose = () => {
    // è§¦å‘父组件的关闭函数
    emit("handleBeforeClose")
    emit('update:supplierDialogFormVisible', false)
}
  // è§¦å‘父组件的关闭函数
  emit("handleBeforeClose");
  emit("update:supplierDialogFormVisible", false);
};
const rules = reactive({
  supplierName: [
    { required: true, message: "请输入供货商名称", trigger: "blur" },
@@ -149,6 +190,5 @@
  ],
});
</script>
<style lang="sass" scoped>
</style>
src/views/procureMent/components/ProductionDialog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,147 @@
<template>
  <div>
    <el-dialog
      v-model="dialogVisible"
      :title="title"
      width="600"
      :close-on-click-modal="false"
      @close="handleClose"
    >
      <el-form
        ref="formRef"
        :model="form"
        :rules="rules"
        label-width="auto"
        class="production-form"
        label-position="right"
        style="max-width: 400px; margin: 0 auto"
      >
        <el-form-item label="供应商名称" prop="supplierName">
          <el-input v-model="form.supplierName" placeholder="请输入" />
        </el-form-item>
        <el-form-item label="煤种" prop="category">
          <el-input v-model="form.category" placeholder="请输入" />
        </el-form-item>
        <el-form-item label="单位" prop="unit">
          <el-input v-model="form.unit" placeholder="请输入" />
        </el-form-item>
        <el-form-item label="采购数量" prop="purchaseAmount">
          <el-input v-model="form.purchaseAmount" placeholder="请输入" />
        </el-form-item>
        <el-form-item label="单价(税前)" prop="priceBeforeTax">
          <el-input v-model="form.priceBeforeTax" placeholder="请输入" />
        </el-form-item>
        <el-form-item label="总价(税前)" prop="totalBeforeTax">
          <el-input v-model="form.totalBeforeTax" placeholder="请输入" />
        </el-form-item>
        <el-form-item label="热值" prop="calorificValue">
          <el-input v-model="form.calorificValue" placeholder="请输入" />
        </el-form-item>
        <el-form-item label="登记人" prop="registrant">
          <el-input v-model="form.registrant" placeholder="请输入" />
        </el-form-item>
        <el-form-item label="登记日期" prop="registrationDate">
          <el-date-picker
            v-model="form.registrationDate"
            type="date"
            placeholder="YYYY-MM-DD"
            style="width: 100%"
            value-format="YYYY-MM-DD"
          />
        </el-form-item>
      </el-form>
      <template #footer>
        <div class="dialog-footer">
          <el-button type="primary" @click="handleSubmit">保存</el-button>
          <!-- é‡ç½®å’Œå–消 -->
          <el-button
            type="primary"
            @click="handleClose"
            v-if="title.includes('新增')"
            >取消</el-button
          >
          <el-button
            type="primary"
            @click="handleReset"
            v-if="title.includes('编辑')"
            >重置</el-button
          >
        </div>
      </template>
    </el-dialog>
  </div>
</template>
<script setup name="ProductionDialog">
import { ref, defineProps, watch } from "vue";
import { ElMessage } from "element-plus";
const props = defineProps({
  title: {
    type: String,
    default: "",
  },
});
const emit = defineEmits(["update:visible", "success"]);
const dialogVisible = defineModel("dialogFormVisible", {
  required: true,
  type: Boolean,
});
const form = defineModel("form", {
  required: true,
  type: Object,
});
const rules = {
  supplierName: [
    { required: true, message: "请输入供应商名称", trigger: "blur" },
  ],
  category: [{ required: true, message: "请输入煤种", trigger: "blur" }],
  unit: [{ required: true, message: "请输入单位", trigger: "blur" }],
  purchaseAmount: [
    { required: true, message: "请输入采购数量", trigger: "blur" },
  ],
  priceBeforeTax: [{ required: true, message: "请输入单价", trigger: "blur" }],
  totalBeforeTax: [{ required: true, message: "请输入总价", trigger: "blur" }],
  calorificValue: [{ required: true, message: "请输入热值", trigger: "blur" }],
  registrant: [{ required: true, message: "请输入登记人", trigger: "blur" }],
  registrationDate: [
    { required: true, message: "请选择登记日期", trigger: "change" },
  ],
};
// å…³é—­å¼¹çª—
const handleClose = () => {
  dialogVisible.value = false;
  console.log(form.value);
};
const handleReset = () => {
  if (!formRef.value) return;
  formRef.value.resetFields();
  ElMessage.success("表单已重置");
};
// æŒç»­ç›‘听form.value的变化
watch(
  () => form.value,
  (val) => {
    console.log(val);
  }
);
const formRef = ref(null);
// æäº¤è¡¨å•
const handleSubmit = async () => {
  if (!formRef.value) return;
  await formRef.value.validate((valid) => {
    if (valid) {
      try {
        emit("success", { ...form.value });
        handleClose();
        ElMessage.success("保存成功");
      } catch (error) {
        console.error("保存失败:", error);
        ElMessage.error("保存失败");
      }
    }
  });
};
</script>
<style lang="sass" scoped>
</style>
src/views/production/components/ProductionDialog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,298 @@
<template>
  <el-dialog
    v-model="dialogVisible"
    :title="dialogType === 'add' ? '新增生产加工' : '编辑生产加工'"
    width="800px"
    :close-on-click-modal="false"
    @close="handleClose"
  >
    <el-form
      ref="formRef"
      :model="formData"
      :rules="rules"
      label-width="120px"
      class="production-form"
    >
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="煤种" prop="category">
            <el-select v-model="formData.category" placeholder="请选择煤种" clearable style="width: 100%">
              <el-option label="炼焦" value="炼焦" />
              <el-option label="气煤" value="气煤" />
              <el-option label="无烟煤" value="无烟煤" />
              <el-option label="长焰煤" value="长焰煤" />
              <el-option label="贫煤" value="贫煤" />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="单位" prop="unit">
            <el-select v-model="formData.unit" placeholder="请选择单位" clearable style="width: 100%">
              <el-option label="吨位" value="吨位" />
              <el-option label="千克" value="千克" />
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="生产数量" prop="productionVolume">
            <el-input-number
              v-model="formData.productionVolume"
              :min="0"
              :precision="2"
              style="width: 100%"
              @change="calculateTotal"
            />
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="人工成本" prop="laborCost">
            <el-input-number
              v-model="formData.laborCost"
              :min="0"
              :precision="2"
              style="width: 100%"
              @change="calculateTotal"
            />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="原料成本" prop="materialCost">
            <el-input-number
              v-model="formData.materialCost"
              :min="0"
              :precision="2"
              style="width: 100%"
              @change="calculateTotal"
            />
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="设备费用" prop="equipmentCost">
            <el-input-number
              v-model="formData.equipmentCost"
              :min="0"
              :precision="2"
              style="width: 100%"
              @change="calculateTotal"
            />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="总成本" prop="totalCost">
            <el-input-number
              v-model="formData.totalCost"
              :min="0"
              :precision="2"
              style="width: 100%"
              disabled
            />
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="总价格" prop="totalPrice">
            <el-input-number
              v-model="formData.totalPrice"
              :min="0"
              :precision="2"
              style="width: 100%"
              @change="calculateProfit"
            />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="利润" prop="profit">
            <el-input-number
              v-model="formData.profit"
              :min="0"
              :precision="2"
              style="width: 100%"
              disabled
            />
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="复记人" prop="reviewer">
            <el-input v-model="formData.reviewer" placeholder="请输入复记人" />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="日期" prop="date">
            <el-date-picker
              v-model="formData.date"
              type="date"
              placeholder="请选择日期"
              style="width: 100%"
              value-format="YYYY-MM-DD"
            />
          </el-form-item>
        </el-col>
      </el-row>
    </el-form>
    <template #footer>
      <div class="dialog-footer">
        <el-button @click="handleClose">取 æ¶ˆ</el-button>
        <el-button type="primary" :loading="loading" @click="handleSubmit">ç¡® å®š</el-button>
      </div>
    </template>
  </el-dialog>
</template>
<script setup>
import { ref, reactive, watch } from 'vue'
import { ElMessage } from 'element-plus'
const props = defineProps({
  visible: {
    type: Boolean,
    default: false
  },
  type: {
    type: String,
    default: 'add' // 'add' æˆ– 'edit'
  },
  rowData: {
    type: Object,
    default: () => ({})
  }
})
const emit = defineEmits(['update:visible', 'success'])
const dialogVisible = ref(false)
const dialogType = ref('add')
const loading = ref(false)
const formRef = ref(null)
// è¡¨å•数据
const formData = reactive({
  category: '',
  unit: '',
  productionVolume: 0,
  laborCost: 0,
  materialCost: 0,
  equipmentCost: 0,
  totalCost: 0,
  totalPrice: 0,
  profit: 0,
  reviewer: '',
  date: ''
})
// è¡¨å•验证规则
const rules = {
  category: [{ required: true, message: '请选择煤种', trigger: 'change' }],
  unit: [{ required: true, message: '请选择单位', trigger: 'change' }],
  productionVolume: [{ required: true, message: '请输入生产数量', trigger: 'blur' }],
  laborCost: [{ required: true, message: '请输入人工成本', trigger: 'blur' }],
  materialCost: [{ required: true, message: '请输入原料成本', trigger: 'blur' }],
  equipmentCost: [{ required: true, message: '请输入设备费用', trigger: 'blur' }],
  totalPrice: [{ required: true, message: '请输入总价格', trigger: 'blur' }],
  reviewer: [{ required: true, message: '请输入复记人', trigger: 'blur' }],
  date: [{ required: true, message: '请选择日期', trigger: 'change' }]
}
// ç›‘听visible变化
watch(() => props.visible, (val) => {
  dialogVisible.value = val
  if (val) {
    dialogType.value = props.type
    if (props.type === 'edit') {
      Object.assign(formData, props.rowData)
    }
  }
})
// ç›‘听dialogVisible变化
watch(() => dialogVisible.value, (val) => {
  emit('update:visible', val)
})
// è®¡ç®—总成本
const calculateTotal = () => {
  formData.totalCost = (
    formData.laborCost +
    formData.materialCost +
    formData.equipmentCost
  )
  calculateProfit()
}
// è®¡ç®—利润
const calculateProfit = () => {
  formData.profit = formData.totalPrice - formData.totalCost
}
// æäº¤è¡¨å•
const handleSubmit = async () => {
  if (!formRef.value) return
  await formRef.value.validate((valid) => {
    if (valid) {
      loading.value = true
      // è§¦å‘成功事件,传递表单数据
      emit('success', { ...formData })
      loading.value = false
      handleClose()
    }
  })
}
// å…³é—­å¼¹çª—
const handleClose = () => {
  dialogVisible.value = false
  formRef.value?.resetFields()
  Object.assign(formData, {
    category: '',
    unit: '',
    productionVolume: 0,
    laborCost: 0,
    materialCost: 0,
    equipmentCost: 0,
    totalCost: 0,
    totalPrice: 0,
    profit: 0,
    reviewer: '',
    date: ''
  })
}
</script>
<style scoped>
.production-form {
  padding: 20px;
}
.dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
:deep(.el-form-item__label) {
  font-weight: bold;
}
:deep(.el-input-number) {
  width: 100%;
}
:deep(.el-select) {
  width: 100%;
}
</style>
src/views/production/components/SupplierDialog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,283 @@
<template>
  <el-dialog
    v-model="dialogVisible"
    :title="title"
    width="800px"
    :close-on-click-modal="false"
    @close="handleClose"
  >
    <el-form
      ref="formRef"
      :model="formData"
      :rules="rules"
      label-width="120px"
      class="supplier-form"
    >
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="供应商名称" prop="supplierName">
            <el-input v-model="formData.supplierName" placeholder="请输入供应商名称" />
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="纳税人识别号" prop="identifyNumber">
            <el-input v-model="formData.identifyNumber" placeholder="请输入纳税人识别号" />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="经营地址" prop="address">
            <el-cascader
              v-model="formData.address"
              :options="addressOptions"
              placeholder="请选择经营地址"
              clearable
              style="width: 100%"
            />
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="详细地址" prop="addressDetail">
            <el-input v-model="formData.addressDetail" placeholder="请输入详细地址" />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="银行账户" prop="bankAccount">
            <el-input v-model="formData.bankAccount" placeholder="请输入银行账户" />
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="开户行" prop="bank">
            <el-input v-model="formData.bank" placeholder="请输入开户行" />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="联系人" prop="contacts">
            <el-input v-model="formData.contacts" placeholder="请输入联系人" />
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="联系人电话" prop="contactsPhone">
            <el-input v-model="formData.contactsPhone" placeholder="请输入联系人电话" />
          </el-form-item>
        </el-col>
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="电子邮箱" prop="email">
            <el-input v-model="formData.email" placeholder="请输入电子邮箱" />
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="备注" prop="remark">
            <el-input v-model="formData.remark" type="textarea" placeholder="请输入备注信息" />
          </el-form-item>
        </el-col>
      </el-row>
    </el-form>
    <template #footer>
      <div class="dialog-footer">
        <el-button @click="handleClose">取 æ¶ˆ</el-button>
        <el-button v-if="type === 'edit'" @click="handleReset">重 ç½®</el-button>
        <el-button type="primary" :loading="loading" @click="handleSubmit">ç¡® å®š</el-button>
      </div>
    </template>
  </el-dialog>
</template>
<script setup>
import { ref, reactive, defineProps, watch } from 'vue'
import { ElMessage } from 'element-plus'
const props = defineProps({
  visible: {
    type: Boolean,
    default: false
  },
  type: {
    type: String,
    default: 'add' // 'add' æˆ– 'edit'
  },
  title: {
    type: String,
    default: '新增供应商'
  },
  rowData: {
    type: Object,
    default: () => ({})
  }
})
const emit = defineEmits(['update:visible', 'success'])
const dialogVisible = ref(false)
const loading = ref(false)
const formRef = ref(null)
// è¡¨å•数据
const formData = reactive({
  supplierName: '',
  identifyNumber: '',
  address: [],
  addressDetail: '',
  bankAccount: '',
  bank: '',
  contacts: '',
  contactsPhone: '',
  email: '',
  remark: ''
})
// åœ°å€é€‰é¡¹ï¼ˆç¤ºä¾‹æ•°æ®ï¼‰
const addressOptions = [
  {
    value: 'shanghai',
    label: '上海',
    children: [
      {
        value: 'pudong',
        label: '浦东新区'
      },
      {
        value: 'xuhui',
        label: '徐汇区'
      }
    ]
  },
  {
    value: 'beijing',
    label: '北京',
    children: [
      {
        value: 'chaoyang',
        label: '朝阳区'
      },
      {
        value: 'haidian',
        label: '海淀区'
      }
    ]
  }
]
// è¡¨å•验证规则
const rules = {
  supplierName: [
    { required: true, message: '请输入供应商名称', trigger: 'blur' }
  ],
  identifyNumber: [
    { required: true, message: '请输入纳税人识别号', trigger: 'blur' },
    { min: 15, max: 20, message: '纳税人识别号长度在15到20个字符', trigger: 'blur' }
  ],
  address: [
    { required: true, message: '请选择经营地址', trigger: 'change' }
  ],
  bankAccount: [
    { required: true, message: '请输入银行账户', trigger: 'blur' }
  ],
  bank: [
    { required: true, message: '请输入开户行', trigger: 'blur' }
  ],
  contacts: [
    { required: true, message: '请输入联系人', trigger: 'blur' }
  ],
  contactsPhone: [
    { required: true, message: '请输入联系人电话', trigger: 'blur' },
    { pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号码', trigger: 'blur' }
  ],
  email: [
    { type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur' }
  ]
}
// ç›‘听visible变化
watch(() => props.visible, (val) => {
  dialogVisible.value = val
  if (val && props.type === 'edit') {
    Object.assign(formData, props.rowData)
  }
})
// ç›‘听dialogVisible变化
watch(() => dialogVisible.value, (val) => {
  emit('update:visible', val)
})
// æäº¤è¡¨å•
const handleSubmit = async () => {
  if (!formRef.value) return
  await formRef.value.validate((valid) => {
    if (valid) {
      loading.value = true
      try {
        // è§¦å‘成功事件,传递表单数据
        emit('success', { ...formData })
        handleClose()
      } catch (error) {
        ElMessage.error('提交失败')
      } finally {
        loading.value = false
      }
    }
  })
}
// é‡ç½®è¡¨å•
const handleReset = () => {
  formRef.value?.resetFields()
}
// å…³é—­å¼¹çª—
const handleClose = () => {
  dialogVisible.value = false
  formRef.value?.resetFields()
  Object.assign(formData, {
    supplierName: '',
    identifyNumber: '',
    address: [],
    addressDetail: '',
    bankAccount: '',
    bank: '',
    contacts: '',
    contactsPhone: '',
    email: '',
    remark: ''
  })
}
</script>
<style scoped>
.supplier-form {
  padding: 20px;
}
.dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
:deep(.el-form-item__label) {
  font-weight: bold;
}
:deep(.el-input),
:deep(.el-cascader) {
  width: 100%;
}
:deep(.el-textarea__inner) {
  min-height: 80px;
}
</style>
src/views/production/index.vue
@@ -127,7 +127,6 @@
    tableData.value = res.data.list
    pagination.total = res.data.total
  } catch (error) {
    console.error('获取数据失败:', error)
    ElMessage.error('获取数据失败')
  } finally {
    loading.value = false
@@ -186,7 +185,6 @@
    }
    getList()
  } catch (error) {
    console.error(dialogType.value === 'add' ? '新增失败:' : '更新失败:', error)
    ElMessage.error(dialogType.value === 'add' ? '新增失败' : '更新失败')
  }
}
@@ -230,7 +228,6 @@
      navigator.msSaveBlob(blob, fileName)
    }
  } catch (error) {
    console.error('导出失败:', error)
    ElMessage.error('导出失败')
  }
}
src/views/system/user/index.vue
@@ -17,11 +17,8 @@
        <pane size="84">
          <el-col>
            <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
              <el-form-item label="用户名称" prop="userName">
                <el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px" @keyup.enter="handleQuery" />
              </el-form-item>
              <el-form-item label="手机号码" prop="phonenumber">
                <el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable style="width: 240px" @keyup.enter="handleQuery" />
              <el-form-item label="登录账号" prop="userName">
                <el-input v-model="queryParams.userName" placeholder="请输入" clearable style="width: 240px" @keyup.enter="handleQuery" />
              </el-form-item>
              <el-form-item label="状态" prop="status">
                <el-select v-model="queryParams.status" placeholder="用户状态" clearable style="width: 240px">
@@ -59,10 +56,9 @@
            <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
              <el-table-column type="selection" width="50" align="center" />
              <el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
              <el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
              <el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
              <el-table-column label="登录账号" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
              <el-table-column label="用户姓名" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
              <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
              <el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
              <el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
                <template #default="scope">
                  <el-switch
@@ -106,8 +102,22 @@
      <el-form :model="form" :rules="rules" ref="userRef" label-width="80px">
        <el-row>
          <el-col :span="12">
            <el-form-item label="用户昵称" prop="nickName">
              <el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
            <el-form-item label="登录账号" prop="userName">
              <el-input v-model="form.userName" placeholder="请输入手机号码" maxlength="30" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="用户姓名" prop="nickName">
              <el-input v-model="form.nickName" placeholder="请输入姓名" maxlength="30" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="角色" prop="roleIds">
              <el-select v-model="form.roleIds" multiple placeholder="请选择">
                <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -118,64 +128,15 @@
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="手机号码" prop="phonenumber">
              <el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="邮箱" prop="email">
              <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
              <el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
              <el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="用户性别">
              <el-select v-model="form.sex" placeholder="请选择">
                <el-option v-for="dict in sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="状态">
              <el-radio-group v-model="form.status">
                <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :value="dict.value">{{ dict.label }}</el-radio>
              </el-radio-group>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="岗位">
              <el-select v-model="form.postIds" multiple placeholder="请选择">
                <el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId" :disabled="item.status == 1"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="角色">
              <el-select v-model="form.roleIds" multiple placeholder="请选择">
                <el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" :disabled="item.status == 1"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label="备注">
              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
            <el-form-item v-if="title === '添加用户'" label="用户密码" prop="password">
              <el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password/>
            </el-form-item>
          </el-col>
        </el-row>
@@ -259,8 +220,8 @@
// åˆ—显隐信息
const columns = ref([
  { key: 0, label: `用户编号`, visible: true },
  { key: 1, label: `用户名称`, visible: true },
  { key: 2, label: `用户昵称`, visible: true },
  { key: 1, label: `登录账号`, visible: true },
  { key: 2, label: `用户姓名`, visible: true },
  { key: 3, label: `部门`, visible: true },
  { key: 4, label: `手机号码`, visible: true },
  { key: 5, label: `状态`, visible: true },
@@ -273,16 +234,15 @@
    pageNum: 1,
    pageSize: 10,
    userName: undefined,
    phonenumber: undefined,
    status: undefined,
    deptId: undefined
  },
  rules: {
    userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 å’Œ 20 ä¹‹é—´", trigger: "blur" }],
    nickName: [{ required: true, message: "用户昵称不能为空", trigger: "blur" }],
    userName: [{ required: true, message: "登录账号不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
    nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }],
    roleIds: [{ required: true, message: "角色不能为空", trigger: "change" }],
    deptId: [{ required: true, message: "部门不能为空", trigger: "change" }],
    password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 å’Œ 20 ä¹‹é—´", trigger: "blur" }, { pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }],
    email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
    phonenumber: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
  }
})
@@ -466,13 +426,8 @@
    deptId: undefined,
    userName: undefined,
    nickName: undefined,
    password: undefined,
    phonenumber: undefined,
    email: undefined,
    sex: undefined,
    password: '123456',
    status: "0",
    remark: undefined,
    postIds: [],
    roleIds: []
  }
  proxy.resetForm("userRef")
@@ -492,7 +447,7 @@
    roleOptions.value = response.roles
    open.value = true
    title.value = "添加用户"
    form.value.password = initPassword.value
    form.value.password = '123456'
  })
}
@@ -504,11 +459,9 @@
    form.value = response.data
    postOptions.value = response.posts
    roleOptions.value = response.roles
    form.value.postIds = response.postIds
    form.value.roleIds = response.roleIds
    open.value = true
    title.value = "修改用户"
    form.password = ""
  })
}
src/views/tool/build/index.vue
@@ -307,7 +307,7 @@
</script>
<style lang='scss'>
$lighterBlue: #409EFF;
$lighterBlue: #165DFF;
.container {
  position: relative;