diff --git a/DataRoom/dataroom-core/pom.xml b/DataRoom/dataroom-core/pom.xml index 1d27e360..f00689d3 100644 --- a/DataRoom/dataroom-core/pom.xml +++ b/DataRoom/dataroom-core/pom.xml @@ -6,7 +6,7 @@ com.gccloud dataroom - 1.0.1.2023081101.Alpha + 1.0.1.2023083001.Alpha dataroom-core diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ScreenMapChart.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ScreenMapChart.java index b0b3cefc..26c3af26 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ScreenMapChart.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/chart/components/ScreenMapChart.java @@ -80,6 +80,15 @@ public class ScreenMapChart extends Chart { @ApiModelProperty(notes = "值") private String value; + @ApiModelProperty(notes = "图形字体颜色") + private String fontGraphicColor; + + @ApiModelProperty(notes = "图形字体大小") + private String fontSize; + + @ApiModelProperty(notes = "是否开启下钻") + private Boolean down; + } diff --git a/DataRoom/dataroom-server/pom.xml b/DataRoom/dataroom-server/pom.xml index 1c2e9079..662b7142 100644 --- a/DataRoom/dataroom-server/pom.xml +++ b/DataRoom/dataroom-server/pom.xml @@ -6,7 +6,7 @@ com.gccloud dataroom - 1.0.1.2023081101.Alpha + 1.0.1.2023083001.Alpha dataroom-server @@ -29,7 +29,7 @@ com.gccloud dataroom-core - 1.0.1.2023081101.Alpha + 1.0.1.2023083001.Alpha diff --git a/DataRoom/pom.xml b/DataRoom/pom.xml index 6de50d6c..2d543599 100644 --- a/DataRoom/pom.xml +++ b/DataRoom/pom.xml @@ -12,7 +12,7 @@ com.gccloud dataroom - 1.0.1.2023081101.Alpha + 1.0.1.2023083001.Alpha pom 基于G2Plot、Echarts的大屏设计服务端,具备设计、预览能力,支持MySQL、Oracle、PostgreSQL、Groovy等数据集接入 @@ -60,7 +60,7 @@ 0.3.2 2.2 4.9.1 - 1.0.1.2023082801.Alpha + 1.0.1.2023083001.Alpha diff --git a/README.md b/README.md index ba3e81a6..a473d801 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ Company

