vue echarts tooltip使用动态模板

先上代码

javascript 复制代码
					  tooltip: {
						  // 这里是车辆icon
						  show: true,
						// trigger: "item",
						// backgroundColor: "transparent",
						appendToBody: true,
						textStyle: {
						color: "#ffffff" //设置文字颜色
						},
						formatter: (params) => {
							return formatHtml(params.data)
						},
					  },

然后mounted(){}

javascript 复制代码
mounted(){

			window.formatHtml = function(params){
				// 车辆弹窗
				const item = params.extraInfo.item;
			
				let carData = {};
				carData.stop_time = item.stopTime;
				carData.car_number = item.carNum;
				carData.vkey = item.vkey;
				carData.isConn = item.isConn == 1 ? '在线' : '离线';
				carData.ups = item.ups == 1 ? '电源正常' : '电源异常';
				carData.accStatus = item.accStatus == 1 ? '点火' : '熄火';
				carData.speed = item.speed + 'km/h';
				carData.dir = (item.dir);
				carData.live = '';
				// carData.car_token = car_token;
				carData.shareUrl = item.shareUrl ? item.shareUrl.replace("http://", "https://") : '';
				carData.userName = item.userName;
				carData.userPhone = item.userPhone;
				    return `
				    <div class='input-card content-window-card'>
				        <div class="showInfo">
				            <div class='input-item'>
				                <p>车牌号: ${carData.car_number}</p>
				                <p>联网状态: ${carData.isConn}</p>
				            </div>
				            <div class='input-item'>
				                <p>车辆状态: ${carData.accStatus}</p>
				                <p>电源状态: ${carData.ups}</p>
				            </div>
				            <div class='input-item'>
				                <p>行驶方向: ${carData.dir}</p>
				                <p>行驶速度: ${carData.speed}</p>
				            </div>
				            <div class='input-item'>
				                <p>车辆轨迹: <a href="javascript:void(0)" onclick="guiji('${carData.shareUrl}')"><img src="${require('@/assets/big_screen/icon/cheliangguiji.png')}"/></a></p>
				            </div>
				            <div class='input-item'>
				                <p>司机姓名: ${carData.userName}</p>
				                <p>联系方式: ${carData.userPhone}</p>
				            </div>            
				            <div class='input-item'>
				                ${carData.live ? "<p>车辆监控: <img id='monitor_car' data-deviceSerial='"+carData.live+"' src='" + require('@/assets/big_screen/icon/monitor.png') + "' />" + carData.live + "</p>" : ""}
				            </div>
				        </div>
				    </div>`
			}

}
相关推荐
Lkstar28 分钟前
Vue keep-alive 原理全解:LRU 缓存策略、源码级理解
前端·vue.js·面试
会联营的陆逊29 分钟前
html2canvas 1.4.1 在 iOS Safari 中生成图片卡住的问题排查与修复
前端
ZC跨境爬虫1 小时前
跟着 MDN 学CSS day_13 :(深入理解CSS中的元素尺寸调整)
前端·javascript·css·ui·html·tensorflow
threelab1 小时前
Three.js 加载 3D Tiles 瓦片数据 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
百度地图开放平台1 小时前
我用百度地图 Skills 体系重构了物流调度系统,节省了 90% 的人力
前端·github
JavaAgent架构师2 小时前
前端AI工程化(九):AI Agent平台前端架构设计
前端·人工智能
梦想CAD控件2 小时前
网页端对DWG图纸进行预览与批注(CAD轻量化)
java·前端·javascript
代码煮茶2 小时前
Vue3 埋点实战 | 从 0 搭建前端用户行为埋点系统
vue.js
不吃土豆的马铃薯3 小时前
Spdlog 进阶:日志基本控制、日志格式控制、异步记录器
linux·服务器·开发语言·前端·c++
wait3 小时前
Vibe Coding 开发技巧
前端·javascript·人工智能