n20-common-lib 1.2.0 → 1.2.1-6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +3 -20
  2. package/package.json +87 -87
  3. package/src/_qiankun/index.js +113 -113
  4. package/src/_qiankun/postMessage.js +48 -48
  5. package/src/assets/css/_coreLib.scss +35 -35
  6. package/src/assets/css/cl-anchor.scss +23 -23
  7. package/src/assets/css/cl-approve-card.scss +58 -58
  8. package/src/assets/css/cl-dialog.scss +99 -99
  9. package/src/assets/css/cl-drag-list.scss +22 -22
  10. package/src/assets/css/cl-empty.scss +10 -10
  11. package/src/assets/css/cl-expandable-pane.scss +26 -25
  12. package/src/assets/css/cl-expandable.scss +24 -23
  13. package/src/assets/css/cl-file-upload-table.scss +11 -11
  14. package/src/assets/css/cl-filter.scss +4 -4
  15. package/src/assets/css/cl-flow-step.scss +185 -185
  16. package/src/assets/css/cl-footer-box.scss +10 -10
  17. package/src/assets/css/cl-form-item.scss +612 -322
  18. package/src/assets/css/cl-general-card.scss +11 -11
  19. package/src/assets/css/cl-layout-aside.scss +88 -88
  20. package/src/assets/css/cl-layout-content.scss +16 -16
  21. package/src/assets/css/cl-layout-header.scss +73 -73
  22. package/src/assets/css/cl-layout-tabs.scss +87 -87
  23. package/src/assets/css/cl-layout.scss +97 -97
  24. package/src/assets/css/cl-login-temporary.scss +37 -37
  25. package/src/assets/css/cl-message.scss +75 -75
  26. package/src/assets/css/cl-more-tab.scss +98 -98
  27. package/src/assets/css/cl-nav-menu.scss +5 -5
  28. package/src/assets/css/cl-pagination.scss +65 -65
  29. package/src/assets/css/cl-secondary-tab.scss +50 -39
  30. package/src/assets/css/cl-showcolumn.scss +23 -23
  31. package/src/assets/css/cl-sifting.scss +51 -51
  32. package/src/assets/css/cl-statis.scss +42 -42
  33. package/src/assets/css/cl-step.scss +73 -73
  34. package/src/assets/css/cl-suspend.scss +19 -19
  35. package/src/assets/css/cl-tertiary-tab.scss +9 -9
  36. package/src/assets/css/cl-upload.scss +41 -41
  37. package/src/assets/css/cl-worn-pagination.scss +50 -50
  38. package/src/assets/css/el-button.scss +173 -169
  39. package/src/assets/css/el-table.scss +79 -79
  40. package/src/assets/css/element-variables.scss +1061 -1061
  41. package/src/assets/css/element.dev.scss +21 -21
  42. package/src/assets/css/font-icon.scss +27 -26
  43. package/src/assets/css/index.dev.scss +4 -4
  44. package/src/assets/css/index.scss +11 -11
  45. package/src/assets/css/normalize.scss +726 -723
  46. package/src/assets/css/rootvar.scss +139 -139
  47. package/src/assets/css/select.scss +25 -25
  48. package/src/assets/css/title-pop.scss +4 -4
  49. package/src/assets/getJsonc.js +50 -50
  50. package/src/assets/iconFont/demo.css +539 -0
  51. package/src/assets/iconFont/demo_index.html +1614 -0
  52. package/src/assets/iconFont/iconfont.css +263 -0
  53. package/src/assets/iconFont/iconfont.js +1 -0
  54. package/src/assets/iconFont/iconfont.json +443 -0
  55. package/src/assets/iconFont/iconfont.ttf +0 -0
  56. package/src/assets/iconFont/iconfont.woff +0 -0
  57. package/src/assets/iconFont/iconfont.woff2 +0 -0
  58. package/src/assets/realUrl.js +12 -12
  59. package/src/components/Anchor/AnchorItem.vue +29 -29
  60. package/src/components/Anchor/index.vue +185 -185
  61. package/src/components/ApprovalButtons/index.vue +233 -232
  62. package/src/components/ApprovalCard/index.vue +128 -128
  63. package/src/components/ApprovalRecord/approvalImg.vue +39 -39
  64. package/src/components/ApprovalRecord/index.vue +59 -59
  65. package/src/components/Button/button-group.vue +150 -150
  66. package/src/components/Button/icon-group-button.vue +61 -61
  67. package/src/components/Button/index.vue +56 -56
  68. package/src/components/CascaderArea/index.vue +103 -0
  69. package/src/components/ContentLoading/index.vue +41 -41
  70. package/src/components/ContentNull/index.vue +19 -19
  71. package/src/components/DatePicker/index.vue +27 -27
  72. package/src/components/DatePicker/por.vue +169 -169
  73. package/src/components/Dialog/index.vue +26 -26
  74. package/src/components/Dialog/indexO.vue +116 -116
  75. package/src/components/DragList/index.vue +68 -68
  76. package/src/components/Empty/img/abnormal.svg +108 -108
  77. package/src/components/Empty/img/dispose.svg +71 -71
  78. package/src/components/Empty/img/empty.svg +57 -57
  79. package/src/components/Empty/img/general.svg +58 -58
  80. package/src/components/Empty/img/lock.svg +57 -57
  81. package/src/components/Empty/img/network.svg +59 -59
  82. package/src/components/Empty/img/relevant.svg +68 -68
  83. package/src/components/Empty/img/search.svg +72 -72
  84. package/src/components/Empty/index.vue +92 -92
  85. package/src/components/Expandable/index.vue +49 -49
  86. package/src/components/Expandable/main.vue +52 -52
  87. package/src/components/FileExportAsync/index.vue +178 -0
  88. package/src/components/FileUploadTable/index.vue +484 -484
  89. package/src/components/Filters/index.vue +369 -358
  90. package/src/components/Filters/indexO.vue +104 -104
  91. package/src/components/FlowStep/index.vue +68 -68
  92. package/src/components/FooterBox/index.vue +21 -21
  93. package/src/components/GeneralCard/index.vue +15 -15
  94. package/src/components/InputNumber/index.vue +169 -153
  95. package/src/components/InputNumber/numberRange.vue +47 -47
  96. package/src/components/InputSearch/index.vue +75 -75
  97. package/src/components/Layout/AsideNav/index.vue +119 -144
  98. package/src/components/Layout/AsideNav/menuItem.vue +34 -0
  99. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -0
  100. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  101. package/src/components/Layout/HeaderWrap/index.vue +348 -336
  102. package/src/components/Layout/HeaderWrap/noticePop.vue +300 -300
  103. package/src/components/Layout/SubContent/index.vue +131 -131
  104. package/src/components/Layout/TabsNav/index.vue +170 -170
  105. package/src/components/Layout/index.vue +529 -529
  106. package/src/components/Layout/utils.js +12 -12
  107. package/src/components/LoginTemporary/form.vue +537 -511
  108. package/src/components/LoginTemporary/index.vue +122 -122
  109. package/src/components/LoginTemporary/qrcode.vue +90 -90
  110. package/src/components/LoginTemporary/retrievePw.vue +28 -28
  111. package/src/components/LoginTemporary/utils.js +73 -73
  112. package/src/components/MicroApp/index.js +67 -67
  113. package/src/components/MicroFrame/index.vue +95 -95
  114. package/src/components/MoreTab/index.vue +232 -232
  115. package/src/components/NavMenu/index.vue +60 -60
  116. package/src/components/NstcG6Components/NstcDialog/NstcDialog.vue +184 -184
  117. package/src/components/PageLayout/page.vue +15 -15
  118. package/src/components/Pagination/index.vue +96 -96
  119. package/src/components/SecondaryTab/index.vue +58 -58
  120. package/src/components/SelectLazy/index.vue +75 -75
  121. package/src/components/SelectTree/SelectTreeLazy.vue +241 -241
  122. package/src/components/SelectTree/index.vue +205 -208
  123. package/src/components/ShowColumn/index.vue +204 -188
  124. package/src/components/Sifting/index.vue +99 -99
  125. package/src/components/Statis/index.vue +97 -97
  126. package/src/components/Statis/statisItem.vue +54 -54
  127. package/src/components/Statis/statisPopover.vue +55 -55
  128. package/src/components/Step/index.vue +38 -38
  129. package/src/components/Suspend/index.vue +72 -72
  130. package/src/components/Table/index.vue +179 -131
  131. package/src/components/Table/indexO.vue +149 -149
  132. package/src/components/Task/index.vue +26 -26
  133. package/src/components/TertiaryTab/index.vue +53 -53
  134. package/src/components/TimePicker/index.vue +28 -28
  135. package/src/components/Upload/index.vue +242 -242
  136. package/src/components/WornPagination/index.vue +73 -73
  137. package/src/directives/VClickOutside/index.js +19 -19
  138. package/src/directives/VHas/index.js +32 -27
  139. package/src/directives/VMove/index.js +42 -42
  140. package/src/directives/VTitle/index.js +69 -56
  141. package/src/directives/VTitle/tooltip.vue +21 -21
  142. package/src/index.js +225 -225
  143. package/src/plugins/CompatibleOld/index.js +57 -57
  144. package/src/plugins/Print/index.js +4 -4
  145. package/src/plugins/Print/print-js/.babelrc +12 -12
  146. package/src/plugins/Print/print-js/LICENSE +21 -21
  147. package/src/plugins/Print/print-js/README.md +98 -98
  148. package/src/plugins/Print/print-js/dist/print.css +96 -96
  149. package/src/plugins/Print/print-js/dist/print.js +990 -990
  150. package/src/plugins/Print/print-js/package.json +60 -60
  151. package/src/plugins/Print/print-js/src/index.d.ts +45 -45
  152. package/src/plugins/Print/print-js/src/index.js +10 -10
  153. package/src/plugins/Print/print-js/src/js/browser.js +33 -33
  154. package/src/plugins/Print/print-js/src/js/functions.js +103 -103
  155. package/src/plugins/Print/print-js/src/js/html.js +70 -70
  156. package/src/plugins/Print/print-js/src/js/image.js +48 -48
  157. package/src/plugins/Print/print-js/src/js/init.js +168 -168
  158. package/src/plugins/Print/print-js/src/js/json.js +109 -109
  159. package/src/plugins/Print/print-js/src/js/modal.js +62 -62
  160. package/src/plugins/Print/print-js/src/js/pdf.js +62 -62
  161. package/src/plugins/Print/print-js/src/js/print.js +102 -102
  162. package/src/plugins/Print/print-js/src/js/raw-html.js +15 -15
  163. package/src/plugins/Print/print-js/src/sass/index.scss +13 -13
  164. package/src/plugins/Print/print-js/src/sass/modules/_colors.scss +9 -9
  165. package/src/plugins/Print/print-js/src/sass/partials/_modal.scss +40 -40
  166. package/src/plugins/Print/print-js/src/sass/partials/_spinner.scss +45 -45
  167. package/src/plugins/Print/print.js +2 -2
  168. package/src/plugins/Print/print.scss +1 -1
  169. package/src/plugins/SetMenuTree/index.vue +41 -41
  170. package/src/plugins/SetMenuTree/logoIcon.vue +37 -37
  171. package/src/plugins/SetMenuTree/setmenutree.vue +427 -427
  172. package/src/plugins/SetMenuTree/utils.js +74 -74
  173. package/src/plugins/Sign/InfosecNetSignCNGAgent.min.js +2000 -2000
  174. package/src/plugins/Sign/index.js +65 -65
  175. package/src/plugins/Sign/sign.js +1 -1
  176. package/src/plugins/setTabsForSub.js +2 -2
  177. package/src/utils/auth.js +53 -53
  178. package/src/utils/axios.js +203 -203
  179. package/src/utils/downloadBlob.js +19 -19
  180. package/src/utils/forEachs.js +16 -16
  181. package/src/utils/getScrollContainer.js +43 -43
  182. package/src/utils/i18n/cn2hk.json +1270 -1270
  183. package/src/utils/i18n/index.js +54 -54
  184. package/src/utils/list2tree.js +36 -36
  185. package/src/utils/msgboxPor.js +26 -26
  186. package/src/utils/print.js +161 -161
  187. package/src/utils/relaNo.js +69 -35
  188. package/src/utils/repairElementUI.js +66 -66
  189. package/src/utils/urlToGo.js +82 -82
  190. package/style/css/normalize.scss +726 -723
  191. package/style/fonts/iconfont.022f36c4.woff2 +0 -0
  192. package/style/fonts/iconfont.4a1b2c93.woff +0 -0
  193. package/style/fonts/iconfont.a9febaa2.ttf +0 -0
  194. package/style/index.css +3 -2
  195. package/style/index.css.map +1 -1
  196. package/style/pageDemo/demo-1.vue +131 -130
  197. package/style/pageDemo/demo-2.vue +35 -35
  198. package/style/pageDemo/demo-3.vue +22 -22
  199. package/style/pageDemo/seeCode.js +20 -20
  200. package/style/server-config.jsonc +606 -663
  201. package/src/components/NstcG6Components/NstcApprovel/NstcApprovel.vue +0 -13
  202. package/src/components/NstcG6Components/Progress/progress.vue +0 -134
