diff --git a/io.sc.engine.mv.frontend/nodemon.json b/io.sc.engine.mv.frontend/nodemon.json new file mode 100644 index 00000000..99590b18 --- /dev/null +++ b/io.sc.engine.mv.frontend/nodemon.json @@ -0,0 +1,6 @@ +{ + "watch": [ + "./src/routes/routes.json" + ], + "exec": "pnpm serve" +} \ No newline at end of file diff --git a/io.sc.engine.mv.frontend/package.json b/io.sc.engine.mv.frontend/package.json new file mode 100644 index 00000000..3c37a240 --- /dev/null +++ b/io.sc.engine.mv.frontend/package.json @@ -0,0 +1,103 @@ +{ + "name": "io.sc.engine.mv.frontend", + "version": "8.1.22", + "description": "", + "private": false, + "keywords": [], + "author": "", + "license": "ISC", + "scripts": { + "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", + "clean": "rm -rf ./node_modules && rm -rf pnpm-lock.yaml" + }, + "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": { + "@quasar/extras": "1.16.9", + "@vueuse/core": "10.7.1", + "axios": "1.6.3", + "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.111", + "quasar": "2.14.2", + "tailwindcss": "3.4.0", + "vue": "3.4.3", + "vue-dompurify-html": "5.0.1", + "vue-i18n": "9.8.0", + "vue-router": "4.2.5", + "@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", + "codemirror": "6.0.1", + "vue-codemirror6": "1.2.0" + } +} \ No newline at end of file diff --git a/io.sc.engine.mv.frontend/public/webjars/luckysheet/2.1.13/assets/iconfont/Pacifico-Regular.ttf b/io.sc.engine.mv.frontend/public/webjars/luckysheet/2.1.13/assets/iconfont/Pacifico-Regular.ttf new file mode 100644 index 00000000..f85aee04 Binary files /dev/null and b/io.sc.engine.mv.frontend/public/webjars/luckysheet/2.1.13/assets/iconfont/Pacifico-Regular.ttf differ diff --git a/io.sc.engine.mv.frontend/src/i18n/messages.json b/io.sc.engine.mv.frontend/src/i18n/messages.json new file mode 100644 index 00000000..144cc411 --- /dev/null +++ b/io.sc.engine.mv.frontend/src/i18n/messages.json @@ -0,0 +1,88 @@ +{ + "menu.engine.mv" : "Model Validator", + "menu.engine.mv.config" : "Configuration", + "menu.engine.mv.config.cutOffPoint" : "Score Cut Off Point", + "menu.engine.mv.config.threshold" : "Threshold", + "menu.engine.mv.config.binomial" : "Z of Normal Distribution", + "menu.engine.mv.config.chiSquare" : "Const of Chi-square", + "menu.engine.mv.config.model" : "Model", + "menu.engine.mv.config.distribution" : "Distribution of Modeling", + "menu.engine.mv.config.scale" : "Scale", + "menu.engine.mv.config.dataExtractor" : "Data Extractor", + "menu.engine.mv.config.executor" : "Executor", + "menu.engine.mv.sample" : "Sample Manager", + "menu.engine.mv.result" : "Validator Result Viewer", + + "io.sc.engine.mv.config.cutOffPoint.grid.title" : "Score Cut Off Point List", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.name" : "Name", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.from" : "From(contain)", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.to" : "To(contain)", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.step" : "Step", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.scale" : "Scale", + + "io.sc.engine.mv.config.threshold.grid.title" : "Threshold Configuration List", + "io.sc.engine.mv.config.threshold.grid.entity.name" : "Name", + "io.sc.engine.mv.config.threshold.grid.entity.level" : "Level(bigger is better)", + "io.sc.engine.mv.config.threshold.grid.entity.color" : "Color", + "io.sc.engine.mv.config.threshold.grid.entity.range" : "Range", + "io.sc.engine.mv.config.threshold.grid.entity.quantitativeRange" : "Range of Quantitative", + "io.sc.engine.mv.config.threshold.grid.entity.qualitativeRange" : "Range of Qualitative", + + "io.sc.engine.mv.config.binomial.grid.title" : "Z Const of Normal Distribution List", + "io.sc.engine.mv.config.binomial.grid.entity.significanceLevel" : "Significance Level", + "io.sc.engine.mv.config.binomial.grid.entity.confidenceLevel" : "Confidence Level", + "io.sc.engine.mv.config.binomial.grid.entity.zUpper" : "Z Upper", + "io.sc.engine.mv.config.binomial.grid.entity.zLower" : "Z Lower", + + "io.sc.engine.mv.config.chiSquare.grid.title" : "Const of Chi-square List", + "io.sc.engine.mv.config.chiSquare.grid.entity.dof" : "DOF", + "io.sc.engine.mv.config.chiSquare.grid.entity.significanceLevel" : "Significance Level", + "io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue" : "Critical Value", + + "io.sc.engine.mv.config.model.grid.title" : "Model List", + "io.sc.engine.mv.config.model.grid.toolbar.importFromScoreRecordTable" : "Import From Score Record", + "io.sc.engine.mv.config.model.grid.entity.type" : "Model Create Type", + "io.sc.engine.mv.config.model.grid.entity.modelId" : "Model ID", + "io.sc.engine.mv.config.model.grid.entity.modelName" : "Model Name", + + "io.sc.engine.mv.config.distribution.grid.title" : "Distribution of Modeling List", + "io.sc.engine.mv.config.distribution.grid.entity.modelId" : "Model ID", + "io.sc.engine.mv.config.distribution.grid.entity.modelName" : "Model Name", + "io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart" : "Start of Score Segment(include)", + "io.sc.engine.mv.config.distribution.grid.entity.scoreSegEnd" : "End of Score Segment(include)", + "io.sc.engine.mv.config.distribution.grid.entity.count" : "Sample Count", + + + "io.sc.engine.mv.config.scale.grid.title" : "Main Scale List", + "io.sc.engine.mv.config.scale.grid.entity.modelId" : "Model ID", + "io.sc.engine.mv.config.scale.grid.entity.modelName" : "Model Name", + "io.sc.engine.mv.config.scale.grid.entity.level" : "Level", + "io.sc.engine.mv.config.scale.grid.entity.pd" : "PD", + "io.sc.engine.mv.config.scale.grid.entity.order" : "Order", + + "io.sc.engine.mv.config.executor.grid.title" : "Executor List", + + "io.sc.engine.mv.result.grid.title" : "Validate Result List", + "io.sc.engine.mv.result.grid.entity.validateDate" : "Validate Date", + "io.sc.engine.mv.result.grid.entity.runtimeParameters" : "Runtime Parameters", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateFrom" : "Rate Start Date From", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateTo" : "Rate Start Date To", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.performPeriod" : "Perform Period", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.binomialSignificanceLevel" : "Binomial Significance Level", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.chiSquareSignificanceLevel" : "Chi-square Significance Level", + "io.sc.engine.mv.result.grid.entity.modelId" : "Model ID", + "io.sc.engine.mv.result.grid.entity.modelName" : "Model Name", + "io.sc.engine.mv.result.grid.entity.executeMode" : "Execute Mode", + "io.sc.engine.mv.result.grid.entity.totalSampleCount" : "Total Sample Count", + "io.sc.engine.mv.result.grid.entity.defaultSampleCount" : "Default Sample Count", + "io.sc.engine.mv.result.grid.entity.discrimination" : "Discrimination", + + "io.sc.engine.mv.result.grid.entity.discrimination.total" : "Total", + "io.sc.engine.mv.result.grid.entity.auc" : "AUC", + "io.sc.engine.mv.result.grid.entity.ar" : "AR", + "io.sc.engine.mv.result.grid.entity.ks" : "KS", + "io.sc.engine.mv.result.grid.entity.svd" : "SVD", + "io.sc.engine.mv.result.grid.entity.psi" : "PSI", + "io.sc.engine.mv.result.grid.entity.chiSquare" : "Chi-Square", + "io.sc.engine.mv.result.grid.entity.binomial" : "Binomial" +} \ No newline at end of file diff --git a/io.sc.engine.mv.frontend/src/i18n/messages_tw_CN.json b/io.sc.engine.mv.frontend/src/i18n/messages_tw_CN.json new file mode 100644 index 00000000..cde1fdcf --- /dev/null +++ b/io.sc.engine.mv.frontend/src/i18n/messages_tw_CN.json @@ -0,0 +1,84 @@ +{ + "menu.engine.mv" : "模型驗證", + "menu.engine.mv.config" : "配置", + "menu.engine.mv.config.cutOffPoint" : "評分截斷點", + "menu.engine.mv.config.threshold" : "預警閾值", + "menu.engine.mv.config.binomial" : "二項檢驗Z值常量", + "menu.engine.mv.config.chiSquare" : "卡方檢驗臨界值常量", + "menu.engine.mv.config.model" : "模型", + "menu.engine.mv.config.distribution" : "建模時客戶評分分佈", + "menu.engine.mv.config.scale" : "標尺", + "menu.engine.mv.config.dataExtractor" : "數據抽取接口", + "menu.engine.mv.config.executor" : "執行器", + "menu.engine.mv.sample" : "樣本管理", + "menu.engine.mv.result" : "驗證結果查看", + + "io.sc.engine.mv.config.cutOffPoint.grid.title" : "評分截斷點配置列表", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.name" : "名称", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.from" : "起始值(含)", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.to" : "结束值(含)", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.step" : "增量值", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.scale" : "精度", + + "io.sc.engine.mv.config.threshold.grid.title" : "預警閾值配置列表", + "io.sc.engine.mv.config.threshold.grid.entity.name" : "名稱", + "io.sc.engine.mv.config.threshold.grid.entity.level" : "等級(越大越好)", + "io.sc.engine.mv.config.threshold.grid.entity.color" : "顏色", + "io.sc.engine.mv.config.threshold.grid.entity.range" : "預警閾值范围", + "io.sc.engine.mv.config.threshold.grid.entity.quantitativeRange" : "預警閾值范围(定量)", + "io.sc.engine.mv.config.threshold.grid.entity.qualitativeRange" : "預警閾值范围(定性)", + + "io.sc.engine.mv.config.binomial.grid.title" : "二項檢驗標準正態分佈顯著水平下的Z值常量列表", + "io.sc.engine.mv.config.binomial.grid.entity.significanceLevel" : "顯著水平", + "io.sc.engine.mv.config.binomial.grid.entity.confidenceLevel" : "置信水平", + "io.sc.engine.mv.config.binomial.grid.entity.zUpper" : "Z值上界", + "io.sc.engine.mv.config.binomial.grid.entity.zLower" : "Z值下界", + + "io.sc.engine.mv.config.chiSquare.grid.title" : "卡方檢驗臨界值常量列表", + "io.sc.engine.mv.config.chiSquare.grid.entity.dof" : "自由度", + "io.sc.engine.mv.config.chiSquare.grid.entity.significanceLevel" : "顯著水平", + "io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue" : "臨界值", + + "io.sc.engine.mv.config.model.grid.title" : "模型列表", + "io.sc.engine.mv.config.model.grid.toolbar.importFromScoreRecordTable" : "從評分記錄表中導入", + "io.sc.engine.mv.config.model.grid.entity.type" : "模型創建類型", + "io.sc.engine.mv.config.model.grid.entity.modelId" : "模型標識", + "io.sc.engine.mv.config.model.grid.entity.modelName" : "模型名稱", + + "io.sc.engine.mv.config.distribution.grid.title" : "咨詢建模時樣本分佈情況配置列表", + "io.sc.engine.mv.config.distribution.grid.entity.modelId" : "模型標示", + "io.sc.engine.mv.config.distribution.grid.entity.modelName" : "模型名稱", + "io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart" : "分數段開始值(含該值)", + "io.sc.engine.mv.config.distribution.grid.entity.scoreSegEnd" : "分數段結束值(含該值)", + "io.sc.engine.mv.config.distribution.grid.entity.count" : "評分段內樣本個數", + + "io.sc.engine.mv.config.scale.grid.title" : "標尺列表", + "io.sc.engine.mv.config.scale.grid.entity.modelId" : "模型標識", + "io.sc.engine.mv.config.scale.grid.entity.modelName" : "模型名稱", + "io.sc.engine.mv.config.scale.grid.entity.level" : "等級", + "io.sc.engine.mv.config.scale.grid.entity.pd" : "違約概率", + "io.sc.engine.mv.config.scale.grid.entity.order" : "排序", + + "io.sc.engine.mv.config.executor.grid.title" : "執行器列表", + + "io.sc.engine.mv.result.grid.title" : "驗證結果列表验证结果列表", + "io.sc.engine.mv.result.grid.entity.validateDate" : "驗證日期", + "io.sc.engine.mv.result.grid.entity.runtimeParameters" : "運行時參數", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateFrom" : "評級開始日期從", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateTo" : "評級開始日期到", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.performPeriod" : "表現期", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.binomialSignificanceLevel" : "二項檢驗顯著水平", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.chiSquareSignificanceLevel" : "卡方檢驗顯著水平", + "io.sc.engine.mv.result.grid.entity.modelId" : "模型標識", + "io.sc.engine.mv.result.grid.entity.modelName" : "模型名稱", + "io.sc.engine.mv.result.grid.entity.executeMode" : "執行模式", + "io.sc.engine.mv.result.grid.entity.totalSampleCount" : "總樣本數", + "io.sc.engine.mv.result.grid.entity.defaultSampleCount" : "違約樣本數", + "io.sc.engine.mv.result.grid.entity.auc" : "AUC", + "io.sc.engine.mv.result.grid.entity.ar" : "AR", + "io.sc.engine.mv.result.grid.entity.ks" : "KS", + "io.sc.engine.mv.result.grid.entity.svd" : "SVD", + "io.sc.engine.mv.result.grid.entity.psi" : "PSI", + "io.sc.engine.mv.result.grid.entity.chiSquare" : "卡方檢驗", + "io.sc.engine.mv.result.grid.entity.binomial" : "二項檢驗" +} \ No newline at end of file diff --git a/io.sc.engine.mv.frontend/src/i18n/messages_zh_CN.json b/io.sc.engine.mv.frontend/src/i18n/messages_zh_CN.json new file mode 100644 index 00000000..de30b4fe --- /dev/null +++ b/io.sc.engine.mv.frontend/src/i18n/messages_zh_CN.json @@ -0,0 +1,96 @@ +{ + "menu.engine.mv" : "模型验证", + "menu.engine.mv.config" : "配置", + "menu.engine.mv.config.cutOffPoint" : "评分截断点", + "menu.engine.mv.config.threshold" : "预警阈值", + "menu.engine.mv.config.binomial" : "二项检验Z值常量", + "menu.engine.mv.config.chiSquare" : "卡方检验临界值常量", + "menu.engine.mv.config.model" : "模型", + "menu.engine.mv.config.distribution" : "建模时评分分布", + "menu.engine.mv.config.scale" : "标尺", + "menu.engine.mv.config.dataExtractor" : "数据抽取器接口", + "menu.engine.mv.config.executor" : "执行器", + "menu.engine.mv.sample" : "样本管理", + "menu.engine.mv.result" : "验证结果查看", + + "io.sc.engine.mv.config.cutOffPoint.grid.title" : "评分截断点配置列表", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.name" : "名称", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.from" : "起始值(含)", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.to" : "结束值(含)", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.step" : "增量值", + "io.sc.engine.mv.config.cutOffPoint.grid.entity.scale" : "精度", + + "io.sc.engine.mv.config.threshold.grid.title" : "预警阈值配置列表", + "io.sc.engine.mv.config.threshold.grid.entity.name" : "名称", + "io.sc.engine.mv.config.threshold.grid.entity.level" : "等级(越大越好)", + "io.sc.engine.mv.config.threshold.grid.entity.color" : "颜色", + "io.sc.engine.mv.config.threshold.grid.entity.range" : "预警阈值范围", + "io.sc.engine.mv.config.threshold.grid.entity.quantitativeRange" : "预警阈值范围(定量)", + "io.sc.engine.mv.config.threshold.grid.entity.qualitativeRange" : "预警阈值范围(定性)", + + "io.sc.engine.mv.config.binomial.grid.title" : "二项检验标准正态分布显著水平下的Z值常量列表", + "io.sc.engine.mv.config.binomial.grid.entity.significanceLevel" : "显著水平", + "io.sc.engine.mv.config.binomial.grid.entity.confidenceLevel" : "置信水平", + "io.sc.engine.mv.config.binomial.grid.entity.zUpper" : "Z值上界", + "io.sc.engine.mv.config.binomial.grid.entity.zLower" : "Z值下界", + + "io.sc.engine.mv.config.chiSquare.grid.title" : "卡方分布临界值常量", + "io.sc.engine.mv.config.chiSquare.grid.entity.dof" : "自由度", + "io.sc.engine.mv.config.chiSquare.grid.entity.significanceLevel" : "显著水平", + "io.sc.engine.mv.config.chiSquare.grid.entity.criticalValue" : "临界值", + + "io.sc.engine.mv.config.model.grid.title" : "模型列表", + "io.sc.engine.mv.config.model.grid.toolbar.importFromScoreRecordTable" : "从评分记录表中导入", + "io.sc.engine.mv.config.model.grid.entity.type" : "模型创建类型", + "io.sc.engine.mv.config.model.grid.entity.modelId" : "模型标识", + "io.sc.engine.mv.config.model.grid.entity.modelName" : "模型名称", + + "io.sc.engine.mv.config.distribution.grid.title" : "咨询建模时样本分布情况配置列表", + "io.sc.engine.mv.config.distribution.grid.entity.modelId" : "模型标识", + "io.sc.engine.mv.config.distribution.grid.entity.modelName" : "模型名称", + "io.sc.engine.mv.config.distribution.grid.entity.scoreSegStart" : "分数段开始值(含该值)", + "io.sc.engine.mv.config.distribution.grid.entity.scoreSegEnd" : "分数段结束值(含该值)", + "io.sc.engine.mv.config.distribution.grid.entity.count" : "评分段内样本个数", + + "io.sc.engine.mv.config.scale.grid.title" : "标尺列表", + "io.sc.engine.mv.config.scale.grid.entity.modelId" : "模型标识", + "io.sc.engine.mv.config.scale.grid.entity.modelName" : "模型名称", + "io.sc.engine.mv.config.scale.grid.entity.level" : "等级", + "io.sc.engine.mv.config.scale.grid.entity.pd" : "违约概率", + "io.sc.engine.mv.config.scale.grid.entity.order" : "排序", + + "io.sc.engine.mv.config.dataExtractor.grid.title" : "数据抽取器列表", + "io.sc.engine.mv.config.dataExtractor.grid.entity.name" : "名称", + "io.sc.engine.mv.config.dataExtractor.grid.entity.enable" : "是否可用", + "io.sc.engine.mv.config.dataExtractor.grid.entity.datasourceName" : "外部数据源名称", + "io.sc.engine.mv.config.dataExtractor.grid.entity.order" : "执行顺序", + "io.sc.engine.mv.config.dataExtractor.grid.entity.executeTimeWeight" : "预计执行时间权重", + "io.sc.engine.mv.config.dataExtractor.grid.entity.groovyScript" : "Groovy 脚本", + + "io.sc.engine.mv.config.executor.grid.title" : "执行器列表", + + "io.sc.engine.mv.result.grid.title" : "验证结果列表", + "io.sc.engine.mv.result.grid.entity.validateDate" : "验证日期", + "io.sc.engine.mv.result.grid.entity.runtimeParameters" : "运行时参数", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateFrom" : "评级开始日期从", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.rateStartDateTo" : "评级开始日期到", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.performPeriod" : "表现期", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.binomialSignificanceLevel" : "二项检验显著水平", + "io.sc.engine.mv.result.grid.entity.runtimeParameters.chiSquareSignificanceLevel" : "卡方检验显著水平", + "io.sc.engine.mv.result.grid.entity.modelId" : "模型标识", + "io.sc.engine.mv.result.grid.entity.modelName" : "模型名称", + "io.sc.engine.mv.result.grid.entity.executeMode" : "执行模式", + "io.sc.engine.mv.result.grid.entity.totalSampleCount" : "总样本数", + "io.sc.engine.mv.result.grid.entity.defaultSampleCount" : "违约样本数", + "io.sc.engine.mv.result.grid.entity.discrimination" : "区分能力", + "io.sc.engine.mv.result.grid.entity.total" : "总体", + "io.sc.engine.mv.result.grid.entity.auc" : "AUC", + "io.sc.engine.mv.result.grid.entity.ar" : "AR", + "io.sc.engine.mv.result.grid.entity.ks" : "KS", + "io.sc.engine.mv.result.grid.entity.stability" : "稳定性", + "io.sc.engine.mv.result.grid.entity.svd" : "SVD", + "io.sc.engine.mv.result.grid.entity.psi" : "PSI", + "io.sc.engine.mv.result.grid.entity.scaleValidate" : "标尺检验", + "io.sc.engine.mv.result.grid.entity.chiSquare" : "卡方检验", + "io.sc.engine.mv.result.grid.entity.binomial" : "二项检验" +} \ No newline at end of file diff --git a/io.sc.engine.mv.frontend/src/views/config/model.vue b/io.sc.engine.mv.frontend/src/views/config/model.vue new file mode 100644 index 00000000..0bcd7f26 --- /dev/null +++ b/io.sc.engine.mv.frontend/src/views/config/model.vue @@ -0,0 +1,69 @@ + + diff --git a/io.sc.engine.mv/src/main/resources/META-INF/platform/plugins/messages.json b/io.sc.engine.mv/src/main/resources/META-INF/platform/plugins/messages.json new file mode 100644 index 00000000..4fa7ae0e --- /dev/null +++ b/io.sc.engine.mv/src/main/resources/META-INF/platform/plugins/messages.json @@ -0,0 +1,17 @@ +/* + * 国际化消息源插件配置 + * 功能: 该插件配置为框架提供国际化消息资源 + * 使用说明: + * includes: 包含国际化消息资源列表 + * excludes: 排除国际化消息资源列表 + * 注意: 当一个包名同时存在于 includes 和 excludes 中, excludes 优先, 即该包不会被自动扫描 + */ + + +{ + "includes":[ + "io/sc/engine/mv/i18n/messages", + "io/sc/engine/mv/i18n/enums" + ], + "excludes":[] +} diff --git a/io.sc.engine.mv/src/main/resources/META-INF/platform/plugins/p6spy.json b/io.sc.engine.mv/src/main/resources/META-INF/platform/plugins/p6spy.json new file mode 100644 index 00000000..f8b9dfd7 --- /dev/null +++ b/io.sc.engine.mv/src/main/resources/META-INF/platform/plugins/p6spy.json @@ -0,0 +1,15 @@ +/* + * p6spy 插件配置 + * 功能: 该插件配置为框架提供 p6spy 配置 + * 使用说明: + * ignoredPatterns: 忽略显示 jdbc 输出信息正则表达式列表 + */ + +/* 以下示例将不显示 p6spy 输出的 commit */ +/* +{ + "ignoredPatterns":[ + "commit" + ] +} +*/ diff --git a/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/messages.properties b/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/messages.properties new file mode 100644 index 00000000..064a6ec0 --- /dev/null +++ b/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/messages.properties @@ -0,0 +1,51 @@ +# executor +io.sc.engine.mv.executor.DatabaseInitExecutor.name=Database Initializer +io.sc.engine.mv.executor.DatabaseInitExecutor.description=initialize the database + +io.sc.engine.mv.executor.ResultExecutor.name=Result Handler +io.sc.engine.mv.executor.ResultExecutor.description=save the result and runtime parameters + +io.sc.engine.mv.executor.ResultInitExecutor.name=Result Initializer +io.sc.engine.mv.executor.ResultInitExecutor.description=clear previous result + +io.sc.engine.mv.executor.SampleCountExecutor.name=Good Sample Counter +io.sc.engine.mv.executor.SampleCountExecutor.description=count the score records and default records + +io.sc.engine.mv.executor.SampleExecutor.name=Good Sample Handler +io.sc.engine.mv.executor.SampleExecutor.description=generate good sample + +io.sc.engine.mv.executor.ScCapExecutor.name=Discrimination, CAP +io.sc.engine.mv.executor.ScCapExecutor.description=generate CAP curve and calculate AR + +io.sc.engine.mv.executor.ScCapQualitativeExecutor.name=Discrimination, CAP(qualitative) +io.sc.engine.mv.executor.ScCapQualitativeExecutor.description=generate CAP curve for qualitative and calculate AR for qualitative + +io.sc.engine.mv.executor.ScCapQuantitativeExecutor.name=Discrimination, CAP(quantitative) +io.sc.engine.mv.executor.ScCapQuantitativeExecutor.description=generate CAP curve for quantitative and calculate AR for quantitative + +io.sc.engine.mv.executor.ScKsExecutor.name=Discrimination, KS +io.sc.engine.mv.executor.ScKsExecutor.description=generate KS curve and calculate KS + +io.sc.engine.mv.executor.ScKsQualitativeExecutor.name=Discrimination, KS(qualitative) +io.sc.engine.mv.executor.ScKsQualitativeExecutor.description=generate KS curve for qualitative and calculate KS for qualitative + +io.sc.engine.mv.executor.ScKsQuantitativeExecutor.name=Discrimination, KS(quantitative) +io.sc.engine.mv.executor.ScKsQuantitativeExecutor.description=generate KS curve for quantitative and calculate KS for quantitative + +io.sc.engine.mv.executor.ScRocExecutor.name=Discrimination, ROC +io.sc.engine.mv.executor.ScRocExecutor.description=generate ROC curve and calculate AUC + +io.sc.engine.mv.executor.ScRocQualitativeExecutor.name=Discrimination, ROC(qualitative) +io.sc.engine.mv.executor.ScRocQualitativeExecutor.description=generate ROC curve for qualitative and calculate AUC for qualitative + +io.sc.engine.mv.executor.ScRocQuantitativeExecutor.name=Discrimination, ROC(quantitative) +io.sc.engine.mv.executor.ScRocQuantitativeExecutor.description=generate ROC curve for quantitative and calculate AUC for quantitative + +io.sc.engine.mv.executor.StPsiExecutor.name=Stability, PSI +io.sc.engine.mv.executor.StPsiExecutor.description=generate ROC chart and calculate PSI + +io.sc.engine.mv.executor.CoeChiSquareExecutor.name=Chi-square +io.sc.engine.mv.executor.CoeChiSquareExecutor.description=chi-square validater + +io.sc.engine.mv.executor.CoeBinomialExecutor.name=Binomial +io.sc.engine.mv.executor.CoeBinomialExecutor.description=binomial validater diff --git a/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/messages_zh_CN.properties b/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/messages_zh_CN.properties new file mode 100644 index 00000000..1c850775 --- /dev/null +++ b/io.sc.engine.mv/src/main/resources/io/sc/engine/mv/i18n/messages_zh_CN.properties @@ -0,0 +1,51 @@ +# executor +io.sc.engine.mv.executor.DatabaseInitExecutor.name=\u6570\u636E\u5E93\u521D\u59CB\u5316\u6267\u884C\u5668 +io.sc.engine.mv.executor.DatabaseInitExecutor.description=\u5728\u6A21\u578B\u9A8C\u8BC1\u6267\u884C\u524D\u5BF9\u6570\u636E\u5E93\u8FDB\u884C\u5FC5\u8981\u7684\u521D\u59CB\u5316\u64CD\u4F5C + +io.sc.engine.mv.executor.ResultExecutor.name=\u6A21\u578B\u9A8C\u8BC1\u7ED3\u679C\u6267\u884C\u5668 +io.sc.engine.mv.executor.ResultExecutor.description=\u5C06\u6A21\u578B\u9A8C\u8BC1\u7ED3\u679C\u5B58\u5165\u9A8C\u8BC1\u7ED3\u679C\u5386\u53F2\u8868\u4E2D,\u5E76\u5C06\u6267\u884C\u73AF\u5883\u548C\u53C2\u6570\u4FDD\u5B58 + +io.sc.engine.mv.executor.ResultInitExecutor.name=\u6A21\u578B\u9A8C\u8BC1\u7ED3\u679C\u521D\u59CB\u5316\u6267\u884C\u5668 +io.sc.engine.mv.executor.ResultInitExecutor.description=\u6E05\u7A7A\u4E0A\u4E00\u6B21\u8FD0\u884C\u7684\u6A21\u578B\u9A8C\u8BC1\u7ED3\u679C,\u4E3A\u672C\u6B21\u6A21\u578B\u9A8C\u8BC1\u7ED3\u679C\u51C6\u5907\u521D\u59CB\u5316\u73AF\u5883 + +io.sc.engine.mv.executor.SampleCountExecutor.name=\u5408\u683C\u6837\u672C\u6570\u91CF\u7EDF\u8BA1\u6267\u884C\u5668 +io.sc.engine.mv.executor.SampleCountExecutor.description=\u7EDF\u8BA1\u5408\u683C\u6837\u672C\u7684\u603B\u4E2A\u6570\u548C\u4E8B\u5B9E\u8FDD\u7EA6\u4E2A\u6570 + +io.sc.engine.mv.executor.SampleExecutor.name=\u5408\u683C\u6837\u672C\u5904\u7406\u6267\u884C\u5668 +io.sc.engine.mv.executor.SampleExecutor.description=\u751F\u6210\u5408\u683C\u6837\u672C\u96C6 + +io.sc.engine.mv.executor.ScCapExecutor.name=\u6A21\u578B\u533A\u5206\u80FD\u529B\u9A8C\u8BC1,CAP \u66F2\u7EBF\u6267\u884C\u5668(\u603B\u4F53) +io.sc.engine.mv.executor.ScCapExecutor.description=\u9A8C\u8BC1\u6A21\u578B\u533A\u5206\u80FD\u529B,\u751F\u6210 CAP \u66F2\u7EBF(\u603B\u4F53),\u540C\u65F6\u8BA1\u7B97 AR \u503C(\u603B\u4F53) + +io.sc.engine.mv.executor.ScCapQualitativeExecutor.name=\u6A21\u578B\u533A\u5206\u80FD\u529B\u9A8C\u8BC1,CAP \u66F2\u7EBF\u6267\u884C\u5668(\u5B9A\u6027) +io.sc.engine.mv.executor.ScCapQualitativeExecutor.description=\u9A8C\u8BC1\u6A21\u578B\u533A\u5206\u80FD\u529B,\u751F\u6210 CAP \u66F2\u7EBF(\u5B9A\u6027),\u540C\u65F6\u8BA1\u7B97 AR \u503C(\u5B9A\u6027) + +io.sc.engine.mv.executor.ScCapQuantitativeExecutor.name=\u6A21\u578B\u533A\u5206\u80FD\u529B\u9A8C\u8BC1,CAP \u66F2\u7EBF\u6267\u884C\u5668(\u5B9A\u91CF) +io.sc.engine.mv.executor.ScCapQuantitativeExecutor.description=\u9A8C\u8BC1\u6A21\u578B\u533A\u5206\u80FD\u529B,\u751F\u6210 CAP \u66F2\u7EBF(\u5B9A\u91CF),\u540C\u65F6\u8BA1\u7B97 AR \u503C(\u5B9A\u91CF) + +io.sc.engine.mv.executor.ScKsExecutor.name=\u6A21\u578B\u533A\u5206\u80FD\u529B\u9A8C\u8BC1,KS \u66F2\u7EBF\u6267\u884C\u5668(\u603B\u4F53) +io.sc.engine.mv.executor.ScKsExecutor.description=\u9A8C\u8BC1\u6A21\u578B\u533A\u5206\u80FD\u529B,\u751F\u6210 KS \u66F2\u7EBF(\u603B\u4F53),\u540C\u65F6\u8BA1\u7B97 KS \u503C(\u603B\u4F53) + +io.sc.engine.mv.executor.ScKsQualitativeExecutor.name=\u6A21\u578B\u533A\u5206\u80FD\u529B\u9A8C\u8BC1,KS \u66F2\u7EBF\u6267\u884C\u5668(\u5B9A\u6027) +io.sc.engine.mv.executor.ScKsQualitativeExecutor.description=\u9A8C\u8BC1\u6A21\u578B\u533A\u5206\u80FD\u529B,\u751F\u6210 KS \u66F2\u7EBF(\u5B9A\u6027),\u540C\u65F6\u8BA1\u7B97 KS \u503C(\u5B9A\u6027) + +io.sc.engine.mv.executor.ScKsQuantitativeExecutor.name=\u6A21\u578B\u533A\u5206\u80FD\u529B\u9A8C\u8BC1,KS \u66F2\u7EBF\u6267\u884C\u5668(\u5B9A\u91CF) +io.sc.engine.mv.executor.ScKsQuantitativeExecutor.description=\u9A8C\u8BC1\u6A21\u578B\u533A\u5206\u80FD\u529B,\u751F\u6210 KS \u66F2\u7EBF(\u5B9A\u91CF),\u540C\u65F6\u8BA1\u7B97 KS \u503C(\u5B9A\u91CF) + +io.sc.engine.mv.executor.ScRocExecutor.name=\u6A21\u578B\u533A\u5206\u80FD\u529B\u9A8C\u8BC1,ROC \u66F2\u7EBF\u6267\u884C\u5668(\u603B\u4F53) +io.sc.engine.mv.executor.ScRocExecutor.description=\u9A8C\u8BC1\u6A21\u578B\u533A\u5206\u80FD\u529B,\u751F\u6210 ROC \u66F2\u7EBF(\u603B\u4F53),\u540C\u65F6\u8BA1\u7B97 AUC \u503C(\u603B\u4F53) + +io.sc.engine.mv.executor.ScRocQualitativeExecutor.name=\u6A21\u578B\u533A\u5206\u80FD\u529B\u9A8C\u8BC1,ROC \u66F2\u7EBF\u6267\u884C\u5668(\u5B9A\u6027) +io.sc.engine.mv.executor.ScRocQualitativeExecutor.description=\u9A8C\u8BC1\u6A21\u578B\u533A\u5206\u80FD\u529B,\u751F\u6210 ROC \u66F2\u7EBF(\u5B9A\u6027),\u540C\u65F6\u8BA1\u7B97 AUC \u503C(\u5B9A\u6027) + +io.sc.engine.mv.executor.ScRocQuantitativeExecutor.name=\u6A21\u578B\u533A\u5206\u80FD\u529B\u9A8C\u8BC1,ROC \u66F2\u7EBF\u6267\u884C\u5668(\u5B9A\u91CF) +io.sc.engine.mv.executor.ScRocQuantitativeExecutor.description=\u9A8C\u8BC1\u6A21\u578B\u533A\u5206\u80FD\u529B,\u751F\u6210 ROC \u66F2\u7EBF(\u5B9A\u91CF),\u540C\u65F6\u8BA1\u7B97 AUC \u503C(\u5B9A\u91CF) + +io.sc.engine.mv.executor.StPsiExecutor.name=\u6A21\u578B\u7A33\u5B9A\u6027\u9A8C\u8BC1,\u5BA2\u6237\u7FA4\u4F53\u7A33\u5B9A\u6027\u62A5\u544A\u6267\u884C\u5668 +io.sc.engine.mv.executor.StPsiExecutor.description=\u751F\u6210\u5BA2\u6237\u7FA4\u4F53\u7A33\u5B9A\u6027\u62A5\u544A,\u540C\u65F6\u8BA1\u7B97 PSI \u503C + +io.sc.engine.mv.executor.CoeChiSquareExecutor.name=\u6A21\u578B\u4F30\u503C\u51C6\u786E\u6027\u9A8C\u8BC1(\u5361\u65B9\u68C0\u9A8C) +io.sc.engine.mv.executor.CoeChiSquareExecutor.description=\u8BA1\u7B97\u5361\u65B9\u68C0\u9A8C\u503C + +io.sc.engine.mv.executor.CoeBinomialExecutor.name=\u6A21\u578B\u4F30\u503C\u51C6\u786E\u6027\u9A8C\u8BC1(\u4E8C\u9879\u68C0\u9A8C) +io.sc.engine.mv.executor.CoeBinomialExecutor.description=\u4E8C\u9879\u68C0\u9A8C\u503C diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index 6dab7555..293e9ec1 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.110", + "version": "8.1.111", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json index 36769a7b..8cff933a 100644 --- a/io.sc.platform.core.frontend/template-project/package.json +++ b/io.sc.platform.core.frontend/template-project/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.110", + "version": "8.1.111", "description": "前端核心包,用于快速构建前端的脚手架", "private": false, "keywords": [], @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.110", + "platform-core": "8.1.111", "quasar": "2.14.2", "tailwindcss": "3.4.0", "vue": "3.4.3", diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index dadd519d..8855f75a 100644 --- a/io.sc.platform.developer.frontend/package.json +++ b/io.sc.platform.developer.frontend/package.json @@ -78,7 +78,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.100", + "platform-core": "8.1.111", "quasar": "2.14.2", "tailwindcss": "3.4.0", "vue": "3.4.3", diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index ff8e8935..0970d2f9 100644 --- a/io.sc.platform.lcdp.frontend/package.json +++ b/io.sc.platform.lcdp.frontend/package.json @@ -91,7 +91,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.1.7", - "platform-core": "8.1.100", + "platform-core": "8.1.111", "quasar": "2.14.2", "tailwindcss": "3.4.0", "vue": "3.4.3",