diff --git a/data-room-ui/packages/BasicComponents/FlyMap/index.vue b/data-room-ui/packages/BasicComponents/FlyMap/index.vue new file mode 100644 index 00000000..b8ff869f --- /dev/null +++ b/data-room-ui/packages/BasicComponents/FlyMap/index.vue @@ -0,0 +1,282 @@ + + + + diff --git a/data-room-ui/packages/BasicComponents/FlyMap/json/mapData.js b/data-room-ui/packages/BasicComponents/FlyMap/json/mapData.js new file mode 100644 index 00000000..4b6a6f7a --- /dev/null +++ b/data-room-ui/packages/BasicComponents/FlyMap/json/mapData.js @@ -0,0 +1,219 @@ +export const nameMap = { + Afghanistan: '阿富汗', + Singapore: '新加坡', + Angola: '安哥拉', + Albania: '阿尔巴尼亚', + 'United Arab Emirates': '阿联酋', + Argentina: '阿根廷', + Armenia: '亚美尼亚', + 'French Southern and Antarctic Lands': + '法属南半球和南极领地', + Australia: '澳大利亚', + Austria: '奥地利', + Azerbaijan: '阿塞拜疆', + Burundi: '布隆迪', + Belgium: '比利时', + Benin: '贝宁', + 'Burkina Faso': '布基纳法索', + Bangladesh: '孟加拉国', + Bulgaria: '保加利亚', + 'The Bahamas': '巴哈马', + 'Bosnia and Herzegovina': '波斯尼亚和黑塞哥维那', + Belarus: '白俄罗斯', + Belize: '伯利兹', + Bermuda: '百慕大', + Bolivia: '玻利维亚', + Brazil: '巴西', + Brunei: '文莱', + Bhutan: '不丹', + Botswana: '博茨瓦纳', + 'Central African Republic': '中非共和国', + Canada: '加拿大', + Switzerland: '瑞士', + Chile: '智利', + China: '中国', + 'Ivory Coast': '象牙海岸', + Cameroon: '喀麦隆', + 'Democratic Republic of the Congo': '刚果民主共和国', + 'Republic of the Congo': '刚果共和国', + Colombia: '哥伦比亚', + 'Costa Rica': '哥斯达黎加', + Cuba: '古巴', + 'Northern Cyprus': '北塞浦路斯', + Cyprus: '塞浦路斯', + 'Czech Republic': '捷克共和国', + Germany: '德国', + Djibouti: '吉布提', + Denmark: '丹麦', + 'Dominican Republic': '多明尼加共和国', + Algeria: '阿尔及利亚', + Ecuador: '厄瓜多尔', + Egypt: '埃及', + Eritrea: '厄立特里亚', + Spain: '西班牙', + Estonia: '爱沙尼亚', + Ethiopia: '埃塞俄比亚', + Finland: '芬兰', + Fiji: '斐', + 'Falkland Islands': '福克兰群岛', + France: '法国', + Gabon: '加蓬', + 'United Kingdom': '英国', + Georgia: '格鲁吉亚', + Ghana: '加纳', + Guinea: '几内亚', + Gambia: '冈比亚', + 'Guinea Bissau': '几内亚比绍', + Greece: '希腊', + Greenland: '格陵兰', + Guatemala: '危地马拉', + 'French Guiana': '法属圭亚那', + Guyana: '圭亚那', + Honduras: '洪都拉斯', + Croatia: '克罗地亚', + Haiti: '海地', + Hungary: '匈牙利', + Indonesia: '印度尼西亚', + India: '印度', + Ireland: '爱尔兰', + Iran: '伊朗', + Iraq: '伊拉克', + Iceland: '冰岛', + Israel: '以色列', + Italy: '意大利', + Jamaica: '牙买加', + Jordan: '约旦', + Japan: '日本', + Kazakhstan: '哈萨克斯坦', + Kenya: '肯尼亚', + Kyrgyzstan: '吉尔吉斯斯坦', + Cambodia: '柬埔寨', + Kosovo: '科索沃', + Kuwait: '科威特', + Laos: '老挝', + Lebanon: '黎巴嫩', + Liberia: '利比里亚', + Libya: '利比亚', + 'Sri Lanka': '斯里兰卡', + Lesotho: '莱索托', + Lithuania: '立陶宛', + Luxembourg: '卢森堡', + Latvia: '拉脱维亚', + Morocco: '摩洛哥', + Moldova: '摩尔多瓦', + Madagascar: '马达加斯加', + Mexico: '墨西哥', + Macedonia: '马其顿', + Mali: '马里', + Myanmar: '缅甸', + Montenegro: '黑山', + Mongolia: '蒙古', + Mozambique: '莫桑比克', + Mauritania: '毛里塔尼亚', + Malawi: '马拉维', + Malaysia: '马来西亚', + Namibia: '纳米比亚', + 'New Caledonia': '新喀里多尼亚', + Niger: '尼日尔', + Nigeria: '尼日利亚', + Nicaragua: '尼加拉瓜', + Netherlands: '荷兰', + Norway: '挪威', + Nepal: '尼泊尔', + 'New Zealand': '新西兰', + Oman: '阿曼', + Pakistan: '巴基斯坦', + Panama: '巴拿马', + Peru: '秘鲁', + Philippines: '菲律宾', + 'Papua New Guinea': '巴布亚新几内亚', + Poland: '波兰', + 'Puerto Rico': '波多黎各', + 'North Korea': '北朝鲜', + Portugal: '葡萄牙', + Paraguay: '巴拉圭', + Qatar: '卡塔尔', + Romania: '罗马尼亚', + Russia: '俄罗斯', + Rwanda: '卢旺达', + 'Western Sahara': '西撒哈拉', + 'Saudi Arabia': '沙特阿拉伯', + Sudan: '苏丹', + 'South Sudan': '南苏丹', + Senegal: '塞内加尔', + 'Solomon Islands': '所罗门群岛', + 'Sierra Leone': '塞拉利昂', + 'El Salvador': '萨尔瓦多', + Somaliland: '索马里兰', + Somalia: '索马里', + 'Republic of Serbia': '塞尔维亚', + Suriname: '苏里南', + Slovakia: '斯洛伐克', + Slovenia: '斯洛文尼亚', + Sweden: '瑞典', + Swaziland: '斯威士兰', + Syria: '叙利亚', + Chad: '乍得', + Togo: '多哥', + Thailand: '泰国', + Tajikistan: '塔吉克斯坦', + Turkmenistan: '土库曼斯坦', + 'East Timor': '东帝汶', + 'Trinidad and Tobago': '特里尼达和多巴哥', + Tunisia: '突尼斯', + Turkey: '土耳其', + 'United Republic of Tanzania': '坦桑尼亚', + Uganda: '乌干达', + Ukraine: '乌克兰', + Uruguay: '乌拉圭', + 'United States': '美国', + Uzbekistan: '乌兹别克斯坦', + Venezuela: '委内瑞拉', + Vietnam: '越南', + Vanuatu: '瓦努阿图', + 'West Bank': '西岸', + Yemen: '也门', + 'South Africa': '南非', + Zambia: '赞比亚', + Korea: '韩国', + Tanzania: '坦桑尼亚', + Zimbabwe: '津巴布韦', + Congo: '刚果', + 'Central African Rep.': '中非', + Serbia: '塞尔维亚', + 'Bosnia and Herz.': '波黑', + 'Czech Rep.': '捷克', + 'W. Sahara': '西撒哈拉', + 'Lao PDR': '老挝', + 'Dem.Rep.Korea': '朝鲜', + 'Falkland Is.': '福克兰群岛', + 'Timor-Leste': '东帝汶', + 'Solomon Is.': '所罗门群岛', + Palestine: '巴勒斯坦', + 'N. Cyprus': '北塞浦路斯', + Aland: '奥兰群岛', + 'Fr. S. Antarctic Lands': '法属南半球和南极陆地', + Mauritius: '毛里求斯', + Comoros: '科摩罗', + 'Eq. Guinea': '赤道几内亚', + 'Guinea-Bissau': '几内亚比绍', + 'Dominican Rep.': '多米尼加', + 'Saint Lucia': '圣卢西亚', + Dominica: '多米尼克', + 'Antigua and Barb.': '安提瓜和巴布达', + 'U.S. Virgin Is.': '美国原始岛屿', + Montserrat: '蒙塞拉特', + Grenada: '格林纳达', + Barbados: '巴巴多斯', + Samoa: '萨摩亚', + Bahamas: '巴哈马', + 'Cayman Is.': '开曼群岛', + 'Faeroe Is.': '法罗群岛', + 'IsIe of Man': '马恩岛', + Malta: '马耳他共和国', + Jersey: '泽西', + 'Cape Verde': '佛得角共和国', + 'Turks and Caicos Is.': '特克斯和凯科斯群岛', + 'St. Vin. and Gren.': '圣文森特和格林纳丁斯' +} + diff --git a/data-room-ui/packages/BasicComponents/FlyMap/setting.vue b/data-room-ui/packages/BasicComponents/FlyMap/setting.vue new file mode 100644 index 00000000..8ae82e57 --- /dev/null +++ b/data-room-ui/packages/BasicComponents/FlyMap/setting.vue @@ -0,0 +1,382 @@ + + + + diff --git a/data-room-ui/packages/BasicComponents/FlyMap/settingConfig.js b/data-room-ui/packages/BasicComponents/FlyMap/settingConfig.js new file mode 100644 index 00000000..ddada981 --- /dev/null +++ b/data-room-ui/packages/BasicComponents/FlyMap/settingConfig.js @@ -0,0 +1,123 @@ +import { commonConfig, displayOption } from 'data-room-ui/js/config' +// import Icon from 'data-room-ui/assets/images/bigScreenIcon/export' +import cloneDeep from 'lodash/cloneDeep' +import * as iconData from 'data-room-ui/assets/symbols/bigScreenIcon/iconfont.json' +const iconNames = iconData.glyphs.map(item => item.name).sort((a, b) => a.localeCompare(b)) +export const settingConfig = { + padding: [30, 30, 50, 80], + legend: false, + isGroup: true, + data: [], + color: '', + theme: 'dark', + displayOption: { + ...displayOption, + params: { + enable: true + }, + headerField: { + enable: false + }, + mapField: { + enable: false + }, + metricField: { + // 指标 + label: '维度', + enable: false, + multiple: false // 是否多选 + }, + dimensionField: { + // 表格列 + label: '展示字段', // 维度/查询字段 + enable: false, + multiple: false // 是否多选 + } + } +} +const customConfig = { + type: 'flyMap', + root: { + version: '2023071001', + contribution: false + }, + customize: { + // 是否显示文字 + mapName: false, + // 悬浮框背景色 + tooltipBackgroundColor: '#0C121C', + // 悬浮框边框色 + borderColor: 'rgba(0, 0, 0, 0.16)', + // 悬浮框字体颜色 + fontColor:'#DADADA', + // 打点图背景颜色 + scatterBackgroundColor: 'rgba(255,0,0,.7)', + // 打点图文字颜色 + scatterColor: 'rgba(165, 108, 91, 1)', + // 打点图中心点文字颜色 + scatterCenterColor:'rgba(205, 196, 110, 1)', + // 分割线颜色 + mapLineColor: 'rgba(53, 86, 165, 1)', + // 水印字体颜色 + fontGraphicColor: '#fff', + fontSize:'30', + // 是否开启下钻 + down: false, + // 轨迹图像 + symbol: 'arrow', + // 轨迹颜色 + symbolColor: '#01AAED', + // 轨迹大小 + symbolSize:8, + // 地图级别 + level: 'country', + // 范围 + scope: '中国', + // 地图区域颜色 + areaColor: 'rgba(31, 50, 121, 1)', + // 是否开启筛选 + visual: true, + graphic:['中华人民共和国'], + // 筛选范围 + range: [0, 100], + scatterFormatter:'`

