191 lines
6.1 KiB
TypeScript
191 lines
6.1 KiB
TypeScript
export const tabList = [
|
||
{
|
||
name: '所有资源',
|
||
},
|
||
{
|
||
name: '油田医院',
|
||
},
|
||
{
|
||
name: '医疗点',
|
||
},
|
||
{
|
||
name: '救护车',
|
||
},
|
||
{
|
||
name: '合作医院',
|
||
},
|
||
{
|
||
name: '地方医院',
|
||
},
|
||
{
|
||
name: '直升机',
|
||
},
|
||
{
|
||
name: '急救路线',
|
||
},
|
||
];
|
||
export const mapIcon1 = new URL('/@/assets/img/mapIcon1.png', import.meta.url).href;
|
||
export const mapIcon2 = new URL('/@/assets/img/mapIcon2.png', import.meta.url).href;
|
||
export const mapIcon3 = new URL('/@/assets/img/mapIcon3.png', import.meta.url).href;
|
||
export const mapIcon4 = new URL('/@/assets/img/mapIcon4.png', import.meta.url).href;
|
||
export const mapIcon5 = new URL('/@/assets/img/mapIcon5.png', import.meta.url).href;
|
||
export const mapIcon6 = new URL('/@/assets/img/mapIcon6.png', import.meta.url).href;
|
||
|
||
export const legend1 = new URL('/@/assets/img/legend1.png', import.meta.url).href;
|
||
export const legend2 = new URL('/@/assets/img/legend2.png', import.meta.url).href;
|
||
export const legend3 = new URL('/@/assets/img/legend3.png', import.meta.url).href;
|
||
export const legend4 = new URL('/@/assets/img/legend4.png', import.meta.url).href;
|
||
export const legend5 = new URL('/@/assets/img/legend5.png', import.meta.url).href;
|
||
export const legend6 = new URL('/@/assets/img/legend6.png', import.meta.url).href;
|
||
export const mapIcons = [mapIcon1, mapIcon2, mapIcon3, mapIcon4, mapIcon5, mapIcon6];
|
||
|
||
export const legendList = [
|
||
{ img: legend1, text: '油田医院' },
|
||
{ img: legend2, text: '医疗点' },
|
||
{ img: legend3, text: '救护车' },
|
||
{ img: legend4, text: '合作医院' },
|
||
{ img: legend5, text: '地方医院' },
|
||
{ img: legend6, text: '直升机' },
|
||
];
|
||
const bgImg = new URL('/@/assets/images/china-textur.jpg', import.meta.url).href;
|
||
|
||
export function createChartOption({ icons }) {
|
||
return {
|
||
tooltip: {
|
||
show: false,
|
||
// formatter: (params) => {
|
||
// console.log('params', params);
|
||
// if (!params?.data?.id) {
|
||
// return '';
|
||
// }
|
||
// return `<div style="color:red;width:300px"> ${params.name}</div>
|
||
// <div>id: ${params?.data?.id}</div>`;
|
||
// },
|
||
},
|
||
geo: [
|
||
{
|
||
map: 'china',
|
||
zlevel: 3,
|
||
aspectScale: 0.8, //长宽比
|
||
zoom: 1.1,
|
||
// roam: true,
|
||
// draggable: true,
|
||
top: '60',
|
||
left: 'center',
|
||
itemStyle: {
|
||
areaColor: '#173a58',
|
||
shadowColor: '#173a58',
|
||
shadowOffsetX: 0,
|
||
shadowOffsetY: 5,
|
||
borderWidth: 6, //外部边框
|
||
borderColor: '#6ccffe',
|
||
},
|
||
},
|
||
{
|
||
map: 'china',
|
||
zlevel: 2,
|
||
aspectScale: 0.8, //长宽比
|
||
zoom: 1.1,
|
||
// roam: true,
|
||
// draggable: true,
|
||
top: '60',
|
||
left: 'center',
|
||
itemStyle: {
|
||
areaColor: '#1e2c38',
|
||
shadowColor: '#1e2c38',
|
||
shadowOffsetX: 0,
|
||
shadowOffsetY: 10,
|
||
borderWidth: 6, //外部边框
|
||
borderColor: '#384d61',
|
||
},
|
||
},
|
||
],
|
||
series: [
|
||
{
|
||
map: 'china', // 这个是上面注册时的名字哦,registerMap('这个名字保持一致')
|
||
name: '中国地图',
|
||
type: 'map',
|
||
selected: {}, // 默认所有省份都是未选中状态
|
||
selectedMode: 'single', // 选中模式为单选
|
||
zlevel: 9,
|
||
zoom: 1.1,
|
||
aspectScale: 0.8, //长宽比
|
||
// roam: true,
|
||
// draggable: true,
|
||
hoverAnimation: false,
|
||
silent: false,
|
||
top: '60',
|
||
left: 'center',
|
||
label: {
|
||
show: true,
|
||
padding: [0, 10],
|
||
height: 31,
|
||
lineHeight: 31,
|
||
textStyle: {
|
||
color: '#fff',
|
||
fontSize: 13,
|
||
marginLeft: 5,
|
||
},
|
||
},
|
||
itemStyle: {
|
||
// 给地图添加背景图片
|
||
areaColor: {
|
||
type: 'pattern',
|
||
image: bgImg,
|
||
repeat: 'no-repeat',
|
||
},
|
||
borderColor: '#359de5',
|
||
borderWidth: 2, //内部边框,
|
||
},
|
||
// 鼠标悬浮
|
||
emphasis: {
|
||
label: {
|
||
color: '#fff',
|
||
},
|
||
itemStyle: {
|
||
// areaColor: '#008CFF',
|
||
areaColor: '#002e64',
|
||
},
|
||
},
|
||
},
|
||
...icons.value,
|
||
],
|
||
};
|
||
}
|
||
|
||
/**
|
||
* @description 秒转小时
|
||
* */
|
||
export function convertSeconds(seconds: number) {
|
||
let hours = Math.floor(seconds / 3600);
|
||
let minutes = Math.floor((seconds % 3600) / 60);
|
||
let remainingSeconds = seconds % 60;
|
||
return {
|
||
hours: hours,
|
||
minutes: minutes,
|
||
seconds: remainingSeconds,
|
||
};
|
||
}
|
||
|
||
export function getTimeStr(time: number): string {
|
||
let str = '';
|
||
const { hours, minutes } = convertSeconds(time);
|
||
if (hours) {
|
||
str += hours + '小时';
|
||
}
|
||
if (minutes) {
|
||
str += minutes + '分钟';
|
||
}
|
||
return str;
|
||
}
|
||
|
||
export function convertMetersToKilometers(meters: number): number {
|
||
let kilometers = meters / 1000;
|
||
return Math.round(kilometers * 100) / 100;
|
||
}
|
||
|
||
export function getKmStr(distance: number): string {
|
||
if (!distance) return '';
|
||
let d = convertMetersToKilometers(distance);
|
||
return d >= 1 ? d + '公里' : d * 100 + '米';
|
||
} |