修改报表生成

修改依赖问题
master
夜笙歌 4 months ago
parent 3a5a840953
commit aae5364742

@ -107,7 +107,7 @@
"typescript": "5.4.5",
"unocss": "0.58.6",
"unplugin-auto-import": "0.17.5",
"unplugin-icons": "0.18.5",
"unplugin-icons": "^22.2.0",
"unplugin-vue-components": "0.26.0",
"unplugin-vue-setup-extend-plus": "1.0.1",
"vite": "5.2.12",
@ -115,7 +115,7 @@
"vite-plugin-svg-icons": "2.0.1",
"vitest": "1.5.0",
"vue-eslint-parser": "9.4.2",
"vue-tsc": "2.0.13"
"vue-tsc": "^3.0.6"
},
"overrides": {
"vue": "3.4.34",

@ -174,10 +174,10 @@ service.interceptors.response.use(
}
return Promise.reject('无效的会话,或者会话已过期,请重新登录。');
} else if (code === HttpStatus.SERVER_ERROR) {
// ElMessage({ message: msg, type: 'error' });
ElMessage({ message: msg, type: 'error' });
return Promise.reject(new Error(msg));
} else if (code === HttpStatus.WARN) {
// ElMessage({ message: msg, type: 'warning' });
ElMessage({ message: msg, type: 'warning' });
return Promise.reject(new Error(msg));
} else if (code !== HttpStatus.SUCCESS) {
ElNotification.error({ title: msg });

@ -173,6 +173,23 @@
<el-form-item label="是否分页" prop="dataSourceName">
<el-switch v-model="addSQLForm.isPage" />
</el-form-item>
<el-form-item label="输入数据">
<el-table :data="addSQLForm.testList" style="width: 100%">
<el-table-column label="字段名称" min-width="120">
<template #default="scope">
<el-input v-model="scope.row.fieldOne" style="width: 100%" />
</template>
</el-table-column>
<el-table-column label="测试数据" min-width="120">
<template #default="scope">
<el-input v-model="scope.row.fieldTwo" style="width: 100%" />
</template>
</el-table-column>
</el-table>
<el-button style="width: 100%" @click="addSQLForm.testList.push({})">
添加字段
</el-button>
</el-form-item>
<el-form-item label="SQL" prop="SQL">
<el-input
v-model="addSQLForm.SQL"
@ -298,8 +315,7 @@ const keyword = ref(['SELECT', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'ORDER BY'
'BEGIN', 'START TRANSACTION', 'COMMIT', 'ROLLBACK', 'SAVEPOINT',
'JOIN', 'LEFT JOIN', 'RIGHT JOIN', 'FULL JOIN', 'ON', 'IN', 'EXISTS', 'ANY', 'ALL',
'CASE', 'WHEN', 'THEN', 'ELSE', 'IS NULL', 'IS NOT NULL', 'LIKE', 'BETWEEN',
'UNION', 'UNION ALL', 'WITH']
);
'UNION', 'UNION ALL', 'WITH']);
const getList = async () => {
loading.value = true;
getDataSourceList(selectForm.value)
@ -327,7 +343,8 @@ const constructionData = () => {
const addSQL = () => {
addSQLFormVisible.value = true;
addSQLForm.value = {
designDataFieldList: []
designDataFieldList: [],
testList: []
};
getDbList();
};

@ -95,11 +95,12 @@ const parseData = (data, rule) => {
};
const formulaFun = (formula) => {
let data = formula.replace(/\$\{\s*([^}]+?)\s*\}/g, (_, key) => {
console.log(props.inputData);
if (`${props.inputData[key]}`?.trim() !== '' && !isNaN(props.inputData[key])) {
return props.inputData[key] || '';
} else {
return `${props.inputData[key]}`;
let infos = key.split(',');
if (infos.length === 1) {
return props.inputData[infos[0]] || '';
}
if (infos.length === 2) {
return `AND ${infos[0]} = ${props.inputData[infos[1]]}`;
}
});
return data;
@ -140,8 +141,6 @@ const getOutputData = () => {
isErr.value = false;
let data = res;
let output = {};
console.log(output);
console.log(props.data.customData.outputData);
props.data.customData.outputData.forEach(item => {
output[item.fieldOne] = parseData(data, item.fieldTwo);
});

Loading…
Cancel
Save