Compare commits
2 Commits
b56aad1311
...
10128812a5
| Author | SHA1 | Date |
|---|---|---|
|
|
10128812a5 | |
|
|
f4a4f8ad0c |
|
|
@ -127,11 +127,19 @@ export const eventCommonHandler = (
|
|||
}
|
||||
}
|
||||
} else if (elementList[j].movement == 'communication') {
|
||||
|
||||
// 组件通信
|
||||
for (let k = 0; k < elementList[j].elementId.length; k++) {
|
||||
if (componentList[i].id == elementList[j].elementId[k]) {
|
||||
|
||||
EventBus.emit(elementList[j].elementId[k] + type, params);
|
||||
|
||||
// 分组内组件通信
|
||||
componentList[i]?.groupList?.forEach((groupItem,idx)=>{
|
||||
EventBus.emit(groupItem.id +"dataupdate", params);
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -45,21 +45,47 @@ const {
|
|||
|
||||
|
||||
|
||||
console.log("props.chartConfig",props.chartConfig.request.requestSQLContent.sql);
|
||||
|
||||
|
||||
// 数据callback处理(预览时触发)
|
||||
useChartDataFetch(props.chartConfig, useChartEditStore, (resData: any) => {
|
||||
props.chartConfig.option.dataset = resData;
|
||||
});
|
||||
|
||||
|
||||
onMounted(()=>{
|
||||
const sql = JSON.parse(JSON.stringify(props.chartConfig.request.requestSQLContent)).sql;
|
||||
|
||||
console.log("dataset",dataset);
|
||||
// 组件通信 获取列表中的信息
|
||||
EventBus.on(props.chartConfig.id+'dataupdate', (data) => {
|
||||
console.log('data123', data);
|
||||
|
||||
props.chartConfig.request.requestSQLContent.sql = replaceSqlParams(sql,{id:data.id})
|
||||
|
||||
// 数据callback处理(预览时触发)
|
||||
useChartDataFetch(props.chartConfig, useChartEditStore, (resData: any) => {
|
||||
// props.chartConfig.option.dataset = resData;
|
||||
let data = [];
|
||||
for(let key in resData[0]){
|
||||
let item = {
|
||||
title:key,
|
||||
desc:resData[0][key]
|
||||
}
|
||||
data.push(item);
|
||||
}
|
||||
props.chartConfig.option.dataset.data = data;
|
||||
});
|
||||
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
function replaceSqlParams(sql, params) {
|
||||
return sql.replace(/#\{([^}]+)\}/g, (match, p1) => {
|
||||
if (params.hasOwnProperty(p1)) {
|
||||
// 根据参数类型决定是否添加引号(简单实现)
|
||||
return typeof params[p1] === 'string' ? `'${params[p1]}'` : params[p1];
|
||||
}
|
||||
throw new Error(`缺少参数: ${p1}`);
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
|
|
|||
Loading…
Reference in New Issue