fix: 调整报表
This commit is contained in:
parent
dfa40d207f
commit
91832d1e8c
@ -78,7 +78,6 @@ watch(
|
|||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
const toFilt = () => {
|
const toFilt = () => {
|
||||||
const cloneFilter = _.cloneDeep(props.filterConfig);
|
const cloneFilter = _.cloneDeep(props.filterConfig);
|
||||||
const filter = cloneFilter
|
const filter = cloneFilter
|
||||||
@ -89,8 +88,8 @@ const toFilt = () => {
|
|||||||
return item.type === 'time' ? {
|
return item.type === 'time' ? {
|
||||||
name: item.name,
|
name: item.name,
|
||||||
type: item.type,
|
type: item.type,
|
||||||
start_time: dateType.value === 'month' ? filterData.value[item.name][0].format('YYYY-MM') : filterData.value[item.name][0].format('YYYY-MM-DD'),
|
start_time: filterData.value[item.name][0].format('YYYY-MM-DD'),
|
||||||
end_time: dateType.value === 'month' ? filterData.value[item.name][1].format('YYYY-MM') : filterData.value[item.name][1].format('YYYY-MM-DD'),
|
end_time: filterData.value[item.name][1].format('YYYY-MM-DD'),
|
||||||
date_type: dateType.value,
|
date_type: dateType.value,
|
||||||
} : {
|
} : {
|
||||||
name: item.name,
|
name: item.name,
|
||||||
|
@ -49,7 +49,7 @@ const routeList: RouteType[] = [
|
|||||||
path: 'module-cfg',
|
path: 'module-cfg',
|
||||||
name: 'module-cfg',
|
name: 'module-cfg',
|
||||||
component: () => import('@/views/config-manage/module-cfg/index.vue'),
|
component: () => import('@/views/config-manage/module-cfg/index.vue'),
|
||||||
meta: { title: '数据表配置' },
|
meta: { title: '数据来源配置' },
|
||||||
isMenu: true,
|
isMenu: true,
|
||||||
children: [],
|
children: [],
|
||||||
},
|
},
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
placeholder="请选择所属项目"
|
placeholder="请选择所属项目"
|
||||||
v-model:value="formData.project_id"
|
v-model:value="formData.project_id"
|
||||||
:options="projectSelect"
|
:options="projectSelect"
|
||||||
|
@change="toGetDbTable"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="数据来源" name="modular_name">
|
<a-form-item label="数据来源" name="modular_name">
|
||||||
@ -49,7 +50,7 @@
|
|||||||
name="table"
|
name="table"
|
||||||
>
|
>
|
||||||
<a-select
|
<a-select
|
||||||
placeholder="请选择数据表"
|
placeholder="请先选择项目再选择数据表"
|
||||||
v-model:value="formData.table"
|
v-model:value="formData.table"
|
||||||
:options="tableTypes"
|
:options="tableTypes"
|
||||||
/>
|
/>
|
||||||
@ -131,12 +132,12 @@ watch(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
onMounted(() => {
|
// onMounted(() => {
|
||||||
toGetDbTable();
|
// toGetDbTable();
|
||||||
});
|
// });
|
||||||
|
|
||||||
const toGetDbTable = () => {
|
const toGetDbTable = () => {
|
||||||
getDbTableSelect().then((res) => {
|
getDbTableSelect({ projectId: formData.value.project_id }).then((res) => {
|
||||||
tableTypes.value = res.data;
|
tableTypes.value = res.data;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export const moduleCfgCols = [
|
export const moduleCfgCols = [
|
||||||
{ dataIndex: 'modular_id', title: '编号', align: 'center'},
|
{ dataIndex: 'modular_id', title: '编号', align: 'center'},
|
||||||
{ dataIndex: 'modular_name', title: '数据表名称', align: 'center'},
|
{ dataIndex: 'modular_name', title: '数据来源名称', align: 'center'},
|
||||||
{ dataIndex: 'project_name', title: '项目名称', align: 'center'},
|
{ dataIndex: 'project_name', title: '项目名称', align: 'center'},
|
||||||
{ dataIndex: 'is_show', title: '展示状态', align: 'center'},
|
{ dataIndex: 'is_show', title: '展示状态', align: 'center'},
|
||||||
{ dataIndex: 'original_type_handle', title: '数据源类型', align: 'center'},
|
{ dataIndex: 'original_type_handle', title: '数据源类型', align: 'center'},
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<a-space>
|
<a-space>
|
||||||
<a-input
|
<a-input
|
||||||
v-model:value="modularName"
|
v-model:value="modularName"
|
||||||
placeholder="请输入数据表名称"
|
placeholder="请输入数据来源名称"
|
||||||
allow-clear
|
allow-clear
|
||||||
style="width: 200px"
|
style="width: 200px"
|
||||||
@change="search"
|
@change="search"
|
||||||
|
@ -54,10 +54,13 @@ export function getProjectSelect() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 数据源表下拉
|
// 数据表源下拉
|
||||||
export function getDbTableSelect() {
|
export function getDbTableSelect({ projectId }) {
|
||||||
return get({
|
return get({
|
||||||
url: `/api/v1/modular/get-database-table-drop`,
|
url: `/api/v1/modular/get-database-table-drop`,
|
||||||
|
params: {
|
||||||
|
project_id: projectId,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="项目标识" name="mark">
|
<a-form-item label="项目标识" name="mark">
|
||||||
<a-input placeholder="请输入项目标识,例如:oa" />
|
<a-input placeholder="请输入项目标识,例如:oa" v-model:value="formData.mark" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="展示状态" name="is_show">
|
<a-form-item label="展示状态" name="is_show">
|
||||||
<a-switch
|
<a-switch
|
||||||
|
@ -106,7 +106,7 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<y-chart v-else-if="previewData.type === 'chart'" :chart-cfg="previewData.chartCfg"></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 class="preview-area" v-else>
|
||||||
<div><BarChartOutlined /></div>
|
<div><BarChartOutlined /></div>
|
||||||
<div>预览区</div>
|
<div>预览区</div>
|
||||||
@ -165,7 +165,8 @@ const previewData = reactive({
|
|||||||
columnConfig: [], // 表格表头
|
columnConfig: [], // 表格表头
|
||||||
dataList: [], // 表格数据
|
dataList: [], // 表格数据
|
||||||
filterData: {},
|
filterData: {},
|
||||||
chartCfg: {},
|
config: {},
|
||||||
|
filter: [],
|
||||||
page: 1,
|
page: 1,
|
||||||
perPage: 20,
|
perPage: 20,
|
||||||
total: 0,
|
total: 0,
|
||||||
@ -246,9 +247,12 @@ const resetPreviewData = () => {
|
|||||||
previewData.total = 0;
|
previewData.total = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
const toPreview = () => {
|
const toPreview = ({filter}) => {
|
||||||
previewLoading.value = true;
|
previewLoading.value = true;
|
||||||
const filter = previewData.filterConfig
|
let filterData
|
||||||
|
if (!filter) {
|
||||||
|
|
||||||
|
filterData = previewData.filterConfig
|
||||||
.filter((item) => {
|
.filter((item) => {
|
||||||
return previewData.filterData[item.name] !== undefined;
|
return previewData.filterData[item.name] !== undefined;
|
||||||
})
|
})
|
||||||
@ -259,12 +263,17 @@ const toPreview = () => {
|
|||||||
value: previewData.filterData[item.name],
|
value: previewData.filterData[item.name],
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
filterData = filter;
|
||||||
|
}
|
||||||
|
console.log('filterData',filterData)
|
||||||
|
|
||||||
preview({
|
preview({
|
||||||
modularId: modularId.value,
|
modularId: modularId.value,
|
||||||
fieldIds: fieldIds.value.toString(),
|
fieldIds: fieldIds.value.toString(),
|
||||||
page: previewData.page,
|
page: previewData.page,
|
||||||
perPage: previewData.perPage,
|
perPage: previewData.perPage,
|
||||||
filter,
|
filter: filterData,
|
||||||
showTypeId: showTypeId.value,
|
showTypeId: showTypeId.value,
|
||||||
xDataId: xDataId.value?.toString(),
|
xDataId: xDataId.value?.toString(),
|
||||||
yDataId: yDataId.value?.toString(),
|
yDataId: yDataId.value?.toString(),
|
||||||
@ -283,6 +292,7 @@ const toPreview = () => {
|
|||||||
previewData.total = res.data.count;
|
previewData.total = res.data.count;
|
||||||
} else {
|
} else {
|
||||||
previewData.chartCfg = res.data.config;
|
previewData.chartCfg = res.data.config;
|
||||||
|
previewData.filter = res.data.filter;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user