Browse Source

基础框架发布: 8.2.30

1) 支持 jxls 导出 excel

前端核心发布: 8.2.117
 1) 修改默认导出功能
 2)工作流支持是否强制选择候选处理人属性,即只有一个候选人也需要用户选择
main
wangshaoping 1 month ago
parent
commit
3f4ca6c811
  1. 2
      cips.frontend/package.json
  2. 8
      cips.frontend/webpack.config.common.cjs
  3. 2
      erm.frontend/package.json
  4. 8
      erm.frontend/webpack.config.common.cjs
  5. 4
      gradle.properties
  6. 2
      io.sc.engine.mv.frontend/package.json
  7. 8
      io.sc.engine.mv.frontend/webpack.config.common.cjs
  8. 2
      io.sc.engine.rule.frontend/package.json
  9. 8
      io.sc.engine.rule.frontend/webpack.config.common.cjs
  10. 2
      io.sc.engine.st.frontend/package.json
  11. 8
      io.sc.engine.st.frontend/webpack.config.common.cjs
  12. 2
      io.sc.platform.ai.frontend/package.json
  13. 8
      io.sc.platform.ai.frontend/webpack.config.common.cjs
  14. 2
      io.sc.platform.core.frontend/package.json
  15. 14
      io.sc.platform.core.frontend/src/platform/components/workflow/WSelectAssigneeDialog.vue
  16. 4
      io.sc.platform.core.frontend/template-project/package.json
  17. 8
      io.sc.platform.core.frontend/template-project/webpack.config.common.cjs
  18. 8
      io.sc.platform.core.frontend/webpack.config.common.cjs
  19. 2
      io.sc.platform.developer.doc/package.json
  20. 2
      io.sc.platform.developer.frontend/package.json
  21. 8
      io.sc.platform.developer.frontend/webpack.config.common.cjs
  22. 9
      io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/api/ProcessVo.java
  23. 14
      io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/ProcessEntity.java
  24. 11
      io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/ProcessEntityService.java
  25. 9
      io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/ProcessEntityServiceImpl.java
  26. 9
      io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/ProcessOperationServiceImpl.java
  27. 7
      io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/support/ProcessTaskWrapper.java
  28. 1
      io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process_Manager_Database_Schema_DDL.xml
  29. 2
      io.sc.platform.lcdp.frontend/package.json
  30. 1
      io.sc.platform.lcdp.frontend/src/i18n/messages.json
  31. 1
      io.sc.platform.lcdp.frontend/src/i18n/messages_tw_CN.json
  32. 1
      io.sc.platform.lcdp.frontend/src/i18n/messages_zh_CN.json
  33. 18
      io.sc.platform.lcdp.frontend/src/views/bpm/Bpm.vue
  34. 8
      io.sc.platform.lcdp.frontend/webpack.config.common.cjs
  35. 2
      io.sc.platform.license.keygen.frontend/package.json
  36. 8
      io.sc.platform.license.keygen.frontend/webpack.config.common.cjs
  37. 2
      io.sc.platform.mvc.frontend/package.json
  38. 8
      io.sc.platform.mvc.frontend/webpack.config.common.cjs
  39. 2
      io.sc.platform.scheduler.manager.frontend/package.json
  40. 8
      io.sc.platform.scheduler.manager.frontend/webpack.config.common.cjs
  41. 2
      io.sc.platform.system.frontend/package.json
  42. 8
      io.sc.platform.system.frontend/webpack.config.common.cjs
  43. 4
      io.sc.platform.system/src/main/java/io/sc/platform/system/user/jpa/entity/UserEntity.java
  44. 2
      io.sc.standard.frontend/package.json
  45. 8
      io.sc.standard.frontend/webpack.config.common.cjs
  46. 2
      io.sc.website/package.json
  47. 2
      wra.report.frontend/package.json
  48. 8
      wra.report.frontend/webpack.config.common.cjs

2
cips.frontend/package.json

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
cips.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

