From c56cb87cd2aeba4d63938910b6a78117729573a1 Mon Sep 17 00:00:00 2001 From: yangyin <1850366751@qq.com> Date: 星期五, 30 八月 2024 14:25:17 +0800 Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/WI/Web.Admin.V1.0 --- src/api/supervisorAdmin/index.ts | 12 vite.config.ts | 6 src/api/login/UserMenuData.ts | 32 +- package-lock.json | 500 ++++++++++++++++++++++++++++++++ src/components/form/jsonEditor/JsonEditor.vue | 37 ++ src/hooks/useQueryTable.ts | 1 package.json | 3 customer_list/yw/static/config/route.js | 16 src/utils/util.ts | 10 src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue | 153 +++++---- src/views/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue | 95 ++++-- 11 files changed, 729 insertions(+), 136 deletions(-) diff --git a/customer_list/yw/static/config/route.js b/customer_list/yw/static/config/route.js index aa57a74..4086aea 100644 --- a/customer_list/yw/static/config/route.js +++ b/customer_list/yw/static/config/route.js @@ -13,14 +13,14 @@ path: '/lowCode/sqlAmis', component: '/project/yw/lowCode/sqlAmis/SqlAmis.vue', }, - { - name: 'SqlAmisEdit', - isKeepAlive: true, - isAffix: false, - path: '/lowCode/sqlAmis/edit', - component: '/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue', - }, - //#region ====================== 鏁版嵁涓績 ====================== + // { + // name: 'SqlAmisEdit', + // isKeepAlive: true, + // isAffix: false, + // path: '/lowCode/sqlAmis/edit', + // component: '/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue', + // }, + //#region ====================== 鏁版嵁绠$悊 ====================== { name: 'GraphIndex', diff --git a/package-lock.json b/package-lock.json index a86771e..b5d147c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,9 +28,11 @@ "echarts-liquidfill": "^3.1.0", "echarts-wordcloud": "^2.1.0", "element-plus": "^2.2.36", + "fast-xml-parser": "^4.4.1", "js-cookie": "^3.0.1", "js-table2excel": "^1.0.3", "json-bigint": "^1.0.0", + "json-editor-vue3": "^1.1.1", "lodash": "^4.17.21", "mitt": "^3.0.0", "moment": "^2.29.4", @@ -50,6 +52,7 @@ "vue-router": "^4.1.6" }, "devDependencies": { + "@originjs/vite-plugin-commonjs": "^1.0.3", "@types/lodash": "^4.17.7", "@types/node": "^18.15.0", "@types/nprogress": "^0.2.0", @@ -1136,6 +1139,67 @@ "node": ">= 8" } }, + "node_modules/@originjs/vite-plugin-commonjs": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/@originjs/vite-plugin-commonjs/-/vite-plugin-commonjs-1.0.3.tgz", + "integrity": "sha512-KuEXeGPptM2lyxdIEJ4R11+5ztipHoE7hy8ClZt3PYaOVQ/pyngd2alaSrPnwyFeOW1UagRBaQ752aA1dTMdOQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.14.14" + } + }, + "node_modules/@originjs/vite-plugin-commonjs/node_modules/@esbuild/linux-loong64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", + "integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@originjs/vite-plugin-commonjs/node_modules/esbuild": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.54.tgz", + "integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/linux-loong64": "0.14.54", + "esbuild-android-64": "0.14.54", + "esbuild-android-arm64": "0.14.54", + "esbuild-darwin-64": "0.14.54", + "esbuild-darwin-arm64": "0.14.54", + "esbuild-freebsd-64": "0.14.54", + "esbuild-freebsd-arm64": "0.14.54", + "esbuild-linux-32": "0.14.54", + "esbuild-linux-64": "0.14.54", + "esbuild-linux-arm": "0.14.54", + "esbuild-linux-arm64": "0.14.54", + "esbuild-linux-mips64le": "0.14.54", + "esbuild-linux-ppc64le": "0.14.54", + "esbuild-linux-riscv64": "0.14.54", + "esbuild-linux-s390x": "0.14.54", + "esbuild-netbsd-64": "0.14.54", + "esbuild-openbsd-64": "0.14.54", + "esbuild-sunos-64": "0.14.54", + "esbuild-windows-32": "0.14.54", + "esbuild-windows-64": "0.14.54", + "esbuild-windows-arm64": "0.14.54" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -1372,6 +1436,11 @@ "os": [ "win32" ] + }, + "node_modules/@sphinxxxx/color-conversion": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz", + "integrity": "sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==" }, "node_modules/@transloadit/prettier-bytes": { "version": "0.0.7", @@ -2082,6 +2151,11 @@ "snabbdom": "^3.1.0" } }, + "node_modules/ace-builds": { + "version": "1.36.1", + "resolved": "https://registry.npmmirror.com/ace-builds/-/ace-builds-1.36.1.tgz", + "integrity": "sha512-/Rngkz+KgR7GFF16zO3itstku3wezjp4PTqrev3QvGfEix+Ilzsgp6X/VFSaprH9Cqd36rwT8c6eXwMKVgc+Kg==" + }, "node_modules/acorn": { "version": "8.12.1", "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.1.tgz", @@ -2107,7 +2181,6 @@ "version": "6.12.6", "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2867,6 +2940,326 @@ "@esbuild/win32-x64": "0.21.5" } }, + "node_modules/esbuild-android-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", + "integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", + "integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", + "integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", + "integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", + "integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", + "integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", + "integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", + "integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", + "integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", + "integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", + "integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", + "integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", + "integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", + "integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", + "integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", + "integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", + "integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", + "integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", + "integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.14.54", + "resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", + "integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/escalade": { "version": "3.1.2", "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz", @@ -3136,8 +3529,7 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-glob": { "version": "3.3.2", @@ -3170,14 +3562,34 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true + }, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmmirror.com/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } }, "node_modules/fastq": { "version": "1.17.1", @@ -3732,6 +4144,11 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/javascript-natural-sort": { + "version": "0.7.1", + "resolved": "https://registry.npmmirror.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz", + "integrity": "sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==" + }, "node_modules/jiti": { "version": "1.21.6", "resolved": "https://registry.npmmirror.com/jiti/-/jiti-1.21.6.tgz", @@ -3739,6 +4156,14 @@ "dev": true, "bin": { "jiti": "bin/jiti.js" + } + }, + "node_modules/jmespath": { + "version": "0.16.0", + "resolved": "https://registry.npmmirror.com/jmespath/-/jmespath-0.16.0.tgz", + "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==", + "engines": { + "node": ">= 0.6.0" } }, "node_modules/js-cookie": { @@ -3780,17 +4205,45 @@ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", "dev": true }, + "node_modules/json-editor-vue3": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/json-editor-vue3/-/json-editor-vue3-1.1.1.tgz", + "integrity": "sha512-3qslVNZAY+roVfL10ukuaAw1ia9YpWdLO9PnBL+4SuM5a6R3oWCSQU6dLTTPd/dVtqhIefNn4QmthAioYOBHeA==", + "dependencies": { + "jsoneditor": "^9.5.6" + } + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmmirror.com/json-source-map/-/json-source-map-0.6.1.tgz", + "integrity": "sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true + }, + "node_modules/jsoneditor": { + "version": "9.10.5", + "resolved": "https://registry.npmmirror.com/jsoneditor/-/jsoneditor-9.10.5.tgz", + "integrity": "sha512-fVZ0NMt+zm4rqTKBv2x7zPdLeaRyKo1EjJkaR1QjK4gEM1rMwICILYSW1OPxSc1qqyAoDaA/eeNrluKoxOocCA==", + "dependencies": { + "ace-builds": "^1.31.1", + "ajv": "^6.12.6", + "javascript-natural-sort": "^0.7.1", + "jmespath": "^0.16.0", + "json-source-map": "^0.6.1", + "jsonrepair": "3.1.0", + "mobius1-selectr": "^2.4.13", + "picomodal": "^3.0.0", + "vanilla-picker": "^2.12.2" + } }, "node_modules/jsonfile": { "version": "6.1.0", @@ -3802,6 +4255,14 @@ }, "optionalDependencies": { "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonrepair": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/jsonrepair/-/jsonrepair-3.1.0.tgz", + "integrity": "sha512-idqReg23J0PVRAADmZMc5xQM3xeOX5bTB6OTyMnzq33IXJXmn9iJuWIEvGmrN80rQf4d7uLTMEDwpzujNcI0Rg==", + "bin": { + "jsonrepair": "bin/cli.js" } }, "node_modules/keyv": { @@ -4015,6 +4476,11 @@ "version": "3.0.1", "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==" + }, + "node_modules/mobius1-selectr": { + "version": "2.4.13", + "resolved": "https://registry.npmmirror.com/mobius1-selectr/-/mobius1-selectr-2.4.13.tgz", + "integrity": "sha512-Mk9qDrvU44UUL0EBhbAA1phfQZ7aMZPjwtL7wkpiBzGh8dETGqfsh50mWoX9EkjDlkONlErWXArHCKfoxVg0Bw==" }, "node_modules/moment": { "version": "2.30.1", @@ -4304,6 +4770,11 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/picomodal": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/picomodal/-/picomodal-3.0.0.tgz", + "integrity": "sha512-FoR3TDfuLlqUvcEeK5ifpKSVVns6B4BQvc8SDF6THVMuadya6LLtji0QgUDSStw0ZR2J7I6UGi5V2V23rnPWTw==" + }, "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz", @@ -4576,7 +5047,6 @@ "version": "2.3.1", "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, "engines": { "node": ">=6" } @@ -5048,6 +5518,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, "node_modules/style-mod": { "version": "4.1.2", "resolved": "https://registry.npmmirror.com/style-mod/-/style-mod-4.1.2.tgz", @@ -5360,7 +5835,6 @@ "version": "4.4.1", "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -5383,6 +5857,14 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/vanilla-picker": { + "version": "2.12.3", + "resolved": "https://registry.npmmirror.com/vanilla-picker/-/vanilla-picker-2.12.3.tgz", + "integrity": "sha512-qVkT1E7yMbUsB2mmJNFmaXMWE2hF8ffqzMMwe9zdAikd8u2VfnsVY2HQcOUi2F38bgbxzlJBEdS1UUhOXdF9GQ==", + "dependencies": { + "@sphinxxxx/color-conversion": "^2.2.2" + } + }, "node_modules/vite": { "version": "5.4.2", "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.2.tgz", diff --git a/package.json b/package.json index 50ce82e..199c228 100644 --- a/package.json +++ b/package.json @@ -38,9 +38,11 @@ "echarts-liquidfill": "^3.1.0", "echarts-wordcloud": "^2.1.0", "element-plus": "^2.2.36", + "fast-xml-parser": "^4.4.1", "js-cookie": "^3.0.1", "js-table2excel": "^1.0.3", "json-bigint": "^1.0.0", + "json-editor-vue3": "^1.1.1", "lodash": "^4.17.21", "mitt": "^3.0.0", "moment": "^2.29.4", @@ -60,6 +62,7 @@ "vue-router": "^4.1.6" }, "devDependencies": { + "@originjs/vite-plugin-commonjs": "^1.0.3", "@types/lodash": "^4.17.7", "@types/node": "^18.15.0", "@types/nprogress": "^0.2.0", diff --git a/src/api/login/UserMenuData.ts b/src/api/login/UserMenuData.ts index adaa400..0d97036 100644 --- a/src/api/login/UserMenuData.ts +++ b/src/api/login/UserMenuData.ts @@ -46,22 +46,22 @@ SortCode: 2, Description: '', }, - { - Children: [], - ID: '2', - ParentID: '1742436890822447104', - Type: 2, - Name: 'SQL缂栬緫鍣�', - Path: '/lowCode/sqlAmis/edit', - Permission: '', - Icon: 'ywifont ywicon-a-appround15', - IsIframe: false, - OutLink: '', - IsHide: true, - Weight: 0, - SortCode: 2, - Description: '', - }, + // { + // Children: [], + // ID: '2', + // ParentID: '1742436890822447104', + // Type: 2, + // Name: 'SQL缂栬緫鍣�', + // Path: '/lowCode/sqlAmis/edit', + // Permission: '', + // Icon: 'ywifont ywicon-a-appround15', + // IsIframe: false, + // OutLink: '', + // IsHide: true, + // Weight: 0, + // SortCode: 2, + // Description: '', + // }, ], }, { diff --git a/src/api/supervisorAdmin/index.ts b/src/api/supervisorAdmin/index.ts index 42aae31..f8a2866 100644 --- a/src/api/supervisorAdmin/index.ts +++ b/src/api/supervisorAdmin/index.ts @@ -9,3 +9,15 @@ method: 'POST', }); }; + + +/** + * @summary description + */ +export const getAmisXml = async (params,req: any = request) => { + return req({ + url: '/admin/supervisor/get_amis_xml', + method: 'POST', + data:params + }); +}; diff --git a/src/components/form/jsonEditor/JsonEditor.vue b/src/components/form/jsonEditor/JsonEditor.vue new file mode 100644 index 0000000..0cabb3b --- /dev/null +++ b/src/components/form/jsonEditor/JsonEditor.vue @@ -0,0 +1,37 @@ +<template> + <JsonEditorVue + v-bind="$attrs" + language="zh-CN" + :options="{ + search: false, + }" + /> +</template> + +<script setup lang="ts"> +import { computed } from 'vue'; +import JsonEditorVue from 'json-editor-vue3'; + +const props = defineProps({ + showToolbar: { + type: Boolean, + default: false, + }, + showChangeModes: { + type: Boolean, + default: false, + }, +}); + +const editorMenuDisplay = computed(() => (props.showToolbar ? 'block' : 'none')); +const editorModeDisplay = computed(() => (props.showChangeModes ? 'block' : 'none')); +</script> +<style scoped lang="scss"> +:deep(.jsoneditor-menu) { + display: v-bind(editorMenuDisplay); +} + +:deep(.jsoneditor-modes) { + display: v-bind(editorModeDisplay); +} +</style> diff --git a/src/hooks/useQueryTable.ts b/src/hooks/useQueryTable.ts index f484337..34d0a6e 100644 --- a/src/hooks/useQueryTable.ts +++ b/src/hooks/useQueryTable.ts @@ -60,7 +60,6 @@ displayTableData.value = convertListToTree(deepClone(val)); } : (val) => { - console.log("馃殌 ~ val:", val) displayTableData.value = val; }; diff --git a/src/utils/util.ts b/src/utils/util.ts index ca816d4..b6e5e75 100644 --- a/src/utils/util.ts +++ b/src/utils/util.ts @@ -413,8 +413,8 @@ */ export const deleteCurrentRow = ( row: { - ID: string; - Name: string; + id: string; + title: string; [key: string]: any; }, label: String, @@ -424,7 +424,7 @@ showRowName = true, extraParams: Record<string, any> = {} ) => { - const tip = showRowName ? `纭畾鍒犻櫎${label}锛氥��${row.Name}銆戯紵` : `纭畾鍒犻櫎褰撳墠${label}锛焋; + const tip = showRowName ? `纭畾鍒犻櫎${label}锛氥��${row.title}銆戯紵` : `纭畾鍒犻櫎褰撳墠${label}锛焋; ElMessageBox.confirm(tip, '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', @@ -436,14 +436,14 @@ } const res = await deleteApi( { - ID: row.ID, + ID: row.id, ...rawExtraParams, }, req ); if (res.Data) { ElMessage.success(`鍒犻櫎${label}鎴愬姛`); - callback(row.ID); + callback(row.id); } else { ElMessage.error(`鍒犻櫎${label}澶辫触`); } diff --git a/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue b/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue index 2957131..a545bdc 100644 --- a/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue +++ b/src/views/project/yw/lowCode/sqlAmis/SqlAmis.vue @@ -1,5 +1,5 @@ <template> - <HMContainer type="card"> + <HMContainer type="card" v-if="supervisorMgrShow"> <template #header> <el-form ref="queryFormRef" :inline="true" :model="queryParams"> <el-form-item label="鏍囬" prop="title"> @@ -14,19 +14,28 @@ </el-form> </template> <template #main> + <!-- <div class="h-screen"> + <p>vue-json-editor</p> + <JsonEditorVue v-model="jsonMsg"></JsonEditorVue> + </div> --> <el-table v-loading="tableLoading" ref="draggableTableRef" class="h100" border - row-key="ID" - :tree-props="{ children: 'Children', hasChildren: 'hasChildren' }" - :expand-row-keys="treeTableExpandKeys" - @expand-change="tableExpandChange" :row-class-name="isDragStatus ? 'cursor-move' : 'cursor-pointer'" :data="displayTableData" highlight-current-row > + <el-table-column type="expand" fixed="left"> + <template #default="scope"> + <div class="px-4"> + <h3 class="mb-2">椤甸潰鍙傛暟</h3> + <JsonEditor currentMode="view" :modelValue="scope.row.args" /> + </div> + </template> + </el-table-column> + <el-table-column prop="title" label="鏍囬" width="300" fixed="left" show-overflow-tooltip> </el-table-column> <el-table-column prop="prompt" label="鎻愮ず璇�" show-overflow-tooltip> </el-table-column> <el-table-column prop="published" label="鐘舵��" width="80" show-overflow-tooltip> @@ -38,8 +47,6 @@ <el-table-column label="鍒涘缓鏃堕棿" prop="create_time" width="105" show-overflow-tooltip> </el-table-column> <el-table-column label="鏇存柊鏃堕棿" prop="update_time" width="105" show-overflow-tooltip> </el-table-column> <el-table-column label="澶囨敞" prop="note" show-overflow-tooltip> </el-table-column> - <!-- <el-table-column prop="Code" label="缂栫爜" show-overflow-tooltip> </el-table-column> - <el-table-column prop="Description" label="璇存槑" width="550" show-overflow-tooltip> </el-table-column> --> <el-table-column label="鎿嶄綔" width="120" fixed="right" show-overflow-tooltip> <template #default="scope"> <div class="space-x-2.5"> @@ -50,7 +57,17 @@ <i class="ywifont ywicon-bianji !text-[14px] text-blue-400 cursor-pointer" @click="openOperateDialog(scope.row)"></i> </el-tooltip> <el-tooltip effect="dark" content="鍒犻櫎" placement="top"> - <i class="ywifont ywicon-shanchu !text-[17px] text-red-400 cursor-pointer" @click="openOperateDialog(scope.row)"></i> + <i + class="ywifont ywicon-shanchu !text-[17px] text-red-400 cursor-pointer" + @click=" + () => { + deleteCurrentRow(scope.row, '椤甸潰', supervisorAdminApi.DeleteAAssetsEquipmentCostCategory, () => { + const foundIndex = tableData.findIndex((item) => item === scope.row); + foundIndex > -1 && tableData.splice(foundIndex, 1); + }); + } + " + ></i> </el-tooltip> </div> </template> @@ -61,45 +78,44 @@ v-model="dialogIsShow" :headerIcon="dialogHeaderIcon" :title="dialogTitle" - width="400" + width="680" @dlgClosed="closeDialog" @submit="submitFormValue" > - <el-form :model="dialogFormValue" ref="dialogFormRef" :rules="dialogFormRules" label-width="55"> - <el-form-item label="鐖剁骇" prop="ParentID" v-if="!isEditDialog"> - <el-tree-select - filterable - style="width: 100%" - v-model="dialogFormValue.ParentID" - :data="tableTreeData" - node-key="id" - :clearable="true" - :accordion="true" - :expandNode="false" - :check-strictly="true" - > - </el-tree-select> + <el-form :model="dialogFormValue" ref="dialogFormRef" :rules="dialogFormRules" label-width="78"> + <el-form-item label="鏍囬" prop="title"> + <el-input v-model="dialogFormValue.title"></el-input> </el-form-item> - <el-form-item label="undefined" prop="ParentID"> - <el-input v-model="dialogFormValue.ParentID"></el-input> + <el-form-item label="鎻愮ず璇�" prop="prompt"> + <el-input v-model="dialogFormValue.prompt"></el-input> </el-form-item> - <el-form-item label="鏍囬" prop="Name"> - <el-input v-model="dialogFormValue.Name"></el-input> + <el-form-item label="鐘舵��" prop="published"> + <el-select v-model="dialogFormValue.published"> + <el-option + v-for="item in Object.keys(supervisorPublishedMap)" + :key="item" + :value="item" + :label="supervisorPublishedMap[item]" + ></el-option> + </el-select> </el-form-item> - <el-form-item label="缂栫爜" prop="Code"> - <el-input v-model="dialogFormValue.Code"></el-input> + <el-form-item label="澶囨敞" prop="note"> + <el-input v-model="dialogFormValue.note" type="textarea" :rows="3"></el-input> </el-form-item> - <el-form-item label="璇存槑" prop="Description"> - <el-input v-model="dialogFormValue.Description" type="textarea" :rows="3"></el-input> - </el-form-item> + <div class="flex"> + <span class="flex-0 ml-2.5">椤甸潰鍙傛暟</span> + <JsonEditor class="ml-3 h-80" :showToolbar="true" currentMode="form" v-model="dialogFormValue.args" /> + </div> </el-form> </ywDialog> </HMContainer> + <SqlAmisEdit v-else :supervisor="sqlEditMapSupervisor" @backLastPage="backLastPage"></SqlAmisEdit> </template> <script setup lang="ts"> import type { FormInstance, FormRules } from 'element-plus'; import { ElMessage } from 'element-plus'; +import { deleteCurrentRow } from '/@/utils/util'; import { computed, onMounted, ref } from 'vue'; import ywDialog from '/@/components/dialog/yw-dialog.vue'; @@ -110,11 +126,10 @@ // import { useValidateUniqueness } from '/@/hooks/useValidateUniqueness'; import { deepClone } from '/@/utils/other'; -import { supervisorPublishedMap } from './types'; +import SqlAmisEdit from './edit/SqlAmisEdit.vue'; +import { SupervisorPublished, supervisorPublishedMap } from './types'; import * as supervisorAdminApi from '/@/api/supervisorAdmin'; -import { convertListToTree, tableCellCenterExceptColumn } from '/@/utils/util'; -import { gotoRoute } from '/@/utils/route'; -const tableTreeData = computed(() => convertListToTree(tableData.value)); +import JsonEditor from '/@/components/form/jsonEditor/JsonEditor.vue'; //#region ====================== 琛ㄦ牸鏁版嵁锛宼able init ====================== const tableLoading = ref(false); @@ -148,7 +163,7 @@ //#region ====================== 澧炲姞銆佷慨鏀硅褰曟搷浣�, dialog init====================== const isEditDialog = ref(false); const dialogTitle = computed(() => { - return isEditDialog.value ? '淇敼鍒嗙粍' : '娣诲姞鍒嗙粍'; + return isEditDialog.value ? '淇敼椤甸潰' : '娣诲姞椤甸潰'; }); const dialogHeaderIcon = computed(() => { return isEditDialog.value ? 'ele-Edit' : 'ele-Plus'; @@ -158,19 +173,19 @@ const dialogFormRef = ref<FormInstance>(null); const dialogFormRules = ref<FormRules>({ - ParentID: [{ required: true, message: '璇烽�夋嫨undefined', trigger: 'change' }], - Name: [{ required: true, message: '璇疯緭鍏ユ爣棰�', trigger: 'blur' }], + title: [{ required: true, message: '璇疯緭鍏ユ爣棰�', trigger: 'change' }], + // prompt: [{ required: true, message: '杈撳叆鎻愮ず璇�', trigger: 'blur' }], }); const openOperateDialog = (row?) => { if (row) { isEditDialog.value = true; - const { ID, ParentID, Name, Code, Description } = row; + const { id, note, prompt, published, title, args } = row; - dialogFormValue.value = deepClone({ ID, ParentID, Name, Code, Description }); + dialogFormValue.value = deepClone({ id, note, prompt, published, title, args }); } else { isEditDialog.value = false; - dialogFormValue.value = { ParentID: '', Name: '', Code: '', Description: '' }; + dialogFormValue.value = { title: null, prompt: null, published: SupervisorPublished.Y, note: null }; } dialogIsShow.value = true; }; @@ -187,22 +202,32 @@ const res = await supervisorAdminApi.UpdateADictGroup(dialogFormValue.value); const resData = res.Data; if (resData) { - getTableData(); + const foundIndex = tableData.value.find((item) => item.id === dialogFormValue.value.id); + if (foundIndex > -1) { + tableData.value[foundIndex] = { + ...tableData.value[foundIndex], + ...dialogFormValue.value, + }; + } closeDialog(); - ElMessage.success('淇敼鍒嗙粍鎴愬姛'); + ElMessage.success('淇敼椤甸潰鎴愬姛'); } else { - ElMessage.error('淇敼鍒嗙粍澶辫触'); + ElMessage.error('淇敼椤甸潰澶辫触'); } } else { const res = await supervisorAdminApi.InsertADictGroup(dialogFormValue.value); const resData = res.Data; if (resData === '0') { - ElMessage.error('娣诲姞鍒嗙粍澶辫触'); + ElMessage.error('娣诲姞椤甸潰澶辫触'); return; } - getTableData(); + const newData = { + id: resData, + ...dialogFormValue.value, + }; + tableData.value.push(newData); closeDialog(); - ElMessage.success('娣诲姞鍒嗙粍鎴愬姛'); + ElMessage.success('娣诲姞椤甸潰鎴愬姛'); } }; @@ -216,32 +241,28 @@ }; usePageDisplay( () => { - queryFormRef.value.$el.addEventListener('keypress', pressEnterSearch); + queryFormRef.value?.$el?.addEventListener('keypress', pressEnterSearch); }, () => { - queryFormRef.value?.$el.removeEventListener('keypress', pressEnterSearch); + queryFormRef.value?.$el?.removeEventListener('keypress', pressEnterSearch); } ); //#endregion -//#region ====================== 瑙e喅鎷栨嫿灞曞紑鐘舵�佸け鏁堥棶棰� ====================== -const treeTableExpandKeys = ref([]); -const tableExpandChange = (row, expanded) => { - if (expanded) { - treeTableExpandKeys.value.push(row.ID); - } else { - const idx = treeTableExpandKeys.value.indexOf(row.ID); - treeTableExpandKeys.value.splice(idx, 1); - } -}; //#endregion - //#region ====================== sql ====================== - const editSqlClick = () => { - gotoRoute({ - name:'SqlAmisEdit' - }) - }; + +const supervisorMgrShow = ref(true); +const sqlEditMapSupervisor = ref(null); +const editSqlClick = (item) => { + sqlEditMapSupervisor.value = item; + supervisorMgrShow.value = false; +}; + +const backLastPage = () => { + supervisorMgrShow.value = true; +}; //#endregion + onMounted(() => { getTableData(); }); diff --git a/src/views/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue b/src/views/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue index d4a697b..dbc68a5 100644 --- a/src/views/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue +++ b/src/views/project/yw/lowCode/sqlAmis/edit/SqlAmisEdit.vue @@ -1,6 +1,19 @@ <template> <div class="h-full flex flex-col"> - <div class="grid grid-cols-2 gap-2 h-full flex-0"> + <titleBox class="flex-0" style="background-color: #fff" :title="supervisor?.title"> + <template v-slot:left> + <el-button + icon="ele-ArrowLeft" + text + style="margin-right: 10px; margin-left: 10px; width: 40px" + size="small" + @click="backLastPage" + > + </el-button> + </template> + </titleBox> + + <div class="grid grid-cols-2 gap-2 h-full flex-auto"> <div class="h-full overflow-auto"> <el-table :data="configList" @@ -41,21 +54,6 @@ /> </div> </div> - <!-- <div class="flex-auto overflow-auto mt-3"> - <codemirror - disabled - class="h-full overflow-auto" - v-model="jsonCode" - :style="{ height: '100%' }" - :autofocus="true" - :indent-with-tab="true" - :tab-size="2" - :extensions="jsonEditorExtensions" - @change="log('change', $event)" - @focus="log('focus', $event)" - @blur="log('blur', $event)" - /> - </div> --> </div> </template> @@ -64,11 +62,20 @@ import { sql } from '@codemirror/lang-sql'; import { xml } from '@codemirror/lang-xml'; import { vscodeDark } from '@uiw/codemirror-theme-vscode'; -import { ref } from 'vue'; +import _ from 'lodash'; +import { onMounted, ref } from 'vue'; import { Codemirror } from 'vue-codemirror'; import * as codeExample from './testData'; -import _, { uniqueId } from 'lodash'; -import {v4 as uuid} from 'uuid' +import titleBox from '/@/components/titleBox.vue'; + +import { v4 as uuid } from 'uuid'; +import { getAmisXml } from '/@/api/supervisorAdmin'; +import { useCompRef } from '/@/utils/types'; +import { XMLParser, XMLBuilder, XMLValidator } from 'fast-xml-parser'; +import { ElMessage } from 'element-plus'; + +const props = defineProps(['supervisor']); +const emit = defineEmits(['backLastPage']); const log = console.log; const jsonCode = ref(codeExample.jsonCode); const dockCode = ref(codeExample.dockCode); @@ -77,7 +84,17 @@ const jsonEditorExtensions = [json(), vscodeDark]; const sqlEditorExtensions = [sql(), vscodeDark]; const dockEditorExtensions = [xml(), vscodeDark]; - +const sqlCodeEditorRef = useCompRef(Codemirror); +const resetStatus = () => { + configList.value = []; + sqlCode.value = ''; +}; +const backLastPage = () => { + // setTimeout(() => { + // resetStatus(); + // }, 300); + emit('backLastPage'); +}; const dockRowChange = (row) => {}; /** @description 璺緞鍒嗛殧绗� */ const PATH_SEPARATOR = '/'; @@ -128,10 +145,10 @@ value: AmisDockValue; }; -type AmisDockSQLConfig = AmisDockConfig&{ - queryId:string; - recordId:string; -} +type AmisDockSQLConfig = AmisDockConfig & { + queryId: string; + recordId: string; +}; const configList = ref<AmisDockConfig[]>([]); const parseJSONData = (json: string) => { @@ -141,20 +158,38 @@ if (key === 'api') { const url = value.url; const urlPath = path + PATH_SEPARATOR + 'url'; - const queryId ='query_'+uuid().slice(0,12); - + const queryId = 'query_' + uuid().slice(0, 12); + // const recordId = uniqueId() configList.value.push({ - queryId:queryId, - recordId:queryId, + queryId: queryId, + recordId: queryId, type: AmisDockType.Api, path: urlPath, value: url, - url:url, + url: url, } as any); } }); }; -parseJSONData(codeExample.jsonCode); + +const xmlParserInstance = new XMLParser(); +const xmlBuilderInstance = new XMLBuilder(); +let xmlConfig = null; +onMounted(async () => { + xmlConfig = await getAmisXml({ + agent_id: props.supervisor.id, + }); + if (!xmlConfig?.amis_xml) { + // ElMessage.warning('鏆傛棤鏁版嵁'); + return; + } + const jObj = xmlParserInstance.parse(xmlConfig.amis_xml); + if (!jObj?.AMIS_JSON) { + return; + } + const amisJSON = jObj.AMIS_JSON; + parseJSONData(amisJSON); +}); </script> diff --git a/vite.config.ts b/vite.config.ts index b355b5a..7aa7b06 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -6,6 +6,8 @@ import { defineConfig, loadEnv } from 'vite'; import viteCompression from 'vite-plugin-compression'; import vueSetupExtend from 'vite-plugin-vue-setup-extend-plus'; +import { viteCommonjs } from '@originjs/vite-plugin-commonjs' + const pathResolve = (dir: string) => { return resolve(__dirname, '.', dir); }; @@ -21,6 +23,8 @@ plugins: [ vue(), vueSetupExtend(), + viteCommonjs(), + viteCompression({ threshold: 1024000, }), @@ -35,7 +39,7 @@ host: '0.0.0.0', port: env.VITE_PORT as unknown as number, open: JSON.parse(env.VITE_OPEN), - hmr: true, + hmr: false, proxy: { '/gitee': { target: 'https://gitee.com', -- Gitblit v1.9.3