diff --git a/app.platform/build.gradle b/app.platform/build.gradle index 218a0cf3..e6e470a4 100644 --- a/app.platform/build.gradle +++ b/app.platform/build.gradle @@ -12,7 +12,7 @@ dependencies { dependencies { implementation ( project(":io.sc.platform.app"), - //project(":io.sc.platform.developer"), + project(":io.sc.platform.developer"), //project(":io.sc.platform.job.core"), //project(":io.sc.platform.job.executor"), diff --git a/gradle.properties b/gradle.properties index c5efa8d0..6879ef20 100644 --- a/gradle.properties +++ b/gradle.properties @@ -38,7 +38,7 @@ application_version=1.0.0 platform_group=io.sc platform_version=8.1.20 platform_plugin_version=8.1.13 -platform_core_frontend_version=8.1.55 +platform_core_frontend_version=8.1.59 ########################################################### # dependencies version diff --git a/io.sc.platform.core.frontend/.eslintrc.cjs b/io.sc.platform.core.frontend/.eslintrc.cjs index 0974c576..3e35007c 100644 --- a/io.sc.platform.core.frontend/.eslintrc.cjs +++ b/io.sc.platform.core.frontend/.eslintrc.cjs @@ -7,11 +7,6 @@ module.exports = { "vue/setup-compiler-macros": true, }, - parserOptions:{ - ecmaVersion: 2022, - sourceType:"module", - }, - extends:[ "eslint:recommended", "plugin:vue/vue3-recommended", @@ -24,6 +19,9 @@ module.exports = { ecmaVersion: 2022, parser: "@typescript-eslint/parser", sourceType: "module", + ecmaFeatures: { + jsx : false + } }, rules:{ diff --git a/io.sc.platform.core.frontend/babel.config.cjs b/io.sc.platform.core.frontend/babel.config.cjs index 26c581b4..0ff56db5 100644 --- a/io.sc.platform.core.frontend/babel.config.cjs +++ b/io.sc.platform.core.frontend/babel.config.cjs @@ -10,6 +10,7 @@ module.exports = { ], plugins: [ "@babel/plugin-transform-class-properties", - "@babel/plugin-transform-object-rest-spread" + "@babel/plugin-transform-object-rest-spread", + "@vue/babel-plugin-jsx", ] } diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index 0ed0ca84..10115101 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.56", + "version": "8.1.60", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", @@ -64,6 +64,7 @@ "@typescript-eslint/eslint-plugin": "6.17.0", "@typescript-eslint/parser": "6.17.0", "@vue/compiler-sfc": "3.4.3", + "@vue/babel-plugin-jsx": "1.1.5", "@webpack-cli/serve": "2.0.5", "autoprefixer": "10.4.16", "babel-loader": "9.1.3", diff --git a/io.sc.platform.core.frontend/src/platform/components/form/PlatformForm.vue b/io.sc.platform.core.frontend/src/platform/components/form/PlatformForm.vue deleted file mode 100644 index fcd93cef..00000000 --- a/io.sc.platform.core.frontend/src/platform/components/form/PlatformForm.vue +++ /dev/null @@ -1,528 +0,0 @@ - - - diff --git a/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue b/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue index 03c245cd..fa372782 100644 --- a/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue +++ b/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue @@ -9,8 +9,8 @@ (field.colspan === 'full' ? ' col-span-' + screenColsNumComputed : field.colspan && screenColsNumComputed >= field.colspan - ? ' col-span-' + field.colspan - : ' col-span-1') + ? ' col-span-' + field.colspan + : ' col-span-1') " > -
- - -
- - - diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/PlatformGrid.vue b/io.sc.platform.core.frontend/src/platform/components/grid/PlatformGrid.vue deleted file mode 100644 index 4b57e5c1..00000000 --- a/io.sc.platform.core.frontend/src/platform/components/grid/PlatformGrid.vue +++ /dev/null @@ -1,2473 +0,0 @@ - - - - - diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/PlatformGridTdDrag.vue b/io.sc.platform.core.frontend/src/platform/components/grid/PlatformGridTdDrag.vue deleted file mode 100644 index 30a64299..00000000 --- a/io.sc.platform.core.frontend/src/platform/components/grid/PlatformGridTdDrag.vue +++ /dev/null @@ -1,30 +0,0 @@ - - - diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/TableAction.vue b/io.sc.platform.core.frontend/src/platform/components/grid/TableAction.vue deleted file mode 100644 index b97c270f..00000000 --- a/io.sc.platform.core.frontend/src/platform/components/grid/TableAction.vue +++ /dev/null @@ -1,123 +0,0 @@ - - diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/TableRow.vue b/io.sc.platform.core.frontend/src/platform/components/grid/TableRow.vue deleted file mode 100644 index ca612980..00000000 --- a/io.sc.platform.core.frontend/src/platform/components/grid/TableRow.vue +++ /dev/null @@ -1,53 +0,0 @@ - - diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/WListGrid.vue b/io.sc.platform.core.frontend/src/platform/components/grid/WListGrid.vue deleted file mode 100644 index 2c1113ef..00000000 --- a/io.sc.platform.core.frontend/src/platform/components/grid/WListGrid.vue +++ /dev/null @@ -1,306 +0,0 @@ - - - diff --git a/io.sc.platform.core.frontend/src/platform/components/index.ts b/io.sc.platform.core.frontend/src/platform/components/index.ts index dc7918e1..9ffd34dd 100644 --- a/io.sc.platform.core.frontend/src/platform/components/index.ts +++ b/io.sc.platform.core.frontend/src/platform/components/index.ts @@ -10,11 +10,8 @@ import WCodemirror from './widget/codemirror/WCodemirror.vue'; import WTreeGrid from './tree/WTreeGrid.vue'; import WDialog from './dialog/WDialog.vue'; -import PlatformDialog from './dialog/PlatformDialog.vue'; -import PlatformDrawer from './drawer/PlatformDrawer.vue'; import WDrawer from './drawer/WDrawer.vue'; -import PlatformForm from './form/PlatformForm.vue'; import WForm from './form/WForm.vue'; import WText from './form/elements/WText.vue'; import WNumber from './form/elements/WNumber.vue'; @@ -27,10 +24,7 @@ import WPassword from './form/elements/WPassword.vue'; import WInfoPanel from './panel/WInfoPanel.vue'; -import PlatformGrid from './grid/PlatformGrid.vue'; import WGrid from './grid/WGrid.vue'; -import PlatformGridTdDrag from './grid/PlatformGridTdDrag.vue'; - import WToolbar from './toolbar/WToolbar.vue'; export default { @@ -47,9 +41,7 @@ export default { app.component('WTreeGrid', WTreeGrid); app.component('WDialog', WDialog); - app.component('PlatformDialog', PlatformDialog); app.component('WDrawer', WDrawer); - app.component('PlatformDrawer', PlatformDrawer); app.component('WForm', WForm); app.component('WText', WText); app.component('WNumber', WNumber); @@ -61,11 +53,7 @@ export default { app.component('WInfoPanel', WInfoPanel); - app.component('PlatformForm', PlatformForm); - app.component('PlatformGrid', PlatformGrid); app.component('WGrid', WGrid); - app.component('PlatformGridTdDrag', PlatformGridTdDrag); - app.component('WToolbar', WToolbar); }, }; @@ -81,10 +69,7 @@ export { WSelect, WTreeGrid, WDialog, - PlatformDialog, - PlatformDrawer, WDrawer, - PlatformForm, WForm, WText, WNumber, @@ -93,9 +78,7 @@ export { WCheckbox, WTextBtn, WPassword, - PlatformGrid, WGrid, - PlatformGridTdDrag, WToolbar, }; diff --git a/io.sc.platform.core.frontend/src/platform/index.ts b/io.sc.platform.core.frontend/src/platform/index.ts index 8d0287ed..6ce9fa61 100644 --- a/io.sc.platform.core.frontend/src/platform/index.ts +++ b/io.sc.platform.core.frontend/src/platform/index.ts @@ -92,27 +92,12 @@ export { JavascriptLoader } from './utils'; export { QuasarTools } from './utils'; export { Tools } from './utils'; export { TreeBuilder } from './utils'; +export { VueTools } from './utils'; /** * 导出 UI 组件 */ -export { - WPlatformPage, - WIconEmpty, - WHScreenDiv, - WColorInput, - WColorInputPalette, - WPosition, - WCodemirror, - WSelect, - // WListGrid, - WTreeGrid, - PlatformDialog, - PlatformDrawer, - PlatformForm, - PlatformGrid, - PlatformGridTdDrag, -} from './components'; +export { WPlatformPage, WIconEmpty, WHScreenDiv, WColorInput, WColorInputPalette, WPosition, WCodemirror, WSelect, WGrid, WTreeGrid } from './components'; export { PlatformIconEnum } from './components'; export { PageStatusEnum } from './components'; diff --git a/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue b/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue index cf47e4db..aa0fb897 100644 --- a/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue +++ b/io.sc.platform.core.frontend/src/platform/layout/sub-layout/Topper.vue @@ -128,6 +128,11 @@ + + + {{ t('changePassword') }} + + {{ t('changeRole') }} diff --git a/io.sc.platform.core.frontend/src/platform/utils/VueTools.ts b/io.sc.platform.core.frontend/src/platform/utils/VueTools.ts new file mode 100644 index 00000000..52005c05 --- /dev/null +++ b/io.sc.platform.core.frontend/src/platform/utils/VueTools.ts @@ -0,0 +1,20 @@ +import { Tools } from '.'; + +class VueTools { + /** + * 将 vue 组件导出的方法和属性直接挂接到 vue 组件的实例上, 便于使用 + * @param instance vue 组件实例对象 + */ + public static expose2Instance(instance: any): void { + const exposeds = instance.exposed || {}; + for (const exposed in exposeds) { + if (Tools.isUndefinedOrNull(instance[exposed])) { + instance[exposed] = exposeds[exposed]; + } else { + console.warn(exposed + ' already exists in component insatance!'); + } + } + } +} + +export { VueTools }; diff --git a/io.sc.platform.core.frontend/src/views/Select.vue b/io.sc.platform.core.frontend/src/views/Select.vue index 146e45e6..69fb1bba 100644 --- a/io.sc.platform.core.frontend/src/views/Select.vue +++ b/io.sc.platform.core.frontend/src/views/Select.vue @@ -4,13 +4,14 @@ diff --git a/io.sc.platform.system.frontend/src/views/user/User.vue b/io.sc.platform.system.frontend/src/views/user/User.vue index efd3e0d1..ba13ae92 100644 --- a/io.sc.platform.system.frontend/src/views/user/User.vue +++ b/io.sc.platform.system.frontend/src/views/user/User.vue @@ -1,63 +1,101 @@ diff --git a/io.sc.platform.system.frontend/tsconfig.json b/io.sc.platform.system.frontend/tsconfig.json index 99341915..c23c83d1 100644 --- a/io.sc.platform.system.frontend/tsconfig.json +++ b/io.sc.platform.system.frontend/tsconfig.json @@ -5,6 +5,7 @@ "module": "node16", "strict": true, "jsx": "preserve", + "jsxImportSource": "vue", "noEmit": true, "allowImportingTsExtensions": true, "noImplicitAny": false,