From b166786a3384708ffde159ff492a9808ce1d28ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=B1=9F=E8=BE=B0?= Date: Mon, 13 May 2024 17:08:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BB=84=E4=BB=B6=E5=A4=A7=E5=86=99?= =?UTF-8?q?=E5=91=BD=E5=90=8D=E8=A7=84=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Bavbar/index.vue | 320 ++++ src/components/Breadcrumb/index.vue | 37 + .../CountryCodeSelect/country-code.json | 1394 +++++++++++++++++ src/components/CountryCodeSelect/index.vue | 37 + src/components/Footer/index.vue | 26 + src/components/GlobalSetting/block.vue | 76 + src/components/GlobalSetting/form-wrapper.vue | 39 + src/components/GlobalSetting/index.vue | 100 ++ src/components/Menu/index.vue | 162 ++ src/components/Menu/useMenuTree.ts | 70 + src/components/MessageBox/index.vue | 130 ++ src/components/MessageBox/list.vue | 162 ++ src/components/TabBar/index.vue | 105 ++ src/components/TabBar/tab-item.vue | 206 +++ src/components/VChart/index.vue | 71 + src/components/index.ts | 5 + 16 files changed, 2940 insertions(+) create mode 100644 src/components/Bavbar/index.vue create mode 100644 src/components/Breadcrumb/index.vue create mode 100644 src/components/CountryCodeSelect/country-code.json create mode 100644 src/components/CountryCodeSelect/index.vue create mode 100644 src/components/Footer/index.vue create mode 100644 src/components/GlobalSetting/block.vue create mode 100644 src/components/GlobalSetting/form-wrapper.vue create mode 100644 src/components/GlobalSetting/index.vue create mode 100644 src/components/Menu/index.vue create mode 100644 src/components/Menu/useMenuTree.ts create mode 100644 src/components/MessageBox/index.vue create mode 100644 src/components/MessageBox/list.vue create mode 100644 src/components/TabBar/index.vue create mode 100644 src/components/TabBar/tab-item.vue create mode 100644 src/components/VChart/index.vue create mode 100644 src/components/index.ts diff --git a/src/components/Bavbar/index.vue b/src/components/Bavbar/index.vue new file mode 100644 index 0000000..a342ed0 --- /dev/null +++ b/src/components/Bavbar/index.vue @@ -0,0 +1,320 @@ + + + + + + + diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue new file mode 100644 index 0000000..c421064 --- /dev/null +++ b/src/components/Breadcrumb/index.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/components/CountryCodeSelect/country-code.json b/src/components/CountryCodeSelect/country-code.json new file mode 100644 index 0000000..bdf3755 --- /dev/null +++ b/src/components/CountryCodeSelect/country-code.json @@ -0,0 +1,1394 @@ +[ + { + "en": "Afghanistan", + "zh": "阿富汗", + "countryCode": "AF", + "code": "93" + }, + { + "en": "Alaska", + "zh": "阿拉斯加", + "countryCode": "US", + "code": "1907" + }, + { + "en": "Albania", + "zh": "阿尔巴尼亚", + "countryCode": "AL", + "code": "355" + }, + { + "en": "Algeria", + "zh": "阿尔及利亚", + "countryCode": "DZ", + "code": "213" + }, + { + "en": "American Samoa", + "zh": "美属萨摩亚", + "countryCode": "AS", + "code": "1684" + }, + { + "en": "Andorra", + "zh": "安道尔", + "countryCode": "AD", + "code": "376" + }, + { + "en": "Angola", + "zh": "安哥拉", + "countryCode": "AO", + "code": "244" + }, + { + "en": "Anguilla", + "zh": "安圭拉", + "countryCode": "AI", + "code": "1264" + }, + { + "en": "Antigua and Barbuda", + "zh": "安提瓜和巴布达", + "countryCode": "AG", + "code": "1268" + }, + { + "en": "Argentina", + "zh": "阿根廷", + "countryCode": "AR", + "code": "54" + }, + { + "en": "Armenia", + "zh": "亚美尼亚", + "countryCode": "AM", + "code": "374" + }, + { + "en": "Aruba", + "zh": "阿鲁巴", + "countryCode": "AW", + "code": "297" + }, + { + "en": "Ascension", + "zh": "阿森松", + "countryCode": "SH", + "code": "247" + }, + { + "en": "Australia", + "zh": "澳大利亚", + "countryCode": "AU", + "code": "61" + }, + { + "en": "Austria", + "zh": "奥地利", + "countryCode": "AT", + "code": "43" + }, + { + "en": "Azerbaijan", + "zh": "阿塞拜疆", + "countryCode": "AZ", + "code": "994" + }, + { + "en": "Bahamas", + "zh": "巴哈马", + "countryCode": "BS", + "code": "1242" + }, + { + "en": "Bahrain", + "zh": "巴林", + "countryCode": "BH", + "code": "973" + }, + { + "en": "Bangladesh", + "zh": "孟加拉国", + "countryCode": "BD", + "code": "880" + }, + { + "en": "Barbados", + "zh": "巴巴多斯", + "countryCode": "BB", + "code": "1246" + }, + { + "en": "Belarus", + "zh": "白俄罗斯", + "countryCode": "BY", + "code": "375" + }, + { + "en": "Belgium", + "zh": "比利时", + "countryCode": "BE", + "code": "32" + }, + { + "en": "Belize", + "zh": "伯利兹", + "countryCode": "BZ", + "code": "501" + }, + { + "en": "Benin", + "zh": "贝宁", + "countryCode": "BJ", + "code": "229" + }, + { + "en": "Bermuda", + "zh": "百慕大群岛", + "countryCode": "BM", + "code": "1441" + }, + { + "en": "Bhutan", + "zh": "不丹", + "countryCode": "BT", + "code": "975" + }, + { + "en": "Bolivia", + "zh": "玻利维亚", + "countryCode": "BO", + "code": "591" + }, + { + "en": "Bosnia and Herzegovina", + "zh": "波斯尼亚和黑塞哥维那", + "countryCode": "BA", + "code": "387" + }, + { + "en": "Botswana", + "zh": "博茨瓦纳", + "countryCode": "BW", + "code": "267" + }, + { + "en": "Brazil", + "zh": "巴西", + "countryCode": "BR", + "code": "55" + }, + { + "en": "Brunei", + "zh": "文莱", + "countryCode": "BN", + "code": "673" + }, + { + "en": "Bulgaria", + "zh": "保加利亚", + "countryCode": "BG", + "code": "359" + }, + { + "en": "Burkina Faso", + "zh": "布基纳法索", + "countryCode": "BF", + "code": "226" + }, + { + "en": "Burundi", + "zh": "布隆迪", + "countryCode": "BI", + "code": "257" + }, + { + "en": "Cambodia", + "zh": "柬埔寨", + "countryCode": "KH", + "code": "855" + }, + { + "en": "Cameroon", + "zh": "喀麦隆", + "countryCode": "CM", + "code": "237" + }, + { + "en": "Islas Canarias", + "zh": "加那利群岛", + "countryCode": "ES", + "code": "34" + }, + { + "en": "Cape Verde", + "zh": "开普", + "countryCode": "CV", + "code": "238" + }, + { + "en": "Cayman Islands", + "zh": "开曼群岛", + "countryCode": "KY", + "code": "1345" + }, + { + "en": "Central African Republic", + "zh": "中非共和国", + "countryCode": "CF", + "code": "236" + }, + { + "en": "Chad", + "zh": "乍得", + "countryCode": "TD", + "code": "235" + }, + { + "en": "China", + "zh": "中国", + "countryCode": "CN", + "code": "86" + }, + { + "en": "Chile", + "zh": "智利", + "countryCode": "CL", + "code": "56" + }, + { + "en": "Christmas Island", + "zh": "圣诞岛", + "countryCode": "CX", + "code": "0061 9164" + }, + { + "en": "Cocos Island", + "zh": "科科斯岛", + "countryCode": "CC", + "code": "0061 9162" + }, + { + "en": "Colombia", + "zh": "哥伦比亚", + "countryCode": "CO", + "code": "57" + }, + { + "en": "Dominican Republic", + "zh": "多米尼加共和国", + "countryCode": "DO", + "code": "1809" + }, + { + "en": "Comoros", + "zh": "科摩罗", + "countryCode": "KM", + "code": "269" + }, + { + "en": "Republic Of The Congo", + "zh": "刚果共和国", + "countryCode": "CG", + "code": "242" + }, + { + "en": "Cook Islands", + "zh": "库克群岛", + "countryCode": "CK", + "code": "682" + }, + { + "en": "Costa Rica", + "zh": "哥斯达黎加", + "countryCode": "CR", + "code": "506" + }, + { + "en": "Croatia", + "zh": "克罗地亚", + "countryCode": "HR", + "code": "385" + }, + { + "en": "Cuba", + "zh": "古巴", + "countryCode": "CU", + "code": "53" + }, + { + "en": "Curacao", + "zh": "库拉索", + "countryCode": "CW", + "code": "599" + }, + { + "en": "Cyprus", + "zh": "塞浦路斯", + "countryCode": "CY", + "code": "357" + }, + { + "en": "Czech", + "zh": "捷克", + "countryCode": "CZ", + "code": "420" + }, + { + "en": "Denmark", + "zh": "丹麦", + "countryCode": "DK", + "code": "45" + }, + { + "en": "Djibouti", + "zh": "吉布提", + "countryCode": "DJ", + "code": "253" + }, + { + "en": "Dominica", + "zh": "多米尼加", + "countryCode": "DM", + "code": "1767" + }, + { + "en": "Dominican Republic", + "zh": "多米尼加共和国", + "countryCode": "DO", + "code": "1809" + }, + { + "en": "Ecuador", + "zh": "厄瓜多尔", + "countryCode": "EC", + "code": "593" + }, + { + "en": "Egypt", + "zh": "埃及", + "countryCode": "EG", + "code": "20" + }, + { + "en": "El Salvador", + "zh": "萨尔瓦多", + "countryCode": "SV", + "code": "503" + }, + { + "en": "Equatorial Guinea", + "zh": "赤道几内亚", + "countryCode": "GQ", + "code": "240" + }, + { + "en": "Eritrea", + "zh": "厄立特里亚", + "countryCode": "ER", + "code": "291" + }, + { + "en": "Estonia", + "zh": "爱沙尼亚", + "countryCode": "EE", + "code": "372" + }, + { + "en": "Ethiopia", + "zh": "埃塞俄比亚", + "countryCode": "ET", + "code": "251" + }, + { + "en": "Falkland Islands", + "zh": "福克兰群岛", + "countryCode": "FK", + "code": "500" + }, + { + "en": "Faroe Islands", + "zh": "法罗群岛", + "countryCode": "FO", + "code": "298" + }, + { + "en": "Fiji", + "zh": "斐济", + "countryCode": "FJ", + "code": "679" + }, + { + "en": "Finland", + "zh": "芬兰", + "countryCode": "FI", + "code": "358" + }, + { + "en": "France", + "zh": "法国", + "countryCode": "FR", + "code": "33" + }, + { + "en": "French Guiana", + "zh": "法属圭亚那", + "countryCode": "GF", + "code": "594" + }, + { + "en": "French Polynesia", + "zh": "法属波利尼西亚", + "countryCode": "PF", + "code": "689" + }, + { + "en": "Gabon", + "zh": "加蓬", + "countryCode": "GA", + "code": "241" + }, + { + "en": "Gambia", + "zh": "冈比亚", + "countryCode": "GM", + "code": "220" + }, + { + "en": "Georgia", + "zh": "格鲁吉亚", + "countryCode": "GE", + "code": "995" + }, + { + "en": "Germany", + "zh": "德国", + "countryCode": "DE", + "code": "49" + }, + { + "en": "Ghana", + "zh": "加纳", + "countryCode": "GH", + "code": "233" + }, + { + "en": "Gibraltar", + "zh": "直布罗陀", + "countryCode": "GI", + "code": "350" + }, + { + "en": "Greece", + "zh": "希腊", + "countryCode": "GR", + "code": "30" + }, + { + "en": "Greenland", + "zh": "格陵兰岛", + "countryCode": "GL", + "code": "299" + }, + { + "en": "Grenada", + "zh": "格林纳达", + "countryCode": "GD", + "code": "1473" + }, + { + "en": "Guadeloupe", + "zh": "瓜德罗普岛", + "countryCode": "GP", + "code": "590" + }, + { + "en": "Guam", + "zh": "关岛", + "countryCode": "GU", + "code": "1671" + }, + { + "en": "Guatemala", + "zh": "瓜地马拉", + "countryCode": "GT", + "code": "502" + }, + { + "en": "Guinea", + "zh": "几内亚", + "countryCode": "GN", + "code": "224" + }, + { + "en": "Guinea-Bissau", + "zh": "几内亚比绍共和国", + "countryCode": "GW", + "code": "245" + }, + { + "en": "Guyana", + "zh": "圭亚那", + "countryCode": "GY", + "code": "592" + }, + { + "en": "Haiti", + "zh": "海地", + "countryCode": "HT", + "code": "509" + }, + { + "en": "Hawaii", + "zh": "夏威夷", + "countryCode": "US", + "code": "1808" + }, + { + "en": "Honduras", + "zh": "洪都拉斯", + "countryCode": "HN", + "code": "504" + }, + { + "en": "Hong Kong", + "zh": "中国香港", + "countryCode": "HK", + "code": "852" + }, + { + "en": "Hungary", + "zh": "匈牙利", + "countryCode": "HU", + "code": "36" + }, + { + "en": "Iceland", + "zh": "冰岛", + "countryCode": "IS", + "code": "354" + }, + { + "en": "India", + "zh": "印度", + "countryCode": "IN", + "code": "91" + }, + { + "en": "Indonesia", + "zh": "印度尼西亚", + "countryCode": "ID", + "code": "62" + }, + { + "en": "Iran", + "zh": "伊朗", + "countryCode": "IR", + "code": "98" + }, + { + "en": "Iraq", + "zh": "伊拉克", + "countryCode": "IQ", + "code": "964" + }, + { + "en": "Ireland", + "zh": "爱尔兰", + "countryCode": "IE", + "code": "353" + }, + { + "en": "Israel", + "zh": "以色列", + "countryCode": "IL", + "code": "972" + }, + { + "en": "Italy", + "zh": "意大利", + "countryCode": "IT", + "code": "39" + }, + { + "en": "Ivory Coast", + "zh": "象牙海岸", + "countryCode": "CI", + "code": "225" + }, + { + "en": "Jamaica", + "zh": "牙买加", + "countryCode": "JM", + "code": "1876" + }, + { + "en": "Japan", + "zh": "日本", + "countryCode": "JP", + "code": "81" + }, + { + "en": "Jordan", + "zh": "约旦", + "countryCode": "JO", + "code": "962" + }, + { + "en": "Kazakhstan", + "zh": "哈萨克斯坦", + "countryCode": "KZ", + "code": "7" + }, + { + "en": "Kenya", + "zh": "肯尼亚", + "countryCode": "KE", + "code": "254" + }, + { + "en": "Kiribati", + "zh": "基里巴斯", + "countryCode": "KI", + "code": "686" + }, + { + "en": "Korea Democratic Rep.", + "zh": "朝鲜", + "countryCode": "KP", + "code": "85" + }, + { + "en": "South Korea", + "zh": "韩国", + "countryCode": "KR", + "code": "82" + }, + { + "en": "Kuwait", + "zh": "科威特", + "countryCode": "KW", + "code": "965" + }, + { + "en": "Kyrgyzstan", + "zh": "吉尔吉斯斯坦", + "countryCode": "KG", + "code": "996" + }, + { + "en": "Laos", + "zh": "老挝", + "countryCode": "LA", + "code": "856" + }, + { + "en": "Latvia", + "zh": "拉脱维亚", + "countryCode": "LV", + "code": "371" + }, + { + "en": "Lebanon", + "zh": "黎巴嫩", + "countryCode": "LB", + "code": "961" + }, + { + "en": "Lesotho", + "zh": "莱索托", + "countryCode": "LS", + "code": "266" + }, + { + "en": "Liberia", + "zh": "利比里亚", + "countryCode": "LR", + "code": "231" + }, + { + "en": "Libya", + "zh": "利比亚", + "countryCode": "LY", + "code": "218" + }, + { + "en": "Liechtenstein", + "zh": "列支敦士登", + "countryCode": "LI", + "code": "423" + }, + { + "en": "Lithuania", + "zh": "立陶宛", + "countryCode": "LT", + "code": "370" + }, + { + "en": "Luxembourg", + "zh": "卢森堡", + "countryCode": "LU", + "code": "352" + }, + { + "en": "Macau", + "zh": "中国澳门", + "countryCode": "MO", + "code": "853" + }, + { + "en": "Macedonia", + "zh": "马其顿", + "countryCode": "MK", + "code": "389" + }, + { + "en": "Madagascar", + "zh": "马达加斯加", + "countryCode": "MG", + "code": "261" + }, + { + "en": "Malawi", + "zh": "马拉维", + "countryCode": "MW", + "code": "265" + }, + { + "en": "Malaysia", + "zh": "马来西亚", + "countryCode": "MY", + "code": "60" + }, + { + "en": "Maldives", + "zh": "马尔代夫", + "countryCode": "MV", + "code": "960" + }, + { + "en": "Mali", + "zh": "马里", + "countryCode": "ML", + "code": "223" + }, + { + "en": "Malta", + "zh": "马耳他", + "countryCode": "MT", + "code": "356" + }, + { + "en": "Marshall Islands", + "zh": "马绍尔群岛", + "countryCode": "MH", + "code": "692" + }, + { + "en": "Martinique", + "zh": "马提尼克", + "countryCode": "MQ", + "code": "596" + }, + { + "en": "Mauritania", + "zh": "毛里塔尼亚", + "countryCode": "MR", + "code": "222" + }, + { + "en": "Mauritius", + "zh": "毛里求斯", + "countryCode": "MU", + "code": "230" + }, + { + "en": "Mayotte", + "zh": "马约特", + "countryCode": "YT", + "code": "269" + }, + { + "en": "Mexico", + "zh": "墨西哥", + "countryCode": "MX", + "code": "52" + }, + { + "en": "Micronesia", + "zh": "密克罗尼西亚", + "countryCode": "FM", + "code": "691" + }, + { + "en": "Moldova", + "zh": "摩尔多瓦", + "countryCode": "MD", + "code": "373" + }, + { + "en": "Monaco", + "zh": "摩纳哥", + "countryCode": "MC", + "code": "377" + }, + { + "en": "Mongolia", + "zh": "蒙古", + "countryCode": "MN", + "code": "976" + }, + { + "en": "Montenegro", + "zh": "黑山", + "countryCode": "ME", + "code": "382" + }, + { + "en": "Montserrat", + "zh": "蒙特塞拉特岛", + "countryCode": "MS", + "code": "1664" + }, + { + "en": "Morocco", + "zh": "摩洛哥", + "countryCode": "MA", + "code": "212" + }, + { + "en": "Mozambique", + "zh": "莫桑比克", + "countryCode": "MZ", + "code": "258" + }, + { + "en": "Myanmar", + "zh": "缅甸", + "countryCode": "MM", + "code": "95" + }, + { + "en": "Namibia", + "zh": "纳米比亚", + "countryCode": "NA", + "code": "264" + }, + { + "en": "Nauru", + "zh": "拿鲁岛", + "countryCode": "NR", + "code": "674" + }, + { + "en": "Nepal", + "zh": "尼泊尔", + "countryCode": "NP", + "code": "977" + }, + { + "en": "Netherlands", + "zh": "荷兰", + "countryCode": "NL", + "code": "31" + }, + { + "en": "New Caledonia", + "zh": "新喀里多尼亚", + "countryCode": "NC", + "code": "687" + }, + { + "en": "New Zealand", + "zh": "新西兰", + "countryCode": "NZ", + "code": "64" + }, + { + "en": "Nicaragua", + "zh": "尼加拉瓜", + "countryCode": "NI", + "code": "505" + }, + { + "en": "Niger", + "zh": "尼日尔", + "countryCode": "NE", + "code": "227" + }, + { + "en": "Nigeria", + "zh": "尼日利亚", + "countryCode": "NG", + "code": "234" + }, + { + "en": "Niue Island", + "zh": "纽埃岛(新)", + "countryCode": "NU", + "code": "683" + }, + { + "en": "Norfolk Island", + "zh": "诺福克岛(澳)", + "countryCode": "NF", + "code": "6723" + }, + { + "en": "Norway", + "zh": "挪威", + "countryCode": "NO", + "code": "47" + }, + { + "en": "Oman", + "zh": "阿曼", + "countryCode": "OM", + "code": "968" + }, + { + "en": "Palau", + "zh": "帕劳", + "countryCode": "PW", + "code": "680" + }, + { + "en": "Panama", + "zh": "巴拿马", + "countryCode": "PA", + "code": "507" + }, + { + "en": "Papua New Guinea", + "zh": "巴布亚新几内亚", + "countryCode": "PG", + "code": "675" + }, + { + "en": "Paraguay", + "zh": "巴拉圭", + "countryCode": "PY", + "code": "595" + }, + { + "en": "Peru", + "zh": "秘鲁", + "countryCode": "PE", + "code": "51" + }, + { + "en": "Philippines", + "zh": "菲律宾", + "countryCode": "PH", + "code": "63" + }, + { + "en": "Poland", + "zh": "波兰", + "countryCode": "PL", + "code": "48" + }, + { + "en": "Portugal", + "zh": "葡萄牙", + "countryCode": "PT", + "code": "351" + }, + { + "en": "Pakistan", + "zh": "巴基斯坦", + "countryCode": "PK", + "code": "92" + }, + { + "en": "Puerto Rico", + "zh": "波多黎各", + "countryCode": "PR", + "code": "1787" + }, + { + "en": "Qatar", + "zh": "卡塔尔", + "countryCode": "QA", + "code": "974" + }, + { + "en": "Réunion Island", + "zh": "留尼汪", + "countryCode": "RE", + "code": "262" + }, + { + "en": "Romania", + "zh": "罗马尼亚", + "countryCode": "RO", + "code": "40" + }, + { + "en": "Russia", + "zh": "俄罗斯", + "countryCode": "RU", + "code": "7" + }, + { + "en": "Rwanda", + "zh": "卢旺达", + "countryCode": "RW", + "code": "250" + }, + { + "en": "Samoa,Eastern", + "zh": "东萨摩亚(美)", + "countryCode": "AS", + "code": "684" + }, + { + "en": "Samoa", + "zh": "萨摩亚", + "countryCode": "WS", + "code": "685" + }, + { + "en": "San Marino", + "zh": "圣马力诺", + "countryCode": "SM", + "code": "378" + }, + { + "en": "Saint Pierre and Miquelon", + "zh": "圣彼埃尔和密克隆岛", + "countryCode": "PM", + "code": "508" + }, + { + "en": "Sao Tome and Principe", + "zh": "圣多美和普林西比", + "countryCode": "ST", + "code": "239" + }, + { + "en": "Saudi Arabia", + "zh": "沙特阿拉伯", + "countryCode": "SA", + "code": "966" + }, + { + "en": "Senegal", + "zh": "塞内加尔", + "countryCode": "SN", + "code": "221" + }, + { + "en": "Serbia", + "zh": "塞尔维亚", + "countryCode": "RS", + "code": "381" + }, + { + "en": "Seychelles", + "zh": "塞舌尔", + "countryCode": "SC", + "code": "248" + }, + { + "en": "Sierra Leone", + "zh": "塞拉利昂", + "countryCode": "SL", + "code": "232" + }, + { + "en": "Singapore", + "zh": "新加坡", + "countryCode": "SG", + "code": "65" + }, + { + "en": "Saint Maarten (Dutch Part)", + "zh": "圣马丁岛(荷兰部分)", + "countryCode": "SX", + "code": "1721" + }, + { + "en": "Slovakia", + "zh": "斯洛伐克", + "countryCode": "SK", + "code": "421" + }, + { + "en": "Slovenia", + "zh": "斯洛文尼亚", + "countryCode": "SI", + "code": "386" + }, + { + "en": "Solomon Islands", + "zh": "所罗门群岛", + "countryCode": "SB", + "code": "677" + }, + { + "en": "Somalia", + "zh": "索马里", + "countryCode": "SO", + "code": "252" + }, + { + "en": "South Africa", + "zh": "南非", + "countryCode": "ZA", + "code": "27" + }, + { + "en": "Spain", + "zh": "西班牙", + "countryCode": "ES", + "code": "34" + }, + { + "en": "Sri Lanka", + "zh": "斯里兰卡", + "countryCode": "LK", + "code": "94" + }, + { + "en": "St.Helena", + "zh": "圣赫勒拿", + "countryCode": "SH", + "code": "290" + }, + { + "en": "Saint Lucia", + "zh": "圣露西亚", + "countryCode": "LC", + "code": "1758" + }, + { + "en": "Saint Vincent and The Grenadines", + "zh": "圣文森特和格林纳丁斯", + "countryCode": "VC", + "code": "1784" + }, + { + "en": "Sudan", + "zh": "苏丹", + "countryCode": "SD", + "code": "249" + }, + { + "en": "Suriname", + "zh": "苏里南", + "countryCode": "SR", + "code": "597" + }, + { + "en": "Swaziland", + "zh": "斯威士兰", + "countryCode": "SZ", + "code": "268" + }, + { + "en": "Sweden", + "zh": "瑞典", + "countryCode": "SE", + "code": "46" + }, + { + "en": "Switzerland", + "zh": "瑞士", + "countryCode": "CH", + "code": "41" + }, + { + "en": "Syria", + "zh": "叙利亚", + "countryCode": "SY", + "code": "963" + }, + { + "en": "Taiwan", + "zh": "中国台湾", + "countryCode": "TW", + "code": "886" + }, + { + "en": "Tajikistan", + "zh": "塔吉克斯坦", + "countryCode": "TJ", + "code": "992" + }, + { + "en": "Tanzania", + "zh": "坦桑尼亚", + "countryCode": "TZ", + "code": "255" + }, + { + "en": "Thailand", + "zh": "泰国", + "countryCode": "TH", + "code": "66" + }, + { + "en": "Timor-Leste", + "zh": "东帝汶", + "countryCode": "TL", + "code": "670" + }, + { + "en": "United Arab Emirates", + "zh": "阿拉伯联合酋长国", + "countryCode": "AE", + "code": "971" + }, + { + "en": "Togo", + "zh": "多哥", + "countryCode": "TG", + "code": "228" + }, + { + "en": "Tokelau Is.", + "zh": "托克劳群岛(新)", + "countryCode": "TK", + "code": "690" + }, + { + "en": "Tonga", + "zh": "汤加", + "countryCode": "TO", + "code": "676" + }, + { + "en": "Trinidad and Tobago", + "zh": "特立尼达和多巴哥", + "countryCode": "TT", + "code": "1868" + }, + { + "en": "Tunisia", + "zh": "突尼斯", + "countryCode": "TN", + "code": "216" + }, + { + "en": "Turkey", + "zh": "土耳其", + "countryCode": "TR", + "code": "90" + }, + { + "en": "Turkmenistan", + "zh": "土库曼斯坦", + "countryCode": "TM", + "code": "993" + }, + { + "en": "Turks and Caicos Islands", + "zh": "特克斯和凯科斯群岛", + "countryCode": "TC", + "code": "1649" + }, + { + "en": "Tuvalu", + "zh": "图瓦卢", + "countryCode": "TK", + "code": "688" + }, + { + "en": "United States/Canada", + "zh": "美国/加拿大", + "countryCode": "US/CA", + "code": "1" + }, + { + "en": "Uganda", + "zh": "乌干达", + "countryCode": "UG", + "code": "256" + }, + { + "en": "Ukraine", + "zh": "乌克兰", + "countryCode": "UA", + "code": "380" + }, + { + "en": "United Kingdom", + "zh": "英国", + "countryCode": "GB", + "code": "44" + }, + { + "en": "Uruguay", + "zh": "乌拉圭", + "countryCode": "UY", + "code": "598" + }, + { + "en": "Uzbekistan", + "zh": "乌兹别克斯坦", + "countryCode": "UZ", + "code": "998" + }, + { + "en": "Vanuatu", + "zh": "瓦努阿图", + "countryCode": "VU", + "code": "678" + }, + { + "en": "Venezuela", + "zh": "委内瑞拉", + "countryCode": "VE", + "code": "58" + }, + { + "en": "Vietnam", + "zh": "越南", + "countryCode": "VN", + "code": "84" + }, + { + "en": "Virgin Islands, British", + "zh": "英属处女群岛", + "countryCode": "VG", + "code": "1340" + }, + { + "en": "Virgin Islands, US", + "zh": "美属维尔京群岛", + "countryCode": "VI", + "code": "1284" + }, + { + "en": "Wake I.", + "zh": "威克岛(美)", + "countryCode": "UM", + "code": "1808" + }, + { + "en": "Yemen", + "zh": "也门", + "countryCode": "YE", + "code": "967" + }, + { + "en": "Zambia", + "zh": "赞比亚", + "countryCode": "ZM", + "code": "260" + }, + { + "en": "Zanzibar", + "zh": "桑给巴尔", + "countryCode": "TZ", + "code": "259" + }, + { + "en": "Zimbabwe", + "zh": "津巴布韦", + "countryCode": "ZW", + "code": "263" + } +] diff --git a/src/components/CountryCodeSelect/index.vue b/src/components/CountryCodeSelect/index.vue new file mode 100644 index 0000000..ab8b032 --- /dev/null +++ b/src/components/CountryCodeSelect/index.vue @@ -0,0 +1,37 @@ + + + + + diff --git a/src/components/Footer/index.vue b/src/components/Footer/index.vue new file mode 100644 index 0000000..97b2e85 --- /dev/null +++ b/src/components/Footer/index.vue @@ -0,0 +1,26 @@ + + + diff --git a/src/components/GlobalSetting/block.vue b/src/components/GlobalSetting/block.vue new file mode 100644 index 0000000..96ab793 --- /dev/null +++ b/src/components/GlobalSetting/block.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/src/components/GlobalSetting/form-wrapper.vue b/src/components/GlobalSetting/form-wrapper.vue new file mode 100644 index 0000000..e9daf8d --- /dev/null +++ b/src/components/GlobalSetting/form-wrapper.vue @@ -0,0 +1,39 @@ + + + diff --git a/src/components/GlobalSetting/index.vue b/src/components/GlobalSetting/index.vue new file mode 100644 index 0000000..64ff4d2 --- /dev/null +++ b/src/components/GlobalSetting/index.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/components/Menu/index.vue b/src/components/Menu/index.vue new file mode 100644 index 0000000..7552389 --- /dev/null +++ b/src/components/Menu/index.vue @@ -0,0 +1,162 @@ + + + +./useMenuTree diff --git a/src/components/Menu/useMenuTree.ts b/src/components/Menu/useMenuTree.ts new file mode 100644 index 0000000..4d0d92d --- /dev/null +++ b/src/components/Menu/useMenuTree.ts @@ -0,0 +1,70 @@ +import { computed } from 'vue'; +import type { RouteRecordRaw, RouteRecordNormalized } from 'vue-router'; +import { appRoutes } from '@/router/routes'; +import usePermission from '@/hooks/usePermission'; +import { cloneDeep } from 'lodash'; + +export default function useMenuTree() { + const permission = usePermission(); + const appRoute = computed(() => { + return appRoutes.map(el => { + const { name, path, meta, redirect, children } = el; + return { + name, + path, + meta, + redirect, + children + }; + }); + }); + const menuTree = computed(() => { + const copyRouter = cloneDeep(appRoute.value) as RouteRecordNormalized[]; + copyRouter.sort((a: RouteRecordNormalized, b: RouteRecordNormalized) => { + return (a.meta.order || 0) - (b.meta.order || 0); + }); + + function travel(_routes: RouteRecordRaw[], layer: number) { + if (!_routes) return null; + + const collector: any = _routes.map(element => { + // no access + if (!permission.accessRouter(element)) { + return null; + } + if (element.meta?.hideChildrenMenu || !element.children) { + element.children = []; + return element; + } + // 过滤掉 hideInMenu 的路由 + element.children = element.children.filter( + x => x.meta?.hideInMenu !== true + ); + // 关联子路由 + const subItem = travel(element.children, layer + 1); + + if (subItem.length) { + element.children = subItem; + return element; + } + // the else logic + if (layer > 1) { + element.children = subItem; + return element; + } + + if (element.meta?.hideInMenu === false) { + return element; + } + + return null; + }); + return collector.filter(Boolean); + } + return travel(copyRouter, 0); + }); + + return { + menuTree + }; +} diff --git a/src/components/MessageBox/index.vue b/src/components/MessageBox/index.vue new file mode 100644 index 0000000..c32f077 --- /dev/null +++ b/src/components/MessageBox/index.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/src/components/MessageBox/list.vue b/src/components/MessageBox/list.vue new file mode 100644 index 0000000..40dd86a --- /dev/null +++ b/src/components/MessageBox/list.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/src/components/TabBar/index.vue b/src/components/TabBar/index.vue new file mode 100644 index 0000000..66f7f0b --- /dev/null +++ b/src/components/TabBar/index.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/src/components/TabBar/tab-item.vue b/src/components/TabBar/tab-item.vue new file mode 100644 index 0000000..296387d --- /dev/null +++ b/src/components/TabBar/tab-item.vue @@ -0,0 +1,206 @@ + + + + + diff --git a/src/components/VChart/index.vue b/src/components/VChart/index.vue new file mode 100644 index 0000000..82c1bac --- /dev/null +++ b/src/components/VChart/index.vue @@ -0,0 +1,71 @@ + + + diff --git a/src/components/index.ts b/src/components/index.ts new file mode 100644 index 0000000..1211dfc --- /dev/null +++ b/src/components/index.ts @@ -0,0 +1,5 @@ +import type { App } from 'vue'; + +export default { + install(_Vue: App) {} +};