-🔥DataRoom是一款基于SpringBoot、MyBatisPlus、ElementUI、G2Plot、Echarts等技术栈的大屏设计器,具备大屏设计、预览能力,支持MySQL、Oracle、PostgreSQL、JSON、JS、HTTP、Groovy等数据集接入,使用简单,完全免费,代码开源。 +🔥DataRoom是一款基于SpringBoot、MyBatisPlus、ElementUI、G2Plot、Echarts等技术栈的大屏设计器,具备大屏设计、预览能力,支持MySQL、Oracle、PostgreSQL、MSSQL、JSON、JS、HTTP、Groovy等数据集接入,使用简单,完全免费,代码开源。 ## 效果图 diff --git a/data-room-ui/package-lock.json b/data-room-ui/package-lock.json index a92d268f..c742673e 100644 --- a/data-room-ui/package-lock.json +++ b/data-room-ui/package-lock.json @@ -1,6 +1,6 @@ { "name": "@gcpaas/data-room-ui", - "version": "1.0.1-2023082201-Alpha", + "version": "1.0.1-2023082902-Alpha", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -3397,27 +3397,6 @@ "whatwg-fetch": "^3.6.2" }, "dependencies": { - "@vue/vue-loader-v15": { - "version": "npm:vue-loader@15.10.2", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.2.tgz", - "integrity": "sha512-ndeSe/8KQc/nlA7TJ+OBhv2qalmj1s+uBs7yHDRFaAXscFTApBzY9F1jES3bautmgWjDlDct0fw8rPuySDLwxw==", - "dev": true, - "requires": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", - "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", - "dev": true - } - } - }, "acorn-walk": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", @@ -3489,26 +3468,6 @@ "tapable": "^2.0.0" } }, - "json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", - "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -3726,6 +3685,47 @@ "lodash": "^4.17.4" } }, + "@vue/vue-loader-v15": { + "version": "npm:vue-loader@15.10.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.2.tgz", + "integrity": "sha512-ndeSe/8KQc/nlA7TJ+OBhv2qalmj1s+uBs7yHDRFaAXscFTApBzY9F1jES3bautmgWjDlDct0fw8rPuySDLwxw==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, "@vue/vue2-jest": { "version": "27.0.0", "resolved": "https://registry.npmjs.org/@vue/vue2-jest/-/vue2-jest-27.0.0.tgz", diff --git a/data-room-ui/package.json b/data-room-ui/package.json index dc625b22..a5dc9a74 100644 --- a/data-room-ui/package.json +++ b/data-room-ui/package.json @@ -1,6 +1,6 @@ { "name": "@gcpaas/data-room-ui", - "version": "1.0.1-2023082902-Alpha", + "version": "1.0.1-2023083002-Alpha", "description": "自定义大屏", "author": "gcpaas", "license": "MIT", 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..50cb866f --- /dev/null +++ b/data-room-ui/packages/BasicComponents/FlyMap/index.vue @@ -0,0 +1,320 @@ + + + + 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..ed96a6a4 --- /dev/null +++ b/data-room-ui/packages/BasicComponents/FlyMap/setting.vue @@ -0,0 +1,417 @@ + + + + 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..ac49dd87 --- /dev/null +++ b/data-room-ui/packages/BasicComponents/FlyMap/settingConfig.js @@ -0,0 +1,122 @@ +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 Icon from 'data-room-ui/assets/images/bigScreenIcon/export' +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: Icon.getNameList()[18], + 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/BasicComponents/Map/index.vue b/data-room-ui/packages/BasicComponents/Map/index.vue index dddb8911..1bf49012 100644 --- a/data-room-ui/packages/BasicComponents/Map/index.vue +++ b/data-room-ui/packages/BasicComponents/Map/index.vue @@ -31,7 +31,8 @@ export default { data () { return { charts: null, - hasData: false + hasData: false, + level:'' } }, computed: { @@ -94,8 +95,16 @@ export default { const option = { // 背景颜色 backgroundColor: config.customize.backgroundColor, + graphic: [ + ], geo: { map: config.customize.scope, + zlevel: 10, + show:true, + layoutCenter: ['50%', '50%'], + roam: true, + layoutSize: "100%", + zoom: 1, label: { // 通常状态下的样式 normal: { @@ -253,10 +262,73 @@ export default { } } } + if(config.customize.down){ + // config?.customize?.graphic?.forEach((item,index)=>{ + option.graphic.push({ + type: "text", + left: `220px`, + top: "5%", + style: { + text: '中国', + font: `bolder ${config.customize.fontSize}px "Microsoft YaHei", sans-serif`, + fill: config.customize.fontGraphicColor, + }, + onclick:async()=>{ + this.level='country' + const index = option.graphic.findIndex(i => i.style.text === '中国'); + // 点击元素之后的所有元素全部删除 + option.graphic.splice(index + 1); + const mapUrl =`${window.BS_CONFIG?.httpConfigs?.baseURL}/static/chinaMap/country/中华人民共和国.json` + const map = await this.$dataRoomAxios.get(decodeURI(mapUrl), {}, true) + option.geo.map = '中华人民共和国' + this.changeData({...config,customize:{...config.customize,level:'country',scope:'中国'}}) + echarts.registerMap('中华人民共和国', map); + this.charts.setOption(option, true); + + } + },) + // }) + } const mapUrl = `${window.BS_CONFIG?.httpConfigs?.baseURL}/static/chinaMap/${config.customize.level}/${config.customize.dataMap}` const map = await this.$dataRoomAxios.get(decodeURI(mapUrl), {}, true) echarts.registerMap(config.customize.scope, map) this.charts.setOption(option) + this.charts.on('click', async(params)=> { + const index = option.graphic.findIndex(i => i.style.text === params.name); + if(params.name=='' || index !== -1) return + if(config.customize.down===false||this.level==='province') return + const idx = option.graphic.length + 1; + option.graphic.push({ + type: "text", + left: `${idx * 220}px`, + top: "5%", + style: { + text: params.name, + font: `bolder ${config.customize.fontSize}px "Microsoft YaHei", sans-serif`, + fill: config.customize.fontGraphicColor, + }, + onclick: async() => { + const mapUrl =`${window.BS_CONFIG?.httpConfigs?.baseURL}/static/chinaMap/${params.name=='中华人民共和国'?'country':'province'}/${params.name}.json` + const map = await this.$dataRoomAxios.get(decodeURI(mapUrl), {}, true) + // 利用函数的作用域,可以直接拿上面的name来用 + const index = option.graphic.findIndex(i => i.style.text === params.name); + // 点击元素之后的所有元素全部删除 + option.graphic.splice(index + 1); + // 很多操作重复了,你可以将公共部分抽离出来 + option.geo.map = params.name; + this.changeData({...config,customize:{...config.customize,level:'province',scope:params.name}}) + echarts.registerMap(params.name, map); + this.charts.setOption(option, true); + }, + }); + this.level='province' + const mapUrl =`${window.BS_CONFIG?.httpConfigs?.baseURL}/static/chinaMap/province/${params.name}.json` + const map = await this.$dataRoomAxios.get(decodeURI(mapUrl), {}, true) + this.changeData({...config,customize:{...config.customize,level:'province',scope:params.name}}) + option.geo.map = params.name + echarts.registerMap(params.name, map); + this.charts.setOption(option, true); + }); } } } diff --git a/data-room-ui/packages/BasicComponents/Map/setting.vue b/data-room-ui/packages/BasicComponents/Map/setting.vue index dc9c9eae..244d5b13 100644 --- a/data-room-ui/packages/BasicComponents/Map/setting.vue +++ b/data-room-ui/packages/BasicComponents/Map/setting.vue @@ -74,6 +74,39 @@ /> + + + + + + + + +
-
+
数据配置
@@ -565,7 +565,7 @@ :source-field-list="sourceFieldList" /> diff --git a/data-room-ui/packages/BigScreenDesign/index.vue b/data-room-ui/packages/BigScreenDesign/index.vue index 2041576f..be4e1acc 100644 --- a/data-room-ui/packages/BigScreenDesign/index.vue +++ b/data-room-ui/packages/BigScreenDesign/index.vue @@ -419,7 +419,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/DatasetTypeDialog.vue b/data-room-ui/packages/DataSetManagement/src/DatasetTypeDialog.vue index 95a4e99b..ca03c023 100644 --- a/data-room-ui/packages/DataSetManagement/src/DatasetTypeDialog.vue +++ b/data-room-ui/packages/DataSetManagement/src/DatasetTypeDialog.vue @@ -26,7 +26,14 @@ class="type-item" @click="openAddForm(dataset.datasetType,dataset.componentName)" > - {{ dataset.name }} + + {{ dataset.name }} + +

+ + {{ dataset.description }} + +

@@ -49,6 +56,7 @@ export default { } }, created () { }, + mounted () { }, methods: { // 选择新增类型 openAddForm (type, componentName) { @@ -62,17 +70,16 @@ export default {