提交 ec40d9e1 编写于 作者: ibizdev's avatar ibizdev

lxm1993 发布系统代码 [TrainSys,网页端]

上级 47491de7
......@@ -11,14 +11,15 @@
"lint:style": "stylelint 'src/**/*.scss'"
},
"dependencies": {
"@ibiz-template/command": "^0.0.1-alpha.41",
"@ibiz-template/controller": "^0.0.1-alpha.41",
"@ibiz-template/core": "^0.0.1-alpha.41",
"@ibiz-template/model": "^0.0.1-alpha.41",
"@ibiz-template/runtime": "^0.0.1-alpha.41",
"@ibiz-template/service": "^0.0.1-alpha.41",
"@ibiz-template/theme": "^0.0.1-alpha.41",
"@ibiz-template/vue-util": "^0.0.1-alpha.41",
"@floating-ui/dom": "^1.0.4",
"@ibiz-template/command": "^0.0.1-alpha.43",
"@ibiz-template/controller": "^0.0.1-alpha.43",
"@ibiz-template/core": "^0.0.1-alpha.43",
"@ibiz-template/model": "^0.0.1-alpha.43",
"@ibiz-template/runtime": "^0.0.1-alpha.43",
"@ibiz-template/service": "^0.0.1-alpha.43",
"@ibiz-template/theme": "^0.0.1-alpha.43",
"@ibiz-template/vue-util": "^0.0.1-alpha.43",
"@ibiz/dynamic-model-api": "^2.1.5",
"dayjs": "^1.11.6",
"lodash-es": "^4.17.21",
......@@ -38,36 +39,36 @@
"@types/node": "^18.11.9",
"@types/path-browserify": "^1.0.0",
"@types/qs": "^6.9.7",
"@types/ramda": "^0.28.18",
"@types/ramda": "^0.28.19",
"@types/systemjs": "^6.1.1",
"@typescript-eslint/eslint-plugin": "^5.42.0",
"@typescript-eslint/parser": "^5.42.0",
"@vitejs/plugin-legacy": "^2.3.0",
"@typescript-eslint/eslint-plugin": "^5.42.1",
"@typescript-eslint/parser": "^5.42.1",
"@vitejs/plugin-legacy": "^2.3.1",
"@vitejs/plugin-vue2": "^2.0.0",
"@vitejs/plugin-vue2-jsx": "^1.0.3",
"@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
"eslint": "^8.26.0",
"eslint": "^8.27.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-import": "^2.26.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-vue": "^9.7.0",
"husky": "^8.0.1",
"husky": "^8.0.2",
"lint-staged": "^13.0.3",
"postcss": "^8.4.18",
"postcss-scss": "^4.0.5",
"prettier": "^2.7.1",
"rollup-plugin-visualizer": "^5.8.3",
"sass": "^1.55.0",
"stylelint": "^14.14.0",
"sass": "^1.56.0",
"stylelint": "^14.14.1",
"stylelint-config-prettier": "^9.0.3",
"stylelint-config-recess-order": "^3.0.0",
"stylelint-config-standard": "^29.0.0",
"stylelint-config-standard-scss": "^6.0.0",
"stylelint-config-standard-scss": "^6.1.0",
"stylelint-scss": "^4.3.0",
"terser": "^5.15.1",
"typescript": "^4.8.4",
"vite": "^3.2.2",
"vite": "^3.2.3",
"vite-plugin-eslint": "^1.8.1",
"vue-eslint-parser": "^9.1.0",
"vue-tsc": "^1.0.9"
......
......@@ -3,35 +3,36 @@ lockfileVersion: 5.4
specifiers:
'@commitlint/cli': ^17.2.0
'@commitlint/config-conventional': ^17.2.0
'@ibiz-template/command': ^0.0.1-alpha.41
'@ibiz-template/controller': ^0.0.1-alpha.41
'@ibiz-template/core': ^0.0.1-alpha.41
'@ibiz-template/model': ^0.0.1-alpha.41
'@ibiz-template/runtime': ^0.0.1-alpha.41
'@ibiz-template/service': ^0.0.1-alpha.41
'@ibiz-template/theme': ^0.0.1-alpha.40
'@ibiz-template/vue-util': ^0.0.1-alpha.41
'@floating-ui/dom': ^1.0.4
'@ibiz-template/command': ^0.0.1-alpha.43
'@ibiz-template/controller': ^0.0.1-alpha.43
'@ibiz-template/core': ^0.0.1-alpha.43
'@ibiz-template/model': ^0.0.1-alpha.43
'@ibiz-template/runtime': ^0.0.1-alpha.43
'@ibiz-template/service': ^0.0.1-alpha.43
'@ibiz-template/theme': ^0.0.1-alpha.43
'@ibiz-template/vue-util': ^0.0.1-alpha.43
'@ibiz/dynamic-model-api': ^2.1.5
'@types/lodash-es': ^4.17.6
'@types/node': ^18.11.9
'@types/path-browserify': ^1.0.0
'@types/qs': ^6.9.7
'@types/ramda': ^0.28.18
'@types/ramda': ^0.28.19
'@types/systemjs': ^6.1.1
'@typescript-eslint/eslint-plugin': ^5.42.0
'@typescript-eslint/parser': ^5.42.0
'@vitejs/plugin-legacy': ^2.3.0
'@typescript-eslint/eslint-plugin': ^5.42.1
'@typescript-eslint/parser': ^5.42.1
'@vitejs/plugin-legacy': ^2.3.1
'@vitejs/plugin-vue2': ^2.0.0
'@vitejs/plugin-vue2-jsx': ^1.0.3
'@vue/babel-helper-vue-jsx-merge-props': ^1.4.0
dayjs: ^1.11.6
eslint: ^8.26.0
eslint: ^8.27.0
eslint-config-airbnb-base: ^15.0.0
eslint-config-prettier: ^8.5.0
eslint-plugin-import: ^2.26.0
eslint-plugin-prettier: ^4.2.1
eslint-plugin-vue: ^9.7.0
husky: ^8.0.1
husky: ^8.0.2
lint-staged: ^13.0.3
lodash-es: ^4.17.21
path-browserify: ^1.0.1
......@@ -43,17 +44,17 @@ specifiers:
qx-util: ^0.4.4
ramda: ^0.28.0
rollup-plugin-visualizer: ^5.8.3
sass: ^1.55.0
stylelint: ^14.14.0
sass: ^1.56.0
stylelint: ^14.14.1
stylelint-config-prettier: ^9.0.3
stylelint-config-recess-order: ^3.0.0
stylelint-config-standard: ^29.0.0
stylelint-config-standard-scss: ^6.0.0
stylelint-config-standard-scss: ^6.1.0
stylelint-scss: ^4.3.0
terser: ^5.15.1
typescript: ^4.8.4
view-design: ^4.7.0
vite: ^3.2.2
vite: ^3.2.3
vite-plugin-eslint: ^1.8.1
vue: ^2.7.13
vue-eslint-parser: ^9.1.0
......@@ -61,14 +62,15 @@ specifiers:
vue-tsc: ^1.0.9
dependencies:
'@ibiz-template/command': 0.0.1-alpha.41
'@ibiz-template/controller': 0.0.1-alpha.41_qiggmtl4kdjswnuiwqfbo6qhu4
'@ibiz-template/core': 0.0.1-alpha.41_qzytosuu5eg3bvoa74ldx6evva
'@ibiz-template/model': 0.0.1-alpha.41_yslesr4iih24kokbsmhl36awki
'@ibiz-template/runtime': 0.0.1-alpha.41_htntrmo5c6ybvxgifiug67fuva
'@ibiz-template/service': 0.0.1-alpha.41_pqm4hovalqiydv7ewa72l7tngy
'@ibiz-template/theme': 0.0.1-alpha.40
'@ibiz-template/vue-util': 0.0.1-alpha.41_7ld4khxzprgdjxio25v3wsr5ie
'@floating-ui/dom': 1.0.4
'@ibiz-template/command': 0.0.1-alpha.43
'@ibiz-template/controller': 0.0.1-alpha.43_vn67tozavr57kcxj5rqyjnh32q
'@ibiz-template/core': 0.0.1-alpha.43_qzytosuu5eg3bvoa74ldx6evva
'@ibiz-template/model': 0.0.1-alpha.43_yslesr4iih24kokbsmhl36awki
'@ibiz-template/runtime': 0.0.1-alpha.43_alu5w6g3d73rldfzb6pwjo67dq
'@ibiz-template/service': 0.0.1-alpha.43_xkd42laj2mfxyjs6lvrfnv7kmy
'@ibiz-template/theme': 0.0.1-alpha.43
'@ibiz-template/vue-util': 0.0.1-alpha.43_gwtguydvmv2awb36ujqnh3be5a
'@ibiz/dynamic-model-api': 2.1.5_qx-util@0.4.4
dayjs: 1.11.6
lodash-es: 4.17.21
......@@ -88,38 +90,38 @@ devDependencies:
'@types/node': 18.11.9
'@types/path-browserify': 1.0.0
'@types/qs': 6.9.7
'@types/ramda': 0.28.18
'@types/ramda': 0.28.19
'@types/systemjs': 6.1.1
'@typescript-eslint/eslint-plugin': 5.42.0_6xw5wg2354iw4zujk2f3vyfrzu
'@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m
'@vitejs/plugin-legacy': 2.3.0_terser@5.15.1+vite@3.2.2
'@vitejs/plugin-vue2': 2.0.0_vite@3.2.2+vue@2.7.13
'@vitejs/plugin-vue2-jsx': 1.0.3_vite@3.2.2+vue@2.7.13
'@typescript-eslint/eslint-plugin': 5.42.1_2udltptbznfmezdozpdoa2aemq
'@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
'@vitejs/plugin-legacy': 2.3.1_terser@5.15.1+vite@3.2.3
'@vitejs/plugin-vue2': 2.0.0_vite@3.2.3+vue@2.7.13
'@vitejs/plugin-vue2-jsx': 1.0.3_vite@3.2.3+vue@2.7.13
'@vue/babel-helper-vue-jsx-merge-props': 1.4.0
eslint: 8.26.0
eslint-config-airbnb-base: 15.0.0_mynvxvmq5qtyojffiqgev4x7mm
eslint-config-prettier: 8.5.0_eslint@8.26.0
eslint-plugin-import: 2.26.0_5aea5dp4n23mfv4y2mmjxole3e
eslint-plugin-prettier: 4.2.1_aniwkeyvlpmwkidetuytnokvcm
eslint-plugin-vue: 9.7.0_eslint@8.26.0
husky: 8.0.1
eslint: 8.27.0
eslint-config-airbnb-base: 15.0.0_dcpv4nbdr5ks2h5677xdltrk6e
eslint-config-prettier: 8.5.0_eslint@8.27.0
eslint-plugin-import: 2.26.0_jnohwm7eexgw7uduhweedcbnpe
eslint-plugin-prettier: 4.2.1_v7o5sx5x3wbs57ifz6wc4f76we
eslint-plugin-vue: 9.7.0_eslint@8.27.0
husky: 8.0.2
lint-staged: 13.0.3
postcss: 8.4.18
postcss-scss: 4.0.5_postcss@8.4.18
prettier: 2.7.1
rollup-plugin-visualizer: 5.8.3
sass: 1.55.0
stylelint: 14.14.0
stylelint-config-prettier: 9.0.3_stylelint@14.14.0
stylelint-config-recess-order: 3.0.0_stylelint@14.14.0
stylelint-config-standard: 29.0.0_stylelint@14.14.0
stylelint-config-standard-scss: 6.0.0_mnalcscwzozovshmobozjae4pq
stylelint-scss: 4.3.0_stylelint@14.14.0
sass: 1.56.0
stylelint: 14.14.1
stylelint-config-prettier: 9.0.3_stylelint@14.14.1
stylelint-config-recess-order: 3.0.0_stylelint@14.14.1
stylelint-config-standard: 29.0.0_stylelint@14.14.1
stylelint-config-standard-scss: 6.1.0_t5qxeji2l54punp3pwjdchi3we
stylelint-scss: 4.3.0_stylelint@14.14.1
terser: 5.15.1
typescript: 4.8.4
vite: 3.2.2_sass@1.55.0+terser@5.15.1
vite-plugin-eslint: 1.8.1_eslint@8.26.0+vite@3.2.2
vue-eslint-parser: 9.1.0_eslint@8.26.0
vite: 3.2.3_u3p2uvz4grev654aqkjuqhavhq
vite-plugin-eslint: 1.8.1_eslint@8.27.0+vite@3.2.3
vue-eslint-parser: 9.1.0_eslint@8.27.0
vue-tsc: 1.0.9_typescript@4.8.4
packages:
......@@ -641,6 +643,16 @@ packages:
- supports-color
dev: true
/@floating-ui/core/1.0.1:
resolution: {integrity: sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==}
dev: false
/@floating-ui/dom/1.0.4:
resolution: {integrity: sha512-maYJRv+sAXTy4K9mzdv0JPyNW5YPVHrqtY90tEdI6XNpuLOP26Ci2pfwPsKBA/Wh4Z3FX5sUrtUFTdMYj9v+ug==}
dependencies:
'@floating-ui/core': 1.0.1
dev: false
/@humanwhocodes/config-array/0.11.6:
resolution: {integrity: sha512-jJr+hPTJYKyDILJfhNSHsjiwXYf26Flsz8DvNndOsHs5pwSnpGUEy8yzF0JYhCEvTDdV2vuOK5tt8BVhwO5/hg==}
engines: {node: '>=10.10.0'}
......@@ -661,14 +673,14 @@ packages:
resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
dev: true
/@ibiz-template/command/0.0.1-alpha.41:
resolution: {integrity: sha512-zT43FCKM343d4rpfRx2YhcoymriTdAn3Ujb598U39hxLltJZpEp4LkqR4HqCVB0MazpfWA4QRviifPbQPA+3jw==}
/@ibiz-template/command/0.0.1-alpha.43:
resolution: {integrity: sha512-cPhZATbMrN0FFh2sAoMUOlwzcCenWU+I6cWkwuwxCCQOPf03WAHo1XqKia7js49pWYDGAGfcNCbvlHbz19XTYg==}
dependencies:
qx-util: 0.4.4
dev: false
/@ibiz-template/controller/0.0.1-alpha.41_qiggmtl4kdjswnuiwqfbo6qhu4:
resolution: {integrity: sha512-NOeX2Kf4qgx6LUR9KUrt+/Dm8RJPXRk81UBL0mDQw5eQFy11GFPQhVoY5Ls/xQk8Wrxn6IOYOiu/JrLNxp3heg==}
/@ibiz-template/controller/0.0.1-alpha.43_vn67tozavr57kcxj5rqyjnh32q:
resolution: {integrity: sha512-rfABTdGBMrvDS2wbntGtEa7aZ8OnOtWVpMvvmaVqu8RdktaHVDaLosGXbyqmqXCR+YEfXcTfUHTTrYqGOorw4A==}
peerDependencies:
'@ibiz-template/core': ^0.0.1-alpha.2
'@ibiz-template/model': ^0.0.1-alpha.2
......@@ -677,18 +689,18 @@ packages:
lodash-es: ^4.17.21
qx-util: ^0.4.4
dependencies:
'@ibiz-template/core': 0.0.1-alpha.41_qzytosuu5eg3bvoa74ldx6evva
'@ibiz-template/model': 0.0.1-alpha.41_yslesr4iih24kokbsmhl36awki
'@ibiz-template/runtime': 0.0.1-alpha.41_htntrmo5c6ybvxgifiug67fuva
'@ibiz-template/service': 0.0.1-alpha.41_pqm4hovalqiydv7ewa72l7tngy
'@ibiz-template/core': 0.0.1-alpha.43_qzytosuu5eg3bvoa74ldx6evva
'@ibiz-template/model': 0.0.1-alpha.43_yslesr4iih24kokbsmhl36awki
'@ibiz-template/runtime': 0.0.1-alpha.43_alu5w6g3d73rldfzb6pwjo67dq
'@ibiz-template/service': 0.0.1-alpha.43_xkd42laj2mfxyjs6lvrfnv7kmy
async-validator: 4.2.5
dayjs: 1.11.6
lodash-es: 4.17.21
qx-util: 0.4.4
dev: false
/@ibiz-template/core/0.0.1-alpha.41_qzytosuu5eg3bvoa74ldx6evva:
resolution: {integrity: sha512-zrrt/cCGFj4eOYSjmhqc7D9v8rPQ71CbE6UJjvOuDrTu4BSjktqNC5L1tX/fl+mt8V0x1FkaZH1vrSSktwstKw==}
/@ibiz-template/core/0.0.1-alpha.43_qzytosuu5eg3bvoa74ldx6evva:
resolution: {integrity: sha512-15QfDAykE0PTZzHhK2pa9OJccbL0jbK6K8FzJJrzTlL84vtTdGHDn2oKCdOLbLkcZ4fOwrQpZoC4tPkDGHRpaw==}
peerDependencies:
lodash-es: ^4.17.21
qx-util: ^0.4.4
......@@ -703,8 +715,8 @@ packages:
- debug
dev: false
/@ibiz-template/model/0.0.1-alpha.41_yslesr4iih24kokbsmhl36awki:
resolution: {integrity: sha512-aakOQlZNTS7lIl0J3vICitswVN3xqACDSNj1HBLoM/mYshyjtpcwyY84/6KurAoGWI9y0KVGpBJjLufGsVevhA==}
/@ibiz-template/model/0.0.1-alpha.43_yslesr4iih24kokbsmhl36awki:
resolution: {integrity: sha512-F3FhWDGR+HOe2YxisVDBjApBisR8iFbgVtAnrD5vQeDFMGCW4pNq9bPO7DwXy27kYDRgHcKucBw65CACdDJw9g==}
peerDependencies:
'@ibiz/dynamic-model-api': ^2.1.5
lodash-es: ^4.17.21
......@@ -716,41 +728,41 @@ packages:
qx-util: 0.4.4
dev: false
/@ibiz-template/runtime/0.0.1-alpha.41_htntrmo5c6ybvxgifiug67fuva:
resolution: {integrity: sha512-b9ALOMwVJxPsadqiD+Z/+c/v7kBuVRHqKuYwLYKLe64jEnFwi+KA3PARfQhSw9ntKGvg+9s9uiehC058ti4c6Q==}
/@ibiz-template/runtime/0.0.1-alpha.43_alu5w6g3d73rldfzb6pwjo67dq:
resolution: {integrity: sha512-aL3j7OC9aFj9fGUqqfplaFtGVqMZ7PfTTYoh2F+wH7x/W2KIiKh/gymaKJeroMdJ2LJRUBussPt8ezB7JWXF0g==}
peerDependencies:
'@ibiz-template/core': ^0.0.1-alpha.2
'@ibiz-template/model': ^0.0.1-alpha.2
'@ibiz-template/service': ^0.0.1-alpha.2
qx-util: ^0.4.4
dependencies:
'@ibiz-template/command': 0.0.1-alpha.41
'@ibiz-template/core': 0.0.1-alpha.41_qzytosuu5eg3bvoa74ldx6evva
'@ibiz-template/model': 0.0.1-alpha.41_yslesr4iih24kokbsmhl36awki
'@ibiz-template/service': 0.0.1-alpha.41_pqm4hovalqiydv7ewa72l7tngy
'@ibiz-template/command': 0.0.1-alpha.43
'@ibiz-template/core': 0.0.1-alpha.43_qzytosuu5eg3bvoa74ldx6evva
'@ibiz-template/model': 0.0.1-alpha.43_yslesr4iih24kokbsmhl36awki
'@ibiz-template/service': 0.0.1-alpha.43_xkd42laj2mfxyjs6lvrfnv7kmy
qx-util: 0.4.4
dev: false
/@ibiz-template/service/0.0.1-alpha.41_pqm4hovalqiydv7ewa72l7tngy:
resolution: {integrity: sha512-g/P9mqu/uem+V70JFpIWag8IysjmiwcBNCO5dsRjaxRpUg7BIZob6elHfucyPth0z3iXXooO9cng/eqLsZUvHA==}
/@ibiz-template/service/0.0.1-alpha.43_xkd42laj2mfxyjs6lvrfnv7kmy:
resolution: {integrity: sha512-mSMWU6jQdybIQAzCXZpMWb4UYTyPDRBDgKJYlgnuMG9NyA2gyyMuUCM2WvULFHebqueDd4ZuHYlLzk1vRTbdRw==}
peerDependencies:
'@ibiz-template/core': ^0.0.1-alpha.2
'@ibiz-template/model': ^0.0.1-alpha.2
qx-util: ^0.4.4
ramda: ^0.28.0
dependencies:
'@ibiz-template/core': 0.0.1-alpha.41_qzytosuu5eg3bvoa74ldx6evva
'@ibiz-template/model': 0.0.1-alpha.41_yslesr4iih24kokbsmhl36awki
'@ibiz-template/core': 0.0.1-alpha.43_qzytosuu5eg3bvoa74ldx6evva
'@ibiz-template/model': 0.0.1-alpha.43_yslesr4iih24kokbsmhl36awki
qx-util: 0.4.4
ramda: 0.28.0
dev: false
/@ibiz-template/theme/0.0.1-alpha.40:
resolution: {integrity: sha512-e3R5XAhG23QgwZheW92vzZGf+CklnvE18UG+NJ2XsIORWVJfwxA3ix89/oFmA0sXUVX7+iI4SuhubhvbWu787A==}
/@ibiz-template/theme/0.0.1-alpha.43:
resolution: {integrity: sha512-hJk5i4fqt7zcnu9K3L6WrNHLQTnAXaiKFwKQDjnirpP9ZFugU6IS+cARrygdUqspFCRmwCTMu1mRaZ1AIVq1IQ==}
dev: false
/@ibiz-template/vue-util/0.0.1-alpha.41_7ld4khxzprgdjxio25v3wsr5ie:
resolution: {integrity: sha512-oyfyldxjELlYx9u/PHxaPJNrCgvjeQmWRdy547wrCeEYPcJrAGQB80LQJ8SdzBq68CPuEfX0ZuX99m82RNT6SQ==}
/@ibiz-template/vue-util/0.0.1-alpha.43_gwtguydvmv2awb36ujqnh3be5a:
resolution: {integrity: sha512-EoRYu9mEJ+NVeBd/t8KuM4tSnu+jVpGNSF8DKr0xAu8b0YlQsPyZmp2t9P1M23luRU7CTss9804YO+0WsfHE3Q==}
peerDependencies:
'@ibiz-template/controller': '>=0.0.1-alpha.2'
'@ibiz-template/core': '>=0.0.1-alpha.2'
......@@ -761,9 +773,9 @@ packages:
vue: ^2.7.13
vue-router: ^3.6.5
dependencies:
'@ibiz-template/controller': 0.0.1-alpha.41_qiggmtl4kdjswnuiwqfbo6qhu4
'@ibiz-template/core': 0.0.1-alpha.41_qzytosuu5eg3bvoa74ldx6evva
'@ibiz-template/model': 0.0.1-alpha.41_yslesr4iih24kokbsmhl36awki
'@ibiz-template/controller': 0.0.1-alpha.43_vn67tozavr57kcxj5rqyjnh32q
'@ibiz-template/core': 0.0.1-alpha.43_qzytosuu5eg3bvoa74ldx6evva
'@ibiz-template/model': 0.0.1-alpha.43_yslesr4iih24kokbsmhl36awki
qs: 6.11.0
qx-util: 0.4.4
ramda: 0.28.0
......@@ -933,8 +945,8 @@ packages:
resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==}
dev: true
/@types/ramda/0.28.18:
resolution: {integrity: sha512-DlhIC80d1ArfB1jz8C5OzavJfIj6hmEOQzCzy7Nt0FRqXJbmWTt05vI+f3rfC+3AR1VQwvyCMaCyZv++HGk+6w==}
/@types/ramda/0.28.19:
resolution: {integrity: sha512-RCrYC/dg8K67QtIOACIpSriN1BdcC8a3mV4wLTUVafaY00MKBjuOSI+8fHRV92embUsZ67bZlzmgtO5wBsxcmg==}
dependencies:
ts-toolbelt: 6.15.5
dev: true
......@@ -947,8 +959,8 @@ packages:
resolution: {integrity: sha512-d1M6eDKBGWx7RbYy295VEFoOF9YDJkPI959QYnmzcmeaV+SP4D0xV7dEh3sN5XF3GvO3PhGzm+17Z598nvHQuQ==}
dev: true
/@typescript-eslint/eslint-plugin/5.42.0_6xw5wg2354iw4zujk2f3vyfrzu:
resolution: {integrity: sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==}
/@typescript-eslint/eslint-plugin/5.42.1_2udltptbznfmezdozpdoa2aemq:
resolution: {integrity: sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
'@typescript-eslint/parser': ^5.0.0
......@@ -958,12 +970,12 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m
'@typescript-eslint/scope-manager': 5.42.0
'@typescript-eslint/type-utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m
'@typescript-eslint/utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m
'@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
'@typescript-eslint/scope-manager': 5.42.1
'@typescript-eslint/type-utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
'@typescript-eslint/utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
debug: 4.3.4
eslint: 8.26.0
eslint: 8.27.0
ignore: 5.2.0
natural-compare-lite: 1.4.0
regexpp: 3.2.0
......@@ -974,8 +986,8 @@ packages:
- supports-color
dev: true
/@typescript-eslint/parser/5.42.0_wyqvi574yv7oiwfeinomdzmc3m:
resolution: {integrity: sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==}
/@typescript-eslint/parser/5.42.1_rmayb2veg2btbq6mbmnyivgasy:
resolution: {integrity: sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
......@@ -984,26 +996,26 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 5.42.0
'@typescript-eslint/types': 5.42.0
'@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4
'@typescript-eslint/scope-manager': 5.42.1
'@typescript-eslint/types': 5.42.1
'@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4
debug: 4.3.4
eslint: 8.26.0
eslint: 8.27.0
typescript: 4.8.4
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/scope-manager/5.42.0:
resolution: {integrity: sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==}
/@typescript-eslint/scope-manager/5.42.1:
resolution: {integrity: sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.42.0
'@typescript-eslint/visitor-keys': 5.42.0
'@typescript-eslint/types': 5.42.1
'@typescript-eslint/visitor-keys': 5.42.1
dev: true
/@typescript-eslint/type-utils/5.42.0_wyqvi574yv7oiwfeinomdzmc3m:
resolution: {integrity: sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==}
/@typescript-eslint/type-utils/5.42.1_rmayb2veg2btbq6mbmnyivgasy:
resolution: {integrity: sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '*'
......@@ -1012,23 +1024,23 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4
'@typescript-eslint/utils': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m
'@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4
'@typescript-eslint/utils': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
debug: 4.3.4
eslint: 8.26.0
eslint: 8.27.0
tsutils: 3.21.0_typescript@4.8.4
typescript: 4.8.4
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/types/5.42.0:
resolution: {integrity: sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==}
/@typescript-eslint/types/5.42.1:
resolution: {integrity: sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@typescript-eslint/typescript-estree/5.42.0_typescript@4.8.4:
resolution: {integrity: sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==}
/@typescript-eslint/typescript-estree/5.42.1_typescript@4.8.4:
resolution: {integrity: sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
......@@ -1036,8 +1048,8 @@ packages:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.42.0
'@typescript-eslint/visitor-keys': 5.42.0
'@typescript-eslint/types': 5.42.1
'@typescript-eslint/visitor-keys': 5.42.1
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
......@@ -1048,36 +1060,36 @@ packages:
- supports-color
dev: true
/@typescript-eslint/utils/5.42.0_wyqvi574yv7oiwfeinomdzmc3m:
resolution: {integrity: sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==}
/@typescript-eslint/utils/5.42.1_rmayb2veg2btbq6mbmnyivgasy:
resolution: {integrity: sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
'@types/json-schema': 7.0.11
'@types/semver': 7.3.12
'@typescript-eslint/scope-manager': 5.42.0
'@typescript-eslint/types': 5.42.0
'@typescript-eslint/typescript-estree': 5.42.0_typescript@4.8.4
eslint: 8.26.0
'@typescript-eslint/scope-manager': 5.42.1
'@typescript-eslint/types': 5.42.1
'@typescript-eslint/typescript-estree': 5.42.1_typescript@4.8.4
eslint: 8.27.0
eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@8.26.0
eslint-utils: 3.0.0_eslint@8.27.0
semver: 7.3.7
transitivePeerDependencies:
- supports-color
- typescript
dev: true
/@typescript-eslint/visitor-keys/5.42.0:
resolution: {integrity: sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==}
/@typescript-eslint/visitor-keys/5.42.1:
resolution: {integrity: sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.42.0
'@typescript-eslint/types': 5.42.1
eslint-visitor-keys: 3.3.0
dev: true
/@vitejs/plugin-legacy/2.3.0_terser@5.15.1+vite@3.2.2:
resolution: {integrity: sha512-Bh62i0gzQvvT8AeAAb78nOnqSYXypkRmQmOTImdPZ39meHR9e2une3AIFmVo4s1SDmcmJ6qj18Sa/lRc/14KaA==}
/@vitejs/plugin-legacy/2.3.1_terser@5.15.1+vite@3.2.3:
resolution: {integrity: sha512-J5KaGBlSt2tEYPVjM/C8dA6DkRzkFkbPe+Xb4IX5G+XOV5OGbVAfkMjKywdrkO3gGynO8S98i71Lmsff4cWkCQ==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
terser: ^5.4.0
......@@ -1089,10 +1101,10 @@ packages:
regenerator-runtime: 0.13.10
systemjs: 6.13.0
terser: 5.15.1
vite: 3.2.2_sass@1.55.0+terser@5.15.1
vite: 3.2.3_u3p2uvz4grev654aqkjuqhavhq
dev: true
/@vitejs/plugin-vue2-jsx/1.0.3_vite@3.2.2+vue@2.7.13:
/@vitejs/plugin-vue2-jsx/1.0.3_vite@3.2.3+vue@2.7.13:
resolution: {integrity: sha512-JdcmeuTCRfYkQ6wPIbg0IG43l/2SuAFAK0asWOmrNQ098CfFb86gfOfHLTr5s01qduMCdfl7JOoSgxOckQxvBg==}
engines: {node: '>=14.18.0'}
peerDependencies:
......@@ -1104,20 +1116,20 @@ packages:
'@babel/plugin-transform-typescript': 7.18.12_@babel+core@7.18.10
'@rollup/pluginutils': 4.2.1
'@vue/babel-preset-jsx': 1.3.1_romgntqxla5e5td6u4nrnhdgey
vite: 3.2.2_sass@1.55.0+terser@5.15.1
vite: 3.2.3_u3p2uvz4grev654aqkjuqhavhq
vue: 2.7.13
transitivePeerDependencies:
- supports-color
dev: true
/@vitejs/plugin-vue2/2.0.0_vite@3.2.2+vue@2.7.13:
/@vitejs/plugin-vue2/2.0.0_vite@3.2.3+vue@2.7.13:
resolution: {integrity: sha512-VJOCDtBNcRv7kYLQRbbERDP0OqW0EKgMQp6wwbqZRpU3kg38OP891avx6Xl3szntGkf9mK4i8k3TjsAlmkzWFg==}
engines: {node: ^14.18.0 || >= 16.0.0}
peerDependencies:
vite: ^3.0.0
vue: ^2.7.0-0
dependencies:
vite: 3.2.2_sass@1.55.0+terser@5.15.1
vite: 3.2.3_u3p2uvz4grev654aqkjuqhavhq
vue: 2.7.13
dev: true
......@@ -2221,7 +2233,7 @@ packages:
engines: {node: '>=10'}
dev: true
/eslint-config-airbnb-base/15.0.0_mynvxvmq5qtyojffiqgev4x7mm:
/eslint-config-airbnb-base/15.0.0_dcpv4nbdr5ks2h5677xdltrk6e:
resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==}
engines: {node: ^10.12.0 || >=12.0.0}
peerDependencies:
......@@ -2229,20 +2241,20 @@ packages:
eslint-plugin-import: ^2.25.2
dependencies:
confusing-browser-globals: 1.0.11
eslint: 8.26.0
eslint-plugin-import: 2.26.0_5aea5dp4n23mfv4y2mmjxole3e
eslint: 8.27.0
eslint-plugin-import: 2.26.0_jnohwm7eexgw7uduhweedcbnpe
object.assign: 4.1.3
object.entries: 1.1.5
semver: 6.3.0
dev: true
/eslint-config-prettier/8.5.0_eslint@8.26.0:
/eslint-config-prettier/8.5.0_eslint@8.27.0:
resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==}
hasBin: true
peerDependencies:
eslint: '>=7.0.0'
dependencies:
eslint: 8.26.0
eslint: 8.27.0
dev: true
/eslint-import-resolver-node/0.3.6:
......@@ -2254,7 +2266,7 @@ packages:
- supports-color
dev: true
/eslint-module-utils/2.7.4_yytd4qhylm3dyr3j4r4rwmq2vy:
/eslint-module-utils/2.7.4_l3rkqmr6ujglf4zsfjyz5e7jai:
resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==}
engines: {node: '>=4'}
peerDependencies:
......@@ -2275,15 +2287,15 @@ packages:
eslint-import-resolver-webpack:
optional: true
dependencies:
'@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m
'@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
debug: 3.2.7
eslint: 8.26.0
eslint: 8.27.0
eslint-import-resolver-node: 0.3.6
transitivePeerDependencies:
- supports-color
dev: true
/eslint-plugin-import/2.26.0_5aea5dp4n23mfv4y2mmjxole3e:
/eslint-plugin-import/2.26.0_jnohwm7eexgw7uduhweedcbnpe:
resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
engines: {node: '>=4'}
peerDependencies:
......@@ -2293,14 +2305,14 @@ packages:
'@typescript-eslint/parser':
optional: true
dependencies:
'@typescript-eslint/parser': 5.42.0_wyqvi574yv7oiwfeinomdzmc3m
'@typescript-eslint/parser': 5.42.1_rmayb2veg2btbq6mbmnyivgasy
array-includes: 3.1.5
array.prototype.flat: 1.3.0
debug: 2.6.9
doctrine: 2.1.0
eslint: 8.26.0
eslint: 8.27.0
eslint-import-resolver-node: 0.3.6
eslint-module-utils: 2.7.4_yytd4qhylm3dyr3j4r4rwmq2vy
eslint-module-utils: 2.7.4_l3rkqmr6ujglf4zsfjyz5e7jai
has: 1.0.3
is-core-module: 2.10.0
is-glob: 4.0.3
......@@ -2314,7 +2326,7 @@ packages:
- supports-color
dev: true
/eslint-plugin-prettier/4.2.1_aniwkeyvlpmwkidetuytnokvcm:
/eslint-plugin-prettier/4.2.1_v7o5sx5x3wbs57ifz6wc4f76we:
resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==}
engines: {node: '>=12.0.0'}
peerDependencies:
......@@ -2325,25 +2337,25 @@ packages:
eslint-config-prettier:
optional: true
dependencies:
eslint: 8.26.0
eslint-config-prettier: 8.5.0_eslint@8.26.0
eslint: 8.27.0
eslint-config-prettier: 8.5.0_eslint@8.27.0
prettier: 2.7.1
prettier-linter-helpers: 1.0.0
dev: true
/eslint-plugin-vue/9.7.0_eslint@8.26.0:
/eslint-plugin-vue/9.7.0_eslint@8.27.0:
resolution: {integrity: sha512-DrOO3WZCZEwcLsnd3ohFwqCoipGRSTKTBTnLwdhqAbYZtzWl0o7D+D8ZhlmiZvABKTEl8AFsqH1GHGdybyoQmw==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
dependencies:
eslint: 8.26.0
eslint-utils: 3.0.0_eslint@8.26.0
eslint: 8.27.0
eslint-utils: 3.0.0_eslint@8.27.0
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.0.10
semver: 7.3.7
vue-eslint-parser: 9.1.0_eslint@8.26.0
vue-eslint-parser: 9.1.0_eslint@8.27.0
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
......@@ -2365,13 +2377,13 @@ packages:
estraverse: 5.3.0
dev: true
/eslint-utils/3.0.0_eslint@8.26.0:
/eslint-utils/3.0.0_eslint@8.27.0:
resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
peerDependencies:
eslint: '>=5'
dependencies:
eslint: 8.26.0
eslint: 8.27.0
eslint-visitor-keys: 2.1.0
dev: true
......@@ -2385,8 +2397,8 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/eslint/8.26.0:
resolution: {integrity: sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==}
/eslint/8.27.0:
resolution: {integrity: sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
......@@ -2401,7 +2413,7 @@ packages:
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.1.1
eslint-utils: 3.0.0_eslint@8.26.0
eslint-utils: 3.0.0_eslint@8.27.0
eslint-visitor-keys: 3.3.0
espree: 9.4.0
esquery: 1.4.0
......@@ -2846,8 +2858,8 @@ packages:
engines: {node: '>=12.20.0'}
dev: true
/husky/8.0.1:
resolution: {integrity: sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==}
/husky/8.0.2:
resolution: {integrity: sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==}
engines: {node: '>=14'}
hasBin: true
dev: true
......@@ -3150,8 +3162,8 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/known-css-properties/0.25.0:
resolution: {integrity: sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==}
/known-css-properties/0.26.0:
resolution: {integrity: sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==}
dev: true
/levn/0.4.1:
......@@ -3977,8 +3989,8 @@ packages:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
dev: true
/sass/1.55.0:
resolution: {integrity: sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==}
/sass/1.56.0:
resolution: {integrity: sha512-WFJ9XrpkcnqZcYuLRJh5qiV6ibQOR4AezleeEjTjMsCocYW59dEG19U3fwTTXxzi2Ed3yjPBp727hbbj53pHFw==}
engines: {node: '>=12.0.0'}
hasBin: true
dependencies:
......@@ -4201,26 +4213,26 @@ packages:
resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==}
dev: true
/stylelint-config-prettier/9.0.3_stylelint@14.14.0:
/stylelint-config-prettier/9.0.3_stylelint@14.14.1:
resolution: {integrity: sha512-5n9gUDp/n5tTMCq1GLqSpA30w2sqWITSSEiAWQlpxkKGAUbjcemQ0nbkRvRUa0B1LgD3+hCvdL7B1eTxy1QHJg==}
engines: {node: '>= 12'}
hasBin: true
peerDependencies:
stylelint: '>=11.0.0'
dependencies:
stylelint: 14.14.0
stylelint: 14.14.1
dev: true
/stylelint-config-recess-order/3.0.0_stylelint@14.14.0:
/stylelint-config-recess-order/3.0.0_stylelint@14.14.1:
resolution: {integrity: sha512-uNXrlDz570Q7HJlrq8mNjgfO/xlKIh2hKVKEFMTG1/ih/6tDLcTbuvO1Zoo2dnQay990OAkWLDpTDOorB+hmBw==}
peerDependencies:
stylelint: '>=14'
dependencies:
stylelint: 14.14.0
stylelint-order: 5.0.0_stylelint@14.14.0
stylelint: 14.14.1
stylelint-order: 5.0.0_stylelint@14.14.1
dev: true
/stylelint-config-recommended-scss/8.0.0_mnalcscwzozovshmobozjae4pq:
/stylelint-config-recommended-scss/8.0.0_t5qxeji2l54punp3pwjdchi3we:
resolution: {integrity: sha512-BxjxEzRaZoQb7Iinc3p92GS6zRdRAkIuEu2ZFLTxJK2e1AIcCb5B5MXY9KOXdGTnYFZ+KKx6R4Fv9zU6CtMYPQ==}
peerDependencies:
postcss: ^8.3.3
......@@ -4231,51 +4243,54 @@ packages:
dependencies:
postcss: 8.4.18
postcss-scss: 4.0.5_postcss@8.4.18
stylelint: 14.14.0
stylelint-config-recommended: 9.0.0_stylelint@14.14.0
stylelint-scss: 4.3.0_stylelint@14.14.0
stylelint: 14.14.1
stylelint-config-recommended: 9.0.0_stylelint@14.14.1
stylelint-scss: 4.3.0_stylelint@14.14.1
dev: true
/stylelint-config-recommended/9.0.0_stylelint@14.14.0:
/stylelint-config-recommended/9.0.0_stylelint@14.14.1:
resolution: {integrity: sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==}
peerDependencies:
stylelint: ^14.10.0
dependencies:
stylelint: 14.14.0
stylelint: 14.14.1
dev: true
/stylelint-config-standard-scss/6.0.0_mnalcscwzozovshmobozjae4pq:
resolution: {integrity: sha512-aAWcQgiqsXg6Jyhq/Q/HPbVB7PHf4v/wdyFSDun/qlL/SPxtEcVeGMvJLzRVRaNf3tp3D93QP6N9QKwJa1L0Kw==}
/stylelint-config-standard-scss/6.1.0_t5qxeji2l54punp3pwjdchi3we:
resolution: {integrity: sha512-iZ2B5kQT2G3rUzx+437cEpdcnFOQkwnwqXuY8Z0QUwIHQVE8mnYChGAquyKFUKZRZ0pRnrciARlPaR1RBtPb0Q==}
peerDependencies:
postcss: ^8.3.3
stylelint: ^14.14.0
peerDependenciesMeta:
postcss:
optional: true
dependencies:
stylelint: 14.14.0
stylelint-config-recommended-scss: 8.0.0_mnalcscwzozovshmobozjae4pq
stylelint-config-standard: 29.0.0_stylelint@14.14.0
transitivePeerDependencies:
- postcss
postcss: 8.4.18
stylelint: 14.14.1
stylelint-config-recommended-scss: 8.0.0_t5qxeji2l54punp3pwjdchi3we
stylelint-config-standard: 29.0.0_stylelint@14.14.1
dev: true
/stylelint-config-standard/29.0.0_stylelint@14.14.0:
/stylelint-config-standard/29.0.0_stylelint@14.14.1:
resolution: {integrity: sha512-uy8tZLbfq6ZrXy4JKu3W+7lYLgRQBxYTUUB88vPgQ+ZzAxdrvcaSUW9hOMNLYBnwH+9Kkj19M2DHdZ4gKwI7tg==}
peerDependencies:
stylelint: ^14.14.0
dependencies:
stylelint: 14.14.0
stylelint-config-recommended: 9.0.0_stylelint@14.14.0
stylelint: 14.14.1
stylelint-config-recommended: 9.0.0_stylelint@14.14.1
dev: true
/stylelint-order/5.0.0_stylelint@14.14.0:
/stylelint-order/5.0.0_stylelint@14.14.1:
resolution: {integrity: sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==}
peerDependencies:
stylelint: ^14.0.0
dependencies:
postcss: 8.4.18
postcss-sorting: 7.0.1_postcss@8.4.18
stylelint: 14.14.0
stylelint: 14.14.1
dev: true
/stylelint-scss/4.3.0_stylelint@14.14.0:
/stylelint-scss/4.3.0_stylelint@14.14.1:
resolution: {integrity: sha512-GvSaKCA3tipzZHoz+nNO7S02ZqOsdBzMiCx9poSmLlb3tdJlGddEX/8QzCOD8O7GQan9bjsvLMsO5xiw6IhhIQ==}
peerDependencies:
stylelint: ^14.5.1
......@@ -4285,11 +4300,11 @@ packages:
postcss-resolve-nested-selector: 0.1.1
postcss-selector-parser: 6.0.10
postcss-value-parser: 4.2.0
stylelint: 14.14.0
stylelint: 14.14.1
dev: true
/stylelint/14.14.0:
resolution: {integrity: sha512-yUI+4xXfPHVnueYddSQ/e1GuEA/2wVhWQbGj16AmWLtQJtn28lVxfS4b0CsWyVRPgd3Auzi0NXOthIEUhtQmmA==}
/stylelint/14.14.1:
resolution: {integrity: sha512-Jnftu+lSD8cSpcV/+Z2nfgfgFpTIS1FcujezXPngtoIQ6wtwutL22MsNE0dJuMiM1h1790g2qIjAyUZCMrX4sw==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
hasBin: true
dependencies:
......@@ -4310,7 +4325,7 @@ packages:
import-lazy: 4.0.0
imurmurhash: 0.1.4
is-plain-object: 5.0.0
known-css-properties: 0.25.0
known-css-properties: 0.26.0
mathml-tag-names: 2.1.3
meow: 9.0.0
micromatch: 4.0.5
......@@ -4328,7 +4343,7 @@ packages:
style-search: 0.1.0
supports-hyperlinks: 2.3.0
svg-tags: 1.0.0
table: 6.8.0
table: 6.8.1
v8-compile-cache: 2.3.0
write-file-atomic: 4.0.2
transitivePeerDependencies:
......@@ -4370,8 +4385,8 @@ packages:
resolution: {integrity: sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g==}
dev: true
/table/6.8.0:
resolution: {integrity: sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==}
/table/6.8.1:
resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==}
engines: {node: '>=10.0.0'}
dependencies:
ajv: 8.11.0
......@@ -4602,7 +4617,7 @@ packages:
vue: 2.7.13
dev: false
/vite-plugin-eslint/1.8.1_eslint@8.26.0+vite@3.2.2:
/vite-plugin-eslint/1.8.1_eslint@8.27.0+vite@3.2.3:
resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==}
peerDependencies:
eslint: '>=7'
......@@ -4610,22 +4625,25 @@ packages:
dependencies:
'@rollup/pluginutils': 4.2.1
'@types/eslint': 8.4.5
eslint: 8.26.0
eslint: 8.27.0
rollup: 2.78.1
vite: 3.2.2_sass@1.55.0+terser@5.15.1
vite: 3.2.3_u3p2uvz4grev654aqkjuqhavhq
dev: true
/vite/3.2.2_sass@1.55.0+terser@5.15.1:
resolution: {integrity: sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==}
/vite/3.2.3_u3p2uvz4grev654aqkjuqhavhq:
resolution: {integrity: sha512-h8jl1TZ76eGs3o2dIBSsvXDLb1m/Ec1iej8ZMdz+PsaFUsftZeWe2CZOI3qogEsMNaywc17gu0q6cQDzh/weCQ==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
'@types/node': '>= 14'
less: '*'
sass: '*'
stylus: '*'
sugarss: '*'
terser: ^5.4.0
peerDependenciesMeta:
'@types/node':
optional: true
less:
optional: true
sass:
......@@ -4637,11 +4655,12 @@ packages:
terser:
optional: true
dependencies:
'@types/node': 18.11.9
esbuild: 0.15.10
postcss: 8.4.18
resolve: 1.22.1
rollup: 2.79.1
sass: 1.55.0
sass: 1.56.0
terser: 5.15.1
optionalDependencies:
fsevents: 2.3.2
......@@ -4662,14 +4681,14 @@ packages:
vue: 2.7.13
dev: false
/vue-eslint-parser/9.1.0_eslint@8.26.0:
/vue-eslint-parser/9.1.0_eslint@8.27.0:
resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==}
engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: '>=6.0.0'
dependencies:
debug: 4.3.4
eslint: 8.26.0
eslint: 8.27.0
eslint-scope: 7.1.1
eslint-visitor-keys: 3.3.0
espree: 9.4.0
......
<?xml version="1.0" encoding="UTF-8"?>
<svg width="41px" height="46px" viewBox="0 0 41 46" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>导入</title>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="列表-导入数据" transform="translate(-662.000000, -314.000000)" fill="#57A3FD" fill-rule="nonzero">
<g id="编组-20" transform="translate(411.000000, 200.000000)">
<g id="导入" transform="translate(251.000000, 114.000000)">
<path d="M28.0376544,3.76410323 L29.7766688,6.44368556 L13.239007,15.644894 L11.4999926,12.9647074 L28.0376544,3.76410323 Z M9.11219211,14.7380049 L12.3001824,14.7380049 L12.3001824,22.3302555 L9.11158406,20.5436659 L9.11219211,14.7380049 Z" id="形状"></path>
<path d="M0.00060804817,8.56257961 L21.8671937,19.2041768 L21.8671937,46 L0.00060804817,35.2816707 L0.00060804817,8.56257961 Z M2.27835205,12.0982991 L2.27835205,33.9010967 L19.5894497,42.3869442 L19.5894497,20.5841466 L2.277744,12.0982991 L2.27835205,12.0982991 Z" id="形状"></path>
<path d="M20.163446,0 L41,9.44953043 L21.7066692,19.2041768 L0,8.56257961 L20.163446,0 Z M20.1330436,2.44576083 L5.38912041,8.70758522 L21.69086,16.6992054 L35.8151834,9.55768043 L20.1336517,2.44636502 L20.1330436,2.44576083 Z" id="形状"></path>
<polygon id="路径" points="20.8207448 18.8332042 41 9.37884022 41 36.1746635 21.8671937 46"></polygon>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
......@@ -74,6 +74,8 @@ import {
ExtendActionTimeLine,
ExtendActionGrid,
AppSelectTree,
DataImport,
DataExport,
} from './components/common';
// 编辑器组件
import {
......@@ -175,6 +177,8 @@ export const AppRegister = {
v.component('ExtendActionTimeLine', ExtendActionTimeLine);
v.component('ExtendActionGrid', ExtendActionGrid);
v.component('AppSelectTree', AppSelectTree);
v.component('DataImport', DataImport);
v.component('DataExport', DataExport);
// 注册编辑器组件
v.component('IBizSpan', IBizSpan);
v.component('IBizInput', IBizInput);
......
......@@ -37,26 +37,23 @@ export const ActionToolbar = defineComponent({
details.map(detail => {
const action = detail.getPSUIAction();
if (action && this.actionsState[detail.name].visible) {
return (
return [
detail.addSeparator && (
<div class={this.ns.e('separator')}></div>
),
<i-button
type='text'
size='small'
on-click={(e: MouseEvent) => this.handleClick(detail, e)}
disabled={this.actionsState[detail.name].disabled}
class={[
this.ns.e('item'),
detail.addSeparator
? this.ns.em('item', 'separated')
: undefined,
this.ns.is('disabled', false),
]}
class={[this.ns.e('item'), this.ns.is('disabled', false)]}
>
{detail.showIcon && action.getPSSysImage() && (
<app-icon icon={action.getPSSysImage()}></app-icon>
)}
{detail.showCaption ? action!.caption : ''}
</i-button>
);
</i-button>,
];
}
return null;
})}
......
import { useNamespace } from '@ibiz-template/vue-util';
import { defineComponent, PropType, ref } from 'vue';
import '@ibiz-template/theme/style/components/common/data-export/data-export.scss';
export const DataExport = defineComponent({
name: 'DataExport',
props: {
dismiss: {
type: Function as PropType<(_result: IParams) => void>,
required: true,
},
maxRowCount: {
type: Number,
required: true,
},
pageSize: {
type: Number,
required: true,
},
},
setup(props) {
const ns = useNamespace('data-export');
const startPage = ref(1);
const endPage = ref(1);
const customExport = () => {
console.log(startPage.value);
console.log(endPage.value);
props.dismiss({
page: 0,
offset: (startPage.value - 1) * props.pageSize,
size: (endPage.value - startPage.value + 1) * props.pageSize,
});
};
const exportAll = () => {
props.dismiss({ page: 0, size: props.maxRowCount });
};
const exportCurrent = () => {
props.dismiss({});
};
return {
ns,
startPage,
endPage,
customExport,
exportAll,
exportCurrent,
};
},
render() {
return (
<div class={this.ns.b()}>
<i-button
class={this.ns.e('text-button')}
type='text'
onClick={this.exportAll}
>
导出全部(最大导出{this.maxRowCount}行)
</i-button>
<i-button
class={this.ns.e('text-button')}
type='text'
onClick={this.exportCurrent}
>
导出当前页
</i-button>
<div class={this.ns.e('custom-bar')}>
<i-input-number
class={this.ns.e('input-number')}
min={1}
v-model={this.startPage}
/>
<span class={this.ns.e('delimiter')}>~</span>
<i-input-number
class={this.ns.e('input-number')}
min={1}
v-model={this.endPage}
/>
<span class={this.ns.e('delimiter')}></span>
<i-button
type='primary'
disabled={!this.startPage || !this.endPage}
onClick={this.customExport}
>
导出
</i-button>
</div>
</div>
);
},
});
import { useNamespace } from '@ibiz-template/vue-util';
import { defineComponent, ref } from 'vue';
import '@ibiz-template/theme/style/components/common/data-import/data-import.scss';
import { HttpError } from '@ibiz-template/core';
export const DataImport = defineComponent({
name: 'DataImport',
props: {
templateUrl: {
type: String,
required: true,
},
importUrl: {
type: String,
required: true,
},
},
setup(props, { emit }) {
const ns = useNamespace('data-import');
const inputUpLoad = ref();
const message = ref<{
state: 'ready' | 'success' | 'fail';
message: string;
rowError: Array<{ index: number; info: string }>;
}>({
state: 'ready',
message: '',
rowError: [],
});
// 上传数据
const uploadFile = async (file: Blob) => {
const data = new FormData();
data.append('file', file);
try {
const res = await ibiz.net.request(props.importUrl, {
method: 'post',
data,
headers: { 'Content-Type': 'multipart/form-data' },
});
message.value.state = 'success';
message.value.message = '导入成功';
const { errorinfo, success, total } = res.data;
const totalNum = total ? Number(total) : 0;
const successNum = success ? Number(success) : 0;
const errorNum = total - success;
message.value.message = `共计导入数据 ${totalNum} 条,错误[${errorNum}],成功[${successNum}]`;
if (errorinfo && Object.keys(errorinfo).length > 0) {
message.value.rowError = [];
Object.keys(errorinfo).forEach((key: string) => {
message.value.rowError.push({
index: Number(key) + 1,
info: errorinfo[key].errorInfo,
});
});
}
} catch (error) {
message.value.state = 'fail';
message.value.message = `导入失败!${(error as HttpError).message}`;
}
};
// 文件选择变更事件
const onFileChange = ($event: Event) => {
const obj = $event.target as IData;
if (!obj.files) {
return;
}
const selectedFile = obj.files[0];
obj.value = null; // 置空不然下次文件不变不触发
uploadFile(selectedFile);
};
// 下载模板文件
const onLinkClick = async () => {
const res = await ibiz.net.request(props.templateUrl, {
responseType: 'blob',
});
if (res.status === 200) {
let fileName =
res.headers['content-disposition']!.split(';')
.find((str: string) => str.indexOf('filename=') !== -1)
?.slice(9) || '';
fileName = decodeURIComponent(fileName);
const blob = new Blob([res.data as Blob], {
type: 'application/vnd.ms-excel',
});
const elink = document.createElement('a');
elink.download = fileName;
elink.style.display = 'none';
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
}
};
const selectFile = () => {
inputUpLoad.value.click();
};
const onCancelButtonClick = () => {
emit('close', { ok: false, data: {} });
};
return {
ns,
onLinkClick,
selectFile,
onCancelButtonClick,
onFileChange,
inputUpLoad,
message,
};
},
render() {
return (
<div class={this.ns.b()}>
<input
ref='inputUpLoad'
type='file'
style='display: none'
accept='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
onChange={this.onFileChange}
/>
<div class={this.ns.e('caption')}>导入数据</div>
{this.message.state === 'ready' ? (
<div class={this.ns.b('upload')} onClick={this.selectFile}>
<img
class={this.ns.be('upload', 'img')}
src='./assets/img/icon-import.svg'
></img>
<span class={this.ns.be('upload', 'text')}>单击此区域进行上传</span>
</div>
) : (
<div class={this.ns.b('message')}>
<div class={this.ns.be('message', 'title')}>导入结果</div>
<div class={this.ns.be('message', 'content')}>
{this.message.message}
</div>
{this.message.rowError.length > 0 && [
<div class={this.ns.be('message', 'title')}>错误信息</div>,
<div class={this.ns.be('message', 'content')}>
{this.message.rowError.map(item => {
return <div>{`第 ${item.index} 行:${item.info}`}</div>;
})}
</div>,
]}
</div>
)}
<div class={this.ns.e('template-container')}>
<div class={this.ns.e('template-description')}>
下载导入模版,并按要求填写:
</div>
<div class={this.ns.e('template-link')} onClick={this.onLinkClick}>
<i-icon type='ios-link' />
数据导入模板文件
</div>
</div>
<div class={this.ns.e('button-bar')}>
<i-button onClick={this.onCancelButtonClick}>取消</i-button>
{this.message.state !== 'ready' && (
<i-button onClick={this.selectFile}>重新上传</i-button>
)}
</div>
</div>
);
},
});
......@@ -13,6 +13,8 @@ import { WfVersionSelect } from './wf-version-select/wf-version-select';
import { ExtendActionTimeLine } from './extend-action-timeline/extend-action-timeline';
import { ExtendActionGrid } from './extend-action-grid/extend-action-grid';
export { DataImport } from './data-import/data-import';
export { DataExport } from './data-export/data-export';
export { AppSelectTree } from '../common/app-select-tree/app-select-tree';
export {
AppIcon,
......
......@@ -23,10 +23,10 @@ export const WfVersionSelect = defineComponent({
const curValue: Ref<string | number> = ref('');
const onOkButtonClick = () => {
emit('closeSelect', { ok: true, data: curValue.value });
emit('close', { ok: true, data: [curValue.value] });
};
const onCancelButtonClick = () => {
emit('closeSelect');
emit('close', { ok: false, data: [] });
};
return { ns, curValue, items, onOkButtonClick, onCancelButtonClick };
......
......@@ -57,7 +57,28 @@ export const IBizDatePicker = defineComponent({
const handleChange = (date: string, _dateType: IData) => {
emit('change', date);
};
return { ns, c, editorModel, type, format, formatValue, handleChange };
const inputRef = ref();
if (props.autoFocus) {
watch(inputRef, newVal => {
if (newVal) {
const input = newVal.$el.getElementsByTagName('input')[0];
input.click();
}
});
}
return {
ns,
c,
editorModel,
type,
format,
formatValue,
handleChange,
inputRef,
};
},
render() {
return (
......@@ -66,6 +87,7 @@ export const IBizDatePicker = defineComponent({
this.formatValue
) : (
<i-CalendarPicker
ref='inputRef'
type={this.type}
format={this.format}
placeholder={this.c!.placeHolder}
......
......@@ -35,6 +35,7 @@ export const IBizGridDatePicker = defineComponent({
props: {
...this.$props,
infoMode: this.isInfoMode,
autoFocus: true,
},
on: {
change: this.onChange,
......
import { ref, Ref, defineComponent, computed } from 'vue';
import { ref, Ref, defineComponent, computed, watch } from 'vue';
import {
getDropdownProps,
getEditorEmits,
......@@ -59,7 +59,17 @@ export const IBizDropdown = defineComponent({
.join(',');
});
return { ns, c, curValue, items, valueText, hasChildren };
const inputRef = ref();
if (props.autoFocus) {
watch(inputRef, newVal => {
if (newVal) {
newVal.toggleMenu();
}
});
}
return { ns, c, curValue, items, valueText, hasChildren, inputRef };
},
render() {
......@@ -73,6 +83,7 @@ export const IBizDropdown = defineComponent({
></app-select-tree>
) : (
<i-select
ref='inputRef'
v-model={this.curValue}
allow-clear
clearable
......
......@@ -35,6 +35,7 @@ export const IBizGridDropdown = defineComponent({
props: {
...this.$props,
infoMode: this.isInfoMode,
autoFocus: true,
},
on: {
change: this.onChange,
......
......@@ -35,6 +35,7 @@ export const IBizGridInputNumber = defineComponent({
props: {
...this.$props,
infoMode: this.isInfoMode,
autoFocus: true,
},
on: {
change: this.onChange,
......
......@@ -35,6 +35,7 @@ export const IBizGridInput = defineComponent({
props: {
...this.$props,
infoMode: this.isInfoMode,
autoFocus: true,
},
on: {
change: this.onChange,
......
......@@ -30,17 +30,30 @@ export const IBizInputNumber = defineComponent({
emit('change', e);
};
const inputRef = ref();
if (props.autoFocus) {
watch(inputRef, newVal => {
if (newVal) {
const input = newVal.$el.getElementsByTagName('input')[0];
input.focus();
}
});
}
return {
ns,
c,
currentVal,
handleChange,
inputRef,
};
},
render() {
return (
<div class={this.ns.b()}>
<i-input-number
ref='inputRef'
value={this.currentVal}
placeholder={this.c.placeHolder}
readonly={this.c.model.readOnly}
......
......@@ -58,12 +58,24 @@ export const IBizInput = defineComponent({
emit('change', e.target.value);
}, 500);
const inputRef = ref();
if (props.autoFocus) {
watch(inputRef, newVal => {
if (newVal) {
const input = newVal.$el.getElementsByTagName('input')[0];
input.focus();
}
});
}
return {
ns,
rows,
type,
currentVal,
handleChange,
inputRef,
};
},
render() {
......@@ -78,6 +90,7 @@ export const IBizInput = defineComponent({
this.currentVal
) : (
<i-input
ref='inputRef'
value={this.currentVal}
placeholder={this.controller.placeHolder}
readonly={this.controller.model.readOnly}
......
......@@ -2,7 +2,7 @@ import {
GridEditItemController,
GridRowController,
} from '@ibiz-template/controller';
import { defineComponent, getCurrentInstance } from 'vue';
import { computed, defineComponent, getCurrentInstance } from 'vue';
import '@ibiz-template/theme/style/components/widgets/grid/grid-edit-item.scss';
import { useForce, useNamespace } from '@ibiz-template/vue-util';
......@@ -37,7 +37,23 @@ export const GridEditItem = defineComponent({
e.stopPropagation();
};
return { ns, rowDataChange, rowSave, onStopPropagation };
const alignStyle = computed(() => {
let justContent = '';
switch (props.controller.model.align) {
case 'LEFT':
justContent = 'flex-start';
break;
case 'RIGHT':
justContent = 'flex-end';
break;
default:
justContent = 'center';
break;
}
return ns.cssVarBlock({ 'justify-content': justContent });
});
return { ns, alignStyle, rowDataChange, rowSave, onStopPropagation };
},
render(h) {
const codeName = this.controller.model.codeName;
......@@ -47,6 +63,7 @@ export const GridEditItem = defineComponent({
error={this.row.errors[codeName]}
nativeondblclick={this.onStopPropagation}
nativeonClick={this.onStopPropagation}
style={this.alignStyle}
>
{this.controller.editorProvider &&
h(this.controller.editorProvider.gridEditor, {
......
import {
formatToCodeListText,
GridFieldColumnController,
GridRowController,
} from '@ibiz-template/controller';
......@@ -21,12 +22,16 @@ export const GridFieldColumn = defineComponent({
setup(props) {
const ns = useNamespace('grid-field-column');
const codeListText = computed(() => {
if (props.controller.codeListItems?.length) {
const value = props.row.data[props.controller.model.codeName];
const findItem = props.controller.codeListItems.find(
item => item.value === value,
// 非前台处理,不做值转换
if (props.controller.model.source.cLConvertMode !== 'FRONT') {
return null;
}
const fieldValue = props.row.data[props.controller.model.codeName];
if (props.controller.codeListItems?.length && fieldValue) {
return formatToCodeListText(
fieldValue,
props.controller.codeListItems!,
);
return findItem?.text;
}
return null;
});
......@@ -44,7 +49,23 @@ export const GridFieldColumn = defineComponent({
}
};
return { ns, codeListText, onCellClick };
const alignStyle = computed(() => {
let justContent = '';
switch (props.controller.model.align) {
case 'LEFT':
justContent = 'flex-start';
break;
case 'RIGHT':
justContent = 'flex-end';
break;
default:
justContent = 'center';
break;
}
return ns.cssVarBlock({ 'justify-content': justContent });
});
return { ns, alignStyle, codeListText, onCellClick };
},
render() {
const c = this.controller;
......@@ -52,6 +73,7 @@ export const GridFieldColumn = defineComponent({
return (
<div
class={[this.ns.b(), c.isLinkColumn && this.ns.m('link-column')]}
style={this.alignStyle}
onClick={this.onCellClick}
>
<span class={this.ns.e('text')}>{this.codeListText || value}</span>
......
......@@ -4,7 +4,7 @@ import {
} from '@ibiz-template/controller';
import { IPSUIActionGroupDetail } from '@ibiz-template/model';
import { useNamespace } from '@ibiz-template/vue-util';
import { defineComponent } from 'vue';
import { computed, defineComponent } from 'vue';
import '@ibiz-template/theme/style/components/widgets/grid/grid-ua-column.scss';
export const GridUAColumn = defineComponent({
......@@ -31,12 +31,29 @@ export const GridUAColumn = defineComponent({
await props.uaColumn.onActionClick(detail, props.row, event);
};
return { ns, onStopPropagation, onActionClick };
const alignStyle = computed(() => {
let justContent = '';
switch (props.uaColumn.model.align) {
case 'LEFT':
justContent = 'flex-start';
break;
case 'RIGHT':
justContent = 'flex-end';
break;
default:
justContent = 'center';
break;
}
return ns.cssVarBlock({ 'justify-content': justContent });
});
return { ns, alignStyle, onStopPropagation, onActionClick };
},
render() {
return (
<div
class={this.ns.b()}
style={this.alignStyle}
on-dblclick={this.onStopPropagation}
onClick={this.onStopPropagation}
>
......
......@@ -13,6 +13,7 @@ import {
NotificationUtil,
LoadingUtil,
ErrorHandler,
OverlayController,
} from './util';
import { piniaInstance } from './store';
import { attachEnvironmentConfig } from './attach-environment-config';
......@@ -59,6 +60,7 @@ async function createApp(): Promise<void> {
ibiz.modal = new ModalUtil();
ibiz.notification = new NotificationUtil();
ibiz.loading = new LoadingUtil();
ibiz.overlay = new OverlayController();
ibiz.plugin = new PluginFactory();
Vue.use(UserRegister);
},
......
......@@ -18,6 +18,15 @@ import { basename, dirname, join } from 'path-browserify';
* @class PluginFactory
*/
export class PluginFactory implements IPluginFactory {
/**
* 是否为 http || https 开头
*
* @author chitanda
* @date 2022-11-07 14:11:28
* @protected
*/
protected urlReg = /^http[s]?:\/\/[^\s]*/;
/**
* 是否已经加载过文件缓存
*
......@@ -134,6 +143,7 @@ export class PluginFactory implements IPluginFactory {
}
let data: IParams | null = null;
const url = this.parseUrl(scriptUrl);
// 本地开发模式下的包引用加载
if (this.devPackages.has(name)) {
const fn = this.devPackages.get(name)!;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
......@@ -184,7 +194,7 @@ export class PluginFactory implements IPluginFactory {
if (arr && arr.length > 0) {
const folder = dirname(rootJsPath);
const all = arr.map(styleUrl => {
const url = `${join(folder, basename(styleUrl))}`;
const url = `${folder}/${basename(styleUrl)}`;
if (this.cache.has(url)) {
return false;
}
......@@ -213,9 +223,15 @@ export class PluginFactory implements IPluginFactory {
* @return {*} {string}
*/
protected parseUrl(script: string): string {
if (script.startsWith('http://') || script.startsWith('https://')) {
if (this.urlReg.test(script)) {
return script;
}
if (this.urlReg.test(ibiz.env.pluginBaseUrl)) {
if (script.startsWith('/')) {
return ibiz.env.pluginBaseUrl + script;
}
return `${ibiz.env.pluginBaseUrl}/${script}`;
}
return `./${join(ibiz.env.pluginBaseUrl, script)}`;
}
}
import {
CreateElement,
defineComponent,
getCurrentInstance,
PropType,
reactive,
ref,
VNode,
} from 'vue';
import { useNamespace } from '@ibiz-template/vue-util';
import { isNumber } from 'lodash-es';
import { IDrawerOptions, IOverlayContainer } from '@ibiz-template/runtime';
import { useUIStore } from '@/store';
import '@ibiz-template/theme/style/components/util/drawer/drawer.scss';
import { OverlayContainer } from '../overlay-container/overlay-container';
export const AppDrawerComponent = defineComponent({
props: {
opts: {
type: Object as PropType<IDrawerOptions>,
default: () => ({}),
},
},
setup(props, ctx) {
const ns = useNamespace('drawer');
const { proxy } = getCurrentInstance()!;
const isShow = ref(false);
const { zIndex } = useUIStore();
const drawerZIndex = zIndex.increment();
// 处理自定义样式
const customStyle = reactive<IData>({});
const { width, height } = props.opts;
if (width) {
customStyle.width = isNumber(width) ? `${width}px` : width;
}
if (height) {
customStyle.height = isNumber(height) ? `${height}px` : height;
}
// 所有关闭方式最终都走这个
const onVisibleChange = (state: boolean) => {
if (!state) {
zIndex.decrement();
ctx.emit('dismiss');
document.body.removeChild(proxy.$el);
}
};
const dismiss = () => {
isShow.value = false;
};
const present = () => {
isShow.value = true;
};
return {
ns,
isShow,
drawerZIndex,
customStyle,
dismiss,
present,
onVisibleChange,
};
},
render() {
return (
<i-drawer
value={this.isShow}
on-input={(val: boolean) => {
this.isShow = val;
}}
width={this.opts.width}
height={this.opts.height}
class={[this.ns.b()]}
style={{ [this.ns.cssVarBlockName('z-index')]: this.drawerZIndex }}
styles={this.customStyle}
placement={this.opts.placement || 'right'}
on-on-visible-change={this.onVisibleChange}
>
{this.$slots.default}
</i-drawer>
);
},
});
/**
* 创建抽屉
*
* @author lxm
* @date 2022-11-09 18:11:57
* @export
* @param {(_h: CreateElement) => VNode} render
* @param {(IDrawerOptions | undefined)} [opts]
* @returns {*} {IOverlayContainer}
*/
export function createDrawer(
render: (_h: CreateElement) => VNode,
opts?: IDrawerOptions | undefined,
): IOverlayContainer {
return new OverlayContainer(AppDrawerComponent, render, opts);
}
import {
CreateElement,
defineComponent,
getCurrentInstance,
PropType,
reactive,
ref,
VNode,
} from 'vue';
import { useNamespace } from '@ibiz-template/vue-util';
import { isNumber } from 'lodash-es';
import { IModalOptions, IOverlayContainer } from '@ibiz-template/runtime';
import { useUIStore } from '@/store';
import '@ibiz-template/theme/style/components/util/modal/modal.scss';
import { OverlayContainer } from '../overlay-container/overlay-container';
export const AppModalComponent = defineComponent({
props: {
opts: {
type: Object as PropType<IModalOptions>,
default: () => ({}),
},
},
setup(props, ctx) {
const ns = useNamespace('modal');
const { proxy } = getCurrentInstance()!;
const isShow = ref(false);
const { zIndex } = useUIStore();
const modalZIndex = zIndex.increment();
// 处理自定义样式,添加z-index变量
const customStyle = reactive<IData>({});
const { width, height } = props.opts;
if (width) {
customStyle.width = isNumber(width) ? `${width}px` : width;
}
if (height) {
customStyle.height = isNumber(height) ? `${height}px` : height;
}
// 合并options
const options = ref<IModalOptions>({ footerHide: true });
if (props.opts) {
Object.assign(options.value, props.opts);
}
// 所有关闭方式最终都走这个
const onVisibleChange = (state: boolean) => {
if (!state) {
zIndex.decrement();
ctx.emit('dismiss');
document.body.removeChild(proxy.$el);
}
};
const dismiss = () => {
isShow.value = false;
};
const present = () => {
isShow.value = true;
};
return {
ns,
isShow,
options,
modalZIndex,
customStyle,
present,
dismiss,
onVisibleChange,
};
},
render() {
return (
<i-modal
value={this.isShow}
on-input={(val: boolean) => {
this.isShow = val;
}}
class={[
this.ns.b(),
this.options.placement && this.ns.m(this.options.placement),
]}
style={{ [this.ns.cssVarBlockName('z-index')]: this.modalZIndex }}
styles={this.customStyle}
footer-hide={this.options.footerHide}
on-on-visible-change={this.onVisibleChange}
>
{this.$slots.default}
</i-modal>
);
},
});
/**
* 创建模态框
*
* @author lxm
* @date 2022-11-09 18:11:57
* @export
* @param {(_h: CreateElement) => VNode} render
* @param {(IModalOptions | undefined)} [opts]
* @returns {*} {IOverlayContainer}
*/
export function createModal(
render: (_h: CreateElement) => VNode,
opts?: IModalOptions | undefined,
): IOverlayContainer {
return new OverlayContainer(AppModalComponent, render, opts);
}
/* eslint-disable @typescript-eslint/no-explicit-any */
import { arrow, computePosition, flip, offset, shift } from '@floating-ui/dom';
import { IPopoverOptions } from '@ibiz-template/runtime';
import { useNamespace } from '@ibiz-template/vue-util';
import {
computed,
CreateElement,
defineComponent,
onUnmounted,
PropType,
ref,
VNode,
} from 'vue';
import '@ibiz-template/theme/style/components/util/popover/popover.scss';
import { OverlayPopoverContainer } from '../overlay-popover-container/overlay-popover-container';
/**
* 计算飘窗显示
*
* @author chitanda
* @date 2022-11-08 21:11:18
* @param {HTMLElement} element
* @param {HTMLElement} el
* @param {HTMLElement} arrEl
* @param {IPopoverOptions} opts
* @return {*} {Promise<void>}
*/
async function computePos(
element: HTMLElement,
el: HTMLElement,
arrEl: HTMLElement,
opts: IPopoverOptions,
): Promise<void> {
const options = await computePosition(element, el, {
placement: opts.placement,
strategy: 'absolute',
middleware: [offset(6), flip(), shift(), arrow({ element: arrEl! })],
});
{
const { x, y, placement, middlewareData } = options;
const { style } = el;
style.left = `${x}px`;
style.top = `${y}px`;
// 箭头位置
const { x: arrowX, y: arrowY } = middlewareData.arrow!;
const staticSide: any = {
top: 'bottom',
right: 'left',
bottom: 'top',
left: 'right',
}[placement.split('-')[0]];
Object.assign(arrEl.style, {
left: arrowX != null ? `${arrowX}px` : '',
top: arrowY != null ? `${arrowY}px` : '',
right: '',
bottom: '',
[staticSide]: '-4px',
});
}
}
const AppPopoverComponent = defineComponent({
props: {
opts: {
type: Object as PropType<IPopoverOptions>,
default: () => ({}),
},
},
setup(props, ctx) {
// 样式命名空间
const ns = useNamespace('popover');
// 是否显示
const isShow = ref(false);
// 是否悬浮在内容区,当悬浮在内容区时 autoClose 禁用
const isHover = ref(false);
// 跟 dom 元素
const el = ref<HTMLDivElement>();
// arrow dom 元素
const arrEl = ref<HTMLDivElement>();
// 是否可以自动关闭
const autoClose = computed<boolean>(() => {
return props.opts.autoClose === true && isHover.value === false;
});
// 鼠标入飘窗内容区
function onMouseenter(e: MouseEvent): void {
e.stopPropagation();
isHover.value = true;
}
// 鼠标出飘窗内容区
function onMouseleave(e: MouseEvent): void {
e.stopPropagation();
isHover.value = false;
}
// 点击容器关闭飘窗
function dismiss(): void {
ctx.emit('dismiss');
}
// 组件销毁用于事件触发
function destroy(e: Event): void {
e.stopPropagation();
if (autoClose.value) {
dismiss();
}
}
function addEvents(): void {
window.addEventListener('mousedown', destroy, { capture: true });
window.addEventListener('blur', destroy, { capture: true });
window.addEventListener('resize', destroy, { capture: true });
}
function removeEvents(): void {
window.removeEventListener('mousedown', destroy, { capture: true });
window.removeEventListener('blur', destroy, { capture: true });
window.removeEventListener('resize', destroy, { capture: true });
}
addEvents();
onUnmounted(() => {
removeEvents();
});
/**
* 飘窗显示并计算位置
*
* @author chitanda
* @date 2022-11-09 12:11:04
* @param {HTMLElement} target
* @return {*} {Promise<void>}
*/
async function present(target: HTMLElement): Promise<void> {
isShow.value = true;
await computePos(target, el.value!, arrEl.value!, props.opts);
}
return {
ns,
el,
arrEl,
isShow,
isHover,
present,
dismiss,
onMouseenter,
onMouseleave,
};
},
render() {
return (
<div
class={[
this.ns.b(),
this.ns.is('show', this.isShow),
this.ns.is('hover', this.isHover),
]}
ref='el'
onMouseenter={this.onMouseenter}
onMouseleave={this.onMouseleave}
>
<div class={[this.ns.e('arrow')]} ref='arrEl'></div>
{this.$slots.default}
</div>
);
},
});
/**
* 创建飘窗
*
* @author chitanda
* @date 2022-11-09 15:11:08
* @export
* @param {(_h: CreateElement) => VNode} render
* @param {IPopoverOptions} [opts]
* @return {*} {OverlayPopoverContainer}
*/
export function createPopover(
render: (_h: CreateElement) => VNode,
opts?: IPopoverOptions,
): OverlayPopoverContainer {
return new OverlayPopoverContainer(AppPopoverComponent, render, opts);
}
......@@ -4,5 +4,6 @@ export { ModalUtil } from './model-util/model-util';
export { NotificationUtil } from './notification-util/notification-util';
export { OpenViewUtil } from './open-view-util/open-view-util';
export { ErrorHandler } from './error-handler/error-handler';
export { AppModal } from './open-view-util/app-modal/app-modal';
export { AppDrawer } from './open-view-util/app-drawer/app-drawer';
export { OverlayContainer } from './overlay-container/overlay-container';
export { OverlayController } from './overlay-controller/overlay-controller';
export { OverlayPopoverContainer } from './overlay-popover-container/overlay-popover-container';
import { IBizContext } from '@ibiz-template/core';
import { IPSAppView } from '@ibiz-template/model';
import { IModalData, IOpenViewUtil } from '@ibiz-template/runtime';
import {
IModal,
IModalData,
IOpenViewUtil,
ViewMode,
} from '@ibiz-template/runtime';
import { generateRoutePath } from '@ibiz-template/vue-util';
import router from '@/router';
import { AppModal } from './app-modal/app-modal';
import { AppDrawer } from './app-drawer/app-drawer';
import {
getDrawerPlacement,
openViewDrawer,
openViewModal,
openViewPopover,
} from '../overlay-view-util/overlay-view-util';
/**
* 打开视图方式工具类
......@@ -47,7 +56,7 @@ export class OpenViewUtil implements IOpenViewUtil {
context?: IBizContext | undefined,
params?: IParams | undefined,
): Promise<IModalData> {
// 获取视图组件名和path
// 获取视图path
const modelPath = appView.modelPath!;
// 设置默认的modal参数
......@@ -57,25 +66,38 @@ export class OpenViewUtil implements IOpenViewUtil {
footerHide: true,
};
const res = await AppModal.openModal(
'ViewShell',
const modal: IModal = { mode: ViewMode.MODAL };
return openViewModal(
{
context,
params,
modelPath,
modal,
},
opts,
);
return res;
}
async popover(
appView: IPSAppView,
event: MouseEvent,
context?: IBizContext | undefined,
params?: IParams | undefined,
): Promise<IModalData> {
ibiz.log.warn('openPopover', appView, context, params);
throw new Error();
// 获取视图path
const modelPath = appView.modelPath!;
const modal: IModal = { mode: ViewMode.POPOVER };
return openViewPopover(
event,
{
context,
params,
modelPath,
modal,
},
{ autoClose: true, placement: 'bottom' },
);
}
/**
......@@ -93,9 +115,9 @@ export class OpenViewUtil implements IOpenViewUtil {
context?: IBizContext | undefined,
params?: IParams | undefined,
): Promise<IModalData> {
// 获取视图组件名和path
// 获取视图path
const modelPath = appView.modelPath!;
const placement = AppDrawer.getPlacement(appView.openMode);
const placement = getDrawerPlacement(appView.openMode);
// 设置默认的modal参数
const opts = {
......@@ -104,16 +126,16 @@ export class OpenViewUtil implements IOpenViewUtil {
placement,
};
const res = await AppDrawer.openDrawer(
'ViewShell',
const modal: IModal = { mode: ViewMode.DRAWER };
return openViewDrawer(
{
context,
params,
modelPath,
modal,
},
opts,
);
return res;
}
async custom(
......
/* eslint-disable @typescript-eslint/no-explicit-any */
/* eslint-disable no-unused-vars */
import Vue, { CreateElement, VNode } from 'vue';
import { QXEvent } from 'qx-util';
import { IOverlayContainer } from '@ibiz-template/runtime';
import router from '@/router';
import { piniaInstance } from '@/store';
/**
* 全局弹出承载组件
*
* @author chitanda
* @date 2022-11-09 12:11:09
* @export
* @class OverlayContainer
*/
export class OverlayContainer<O> implements IOverlayContainer {
/**
* vue 飘窗呈现实例
*
* @author chitanda
* @date 2022-11-09 12:11:09
* @protected
* @type {Vue}
*/
protected vm?: Vue;
/**
* 具体模态组件
*
* @author chitanda
* @date 2022-11-09 12:11:34
* @protected
* @type {*}
*/
protected modal: any;
/**
* 外面调用dismiss时传的result结果
*
* @author lxm
* @date 2022-11-09 20:11:06
* @protected
* @type {unknown}
*/
protected result?: unknown;
/**
* 内部事件
*
* @author chitanda
* @date 2022-11-09 12:11:42
* @protected
*/
protected evt: QXEvent<{ dismiss: (data?: unknown) => void }> = new QXEvent();
/**
* 创建全局呈现
*
* @author chitanda
* @date 2022-11-09 14:11:52
* @param {unknown} component
* @param {(h: CreateElement) => VNode} render
* @param {IPopoverOptions} [opts]
*/
constructor(
protected component: unknown,
protected render: (h: CreateElement) => VNode,
protected opts?: O,
) {
this.init();
}
/**
* 初始化飘窗
*
* @author chitanda
* @date 2022-11-09 12:11:55
* @protected
* @return {*} {void}
*/
protected init(): void {
const self = this;
const { render, opts } = this;
const container = document.createElement('div');
document.body.appendChild(container);
const vm = new Vue({
el: container,
pinia: piniaInstance,
router,
beforeDestroy() {
vm!.$el.remove();
},
mounted() {
self.modal = this.$refs.root;
},
destroyed() {
self.evt.emit('dismiss', self.result);
},
render(h) {
return h(
self.component as string,
{
ref: 'root',
props: { opts },
on: {
dismiss() {
vm!.$destroy();
},
},
},
[render(h)],
);
},
});
this.vm = vm;
}
/**
* 打开飘窗
*
* @author chitanda
* @date 2022-11-09 12:11:52
* @param {HTMLElement} target
* @return {*} {Promise<void>}
*/
async present(): Promise<void> {
return this.modal.present();
}
/**
* 手动调用关闭飘窗
*
* @author chitanda
* @date 2022-11-09 12:11:39
* @param {unknown} [data]
* @return {*} {Promise<void>}
*/
async dismiss(data?: unknown): Promise<void> {
this.result = data;
this.modal.dismiss();
}
/**
* 订阅窗口关闭
*
* @author chitanda
* @date 2022-11-09 12:11:20
* @template T
* @return {*} {Promise<T>}
*/
async onWillDismiss<T = unknown>(): Promise<T> {
return new Promise<T>(resolve => {
const callback = (data: unknown) => {
resolve(data as T);
this.evt.off('dismiss', callback);
};
this.evt.on('dismiss', callback);
});
}
}
import {
IOverlayController,
IDrawerOptions,
IPopoverOptions,
IModalOptions,
IOverlayContainer,
IOverlayPopoverContainer,
} from '@ibiz-template/runtime';
import { isFunction } from 'lodash-es';
import { createPopover } from '../app-popover/app-popover-component';
import { createModal } from '../app-modal/app-modal-component';
import { createDrawer } from '../app-drawer/app-drawer-component';
/**
* 用不同呈现方式绘制组件的通用工具类
*
* @author lxm
* @date 2022-11-08 16:11:09
* @export
* @class OverlayController
* @implements {IOverlayController}
*/
export class OverlayController implements IOverlayController {
popover<T = void>(
element: HTMLElement,
component: unknown,
props?: IParams | undefined,
opts?: IPopoverOptions | undefined,
): Promise<T> {
const popover = this.createPopover(component, props, opts);
popover.present(element);
return popover.onWillDismiss();
}
createPopover(
component: unknown,
props?: IParams | undefined,
opts?: IPopoverOptions | undefined,
): IOverlayPopoverContainer {
return createPopover(
isFunction(component)
? component
: h => h(component as string, { props }),
opts,
);
}
drawer<T = void>(
component: unknown,
props?: IParams | undefined,
opts?: IDrawerOptions | undefined,
): Promise<T> {
const drawer = this.createDrawer(component, props, opts);
drawer.present();
return drawer.onWillDismiss();
}
createDrawer(
component: unknown,
props?: IParams | undefined,
opts?: IDrawerOptions | undefined,
): IOverlayContainer {
return createDrawer(
isFunction(component)
? component
: h => h(component as string, { props }),
opts,
);
}
async modal<T = void>(
component: unknown,
props?: IParams | undefined,
opts?: IModalOptions | undefined,
): Promise<T> {
const modal = this.createModal(component, props, opts);
modal.present();
return modal.onWillDismiss();
}
createModal(
component: unknown,
props?: IParams | undefined,
opts?: IModalOptions | undefined,
): IOverlayContainer {
return createModal(
isFunction(component)
? component
: h => h(component as string, { props }),
opts,
);
}
}
/* eslint-disable no-unused-vars */
/* eslint-disable no-dupe-class-members */
import {
IPopoverOptions,
IOverlayPopoverContainer,
} from '@ibiz-template/runtime';
import { OverlayContainer } from '../overlay-container/overlay-container';
/**
* 飘窗组件呈现容器
*
* @author chitanda
* @date 2022-11-09 14:11:46
* @export
* @class OverlayPopoverContainer
* @extends {OverlayContainer<IPopoverOptions>}
* @implements {IOverlayPopoverContainer}
*/
export class OverlayPopoverContainer
extends OverlayContainer<IPopoverOptions>
implements IOverlayPopoverContainer
{
present(): Promise<void>;
present(target: HTMLElement): Promise<void>;
present(target?: HTMLElement): Promise<void> {
return this.modal.present(target);
}
}
import { ViewNeuron } from '@ibiz-template/controller';
import {
IDrawerOptions,
IModal,
IModalData,
IModalOptions,
IPopoverOptions,
ViewMode,
} from '@ibiz-template/runtime';
import { CreateElement, VNode } from 'vue';
export function createOverlayView(
close: (_res: IModalData) => void,
props?: IParams | undefined,
): (_h: CreateElement) => VNode {
return (h: CreateElement) =>
h('ViewShell', {
props,
on: {
neuronInit: (neuron: ViewNeuron) => {
neuron.evt.on('closeView', (res: IModalData) => {
close(res);
});
},
},
});
}
export function openViewModal(
props?: IParams | undefined,
opts?: IModalOptions | undefined,
): Promise<IModalData> {
const modal: IModal = { mode: ViewMode.MODAL };
const overlay = ibiz.overlay.createModal(
createOverlayView(res => overlay.dismiss(res), { ...props, modal }),
undefined,
opts,
);
overlay.present();
return overlay.onWillDismiss();
}
export function openViewDrawer(
props?: IParams | undefined,
opts?: IDrawerOptions | undefined,
): Promise<IModalData> {
const modal: IModal = { mode: ViewMode.DRAWER };
const overlay = ibiz.overlay.createDrawer(
createOverlayView(res => overlay.dismiss(res), { ...props, modal }),
undefined,
opts,
);
overlay.present();
return overlay.onWillDismiss();
}
export function openViewPopover(
event: MouseEvent,
props?: IParams | undefined,
opts?: IPopoverOptions | undefined,
): Promise<IModalData> {
const modal: IModal = { mode: ViewMode.DRAWER };
const overlay = ibiz.overlay.createPopover(
createOverlayView(res => overlay.dismiss(res), { ...props, modal }),
undefined,
opts,
);
overlay.present(event.target as HTMLElement);
return overlay.onWillDismiss();
}
const PlacementMap: IData = {
DRAWER_LEFT: 'left',
DRAWER_RIGHT: 'right',
DRAWER_TOP: 'top',
DRAWER_BOTTOM: 'bottom',
};
export function getDrawerPlacement(
openMode: string,
): IDrawerOptions['placement'] {
return PlacementMap[openMode] || 'right';
}
......@@ -2,6 +2,7 @@
"compilerOptions": {
"composite": true,
"module": "ESNext",
"target": "ESNext",
"moduleResolution": "Node",
"allowSyntheticDefaultImports": true
},
......
......@@ -6,6 +6,7 @@ import { join } from 'path';
function IBizVitePlugin(): Plugin[] {
const p: Plugin = {
name: 'iBizSys:System',
apply: 'build',
closeBundle() {
// 其他第三方依赖包
const map = {
......
......@@ -235,10 +235,10 @@
"@babel/helper-plugin-utils" "^7.19.0"
"@babel/plugin-syntax-typescript" "^7.18.6"
"@babel/standalone@^7.19.6":
version "7.20.0"
resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.20.0.tgz#0d5b9b57bde3923503e84a9ef1eef6da244b7d61"
integrity sha512-8toFReoMyknVN538KZYS9HJLUlpvibQiPQqt8TYFeyV+FlZUmM8TG2zcS8q4vAijCRLoAKT1EzeBVvbxjMfi9A==
"@babel/standalone@^7.20.0":
version "7.20.3"
resolved "http://npm.zhr.icu/@babel%2fstandalone/-/standalone-7.20.3.tgz#62b6f09f76dc9cbe5c1ab1fc4c394acfae98d763"
integrity sha512-u6VIhdacVpqVhBhSo21TRb1zcCdnPPyBsIC2LLnLnbmuJxlLsmGMAlLh+Xcsaqko4aGZrAtXIvTaMIQtUBkE8A==
"@babel/template@^7.18.10":
version "7.18.10"
......@@ -466,6 +466,18 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
"@floating-ui/core@^1.0.1":
version "1.0.1"
resolved "http://npm.zhr.icu/@floating-ui%2fcore/-/core-1.0.1.tgz#00e64d74e911602c8533957af0cce5af6b2e93c8"
integrity sha512-bO37brCPfteXQfFY0DyNDGB3+IMe4j150KFQcgJ5aBP295p9nBGeHEs/p0czrRbtlHq4Px/yoPXO/+dOCcF4uA==
"@floating-ui/dom@^1.0.4":
version "1.0.4"
resolved "http://npm.zhr.icu/@floating-ui%2fdom/-/dom-1.0.4.tgz#cc0f2a03db7193b1b932b90d09c5c81235682a60"
integrity sha512-maYJRv+sAXTy4K9mzdv0JPyNW5YPVHrqtY90tEdI6XNpuLOP26Ci2pfwPsKBA/Wh4Z3FX5sUrtUFTdMYj9v+ug==
dependencies:
"@floating-ui/core" "^1.0.1"
"@humanwhocodes/config-array@^0.11.6":
version "0.11.6"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.6.tgz#6a51d603a3aaf8d4cf45b42b3f2ac9318a4adc4b"
......@@ -485,60 +497,60 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
"@ibiz-template/command@^0.0.1-alpha.41":
version "0.0.1-alpha.41"
resolved "http://npm.zhr.icu/@ibiz-template%2fcommand/-/command-0.0.1-alpha.41.tgz#1875c65123ac046c131df8573a004e0a4bab193b"
integrity sha512-zT43FCKM343d4rpfRx2YhcoymriTdAn3Ujb598U39hxLltJZpEp4LkqR4HqCVB0MazpfWA4QRviifPbQPA+3jw==
"@ibiz-template/command@^0.0.1-alpha.43":
version "0.0.1-alpha.43"
resolved "http://npm.zhr.icu/@ibiz-template%2fcommand/-/command-0.0.1-alpha.43.tgz#20d60e8b73ef17aed429fdb6ff873d9cd96dfd86"
integrity sha512-cPhZATbMrN0FFh2sAoMUOlwzcCenWU+I6cWkwuwxCCQOPf03WAHo1XqKia7js49pWYDGAGfcNCbvlHbz19XTYg==
dependencies:
qx-util "^0.4.4"
"@ibiz-template/controller@^0.0.1-alpha.41":
version "0.0.1-alpha.41"
resolved "http://npm.zhr.icu/@ibiz-template%2fcontroller/-/controller-0.0.1-alpha.41.tgz#4a1ca8f4dfdc4341710f2bbc8d23446617428dcc"
integrity sha512-NOeX2Kf4qgx6LUR9KUrt+/Dm8RJPXRk81UBL0mDQw5eQFy11GFPQhVoY5Ls/xQk8Wrxn6IOYOiu/JrLNxp3heg==
"@ibiz-template/controller@^0.0.1-alpha.43":
version "0.0.1-alpha.43"
resolved "http://npm.zhr.icu/@ibiz-template%2fcontroller/-/controller-0.0.1-alpha.43.tgz#301ddc598e17bbe5ae1965519682eaa98728df33"
integrity sha512-rfABTdGBMrvDS2wbntGtEa7aZ8OnOtWVpMvvmaVqu8RdktaHVDaLosGXbyqmqXCR+YEfXcTfUHTTrYqGOorw4A==
dependencies:
async-validator "^4.2.5"
dayjs "^1.11.5"
"@ibiz-template/core@^0.0.1-alpha.41":
version "0.0.1-alpha.41"
resolved "http://npm.zhr.icu/@ibiz-template%2fcore/-/core-0.0.1-alpha.41.tgz#014411a468d6479f565e52af3e38d4385d8e1518"
integrity sha512-zrrt/cCGFj4eOYSjmhqc7D9v8rPQ71CbE6UJjvOuDrTu4BSjktqNC5L1tX/fl+mt8V0x1FkaZH1vrSSktwstKw==
"@ibiz-template/core@^0.0.1-alpha.43":
version "0.0.1-alpha.43"
resolved "http://npm.zhr.icu/@ibiz-template%2fcore/-/core-0.0.1-alpha.43.tgz#62ad85c5061b7a5eef146cae5dc2ac2a47cfd465"
integrity sha512-15QfDAykE0PTZzHhK2pa9OJccbL0jbK6K8FzJJrzTlL84vtTdGHDn2oKCdOLbLkcZ4fOwrQpZoC4tPkDGHRpaw==
dependencies:
axios "^1.1.3"
loglevel "^1.8.0"
pluralize "^8.0.0"
qs "^6.11.0"
"@ibiz-template/model@^0.0.1-alpha.41":
version "0.0.1-alpha.41"
resolved "http://npm.zhr.icu/@ibiz-template%2fmodel/-/model-0.0.1-alpha.41.tgz#f4b5c61926768bb3c5138628fd39d921902457d7"
integrity sha512-aakOQlZNTS7lIl0J3vICitswVN3xqACDSNj1HBLoM/mYshyjtpcwyY84/6KurAoGWI9y0KVGpBJjLufGsVevhA==
"@ibiz-template/model@^0.0.1-alpha.43":
version "0.0.1-alpha.43"
resolved "http://npm.zhr.icu/@ibiz-template%2fmodel/-/model-0.0.1-alpha.43.tgz#01c80a702f8cf7b0d6c020ea98453b2bb1e09b49"
integrity sha512-F3FhWDGR+HOe2YxisVDBjApBisR8iFbgVtAnrD5vQeDFMGCW4pNq9bPO7DwXy27kYDRgHcKucBw65CACdDJw9g==
dependencies:
"@ibiz/dynamic-model-api" "^2.1.5"
pluralize "^8.0.0"
"@ibiz-template/runtime@^0.0.1-alpha.41":
version "0.0.1-alpha.41"
resolved "http://npm.zhr.icu/@ibiz-template%2fruntime/-/runtime-0.0.1-alpha.41.tgz#dc50d155bcb97ab8e2882ebc0cc201b5b59a5497"
integrity sha512-b9ALOMwVJxPsadqiD+Z/+c/v7kBuVRHqKuYwLYKLe64jEnFwi+KA3PARfQhSw9ntKGvg+9s9uiehC058ti4c6Q==
"@ibiz-template/runtime@^0.0.1-alpha.43":
version "0.0.1-alpha.43"
resolved "http://npm.zhr.icu/@ibiz-template%2fruntime/-/runtime-0.0.1-alpha.43.tgz#31319b2ed3a0dd6a7248e8a29b3419b57d4692d7"
integrity sha512-aL3j7OC9aFj9fGUqqfplaFtGVqMZ7PfTTYoh2F+wH7x/W2KIiKh/gymaKJeroMdJ2LJRUBussPt8ezB7JWXF0g==
dependencies:
"@ibiz-template/command" "^0.0.1-alpha.41"
"@ibiz-template/command" "^0.0.1-alpha.43"
"@ibiz-template/service@^0.0.1-alpha.41":
version "0.0.1-alpha.41"
resolved "http://npm.zhr.icu/@ibiz-template%2fservice/-/service-0.0.1-alpha.41.tgz#f97221fc3e3f4c3b07cc53e69ed29a2a8f35c5b9"
integrity sha512-g/P9mqu/uem+V70JFpIWag8IysjmiwcBNCO5dsRjaxRpUg7BIZob6elHfucyPth0z3iXXooO9cng/eqLsZUvHA==
"@ibiz-template/service@^0.0.1-alpha.43":
version "0.0.1-alpha.43"
resolved "http://npm.zhr.icu/@ibiz-template%2fservice/-/service-0.0.1-alpha.43.tgz#0f0d28defc5f05a16dcea0f5c94c97d9c18e4f21"
integrity sha512-mSMWU6jQdybIQAzCXZpMWb4UYTyPDRBDgKJYlgnuMG9NyA2gyyMuUCM2WvULFHebqueDd4ZuHYlLzk1vRTbdRw==
"@ibiz-template/theme@^0.0.1-alpha.41":
version "0.0.1-alpha.41"
resolved "http://npm.zhr.icu/@ibiz-template%2ftheme/-/theme-0.0.1-alpha.41.tgz#177c16d649413f536491d94a7944d9485a97897a"
integrity sha512-SP/u1HlPIGK0t/TG2WrHdf63EPd78eW3rKq/nlWZmPNBlpRiYZgE6c3iR0ZR6iUd++tkMryuD5ptpSjUodfCww==
"@ibiz-template/theme@^0.0.1-alpha.43":
version "0.0.1-alpha.43"
resolved "http://npm.zhr.icu/@ibiz-template%2ftheme/-/theme-0.0.1-alpha.43.tgz#740f4f2634ae470c870b2398c082e910f60820d0"
integrity sha512-hJk5i4fqt7zcnu9K3L6WrNHLQTnAXaiKFwKQDjnirpP9ZFugU6IS+cARrygdUqspFCRmwCTMu1mRaZ1AIVq1IQ==
"@ibiz-template/vue-util@^0.0.1-alpha.41":
version "0.0.1-alpha.41"
resolved "http://npm.zhr.icu/@ibiz-template%2fvue-util/-/vue-util-0.0.1-alpha.41.tgz#d33ba98009f28d42f429669f4d3989f995517e37"
integrity sha512-oyfyldxjELlYx9u/PHxaPJNrCgvjeQmWRdy547wrCeEYPcJrAGQB80LQJ8SdzBq68CPuEfX0ZuX99m82RNT6SQ==
"@ibiz-template/vue-util@^0.0.1-alpha.43":
version "0.0.1-alpha.43"
resolved "http://npm.zhr.icu/@ibiz-template%2fvue-util/-/vue-util-0.0.1-alpha.43.tgz#166772ec90ae7493e50626b3b89207bef0a50159"
integrity sha512-EoRYu9mEJ+NVeBd/t8KuM4tSnu+jVpGNSF8DKr0xAu8b0YlQsPyZmp2t9P1M23luRU7CTss9804YO+0WsfHE3Q==
"@ibiz/dynamic-model-api@^2.1.5":
version "2.1.5"
......@@ -720,10 +732,10 @@
resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"
integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
"@types/ramda@^0.28.18":
version "0.28.18"
resolved "https://registry.yarnpkg.com/@types/ramda/-/ramda-0.28.18.tgz#b95942143937f41302100e43cd02a87da9f9ff10"
integrity sha512-DlhIC80d1ArfB1jz8C5OzavJfIj6hmEOQzCzy7Nt0FRqXJbmWTt05vI+f3rfC+3AR1VQwvyCMaCyZv++HGk+6w==
"@types/ramda@^0.28.19":
version "0.28.19"
resolved "http://npm.zhr.icu/@types%2framda/-/ramda-0.28.19.tgz#255921a62ab137d4e5d78652fea505da5a0d21bb"
integrity sha512-RCrYC/dg8K67QtIOACIpSriN1BdcC8a3mV4wLTUVafaY00MKBjuOSI+8fHRV92embUsZ67bZlzmgtO5wBsxcmg==
dependencies:
ts-toolbelt "^6.15.1"
......@@ -737,14 +749,14 @@
resolved "https://registry.yarnpkg.com/@types/systemjs/-/systemjs-6.1.1.tgz#eae17f2a080e867d01a2dd614f524ab227cf5a41"
integrity sha512-d1M6eDKBGWx7RbYy295VEFoOF9YDJkPI959QYnmzcmeaV+SP4D0xV7dEh3sN5XF3GvO3PhGzm+17Z598nvHQuQ==
"@typescript-eslint/eslint-plugin@^5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz#36a8c0c379870127059889a9cc7e05c260d2aaa5"
integrity sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==
"@typescript-eslint/eslint-plugin@^5.42.1":
version "5.42.1"
resolved "http://npm.zhr.icu/@typescript-eslint%2feslint-plugin/-/eslint-plugin-5.42.1.tgz#696b9cc21dfd4749c1c8ad1307f76a36a00aa0e3"
integrity sha512-LyR6x784JCiJ1j6sH5Y0K6cdExqCCm8DJUTcwG5ThNXJj/G8o5E56u5EdG4SLy+bZAwZBswC+GYn3eGdttBVCg==
dependencies:
"@typescript-eslint/scope-manager" "5.42.0"
"@typescript-eslint/type-utils" "5.42.0"
"@typescript-eslint/utils" "5.42.0"
"@typescript-eslint/scope-manager" "5.42.1"
"@typescript-eslint/type-utils" "5.42.1"
"@typescript-eslint/utils" "5.42.1"
debug "^4.3.4"
ignore "^5.2.0"
natural-compare-lite "^1.4.0"
......@@ -752,80 +764,80 @@
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/parser@^5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.42.0.tgz#be0ffbe279e1320e3d15e2ef0ad19262f59e9240"
integrity sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==
"@typescript-eslint/parser@^5.42.1":
version "5.42.1"
resolved "http://npm.zhr.icu/@typescript-eslint%2fparser/-/parser-5.42.1.tgz#3e66156f2f74b11690b45950d8f5f28a62751d35"
integrity sha512-kAV+NiNBWVQDY9gDJDToTE/NO8BHi4f6b7zTsVAJoTkmB/zlfOpiEVBzHOKtlgTndCKe8vj9F/PuolemZSh50Q==
dependencies:
"@typescript-eslint/scope-manager" "5.42.0"
"@typescript-eslint/types" "5.42.0"
"@typescript-eslint/typescript-estree" "5.42.0"
"@typescript-eslint/scope-manager" "5.42.1"
"@typescript-eslint/types" "5.42.1"
"@typescript-eslint/typescript-estree" "5.42.1"
debug "^4.3.4"
"@typescript-eslint/scope-manager@5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.42.0.tgz#e1f2bb26d3b2a508421ee2e3ceea5396b192f5ef"
integrity sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==
"@typescript-eslint/scope-manager@5.42.1":
version "5.42.1"
resolved "http://npm.zhr.icu/@typescript-eslint%2fscope-manager/-/scope-manager-5.42.1.tgz#05e5e1351485637d466464237e5259b49f609b18"
integrity sha512-QAZY/CBP1Emx4rzxurgqj3rUinfsh/6mvuKbLNMfJMMKYLRBfweus8brgXF8f64ABkIZ3zdj2/rYYtF8eiuksQ==
dependencies:
"@typescript-eslint/types" "5.42.0"
"@typescript-eslint/visitor-keys" "5.42.0"
"@typescript-eslint/types" "5.42.1"
"@typescript-eslint/visitor-keys" "5.42.1"
"@typescript-eslint/type-utils@5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.42.0.tgz#4206d7192d4fe903ddf99d09b41d4ac31b0b7dca"
integrity sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==
"@typescript-eslint/type-utils@5.42.1":
version "5.42.1"
resolved "http://npm.zhr.icu/@typescript-eslint%2ftype-utils/-/type-utils-5.42.1.tgz#21328feb2d4b193c5852b35aabd241ccc1449daa"
integrity sha512-WWiMChneex5w4xPIX56SSnQQo0tEOy5ZV2dqmj8Z371LJ0E+aymWD25JQ/l4FOuuX+Q49A7pzh/CGIQflxMVXg==
dependencies:
"@typescript-eslint/typescript-estree" "5.42.0"
"@typescript-eslint/utils" "5.42.0"
"@typescript-eslint/typescript-estree" "5.42.1"
"@typescript-eslint/utils" "5.42.1"
debug "^4.3.4"
tsutils "^3.21.0"
"@typescript-eslint/types@5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.42.0.tgz#5aeff9b5eced48f27d5b8139339bf1ef805bad7a"
integrity sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==
"@typescript-eslint/types@5.42.1":
version "5.42.1"
resolved "http://npm.zhr.icu/@typescript-eslint%2ftypes/-/types-5.42.1.tgz#0d4283c30e9b70d2aa2391c36294413de9106df2"
integrity sha512-Qrco9dsFF5lhalz+lLFtxs3ui1/YfC6NdXu+RAGBa8uSfn01cjO7ssCsjIsUs484vny9Xm699FSKwpkCcqwWwA==
"@typescript-eslint/typescript-estree@5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.42.0.tgz#2592d24bb5f89bf54a63384ff3494870f95b3fd8"
integrity sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==
"@typescript-eslint/typescript-estree@5.42.1":
version "5.42.1"
resolved "http://npm.zhr.icu/@typescript-eslint%2ftypescript-estree/-/typescript-estree-5.42.1.tgz#f9a223ecb547a781d37e07a5ac6ba9ff681eaef0"
integrity sha512-qElc0bDOuO0B8wDhhW4mYVgi/LZL+igPwXtV87n69/kYC/7NG3MES0jHxJNCr4EP7kY1XVsRy8C/u3DYeTKQmw==
dependencies:
"@typescript-eslint/types" "5.42.0"
"@typescript-eslint/visitor-keys" "5.42.0"
"@typescript-eslint/types" "5.42.1"
"@typescript-eslint/visitor-keys" "5.42.1"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/utils@5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.42.0.tgz#f06bd43b9a9a06ed8f29600273240e84a53f2f15"
integrity sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==
"@typescript-eslint/utils@5.42.1":
version "5.42.1"
resolved "http://npm.zhr.icu/@typescript-eslint%2futils/-/utils-5.42.1.tgz#2789b1cd990f0c07aaa3e462dbe0f18d736d5071"
integrity sha512-Gxvf12xSp3iYZd/fLqiQRD4uKZjDNR01bQ+j8zvhPjpsZ4HmvEFL/tC4amGNyxN9Rq+iqvpHLhlqx6KTxz9ZyQ==
dependencies:
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
"@typescript-eslint/scope-manager" "5.42.0"
"@typescript-eslint/types" "5.42.0"
"@typescript-eslint/typescript-estree" "5.42.0"
"@typescript-eslint/scope-manager" "5.42.1"
"@typescript-eslint/types" "5.42.1"
"@typescript-eslint/typescript-estree" "5.42.1"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
semver "^7.3.7"
"@typescript-eslint/visitor-keys@5.42.0":
version "5.42.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.42.0.tgz#ee8d62d486f41cfe646632fab790fbf0c1db5bb0"
integrity sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==
"@typescript-eslint/visitor-keys@5.42.1":
version "5.42.1"
resolved "http://npm.zhr.icu/@typescript-eslint%2fvisitor-keys/-/visitor-keys-5.42.1.tgz#df10839adf6605e1cdb79174cf21e46df9be4872"
integrity sha512-LOQtSF4z+hejmpUvitPlc4hA7ERGoj2BVkesOcG91HCn8edLGUXbTrErmutmPbl8Bo9HjAvOO/zBKQHExXNA2A==
dependencies:
"@typescript-eslint/types" "5.42.0"
"@typescript-eslint/types" "5.42.1"
eslint-visitor-keys "^3.3.0"
"@vitejs/plugin-legacy@^2.3.0":
version "2.3.0"
resolved "https://registry.yarnpkg.com/@vitejs/plugin-legacy/-/plugin-legacy-2.3.0.tgz#43565bcaf0dba53c70b26a1f67797b7c09f9d04e"
integrity sha512-Bh62i0gzQvvT8AeAAb78nOnqSYXypkRmQmOTImdPZ39meHR9e2une3AIFmVo4s1SDmcmJ6qj18Sa/lRc/14KaA==
"@vitejs/plugin-legacy@^2.3.1":
version "2.3.1"
resolved "http://npm.zhr.icu/@vitejs%2fplugin-legacy/-/plugin-legacy-2.3.1.tgz#44d8e608e66ef03ff82ae176588c7a621d56c524"
integrity sha512-J5KaGBlSt2tEYPVjM/C8dA6DkRzkFkbPe+Xb4IX5G+XOV5OGbVAfkMjKywdrkO3gGynO8S98i71Lmsff4cWkCQ==
dependencies:
"@babel/standalone" "^7.19.6"
"@babel/standalone" "^7.20.0"
core-js "^3.26.0"
magic-string "^0.26.7"
regenerator-runtime "^0.13.10"
......@@ -1979,10 +1991,10 @@ eslint-visitor-keys@^3.3.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@^8.26.0:
version "8.26.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.26.0.tgz#2bcc8836e6c424c4ac26a5674a70d44d84f2181d"
integrity sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==
eslint@^8.27.0:
version "8.27.0"
resolved "http://npm.zhr.icu/eslint/-/eslint-8.27.0.tgz#d547e2f7239994ad1faa4bb5d84e5d809db7cf64"
integrity sha512-0y1bfG2ho7mty+SiILVf9PfuRA49ek4Nc60Wmmu62QlobNR+CeXa4xXIJgcuwSQgZiWaPH+5BDsctpIW0PR/wQ==
dependencies:
"@eslint/eslintrc" "^1.3.3"
"@humanwhocodes/config-array" "^0.11.6"
......@@ -2450,10 +2462,10 @@ human-signals@^3.0.1:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5"
integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==
husky@^8.0.1:
version "8.0.1"
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9"
integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw==
husky@^8.0.2:
version "8.0.2"
resolved "http://npm.zhr.icu/husky/-/husky-8.0.2.tgz#5816a60db02650f1f22c8b69b928fd6bcd77a236"
integrity sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==
ignore@^5.2.0:
version "5.2.0"
......@@ -2768,10 +2780,10 @@ kind-of@^6.0.2, kind-of@^6.0.3:
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
known-css-properties@^0.25.0:
version "0.25.0"
resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.25.0.tgz#6ebc4d4b412f602e5cfbeb4086bd544e34c0a776"
integrity sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==
known-css-properties@^0.26.0:
version "0.26.0"
resolved "http://npm.zhr.icu/known-css-properties/-/known-css-properties-0.26.0.tgz#008295115abddc045a9f4ed7e2a84dc8b3a77649"
integrity sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==
levn@^0.4.1:
version "0.4.1"
......@@ -3370,15 +3382,6 @@ postcss@^8.1.10, postcss@^8.3.11, postcss@^8.4.14:
picocolors "^1.0.0"
source-map-js "^1.0.2"
postcss@^8.4.17:
version "8.4.17"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.17.tgz#f87863ec7cd353f81f7ab2dec5d67d861bbb1be5"
integrity sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==
dependencies:
nanoid "^3.3.4"
picocolors "^1.0.0"
source-map-js "^1.0.2"
postcss@^8.4.18:
version "8.4.18"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.18.tgz#6d50046ea7d3d66a85e0e782074e7203bc7fbca2"
......@@ -3619,10 +3622,10 @@ safe-regex-test@^1.0.0:
get-intrinsic "^1.1.3"
is-regex "^1.1.4"
sass@^1.55.0:
version "1.55.0"
resolved "https://registry.yarnpkg.com/sass/-/sass-1.55.0.tgz#0c4d3c293cfe8f8a2e8d3b666e1cf1bff8065d1c"
integrity sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==
sass@^1.56.0:
version "1.56.0"
resolved "http://npm.zhr.icu/sass/-/sass-1.56.0.tgz#134032075a3223c8d49cb5c35e091e5ba1de8e0a"
integrity sha512-WFJ9XrpkcnqZcYuLRJh5qiV6ibQOR4AezleeEjTjMsCocYW59dEG19U3fwTTXxzi2Ed3yjPBp727hbbj53pHFw==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
......@@ -3883,10 +3886,10 @@ stylelint-config-recommended@^9.0.0:
resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz#1c9e07536a8cd875405f8ecef7314916d94e7e40"
integrity sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==
stylelint-config-standard-scss@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/stylelint-config-standard-scss/-/stylelint-config-standard-scss-6.0.0.tgz#9d451fdfd6caf1d914510a236457ec27e6675deb"
integrity sha512-aAWcQgiqsXg6Jyhq/Q/HPbVB7PHf4v/wdyFSDun/qlL/SPxtEcVeGMvJLzRVRaNf3tp3D93QP6N9QKwJa1L0Kw==
stylelint-config-standard-scss@^6.1.0:
version "6.1.0"
resolved "http://npm.zhr.icu/stylelint-config-standard-scss/-/stylelint-config-standard-scss-6.1.0.tgz#a6cddd2a9430578b92fc89726a59474d5548a444"
integrity sha512-iZ2B5kQT2G3rUzx+437cEpdcnFOQkwnwqXuY8Z0QUwIHQVE8mnYChGAquyKFUKZRZ0pRnrciARlPaR1RBtPb0Q==
dependencies:
stylelint-config-recommended-scss "^8.0.0"
stylelint-config-standard "^29.0.0"
......@@ -3917,10 +3920,10 @@ stylelint-scss@^4.0.0, stylelint-scss@^4.3.0:
postcss-selector-parser "^6.0.6"
postcss-value-parser "^4.1.0"
stylelint@^14.14.0:
version "14.14.0"
resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-14.14.0.tgz#1acb52497c9a921f23f9c4014d4e0ee6eba768d0"
integrity sha512-yUI+4xXfPHVnueYddSQ/e1GuEA/2wVhWQbGj16AmWLtQJtn28lVxfS4b0CsWyVRPgd3Auzi0NXOthIEUhtQmmA==
stylelint@^14.14.1:
version "14.14.1"
resolved "http://npm.zhr.icu/stylelint/-/stylelint-14.14.1.tgz#9096941c72254a70352b008fb0e712f453addf2c"
integrity sha512-Jnftu+lSD8cSpcV/+Z2nfgfgFpTIS1FcujezXPngtoIQ6wtwutL22MsNE0dJuMiM1h1790g2qIjAyUZCMrX4sw==
dependencies:
"@csstools/selector-specificity" "^2.0.2"
balanced-match "^2.0.0"
......@@ -3939,13 +3942,13 @@ stylelint@^14.14.0:
import-lazy "^4.0.0"
imurmurhash "^0.1.4"
is-plain-object "^5.0.0"
known-css-properties "^0.25.0"
known-css-properties "^0.26.0"
mathml-tag-names "^2.1.3"
meow "^9.0.0"
micromatch "^4.0.5"
normalize-path "^3.0.0"
picocolors "^1.0.0"
postcss "^8.4.17"
postcss "^8.4.18"
postcss-media-query-parser "^0.2.3"
postcss-resolve-nested-selector "^0.1.1"
postcss-safe-parser "^6.0.0"
......@@ -3957,7 +3960,7 @@ stylelint@^14.14.0:
style-search "^0.1.0"
supports-hyperlinks "^2.3.0"
svg-tags "^1.0.0"
table "^6.8.0"
table "^6.8.1"
v8-compile-cache "^2.3.0"
write-file-atomic "^4.0.2"
......@@ -3998,10 +4001,10 @@ systemjs@^6.13.0:
resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-6.13.0.tgz#7b28e74b44352e1650e8652499f42de724c3fc7f"
integrity sha512-P3cgh2bpaPvAO2NE3uRp/n6hmk4xPX4DQf+UzTlCAycssKdqhp6hjw+ENWe+aUS7TogKRFtptMosTSFeC6R55g==
table@^6.8.0:
version "6.8.0"
resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca"
integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==
table@^6.8.1:
version "6.8.1"
resolved "http://npm.zhr.icu/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf"
integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==
dependencies:
ajv "^8.0.1"
lodash.truncate "^4.4.2"
......@@ -4237,10 +4240,10 @@ vite-plugin-eslint@^1.8.1:
"@types/eslint" "^8.4.5"
rollup "^2.77.2"
vite@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.2.tgz#280762bfaf47bcea1d12698427331c0009ac7c1f"
integrity sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==
vite@^3.2.3:
version "3.2.3"
resolved "http://npm.zhr.icu/vite/-/vite-3.2.3.tgz#7a68d9ef73eff7ee6dc0718ad3507adfc86944a7"
integrity sha512-h8jl1TZ76eGs3o2dIBSsvXDLb1m/Ec1iej8ZMdz+PsaFUsftZeWe2CZOI3qogEsMNaywc17gu0q6cQDzh/weCQ==
dependencies:
esbuild "^0.15.9"
postcss "^8.4.18"
......
......@@ -25,7 +25,7 @@
</modules>
<properties>
<ibiz.cloud.version>8.1.0.241</ibiz.cloud.version>
<ibiz.cloud.version>8.1.0.243</ibiz.cloud.version>
</properties>
......
......@@ -50,7 +50,7 @@
</changeSet>
<!--输出实体[BOOK]数据结构 -->
<changeSet author="root" id="tab-book-341-3">
<changeSet author="root" id="tab-book-342-3">
<createTable tableName="T_BOOK">
<column name="BOOKNAME" remarks="" type="VARCHAR(200)">
</column>
......@@ -121,7 +121,7 @@
</changeSet>
<!--输出实体[BOOKTYPE]数据结构 -->
<changeSet author="root" id="tab-booktype-13-4">
<changeSet author="root" id="tab-booktype-15-4">
<createTable tableName="T_BOOKTYPE">
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
......@@ -169,7 +169,7 @@
</changeSet>
<!--输出实体[PHONE]数据结构 -->
<changeSet author="root" id="tab-phone-158-6">
<changeSet author="root" id="tab-phone-160-6">
<createTable tableName="T_PHONE">
<column name="PHONEID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_PHONE"/>
......
......@@ -289,6 +289,71 @@
},
"tableType" : "MAIN"
} ],
"getAllPSDEDataExports" : [ {
"codeName" : "DataExport",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Book/PSDEDATAEXPS/DataExport.json",
"maxRowCount" : 1000,
"name" : "数据导出",
"getPSDEDataExportItems" : [ {
"caption" : "属性9",
"format" : "%1$s",
"name" : "name",
"getPSDEField" : {
"name" : "FIELD9",
"codeName" : "Field9"
}
}, {
"caption" : "更新人",
"format" : "%1$s",
"name" : "updateman",
"getPSCodeList" : {
"modelref" : true,
"path" : "PSCODELISTS/SysOperator.json"
},
"getPSDEField" : {
"name" : "UPDATEMAN",
"codeName" : "UpdateMan"
}
}, {
"caption" : "更新时间",
"format" : "%1$s",
"name" : "updatedate",
"getPSDEField" : {
"name" : "UPDATEDATE",
"codeName" : "UpdateDate"
}
}, {
"caption" : "类型",
"format" : "%1$s",
"name" : "type",
"getPSDEField" : {
"name" : "TYPE",
"codeName" : "Type"
}
} ],
"defaultMode" : true,
"enableBackend" : true,
"enableFront" : false
} ],
"getAllPSDEDataImports" : [ {
"batchSize" : 1000,
"codeName" : "DataImport",
"createDataAccessAction" : "CREATE",
"getCreatePSDEAction" : {
"modelref" : true,
"path" : "PSMODULES/common/PSDATAENTITIES/Book/PSDEACTIONS/Create.json"
},
"name" : "数据导入",
"updateDataAccessAction" : "UPDATE",
"getUpdatePSDEAction" : {
"modelref" : true,
"path" : "PSMODULES/common/PSDATAENTITIES/Book/PSDEACTIONS/Update.json"
},
"enableBackend" : true,
"enableFront" : true,
"ignoreError" : true,
"id" : "PSMODULES/common/PSDATAENTITIES/Book/PSDEDATAIMPS/DataImport.json"
} ],
"getAllPSDEDataQueries" : [ {
"getAllPSDEDataQueryCodes" : [ {
"modelref" : true,
......
......@@ -1231,6 +1231,35 @@
"valueFormat" : "%1$s"
} ],
"getAllPSDELogics" : [ {
"codeName" : "PhoneNumber",
"defaultParamName" : "Default",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDELOGICS/PhoneNumber.json",
"logicName" : "PhoneNumber",
"name" : "PhoneNumber",
"getPSDELogicNodes" : [ {
"codeName" : "Begin",
"logicNodeType" : "BEGIN",
"name" : "开始",
"parallelOutput" : true
} ],
"getPSDELogicParams" : [ {
"codeName" : "Default",
"logicName" : "传入变量",
"name" : "传入变量",
"getParamPSDataEntity" : {
"modelref" : true,
"path" : "PSMODULES/common/PSDATAENTITIES/Phone.json"
},
"default" : true,
"entityParam" : true
} ],
"getStartPSDELogicNode" : {
"modelref" : true,
"id" : "Begin"
},
"enableBackend" : true,
"enableFront" : false
}, {
"codeName" : "xxx",
"defaultParamName" : "Default",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDELOGICS/xxx.json",
......
{
"codeName" : "PhoneNumber",
"defaultParamName" : "Default",
"dynaModelFilePath" : "PSMODULES/common/PSDATAENTITIES/Phone/PSDELOGICS/PhoneNumber.json",
"logicName" : "PhoneNumber",
"name" : "PhoneNumber",
"getPSDELogicNodes" : [ {
"codeName" : "Begin",
"logicNodeType" : "BEGIN",
"name" : "开始",
"parallelOutput" : true
} ],
"getPSDELogicParams" : [ {
"codeName" : "Default",
"logicName" : "传入变量",
"name" : "传入变量",
"getParamPSDataEntity" : {
"modelref" : true,
"path" : "PSMODULES/common/PSDATAENTITIES/Phone.json"
},
"default" : true,
"entityParam" : true
} ],
"getStartPSDELogicNode" : {
"modelref" : true,
"id" : "Begin"
},
"enableBackend" : true,
"enableFront" : false
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:g="http://www.jboss.org/drools/flow/gpd" xmlns:tns="http://www.jboss.org/drools" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" expressionLanguage="http://www.mvel.org/2.0" id="Definition" name="" targetNamespace="http://www.jboss.org/drools" typeLanguage="http://www.java.com/javaTypes">
<process id="cn.ibizlab.trainsys.core.common.service.logic.phonephonenumber" isClosed="false" isExecutable="true" name="common_phone_phonenumber_ruleFlow" processType="Private" tns:packageName="cn.ibizlab.trainsys.core.common.service.logic.phonephonenumber">
<extensionElements>
<tns:import name="java.util.Map" />
<tns:import name="org.springframework.util.StringUtils"/>
<tns:import name="cn.ibizlab.trainsys.util.helper.RuleUtils"/>
<tns:metaData express="" name="phonephonenumberdefault" type="entity"/>
<tns:metaData express="T(cn.ibizlab.trainsys.util.security.SpringContextHolder).getBean(T(cn.ibizlab.trainsys.core.common.service.IPhoneService))" name="iBzSysPhoneDefaultService" type="service"/>
<tns:metaData express="T(cn.ibizlab.trainsys.util.security.AuthenticationUser).getAuthenticationUser()" name="curuser" type="session"/>
<tns:global identifier="phonephonenumberdefault" type="cn.ibizlab.trainsys.core.common.domain.Phone" />
</extensionElements>
<startEvent id="begin" isInterrupting="true"/>
<endEvent id="begin_end" name="end"/>
<sequenceFlow id="begin_end_line" sourceRef="begin" targetRef="begin_end"/>
</process>
</definitions>
\ No newline at end of file
package cn.ibizlab.trainsys.common.logic.phonelogic.phonenumber;
import java.util.Map;
import java.util.HashMap;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils;
import org.springframework.util.ObjectUtils;
import cn.ibizlab.trainsys.util.errors.BadRequestAlertException;
global cn.ibizlab.trainsys.core.common.domain.Phone phonephonenumberdefault;
global cn.ibizlab.trainsys.core.common.service.IPhoneService iBzSysPhoneDefaultService;
global cn.ibizlab.trainsys.util.security.AuthenticationUser curuser;
no-loop
//逻辑处理节点[开始]
rule "begin"
ruleflow-group "phonephonenumberbegin"
when
then
end
\ No newline at end of file
......@@ -205,6 +205,69 @@
"needResourceKey" : true,
"noServiceCodeName" : true
} ],
"getAllPSAppDEDataExports" : [ {
"codeName" : "DataExport",
"maxRowCount" : 1000,
"name" : "数据导出",
"getPSDEDataExportItems" : [ {
"caption" : "属性9",
"format" : "%1$s",
"name" : "name",
"getPSAppDEField" : {
"name" : "FIELD9",
"codeName" : "Field9"
}
}, {
"caption" : "更新人",
"format" : "%1$s",
"name" : "updateman",
"getPSAppDEField" : {
"name" : "UPDATEMAN",
"codeName" : "UpdateMan"
},
"getPSCodeList" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPCODELISTS/SysOperator.json"
}
}, {
"caption" : "更新时间",
"format" : "%1$s",
"name" : "updatedate",
"getPSAppDEField" : {
"name" : "UPDATEDATE",
"codeName" : "UpdateDate"
}
}, {
"caption" : "类型",
"format" : "%1$s",
"name" : "type",
"getPSAppDEField" : {
"name" : "TYPE",
"codeName" : "Type"
}
} ],
"defaultMode" : true,
"enableBackend" : true,
"enableFront" : false
} ],
"getAllPSAppDEDataImports" : [ {
"batchSize" : 1000,
"codeName" : "DataImport",
"createDataAccessAction" : "CREATE",
"getCreatePSAppDEAction" : {
"modelref" : true,
"id" : "Create"
},
"name" : "数据导入",
"updateDataAccessAction" : "UPDATE",
"getUpdatePSAppDEAction" : {
"modelref" : true,
"id" : "Update"
},
"enableBackend" : true,
"enableFront" : true,
"ignoreError" : true
} ],
"getAllPSAppDEDataSets" : [ {
"codeName" : "FetchDefault",
"methodType" : "FETCH",
......@@ -1448,6 +1511,10 @@
"dEAPITag" : "BOOK",
"dataAccCtrlArch" : 1,
"dataAccCtrlMode" : 1,
"getDefaultPSAppDEDataExport" : {
"modelref" : true,
"id" : "DataExport"
},
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Book.json",
"enableUIActions" : 15,
"getKeyPSAppDEField" : {
......
......@@ -6,6 +6,7 @@
"funcViewMode" : "MDATAVIEW",
"gridRowActiveMode" : 2,
"name" : "BookTypeGridView",
"openMode" : "DRAWER_BOTTOM",
"getPSAppDataEntity" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/BookType.json"
......
......@@ -21378,6 +21378,69 @@
"needResourceKey" : true,
"noServiceCodeName" : true
} ],
"getAllPSAppDEDataExports" : [ {
"codeName" : "DataExport",
"maxRowCount" : 1000,
"name" : "数据导出",
"getPSDEDataExportItems" : [ {
"caption" : "属性9",
"format" : "%1$s",
"name" : "name",
"getPSAppDEField" : {
"name" : "FIELD9",
"codeName" : "Field9"
}
}, {
"caption" : "更新人",
"format" : "%1$s",
"name" : "updateman",
"getPSAppDEField" : {
"name" : "UPDATEMAN",
"codeName" : "UpdateMan"
},
"getPSCodeList" : {
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPCODELISTS/SysOperator.json"
}
}, {
"caption" : "更新时间",
"format" : "%1$s",
"name" : "updatedate",
"getPSAppDEField" : {
"name" : "UPDATEDATE",
"codeName" : "UpdateDate"
}
}, {
"caption" : "类型",
"format" : "%1$s",
"name" : "type",
"getPSAppDEField" : {
"name" : "TYPE",
"codeName" : "Type"
}
} ],
"defaultMode" : true,
"enableBackend" : true,
"enableFront" : false
} ],
"getAllPSAppDEDataImports" : [ {
"batchSize" : 1000,
"codeName" : "DataImport",
"createDataAccessAction" : "CREATE",
"getCreatePSAppDEAction" : {
"modelref" : true,
"id" : "Create"
},
"name" : "数据导入",
"updateDataAccessAction" : "UPDATE",
"getUpdatePSAppDEAction" : {
"modelref" : true,
"id" : "Update"
},
"enableBackend" : true,
"enableFront" : true,
"ignoreError" : true
} ],
"getAllPSAppDEDataSets" : [ {
"codeName" : "FetchDefault",
"methodType" : "FETCH",
......@@ -22621,6 +22684,10 @@
"dEAPITag" : "BOOK",
"dataAccCtrlArch" : 1,
"dataAccCtrlMode" : 1,
"getDefaultPSAppDEDataExport" : {
"modelref" : true,
"id" : "DataExport"
},
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Book.json",
"enableUIActions" : 15,
"getKeyPSAppDEField" : {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册