Compare commits

...

2 Commits

2 changed files with 41 additions and 7 deletions

View File

@ -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);
})
}
}

View File

@ -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(()=>{
console.log("dataset",dataset);
const sql = JSON.parse(JSON.stringify(props.chartConfig.request.requestSQLContent)).sql;
//
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>