From 7d4b63f39326d807712d6289d289e616e2cd5fb7 Mon Sep 17 00:00:00 2001 From: limengnan <420004014@qq.com> Date: Sat, 7 Jun 2025 09:22:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/index.html | 2 +- frontend/src/api/{auth.js => auth.ts} | 0 .../src/api/{dictionary.js => dictionary.ts} | 0 .../api/{organization.js => organization.ts} | 0 frontend/src/api/{role.js => role.ts} | 0 frontend/src/api/{user.js => user.ts} | 0 .../index.es.js | 0 .../index.umd.js | 0 .../pc/index.es.js | 0 .../pc/index.umd.js | 0 .../render/element-plus/form-create.es.js | 0 .../render/element-plus/form-create.umd.js | 0 .../render/vant/form-create.es.js | 0 .../render/vant/form-create.umd.js | 0 .../src/{views => data-public}/Dashboard.vue | 0 .../{views => data-public}/Dictionaries.vue | 0 .../FormCreateDesigner.vue | 0 frontend/src/{views => data-public}/Login.vue | 0 .../{views => data-public}/Organizations.vue | 0 frontend/src/{views => data-public}/Roles.vue | 0 frontend/src/{views => data-public}/Users.vue | 0 .../{views => data-public}/error-page/401.vue | 0 .../{views => data-public}/error-page/404.vue | 0 frontend/src/data-public/preview/index.vue | 0 frontend/src/data-visualization/api/chart.ts | 69 ++++++++++++++ frontend/src/data-visualization/index.vue | 95 +++++++++++++++++++ frontend/src/{main.js => main.ts} | 2 +- frontend/src/router/{index.js => index.ts} | 19 ++-- frontend/src/shims-vue.d.ts | 6 ++ frontend/src/store/{app.js => app.ts} | 0 frontend/src/store/{user.js => user.ts} | 0 frontend/src/utils/{index.js => index.ts} | 0 frontend/src/utils/{request.js => request.ts} | 4 +- frontend/src/views/preview/index.vue | 0 frontend/tsconfig.json | 20 ++++ tsconfig.json | 8 ++ 36 files changed, 211 insertions(+), 14 deletions(-) rename frontend/src/api/{auth.js => auth.ts} (100%) rename frontend/src/api/{dictionary.js => dictionary.ts} (100%) rename frontend/src/api/{organization.js => organization.ts} (100%) rename frontend/src/api/{role.js => role.ts} (100%) rename frontend/src/api/{user.js => user.ts} (100%) rename frontend/src/{fcDesignerPro => data-collect}/index.es.js (100%) rename frontend/src/{fcDesignerPro => data-collect}/index.umd.js (100%) rename frontend/src/{fcDesignerPro => data-collect}/pc/index.es.js (100%) rename frontend/src/{fcDesignerPro => data-collect}/pc/index.umd.js (100%) rename frontend/src/{fcDesignerPro => data-collect}/render/element-plus/form-create.es.js (100%) rename frontend/src/{fcDesignerPro => data-collect}/render/element-plus/form-create.umd.js (100%) rename frontend/src/{fcDesignerPro => data-collect}/render/vant/form-create.es.js (100%) rename frontend/src/{fcDesignerPro => data-collect}/render/vant/form-create.umd.js (100%) rename frontend/src/{views => data-public}/Dashboard.vue (100%) rename frontend/src/{views => data-public}/Dictionaries.vue (100%) rename frontend/src/{views => data-public}/FormCreateDesigner.vue (100%) rename frontend/src/{views => data-public}/Login.vue (100%) rename frontend/src/{views => data-public}/Organizations.vue (100%) rename frontend/src/{views => data-public}/Roles.vue (100%) rename frontend/src/{views => data-public}/Users.vue (100%) rename frontend/src/{views => data-public}/error-page/401.vue (100%) rename frontend/src/{views => data-public}/error-page/404.vue (100%) create mode 100644 frontend/src/data-public/preview/index.vue create mode 100644 frontend/src/data-visualization/api/chart.ts create mode 100644 frontend/src/data-visualization/index.vue rename frontend/src/{main.js => main.ts} (91%) rename frontend/src/router/{index.js => index.ts} (76%) create mode 100644 frontend/src/shims-vue.d.ts rename frontend/src/store/{app.js => app.ts} (100%) rename frontend/src/store/{user.js => user.ts} (100%) rename frontend/src/utils/{index.js => index.ts} (100%) rename frontend/src/utils/{request.js => request.ts} (96%) create mode 100644 frontend/src/views/preview/index.vue create mode 100644 frontend/tsconfig.json create mode 100644 tsconfig.json diff --git a/frontend/index.html b/frontend/index.html index d468296..7eacc8d 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -10,6 +10,6 @@
- + diff --git a/frontend/src/api/auth.js b/frontend/src/api/auth.ts similarity index 100% rename from frontend/src/api/auth.js rename to frontend/src/api/auth.ts diff --git a/frontend/src/api/dictionary.js b/frontend/src/api/dictionary.ts similarity index 100% rename from frontend/src/api/dictionary.js rename to frontend/src/api/dictionary.ts diff --git a/frontend/src/api/organization.js b/frontend/src/api/organization.ts similarity index 100% rename from frontend/src/api/organization.js rename to frontend/src/api/organization.ts diff --git a/frontend/src/api/role.js b/frontend/src/api/role.ts similarity index 100% rename from frontend/src/api/role.js rename to frontend/src/api/role.ts diff --git a/frontend/src/api/user.js b/frontend/src/api/user.ts similarity index 100% rename from frontend/src/api/user.js rename to frontend/src/api/user.ts diff --git a/frontend/src/fcDesignerPro/index.es.js b/frontend/src/data-collect/index.es.js similarity index 100% rename from frontend/src/fcDesignerPro/index.es.js rename to frontend/src/data-collect/index.es.js diff --git a/frontend/src/fcDesignerPro/index.umd.js b/frontend/src/data-collect/index.umd.js similarity index 100% rename from frontend/src/fcDesignerPro/index.umd.js rename to frontend/src/data-collect/index.umd.js diff --git a/frontend/src/fcDesignerPro/pc/index.es.js b/frontend/src/data-collect/pc/index.es.js similarity index 100% rename from frontend/src/fcDesignerPro/pc/index.es.js rename to frontend/src/data-collect/pc/index.es.js diff --git a/frontend/src/fcDesignerPro/pc/index.umd.js b/frontend/src/data-collect/pc/index.umd.js similarity index 100% rename from frontend/src/fcDesignerPro/pc/index.umd.js rename to frontend/src/data-collect/pc/index.umd.js diff --git a/frontend/src/fcDesignerPro/render/element-plus/form-create.es.js b/frontend/src/data-collect/render/element-plus/form-create.es.js similarity index 100% rename from frontend/src/fcDesignerPro/render/element-plus/form-create.es.js rename to frontend/src/data-collect/render/element-plus/form-create.es.js diff --git a/frontend/src/fcDesignerPro/render/element-plus/form-create.umd.js b/frontend/src/data-collect/render/element-plus/form-create.umd.js similarity index 100% rename from frontend/src/fcDesignerPro/render/element-plus/form-create.umd.js rename to frontend/src/data-collect/render/element-plus/form-create.umd.js diff --git a/frontend/src/fcDesignerPro/render/vant/form-create.es.js b/frontend/src/data-collect/render/vant/form-create.es.js similarity index 100% rename from frontend/src/fcDesignerPro/render/vant/form-create.es.js rename to frontend/src/data-collect/render/vant/form-create.es.js diff --git a/frontend/src/fcDesignerPro/render/vant/form-create.umd.js b/frontend/src/data-collect/render/vant/form-create.umd.js similarity index 100% rename from frontend/src/fcDesignerPro/render/vant/form-create.umd.js rename to frontend/src/data-collect/render/vant/form-create.umd.js diff --git a/frontend/src/views/Dashboard.vue b/frontend/src/data-public/Dashboard.vue similarity index 100% rename from frontend/src/views/Dashboard.vue rename to frontend/src/data-public/Dashboard.vue diff --git a/frontend/src/views/Dictionaries.vue b/frontend/src/data-public/Dictionaries.vue similarity index 100% rename from frontend/src/views/Dictionaries.vue rename to frontend/src/data-public/Dictionaries.vue diff --git a/frontend/src/views/FormCreateDesigner.vue b/frontend/src/data-public/FormCreateDesigner.vue similarity index 100% rename from frontend/src/views/FormCreateDesigner.vue rename to frontend/src/data-public/FormCreateDesigner.vue diff --git a/frontend/src/views/Login.vue b/frontend/src/data-public/Login.vue similarity index 100% rename from frontend/src/views/Login.vue rename to frontend/src/data-public/Login.vue diff --git a/frontend/src/views/Organizations.vue b/frontend/src/data-public/Organizations.vue similarity index 100% rename from frontend/src/views/Organizations.vue rename to frontend/src/data-public/Organizations.vue diff --git a/frontend/src/views/Roles.vue b/frontend/src/data-public/Roles.vue similarity index 100% rename from frontend/src/views/Roles.vue rename to frontend/src/data-public/Roles.vue diff --git a/frontend/src/views/Users.vue b/frontend/src/data-public/Users.vue similarity index 100% rename from frontend/src/views/Users.vue rename to frontend/src/data-public/Users.vue diff --git a/frontend/src/views/error-page/401.vue b/frontend/src/data-public/error-page/401.vue similarity index 100% rename from frontend/src/views/error-page/401.vue rename to frontend/src/data-public/error-page/401.vue diff --git a/frontend/src/views/error-page/404.vue b/frontend/src/data-public/error-page/404.vue similarity index 100% rename from frontend/src/views/error-page/404.vue rename to frontend/src/data-public/error-page/404.vue diff --git a/frontend/src/data-public/preview/index.vue b/frontend/src/data-public/preview/index.vue new file mode 100644 index 0000000..e69de29 diff --git a/frontend/src/data-visualization/api/chart.ts b/frontend/src/data-visualization/api/chart.ts new file mode 100644 index 0000000..40cf05b --- /dev/null +++ b/frontend/src/data-visualization/api/chart.ts @@ -0,0 +1,69 @@ +import request from '@/utils/request' + +// 通过图表对象获取数据 +export const getData = async (data:any) => { + delete data.data + return request.post('/chartData/getData', data).then((res:any) => { + if (res.code === 0) { + return res?.data + } else { + return res + } + }) +} + +export const innerExportDetails = async (data: any) => { + return request.post('/chartData/innerExportDetails', data, { + method: 'post', + responseType: 'blob' + }) +} + +export const innerExportDataSetDetails = async (data: any) => { + return request.post('/chartData/innerExportDataSetDetails', data, { + method: 'post', + responseType: 'blob' + }) +} + +// 通过图表id获取数据 +export const getChart = async (id: string) => { + return request.post(`/chart/getChart/${id}`, {}).then(res => { + return res?.data + }) +} + +// 单个图表保存测试 +export const saveChart = async (data: any) => { + delete data.data + return request.post('/chart/save', data).then(res => { + return res?.data + }) +} + +// 获取单个字段枚举值 +export const getFieldData = async ({ fieldId, fieldType, data }: { fieldId: string, fieldType: string, data: any }) => { + delete data.data + return request + .post(`/chartData/getFieldData/${fieldId}/${fieldType}`, data) + .then(res => { + return res + }) +} + +// 获取下钻字段枚举值 +export const getDrillFieldData = async ({ fieldId, data }: { fieldId: string, data: any }) => { + delete data.data + return request.post(`/chartData/getDrillFieldData/${fieldId}`, data).then(res => { + return res + }) +} + +export const getChartDetail = async (id: string) => { + return request.post(`chart/getDetail/${id}`, {}).then(res => { + return res + }) +} + +export const checkSameDataSet = async (viewIdSource: string, viewIdTarget: string) => + request.get('/chart/checkSameDataSet/' + viewIdSource + '/' + viewIdTarget) diff --git a/frontend/src/data-visualization/index.vue b/frontend/src/data-visualization/index.vue new file mode 100644 index 0000000..f5fd071 --- /dev/null +++ b/frontend/src/data-visualization/index.vue @@ -0,0 +1,95 @@ + + + + diff --git a/frontend/src/main.js b/frontend/src/main.ts similarity index 91% rename from frontend/src/main.js rename to frontend/src/main.ts index 1b53037..1f26bbb 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.ts @@ -3,7 +3,7 @@ import App from './App.vue' import router from './router' import { createPinia } from 'pinia' import ElementPlus from 'element-plus' -import FcDesigner from '@/fcDesignerPro/index.es.js' +import FcDesigner from '@/data-collect/index.es.js' import 'element-plus/dist/index.css' import * as ElementPlusIconsVue from '@element-plus/icons-vue' import './styles/index.scss' diff --git a/frontend/src/router/index.js b/frontend/src/router/index.ts similarity index 76% rename from frontend/src/router/index.js rename to frontend/src/router/index.ts index 8bc067f..af33ebd 100644 --- a/frontend/src/router/index.js +++ b/frontend/src/router/index.ts @@ -2,15 +2,16 @@ import { createRouter, createWebHistory } from 'vue-router' import { useUserStore } from '@/store/user' // 路由配置 -const routes = [ +const routes:any = [ { path: '/', redirect: '/dashboard' }, + // 登录页面路由配置 { path: '/login', name: 'Login', - component: () => import('@/views/Login.vue'), + component: () => import('@/data-public/Login.vue'), // 使用标准组件路径 meta: { title: '登录', requiresAuth: false @@ -19,7 +20,7 @@ const routes = [ { path: '/dashboard', name: 'Dashboard', - component: () => import('@/views/Dashboard.vue'), + component: () => import('@/data-public/Dashboard.vue'), meta: { title: '仪表板', requiresAuth: true @@ -28,7 +29,7 @@ const routes = [ { path: '/users', name: 'Users', - component: () => import('@/views/Users.vue'), + component: () => import('@/data-public/Users.vue'), meta: { title: '用户管理', requiresAuth: true @@ -37,7 +38,7 @@ const routes = [ { path: '/roles', name: 'Roles', - component: () => import('@/views/Roles.vue'), + component: () => import('@/data-public/Roles.vue'), meta: { title: '角色管理', requiresAuth: true @@ -46,7 +47,7 @@ const routes = [ { path: '/organizations', name: 'Organizations', - component: () => import('@/views/Organizations.vue'), + component: () => import('@/data-public/Organizations.vue'), meta: { title: '组织管理', requiresAuth: true @@ -55,7 +56,7 @@ const routes = [ { path: '/dictionaries', name: 'Dictionaries', - component: () => import('@/views/Dictionaries.vue'), + component: () => import('@/data-public/Dictionaries.vue'), meta: { title: '字典管理', requiresAuth: true @@ -64,7 +65,7 @@ const routes = [ { path: '/FormCreateDesigner', name: 'FormCreateDesigner', - component: () => import('@/views/FormCreateDesigner.vue'), + component: () => import('@/data-public/FormCreateDesigner.vue'), meta: { title: '字典管理', requiresAuth: true @@ -73,7 +74,7 @@ const routes = [ { path: '/:pathMatch(.*)*', name: '404', - component: () => import('@/views/error-page/404.vue'), + component: () => import('@/data-public/error-page/404.vue'), meta: { title: '页面未找到', requiresAuth: false diff --git a/frontend/src/shims-vue.d.ts b/frontend/src/shims-vue.d.ts new file mode 100644 index 0000000..15dd93d --- /dev/null +++ b/frontend/src/shims-vue.d.ts @@ -0,0 +1,6 @@ +// 类型声明文件 +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} \ No newline at end of file diff --git a/frontend/src/store/app.js b/frontend/src/store/app.ts similarity index 100% rename from frontend/src/store/app.js rename to frontend/src/store/app.ts diff --git a/frontend/src/store/user.js b/frontend/src/store/user.ts similarity index 100% rename from frontend/src/store/user.js rename to frontend/src/store/user.ts diff --git a/frontend/src/utils/index.js b/frontend/src/utils/index.ts similarity index 100% rename from frontend/src/utils/index.js rename to frontend/src/utils/index.ts diff --git a/frontend/src/utils/request.js b/frontend/src/utils/request.ts similarity index 96% rename from frontend/src/utils/request.js rename to frontend/src/utils/request.ts index bdef876..5945aaf 100644 --- a/frontend/src/utils/request.js +++ b/frontend/src/utils/request.ts @@ -2,11 +2,9 @@ import axios from 'axios' import { ElMessage, ElMessageBox } from 'element-plus' import { useUserStore } from '@/store/user' import router from '@/router' -console.log( import.meta.env.VITE_API_BASE_URL) - // 创建axios实例 const service = axios.create({ - baseURL: import.meta.env.VITE_API_BASE_URL || '/api', + baseURL: (import.meta as any).env?.VITE_API_BASE_URL || '/api', timeout: 10000, headers: { 'Content-Type': 'application/json;charset=UTF-8' diff --git a/frontend/src/views/preview/index.vue b/frontend/src/views/preview/index.vue new file mode 100644 index 0000000..e69de29 diff --git a/frontend/tsconfig.json b/frontend/tsconfig.json new file mode 100644 index 0000000..95a5f78 --- /dev/null +++ b/frontend/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "es6", + "module": "esnext", + "strict": true, + "jsx": "preserve", + "importHelpers": true, + "moduleResolution": "node", + "esModuleInterop": true, + "skipLibCheck": true, + "outDir": "./dist", + "baseUrl": ".", + "types": ["vite-plugin-vue-type-imports", "vue"], + "paths": { + "@/*": ["./src/*"] + }, + "lib": ["esnext", "dom", "dom.iterable", "scripthost"] + }, + "include": ["src/**/*"] +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..da391dc --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./frontend/src/*"] + } + } +} \ No newline at end of file