${params.name}

`', + // 格式化脚本 + lineFormatter:'`

销售额

${params.data.msg.from}-->${params.data.msg.to} ${params.data.msg.value}
`', + // 从上到下的颜色 + rangeColor: ['rgba(165, 108, 91, 1)', 'rgba(205, 196, 110, 1)'], + // 地图数据 + dataMap: '中华人民共和国.json', + // 展示字段 + value: '', + // 横坐标 + xaxis: '', + // 纵坐标 + yaxis: '', + // 名称 + name: '' + + } +} + +export const dataConfig = { + ...commonConfig(customConfig) +} + +export const FlyMapData = { + name: '飞线图', + title: '飞线图', + icon: iconNames[5], + className: + 'com.gccloud.dataroom.core.module.chart.components.ScreenFlyMapChart', + w: 800, + h: 700, + x: 0, + y: 0, + type: 'flyMap', + option: { + ...cloneDeep(settingConfig) + }, + setting: undefined, // 右侧面板自定义配置 + dataHandler: {}, // 数据自定义处理js脚本 + ...cloneDeep(dataConfig) +} diff --git a/data-room-ui/packages/BigScreenDesign/RightSetting/DataSetting.vue b/data-room-ui/packages/BigScreenDesign/RightSetting/DataSetting.vue index 0ea4c61e..3319dda8 100644 --- a/data-room-ui/packages/BigScreenDesign/RightSetting/DataSetting.vue +++ b/data-room-ui/packages/BigScreenDesign/RightSetting/DataSetting.vue @@ -67,7 +67,7 @@ class="data-setting-data-box" >
-
+
数据配置
diff --git a/data-room-ui/packages/BigScreenDesign/index.vue b/data-room-ui/packages/BigScreenDesign/index.vue index 344b520b..b3a54ac5 100644 --- a/data-room-ui/packages/BigScreenDesign/index.vue +++ b/data-room-ui/packages/BigScreenDesign/index.vue @@ -406,7 +406,7 @@ export default { }, // 自定义属性更新 updateSetting (config) { - if (config.type === 'map' || config.type === 'video') { + if (config.type === 'map' || config.type === 'video' ||config.type === 'flyMap') { config.key = new Date().getTime() } this.changeChartConfig(cloneDeep(config)) diff --git a/data-room-ui/packages/DataSetManagement/src/OriginalEditForm.vue b/data-room-ui/packages/DataSetManagement/src/OriginalEditForm.vue index 899ad5ed..bde96801 100644 --- a/data-room-ui/packages/DataSetManagement/src/OriginalEditForm.vue +++ b/data-room-ui/packages/DataSetManagement/src/OriginalEditForm.vue @@ -162,7 +162,6 @@ :key="table.name" :label="table.name" :value="table.name" - :disabled="table.status == 1" /> @@ -171,7 +170,6 @@ :key="table.name" :label="table.name" :value="table.name" - :disabled="table.status == 1" /> diff --git a/data-room-ui/packages/G2Plots/plotList.js b/data-room-ui/packages/G2Plots/plotList.js index 6891740f..f2312a4f 100644 --- a/data-room-ui/packages/G2Plots/plotList.js +++ b/data-room-ui/packages/G2Plots/plotList.js @@ -5,6 +5,7 @@ */ import { dataConfig, settingConfig } from '../PlotRender/settingConfig' import { mapData } from 'data-room-ui/BasicComponents/Map/settingConfig' +import { FlyMapData } from 'data-room-ui/BasicComponents/FlyMap/settingConfig' // import _ from 'lodash' import cloneDeep from 'lodash/cloneDeep' import sortList from './plotListSort' @@ -85,5 +86,5 @@ export function getCustomPlots () { return list } -const plots = [...plotList, ...customPlots, mapData] +const plots = [...plotList, ...customPlots, mapData,FlyMapData] export default plots diff --git a/data-room-ui/packages/js/mixins/commonMixins.js b/data-room-ui/packages/js/mixins/commonMixins.js index 8e1565f2..d0d536db 100644 --- a/data-room-ui/packages/js/mixins/commonMixins.js +++ b/data-room-ui/packages/js/mixins/commonMixins.js @@ -26,7 +26,7 @@ export default { } }, mounted () { - if (!['tables'].includes(this.config.type)) { + if (!['tables', 'flyMap', 'map'].includes(this.config.type)) { this.chartInit() } this.watchCacheData() diff --git a/data-room-ui/packages/js/store/mutations.js b/data-room-ui/packages/js/store/mutations.js index fc17d4b1..bd192a85 100644 --- a/data-room-ui/packages/js/store/mutations.js +++ b/data-room-ui/packages/js/store/mutations.js @@ -66,7 +66,7 @@ export default { state.pageLoading = booleanValue }, // 改变当前组件配置 - changeChartConfig (state, itemConfig) { + changeChartConfig(state, itemConfig) { const index = state.pageInfo.chartList.findIndex( item => item.code === itemConfig.code )