fix: 修复数据来源操作bug

This commit is contained in:
sy2084
2024-07-18 11:40:28 +08:00
parent 0dfdb11c58
commit 7b15075276
7 changed files with 46 additions and 49 deletions

View File

@@ -48,7 +48,7 @@
<a-button
class="preview-btn"
:loading="previewLoading"
@click="toPreview"
@click="() => {toPreview({})}"
>预览</a-button
>
<a-button type="primary" @click="addViewName">点击保存</a-button>
@@ -83,7 +83,7 @@
v-model:value="previewData.filterData[item.name]"
@change="toFilt"
/>
<a-range-picker v-if="item.type === 'date'" class="input-item" v-model:value="previewData.filterData[item.name]" @change="toFilt" />
<a-range-picker v-if="item.type === 'time'" class="date-item" v-model:value="previewData.filterData[item.name]" @change="toFilt" />
</div>
</div>
<div class="y-table-content">
@@ -102,11 +102,11 @@
:hide-on-single-page="false"
size="small"
class="pagination-box"
@change="toPreview"
@change="() => { toPreview({}) }"
/>
</div>
</div>
<y-chart v-else-if="previewData.type === 'chart'" :chart-cfg="previewData.chartCfg" :filter-config="previewData.filter" @toFilt="toPreview"></y-chart>
<y-chart v-else-if="previewData.type === 'chart'" :chart-cfg="previewData.chartCfg" :filter-config="previewData.filter" @toFilt="() => {toPreview({})}"></y-chart>
<div class="preview-area" v-else>
<div><BarChartOutlined /></div>
<div>预览区</div>
@@ -209,17 +209,16 @@ const toGetFieldOpts = () => {
};
const onProjectChange = (val) => {
// 重置数据
const target = projectSel.value.find((item) => item.value === val);
modularSel.value = target.child;
modularId.value = undefined;
fieldList.value = [];
fieldIds.value = [];
resetSelectData();
resetPreviewData();
};
const onModularChange = (val) => {
// const target = modularSel.value.find((item) => item.value === val);
// fieldList.value = target.child;
const onModularChange = () => {
resetSelectData();
resetPreviewData();
};
@@ -236,37 +235,54 @@ const tranformList = (list) => {
});
}
// 重置配置数据
const resetSelectData = () => {
showTypeId.value = undefined
fieldList.value = [];
fieldIds.value = [];
xDataList.value = [];
yDataList.value = [];
xDataId.value = undefined;
yDataId.value = [];
}
// 重置预览数据
const resetPreviewData = () => {
previewData.type = "";
previewData.filterConfig = [];
previewData.columnConfig = [];
previewData.dataList = [];
previewData.filterData = {};
previewData.config = {};
previewData.page = 1;
previewData.perPage = 20;
previewData.total = 0;
};
// 请求预览数据
const toPreview = ({filter}) => {
previewLoading.value = true;
let filterData
if (!filter) {
filterData = previewData.filterConfig
.filter((item) => {
return previewData.filterData[item.name] !== undefined;
})
.map((item) => {
return {
return item.type === 'time' ? {
name: item.name,
type: item.type,
start_time: previewData.filterData[item.name][0].format('YYYY-MM-DD'),
end_time: previewData.filterData[item.name][1].format('YYYY-MM-DD'),
} : {
name: item.name,
type: item.type,
value: previewData.filterData[item.name],
};
}
});
} else {
filterData = filter;
}
console.log('filterData',filterData)
preview({
modularId: modularId.value,
@@ -325,7 +341,7 @@ const toSaveView = () => {
const toFilt = () => {
previewData.page = 1;
toPreview();
toPreview({});
};
</script>
@@ -389,6 +405,9 @@ const toFilt = () => {
.input-item {
width: 180px;
}
.date-item {
width: 240px;
}
.y-table-content {
margin-top: 10px;
}

View File

@@ -151,9 +151,6 @@ const toGetViewInfo = (params = {}) => {
...params,
}).then((res) => {
selectViewInfo.value = res.data;
delete selectViewInfo.value.config.line.isGroup
delete selectViewInfo.value.config.line.label
selectViewInfo.value.config.line.data = res.data.config.line.data
});
};