Browse Source

update

main
wangshaoping 2 weeks ago
parent
commit
cf2c8e4075
  1. 3
      erm.frontend/.npmrc
  2. 90
      erm.frontend/package.json
  3. 2
      gradle.properties
  4. 3
      io.sc.engine.mv.frontend/.npmrc
  5. 90
      io.sc.engine.mv.frontend/package.json
  6. 2
      io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/generator/impl/IndicatorGenerator.java
  7. 3
      io.sc.engine.rule.frontend/.npmrc
  8. 90
      io.sc.engine.rule.frontend/package.json
  9. 32
      io.sc.engine.rule.frontend/src/views/shared/AutoCompletionManager.ts
  10. 3
      io.sc.engine.rule.frontend/src/views/shared/TestCaseGrid.vue
  11. 3
      io.sc.engine.st.frontend/.npmrc
  12. 90
      io.sc.engine.st.frontend/package.json
  13. 2
      io.sc.platform.core.frontend/.npmrc
  14. 90
      io.sc.platform.core.frontend/package.json
  15. 148
      io.sc.platform.core.frontend/src/views/testcase/code-mirror/AutoCompletionManager.ts
  16. 2
      io.sc.platform.core.frontend/src/views/testcase/code-mirror/code-mirror.vue
  17. 3
      io.sc.platform.core.frontend/template-project/.npmrc
  18. 92
      io.sc.platform.core.frontend/template-project/package.json
  19. 3
      io.sc.platform.developer.doc/.npmrc
  20. 10
      io.sc.platform.developer.doc/package.json
  21. 88
      io.sc.platform.developer.frontend/package.json
  22. 2
      io.sc.platform.gradle/templates/pgp/setup/gradle.properties
  23. 3
      io.sc.platform.lcdp.frontend/.npmrc
  24. 103
      io.sc.platform.lcdp.frontend/package copy.json
  25. 90
      io.sc.platform.lcdp.frontend/package.json
  26. 4
      io.sc.platform.lcdp.frontend/src/components/index.ts
  27. 4
      io.sc.platform.lcdp.frontend/src/routes/routes.json
  28. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/ExcelReport.vue
  29. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateConfig.vue
  30. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateConfigDialog.vue
  31. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateGrid.vue
  32. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateParamsDialog.vue
  33. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateParamsSelectDialog.vue
  34. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateReportDialog.vue
  35. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateSetColumnParamsDialog.vue
  36. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateSetForeachPropsDialog.vue
  37. 6
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/luckysheet/LuckySheet.vue
  38. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/luckysheet/exportExcel.ts
  39. 0
      io.sc.platform.lcdp.frontend/src/views/excelTemplate/template.ts
  40. 3
      io.sc.platform.license.keygen.frontend/.npmrc
  41. 90
      io.sc.platform.license.keygen.frontend/package.json
  42. 3
      io.sc.platform.mvc.frontend/.npmrc
  43. 90
      io.sc.platform.mvc.frontend/package.json
  44. 3
      io.sc.platform.scheduler.manager.frontend/.npmrc
  45. 90
      io.sc.platform.scheduler.manager.frontend/package.json
  46. 3
      io.sc.platform.system.frontend/.npmrc
  47. 90
      io.sc.platform.system.frontend/package.json
  48. 341
      io.sc.platform.util/src/main/java/io/sc/platform/util/ArrayUtil.java
  49. 3
      io.sc.platform.util/src/main/java/io/sc/platform/util/ByteUtil.java
  50. 3
      io.sc.standard.frontend/.npmrc
  51. 90
      io.sc.standard.frontend/package.json
  52. 3
      io.sc.website/.npmrc
  53. 6
      io.sc.website/package.json

3
erm.frontend/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

90
erm.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,42 +83,42 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"tailwindcss": "3.4.10", "tailwindcss": "3.4.10",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

2
gradle.properties

@ -38,7 +38,7 @@ application_version=1.0.0
platform_group=io.sc platform_group=io.sc
platform_version=8.2.8 platform_version=8.2.8
platform_plugin_version=8.2.8 platform_plugin_version=8.2.8
platform_core_frontend_version=8.2.33 platform_core_frontend_version=8.2.34
########################################################### ###########################################################
# dependencies version # dependencies version

3
io.sc.engine.mv.frontend/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

90
io.sc.engine.mv.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,42 +83,42 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"tailwindcss": "3.4.10", "tailwindcss": "3.4.10",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

2
io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/generator/impl/IndicatorGenerator.java