2
erm.frontend/package.json

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
erm.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

4
gradle.properties

@ -37,9 +37,9 @@ application_version=1.0.0
# platform # platform
########################################################### ###########################################################
platform_group=io.sc platform_group=io.sc
platform_version=8.2.28 platform_version=8.2.30
platform_plugin_version=8.2.10 platform_plugin_version=8.2.10
platform_core_frontend_version=8.2.115 platform_core_frontend_version=8.2.117
########################################################### ###########################################################
# dependencies version # dependencies version

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

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.engine.mv.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

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

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.engine.rule.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

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

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.engine.st.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

2
io.sc.platform.ai.frontend/package.json

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.platform.ai.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

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

@ -1,6 +1,6 @@
{ {
"name": "platform-core", "name": "platform-core",
"version": "8.2.115", "version": "8.2.117",
"description": "前端核心包,用于快速构建前端的脚手架", "description": "前端核心包,用于快速构建前端的脚手架",
"//main": "库的主文件", "//main": "库的主文件",
"main": "dist/platform-core.js", "main": "dist/platform-core.js",

14
io.sc.platform.core.frontend/src/platform/components/workflow/WSelectAssigneeDialog.vue

@ -21,7 +21,15 @@
<w-form <w-form
ref="formRef" ref="formRef"
:cols-num="1" :cols-num="1"
:fields="[{ name: 'assignee', label: $t('lcdp.bpm.selectAssignee.entity.assignee'), type: 'w-select', options: assigneeOptionsRef }]" :fields="[
{
name: 'assignee',
label: $t('lcdp.bpm.selectAssignee.entity.assignee'),
type: 'w-select',
options: assigneeOptionsRef,
defaultValue: assigneeDefaultValueRef,
},
]"
> >
</w-form> </w-form>
</w-dialog> </w-dialog>
@ -39,20 +47,20 @@ const emit = defineEmits([
const dialogRef = ref(); const dialogRef = ref();
const formRef = ref(); const formRef = ref();
const assigneeOptionsRef = ref([]); const assigneeOptionsRef = ref([]);
const assigneeDefaultValueRef = ref();
const selectAssigneeWrapperRef = ref(); const selectAssigneeWrapperRef = ref();
const open = (selectAssigneeWrapper) => { const open = (selectAssigneeWrapper) => {
selectAssigneeWrapperRef.value = selectAssigneeWrapper; selectAssigneeWrapperRef.value = selectAssigneeWrapper;
//assigneeOptionsRef.value.splice(0, assigneeOptionsRef.value.length);
const assigneeOptions = []; const assigneeOptions = [];
const assignees = selectAssigneeWrapper?.assignees; const assignees = selectAssigneeWrapper?.assignees;
if (assignees) { if (assignees) {
for (let i = 0; i < assignees.length; i++) { for (let i = 0; i < assignees.length; i++) {
assigneeOptions.push({ value: assignees[i].loginName, label: assignees[i].loginName + '/' + assignees[i].userName }); assigneeOptions.push({ value: assignees[i].loginName, label: assignees[i].loginName + '/' + assignees[i].userName });
//assigneeOptionsRef.value.push({ value: assignees[i].loginName, label: assignees[i].loginName + '/' + assignees[i].userName });
} }
} }
assigneeOptionsRef.value = assigneeOptions; assigneeOptionsRef.value = assigneeOptions;
assigneeDefaultValueRef.value = assigneeOptions.length === 1 ? assigneeOptions[0].value : undefined;
dialogRef.value.show(); dialogRef.value.show();
}; };

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

@ -1,6 +1,6 @@
{ {
"name": "platform-core", "name": "platform-core",
"version": "8.2.115", "version": "8.2.117",
"description": "前端核心包,用于快速构建前端的脚手架", "description": "前端核心包,用于快速构建前端的脚手架",
"private": false, "private": false,
"keywords": [], "keywords": [],
@ -111,7 +111,7 @@
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.platform.core.frontend/template-project/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

8
io.sc.platform.core.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

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

@ -28,7 +28,7 @@
"vuepress": "2.0.0-rc.15" "vuepress": "2.0.0-rc.15"
}, },
"dependencies": { "dependencies": {
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"vue": "3.5.13", "vue": "3.5.13",
"vue-i18n": "11.0.1" "vue-i18n": "11.0.1"

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

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.platform.developer.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

9
io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/api/ProcessVo.java

@ -14,6 +14,7 @@ public class ProcessVo extends CorporationAuditorVo {
private String xml; private String xml;
private ProcessStatus status; private ProcessStatus status;
private Boolean canClaimTask; private Boolean canClaimTask;
private Boolean forceSelectAssignee;
private String businessDescriptionSql; private String businessDescriptionSql;
private String taskHandFrontendRouteName; private String taskHandFrontendRouteName;
private String taskHandFrontendModelName; private String taskHandFrontendModelName;
@ -100,6 +101,14 @@ public class ProcessVo extends CorporationAuditorVo {
this.canClaimTask = canClaimTask; this.canClaimTask = canClaimTask;
} }
public Boolean getForceSelectAssignee() {
return forceSelectAssignee;
}
public void setForceSelectAssignee(Boolean forceSelectAssignee) {
this.forceSelectAssignee = forceSelectAssignee;
}
public String getBusinessDescriptionSql() { public String getBusinessDescriptionSql() {
return businessDescriptionSql; return businessDescriptionSql;
} }

14
io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/jpa/entity/ProcessEntity.java

@ -76,6 +76,11 @@ public class ProcessEntity extends CorporationAuditorEntity<ProcessVo> {
@Convert(converter= NumericBooleanConverter.class) @Convert(converter= NumericBooleanConverter.class)
private Boolean canClaimTask; private Boolean canClaimTask;
//是否强制选择候选人
@Column(name="FORCE_SELECT_ASSIGNEE_")
@Convert(converter= NumericBooleanConverter.class)
private Boolean forceSelectAssignee;
// 任务描述SQL语句,用于生成带业务信息的任务描述 // 任务描述SQL语句,用于生成带业务信息的任务描述
@Column(name="BUSINESS_DESC_SQL_", length=1024) @Column(name="BUSINESS_DESC_SQL_", length=1024)
@Size(max=1024) @Size(max=1024)
@ -114,6 +119,7 @@ public class ProcessEntity extends CorporationAuditorEntity<ProcessVo> {
vo.setXml(this.getXml()); vo.setXml(this.getXml());
vo.setStatus(this.getStatus()); vo.setStatus(this.getStatus());
vo.setCanClaimTask(this.getCanClaimTask()); vo.setCanClaimTask(this.getCanClaimTask());
vo.setForceSelectAssignee(this.getForceSelectAssignee());
vo.setBusinessDescriptionSql(this.getBusinessDescriptionSql()); vo.setBusinessDescriptionSql(this.getBusinessDescriptionSql());
vo.setTaskHandFrontendRouteName(this.getTaskHandFrontendRouteName()); vo.setTaskHandFrontendRouteName(this.getTaskHandFrontendRouteName());
vo.setTaskHandFrontendModelName(this.getTaskHandFrontendModelName()); vo.setTaskHandFrontendModelName(this.getTaskHandFrontendModelName());
@ -202,6 +208,14 @@ public class ProcessEntity extends CorporationAuditorEntity<ProcessVo> {
this.canClaimTask = canClaimTask; this.canClaimTask = canClaimTask;
} }
public Boolean getForceSelectAssignee() {
return forceSelectAssignee;
}
public void setForceSelectAssignee(Boolean forceSelectAssignee) {
this.forceSelectAssignee = forceSelectAssignee;
}
public String getBusinessDescriptionSql() { public String getBusinessDescriptionSql() {
return businessDescriptionSql; return businessDescriptionSql;
} }

11
io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/ProcessEntityService.java

@ -15,10 +15,17 @@ public interface ProcessEntityService extends DaoService<ProcessEntity, String,
/** /**
* 获取是否允许领取任务 * 获取是否允许领取任务
* @param engineDeployedId 工作流中流程的发布ID * @param deployedId 工作流中流程的发布ID
* @return 是否允许领取任务 * @return 是否允许领取任务
*/ */
public boolean canClaimTask(String engineDeployedId); public boolean canClaimTask(String deployedId);
/**
* 获取是否强制选择候选人
* @param deployedId 工作流中流程的发布ID
* @return 是否强制选择候选人
*/
public boolean isForceSelectAssignee(String deployedId);
/** /**
* 通过流程分类获取发布到流程引擎中的 ID * 通过流程分类获取发布到流程引擎中的 ID

9
io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/ProcessEntityServiceImpl.java

@ -41,6 +41,15 @@ public class ProcessEntityServiceImpl extends DaoServiceImpl<ProcessEntity, Stri
return entity.getCanClaimTask(); return entity.getCanClaimTask();
} }
@Override
public boolean isForceSelectAssignee(String deployedId) {
ProcessEntity entity =repository.findByDeployedId(deployedId);
if(entity.getForceSelectAssignee()==null){
return false;
}
return entity.getForceSelectAssignee();
}
@Override @Override
public ProcessEntity findByUniqueKey(ProcessEntity entity) { public ProcessEntity findByUniqueKey(ProcessEntity entity) {
if(entity.getVersion()==null){ if(entity.getVersion()==null){

9
io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/service/impl/ProcessOperationServiceImpl.java

@ -180,8 +180,11 @@ public class ProcessOperationServiceImpl implements ProcessOperationService {
//查找候选处理人 //查找候选处理人
List<Assignee> assignees =assigneeQueryService.query(null,newTask, newUserTaskDefinition); List<Assignee> assignees =assigneeQueryService.query(null,newTask, newUserTaskDefinition);
//是否强制选择候选处理人(即只有一个候选人也需要用户选择)
boolean isForceSelectAssignee =processEntityService.isForceSelectAssignee(procDefinitionId);
if(assignees!=null && assignees.size()>0){ if(assignees!=null && assignees.size()>0){
if(assignees.size()>1){ if(isForceSelectAssignee || assignees.size()>1){
SelectAssigneeWrapper selectAssigneeWrapper =new SelectAssigneeWrapper(); SelectAssigneeWrapper selectAssigneeWrapper =new SelectAssigneeWrapper();
selectAssigneeWrapper.setActiveName(newUserTaskDefinition.getName()); selectAssigneeWrapper.setActiveName(newUserTaskDefinition.getName());
selectAssigneeWrapper.setAssignees(assignees); selectAssigneeWrapper.setAssignees(assignees);
@ -304,8 +307,10 @@ public class ProcessOperationServiceImpl implements ProcessOperationService {
//查找候选处理人 //查找候选处理人
List<Assignee> assignees =assigneeQueryService.query(task,newTask, newUserTaskDefinition); List<Assignee> assignees =assigneeQueryService.query(task,newTask, newUserTaskDefinition);
//是否强制选择候选处理人(即只有一个候选人也需要用户选择)
boolean isForceSelectAssignee =processEntityService.isForceSelectAssignee(procDefinitionId);
if(assignees!=null && assignees.size()>0){ if(assignees!=null && assignees.size()>0){
if(assignees.size()>1){ if(isForceSelectAssignee || assignees.size()>1){
SelectAssigneeWrapper selectAssigneeWrapper =new SelectAssigneeWrapper(); SelectAssigneeWrapper selectAssigneeWrapper =new SelectAssigneeWrapper();
selectAssigneeWrapper.setActiveName(newUserTaskDefinition.getName()); selectAssigneeWrapper.setActiveName(newUserTaskDefinition.getName());
selectAssigneeWrapper.setAssignees(assignees); selectAssigneeWrapper.setAssignees(assignees);

7
io.sc.platform.flowable/src/main/java/io/sc/platform/flowable/support/ProcessTaskWrapper.java

@ -17,6 +17,7 @@ public class ProcessTaskWrapper {
private int priority; private int priority;
private String owner; private String owner;
private String assignee; private String assignee;
private String assigneeName;
private String processInstanceId; private String processInstanceId;
private String executionId; private String executionId;
@ -83,6 +84,12 @@ public class ProcessTaskWrapper {
public void setAssignee(String assignee) { public void setAssignee(String assignee) {
this.assignee = assignee; this.assignee = assignee;
} }
public String getAssigneeName() {
return assigneeName;
}
public void setAssigneeName(String assigneeName) {
this.assigneeName = assigneeName;
}
public String getProcessInstanceId() { public String getProcessInstanceId() {
return processInstanceId; return processInstanceId;
} }

1
io.sc.platform.flowable/src/main/resources/liquibase/io.sc.platform.flowable_8.0.0_20220606__Process_Manager_Database_Schema_DDL.xml

@ -25,6 +25,7 @@
<column name="XML_" type="CLOB" remarks="流程定义BPM XML内容"></column> <column name="XML_" type="CLOB" remarks="流程定义BPM XML内容"></column>
<column name="STATUS_" type="NVARCHAR(10)" remarks="流程定义状态"></column> <column name="STATUS_" type="NVARCHAR(10)" remarks="流程定义状态"></column>
<column name="CAN_CLAIM_TASK_" type="SMALLINT" remarks="是否可以领取任务"></column> <column name="CAN_CLAIM_TASK_" type="SMALLINT" remarks="是否可以领取任务"></column>
<column name="FORCE_SELECT_ASSIGNEE_" type="SMALLINT" remarks="是否强制选择候选处理人"></column>
<column name="BUSINESS_DESC_SQL_" type="NVARCHAR(1024)" remarks="任务描述SQL语句,用于生成带业务信息的任务描述"></column> <column name="BUSINESS_DESC_SQL_" type="NVARCHAR(1024)" remarks="任务描述SQL语句,用于生成带业务信息的任务描述"></column>
<column name="TASK_HAND_FE_ROUTE_NAME_" type="NVARCHAR(1024)" remarks="任务处理前端路由名"></column> <column name="TASK_HAND_FE_ROUTE_NAME_" type="NVARCHAR(1024)" remarks="任务处理前端路由名"></column>
<column name="TASK_HAND_FE_MODEL_NAME_" type="NVARCHAR(1024)" remarks="任务处理前端组件的模块名"></column> <column name="TASK_HAND_FE_MODEL_NAME_" type="NVARCHAR(1024)" remarks="任务处理前端组件的模块名"></column>

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

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

1
io.sc.platform.lcdp.frontend/src/i18n/messages.json

@ -179,6 +179,7 @@
"lcdp.bpm.processDefine.grid.toolbar.queryProcessInstance": "Query Process Instance", "lcdp.bpm.processDefine.grid.toolbar.queryProcessInstance": "Query Process Instance",
"lcdp.bpm.processDefine.grid.entity.deployId": "Deploy ID", "lcdp.bpm.processDefine.grid.entity.deployId": "Deploy ID",
"lcdp.bpm.processDefine.grid.entity.canClaimTask": "Can Claim Task", "lcdp.bpm.processDefine.grid.entity.canClaimTask": "Can Claim Task",
"lcdp.bpm.processDefine.grid.entity.forceSelectAssignee": "Force Select Assignee",
"lcdp.bpm.processDefine.grid.entity.businessDescriptionSql": "Bussiness Description SQL", "lcdp.bpm.processDefine.grid.entity.businessDescriptionSql": "Bussiness Description SQL",
"lcdp.bpm.processDefine.grid.entity.taskHandFrontendRouteName": "Task Handler's Frontend Route Name", "lcdp.bpm.processDefine.grid.entity.taskHandFrontendRouteName": "Task Handler's Frontend Route Name",
"lcdp.bpm.processDefine.grid.entity.taskHandFrontendModelName": "Task Handler's Frontend Module Name", "lcdp.bpm.processDefine.grid.entity.taskHandFrontendModelName": "Task Handler's Frontend Module Name",

1
io.sc.platform.lcdp.frontend/src/i18n/messages_tw_CN.json

@ -179,6 +179,7 @@
"lcdp.bpm.processDefine.grid.toolbar.queryProcessInstance": "查詢流程實例", "lcdp.bpm.processDefine.grid.toolbar.queryProcessInstance": "查詢流程實例",
"lcdp.bpm.processDefine.grid.entity.deployId": "發佈 ID", "lcdp.bpm.processDefine.grid.entity.deployId": "發佈 ID",
"lcdp.bpm.processDefine.grid.entity.canClaimTask": "允許領取任務", "lcdp.bpm.processDefine.grid.entity.canClaimTask": "允許領取任務",
"lcdp.bpm.processDefine.grid.entity.forceSelectAssignee": "強制選擇候選處理人",
"lcdp.bpm.processDefine.grid.entity.businessDescriptionSql": "業務描述 SQL", "lcdp.bpm.processDefine.grid.entity.businessDescriptionSql": "業務描述 SQL",
"lcdp.bpm.processDefine.grid.entity.taskHandFrontendRouteName": "任務處理前端路由名稱", "lcdp.bpm.processDefine.grid.entity.taskHandFrontendRouteName": "任務處理前端路由名稱",
"lcdp.bpm.processDefine.grid.entity.taskHandFrontendModelName": "任務處理前端模塊名稱", "lcdp.bpm.processDefine.grid.entity.taskHandFrontendModelName": "任務處理前端模塊名稱",

1
io.sc.platform.lcdp.frontend/src/i18n/messages_zh_CN.json

@ -179,6 +179,7 @@
"lcdp.bpm.processDefine.grid.toolbar.queryProcessInstance": "查询流程实例", "lcdp.bpm.processDefine.grid.toolbar.queryProcessInstance": "查询流程实例",
"lcdp.bpm.processDefine.grid.entity.deployId": "发布 ID", "lcdp.bpm.processDefine.grid.entity.deployId": "发布 ID",
"lcdp.bpm.processDefine.grid.entity.canClaimTask": "允许领取任务", "lcdp.bpm.processDefine.grid.entity.canClaimTask": "允许领取任务",
"lcdp.bpm.processDefine.grid.entity.forceSelectAssignee": "强制选择候选处理人",
"lcdp.bpm.processDefine.grid.entity.businessDescriptionSql": "业务描述 SQL", "lcdp.bpm.processDefine.grid.entity.businessDescriptionSql": "业务描述 SQL",
"lcdp.bpm.processDefine.grid.entity.taskHandFrontendRouteName": "任务处理前端路由名称", "lcdp.bpm.processDefine.grid.entity.taskHandFrontendRouteName": "任务处理前端路由名称",
"lcdp.bpm.processDefine.grid.entity.taskHandFrontendModelName": "任务处理前端模块名称", "lcdp.bpm.processDefine.grid.entity.taskHandFrontendModelName": "任务处理前端模块名称",

18
io.sc.platform.lcdp.frontend/src/views/bpm/Bpm.vue

@ -166,6 +166,12 @@
label: $t('lcdp.bpm.processDefine.grid.entity.canClaimTask'), label: $t('lcdp.bpm.processDefine.grid.entity.canClaimTask'),
format: Formater.yesNo(), format: Formater.yesNo(),
}, },
{
width: 110,
name: 'forceSelectAssignee',
label: $t('lcdp.bpm.processDefine.grid.entity.forceSelectAssignee'),
format: Formater.yesNo(),
},
{ width: 100, name: 'lastModifier', label: $t('lastModifier') }, { width: 100, name: 'lastModifier', label: $t('lastModifier') },
{ width: 150, name: 'lastModifyDate', label: $t('lastModifyDate') }, { width: 150, name: 'lastModifyDate', label: $t('lastModifyDate') },
]" ]"
@ -225,13 +231,13 @@
type: 'w-checkbox', type: 'w-checkbox',
defaultValue: true, defaultValue: true,
rule: [], rule: [],
disableIf: (args: any) => {
if (args.form.getStatus() === 'edit') {
return true;
} else {
return false;
}
}, },
{
name: 'forceSelectAssignee',
label: $t('lcdp.bpm.processDefine.grid.entity.forceSelectAssignee'),
type: 'w-checkbox',
defaultValue: true,
rule: [],
}, },
{ {
colSpan: 2, colSpan: 2,

8
io.sc.platform.lcdp.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

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

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.platform.license.keygen.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

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

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.platform.mvc.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

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

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.platform.scheduler.manager.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

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

@ -111,7 +111,7 @@
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.platform.system.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

4
io.sc.platform.system/src/main/java/io/sc/platform/system/user/jpa/entity/UserEntity.java

@ -51,8 +51,8 @@ public class UserEntity extends CorporationAuditorEntity<UserVo> implements Dese
private String userName; private String userName;
//密码 //密码
@Column(name="PASSWORD_", length=255) @Column(name="PASSWORD_", length=2000)
@Size(max=255) @Size(max=2000)
private String password; private String password;
//描述 //描述

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

@ -112,7 +112,7 @@
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
io.sc.standard.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

2
io.sc.website/package.json

@ -28,6 +28,6 @@
}, },
"dependencies": { "dependencies": {
"vue": "3.5.13", "vue": "3.5.13",
"platform-core": "8.2.115" "platform-core": "8.2.117"
} }
} }

2
wra.report.frontend/package.json

@ -111,7 +111,7 @@
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.6", "node-sql-parser": "5.3.6",
"pinia": "2.3.0", "pinia": "2.3.0",
"platform-core": "8.2.115", "platform-core": "8.2.117",
"quasar": "2.17.6", "quasar": "2.17.6",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.7", "svg-path-commander": "2.1.7",

8
wra.report.frontend/webpack.config.common.cjs

@ -22,7 +22,7 @@ module.exports = {
// 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录 // 2. 兼容多个前端项目: 每个项目发布到 public 目录下的唯一项目名称目录
path: path.resolve(__dirname, `dist/public/${projectName}`), path: path.resolve(__dirname, `dist/public/${projectName}`),
// 输出文件名 // 输出文件名
filename: `javascript/[name].[contenthash:6].js`, filename: `javascript/[name].[contenthash:8].js`,
// 指定发布路径,使用 auto 可具有更多灵活性 // 指定发布路径,使用 auto 可具有更多灵活性
publicPath: 'auto', publicPath: 'auto',
// 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果 // 每次构建时,首先删除 output.path 目录所有内容,保证每次得到最新的构建结果
@ -69,7 +69,7 @@ module.exports = {
test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/, test: /\.(woff|woff2|eot|ttf|otf)(\?.*)?$/,
type: 'asset/resource', type: 'asset/resource',
generator: { generator: {
filename: `fonts/[name].[contenthash:6].[ext]`, filename: `fonts/[name].[contenthash:8].[ext]`,
}, },
}, },
@ -123,8 +123,8 @@ module.exports = {
// css 抽取插件 // css 抽取插件
new MiniCssExtractPlugin({ new MiniCssExtractPlugin({
filename: `css/[name].[contenthash:6].css`, filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:6].css`, chunkFilename: `css/[name].[contenthash:8].css`,
}), }),
// 自动生成静态 index.html 文件 // 自动生成静态 index.html 文件

Loading…
Cancel
Save