From c71e5a6b0187650a2f6185c1628c2ea511abd2a6 Mon Sep 17 00:00:00 2001 From: bwm <1114523253@qq.com> Date: Fri, 26 Jul 2024 16:53:28 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=B5=81=E7=A8=8B=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .npmrc | 2 + package.json | 3 +- src/api/index.js | 50 +- src/api/modelManagement.js | 32 + src/assets/imgs/database.png | Bin 0 -> 493 bytes src/assets/imgs/dateIcon.png | Bin 0 -> 1240 bytes src/assets/imgs/icon_folder.png | Bin 0 -> 588 bytes src/assets/imgs/icon_report.png | Bin 0 -> 868 bytes src/assets/imgs/numberIcon.png | Bin 0 -> 720 bytes src/assets/imgs/stringIcon.png | Bin 0 -> 539 bytes src/components/SqlStatement/index.vue | 245 ++++ src/components/SqlStatementType/index.vue | 273 ++++ .../code_1tp3f06n2osg0/index.vue | 102 ++ .../code_1tvqz9qc8o3k0/index.vue | 102 ++ .../code_4sx7fvcei1w0/index.vue | 102 ++ .../code_mmnbnhf6uhc0/index.vue | 102 ++ .../code_oq3y1fnvwhs0/index.vue | 102 ++ src/flowableComponents/dbOutput/index.vue | 99 +- src/platform.ts | 40 + src/router/index.js | 37 +- src/utils/auth.js | 6 +- src/views/modelManagement/index.vue | 140 ++ src/views/test/index.vue | 1282 +---------------- vite.config.js | 22 +- 24 files changed, 1458 insertions(+), 1283 deletions(-) create mode 100644 src/api/modelManagement.js create mode 100644 src/assets/imgs/database.png create mode 100644 src/assets/imgs/dateIcon.png create mode 100644 src/assets/imgs/icon_folder.png create mode 100644 src/assets/imgs/icon_report.png create mode 100644 src/assets/imgs/numberIcon.png create mode 100644 src/assets/imgs/stringIcon.png create mode 100644 src/components/SqlStatement/index.vue create mode 100644 src/components/SqlStatementType/index.vue create mode 100644 src/flowableComponents/code_1tp3f06n2osg0/index.vue create mode 100644 src/flowableComponents/code_1tvqz9qc8o3k0/index.vue create mode 100644 src/flowableComponents/code_4sx7fvcei1w0/index.vue create mode 100644 src/flowableComponents/code_mmnbnhf6uhc0/index.vue create mode 100644 src/flowableComponents/code_oq3y1fnvwhs0/index.vue create mode 100644 src/views/modelManagement/index.vue diff --git a/.npmrc b/.npmrc index 35e540d..7c029b0 100644 --- a/.npmrc +++ b/.npmrc @@ -2,3 +2,5 @@ shamefully-hoist=true auto-install-peers=true strict-peer-dependencies=false +@qomo:registry=https://packages.aliyun.com/669a1b3bbedb1acc325c96c0/npm/npm-registry/ +@qomo-platform:registry=https://packages.aliyun.com/669a1b3bbedb1acc325c96c0/npm/npm-registry/ diff --git a/package.json b/package.json index aefdbcf..67088d8 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@element-plus/icons-vue": "2.3.1", - "@qomo-platform/core": "^1.0.100", + "@qomo-platform/core": "^1.0.151", "@vueup/vue-quill": "1.2.0", "@vueuse/core": "10.6.1", "axios": "1.6.7", @@ -33,6 +33,7 @@ "pinia-plugin-persistedstate": "^3.2.1", "postcss-pxtorem": "^6.1.0", "prettier": "^3.2.5", + "uuid": "^10.0.0", "vite-plugin-qiankun": "^1.0.15", "vue": "3.3.9", "vue-router": "4.2.5" diff --git a/src/api/index.js b/src/api/index.js index 7a0dc7f..1a94f33 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1,3 +1,51 @@ +import request from "@/service/request"; export function getDictCode(params) { - return request.get(`/sys/dictItem/type`,params); + return request.get(`/sys/dictItem/type`, params); +} + +//保存流程图 +export function saveFlowModel(data) { + return request.post("/api/flowDefinition/saveModel", {}, data, { + message: { + success: `保存成功`, + error: true + } + }); +} +//执行流程 +export function flowInstanceExecute(id) { + return request.post(`/api/dataIntegration/flowInstance/execute/${id}`, {}, {}, { + message: { + success: `流程开始运行`, + error: true + } + }); +} +//查询数据源 +export function dataSourceList(params) { + return request.get("/api/group/treeList", params, { + error: true + }); +} +//查询组件 +export function getComponentTree(params) { + return request.get("/api/componentGroup/getComponentTree", params, { + error: true + }); +} +//查询数据库列表 +export function databaseListSchemas(params) { + return request.get('/api/database/listSchemas', params, { + error: true + }); +} + +//查询表 +export function listTablesBySchemaPage(params) { + return request.get('/api/database/listTablesBySchemaPage', params); +} + +// 获取表字段 +export function listColumns(params) { + return request.get('/api/database/listColumns', params); } \ No newline at end of file diff --git a/src/api/modelManagement.js b/src/api/modelManagement.js new file mode 100644 index 0000000..847c060 --- /dev/null +++ b/src/api/modelManagement.js @@ -0,0 +1,32 @@ +import request from "@/service/request"; +/*获取模型列表*/ +export function modelList(params) { + return request.get(`/cost-model/pageList`, params); +} +// /*新增小时费率*/ +// export function addHourRate(data) { +// return request.post("/hourRate/add", {}, data, { +// message: { +// success: "新增成功", +// error: true +// } +// }); +// } +// /*编辑小时费率*/ +// export function editHourRate(data) { +// return request.post("/hourRate/edit", {}, data, { +// message: { +// success: "编辑成功", +// error: true +// } +// }); +// } +/*删除*/ +export function deleteModel(data) { + return request.post("/cost-model/delete",{}, data,{ + message: { + success: "删除成功", + error: true + } + }); +} diff --git a/src/assets/imgs/database.png b/src/assets/imgs/database.png new file mode 100644 index 0000000000000000000000000000000000000000..1db8144a795503a8cc2d96357731c2f78b343c4e GIT binary patch literal 493 zcmVPx$r%6OXR9HvtS3yn!K@hB-C3xit@B^LzFEAMO3Y^S(K@#*ToDrg@^~Rn>6kmW( z;0N*q^d`cT859&55KWfsVf#3lRM&L6YPtm>2nhiPERbkk-cOMEeJA>Mj|F`QJ9`!Qap1H zeJcqKT|0FTszH!2m`(4lM=%qSh$=Dbv5hJLq6?Wk1l5?rSm{@F1eN?J?pk#SWB}-a zjSL|fb563a1XH6~2&#m6r4U01`&JA}+BovRCED;hG{6cfRd#brL>t~s0dQJ`JXYMj ztc}D*J+aQLA`-K*MwQrlB|r?tCO;!hAo=wZ zC8AEqx926Vg36e|h$4OA_{#nu=Nv#XGONfj|1?j8;_m?9k6<79QR)PMtBJ jSiJ@YlyD>1P;BMz1=$`yYs+6H00000NkvXXu0mjfLruum literal 0 HcmV?d00001 diff --git a/src/assets/imgs/dateIcon.png b/src/assets/imgs/dateIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..82a7e6ef9989cf3ec079de83c7fcccaaa2f9e03f GIT binary patch literal 1240 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 d*Rh$ofKSSS4luKmL_h!l002ovPDHLkV1lUz= +import { + computed, + defineComponent, + ref, + onMounted, + watchEffect, + watch +} from "vue"; +import { useExposeDialogArgs } from "@qomo-platform/core"; +import { useRequest } from "vue-request"; +import { + dataSourceList, + databaseListSchemas, + listTablesBySchemaPage, + listColumns +} from "@/api"; +import icon_report from "@/assets/imgs/icon_report.png"; +import icon_folder from "@/assets/imgs/icon_folder.png"; +import dateIcon from "@/assets/imgs/dateIcon.png"; +import numberIcon from "@/assets/imgs/numberIcon.png"; +import stringIcon from "@/assets/imgs/stringIcon.png"; +import databaseIcon from "@/assets/imgs/database.png"; +import { ElMessage } from "element-plus"; +import { da } from "element-plus/es/locale"; + +export default defineComponent({ + name: "SqlStatement", + props: { + model: { + type: Object + }, + }, + setup(props, { attrs, expose, slots = {} }) { + const typeNumber = [ + "int", + "smallint", + "bigint", + "float", + "double", + "decimal", + "bit" + ], + typeDate = ["date", "datetime", "time", "timestamp"], + typeString = ["char", "varchar", "varchar2", "text"]; + const { data, error } = useRequest(async () => await dataSourceList()); + + const { + run, + data: _schemaData_, + loading + } = useRequest(databaseListSchemas, { + manual: true + }); + + const { + run: listTablesBySchemaPageRun, + data: tablesData, + loading: listTablesLoading + } = useRequest(listTablesBySchemaPage, { + manual: true + }); + + const { + run: listColumnsRun, + data: listColumnsData, + loading: listColumnsLoading + } = useRequest(listColumns, { + manual: true + }); + + const schemaData = computed(() => + (_schemaData_.value || []).map(item => ({ + label: item.name, + value: item.name + })) + ); + + const handleNodeClick = async node => { + if (node.nodeType) { + props.model.dataSource = node.name; + props.model.url = node.url; + props.model.username = node.userName; + props.model.password = node.password; + props.model.currentNode = node; + run({ id: node.id }); + } else ElMessage.warning("选中的不是数据源,请重新选择"); + }; + + watch( + () => props.model.schema, + val => { + if (val) + listTablesBySchemaPageRun({ + id: props.model.currentNode.id, + schemaName: props.model.schema, + tableName: "", + typeList: "table,view", + pageNo: 1, + pageSize: 1000 + }); + } + ); + + const filterNodeMethod = (value, data) => data.name.includes(value); + + const loadNode = async (node, resolve) => { + const { data } = node; + if (node?.level !== 0) { + await listColumnsRun({ + id: props.model.currentNode.id, + tableName: data.name, + schemaName: props.model.schema + }); + resolve(listColumnsData.value); + } + }; + + const filterSearch = async value => { + listTablesBySchemaPageRun({ + id: props.model.currentNode.id, + schemaName: props.model.schema, + tableName: value, + typeList: "table,view", + pageNo: 1, + pageSize: 1000 + }); + }; + + const handleTableClick = node => { + props.model.sqlString = `select * from ${node.name}`; + // this.$refs.codemirrorTic.$refs.mycode.__vue__.focus(); + }; + + return () => ( + <> + + ( +
handleNodeClick(data)} + > + {data.children && !data.parentId && ( + + )} + {data.children && data.parentId && ( + + )} + + {data.name} + +
+ ) + }} + /> +
+ + + +
+ { + return ( +
handleTableClick(data)} + class={"flex items-center gap-[4px] text-[12px]"} + > + {node.level === 1 && ( + + )} + {!data.columns && + typeNumber.includes( + (data?.type || "").toLocaleLowerCase() + ) && ( + + )} + {!data.columns && + typeDate.includes( + (data?.type || "").toLocaleLowerCase() + ) && ( + + )} + {!data.columns && + typeString.includes( + (data?.type || "").toLocaleLowerCase() + ) && ( + + )} + + {data.name} + {data.comment && ({data.comment})} + +
+ ); + } + }} + /> +
+ + ); + } +}); + + diff --git a/src/components/SqlStatementType/index.vue b/src/components/SqlStatementType/index.vue new file mode 100644 index 0000000..6ce2291 --- /dev/null +++ b/src/components/SqlStatementType/index.vue @@ -0,0 +1,273 @@ + + diff --git a/src/flowableComponents/code_1tp3f06n2osg0/index.vue b/src/flowableComponents/code_1tp3f06n2osg0/index.vue new file mode 100644 index 0000000..e50aa72 --- /dev/null +++ b/src/flowableComponents/code_1tp3f06n2osg0/index.vue @@ -0,0 +1,102 @@ + + diff --git a/src/flowableComponents/code_1tvqz9qc8o3k0/index.vue b/src/flowableComponents/code_1tvqz9qc8o3k0/index.vue new file mode 100644 index 0000000..d091640 --- /dev/null +++ b/src/flowableComponents/code_1tvqz9qc8o3k0/index.vue @@ -0,0 +1,102 @@ + + diff --git a/src/flowableComponents/code_4sx7fvcei1w0/index.vue b/src/flowableComponents/code_4sx7fvcei1w0/index.vue new file mode 100644 index 0000000..e50aa72 --- /dev/null +++ b/src/flowableComponents/code_4sx7fvcei1w0/index.vue @@ -0,0 +1,102 @@ + + diff --git a/src/flowableComponents/code_mmnbnhf6uhc0/index.vue b/src/flowableComponents/code_mmnbnhf6uhc0/index.vue new file mode 100644 index 0000000..e50aa72 --- /dev/null +++ b/src/flowableComponents/code_mmnbnhf6uhc0/index.vue @@ -0,0 +1,102 @@ + + diff --git a/src/flowableComponents/code_oq3y1fnvwhs0/index.vue b/src/flowableComponents/code_oq3y1fnvwhs0/index.vue new file mode 100644 index 0000000..e50aa72 --- /dev/null +++ b/src/flowableComponents/code_oq3y1fnvwhs0/index.vue @@ -0,0 +1,102 @@ + + diff --git a/src/flowableComponents/dbOutput/index.vue b/src/flowableComponents/dbOutput/index.vue index 4f2b37d..1ca97b1 100644 --- a/src/flowableComponents/dbOutput/index.vue +++ b/src/flowableComponents/dbOutput/index.vue @@ -7,39 +7,94 @@ import { watchEffect, watch } from "vue"; +import { useExposeDialogArgs } from "@qomo-platform/core"; +import SqlStatement from "@/components/SqlStatement"; export default defineComponent({ name: "dbOutput", - props:{ - nodeDetail:{ - type:Object + props: { + nodeDetail: { + type: Object } }, setup(props, { attrs, expose, slots = {} }) { - const formInline = reactive({}); + const nodeDetail = computed(() => props?.nodeDetail); + const baseFormRef = ref({}); + const baseMonacoEditorRef = ref(); + const { findNodesPrev, findNodesNext, getNodeData } = attrs; + const submit = () => { + let params = baseFormRef.value.formData; + return { + params + }; + }; - const submit = ()=>{ - let param = formInline; - + const open = () => { + init(nodeDetail.value); + baseMonacoEditorRef.value?.restLayout(); + }; - return param - } + // onMounted(()=>{ + // init(nodeDetail.value) + // }) + + // watch(nodeDetail,(v)=>{ + // init(v) + // },{ + // deep:true + // }) + watch( + () => baseFormRef.value.formData, + val => {}, + { + deep: true + } + ); + + const init = v => { + const data = findNodesNext(props?.nodeDetail.id); + baseFormRef.value.setFormData( + JSON.parse(v?.taskParams || "{}")?.params || {} + ); + }; + + const handleOK = value => {}; expose({ - submit - }) + submit, + open + }); + return () => ( - - - - - - - - - - - + ( +
+
+ +
+
+ +
+ +
+
+
+
+ ) + }} + /> ); } }); diff --git a/src/platform.ts b/src/platform.ts index 93c5c11..8592fe4 100644 --- a/src/platform.ts +++ b/src/platform.ts @@ -20,6 +20,46 @@ export const qomoPlatformOptions = { label: "首批", value: "C" } + ], + modelStatus: [ + { + label: "草稿", + value: "1" + }, + { + label: "已发布", + value: "2" + }, + { + label: "运行中", + value: "3" + }, + { + label: "已完成", + value: "4" + } + ], + feeTypeList:[ + { + label: "机器折旧费", + value: "EquipmentFee" + }, + { + label: "辅料费", + value: "SupplyMaterialFee" + }, + { + label: "水电费", + value: "DriverFee" + }, + { + label: "其他费用", + value: "OtherFee" + }, + { + label: "物流费", + value: "LogisticsFee" + } ] }, async provider(dictType) { diff --git a/src/router/index.js b/src/router/index.js index 5d3410e..3548605 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -69,18 +69,18 @@ export const constantRoutes = [ }, ] }, - // { - // path: '', - // component: Layout, - // children: [ - // { - // path: "/hour", - // component: () => import("@/views/hour/index"), - // name: "Hour", - // meta: { title: "小时费率", icon: "money", affix: true } - // } - // ] - // }, + { + path: '', + component: Layout, + children: [ + { + path: "/hour", + component: () => import("@/views/hour/index"), + name: "Hour", + meta: { title: "小时费率", icon: "money", affix: true } + } + ] + }, // { // path: '', // component: Layout, @@ -153,6 +153,19 @@ export const constantRoutes = [ } ] }, + { + path: '', + component: Layout, + children: [ + { + path: "modelManagement/index", + component: () => import("@/views/modelManagement/index"), + name: "Modelmanagement", + meta: { title: "成本计算模型管理", icon: "tree", affix: true } + } + ] + }, + // Bom,工序,采购价格 ]; //本地调试默认路由 diff --git a/src/utils/auth.js b/src/utils/auth.js index 785a25d..1800a4d 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -3,13 +3,13 @@ import Cookies from "js-cookie"; const TokenKey = "Admin-Token"; export function getToken() { - return Cookies.get(TokenKey); + return window.localStorage.getItem(TokenKey); } export function setToken(token) { - return Cookies.set(TokenKey, token); + return window.localStorage.setItem(TokenKey, token); } export function removeToken() { - return Cookies.remove(TokenKey); + return window.localStorage.removeItem(TokenKey); } diff --git a/src/views/modelManagement/index.vue b/src/views/modelManagement/index.vue new file mode 100644 index 0000000..cedacdd --- /dev/null +++ b/src/views/modelManagement/index.vue @@ -0,0 +1,140 @@ + + diff --git a/src/views/test/index.vue b/src/views/test/index.vue index b2f5fd6..a681f95 100644 --- a/src/views/test/index.vue +++ b/src/views/test/index.vue @@ -1,1253 +1,55 @@ diff --git a/vite.config.js b/vite.config.js index 1458485..8180e50 100644 --- a/vite.config.js +++ b/vite.config.js @@ -22,7 +22,7 @@ function getLocalIpAddress() { // https://vitejs.dev/config/ export default defineConfig(({ mode, command }) => { const env = loadEnv(mode, process.cwd()); - const { VITE_APP_ENV ,VITE_APP_PATH} = env; + const { VITE_APP_ENV, VITE_APP_PATH } = env; return { // 部署生产环境和开发环境下的URL。 // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上 @@ -50,18 +50,32 @@ export default defineConfig(({ mode, command }) => { disableHostCheck: true, host: getLocalIpAddress(), open: true, - hmr:{overlay:false}, + hmr: { overlay: false }, proxy: { // https://cn.vitejs.dev/config/#server-proxy "/qomo": { // target: "http://172.16.0.241:8095", //wq - target: "http://172.16.0.214:8095", //bgy - // target: "http://192.168.50.9:8095", + target: "http://172.16.0.162:8082", //bgy + // target: "http://192.168.50.9:2999",//中智平台 changeOrigin: true, pathRewrite: { "^/qomo": "/qomo" } }, + "/qomo/flowSocket": { + // target: 'ws://192.168.0.66:60601/',这是后端接口地址 + target: 'ws://172.16.0.162:8082', + // target: 'ws://192.168.50.99:2999', + changeOrigin: true, + ws: true + }, + "/qomo/taskSocket": { + // target: 'ws://192.168.0.66:60601/',这是后端接口地址 + target: 'ws://172.16.0.162:8082', + // target: 'ws://192.168.50.99:2999', + changeOrigin: true, + ws: true + }, }, headers: { "Access-Control-Allow-Origin": "*" -- 2.54.0