package/README.md CHANGED
@@ -1,20 +1,3 @@
1
-
2
-
3
- ## 下载
4
- ```
5
- npm install n20-common-lib element-ui
6
- ```
7
-
8
- ## 使用
9
- ```
10
- import 'n20-common-lib/style/index.css'
11
-
12
- import ElementUI from 'element-ui'
13
-
14
- import n20 from 'n20-common-lib'
15
-
16
- Vue.use(ElementUI, { size: 'small' })
17
-
18
- Vue.use(n20, { prefix: 'N20' })
19
-
20
- ```
1
+ # n20-common-lib
2
+
3
+ ## nstc web pc
package/package.json CHANGED
@@ -1,87 +1,87 @@
1
- {
2
- "name": "n20-common-lib",
3
- "version": "1.2.0",
4
- "private": false,
5
- "main": "src/index.js",
6
- "scripts": {
7
- "serve": "vue-cli-service serve",
8
- "test": "vue-cli-service serve --test",
9
- "build": "vue-cli-service build",
10
- "lint": "vue-cli-service lint",
11
- "build:Jenkins_1": "vue-cli-service build --serverConfig ./server-config-jenkins.jsonc",
12
- "build:gzip": "vue-cli-service build --gzip",
13
- "build:report": "vue-cli-service build --analy",
14
- "build:css": "vue-cli-service build --formats umd-min --target lib src/assets/css/index.scss --name index --dest style",
15
- "build:js": "vue-cli-service build --formats umd-min --target lib src/index.js --name index --dest lib --analy"
16
- },
17
- "files": [
18
- "src/_qiankun",
19
- "src/assets",
20
- "src/components",
21
- "src/directives",
22
- "src/locale",
23
- "src/mixins",
24
- "src/utils",
25
- "src/plugins",
26
- "src/index.js",
27
- "style"
28
- ],
29
- "dependencies": {
30
- "axios": "^0.21.4",
31
- "dayjs": "^1.10.6",
32
- "js-cookie": "^3.0.1",
33
- "normalize.css": "^8.0.1",
34
- "numerify": "^1.2.9",
35
- "resize-detector": "^0.3.0",
36
- "vuedraggable": "^2.24.3"
37
- },
38
- "devDependencies": {
39
- "@babel/plugin-proposal-optional-chaining": "^7.14.5",
40
- "@babel/plugin-transform-flow-comments": "^7.14.5",
41
- "@vue/cli-plugin-babel": "~4.5.0",
42
- "@vue/cli-plugin-eslint": "~4.5.0",
43
- "@vue/cli-service": "~4.5.0",
44
- "@vue/compiler-sfc": "^3.0.0-rc.6",
45
- "babel-eslint": "^10.1.0",
46
- "babel-plugin-component": "^1.1.1",
47
- "compression-webpack-plugin": "^3.1.0",
48
- "copy-webpack-plugin": "^6.4.1",
49
- "core-js": "^3.6.5",
50
- "element-ui": "^2.15.6",
51
- "eslint": "^6.7.2",
52
- "eslint-plugin-vue": "^6.2.2",
53
- "lodash": "^4.17.21",
54
- "md2vue-loader": "git+https://gitee.com/bable2000/md2vue-loader.git",
55
- "mockjs": "^1.1.0",
56
- "node-sass": "6.0.0",
57
- "qiankun": "^2.5.1",
58
- "qrcode": "^1.5.0",
59
- "sass-loader": "^10.2.0",
60
- "strip-json-comments": "^3.1.1",
61
- "vue": "^2.6.11",
62
- "vue-cli-plugin-axios": "~0.0.4",
63
- "vue-router": "^3.5.2",
64
- "vue-template-compiler": "^2.6.11",
65
- "vuex": "^3.6.2",
66
- "webpack-bundle-analyzer": "^3.9.0"
67
- },
68
- "eslintConfig": {
69
- "root": true,
70
- "env": {
71
- "node": true
72
- },
73
- "extends": [
74
- "plugin:vue/essential",
75
- "eslint:recommended"
76
- ],
77
- "parserOptions": {
78
- "parser": "babel-eslint"
79
- },
80
- "rules": {}
81
- },
82
- "browserslist": [
83
- "> 1%",
84
- "last 2 versions",
85
- "not dead"
86
- ]
87
- }
1
+ {
2
+ "name": "n20-common-lib",
3
+ "version": "1.2.16.1",
4
+ "private": false,
5
+ "main": "src/index.js",
6
+ "scripts": {
7
+ "serve": "vue-cli-service serve",
8
+ "test": "vue-cli-service serve --test",
9
+ "build": "vue-cli-service build",
10
+ "lint": "vue-cli-service lint",
11
+ "build:Jenkins_1": "vue-cli-service build --serverConfig ./server-config-jenkins.jsonc",
12
+ "build:gzip": "vue-cli-service build --gzip",
13
+ "build:report": "vue-cli-service build --analy",
14
+ "build:css": "vue-cli-service build --formats umd-min --target lib src/assets/css/index.scss --name index --dest style",
15
+ "build:js": "vue-cli-service build --formats umd-min --target lib src/index.js --name index --dest lib --analy"
16
+ },
17
+ "files": [
18
+ "src/_qiankun",
19
+ "src/assets",
20
+ "src/components",
21
+ "src/directives",
22
+ "src/locale",
23
+ "src/mixins",
24
+ "src/utils",
25
+ "src/plugins",
26
+ "src/index.js",
27
+ "style"
28
+ ],
29
+ "dependencies": {
30
+ "axios": "^0.21.4",
31
+ "dayjs": "^1.10.6",
32
+ "js-cookie": "^3.0.1",
33
+ "normalize.css": "^8.0.1",
34
+ "numerify": "^1.2.9",
35
+ "resize-detector": "^0.3.0",
36
+ "vuedraggable": "^2.24.3"
37
+ },
38
+ "devDependencies": {
39
+ "@babel/plugin-proposal-optional-chaining": "^7.14.5",
40
+ "@babel/plugin-transform-flow-comments": "^7.14.5",
41
+ "@vue/cli-plugin-babel": "~4.5.0",
42
+ "@vue/cli-plugin-eslint": "~4.5.0",
43
+ "@vue/cli-service": "~4.5.0",
44
+ "@vue/compiler-sfc": "^3.0.0-rc.6",
45
+ "babel-eslint": "^10.1.0",
46
+ "babel-plugin-component": "^1.1.1",
47
+ "compression-webpack-plugin": "^3.1.0",
48
+ "copy-webpack-plugin": "^6.4.1",
49
+ "core-js": "^3.6.5",
50
+ "element-ui": "^2.15.6",
51
+ "eslint": "^6.7.2",
52
+ "eslint-plugin-vue": "^6.2.2",
53
+ "lodash": "^4.17.21",
54
+ "md2vue-loader": "git+https://gitee.com/bable2000/md2vue-loader.git",
55
+ "mockjs": "^1.1.0",
56
+ "node-sass": "6.0.0",
57
+ "qiankun": "^2.5.1",
58
+ "qrcode": "^1.5.0",
59
+ "sass-loader": "^10.2.0",
60
+ "strip-json-comments": "^3.1.1",
61
+ "vue": "^2.6.11",
62
+ "vue-cli-plugin-axios": "~0.0.4",
63
+ "vue-router": "^3.5.2",
64
+ "vue-template-compiler": "^2.6.11",
65
+ "vuex": "^3.6.2",
66
+ "webpack-bundle-analyzer": "^3.9.0"
67
+ },
68
+ "eslintConfig": {
69
+ "root": true,
70
+ "env": {
71
+ "node": true
72
+ },
73
+ "extends": [
74
+ "plugin:vue/essential",
75
+ "eslint:recommended"
76
+ ],
77
+ "parserOptions": {
78
+ "parser": "babel-eslint"
79
+ },
80
+ "rules": {}
81
+ },
82
+ "browserslist": [
83
+ "> 1%",
84
+ "last 2 versions",
85
+ "not dead"
86
+ ]
87
+ }
@@ -1,113 +1,113 @@
1
- import Vue from 'vue'
2
-
3
- const vuePar = {
4
- render: undefined,
5
- router: undefined,
6
- store: undefined,
7
- i18n: undefined,
8
- abstractRouter: undefined
9
- }
10
-
11
- export function setVueParameters(par) {
12
- Object.assign(vuePar, par)
13
- }
14
-
15
- let instance = null
16
- async function _mount(props) {
17
- const { container } = props
18
- let _router = !props.router ? vuePar.router : vuePar.abstractRouter
19
- instance = new Vue({
20
- router: _router,
21
- store: vuePar.store,
22
- i18n: vuePar.i18n,
23
- render: vuePar.render
24
- }).$mount(container.querySelector('#app'))
25
- if (props.router) {
26
- let baseUrl = process.env.BASE_URL || '/'
27
- let path = props.router.replace(baseUrl, '/').replace('//', '/')
28
- instance.$router.push(path)
29
- }
30
- }
31
- async function _unmount() {
32
- instance.$destroy()
33
- instance.$el.innerHTML = ''
34
- instance = null
35
- }
36
-
37
- // let instance = null
38
- let cachedInstance = null
39
- let instance_vnode = null
40
- let catchRoute_apps = []
41
- async function _mountKeep(props) {
42
- const { container } = props
43
-
44
- if (!instance) {
45
- let _router = !props.router ? vuePar.router : vuePar.abstractRouter
46
- instance = new Vue({
47
- router: _router,
48
- i18n: vuePar.i18n,
49
- store: vuePar.store,
50
- render: vuePar.render
51
- })
52
-
53
- instance.$mount(container.querySelector('#app'))
54
-
55
- props.router && instance.$router.push(props.router)
56
- } else {
57
- let _router
58
- if (!props.router) {
59
- // 必须要new一个新的路由实例
60
- delete require.cache[require.resolve('@/router/index.js')]
61
- let res = await import('@/router/index.js')
62
- _router = res.default
63
- } else {
64
- delete require.cache[require.resolve('@/router/abstract.js')]
65
- let res = await import('@/router/abstract.js')
66
- _router = res.default
67
- }
68
- _router.apps.push(...catchRoute_apps)
69
-
70
- instance = new Vue({
71
- router: _router,
72
- store: vuePar.store,
73
- i18n: vuePar.i18n,
74
- render: () => instance_vnode
75
- })
76
- // 并设置缓存实例
77
- instance.cachedInstance = cachedInstance
78
-
79
- if (cachedInstance._route.fullPath !== instance.$route.fullPath) {
80
- cachedInstance._route = instance.$route
81
- }
82
-
83
- instance.$mount(container.querySelector('#app'))
84
-
85
- props.router && instance.$router.push(props.router)
86
- }
87
- }
88
- async function _unmountKeep() {
89
- cachedInstance = instance.cachedInstance || instance
90
- cachedInstance._vnode.data.keepAlive = true
91
- instance_vnode = cachedInstance._vnode
92
- catchRoute_apps = [...instance.$router.apps]
93
-
94
- instance.$destroy()
95
- // 其实实例还有引用,并没有被CG回收
96
- instance = {
97
- /*null*/
98
- }
99
- }
100
-
101
- const KEEP_ALIVE = process.env.VUE_APP_KEEP_ALIVE === 'true'
102
- export async function bootstrap() {
103
- // console.log('[vue] vue app bootstraped')
104
- }
105
- export async function mount(props) {
106
- // console.log('[vue] props from main framework', props)
107
- /* 从其他子运用再切回这个运用,是否保持之前的状态 */
108
- KEEP_ALIVE && !props.router ? _mountKeep(props) : _mount(props)
109
- }
110
- export async function unmount(props) {
111
- /* 从其他子运用再切回这个运用,是否保持之前的状态 */
112
- KEEP_ALIVE && !props.router ? _unmountKeep() : _unmount()
113
- }
1
+ import Vue from 'vue'
2
+
3
+ const vuePar = {
4
+ render: undefined,
5
+ router: undefined,
6
+ store: undefined,
7
+ i18n: undefined,
8
+ abstractRouter: undefined
9
+ }
10
+
11
+ export function setVueParameters(par) {
12
+ Object.assign(vuePar, par)
13
+ }
14
+
15
+ let instance = null
16
+ async function _mount(props) {
17
+ const { container } = props
18
+ let _router = !props.router ? vuePar.router : vuePar.abstractRouter
19
+ instance = new Vue({
20
+ router: _router,
21
+ store: vuePar.store,
22
+ i18n: vuePar.i18n,
23
+ render: vuePar.render
24
+ }).$mount(container.querySelector('#app'))
25
+ if (props.router) {
26
+ let baseUrl = process.env.BASE_URL || '/'
27
+ let path = props.router.replace(baseUrl, '/').replace('//', '/')
28
+ instance.$router.push(path)
29
+ }
30
+ }
31
+ async function _unmount() {
32
+ instance.$destroy()
33
+ instance.$el.innerHTML = ''
34
+ instance = null
35
+ }
36
+
37
+ // let instance = null
38
+ let cachedInstance = null
39
+ let instance_vnode = null
40
+ let catchRoute_apps = []
41
+ async function _mountKeep(props) {
42
+ const { container } = props
43
+
44
+ if (!instance) {
45
+ let _router = !props.router ? vuePar.router : vuePar.abstractRouter
46
+ instance = new Vue({
47
+ router: _router,
48
+ i18n: vuePar.i18n,
49
+ store: vuePar.store,
50
+ render: vuePar.render
51
+ })
52
+
53
+ instance.$mount(container.querySelector('#app'))
54
+
55
+ props.router && instance.$router.push(props.router)
56
+ } else {
57
+ let _router
58
+ if (!props.router) {
59
+ // 必须要new一个新的路由实例
60
+ delete require.cache[require.resolve('@/router/index.js')]
61
+ let res = await import('@/router/index.js')
62
+ _router = res.default
63
+ } else {
64
+ delete require.cache[require.resolve('@/router/abstract.js')]
65
+ let res = await import('@/router/abstract.js')
66
+ _router = res.default
67
+ }
68
+ _router.apps.push(...catchRoute_apps)
69
+
70
+ instance = new Vue({
71
+ router: _router,
72
+ store: vuePar.store,
73
+ i18n: vuePar.i18n,
74
+ render: () => instance_vnode
75
+ })
76
+ // 并设置缓存实例
77
+ instance.cachedInstance = cachedInstance
78
+
79
+ if (cachedInstance._route.fullPath !== instance.$route.fullPath) {
80
+ cachedInstance._route = instance.$route
81
+ }
82
+
83
+ instance.$mount(container.querySelector('#app'))
84
+
85
+ props.router && instance.$router.push(props.router)
86
+ }
87
+ }
88
+ async function _unmountKeep() {
89
+ cachedInstance = instance.cachedInstance || instance
90
+ cachedInstance._vnode.data.keepAlive = true
91
+ instance_vnode = cachedInstance._vnode
92
+ catchRoute_apps = [...instance.$router.apps]
93
+
94
+ instance.$destroy()
95
+ // 其实实例还有引用,并没有被CG回收
96
+ instance = {
97
+ /*null*/
98
+ }
99
+ }
100
+
101
+ const KEEP_ALIVE = process.env.VUE_APP_KEEP_ALIVE === 'true'
102
+ export async function bootstrap() {
103
+ // console.log('[vue] vue app bootstraped')
104
+ }
105
+ export async function mount(props) {
106
+ // console.log('[vue] props from main framework', props)
107
+ /* 从其他子运用再切回这个运用,是否保持之前的状态 */
108
+ KEEP_ALIVE && !props.router ? _mountKeep(props) : _mount(props)
109
+ }
110
+ export async function unmount(props) {
111
+ /* 从其他子运用再切回这个运用,是否保持之前的状态 */
112
+ KEEP_ALIVE && !props.router ? _unmountKeep() : _unmount()
113
+ }
@@ -1,48 +1,48 @@
1
- const name = process.env.VUE_APP_NAME
2
-
3
- const PM = {
4
- namespaced: true,
5
- state: {
6
- data: {}
7
- },
8
- mutations: {
9
- set(state, data) {
10
- state.data = Object.assign({}, state.data, data)
11
- },
12
- addTab(state, opt = {}) {
13
- window.postMessage({
14
- addTab: opt,
15
- targetName: 'main',
16
- originName: name
17
- })
18
- },
19
- closeTab(state, opt = {}) {
20
- window.postMessage({
21
- closeTab: opt,
22
- targetName: 'main',
23
- originName: name
24
- })
25
- },
26
- setTabName(state, opt = {}) {
27
- window.postMessage({
28
- setTabName: opt,
29
- targetName: 'main',
30
- originName: name
31
- })
32
- },
33
- refreshTab(state, opt = {}) {
34
- window.postMessage({
35
- refreshTab: opt,
36
- targetName: 'main',
37
- originName: name
38
- })
39
- }
40
- },
41
- getters: {
42
- get(state) {
43
- return state.data
44
- }
45
- }
46
- }
47
-
48
- export default PM
1
+ const name = process.env.VUE_APP_NAME
2
+
3
+ const PM = {
4
+ namespaced: true,
5
+ state: {
6
+ data: {}
7
+ },
8
+ mutations: {
9
+ set(state, data) {
10
+ state.data = Object.assign({}, state.data, data)
11
+ },
12
+ addTab(state, opt = {}) {
13
+ window.postMessage({
14
+ addTab: opt,
15
+ targetName: 'main',
16
+ originName: name
17
+ })
18
+ },
19
+ closeTab(state, opt = {}) {
20
+ window.postMessage({
21
+ closeTab: opt,
22
+ targetName: 'main',
23
+ originName: name
24
+ })
25
+ },
26
+ setTabName(state, opt = {}) {
27
+ window.postMessage({
28
+ setTabName: opt,
29
+ targetName: 'main',
30
+ originName: name
31
+ })
32
+ },
33
+ refreshTab(state, opt = {}) {
34
+ window.postMessage({
35
+ refreshTab: opt,
36
+ targetName: 'main',
37
+ originName: name
38
+ })
39
+ }
40
+ },
41
+ getters: {
42
+ get(state) {
43
+ return state.data
44
+ }
45
+ }
46
+ }
47
+
48
+ export default PM
@@ -1,35 +1,35 @@
1
- @import './cl-nav-menu.scss';
2
- @import './rootvar.scss';
3
- @import './font-icon.scss';
4
-
5
- @import './title-pop.scss';
6
- @import './cl-form-item.scss';
7
- @import './cl-approve-card.scss';
8
- @import './cl-expandable.scss';
9
- @import './cl-expandable-pane.scss';
10
- @import './cl-more-tab.scss';
11
- @import './cl-pagination.scss';
12
- @import './cl-secondary-tab.scss';
13
- @import './cl-statis.scss';
14
- @import './cl-step.scss';
15
- @import './cl-suspend.scss';
16
- @import './cl-tertiary-tab.scss';
17
- @import './cl-upload.scss';
18
- @import './cl-drag-list.scss';
19
- @import './cl-sifting.scss';
20
- @import './cl-empty.scss';
21
- @import './cl-file-upload-table.scss';
22
- @import './cl-footer-box.scss';
23
- @import './cl-filter.scss';
24
- @import './cl-worn-pagination.scss';
25
- @import './cl-dialog.scss';
26
- @import './cl-layout.scss';
27
- @import './cl-login-temporary.scss';
28
- @import './cl-showcolumn.scss';
29
- @import './cl-message.scss';
30
- @import './cl-general-card.scss';
31
- @import './cl-anchor.scss';
32
- @import './cl-flow-step.scss';
33
-
34
- @import '../../plugins/Print/print.scss';
35
- @import './select.scss';
1
+ @import './cl-nav-menu.scss';
2
+ @import './rootvar.scss';
3
+ @import './font-icon.scss';
4
+
5
+ @import './title-pop.scss';
6
+ @import './cl-form-item.scss';
7
+ @import './cl-approve-card.scss';
8
+ @import './cl-expandable.scss';
9
+ @import './cl-expandable-pane.scss';
10
+ @import './cl-more-tab.scss';
11
+ @import './cl-pagination.scss';
12
+ @import './cl-secondary-tab.scss';
13
+ @import './cl-statis.scss';
14
+ @import './cl-step.scss';
15
+ @import './cl-suspend.scss';
16
+ @import './cl-tertiary-tab.scss';
17
+ @import './cl-upload.scss';
18
+ @import './cl-drag-list.scss';
19
+ @import './cl-sifting.scss';
20
+ @import './cl-empty.scss';
21
+ @import './cl-file-upload-table.scss';
22
+ @import './cl-footer-box.scss';
23
+ @import './cl-filter.scss';
24
+ @import './cl-worn-pagination.scss';
25
+ @import './cl-dialog.scss';
26
+ @import './cl-layout.scss';
27
+ @import './cl-login-temporary.scss';
28
+ @import './cl-showcolumn.scss';
29
+ @import './cl-message.scss';
30
+ @import './cl-general-card.scss';
31
+ @import './cl-anchor.scss';
32
+ @import './cl-flow-step.scss';
33
+
34
+ @import '../../plugins/Print/print.scss';
35
+ @import './select.scss';
@@ -1,24 +1,24 @@
1
- .n20-anchor {
2
- position: fixed;
3
- right: 12px;
4
- top: 50%;
5
- transform: translateY(-50%);
6
- min-width: 80px;
7
- background-color: var(--color-white);
8
- cursor: pointer;
9
- list-style: none;
10
- padding: 12px;
11
- margin: 0;
12
- z-index:2022;
13
-
14
- .n20-anchor-item {
15
- padding: 5px 10px;
16
- margin: 2px 0;
17
- border-left: 2px solid var(--color-text-placeholder);
18
- }
19
-
20
- .n20-anchor-activit {
21
- color: var(--color-primary);
22
- border-left: 2px solid var(--color-primary);
23
- }
1
+ .n20-anchor {
2
+ position: fixed;
3
+ right: 12px;
4
+ top: 50%;
5
+ transform: translateY(-50%);
6
+ min-width: 80px;
7
+ background-color: var(--color-white);
8
+ cursor: pointer;
9
+ list-style: none;
10
+ padding: 12px;
11
+ margin: 0;
12
+ z-index:2022;
13
+
14
+ .n20-anchor-item {
15
+ padding: 5px 10px;
16
+ margin: 2px 0;
17
+ border-left: 2px solid var(--color-text-placeholder);
18
+ }
19
+
20
+ .n20-anchor-activit {
21
+ color: var(--color-primary);
22
+ border-left: 2px solid var(--color-primary);
23
+ }
24
24
  }