省市级联组件
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"ant-design-vue": "^1.7.6",
|
||||
"area-data": "^5.0.6",
|
||||
"axios": "^0.21.1",
|
||||
"compression-webpack-plugin": "^8.0.1",
|
||||
"core-js": "^3.6.5",
|
||||
@@ -21,6 +22,7 @@
|
||||
"vue-ls": "^3.2.2",
|
||||
"vue-photo-preview": "^1.1.3",
|
||||
"vue-print-nb-jeecg": "^1.0.9",
|
||||
"vue-area-linkage": "^5.1.0",
|
||||
"vue-router": "^3.2.0",
|
||||
"vuedraggable": "^2.20.0",
|
||||
"vuex": "^3.4.0"
|
||||
|
||||
+20
-1
@@ -7717,4 +7717,23 @@ font.weak {
|
||||
// TESTA-521
|
||||
.tab-layout-tabs.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab-active {
|
||||
border-color: @primary-color !important;
|
||||
}
|
||||
}
|
||||
|
||||
// begin -------- JAreaLinkage 三级联动样式 --------------
|
||||
.cascader-menu-list .cascader-menu-option.hover,
|
||||
.cascader-menu-list .cascader-menu-option:hover {
|
||||
background-color: color(~`colorPalette("@{primary-color}", 1)`);
|
||||
}
|
||||
|
||||
.area-selectable-list .area-select-option.hover {
|
||||
background-color: color(~`colorPalette("@{primary-color}", 1)`);
|
||||
}
|
||||
|
||||
.area-select:hover {
|
||||
border-color: @primary-color;
|
||||
}
|
||||
|
||||
.area-select:active {
|
||||
box-shadow: 0 0 0 2px color(~`colorPalette("@{primary-color}", 1)`);
|
||||
}
|
||||
// end -------- JAreaLinkage 三级联动样式 --------------
|
||||
|
||||
@@ -0,0 +1,598 @@
|
||||
/* eslint-disable */
|
||||
module.exports = {
|
||||
'86': {
|
||||
'110000': '北京市',
|
||||
'120000': '天津市',
|
||||
'130000': '河北省',
|
||||
'140000': '山西省',
|
||||
'150000': '内蒙古自治区',
|
||||
'210000': '辽宁省',
|
||||
'220000': '吉林省',
|
||||
'230000': '黑龙江省',
|
||||
'310000': '上海市',
|
||||
'320000': '江苏省',
|
||||
'330000': '浙江省',
|
||||
'340000': '安徽省',
|
||||
'350000': '福建省',
|
||||
'360000': '江西省',
|
||||
'370000': '山东省',
|
||||
'410000': '河南省',
|
||||
'420000': '湖北省',
|
||||
'430000': '湖南省',
|
||||
'440000': '广东省',
|
||||
'450000': '广西壮族自治区',
|
||||
'460000': '海南省',
|
||||
'500000': '重庆市',
|
||||
'510000': '四川省',
|
||||
'520000': '贵州省',
|
||||
'530000': '云南省',
|
||||
'540000': '西藏自治区',
|
||||
'610000': '陕西省',
|
||||
'620000': '甘肃省',
|
||||
'630000': '青海省',
|
||||
'640000': '宁夏回族自治区',
|
||||
'650000': '新疆维吾尔自治区',
|
||||
'710000': '台湾省',
|
||||
'810000': '香港特别行政区',
|
||||
'820000': '澳门特别行政区'
|
||||
},
|
||||
'110000': {
|
||||
'110101': '东城区',
|
||||
'110102': '西城区',
|
||||
'110105': '朝阳区',
|
||||
'110106': '丰台区',
|
||||
'110107': '石景山区',
|
||||
'110108': '海淀区',
|
||||
'110109': '门头沟区',
|
||||
'110111': '房山区',
|
||||
'110112': '通州区',
|
||||
'110113': '顺义区',
|
||||
'110114': '昌平区',
|
||||
'110115': '大兴区',
|
||||
'110116': '怀柔区',
|
||||
'110117': '平谷区',
|
||||
'110118': '密云区',
|
||||
'110119': '延庆区'
|
||||
},
|
||||
'120000': {
|
||||
'120101': '和平区',
|
||||
'120102': '河东区',
|
||||
'120103': '河西区',
|
||||
'120104': '南开区',
|
||||
'120105': '河北区',
|
||||
'120106': '红桥区',
|
||||
'120110': '东丽区',
|
||||
'120111': '西青区',
|
||||
'120112': '津南区',
|
||||
'120113': '北辰区',
|
||||
'120114': '武清区',
|
||||
'120115': '宝坻区',
|
||||
'120116': '滨海新区',
|
||||
'120117': '宁河区',
|
||||
'120118': '静海区',
|
||||
'120119': '蓟州区'
|
||||
},
|
||||
'130000': {
|
||||
'130100': '石家庄市',
|
||||
'130200': '唐山市',
|
||||
'130300': '秦皇岛市',
|
||||
'130400': '邯郸市',
|
||||
'130500': '邢台市',
|
||||
'130600': '保定市',
|
||||
'130700': '张家口市',
|
||||
'130800': '承德市',
|
||||
'130900': '沧州市',
|
||||
'131000': '廊坊市',
|
||||
'131100': '衡水市',
|
||||
'139001': '定州市',
|
||||
'139002': '辛集市'
|
||||
},
|
||||
'140000': {
|
||||
'140100': '太原市',
|
||||
'140200': '大同市',
|
||||
'140300': '阳泉市',
|
||||
'140400': '长治市',
|
||||
'140500': '晋城市',
|
||||
'140600': '朔州市',
|
||||
'140700': '晋中市',
|
||||
'140800': '运城市',
|
||||
'140900': '忻州市',
|
||||
'141000': '临汾市',
|
||||
'141100': '吕梁市'
|
||||
},
|
||||
'150000': {
|
||||
'150100': '呼和浩特市',
|
||||
'150200': '包头市',
|
||||
'150300': '乌海市',
|
||||
'150400': '赤峰市',
|
||||
'150500': '通辽市',
|
||||
'150600': '鄂尔多斯市',
|
||||
'150700': '呼伦贝尔市',
|
||||
'150800': '巴彦淖尔市',
|
||||
'150900': '乌兰察布市',
|
||||
'152200': '兴安盟',
|
||||
'152500': '锡林郭勒盟',
|
||||
'152900': '阿拉善盟'
|
||||
},
|
||||
'210000': {
|
||||
'210100': '沈阳市',
|
||||
'210200': '大连市',
|
||||
'210300': '鞍山市',
|
||||
'210400': '抚顺市',
|
||||
'210500': '本溪市',
|
||||
'210600': '丹东市',
|
||||
'210700': '锦州市',
|
||||
'210800': '营口市',
|
||||
'210900': '阜新市',
|
||||
'211000': '辽阳市',
|
||||
'211100': '盘锦市',
|
||||
'211200': '铁岭市',
|
||||
'211300': '朝阳市',
|
||||
'211400': '葫芦岛市'
|
||||
},
|
||||
'220000': {
|
||||
'220100': '长春市',
|
||||
'220200': '吉林市',
|
||||
'220300': '四平市',
|
||||
'220400': '辽源市',
|
||||
'220500': '通化市',
|
||||
'220600': '白山市',
|
||||
'220700': '松原市',
|
||||
'220800': '白城市',
|
||||
'222400': '延边朝鲜族自治州'
|
||||
},
|
||||
'230000': {
|
||||
'230100': '哈尔滨市',
|
||||
'230200': '齐齐哈尔市',
|
||||
'230300': '鸡西市',
|
||||
'230400': '鹤岗市',
|
||||
'230500': '双鸭山市',
|
||||
'230600': '大庆市',
|
||||
'230700': '伊春市',
|
||||
'230800': '佳木斯市',
|
||||
'230900': '七台河市',
|
||||
'231000': '牡丹江市',
|
||||
'231100': '黑河市',
|
||||
'231200': '绥化市',
|
||||
'232700': '大兴安岭地区'
|
||||
},
|
||||
'310000': {
|
||||
'310101': '黄浦区',
|
||||
'310104': '徐汇区',
|
||||
'310105': '长宁区',
|
||||
'310106': '静安区',
|
||||
'310107': '普陀区',
|
||||
'310109': '虹口区',
|
||||
'310110': '杨浦区',
|
||||
'310112': '闵行区',
|
||||
'310113': '宝山区',
|
||||
'310114': '嘉定区',
|
||||
'310115': '浦东新区',
|
||||
'310116': '金山区',
|
||||
'310117': '松江区',
|
||||
'310118': '青浦区',
|
||||
'310120': '奉贤区',
|
||||
'310151': '崇明区'
|
||||
},
|
||||
'320000': {
|
||||
'320100': '南京市',
|
||||
'320200': '无锡市',
|
||||
'320300': '徐州市',
|
||||
'320400': '常州市',
|
||||
'320500': '苏州市',
|
||||
'320600': '南通市',
|
||||
'320700': '连云港市',
|
||||
'320800': '淮安市',
|
||||
'320900': '盐城市',
|
||||
'321000': '扬州市',
|
||||
'321100': '镇江市',
|
||||
'321200': '泰州市',
|
||||
'321300': '宿迁市'
|
||||
},
|
||||
'330000': {
|
||||
'330100': '杭州市',
|
||||
'330200': '宁波市',
|
||||
'330300': '温州市',
|
||||
'330400': '嘉兴市',
|
||||
'330500': '湖州市',
|
||||
'330600': '绍兴市',
|
||||
'330700': '金华市',
|
||||
'330800': '衢州市',
|
||||
'330900': '舟山市',
|
||||
'331000': '台州市',
|
||||
'331100': '丽水市'
|
||||
},
|
||||
'340000': {
|
||||
'340100': '合肥市',
|
||||
'340200': '芜湖市',
|
||||
'340300': '蚌埠市',
|
||||
'340400': '淮南市',
|
||||
'340500': '马鞍山市',
|
||||
'340600': '淮北市',
|
||||
'340700': '铜陵市',
|
||||
'340800': '安庆市',
|
||||
'341000': '黄山市',
|
||||
'341100': '滁州市',
|
||||
'341200': '阜阳市',
|
||||
'341300': '宿州市',
|
||||
'341500': '六安市',
|
||||
'341600': '亳州市',
|
||||
'341700': '池州市',
|
||||
'341800': '宣城市'
|
||||
},
|
||||
'350000': {
|
||||
'350100': '福州市',
|
||||
'350200': '厦门市',
|
||||
'350300': '莆田市',
|
||||
'350400': '三明市',
|
||||
'350500': '泉州市',
|
||||
'350600': '漳州市',
|
||||
'350700': '南平市',
|
||||
'350800': '龙岩市',
|
||||
'350900': '宁德市'
|
||||
},
|
||||
'360000': {
|
||||
'360100': '南昌市',
|
||||
'360200': '景德镇市',
|
||||
'360300': '萍乡市',
|
||||
'360400': '九江市',
|
||||
'360500': '新余市',
|
||||
'360600': '鹰潭市',
|
||||
'360700': '赣州市',
|
||||
'360800': '吉安市',
|
||||
'360900': '宜春市',
|
||||
'361000': '抚州市',
|
||||
'361100': '上饶市'
|
||||
},
|
||||
'370000': {
|
||||
'370100': '济南市',
|
||||
'370200': '青岛市',
|
||||
'370300': '淄博市',
|
||||
'370400': '枣庄市',
|
||||
'370500': '东营市',
|
||||
'370600': '烟台市',
|
||||
'370700': '潍坊市',
|
||||
'370800': '济宁市',
|
||||
'370900': '泰安市',
|
||||
'371000': '威海市',
|
||||
'371100': '日照市',
|
||||
'371200': '莱芜市',
|
||||
'371300': '临沂市',
|
||||
'371400': '德州市',
|
||||
'371500': '聊城市',
|
||||
'371600': '滨州市',
|
||||
'371700': '菏泽市'
|
||||
},
|
||||
'410000': {
|
||||
'410100': '郑州市',
|
||||
'410200': '开封市',
|
||||
'410300': '洛阳市',
|
||||
'410400': '平顶山市',
|
||||
'410500': '安阳市',
|
||||
'410600': '鹤壁市',
|
||||
'410700': '新乡市',
|
||||
'410800': '焦作市',
|
||||
'410900': '濮阳市',
|
||||
'411000': '许昌市',
|
||||
'411100': '漯河市',
|
||||
'411200': '三门峡市',
|
||||
'411300': '南阳市',
|
||||
'411400': '商丘市',
|
||||
'411500': '信阳市',
|
||||
'411600': '周口市',
|
||||
'411700': '驻马店市',
|
||||
'419001': '济源市'
|
||||
},
|
||||
'420000': {
|
||||
'420100': '武汉市',
|
||||
'420200': '黄石市',
|
||||
'420300': '十堰市',
|
||||
'420500': '宜昌市',
|
||||
'420600': '襄阳市',
|
||||
'420700': '鄂州市',
|
||||
'420800': '荆门市',
|
||||
'420900': '孝感市',
|
||||
'421000': '荆州市',
|
||||
'421100': '黄冈市',
|
||||
'421200': '咸宁市',
|
||||
'421300': '随州市',
|
||||
'422800': '恩施土家族苗族自治州',
|
||||
'429004': '仙桃市',
|
||||
'429005': '潜江市',
|
||||
'429006': '天门市',
|
||||
'429021': '神农架林区'
|
||||
},
|
||||
'430000': {
|
||||
'430100': '长沙市',
|
||||
'430200': '株洲市',
|
||||
'430300': '湘潭市',
|
||||
'430400': '衡阳市',
|
||||
'430500': '邵阳市',
|
||||
'430600': '岳阳市',
|
||||
'430700': '常德市',
|
||||
'430800': '张家界市',
|
||||
'430900': '益阳市',
|
||||
'431000': '郴州市',
|
||||
'431100': '永州市',
|
||||
'431200': '怀化市',
|
||||
'431300': '娄底市',
|
||||
'433100': '湘西土家族苗族自治州'
|
||||
},
|
||||
'440000': {
|
||||
'440100': '广州市',
|
||||
'440200': '韶关市',
|
||||
'440300': '深圳市',
|
||||
'440400': '珠海市',
|
||||
'440500': '汕头市',
|
||||
'440600': '佛山市',
|
||||
'440700': '江门市',
|
||||
'440800': '湛江市',
|
||||
'440900': '茂名市',
|
||||
'441200': '肇庆市',
|
||||
'441300': '惠州市',
|
||||
'441400': '梅州市',
|
||||
'441500': '汕尾市',
|
||||
'441600': '河源市',
|
||||
'441700': '阳江市',
|
||||
'441800': '清远市',
|
||||
'441900': '东莞市',
|
||||
'442000': '中山市',
|
||||
'445100': '潮州市',
|
||||
'445200': '揭阳市',
|
||||
'445300': '云浮市'
|
||||
},
|
||||
'450000': {
|
||||
'450100': '南宁市',
|
||||
'450200': '柳州市',
|
||||
'450300': '桂林市',
|
||||
'450400': '梧州市',
|
||||
'450500': '北海市',
|
||||
'450600': '防城港市',
|
||||
'450700': '钦州市',
|
||||
'450800': '贵港市',
|
||||
'450900': '玉林市',
|
||||
'451000': '百色市',
|
||||
'451100': '贺州市',
|
||||
'451200': '河池市',
|
||||
'451300': '来宾市',
|
||||
'451400': '崇左市'
|
||||
},
|
||||
'460000': {
|
||||
'460100': '海口市',
|
||||
'460200': '三亚市',
|
||||
'460300': '三沙市',
|
||||
'460400': '儋州市',
|
||||
'469001': '五指山市',
|
||||
'469002': '琼海市',
|
||||
'469005': '文昌市',
|
||||
'469006': '万宁市',
|
||||
'469007': '东方市',
|
||||
'469021': '定安县',
|
||||
'469022': '屯昌县',
|
||||
'469023': '澄迈县',
|
||||
'469024': '临高县',
|
||||
'469025': '白沙黎族自治县',
|
||||
'469026': '昌江黎族自治县',
|
||||
'469027': '乐东黎族自治县',
|
||||
'469028': '陵水黎族自治县',
|
||||
'469029': '保亭黎族苗族自治县',
|
||||
'469030': '琼中黎族苗族自治县'
|
||||
},
|
||||
'500000': {
|
||||
'500101': '万州区',
|
||||
'500102': '涪陵区',
|
||||
'500103': '渝中区',
|
||||
'500104': '大渡口区',
|
||||
'500105': '江北区',
|
||||
'500106': '沙坪坝区',
|
||||
'500107': '九龙坡区',
|
||||
'500108': '南岸区',
|
||||
'500109': '北碚区',
|
||||
'500110': '綦江区',
|
||||
'500111': '大足区',
|
||||
'500112': '渝北区',
|
||||
'500113': '巴南区',
|
||||
'500114': '黔江区',
|
||||
'500115': '长寿区',
|
||||
'500116': '江津区',
|
||||
'500117': '合川区',
|
||||
'500118': '永川区',
|
||||
'500119': '南川区',
|
||||
'500120': '璧山区',
|
||||
'500151': '铜梁区',
|
||||
'500152': '潼南区',
|
||||
'500153': '荣昌区',
|
||||
'500154': '开州区',
|
||||
'500228': '梁平县',
|
||||
'500229': '城口县',
|
||||
'500230': '丰都县',
|
||||
'500231': '垫江县',
|
||||
'500232': '武隆县',
|
||||
'500233': '忠县',
|
||||
'500235': '云阳县',
|
||||
'500236': '奉节县',
|
||||
'500237': '巫山县',
|
||||
'500238': '巫溪县',
|
||||
'500240': '石柱土家族自治县',
|
||||
'500241': '秀山土家族苗族自治县',
|
||||
'500242': '酉阳土家族苗族自治县',
|
||||
'500243': '彭水苗族土家族自治县'
|
||||
},
|
||||
'510000': {
|
||||
'510100': '成都市',
|
||||
'510300': '自贡市',
|
||||
'510400': '攀枝花市',
|
||||
'510500': '泸州市',
|
||||
'510600': '德阳市',
|
||||
'510700': '绵阳市',
|
||||
'510800': '广元市',
|
||||
'510900': '遂宁市',
|
||||
'511000': '内江市',
|
||||
'511100': '乐山市',
|
||||
'511300': '南充市',
|
||||
'511400': '眉山市',
|
||||
'511500': '宜宾市',
|
||||
'511600': '广安市',
|
||||
'511700': '达州市',
|
||||
'511800': '雅安市',
|
||||
'511900': '巴中市',
|
||||
'512000': '资阳市',
|
||||
'513200': '阿坝藏族羌族自治州',
|
||||
'513300': '甘孜藏族自治州',
|
||||
'513400': '凉山彝族自治州'
|
||||
},
|
||||
'520000': {
|
||||
'520100': '贵阳市',
|
||||
'520200': '六盘水市',
|
||||
'520300': '遵义市',
|
||||
'520400': '安顺市',
|
||||
'520500': '毕节市',
|
||||
'520600': '铜仁市',
|
||||
'522300': '黔西南布依族苗族自治州',
|
||||
'522600': '黔东南苗族侗族自治州',
|
||||
'522700': '黔南布依族苗族自治州'
|
||||
},
|
||||
'530000': {
|
||||
'530100': '昆明市',
|
||||
'530300': '曲靖市',
|
||||
'530400': '玉溪市',
|
||||
'530500': '保山市',
|
||||
'530600': '昭通市',
|
||||
'530700': '丽江市',
|
||||
'530800': '普洱市',
|
||||
'530900': '临沧市',
|
||||
'532300': '楚雄彝族自治州',
|
||||
'532500': '红河哈尼族彝族自治州',
|
||||
'532600': '文山壮族苗族自治州',
|
||||
'532800': '西双版纳傣族自治州',
|
||||
'532900': '大理白族自治州',
|
||||
'533100': '德宏傣族景颇族自治州',
|
||||
'533300': '怒江傈僳族自治州',
|
||||
'533400': '迪庆藏族自治州'
|
||||
},
|
||||
'540000': {
|
||||
'540100': '拉萨市',
|
||||
'540200': '日喀则市',
|
||||
'540300': '昌都市',
|
||||
'540400': '林芝市',
|
||||
'540500': '山南市',
|
||||
'542400': '那曲地区',
|
||||
'542500': '阿里地区'
|
||||
},
|
||||
'610000': {
|
||||
'610100': '西安市',
|
||||
'610200': '铜川市',
|
||||
'610300': '宝鸡市',
|
||||
'610400': '咸阳市',
|
||||
'610500': '渭南市',
|
||||
'610600': '延安市',
|
||||
'610700': '汉中市',
|
||||
'610800': '榆林市',
|
||||
'610900': '安康市',
|
||||
'611000': '商洛市'
|
||||
},
|
||||
'620000': {
|
||||
'620100': '兰州市',
|
||||
'620200': '嘉峪关市',
|
||||
'620300': '金昌市',
|
||||
'620400': '白银市',
|
||||
'620500': '天水市',
|
||||
'620600': '武威市',
|
||||
'620700': '张掖市',
|
||||
'620800': '平凉市',
|
||||
'620900': '酒泉市',
|
||||
'621000': '庆阳市',
|
||||
'621100': '定西市',
|
||||
'621200': '陇南市',
|
||||
'622900': '临夏回族自治州',
|
||||
'623000': '甘南藏族自治州'
|
||||
},
|
||||
'630000': {
|
||||
'630100': '西宁市',
|
||||
'630200': '海东市',
|
||||
'632200': '海北藏族自治州',
|
||||
'632300': '黄南藏族自治州',
|
||||
'632500': '海南藏族自治州',
|
||||
'632600': '果洛藏族自治州',
|
||||
'632700': '玉树藏族自治州',
|
||||
'632800': '海西蒙古族藏族自治州'
|
||||
},
|
||||
'640000': { '640100': '银川市', '640200': '石嘴山市', '640300': '吴忠市', '640400': '固原市', '640500': '中卫市' },
|
||||
'650000': {
|
||||
'650100': '乌鲁木齐市',
|
||||
'650200': '克拉玛依市',
|
||||
'650400': '吐鲁番市',
|
||||
'650500': '哈密市',
|
||||
'652300': '昌吉回族自治州',
|
||||
'652700': '博尔塔拉蒙古自治州',
|
||||
'652800': '巴音郭楞蒙古自治州',
|
||||
'652900': '阿克苏地区',
|
||||
'653000': '克孜勒苏柯尔克孜自治州',
|
||||
'653100': '喀什地区',
|
||||
'653200': '和田地区',
|
||||
'654000': '伊犁哈萨克自治州',
|
||||
'654200': '塔城地区',
|
||||
'654300': '阿勒泰地区',
|
||||
'659001': '石河子市',
|
||||
'659002': '阿拉尔市',
|
||||
'659003': '图木舒克市',
|
||||
'659004': '五家渠市',
|
||||
'659006': '铁门关市'
|
||||
},
|
||||
'710000': {
|
||||
'710101': '金门县',
|
||||
'710102': '连江县',
|
||||
'710103': '苗栗',
|
||||
'710104': '南投县',
|
||||
'710105': '澎湖县',
|
||||
'710106': '屏东县',
|
||||
'710107': '台东县',
|
||||
'710108': '台中市',
|
||||
'710109': '台南市',
|
||||
'710110': '台北市',
|
||||
'710111': '桃园市',
|
||||
'710112': '云林',
|
||||
'710113': '新北市',
|
||||
'710114': '彰化县',
|
||||
'710115': '嘉义市',
|
||||
'710116': '新竹市',
|
||||
'710117': '花莲县',
|
||||
'710118': '宜兰县',
|
||||
'710119': '高雄市',
|
||||
'710120': '基隆市',
|
||||
'710121': '新竹县',
|
||||
'710122': '嘉义县'
|
||||
},
|
||||
'810000': {
|
||||
'810101': '中西区',
|
||||
'810102': '东区',
|
||||
'810103': '九龙城区',
|
||||
'810104': '观塘区',
|
||||
'810105': '深水埗区',
|
||||
'810106': '湾仔区',
|
||||
'810107': '黄大仙区',
|
||||
'810108': '油尖旺区',
|
||||
'810109': '离岛区',
|
||||
'810110': '葵青区',
|
||||
'810111': '北区',
|
||||
'810112': '西贡区',
|
||||
'810113': '沙田区',
|
||||
'810114': '屯门区',
|
||||
'810115': '大埔区',
|
||||
'810116': '荃湾区',
|
||||
'810117': '元朗区',
|
||||
'810118': '香港',
|
||||
'810119': '九龙',
|
||||
'810120': '新界'
|
||||
},
|
||||
'820000': {
|
||||
'820101': '花地玛堂区',
|
||||
'820102': '花王堂区',
|
||||
'820103': '望德堂区',
|
||||
'820104': '风顺堂区',
|
||||
'820105': '大堂区',
|
||||
'820106': '嘉模堂区',
|
||||
'820107': '路函填海区',
|
||||
'820108': '圣方济各堂区'
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,275 @@
|
||||
.area-zoom-in-top-enter-active,
|
||||
.area-zoom-in-top-leave-active {
|
||||
opacity: 1;
|
||||
transform: scaleY(1);
|
||||
}
|
||||
|
||||
.area-zoom-in-top-enter,
|
||||
.area-zoom-in-top-leave-active {
|
||||
opacity: 0;
|
||||
transform: scaleY(0);
|
||||
}
|
||||
|
||||
.area-select {
|
||||
box-sizing: border-box;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
font-size: 14px;
|
||||
font-variant: tabular-nums;
|
||||
line-height: 1.5;
|
||||
list-style: none;
|
||||
font-feature-settings: 'tnum';
|
||||
position: relative;
|
||||
outline: 0;
|
||||
display: block;
|
||||
background-color: #fff;
|
||||
border: 1px solid #d9d9d9;
|
||||
border-top-width: 1.02px;
|
||||
border-radius: 4px;
|
||||
outline: none;
|
||||
transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.area-select-wrap .area-select {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.area-select * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.area-select:hover {
|
||||
border-color: #40a9ff;
|
||||
border-right-width: 1px !important;
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
|
||||
.area-select:active {
|
||||
box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
|
||||
}
|
||||
|
||||
.area-select.small {
|
||||
width: 126px;
|
||||
}
|
||||
|
||||
.area-select.medium {
|
||||
width: 160px;
|
||||
}
|
||||
|
||||
.area-select.large {
|
||||
width: 194px;
|
||||
}
|
||||
|
||||
.area-select.is-disabled {
|
||||
background: #eceff5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.area-select.is-disabled:hover {
|
||||
border-color: #e1e2e6;
|
||||
}
|
||||
|
||||
.area-select.is-disabled .area-selected-trigger {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.area-select .area-selected-trigger {
|
||||
position: relative;
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
height: 100%;
|
||||
padding: 8px 20px 7px 12px;
|
||||
}
|
||||
|
||||
.area-select .area-select-icon {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -2px;
|
||||
right: 6px;
|
||||
content: "";
|
||||
width: 0;
|
||||
height: 0;
|
||||
border: 6px solid transparent;
|
||||
border-top-color: rgba(0, 0, 0, 0.25);
|
||||
transition: all .3s linear;
|
||||
transform-origin: center;
|
||||
}
|
||||
|
||||
.area-select .area-select-icon.active {
|
||||
margin-top: -8px;
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
|
||||
.area-selectable-list-wrap {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
max-height: 275px;
|
||||
z-index: 15000;
|
||||
background-color: #fff;
|
||||
box-sizing: border-box;
|
||||
overflow-x: auto;
|
||||
margin: 2px 0;
|
||||
border-radius: 4px;
|
||||
outline: none;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
|
||||
transition: opacity 0.15s, transform 0.3s !important;
|
||||
transform-origin: center top !important;
|
||||
}
|
||||
|
||||
.area-selectable-list {
|
||||
position: relative;
|
||||
margin: 0;
|
||||
padding: 6px 0;
|
||||
width: 100%;
|
||||
font-size: 14px;
|
||||
color: #565656;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.area-selectable-list .area-select-option {
|
||||
position: relative;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
cursor: pointer;
|
||||
padding: 0 15px 0 10px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.area-selectable-list .area-select-option.hover {
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
|
||||
// 请选择省市placeholder 为灰色
|
||||
.placeholderGray .area-selected-trigger {
|
||||
color: rgb(191,191,191);
|
||||
}
|
||||
|
||||
.area-selectable-list .area-select-option.selected {
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
font-weight: 600;
|
||||
background-color: #efefef;
|
||||
}
|
||||
|
||||
.cascader-menu-list-wrap {
|
||||
position: absolute;
|
||||
white-space: nowrap;
|
||||
z-index: 15000;
|
||||
background-color: #fff;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
font-size: 0;
|
||||
margin: 2px 0;
|
||||
border-radius: 4px;
|
||||
outline: none;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
||||
|
||||
transition: opacity 0.15s, transform 0.3s !important;
|
||||
transform-origin: center top !important;
|
||||
}
|
||||
|
||||
.cascader-menu-list {
|
||||
position: relative;
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
color: #565656;
|
||||
padding: 6px 0;
|
||||
list-style: none;
|
||||
display: inline-block;
|
||||
height: 204px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
min-width: 160px;
|
||||
vertical-align: top;
|
||||
background-color: #fff;
|
||||
border-right: 1px solid #e4e7ed;
|
||||
}
|
||||
|
||||
.cascader-menu-list:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
.cascader-menu-list .cascader-menu-option {
|
||||
position: relative;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
cursor: pointer;
|
||||
padding: 0 15px 0 10px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.cascader-menu-list .cascader-menu-option.hover,
|
||||
.cascader-menu-list .cascader-menu-option:hover {
|
||||
background-color: #e6f7ff;
|
||||
}
|
||||
|
||||
.cascader-menu-list .cascader-menu-option.selected {
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
font-weight: 600;
|
||||
background-color: #efefef;
|
||||
}
|
||||
|
||||
.cascader-menu-list .cascader-menu-option.cascader-menu-extensible:after {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
margin-top: -4px;
|
||||
right: 5px;
|
||||
content: "";
|
||||
width: 0;
|
||||
height: 0;
|
||||
border: 4px solid transparent;
|
||||
border-left-color: #a1a4ad;
|
||||
}
|
||||
|
||||
.cascader-menu-list::-webkit-scrollbar,
|
||||
.area-selectable-list-wrap::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:decremen,
|
||||
.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:end:decrement,
|
||||
.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:increment,
|
||||
.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:start:increment,
|
||||
.cascader-menu-list::-webkit-scrollbar-button:vertical:decremen,
|
||||
.cascader-menu-list::-webkit-scrollbar-button:vertical:end:decrement,
|
||||
.cascader-menu-list::-webkit-scrollbar-button:vertical:increment,
|
||||
.cascader-menu-list::-webkit-scrollbar-button:vertical:start:increment {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.cascader-menu-list::-webkit-scrollbar-thumb:vertical,
|
||||
.area-selectable-list-wrap::-webkit-scrollbar-thumb:vertical {
|
||||
background-color: #b8b8b8;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.cascader-menu-list::-webkit-scrollbar-thumb:vertical:hover,
|
||||
.area-selectable-list-wrap::-webkit-scrollbar-thumb:vertical:hover {
|
||||
background-color: #777;
|
||||
}
|
||||
|
||||
.ant-pagination-disabled i{
|
||||
cursor: not-allowed!important;
|
||||
}
|
||||
|
||||
.urge-num{
|
||||
color:red;
|
||||
margin-left: 4px;
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
import { pcaa } from 'area-data'
|
||||
|
||||
/**
|
||||
* 省市区
|
||||
*/
|
||||
export default class Area {
|
||||
/**
|
||||
* 构造器
|
||||
* @param express
|
||||
*/
|
||||
constructor() {
|
||||
const arr = []
|
||||
const province = pcaa['86']
|
||||
Object.keys(province).map(key => {
|
||||
arr.push({ id: key, text: province[key], pid: '86' })
|
||||
const city = pcaa[key]
|
||||
Object.keys(city).map(key2 => {
|
||||
arr.push({ id: key2, text: city[key2], pid: key })
|
||||
const qu = pcaa[key2]
|
||||
Object.keys(qu).map(key3 => {
|
||||
arr.push({ id: key3, text: qu[key3], pid: key2 })
|
||||
})
|
||||
})
|
||||
})
|
||||
this.all = arr
|
||||
}
|
||||
|
||||
get pca() {
|
||||
return this.all
|
||||
}
|
||||
|
||||
getCode(text) {
|
||||
if (!text || text.length === 0) {
|
||||
return ''
|
||||
}
|
||||
for (const item of this.all) {
|
||||
if (item.text === text) {
|
||||
return item.id
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getText(code) {
|
||||
if (!code || code.length === 0) {
|
||||
return ''
|
||||
}
|
||||
const arr = []
|
||||
this.getAreaBycode(code, arr)
|
||||
return arr.join('/')
|
||||
}
|
||||
|
||||
getRealCode(code) {
|
||||
const arr = []
|
||||
this.getPcode(code, arr)
|
||||
return arr
|
||||
}
|
||||
|
||||
getPcode(id, arr) {
|
||||
for (const item of this.all) {
|
||||
if (item.id === id) {
|
||||
arr.unshift(id)
|
||||
if (item.pid !== '86') {
|
||||
this.getPcode(item.pid, arr)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getAreaBycode(code, arr) {
|
||||
// console.log("this.all.length",this.all)
|
||||
for (const item of this.all) {
|
||||
if (item.id === code) {
|
||||
arr.unshift(item.text)
|
||||
this.getAreaBycode(item.pid, arr)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
import pca from '../../../public/map/areaPca'
|
||||
|
||||
/**
|
||||
* 省市区
|
||||
*/
|
||||
export default class Area {
|
||||
/**
|
||||
* 构造器
|
||||
* @param express
|
||||
*/
|
||||
constructor() {
|
||||
const arr = []
|
||||
const province = pca['86']
|
||||
Object.keys(province).map(key => {
|
||||
arr.push({ id: key, text: province[key], pid: '86' })
|
||||
const city = pca[key]
|
||||
Object.keys(city).map(key2 => {
|
||||
arr.push({ id: key2, text: city[key2], pid: key })
|
||||
})
|
||||
})
|
||||
this.all = arr
|
||||
}
|
||||
|
||||
get pca() {
|
||||
return this.all
|
||||
}
|
||||
|
||||
getCode(text) {
|
||||
if (!text || text.length === 0) {
|
||||
return ''
|
||||
}
|
||||
for (const item of this.all) {
|
||||
if (item.text === text) {
|
||||
return item.id
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getText(code) {
|
||||
if (!code || code.length === 0) {
|
||||
return ''
|
||||
}
|
||||
const arr = []
|
||||
this.getAreaBycode(code, arr)
|
||||
return arr.join('/')
|
||||
}
|
||||
|
||||
getRealCode(code) {
|
||||
const arr = []
|
||||
this.getPcode(code, arr)
|
||||
return arr
|
||||
}
|
||||
|
||||
getPcode(id, arr) {
|
||||
for (const item of this.all) {
|
||||
if (item.id === id) {
|
||||
arr.unshift(id)
|
||||
if (item.pid !== '86') {
|
||||
this.getPcode(item.pid, arr)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
getAreaBycode(code, arr) {
|
||||
// console.log("this.all.length",this.all)
|
||||
for (const item of this.all) {
|
||||
if (item.id === code) {
|
||||
arr.unshift(item.text)
|
||||
this.getAreaBycode(item.pid, arr)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* 获取字符串的长度ascii长度为1 中文长度为2
|
||||
* @param str
|
||||
* @returns {number}
|
||||
*/
|
||||
export const getStrFullLength = (str = '') =>
|
||||
str.split('').reduce((pre, cur) => {
|
||||
const charCode = cur.charCodeAt(0)
|
||||
if (charCode >= 0 && charCode <= 128) {
|
||||
return pre + 1
|
||||
}
|
||||
return pre + 2
|
||||
}, 0)
|
||||
|
||||
/**
|
||||
* 给定一个字符串和一个长度,将此字符串按指定长度截取
|
||||
* @param str
|
||||
* @param maxLength
|
||||
* @returns {string}
|
||||
*/
|
||||
export const cutStrByFullLength = (str = '', maxLength) => {
|
||||
let showLength = 0
|
||||
return str.split('').reduce((pre, cur) => {
|
||||
const charCode = cur.charCodeAt(0)
|
||||
if (charCode >= 0 && charCode <= 128) {
|
||||
showLength += 1
|
||||
} else {
|
||||
showLength += 2
|
||||
}
|
||||
if (showLength <= maxLength) {
|
||||
return pre + cur
|
||||
}
|
||||
return pre
|
||||
}, '')
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* components util
|
||||
*/
|
||||
|
||||
/**
|
||||
* 清理空值,对象
|
||||
* @param children
|
||||
* @returns {*[]}
|
||||
*/
|
||||
export function filterEmpty(children = []) {
|
||||
return children.filter(c => c.tag || (c.text && c.text.trim() !== ''))
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
<template>
|
||||
<div v-if="!reloading" class="j-area-linkage">
|
||||
<!--area-cascader level-0二级联动 1-三级联动-->
|
||||
<area-cascader
|
||||
v-if="_type === enums.type[0]"
|
||||
:value="innerValue"
|
||||
:data="pca"
|
||||
:style="{width}"
|
||||
v-bind="$attrs"
|
||||
v-on="_listeners"
|
||||
@change="handleChange"
|
||||
:class="isActive ? 'placeholderBlack' : 'placeholderGray'"
|
||||
/>
|
||||
<!--area-select level-1二级联动 2-三级联动-->
|
||||
<area-select
|
||||
v-else-if="_type === enums.type[1]"
|
||||
:value="innerValue"
|
||||
:data="pca"
|
||||
v-bind="$attrs"
|
||||
v-on="_listeners"
|
||||
@change="handleChange"
|
||||
:class="isActive ? 'placeholderBlack' : 'placeholderGray'"
|
||||
/>
|
||||
<div v-else>
|
||||
<span style="color:red;"> Bad type value: {{_type}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pca from '../../../public/map/areaPca'
|
||||
import Area from '@comp/_util/AreaPca'
|
||||
|
||||
export default {
|
||||
name: 'JAreaLinkagePca',
|
||||
props: {
|
||||
value: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
// 组件的类型,可选值:
|
||||
// select 下拉样式
|
||||
// cascader 级联样式(默认)
|
||||
type: {
|
||||
type: String,
|
||||
default: 'cascader'
|
||||
},
|
||||
width: {
|
||||
type: String,
|
||||
default: '100%'
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
pca,
|
||||
isActive: false, // false : placeholder为灰色。 true: placeholder 为黑色
|
||||
innerValue: [],
|
||||
usedListeners: ['change'],
|
||||
enums: {
|
||||
type: ['cascader', 'select']
|
||||
},
|
||||
reloading: false,
|
||||
areaData: ''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
_listeners() {
|
||||
const listeners = { ...this.$listeners }
|
||||
// 去掉已使用的事件,防止冲突
|
||||
this.usedListeners.forEach(key => {
|
||||
delete listeners[key]
|
||||
})
|
||||
return listeners
|
||||
},
|
||||
_type() {
|
||||
if (this.enums.type.includes(this.type)) {
|
||||
return this.type
|
||||
} else {
|
||||
console.error(`JAreaLinkage的type属性只能接收指定的值(${this.enums.type.join('|')})`)
|
||||
return this.enums.type[0]
|
||||
}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value: {
|
||||
immediate: true,
|
||||
handler() {
|
||||
this.loadDataByValue(this.value)
|
||||
if (this.value) {
|
||||
this.isActive = true // 此时value有值
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.initAreaData()
|
||||
},
|
||||
methods: {
|
||||
/** 通过 value 反推 options */
|
||||
loadDataByValue(value) {
|
||||
if (!value || value.length === 0) {
|
||||
this.innerValue = []
|
||||
this.reloading = true
|
||||
setTimeout(() => {
|
||||
this.reloading = false
|
||||
}, 100)
|
||||
} else {
|
||||
this.initAreaData()
|
||||
const arr = this.areaData.getRealCode(value)
|
||||
this.innerValue = arr
|
||||
}
|
||||
},
|
||||
/** 通过地区code获取子级 */
|
||||
loadDataByCode(value) {
|
||||
const options = []
|
||||
const data = pca[value]
|
||||
if (data) {
|
||||
for (const key in data) {
|
||||
if (data.hasOwnProperty(key)) {
|
||||
options.push({ value: key, label: data[key] })
|
||||
}
|
||||
}
|
||||
return options
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
},
|
||||
/** 判断是否有子节点 */
|
||||
hasChildren(options) {
|
||||
options.forEach(option => {
|
||||
const data = this.loadDataByCode(option.value)
|
||||
option.isLeaf = data.length === 0
|
||||
})
|
||||
},
|
||||
handleChange(values) {
|
||||
const value = values[values.length - 1]
|
||||
this.$emit('change', value)
|
||||
},
|
||||
initAreaData() {
|
||||
if (!this.areaData) {
|
||||
this.areaData = new Area()
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
model: { prop: 'value', event: 'change' }
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.j-area-linkage {
|
||||
height:40px;
|
||||
/deep/ .area-cascader-wrap .area-select {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/deep/ .area-select .area-selected-trigger {
|
||||
line-height: 1.15;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
///deep/.placeholderBlack .area-cascader-wrap .area-select.active {
|
||||
// color: #333 !important;
|
||||
//}
|
||||
///deep/.placeholderGray .area-cascader-wrap .area-select {
|
||||
// color: rgb(191,191,191) !important;
|
||||
//}
|
||||
</style>
|
||||
@@ -0,0 +1,101 @@
|
||||
<template>
|
||||
<a-date-picker
|
||||
:disabledDate="disabledDate"
|
||||
:disabled="disabled || readOnly"
|
||||
:placeholder="placeholder"
|
||||
@change="handleDateChange"
|
||||
:value="momVal"
|
||||
:showTime="showTime"
|
||||
:format="dateFormat"
|
||||
:mode="mode"
|
||||
:getCalendarContainer="getCalendarContainer"
|
||||
/>
|
||||
</template>
|
||||
<script>
|
||||
import moment from 'moment'
|
||||
export default {
|
||||
name: 'JDate',
|
||||
props: {
|
||||
placeholder: {
|
||||
type: String,
|
||||
default: '',
|
||||
required: false
|
||||
},
|
||||
value: {
|
||||
type: String,
|
||||
required: false
|
||||
},
|
||||
disabledDate: {
|
||||
type: Function
|
||||
},
|
||||
dateFormat: {
|
||||
type: String,
|
||||
default: 'YYYY-MM-DD',
|
||||
required: false
|
||||
},
|
||||
// 此属性可以被废弃了
|
||||
triggerChange: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
readOnly: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
disabled: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
showTime: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false
|
||||
},
|
||||
getCalendarContainer: {
|
||||
type: Function,
|
||||
default: (node) => node.parentNode
|
||||
},
|
||||
mode: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: 'date'
|
||||
}
|
||||
},
|
||||
data() {
|
||||
const dateStr = this.value
|
||||
return {
|
||||
decorator: '',
|
||||
momVal: !dateStr ? null : moment(dateStr, this.dateFormat)
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value(val) {
|
||||
if (!val) {
|
||||
this.momVal = null
|
||||
} else {
|
||||
this.momVal = moment(val, this.dateFormat)
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
moment,
|
||||
handleDateChange(mom, dateStr) {
|
||||
console.log('handleDateChange----', dateStr)
|
||||
this.$emit('change', dateStr)
|
||||
}
|
||||
},
|
||||
// 2.2新增 在组件内定义 指定父组件调用时候的传值属性和事件类型 这个牛逼
|
||||
model: {
|
||||
prop: 'value',
|
||||
event: 'change'
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
/deep/ .ant-input {
|
||||
padding: 4px 6px;
|
||||
}
|
||||
</style>
|
||||
@@ -26,6 +26,8 @@ import JeroComponents from "@/components/jero/index";
|
||||
import JDictSelectTag from "./components/dict/index.js";
|
||||
import '@/utils/filter' // base filtermybatis-plus
|
||||
import vTrim from "@/utils/vTrim";
|
||||
import '@/assets/less/JAreaLinkage.less'
|
||||
import VueAreaLinkage from 'vue-area-linkage'
|
||||
|
||||
Vue.config.productionTip = false;
|
||||
Vue.use(Storage, config.storageOptions);
|
||||
@@ -35,6 +37,7 @@ Vue.use(router);
|
||||
Vue.use(JeroComponents);
|
||||
Vue.use(JDictSelectTag);
|
||||
Vue.use(vTrim)
|
||||
Vue.use(VueAreaLinkage)
|
||||
|
||||
new Vue({
|
||||
router,
|
||||
|
||||
Reference in New Issue
Block a user