@ -213,7 +213,7 @@ public class IndicatorGenerator {
if(IndicatorType.INDICATOR.equals(indicator.getType())){ if(IndicatorType.INDICATOR.equals(indicator.getType())){
if(ValueTypeUtil.isDecimal(indicator.getValueType())){ if(ValueTypeUtil.isDecimal(indicator.getValueType())){
String tpl ="result.addParameterResult(new ParameterResult('${code}','${name}',ParameterType.${type},'${valueType}',${valueScale},RoundingMode.${valueRoundingMode},this.${fieldName}==null?null:this.${fieldName}.setScale(${valueScale},RoundingMode.${valueRoundingMode})));"; String tpl ="result.addParameterResult(new ParameterResult('${code}','${name}',ParameterType.${type},'${valueType}',${valueScale},RoundingMode.${valueRoundingMode},this.${fieldName}==null?null:this.${fieldName}.setScale(${valueScale},RoundingMode.${valueRoundingMode}).toString()));";
sb.append(StringUtil.format(tpl,variables)).append("\n"); sb.append(StringUtil.format(tpl,variables)).append("\n");
}else if(ValueTypeUtil.isBase(indicator.getValueType())){ }else if(ValueTypeUtil.isBase(indicator.getValueType())){
String tpl ="result.addParameterResult(new ParameterResult('${code}','${name}',ParameterType.${type},'${valueType}',null,null,this.${fieldName}==null?null:this.${fieldName}.toString()));"; String tpl ="result.addParameterResult(new ParameterResult('${code}','${name}',ParameterType.${type},'${valueType}',null,null,this.${fieldName}==null?null:this.${fieldName}.toString()));";

3
io.sc.engine.rule.frontend/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

90
io.sc.engine.rule.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,42 +83,42 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"tailwindcss": "3.4.10", "tailwindcss": "3.4.10",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

32
io.sc.engine.rule.frontend/src/views/shared/AutoCompletionManager.ts

@ -204,7 +204,7 @@ class AutoCompletionManager {
}; };
} }
public autoCompletionProperties(to: any, matchedText?: any): any { public autoCompletionProperties(to: any, matchedText?: any, subText?: string): any {
const matchedTextReverse = Tools.reverseString(matchedText); const matchedTextReverse = Tools.reverseString(matchedText);
const regReverse = /(\.(\](.+?)\[)?\}(.+?)\{[$#])+/g; //匹配 '.]n[}xxx{$#' 模式 const regReverse = /(\.(\](.+?)\[)?\}(.+?)\{[$#])+/g; //匹配 '.]n[}xxx{$#' 模式
// -- -- --- -- -- --- ---- // -- -- --- -- -- --- ----
@ -222,9 +222,19 @@ class AutoCompletionManager {
if (Tools.isUndefinedOrNull(options)) { if (Tools.isUndefinedOrNull(options)) {
return null; return null;
} }
let filteredOptions: any[] = [];
if (!Tools.isUndefinedOrNull(subText)) {
options.forEach((item: any) => {
if (item.label.indexOf(subText) > -1) {
filteredOptions.push(item);
}
});
} else {
filteredOptions = options;
}
return { return {
from: to, from: to,
options: options, options: filteredOptions,
validFor: /^(.*)?$/, validFor: /^(.*)?$/,
}; };
} }
@ -235,14 +245,20 @@ class AutoCompletionManager {
return null; return null;
} }
const beforeText = beforeMatched.text || ''; const beforeText = beforeMatched.text || '';
if (beforeText.endsWith('.')) { if (beforeText.endsWith(' ')) {
//匹配属性 //匹配所有参数
return this.autoCompletionProperties(beforeMatched.to, beforeText);
} else if (beforeText.endsWith(' ')) {
//匹配参数
return this.autoCompletionParameters(beforeMatched.to); return this.autoCompletionParameters(beforeMatched.to);
} else if (beforeText.endsWith('.')) {
//匹配所有属性
return this.autoCompletionProperties(beforeMatched.to, beforeText);
} else { } else {
return null; //匹配部分属性
const lastIndexOf = beforeText.lastIndexOf('.');
const matchedText = beforeText.substring(0, lastIndexOf + 1);
const subText = beforeText.substring(lastIndexOf + 1);
if (lastIndexOf > -1) {
return this.autoCompletionProperties(beforeMatched.to - subText.length, matchedText, subText);
}
} }
} }

3
io.sc.engine.rule.frontend/src/views/shared/TestCaseGrid.vue

@ -189,7 +189,8 @@ const actionMap = {
label: $t('re.testcase.grid.tools.download'), label: $t('re.testcase.grid.tools.download'),
icon: 'bi-box-arrow-in-down', icon: 'bi-box-arrow-in-down',
click: (args: any) => { click: (args: any) => {
Downloader.post(Environment.apiContextPath('/api/re/testCase/downloadTemplate/' + props.owner.resource), {}, { loading: true }); console.log(props.owner);
Downloader.post(Environment.apiContextPath('/api/re/testCase/downloadTemplate/' + props.owner.id), {}, { loading: true });
}, },
}, },
upload: { upload: {

3
io.sc.engine.st.frontend/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

90
io.sc.engine.st.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,42 +83,42 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"tailwindcss": "3.4.10", "tailwindcss": "3.4.10",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

2
io.sc.platform.core.frontend/.npmrc

@ -10,4 +10,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

90
io.sc.platform.core.frontend/package.json

@ -1,6 +1,6 @@
{ {
"name": "platform-core", "name": "platform-core",
"version": "8.2.33", "version": "8.2.34",
"description": "前端核心包,用于快速构建前端的脚手架", "description": "前端核心包,用于快速构建前端的脚手架",
"//main": "库的主文件", "//main": "库的主文件",
"main": "dist/platform-core.js", "main": "dist/platform-core.js",
@ -57,52 +57,52 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -111,40 +111,40 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"pinia": "2.2.6", "pinia": "2.3.0",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3", "xml-formatter": "3.6.3",
"node-sql-parser": "5.3.4" "node-sql-parser": "5.3.6"
} }
} }

148
io.sc.platform.core.frontend/src/views/testcase/code-mirror/AutoCompletionManager.ts

@ -1,5 +1,67 @@
import { axios, Tools } from '@/platform'; import { axios, Tools } from '@/platform';
class ParameterMapping {
/**
*
*/
static #Boost = {
//指标类型
INTERFACE: 100, //接口
INDICATOR: 100 - 1, //指标
// 参数类型
CONSTANT: 100, //常量
IN: 100 - 1, //输入
IN_OPTION: 100 - 1, //输入(选项)
IN_SUB_OUT: 100 - 1, //输入(子模型输出)
INTERMEDIATE: 100 - 2, //中间值
OUT: 100 - 2, //输出
// 元数据类型
ENUM: 0, //枚举
UD_JAVA_CLASS: 200 - 1, //自定义Java类
};
/**
*
* @param type
* @returns
*/
public static getPlaceholderPrefix(type: string) {
if (type === 'ENUM') {
return '#';
} else {
return '$';
}
}
/**
* ,
* @param type
* @returns
*/
public static getBoost(type: string) {
return ParameterMapping.#Boost[type];
}
/**
*
* @param type
* @returns
*/
public static getAutoCompletionType(type: string) {
if (type === 'ENUM') {
return 'enum';
} else if (type === 'CONSTANT') {
return 'constant';
} else if (type === 'INDICATOR' || type === 'INTERMEDIATE' || type === 'OUT') {
return 'variable';
} else {
return 'interface';
}
}
}
class AutoCompletionManager { class AutoCompletionManager {
parameters: any; parameters: any;
valueTypes: any; valueTypes: any;
@ -101,13 +163,20 @@ class AutoCompletionManager {
} }
public getParameterOptions(): any { public getParameterOptions(): any {
const cache = {};
const options: any[] = []; const options: any[] = [];
Object.values(this.parameters).forEach((parameter: any) => { Object.values(this.parameters).forEach((parameter: any) => {
const option = this.getOptionItem(parameter); const option = this.getOptionItem(parameter);
if (option) { if (option) {
options.push(option); if (!cache[option.label]) {
cache[option.label] = option;
options.push(option);
}
} }
}); });
for (const option of options) {
option.boost = ParameterMapping.getBoost(option.category);
}
return options; return options;
} }
@ -116,15 +185,13 @@ class AutoCompletionManager {
if (!Tools.isNill(valueType)) { if (!Tools.isNill(valueType)) {
const version = valueType.version ? valueType.name + '(V' + valueType.version + ')' : valueType.name; const version = valueType.version ? valueType.name + '(V' + valueType.version + ')' : valueType.name;
const info = parameter.valueTypeIsList ? 'List<' + version + '>' : version; const info = parameter.valueTypeIsList ? 'List<' + version + '>' : version;
if (parameter.type === 'parameter') { return {
if (parameter.valueTypeIsList) { category: parameter.type,
return { label: parameter.name, type: 'variable', apply: '${' + parameter.name + '}[0]', info: info }; type: ParameterMapping.getAutoCompletionType(parameter.type),
} else { label: parameter.name,
return { label: parameter.name, type: 'variable', apply: '${' + parameter.name + '}', info: info }; apply: ParameterMapping.getPlaceholderPrefix(parameter.type) + '{' + parameter.name + '}' + (parameter.valueTypeIsList ? '[0]' : ''),
} info: info,
} else if (parameter.type === 'enum') { };
return { label: parameter.name, type: 'enum', apply: '#{' + parameter.name + '}', info: info };
}
} }
return null; return null;
} }
@ -137,7 +204,8 @@ class AutoCompletionManager {
}; };
} }
public autoCompletionProperties(to: any, matchedText?: any): any { public autoCompletionProperties(to: any, matchedText?: any, subText?: string): any {
console.log(matchedText, subText);
const matchedTextReverse = Tools.reverseString(matchedText); const matchedTextReverse = Tools.reverseString(matchedText);
const regReverse = /(\.(\](.+?)\[)?\}(.+?)\{[$#])+/g; //匹配 '.]n[}xxx{$#' 模式 const regReverse = /(\.(\](.+?)\[)?\}(.+?)\{[$#])+/g; //匹配 '.]n[}xxx{$#' 模式
// -- -- --- -- -- --- ---- // -- -- --- -- -- --- ----
@ -151,72 +219,56 @@ class AutoCompletionManager {
if (Tools.isUndefinedOrNull(parameterName)) { if (Tools.isUndefinedOrNull(parameterName)) {
return null; return null;
} }
/*
const enumRegReverse = /(\.(\](.+?)\[)?\}(.+?)\{#)+/g; //匹配 '.]n[}xxx{#' 模式
// -- -- --- -- -- --- ----
// . ] n [ } xxx {#
let matcheds: any = matchedTextReverse.match(enumRegReverse);
if (Tools.isUndefinedOrNull(matcheds) || matcheds.length <= 0) {
const regReverse = /(\.(\](.+?)\[)?\}(.+?)\{\$)+/g; //匹配 '.]n[}xxx{$' 模式
// -- -- --- -- -- --- ----
// . ] n [ } xxx {$
matcheds = matchedTextReverse.match(regReverse);
if (Tools.isUndefinedOrNull(matcheds) || matcheds.length <= 0) {
return null;
}
}
const matched = Tools.reverseString(matcheds[0]);
let parameterName = matched.replace(/#\{(.+?)\}(\[(.+?)\])?/g, '$1');
// ---- --- -- -- --- --
// $ { xxx } [ n ]
if (Tools.isUndefinedOrNull(parameterName)) {
parameterName = matched.replace(/\$\{(.+?)\}(\[(.+?)\])?/g, '$1');
if (Tools.isUndefinedOrNull(parameterName)) {
return null;
}
}
*/
const options = this.getOptions(parameterName); const options = this.getOptions(parameterName);
if (Tools.isUndefinedOrNull(options)) { if (Tools.isUndefinedOrNull(options)) {
return null; return null;
} }
let filteredOptions: any[] = [];
if (!Tools.isUndefinedOrNull(subText)) {
options.forEach((item: any) => {
if (item.label.indexOf(subText) > -1) {
filteredOptions.push(item);
}
});
} else {
filteredOptions = options;
}
return { return {
from: to, from: to,
options: options, options: filteredOptions,
validFor: /^(.*)?$/, validFor: /^(.*)?$/,
}; };
} }
public doAutoCompletion(context: any): any { public doAutoCompletion(context: any): any {
console.log('>>>>');
const beforeMatched = context.matchBefore(/(.+?)/g); const beforeMatched = context.matchBefore(/(.+?)/g);
console.log(beforeMatched);
if (Tools.isUndefinedOrNull(beforeMatched)) { if (Tools.isUndefinedOrNull(beforeMatched)) {
return null; return null;
} }
const beforeText = beforeMatched.text || ''; const beforeText = beforeMatched.text || '';
if (beforeText.endsWith('.')) { if (beforeText.endsWith(' ')) {
//匹配属性
return this.autoCompletionProperties(beforeMatched.to, beforeText);
} else if (beforeText.endsWith(' ')) {
//匹配参数 //匹配参数
return this.autoCompletionParameters(beforeMatched.to); return this.autoCompletionParameters(beforeMatched.to);
} else if (beforeText.endsWith('.')) {
//匹配所有属性
return this.autoCompletionProperties(beforeMatched.to, beforeText);
} else { } else {
return null; //匹配部分属性
const lastIndexOf = beforeText.lastIndexOf('.');
if (lastIndexOf > -1) {
return this.autoCompletionProperties(beforeMatched.to, beforeText.substring(0, lastIndexOf + 1), beforeText.substring(lastIndexOf + 1));
}
} }
} }
public load(url: string) { public load(url: string) {
axios.get(url).then((response) => { axios.get(url).then((response: any) => {
this.setParameters(response.data?.parameters); this.setParameters(response.data?.parameters);
this.setValueTypes(response.data?.valueTypes); this.setValueTypes(response.data?.valueTypes);
}); });
} }
public autoCompletion(): any { public autoCompletion(): any {
console.log('????');
return (context: any) => { return (context: any) => {
return this.doAutoCompletion(context); return this.doAutoCompletion(context);
}; };

2
io.sc.platform.core.frontend/src/views/testcase/code-mirror/code-mirror.vue

@ -30,7 +30,7 @@ const click = () => {
const autoCompletionManager = new AutoCompletionManager(); const autoCompletionManager = new AutoCompletionManager();
const userDefinedFunctionsManager = new UserDefinedFunctionsManager(); const userDefinedFunctionsManager = new UserDefinedFunctionsManager();
autoCompletionManager.load(Environment.apiContextPath('/api/re/common/parameterAndValueType/findByParameterId/34e7391f-ba76-4e14-b152-ae0da917fd20')); autoCompletionManager.load(Environment.apiContextPath('/api/re/common/parameterAndValueType/findByParameterId/069d4b6d-1972-4953-aa47-2ae3a4d41f4a'));
userDefinedFunctionsManager.load(); userDefinedFunctionsManager.load();
console.log(Tools.escapeHtml('<xml>&</xml>')); console.log(Tools.escapeHtml('<xml>&</xml>'));

3
io.sc.platform.core.frontend/template-project/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

92
io.sc.platform.core.frontend/template-project/package.json

@ -1,6 +1,6 @@
{ {
"name": "platform-core", "name": "platform-core",
"version": "8.2.33", "version": "8.2.34",
"description": "前端核心包,用于快速构建前端的脚手架", "description": "前端核心包,用于快速构建前端的脚手架",
"private": false, "private": false,
"keywords": [], "keywords": [],
@ -29,52 +29,52 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,40 +83,40 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

3
io.sc.platform.developer.doc/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

10
io.sc.platform.developer.doc/package.json

@ -20,17 +20,17 @@
"pnpm": ">=7" "pnpm": ">=7"
}, },
"devDependencies": { "devDependencies": {
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"vuepress": "2.0.0-rc.15" "vuepress": "2.0.0-rc.15"
}, },
"dependencies": { "dependencies": {
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"vue": "3.5.13", "vue": "3.5.13",
"vue-i18n": "10.0.4" "vue-i18n": "11.0.1"
} }
} }

88
io.sc.platform.developer.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.0",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,42 +83,42 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"tailwindcss": "3.4.10", "tailwindcss": "3.4.10",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

2
io.sc.platform.gradle/templates/pgp/setup/gradle.properties

@ -38,7 +38,7 @@ application_version=1.0.0
platform_group=io.sc platform_group=io.sc
platform_version=8.2.8 platform_version=8.2.8
platform_plugin_version=8.2.8 platform_plugin_version=8.2.8
platform_core_frontend_version=8.2.33 platform_core_frontend_version=8.2.34
########################################################### ###########################################################
# dependencies version # dependencies version

3
io.sc.platform.lcdp.frontend/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

103
io.sc.platform.lcdp.frontend/package copy.json

@ -1,103 +0,0 @@
{
"name": "io.sc.platform.lcdp.frontend",
"version": "8.1.38",
"description": "",
"private": false,
"keywords": [],
"author": "",
"license": "ISC",
"scripts": {
"clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml",
"dev": "nodemon",
"serve": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack serve --config webpack.env.serve.cjs",
"build": "node ./util-components-generator.cjs && cross-env NODE_ENV=development webpack --config webpack.env.build.cjs",
"prod": "node ./util-components-generator.cjs && cross-env NODE_ENV=production webpack --config webpack.env.prod.cjs",
"sync": "platform sync"
},
"engines": {
"node": ">=18",
"pnpm": ">=7"
},
"publishConfig": {
"registry": "http://nexus.sc.io:8000/repository/npm-releases/",
"access": "public"
},
"devDependencies": {
"@babel/core": "7.23.7",
"@babel/preset-env": "7.23.7",
"@babel/preset-typescript": "7.23.3",
"@babel/plugin-transform-class-properties": "7.23.3",
"@babel/plugin-transform-object-rest-spread": "7.23.4",
"@quasar/app-webpack": "3.12.1",
"@quasar/cli": "2.3.0",
"@types/mockjs": "1.0.10",
"@types/node": "20.10.6",
"@typescript-eslint/eslint-plugin": "6.17.0",
"@typescript-eslint/parser": "6.17.0",
"@vue/compiler-sfc": "3.4.3",
"@webpack-cli/serve": "2.0.5",
"autoprefixer": "10.4.16",
"babel-loader": "9.1.3",
"clean-webpack-plugin": "4.0.0",
"copy-webpack-plugin": "11.0.0",
"cross-env": "7.0.3",
"css-loader": "6.8.1",
"eslint": "8.56.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.1.2",
"eslint-plugin-vue": "9.19.2",
"eslint-webpack-plugin": "4.0.1",
"html-webpack-plugin": "5.6.0",
"json5": "2.2.3",
"mini-css-extract-plugin": "2.7.6",
"nodemon": "3.0.2",
"postcss": "8.4.32",
"postcss-import": "16.0.0",
"postcss-loader": "7.3.4",
"postcss-preset-env": "9.3.0",
"prettier": "3.1.1",
"sass": "1.69.7",
"sass-loader": "13.3.3",
"typescript": "5.3.3",
"vue-loader": "17.4.2",
"webpack": "5.89.0",
"webpack-bundle-analyzer": "4.10.1",
"webpack-cli": "5.1.4",
"webpack-dev-server": "4.15.1",
"webpack-merge": "5.10.0",
"@vue/babel-plugin-jsx": "1.1.5"
},
"dependencies": {
"@codemirror/autocomplete": "6.11.1",
"@codemirror/commands": "6.3.3",
"@codemirror/lang-html": "6.4.7",
"@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.1",
"@codemirror/lang-json": "6.0.1",
"@codemirror/lang-sql": "6.5.4",
"@codemirror/lang-xml": "6.0.2",
"@codemirror/language": "6.10.0",
"@codemirror/search": "6.5.5",
"@codemirror/state": "6.4.0",
"@codemirror/view": "6.23.0",
"@maxgraph/core": "0.9.0",
"@quasar/extras": "1.16.9",
"@vueuse/core": "10.7.1",
"axios": "1.6.3",
"codemirror": "6.0.1",
"dayjs": "1.11.10",
"echarts": "5.4.3",
"exceljs": "4.4.0",
"file-saver": "2.0.5",
"luckyexcel": "1.0.1",
"mockjs": "1.1.0",
"pinia": "2.1.7",
"platform-core": "8.1.188",
"quasar": "2.14.5",
"tailwindcss": "3.4.0",
"vue": "3.4.3",
"vue-dompurify-html": "5.0.1",
"vue-i18n": "9.8.0",
"vue-router": "4.2.5"
}
}

90
io.sc.platform.lcdp.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,42 +83,42 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"tailwindcss": "3.4.10", "tailwindcss": "3.4.10",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

4
io.sc.platform.lcdp.frontend/src/components/index.ts

@ -6,9 +6,9 @@ import component_lcdp_Frontend from '@/views/Frontend.vue';
import component_lcdp_Theme from '@/views/Theme.vue'; import component_lcdp_Theme from '@/views/Theme.vue';
import component_lcdp_bpm from '@/views/bpm/Bpm.vue'; import component_lcdp_bpm from '@/views/bpm/Bpm.vue';
import component_lcdp_form_page from '@/views/form/Page.vue'; import component_lcdp_form_page from '@/views/form/Page.vue';
import component_lcdp_excel_report from '@/views/excel-template/ExcelReport.vue'; import component_lcdp_excel_report from '@/views/excelTemplate/ExcelReport.vue';
import component_lcdp_formConfig from '@/views/form/FormConfig.vue'; import component_lcdp_formConfig from '@/views/form/FormConfig.vue';
import component_lcdp_excel_template from '@/views/excel-template/TemplateGrid.vue'; import component_lcdp_excel_template from '@/views/excelTemplate/TemplateGrid.vue';
const localComponents = { const localComponents = {
'component.lcdp.Frontend': component_lcdp_Frontend, 'component.lcdp.Frontend': component_lcdp_Frontend,

4
io.sc.platform.lcdp.frontend/src/routes/routes.json

@ -54,7 +54,7 @@
"path": "lcdp/excel/report", "path": "lcdp/excel/report",
"priority": 0, "priority": 0,
"component": "component.lcdp.excel.report", "component": "component.lcdp.excel.report",
"componentPath": "@/views/excel-template/ExcelReport.vue", "componentPath": "@/views/excelTemplate/ExcelReport.vue",
"redirect": null, "redirect": null,
"meta": { "meta": {
"permissions": ["/example/**/*"] "permissions": ["/example/**/*"]
@ -77,7 +77,7 @@
"name": "route.lcdp.excel.template", "name": "route.lcdp.excel.template",
"path": "lcdp/excel/template", "path": "lcdp/excel/template",
"component": "component.lcdp.excel.template", "component": "component.lcdp.excel.template",
"componentPath": "@/views/excel-template/TemplateGrid.vue", "componentPath": "@/views/excelTemplate/TemplateGrid.vue",
"meta": { "meta": {
"permissions": ["/example/**/*"] "permissions": ["/example/**/*"]
}, },

0
io.sc.platform.lcdp.frontend/src/views/excel-template/ExcelReport.vue → io.sc.platform.lcdp.frontend/src/views/excelTemplate/ExcelReport.vue

0
io.sc.platform.lcdp.frontend/src/views/excel-template/TemplateConfig.vue → io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateConfig.vue

0
io.sc.platform.lcdp.frontend/src/views/excel-template/TemplateConfigDialog.vue → io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateConfigDialog.vue

0
io.sc.platform.lcdp.frontend/src/views/excel-template/TemplateGrid.vue → io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateGrid.vue

0
io.sc.platform.lcdp.frontend/src/views/excel-template/TemplateParamsDialog.vue → io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateParamsDialog.vue

0
io.sc.platform.lcdp.frontend/src/views/excel-template/TemplateParamsSelectDialog.vue → io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateParamsSelectDialog.vue

0
io.sc.platform.lcdp.frontend/src/views/excel-template/TemplateReportDialog.vue → io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateReportDialog.vue

0
io.sc.platform.lcdp.frontend/src/views/excel-template/TemplateSetColumnParamsDialog.vue → io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateSetColumnParamsDialog.vue

0
io.sc.platform.lcdp.frontend/src/views/excel-template/TemplateSetForeachPropsDialog.vue → io.sc.platform.lcdp.frontend/src/views/excelTemplate/TemplateSetForeachPropsDialog.vue

6
io.sc.platform.lcdp.frontend/src/views/excel-template/luckysheet/LuckySheet.vue → io.sc.platform.lcdp.frontend/src/views/excelTemplate/luckysheet/LuckySheet.vue

@ -51,9 +51,9 @@ import { exportExcel } from './exportExcel';
import { useQuasar } from 'quasar'; import { useQuasar } from 'quasar';
import { axios, TagViewManager, Environment, PlatformIconEnum, Tools, NotifyManager } from 'platform-core'; import { axios, TagViewManager, Environment, PlatformIconEnum, Tools, NotifyManager } from 'platform-core';
import TemplateParamsSelectDialog from '@/views/excel_template/TemplateParamsSelectDialog.vue'; import TemplateParamsSelectDialog from '@/views/excelTemplate/TemplateParamsSelectDialog.vue';
import TemplateSetForEachParamsDialog from '@/views/excel_template/TemplateSetForeachPropsDialog.vue'; import TemplateSetForEachParamsDialog from '@/views/excelTemplate/TemplateSetForeachPropsDialog.vue';
import TemplateSetColumnParamsDialog from '@/views/excel_template/TemplateSetColumnParamsDialog.vue'; import TemplateSetColumnParamsDialog from '@/views/excelTemplate/TemplateSetColumnParamsDialog.vue';
const gc = Environment.getConfigure(); const gc = Environment.getConfigure();
const $q = useQuasar(); const $q = useQuasar();

0
io.sc.platform.lcdp.frontend/src/views/excel-template/luckysheet/exportExcel.ts → io.sc.platform.lcdp.frontend/src/views/excelTemplate/luckysheet/exportExcel.ts

0
io.sc.platform.lcdp.frontend/src/views/excel-template/template.ts → io.sc.platform.lcdp.frontend/src/views/excelTemplate/template.ts

3
io.sc.platform.license.keygen.frontend/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

90
io.sc.platform.license.keygen.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,42 +83,42 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"tailwindcss": "3.4.10", "tailwindcss": "3.4.10",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

3
io.sc.platform.mvc.frontend/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

90
io.sc.platform.mvc.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,42 +83,42 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"tailwindcss": "3.4.10", "tailwindcss": "3.4.10",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

3
io.sc.platform.scheduler.manager.frontend/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

90
io.sc.platform.scheduler.manager.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,42 +83,42 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"tailwindcss": "3.4.10", "tailwindcss": "3.4.10",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

3
io.sc.platform.system.frontend/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

90
io.sc.platform.system.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,40 +83,40 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

341
io.sc.platform.util/src/main/java/io/sc/platform/util/ArrayUtil.java

@ -1,105 +1,137 @@
package io.sc.platform.util; package io.sc.platform.util;
import java.util.Date;
public class ArrayUtil { public class ArrayUtil {
/** /**
* 获取数组是否含有元素 * 获取数组是否含有元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组是否含有元素 * @return 数组是否含有元素
*/ */
public static boolean hasElements(boolean[] arrays){ public static boolean hasElements(boolean[] arrays) {
if(arrays==null){ return false; } if (arrays == null) {
return arrays.length>0; return false;
}
return arrays.length > 0;
} }
/** /**
* 获取数组是否含有元素 * 获取数组是否含有元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组是否含有元素 * @return 数组是否含有元素
*/ */
public static boolean hasElements(byte[] arrays){ public static boolean hasElements(byte[] arrays) {
if(arrays==null){ return false; } if (arrays == null) {
return arrays.length>0; return false;
}
return arrays.length > 0;
} }
/** /**
* 获取数组是否含有元素 * 获取数组是否含有元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组是否含有元素 * @return 数组是否含有元素
*/ */
public static boolean hasElements(char[] arrays){ public static boolean hasElements(char[] arrays) {
if(arrays==null){ return false; } if (arrays == null) {
return arrays.length>0; return false;
}
return arrays.length > 0;
} }
/** /**
* 获取数组是否含有元素 * 获取数组是否含有元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组是否含有元素 * @return 数组是否含有元素
*/ */
public static boolean hasElements(short[] arrays){ public static boolean hasElements(short[] arrays) {
if(arrays==null){ return false; } if (arrays == null) {
return arrays.length>0; return false;
}
return arrays.length > 0;
} }
/** /**
* 获取数组是否含有元素 * 获取数组是否含有元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组是否含有元素 * @return 数组是否含有元素
*/ */
public static boolean hasElements(int[] arrays){ public static boolean hasElements(int[] arrays) {
if(arrays==null){ return false; } if (arrays == null) {
return arrays.length>0; return false;
}
return arrays.length > 0;
} }
/** /**
* 获取数组是否含有元素 * 获取数组是否含有元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组是否含有元素 * @return 数组是否含有元素
*/ */
public static boolean hasElements(long[] arrays){ public static boolean hasElements(long[] arrays) {
if(arrays==null){ return false; } if (arrays == null) {
return arrays.length>0; return false;
}
return arrays.length > 0;
} }
/** /**
* 获取数组是否含有元素 * 获取数组是否含有元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组是否含有元素 * @return 数组是否含有元素
*/ */
public static boolean hasElements(float[] arrays){ public static boolean hasElements(float[] arrays) {
if(arrays==null){ return false; } if (arrays == null) {
return arrays.length>0; return false;
}
return arrays.length > 0;
} }
/** /**
* 获取数组是否含有元素 * 获取数组是否含有元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组是否含有元素 * @return 数组是否含有元素
*/ */
public static boolean hasElements(double[] arrays){ public static boolean hasElements(double[] arrays) {
if(arrays==null){ return false; } if (arrays == null) {
return arrays.length>0; return false;
}
return arrays.length > 0;
} }
/** /**
* 获取数组是否含有元素 * 获取数组是否含有元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组是否含有元素 * @return 数组是否含有元素
*/ */
public static boolean hasElements(Object[] arrays){ public static boolean hasElements(Object[] arrays) {
if(arrays==null){ return false; } if (arrays == null) {
return arrays.length>0; return false;
}
return arrays.length > 0;
} }
/** /**
* 获取数组中最大的元素 * 获取数组中最大的元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组中最大的元素 * @return 数组中最大的元素
*/ */
public static boolean max(boolean[] arrays){ public static boolean max(boolean[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
for(boolean v : arrays){ throw new RuntimeException("parameter must NOT null");
if(v){ }
for (boolean v : arrays) {
if (v) {
return true; return true;
} }
} }
@ -108,15 +140,18 @@ public class ArrayUtil {
/** /**
* 获取数组中最大的元素 * 获取数组中最大的元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组中最大的元素 * @return 数组中最大的元素
*/ */
public static byte max(byte[] arrays){ public static byte max(byte[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
byte r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]>r){ byte r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] > r) {
r = arrays[i];
} }
} }
return r; return r;
@ -124,15 +159,18 @@ public class ArrayUtil {
/** /**
* 获取数组中最大的元素 * 获取数组中最大的元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组中最大的元素 * @return 数组中最大的元素
*/ */
public static char max(char[] arrays){ public static char max(char[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
char r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]>r){ char r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] > r) {
r = arrays[i];
} }
} }
return r; return r;
@ -140,15 +178,18 @@ public class ArrayUtil {
/** /**
* 获取数组中最大的元素 * 获取数组中最大的元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组中最大的元素 * @return 数组中最大的元素
*/ */
public static short max(short[] arrays){ public static short max(short[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
short r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]>r){ short r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] > r) {
r = arrays[i];
} }
} }
return r; return r;
@ -156,15 +197,18 @@ public class ArrayUtil {
/** /**
* 获取数组中最大的元素 * 获取数组中最大的元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组中最大的元素 * @return 数组中最大的元素
*/ */
public static int max(int[] arrays){ public static int max(int[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
int r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]>r){ int r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] > r) {
r = arrays[i];
} }
} }
return r; return r;
@ -172,15 +216,18 @@ public class ArrayUtil {
/** /**
* 获取数组中最大的元素 * 获取数组中最大的元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组中最大的元素 * @return 数组中最大的元素
*/ */
public static long max(long[] arrays){ public static long max(long[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
long r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]>r){ long r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] > r) {
r = arrays[i];
} }
} }
return r; return r;
@ -188,15 +235,18 @@ public class ArrayUtil {
/** /**
* 获取数组中最大的元素 * 获取数组中最大的元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组中最大的元素 * @return 数组中最大的元素
*/ */
public static float max(float[] arrays){ public static float max(float[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
float r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]>r){ float r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] > r) {
r = arrays[i];
} }
} }
return r; return r;
@ -204,15 +254,18 @@ public class ArrayUtil {
/** /**
* 获取数组中最大的元素 * 获取数组中最大的元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组中最大的元素 * @return 数组中最大的元素
*/ */
public static double max(double[] arrays){ public static double max(double[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
double r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]>r){ double r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] > r) {
r = arrays[i];
} }
} }
return r; return r;
@ -220,118 +273,134 @@ public class ArrayUtil {
/** /**
* 获取数组中最大的元素 * 获取数组中最大的元素
*
* @param arrays 数组对象 * @param arrays 数组对象
* @return 数组中最大的元素 * @return 数组中最大的元素
*/ */
public static Comparable max(Comparable[] arrays){ public static Comparable max(Comparable[] arrays) {
if(arrays==null){ return null; } if (arrays == null) {
Comparable r =arrays[0]; return null;
for(int i=1;i<arrays.length;i++){ }
if(arrays[i].compareTo(r)>0){ Comparable r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i].compareTo(r) > 0) {
r = arrays[i];
} }
} }
return r; return r;
} }
public static boolean min(boolean[] arrays) {
if (arrays == null) {
throw new RuntimeException("parameter must NOT null");
}
for (boolean v : arrays) {
public static boolean min(boolean[] arrays){ if (!v) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); }
for(boolean v : arrays){
if(!v){
return false; return false;
} }
} }
return true; return true;
} }
public static byte min(byte[] arrays){ public static byte min(byte[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
byte r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]<r){ byte r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] < r) {
r = arrays[i];
} }
} }
return r; return r;
} }
public static char min(char[] arrays){ public static char min(char[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
char r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]<r){ char r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] < r) {
r = arrays[i];
} }
} }
return r; return r;
} }
public static short min(short[] arrays){ public static short min(short[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
short r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]<r){ short r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] < r) {
r = arrays[i];
} }
} }
return r; return r;
} }
public static int min(int[] arrays){ public static int min(int[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
int r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]<r){ int r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] < r) {
r = arrays[i];
} }
} }
return r; return r;
} }
public static long min(long[] arrays){ public static long min(long[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
long r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]<r){ long r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] < r) {
r = arrays[i];
} }
} }
return r; return r;
} }
public static float min(float[] arrays){ public static float min(float[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
float r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]<r){ float r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] < r) {
r = arrays[i];
} }
} }
return r; return r;
} }
public static double min(double[] arrays){ public static double min(double[] arrays) {
if(arrays==null){ throw new RuntimeException("parameter must NOT null"); } if (arrays == null) {
double r =arrays[0]; throw new RuntimeException("parameter must NOT null");
for(int i=1;i<arrays.length;i++){ }
if(arrays[i]<r){ double r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i] < r) {
r = arrays[i];
} }
} }
return r; return r;
} }
public static Comparable min(Comparable[] arrays){ public static Comparable min(Comparable[] arrays) {
if(arrays==null){ return null; } if (arrays == null || arrays.length == 0) {
Comparable r =arrays[0]; return null;
for(int i=1;i<arrays.length;i++){ }
if(arrays[i].compareTo(r)<0){ Comparable r = arrays[0];
r =arrays[i]; for (int i = 1; i < arrays.length; i++) {
if (arrays[i].compareTo(r) < 0) {
r = arrays[i];
} }
} }
return r; return r;

3
io.sc.platform.util/src/main/java/io/sc/platform/util/ByteUtil.java

@ -2,6 +2,9 @@ package io.sc.platform.util;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
/**
* 字节工具类
*/
public class ByteUtil { public class ByteUtil {
private ByteUtil(){} private ByteUtil(){}
/** /**

3
io.sc.standard.frontend/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

90
io.sc.standard.frontend/package.json

@ -28,17 +28,17 @@
"@babel/plugin-transform-object-rest-spread": "7.25.9", "@babel/plugin-transform-object-rest-spread": "7.25.9",
"@babel/preset-env": "7.26.0", "@babel/preset-env": "7.26.0",
"@babel/preset-typescript": "7.26.0", "@babel/preset-typescript": "7.26.0",
"@quasar/app-webpack": "4.0.0-rc.4", "@quasar/app-webpack": "4.0.7",
"@quasar/cli": "2.4.1", "@quasar/cli": "2.4.1",
"@types/mockjs": "1.0.10", "@types/mockjs": "1.0.10",
"@types/node": "22.10.0", "@types/node": "22.10.7",
"@typescript-eslint/eslint-plugin": "8.16.0", "@typescript-eslint/eslint-plugin": "8.20.0",
"@typescript-eslint/parser": "8.16.0", "@typescript-eslint/parser": "8.20.0",
"@vue/babel-plugin-jsx": "1.2.5", "@vue/babel-plugin-jsx": "1.2.5",
"@vue/compiler-sfc": "3.5.13", "@vue/compiler-sfc": "3.5.13",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
"@vuepress/theme-default": "2.0.0-rc.49", "@vuepress/theme-default": "2.0.0-rc.49",
"@webpack-cli/serve": "2.0.5", "@webpack-cli/serve": "3.0.1",
"autoprefixer": "10.4.20", "autoprefixer": "10.4.20",
"babel-loader": "9.2.1", "babel-loader": "9.2.1",
"clean-webpack-plugin": "4.0.0", "clean-webpack-plugin": "4.0.0",
@ -46,35 +46,35 @@
"copy-webpack-plugin": "12.0.2", "copy-webpack-plugin": "12.0.2",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"css-loader": "7.1.2", "css-loader": "7.1.2",
"eslint": "9.15.0", "eslint": "9.18.0",
"eslint-config-prettier": "9.1.0", "eslint-config-prettier": "10.0.1",
"eslint-plugin-prettier": "5.2.1", "eslint-plugin-prettier": "5.2.2",
"eslint-plugin-vue": "9.31.0", "eslint-plugin-vue": "9.32.0",
"eslint-webpack-plugin": "4.2.0", "eslint-webpack-plugin": "4.2.0",
"html-webpack-plugin": "5.6.3", "html-webpack-plugin": "5.6.3",
"json5": "2.2.3", "json5": "2.2.3",
"mini-css-extract-plugin": "2.9.2", "mini-css-extract-plugin": "2.9.2",
"nodemon": "3.1.7", "nodemon": "3.1.9",
"postcss": "8.4.49", "postcss": "8.5.1",
"postcss-import": "16.1.0", "postcss-import": "16.1.0",
"postcss-loader": "8.1.1", "postcss-loader": "8.1.1",
"postcss-preset-env": "10.1.1", "postcss-preset-env": "10.1.3",
"prettier": "3.4.1", "prettier": "3.4.2",
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"tailwindcss": "3.4.15", "tailwindcss": "3.4.17",
"typescript": "5.5.4", "typescript": "5.5.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"vuepress": "2.0.0-rc.15", "vuepress": "2.0.0-rc.15",
"webpack": "5.96.1", "webpack": "5.97.1",
"webpack-bundle-analyzer": "4.10.2", "webpack-bundle-analyzer": "4.10.2",
"webpack-cli": "5.1.4", "webpack-cli": "6.0.1",
"webpack-dev-server": "5.1.0", "webpack-dev-server": "5.2.0",
"webpack-merge": "6.0.1" "webpack-merge": "6.0.1"
}, },
"dependencies": { "dependencies": {
"@codemirror/autocomplete": "6.18.4", "@codemirror/autocomplete": "6.18.4",
"@codemirror/commands": "6.7.1", "@codemirror/commands": "6.8.0",
"@codemirror/lang-html": "6.4.9", "@codemirror/lang-html": "6.4.9",
"@codemirror/lang-java": "6.0.1", "@codemirror/lang-java": "6.0.1",
"@codemirror/lang-javascript": "6.2.2", "@codemirror/lang-javascript": "6.2.2",
@ -83,42 +83,42 @@
"@codemirror/lang-xml": "6.1.0", "@codemirror/lang-xml": "6.1.0",
"@codemirror/language": "6.10.8", "@codemirror/language": "6.10.8",
"@codemirror/search": "6.5.8", "@codemirror/search": "6.5.8",
"@codemirror/state": "6.5.0", "@codemirror/state": "6.5.1",
"@codemirror/view": "6.36.1", "@codemirror/view": "6.36.2",
"@maxgraph/core": "0.13.1", "@maxgraph/core": "0.14.0",
"@quasar/extras": "1.16.13", "@quasar/extras": "1.16.15",
"@univerjs/core": "0.5.0", "@univerjs/core": "0.5.4",
"@univerjs/design": "0.5.0", "@univerjs/design": "0.5.4",
"@univerjs/docs": "0.5.0", "@univerjs/docs": "0.5.4",
"@univerjs/docs-ui": "0.5.0", "@univerjs/docs-ui": "0.5.4",
"@univerjs/engine-formula": "0.5.0", "@univerjs/engine-formula": "0.5.4",
"@univerjs/engine-render": "0.5.0", "@univerjs/engine-render": "0.5.4",
"@univerjs/facade": "0.5.0", "@univerjs/facade": "0.5.4",
"@univerjs/sheets": "0.5.0", "@univerjs/sheets": "0.5.4",
"@univerjs/sheets-formula": "0.5.0", "@univerjs/sheets-formula": "0.5.4",
"@univerjs/sheets-ui": "0.5.0", "@univerjs/sheets-ui": "0.5.4",
"@univerjs/thread-comment": "0.5.0", "@univerjs/thread-comment": "0.5.4",
"@univerjs/ui": "0.5.0", "@univerjs/ui": "0.5.4",
"@vueuse/core": "11.3.0", "@vueuse/core": "12.4.0",
"axios": "1.7.8", "axios": "1.7.9",
"codemirror": "6.0.1", "codemirror": "6.0.1",
"dayjs": "1.11.13", "dayjs": "1.11.13",
"echarts": "5.5.1", "echarts": "5.6.0",
"exceljs": "4.4.0", "exceljs": "4.4.0",
"file-saver": "2.0.5", "file-saver": "2.0.5",
"luckyexcel": "1.0.1", "luckyexcel": "1.0.1",
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.6",
"pinia": "2.2.6", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.33", "platform-core": "8.2.34",
"quasar": "2.17.4", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.7",
"tailwindcss": "3.4.10", "tailwindcss": "3.4.10",
"vue": "3.5.13", "vue": "3.5.13",
"vue-dompurify-html": "5.2.0", "vue-dompurify-html": "5.2.0",
"vue-i18n": "10.0.4", "vue-i18n": "11.0.1",
"vue-router": "4.5.0", "vue-router": "4.5.0",
"xml-formatter": "3.6.3" "xml-formatter": "3.6.3"
} }

3
io.sc.website/.npmrc

@ -1,5 +1,6 @@
# npm 仓库地址, 在 npm install 时使用 # npm 仓库地址, 在 npm install 时使用
registry=http://nexus.sc.io:8000/repository/npm-public/ registry=http://nexus.sc.io:8000/repository/npm-public/
#registry=https://registry.npm.taobao.org/
# 用户邮箱 # 用户邮箱
email= email=
@ -10,4 +11,4 @@ git-checks=false
# 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置 # 登录 npm 仓库的用户认证信息, 在 npm publish 时使用, publish 的 npm registry 在 package.json 文件中 publishConfig 部分配置
# _authToken 可通过以下命令获取 # _authToken 可通过以下命令获取
# curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin # curl -X PUT -H "Content-Type:application/json" -d '{"_id":"org.couchdb.user:admin","name":"admin","password":"admin"}' http://nexus.sc.io:8000/repository/npm-releases/-/user/org.couchdb.user:admin
//nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090 //nexus.sc.io:8000/repository/npm-releases/:_authToken=NpmToken.67c99588-56a6-3ce1-9bea-a9a6164f8090

6
io.sc.website/package.json

@ -18,8 +18,8 @@
"pnpm": ">=7" "pnpm": ">=7"
}, },
"devDependencies": { "devDependencies": {
"sass": "1.81.0", "sass": "1.83.4",
"sass-loader": "16.0.3", "sass-loader": "16.0.4",
"vue-loader": "17.4.2", "vue-loader": "17.4.2",
"platform-core": "8.1.385", "platform-core": "8.1.385",
"@vuepress/bundler-webpack": "2.0.0-rc.15", "@vuepress/bundler-webpack": "2.0.0-rc.15",
@ -28,6 +28,6 @@
}, },
"dependencies": { "dependencies": {
"vue": "3.5.13", "vue": "3.5.13",
"platform-core": "8.2.33" "platform-core": "8.2.34"
} }
} }
Loading…
Cancel
Save