simple-frame-unit 1.0.2

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 (260) hide show
  1. package/.env.dev +14 -0
  2. package/CHANGELOG.md +9 -0
  3. package/README.md +24 -0
  4. package/dist/ed-frame-vue.common.1.js +11046 -0
  5. package/dist/ed-frame-vue.common.1.js.map +1 -0
  6. package/dist/ed-frame-vue.common.2.js +1715 -0
  7. package/dist/ed-frame-vue.common.2.js.map +1 -0
  8. package/dist/ed-frame-vue.common.js +53427 -0
  9. package/dist/ed-frame-vue.common.js.map +1 -0
  10. package/dist/ed-frame-vue.umd.1.js +11046 -0
  11. package/dist/ed-frame-vue.umd.1.js.map +1 -0
  12. package/dist/ed-frame-vue.umd.2.js +1715 -0
  13. package/dist/ed-frame-vue.umd.2.js.map +1 -0
  14. package/dist/ed-frame-vue.umd.js +53437 -0
  15. package/dist/ed-frame-vue.umd.js.map +1 -0
  16. package/dist/ed-frame-vue.umd.min.1.js +17 -0
  17. package/dist/ed-frame-vue.umd.min.1.js.map +1 -0
  18. package/dist/ed-frame-vue.umd.min.2.js +4 -0
  19. package/dist/ed-frame-vue.umd.min.2.js.map +1 -0
  20. package/dist/ed-frame-vue.umd.min.js +470 -0
  21. package/dist/ed-frame-vue.umd.min.js.map +1 -0
  22. package/import.easydata.js +46 -0
  23. package/lib/CHANGELOG.md +18 -0
  24. package/lib/README.md +27 -0
  25. package/lib/api/ds/index.js +124 -0
  26. package/lib/api/easyData.js +90 -0
  27. package/lib/api/easyform/easyForm.js +32 -0
  28. package/lib/api/index.js +61 -0
  29. package/lib/api/interface/index.js +32 -0
  30. package/lib/api/system.js +20 -0
  31. package/lib/index.js +80 -0
  32. package/lib/packages/BasicTemplate/EasyDataTemplate.vue +189 -0
  33. package/lib/packages/BasicTemplate/Props.js +64 -0
  34. package/lib/packages/BasicTemplate/components/TemplateComp.vue +263 -0
  35. package/lib/packages/BasicTemplate/components/TemplateViews.vue +292 -0
  36. package/lib/packages/BasicTemplate/hooks/business.js +74 -0
  37. package/lib/packages/BasicTemplate/hooks/getFormData.js +89 -0
  38. package/lib/packages/BasicTemplate/hooks/queryFormData.js +194 -0
  39. package/lib/packages/BasicTemplate/hooks/submitForm.js +53 -0
  40. package/lib/packages/BasicTemplate/hooks/useEmits.js +15 -0
  41. package/lib/packages/BasicTemplate/hooks/validate.js +42 -0
  42. package/lib/packages/EasyDataForm/EasyDataForm.vue +597 -0
  43. package/lib/packages/EasyDataForm/Props.js +22 -0
  44. package/lib/packages/EasyDataForm/components/FormItem.vue +228 -0
  45. package/lib/packages/EasyDataForm/hooks/useChosePopup.js +85 -0
  46. package/lib/packages/EasyDataForm/hooks/useEmits.js +19 -0
  47. package/lib/packages/EasyDataForm/hooks/useForm.js +169 -0
  48. package/lib/packages/EasyDataForm/hooks/useUpload.js +168 -0
  49. package/lib/packages/EasyDataList/EasyDataList.vue +348 -0
  50. package/lib/packages/EasyDataList/Props.js +116 -0
  51. package/lib/packages/EasyDataList/components/BasicModal.vue +150 -0
  52. package/lib/packages/EasyDataList/components/FormAction.vue +63 -0
  53. package/lib/packages/EasyDataList/hooks/useEmits.js +30 -0
  54. package/lib/packages/EasyDataList/hooks/useForm.js +62 -0
  55. package/lib/packages/EasyDataList/hooks/useTable.js +314 -0
  56. package/lib/packages/EasyDataTable/EasyDataTable.vue +233 -0
  57. package/lib/packages/EasyDataView/EasyDataView.vue +105 -0
  58. package/lib/packages/EdRichPreview/index.js +32 -0
  59. package/lib/packages/EdRichText/index.vue +167 -0
  60. package/lib/packages/EdRichText/replaceUrl.js +49 -0
  61. package/lib/packages/components/FileView.vue +97 -0
  62. package/lib/packages/index.js +11 -0
  63. package/lib/packages/mixins/EasyDataMixins.js +133 -0
  64. package/lib/packages/mixins/useTable.jsx +130 -0
  65. package/lib/pages/DataSource/index.js +8 -0
  66. package/lib/pages/DataSource/src/components/ControlViews/BaseProps.js +103 -0
  67. package/lib/pages/DataSource/src/components/ControlViews/control.js +1089 -0
  68. package/lib/pages/DataSource/src/components/ControlViews/index.vue +301 -0
  69. package/lib/pages/DataSource/src/components/TableOperationModal.vue +225 -0
  70. package/lib/pages/DataSource/src/components/TablePropsModal.vue +367 -0
  71. package/lib/pages/DataSource/src/components/ViewPropsModal.vue +737 -0
  72. package/lib/pages/DataSource/src/components/modal/ChooseDict.vue +119 -0
  73. package/lib/pages/DataSource/src/hooks/useTable.js +138 -0
  74. package/lib/pages/DataSource/src/index.vue +431 -0
  75. package/lib/pages/Interface/index.js +8 -0
  76. package/lib/pages/Interface/src/components/InterfaceCall.vue +73 -0
  77. package/lib/pages/Interface/src/components/InterfaceDepend.vue +299 -0
  78. package/lib/pages/Interface/src/components/InterfaceFee.vue +131 -0
  79. package/lib/pages/Interface/src/components/InterfaceMessage.vue +878 -0
  80. package/lib/pages/Interface/src/components/InterfaceMock.vue +203 -0
  81. package/lib/pages/Interface/src/components/InterfaceParam.vue +308 -0
  82. package/lib/pages/Interface/src/components/InterfaceRepeat.vue +281 -0
  83. package/lib/pages/Interface/src/components/InterfaceVariable.vue +31 -0
  84. package/lib/pages/Interface/src/index.vue +216 -0
  85. package/lib/pages/Template/index.js +8 -0
  86. package/lib/pages/Template/src/components/DefineModal.vue +524 -0
  87. package/lib/pages/Template/src/components/TemplatePreview.vue +109 -0
  88. package/lib/pages/Template/src/components/model/AddDialog.vue +60 -0
  89. package/lib/pages/Template/src/components/model/TemplatePreview2.vue +101 -0
  90. package/lib/pages/Template/src/hooks/index.js +3 -0
  91. package/lib/pages/Template/src/hooks/useEmits.js +64 -0
  92. package/lib/pages/Template/src/index.vue +124 -0
  93. package/lib/popup/index.js +8 -0
  94. package/lib/popup/src/DataSourceChoose.vue +44 -0
  95. package/lib/popup/src/DataSourceViewIdChoose.vue +67 -0
  96. package/lib/popup/src/DictChoose.vue +104 -0
  97. package/lib/popup/src/InterfaceChoose.vue +46 -0
  98. package/lib/popup/src/OrgChoose.vue +121 -0
  99. package/lib/popup/src/RoleChoose.vue +101 -0
  100. package/lib/popup/src/TemplateChoose.vue +43 -0
  101. package/lib/popup/src/UserChoose.vue +161 -0
  102. package/lib/popup//347/273/204/344/273/266/345/274/200/345/217/221/350/247/204/350/214/203.md +25 -0
  103. package/lib/style/custom.scss +126 -0
  104. package/lib/style/deep.scss +109 -0
  105. package/lib/style/index.scss +4 -0
  106. package/lib/utils/MapLoader.js +48 -0
  107. package/lib/utils/dateUtils.js +58 -0
  108. package/lib/utils/index.js +8 -0
  109. package/lib/utils/setting.js +25 -0
  110. package/lib/utils/sortable/index.js +3784 -0
  111. package/lib/utils/useBusiness.js +212 -0
  112. package/lib/utils/utils.js +588 -0
  113. package/package.json +77 -0
  114. package/src/App.vue +12 -0
  115. package/src/assets/Vue.png +0 -0
  116. package/src/assets/avatar.png +0 -0
  117. package/src/assets/images/bg.png +0 -0
  118. package/src/assets/images/logo-bills.png +0 -0
  119. package/src/assets/images/pic.png +0 -0
  120. package/src/assets/images/weplus-logo.png +0 -0
  121. package/src/assets/marker.png +0 -0
  122. package/src/assets/styles/common.scss +359 -0
  123. package/src/assets/styles/ele-docs.css +3278 -0
  124. package/src/assets/styles/fonts/icomoon.eot +0 -0
  125. package/src/assets/styles/fonts/icomoon.svg +14 -0
  126. package/src/assets/styles/fonts/icomoon.ttf +0 -0
  127. package/src/assets/styles/fonts/icomoon.woff +0 -0
  128. package/src/assets/styles/fonts/style.css +39 -0
  129. package/src/assets/styles/higtlightEle.css +84 -0
  130. package/src/assets/svg/code.svg +7 -0
  131. package/src/assets/svg/password.svg +1 -0
  132. package/src/components/Popups/DiyCompDictChoose.vue +112 -0
  133. package/src/components/Popups/index.js +28 -0
  134. package/src/components/ed-base-vue/global/variable.js +8 -0
  135. package/src/components/ed-base-vue/index.js +81 -0
  136. package/src/components/ed-base-vue/package/EdCard/index.js +7 -0
  137. package/src/components/ed-base-vue/package/EdCard/src/index.vue +87 -0
  138. package/src/components/ed-base-vue/package/EdCodeEditor/index.js +8 -0
  139. package/src/components/ed-base-vue/package/EdCodeEditor/src/AceEditor/AceConfig.js +71 -0
  140. package/src/components/ed-base-vue/package/EdCodeEditor/src/AceEditor/Editor.vue +137 -0
  141. package/src/components/ed-base-vue/package/EdCodeEditor/src/AceEditor/Toolbar.vue +68 -0
  142. package/src/components/ed-base-vue/package/EdCodeEditor/src/AceEditor/index.vue +119 -0
  143. package/src/components/ed-base-vue/package/EdCodeEditor/src/AceEditor/webpack-resolver.js +51 -0
  144. package/src/components/ed-base-vue/package/EdCodeEditor/src/Codemirror/Toolbar.vue +57 -0
  145. package/src/components/ed-base-vue/package/EdCodeEditor/src/Codemirror/config.js +64 -0
  146. package/src/components/ed-base-vue/package/EdCodeEditor/src/Codemirror/index.vue +309 -0
  147. package/src/components/ed-base-vue/package/EdCodeEditor/src/EdCodeEditor.vue +238 -0
  148. package/src/components/ed-base-vue/package/EdDate/index.js +8 -0
  149. package/src/components/ed-base-vue/package/EdDate/src/index.js +50 -0
  150. package/src/components/ed-base-vue/package/EdDescriptions/index.js +8 -0
  151. package/src/components/ed-base-vue/package/EdDescriptions/src/EdDescriptions.vue +46 -0
  152. package/src/components/ed-base-vue/package/EdDescriptions/src/EdDescriptionsItem.js +20 -0
  153. package/src/components/ed-base-vue/package/EdDescriptions/src/Props.js +20 -0
  154. package/src/components/ed-base-vue/package/EdDialog/index.js +8 -0
  155. package/src/components/ed-base-vue/package/EdDialog/src/EdDialog.vue +138 -0
  156. package/src/components/ed-base-vue/package/EdDialog/src/Props.js +91 -0
  157. package/src/components/ed-base-vue/package/EdDialog/src/components/DialogFooter.vue +42 -0
  158. package/src/components/ed-base-vue/package/EdDialog/src/components/DialogWrapper.vue +53 -0
  159. package/src/components/ed-base-vue/package/EdDrawer/index.js +8 -0
  160. package/src/components/ed-base-vue/package/EdDrawer/src/DrawerFooter.vue +41 -0
  161. package/src/components/ed-base-vue/package/EdDrawer/src/EdDrawer.vue +150 -0
  162. package/src/components/ed-base-vue/package/EdDrawer/src/props.js +71 -0
  163. package/src/components/ed-base-vue/package/EdFlow/index.js +8 -0
  164. package/src/components/ed-base-vue/package/EdFlow/src/EdFlowItem.vue +733 -0
  165. package/src/components/ed-base-vue/package/EdFlow/src/index.vue +148 -0
  166. package/src/components/ed-base-vue/package/EdForm/index.js +8 -0
  167. package/src/components/ed-base-vue/package/EdForm/src/EdForm.vue +172 -0
  168. package/src/components/ed-base-vue/package/EdForm/src/Props.js +33 -0
  169. package/src/components/ed-base-vue/package/EdForm/src/components/EdFormItem.vue +34 -0
  170. package/src/components/ed-base-vue/package/EdIcons/index.js +8 -0
  171. package/src/components/ed-base-vue/package/EdIcons/src/hooks/Icons.js +406 -0
  172. package/src/components/ed-base-vue/package/EdIcons/src/hooks/Icons1.js +830 -0
  173. package/src/components/ed-base-vue/package/EdIcons/src/index.vue +13 -0
  174. package/src/components/ed-base-vue/package/EdImage/index.js +8 -0
  175. package/src/components/ed-base-vue/package/EdImage/src/index.vue +28 -0
  176. package/src/components/ed-base-vue/package/EdInputArray/index.js +8 -0
  177. package/src/components/ed-base-vue/package/EdInputArray/src/Props.js +26 -0
  178. package/src/components/ed-base-vue/package/EdInputArray/src/index.vue +97 -0
  179. package/src/components/ed-base-vue/package/EdInputColor/index.js +8 -0
  180. package/src/components/ed-base-vue/package/EdInputColor/src/InputColor.vue +81 -0
  181. package/src/components/ed-base-vue/package/EdInputMap/index.js +9 -0
  182. package/src/components/ed-base-vue/package/EdInputMap/src/EdInputMap.vue +246 -0
  183. package/src/components/ed-base-vue/package/EdInputMap/src/EdInputMapProps.js +6 -0
  184. package/src/components/ed-base-vue/package/EdInputPop/index.js +13 -0
  185. package/src/components/ed-base-vue/package/EdInputPop/src/EdInputPop.vue +144 -0
  186. package/src/components/ed-base-vue/package/EdInputPop/src/Props.js +48 -0
  187. package/src/components/ed-base-vue/package/EdInputTable/index.js +8 -0
  188. package/src/components/ed-base-vue/package/EdInputTable/src/EdInputTable.vue +368 -0
  189. package/src/components/ed-base-vue/package/EdInputTable/src/Fetch.js +40 -0
  190. package/src/components/ed-base-vue/package/EdJsonEditor/index.js +13 -0
  191. package/src/components/ed-base-vue/package/EdJsonEditor/src/EdJsonEditor.vue +198 -0
  192. package/src/components/ed-base-vue/package/EdJsonEditor/src/assets/img/jsoneditor-icons.svg +749 -0
  193. package/src/components/ed-base-vue/package/EdJsonEditor/src/assets/jsoneditor.css +2031 -0
  194. package/src/components/ed-base-vue/package/EdJsonEditor/src/assets/plus.svg +1 -0
  195. package/src/components/ed-base-vue/package/EdJsonEditor/src/hooks.js +63 -0
  196. package/src/components/ed-base-vue/package/EdJsonViewer/index.js +8 -0
  197. package/src/components/ed-base-vue/package/EdJsonViewer/src/EdJsonViewer.vue +44 -0
  198. package/src/components/ed-base-vue/package/EdLable/index.js +8 -0
  199. package/src/components/ed-base-vue/package/EdLable/src/index.vue +34 -0
  200. package/src/components/ed-base-vue/package/EdLink/index.js +8 -0
  201. package/src/components/ed-base-vue/package/EdLink/src/index.vue +43 -0
  202. package/src/components/ed-base-vue/package/EdMarkEditor/index.js +15 -0
  203. package/src/components/ed-base-vue/package/EdMarkEditor/src/EdMarkEditor.vue +368 -0
  204. package/src/components/ed-base-vue/package/EdMarkEditor/src/extra-function.js +538 -0
  205. package/src/components/ed-base-vue/package/EdMarkEditor/src/highlight.js +95 -0
  206. package/src/components/ed-base-vue/package/EdTable/index.js +8 -0
  207. package/src/components/ed-base-vue/package/EdTable/src/EdTable.vue +240 -0
  208. package/src/components/ed-base-vue/package/EdTable/src/Props.js +97 -0
  209. package/src/components/ed-base-vue/package/EdTable/src/components/TableColumnItem.js +24 -0
  210. package/src/components/ed-base-vue/package/EdTable/src/components/TablePagination.vue +73 -0
  211. package/src/components/ed-base-vue/package/EdTableEditor/index.js +8 -0
  212. package/src/components/ed-base-vue/package/EdTableEditor/src/EdTableEditor.vue +282 -0
  213. package/src/components/ed-base-vue/package/EdTableEditor/src/Props.js +107 -0
  214. package/src/components/ed-base-vue/package/EdTableEditor/src/hooks/validate.js +90 -0
  215. package/src/components/ed-base-vue/package/EdUpload/index.js +8 -0
  216. package/src/components/ed-base-vue/package/EdUpload/src/Props.js +90 -0
  217. package/src/components/ed-base-vue/package/EdUpload/src/index.vue +88 -0
  218. package/src/components/ed-base-vue/package/EdViewer/index.js +8 -0
  219. package/src/components/ed-base-vue/package/EdViewer/src/EdViewer.vue +310 -0
  220. package/src/components/ed-base-vue/package/EdWangEditor/index.js +14 -0
  221. package/src/components/ed-base-vue/package/EdWangEditor/src/EdWangEditor.vue +127 -0
  222. package/src/components/ed-base-vue/package/ExtendSlot.js +12 -0
  223. package/src/components/ed-base-vue/package/OptionSlot.js +65 -0
  224. package/src/components/ed-base-vue/plugin/Message/index.js +2 -0
  225. package/src/components/ed-base-vue/plugin/Message/src/main.js +91 -0
  226. package/src/components/ed-base-vue/plugin/Message/src/main.vue +253 -0
  227. package/src/components/ed-base-vue/plugin/print/index.js +156 -0
  228. package/src/components/ed-base-vue/plugin/sortable/index.js +3784 -0
  229. package/src/components/ed-base-vue/style/custom.scss +107 -0
  230. package/src/components/ed-base-vue/style/deep.scss +100 -0
  231. package/src/components/ed-base-vue/style/index.scss +4 -0
  232. package/src/components/ed-base-vue/tools/date-format.js +315 -0
  233. package/src/components/ed-base-vue/tools/utils.js +124 -0
  234. package/src/layouts/components/AppMain.vue +17 -0
  235. package/src/layouts/components/Header.vue +256 -0
  236. package/src/layouts/components/Logo.vue +56 -0
  237. package/src/layouts/components/Navbar.vue +169 -0
  238. package/src/layouts/components/SideBar.vue +107 -0
  239. package/src/layouts/components/index.js +5 -0
  240. package/src/layouts/index.vue +57 -0
  241. package/src/main.js +42 -0
  242. package/src/request/config.js +6 -0
  243. package/src/request/index.js +85 -0
  244. package/src/request/request.js +147 -0
  245. package/src/router/index.js +65 -0
  246. package/src/router/modules/baseRouter.js +43 -0
  247. package/src/router/modules/easydata.js +49 -0
  248. package/src/views/base/BaseRichPreview.vue +23 -0
  249. package/src/views/base/BaseRichText.vue +28 -0
  250. package/src/views/base/EdFormView.vue +54 -0
  251. package/src/views/base/EdTable.vue +98 -0
  252. package/src/views/base/inputTable.vue +103 -0
  253. package/src/views/easydata/Interface.vue +3 -0
  254. package/src/views/easydata/dataSource.vue +13 -0
  255. package/src/views/easydata/dataSourceView.vue +71 -0
  256. package/src/views/easydata/templateDemo.vue +89 -0
  257. package/src/views/easydata/templateInfo.vue +13 -0
  258. package/src/views/index.vue +17 -0
  259. package/src/views/login.vue +208 -0
  260. package/src/views/redirect.vue +15 -0
@@ -0,0 +1,256 @@
1
+ <template>
2
+ <div class="headerWrapper">
3
+ <header ref="header" class="header">
4
+ <div class="container">
5
+ <h1 class="header-logo">
6
+ <router-link to="/">
7
+ <!-- logo -->
8
+ <slot>
9
+ <img alt="ed-logo" class="nav-logo" src="@/assets/images/weplus-logo.png"/>
10
+ </slot>
11
+ </router-link>
12
+ </h1>
13
+
14
+ <!-- nav -->
15
+ <ul class="nav">
16
+ <li class="nav-item">
17
+ <router-link active-class="active" to="/ed">{{ langConfig.edbase }}</router-link>
18
+ </li>
19
+ <li class="nav-item">
20
+ <router-link active-class="active" to="/ef">{{ langConfig.edframe }}</router-link>
21
+ </li>
22
+ <li class="nav-item">
23
+ <router-link active-class="active" to="/el">{{ langConfig.element }}</router-link>
24
+ </li>
25
+ </ul>
26
+ </div>
27
+ </header>
28
+ </div>
29
+ </template>
30
+ <script>
31
+ export default {
32
+ name: "Header",
33
+ data() {
34
+ return {
35
+ active: '',
36
+ versions: [],
37
+ verDropdownVisible: true,
38
+ langDropdownVisible: true,
39
+ };
40
+ },
41
+ computed: {
42
+ langConfig() {
43
+ return {
44
+ element: "Element UI",
45
+ edbase: "Ed 基础组件",
46
+ edframe: "Ed 业务组件",
47
+ };
48
+ },
49
+ },
50
+ };
51
+ </script>
52
+ <style lang="scss" scoped>
53
+ .headerWrapper {
54
+ height: 80px;
55
+ }
56
+
57
+
58
+ .header {
59
+ height: 80px;
60
+ background-color: #fff;
61
+ color: #fff;
62
+ top: 0;
63
+ left: 0;
64
+ width: 100%;
65
+ line-height: 80px;
66
+ z-index: 100;
67
+ position: relative;
68
+
69
+ .container {
70
+ height: 100%;
71
+ box-sizing: border-box;
72
+ border-bottom: 1px solid #DCDFE6;
73
+ display: flex;
74
+ justify-content: space-between;
75
+ align-items: center;
76
+ }
77
+
78
+ .header-logo {
79
+ margin: 0;
80
+ width: 20vw;
81
+ font-size: 32px;
82
+ font-weight: normal;
83
+
84
+ a {
85
+ color: #333;
86
+ text-decoration: none;
87
+ display: block;
88
+ }
89
+
90
+ span {
91
+ font-size: 12px;
92
+ display: inline-block;
93
+ width: 34px;
94
+ height: 18px;
95
+ border: 1px solid rgba(255, 255, 255, .5);
96
+ text-align: center;
97
+ line-height: 18px;
98
+ vertical-align: middle;
99
+ margin-left: 10px;
100
+ border-radius: 3px;
101
+ }
102
+ }
103
+
104
+ .nav {
105
+ height: 100%;
106
+ line-height: 80px;
107
+ background: transparent;
108
+ padding: 0 50px;
109
+ margin: 0;
110
+
111
+ &::before, &::after {
112
+ display: table;
113
+ content: "";
114
+ }
115
+
116
+ &::after {
117
+ clear: both;
118
+ }
119
+ }
120
+
121
+ .nav-gap {
122
+ position: relative;
123
+ width: 1px;
124
+ height: 80px;
125
+ padding: 0 20px;
126
+
127
+ &::before {
128
+ content: '';
129
+ position: absolute;
130
+ top: calc(50% - 8px);
131
+ width: 1px;
132
+ height: 16px;
133
+ background: #ebebeb;
134
+ }
135
+ }
136
+
137
+ .nav-logo,
138
+ .nav-logo-small {
139
+ width: 150px;
140
+ vertical-align: sub;
141
+ }
142
+
143
+ .nav-logo-small {
144
+ display: none;
145
+ }
146
+
147
+ .nav-item {
148
+ margin: 0;
149
+ float: left;
150
+ list-style: none;
151
+ position: relative;
152
+ cursor: pointer;
153
+
154
+ &.nav-algolia-search {
155
+ cursor: default;
156
+ }
157
+
158
+ &.lang-item,
159
+ &:last-child {
160
+ cursor: default;
161
+
162
+ span {
163
+ opacity: .8;
164
+ }
165
+
166
+ .nav-lang {
167
+ cursor: pointer;
168
+ display: inline-block;
169
+ height: 100%;
170
+ color: #888;
171
+
172
+ &:hover {
173
+ color: #409EFF;
174
+ }
175
+
176
+ &.active {
177
+ font-weight: bold;
178
+ color: #409EFF;
179
+ }
180
+ }
181
+ }
182
+
183
+ a {
184
+ text-decoration: none;
185
+ color: #1989FA;
186
+ opacity: 0.5;
187
+ display: block;
188
+ padding: 0 22px;
189
+
190
+ &.active,
191
+ &:hover {
192
+ opacity: 1;
193
+ }
194
+
195
+ &.active::after {
196
+ content: '';
197
+ display: inline-block;
198
+ position: absolute;
199
+ bottom: 0;
200
+ left: calc(50% - 15px);
201
+ width: 30px;
202
+ height: 2px;
203
+ background: #409EFF;
204
+ }
205
+ }
206
+ }
207
+ }
208
+
209
+ .nav-dropdown {
210
+ margin-bottom: 6px;
211
+ padding-left: 18px;
212
+ width: 100%;
213
+
214
+ span {
215
+ display: block;
216
+ width: 100%;
217
+ font-size: 16px;
218
+ color: #888;
219
+ line-height: 40px;
220
+ transition: .2s;
221
+ padding-bottom: 6px;
222
+ user-select: none;
223
+
224
+ &:hover {
225
+ cursor: pointer;
226
+ }
227
+ }
228
+
229
+ i {
230
+ transition: .2s;
231
+ font-size: 12px;
232
+ color: #979797;
233
+ transform: translateY(-2px);
234
+ }
235
+
236
+ .is-active {
237
+ span, i {
238
+ color: #409EFF;
239
+ }
240
+
241
+ i {
242
+ transform: rotateZ(180deg) translateY(3px);
243
+ }
244
+ }
245
+
246
+ &:hover {
247
+ span, i {
248
+ color: #409EFF;
249
+ }
250
+ }
251
+ }
252
+
253
+ .nav-dropdown-list {
254
+ width: auto;
255
+ }
256
+ </style>
@@ -0,0 +1,56 @@
1
+ <template>
2
+ <div class="layout-logo" :style="{'justify-content': !isCollapse ? 'space-between' : 'center' }">
3
+ <img v-if="!isCollapse" alt="" class="logo-img" src="@/assets/Vue.png">
4
+ <div v-if="!isCollapse" class="website-name">{{ title }}</div>
5
+ <!-- <i :class="!isCollapse ? 'el-icon-s-fold' : 'el-icon-s-unfold'" style="font-size: 26px; color: rgb(64, 158, 255);"-->
6
+ <!-- @click="handleFold"></i>-->
7
+ </div>
8
+ </template>
9
+
10
+ <script>
11
+ export default {
12
+ name: "Logo",
13
+ props: {
14
+ isCollapse: {
15
+ type: Boolean,
16
+ default: false
17
+ },
18
+ title: {
19
+ type: String,
20
+ default: "ed-base-vue"
21
+ }
22
+ },
23
+ model: {
24
+ prop: "isCollapse",
25
+ event: "input"
26
+ },
27
+ methods: {
28
+ handleFold() {
29
+ this.$emit('input', !this.isCollapse)
30
+ }
31
+ }
32
+ }
33
+ </script>
34
+
35
+ <style lang="scss" scoped>
36
+
37
+ .layout-logo {
38
+ display: flex;
39
+ justify-content: space-between;
40
+ align-items: center;
41
+ color: #fff;
42
+ padding: 5px;
43
+
44
+ .logo-img {
45
+ width: 28px;
46
+ }
47
+
48
+ .website-name {
49
+ font-weight: 600;
50
+ overflow: hidden;
51
+ text-overflow: ellipsis;
52
+ white-space: nowrap;
53
+ padding: 0 10px;
54
+ }
55
+ }
56
+ </style>
@@ -0,0 +1,169 @@
1
+ <template>
2
+ <div class="navbar">
3
+ <div class="hamburger-container"><i class="el-icon-s-fold"></i></div>
4
+ <div class="navbar-breadcrumb">
5
+ <el-breadcrumb separator-class="el-icon-arrow-right">
6
+ <template v-for="(item, index) in breadcrumb">
7
+ <el-breadcrumb-item :key="index" :to="{ path: item.path }">{{ item.title }}</el-breadcrumb-item>
8
+ </template>
9
+ </el-breadcrumb>
10
+ </div>
11
+
12
+ <!-- 用户信息 -->
13
+ <el-popover placement="bottom" popper-class="admin-popover" trigger="click" width="200">
14
+ <div slot="reference" class="user-info">
15
+ <el-avatar :src="admin.avatar" size="small"></el-avatar>
16
+ <div class="user-info--name">{{ admin.userName }}</div>
17
+ </div>
18
+
19
+ <div class="admin-info">
20
+ <el-avatar :src="admin.avatar" class="admin-info--avatar" size="large"></el-avatar>
21
+ <div class="admin-info--name">{{ admin.userName }}</div>
22
+ <div class="admin-info--time">
23
+ <ed-date :date="admin.loginTime"></ed-date>
24
+ </div>
25
+
26
+
27
+ <div class="admin-info--btn">
28
+ <el-button plain size="mini" type="primary">个人资料</el-button>
29
+ <el-button plain size="mini" type="danger" @click="loginOut">退出登录</el-button>
30
+ </div>
31
+ </div>
32
+ </el-popover>
33
+
34
+ </div>
35
+ </template>
36
+
37
+ <script>
38
+ import {routes} from "@/router"
39
+
40
+ export default {
41
+ name: "Navbar",
42
+ data() {
43
+ return {
44
+ breadcrumb: [],
45
+ admin: {
46
+ userName: "admin",
47
+ loginTime: ""
48
+ }
49
+ }
50
+ },
51
+ watch: {
52
+ "$route": {
53
+ deep: true,
54
+ immediate: true,
55
+ handler(newVal) {
56
+ if (newVal) {
57
+ console.log(newVal)
58
+ this.breadcrumb = []
59
+
60
+ let matched = routes.find(i => i.path === newVal.matched[0].path)
61
+ console.log(matched)
62
+
63
+ if (matched) {
64
+ this.breadcrumb.push({
65
+ path: matched.path,
66
+ title: matched.title
67
+ })
68
+
69
+ matched.children.map(route => {
70
+ if (newVal.meta.title === route.meta.title) {
71
+ this.breadcrumb.push({
72
+ path: route.path,
73
+ title: route.title
74
+ })
75
+ }
76
+ })
77
+ }
78
+
79
+
80
+ }
81
+ }
82
+ }
83
+ },
84
+ mounted() {
85
+ let userInfo = window.localStorage.getItem('FRAME_VUE_USER')
86
+ this.admin = JSON.parse(userInfo)
87
+ },
88
+ methods: {
89
+ loginOut() {
90
+ window.localStorage.clear();
91
+ this.$router.push({path: "/login"})
92
+ }
93
+ }
94
+ }
95
+ </script>
96
+
97
+ <style lang="scss" scoped>
98
+ .navbar {
99
+ height: 50px;
100
+ background: #fff;
101
+ box-shadow: 0 1px 4px rgba(0, 21, 41, .08);
102
+ padding: 0 15px;
103
+ display: flex;
104
+ align-items: center;
105
+
106
+ .hamburger-container {
107
+ height: 100%;
108
+ cursor: pointer;
109
+ transition: background .3s;
110
+ -webkit-tap-highlight-color: transparent;
111
+ display: flex;
112
+ align-items: center;
113
+ }
114
+
115
+ .navbar-breadcrumb {
116
+ margin-left: 30px;
117
+ width: 100%;
118
+ }
119
+
120
+ .user-info {
121
+ display: flex;
122
+ align-items: center;
123
+ height: 100%;
124
+ padding: 0 10px;
125
+ cursor: pointer;
126
+ user-select: none;
127
+
128
+ &:hover {
129
+ background: #f5f5f5;
130
+ }
131
+
132
+ .user-info--name {
133
+ padding-left: 6px;
134
+ white-space: nowrap;
135
+ }
136
+
137
+
138
+ }
139
+
140
+
141
+ }
142
+
143
+ .admin-popover {
144
+ .admin-info {
145
+ display: flex;
146
+ justify-content: center;
147
+ flex-direction: column;
148
+ align-items: center;
149
+
150
+ .admin-info--avatar {
151
+ margin-bottom: 10px;
152
+ }
153
+
154
+ .admin-info--name {
155
+ margin-bottom: 10px;
156
+ }
157
+
158
+ .admin-info--time {
159
+ margin-bottom: 10px;
160
+ }
161
+
162
+ .admin-info--btn {
163
+ display: flex;
164
+ justify-content: space-between;
165
+ align-items: center;
166
+ }
167
+ }
168
+ }
169
+ </style>
@@ -0,0 +1,107 @@
1
+ <template>
2
+ <div :style="{width: isCollapse ? 'auto' : '200px'}">
3
+ <el-scrollbar class="theme-dark" wrap-class="scrollbar-wrapper">
4
+ <Logo v-model="isCollapse"></Logo>
5
+
6
+ <el-menu :collapse="isCollapse"
7
+ :collapse-transition="false"
8
+ :default-active="activeMenu"
9
+ :unique-opened="true"
10
+ active-text-color="#409EFF"
11
+ background-color="#304156"
12
+ class="el-menu-vertical-demo"
13
+ text-color="#bfcbd9">
14
+
15
+ <template v-for="(item, index) in MenuList">
16
+ <!-- 多子级 -->
17
+ <el-submenu v-if="isSubmenu(item)" :key="'menu'+index" :index="item.path">
18
+ <template slot="title">
19
+ <i :class="item.icons"></i>
20
+ <span>{{ item.title }}</span>
21
+ </template>
22
+ <template v-for="(menu, i) in item.children">
23
+ <router-link v-if="!menu.hidden" :key="i" :to="menu.path">
24
+ <el-menu-item :index="menu.path">
25
+ <i :class="menu.icons"></i>
26
+ <span slot="title">{{ menu.title }}</span>
27
+ </el-menu-item>
28
+ </router-link>
29
+ </template>
30
+ </el-submenu>
31
+
32
+ <!-- 单子级 -->
33
+ <template v-if="isOneMenu(item)">
34
+ <router-link v-for="(menu, i) in item.children" :key="i" :to="menu.path">
35
+ <el-menu-item :index="menu.path">
36
+ <i :class="menu.icons"></i>
37
+ <span>{{ menu.title }}</span>
38
+ </el-menu-item>
39
+ </router-link>
40
+ </template>
41
+
42
+ <!-- 无子级 -->
43
+ <router-link v-if="!item.children" :key="'item'+index" :to="item.path">
44
+ <el-menu-item :index="item.path">
45
+ <i :class="item.icons"></i>
46
+ <span slot="title">{{ item.title }}</span>
47
+ </el-menu-item>
48
+ </router-link>
49
+
50
+ </template>
51
+ </el-menu>
52
+ </el-scrollbar>
53
+ </div>
54
+ </template>
55
+ <script>
56
+ import Logo from "./Logo"
57
+ import {routes} from "@/router/index.js";
58
+
59
+ export default {
60
+ name: "SideBar",
61
+ components: {Logo},
62
+ props: {
63
+ data: Array,
64
+ base: {
65
+ type: String,
66
+ default: ''
67
+ }
68
+ },
69
+ computed: {
70
+ MenuList() {
71
+ return routes.filter(i => !i.hidden)
72
+ },
73
+ activeMenu() {
74
+ const {path} = this.$route;
75
+ return path;
76
+ },
77
+ isSubmenu() {
78
+ return (item) => {
79
+ return item.children && item.children.length > 1
80
+ }
81
+ },
82
+ isOneMenu() {
83
+ return (item) => {
84
+ return item.children && item.children.length === 1
85
+ }
86
+ }
87
+ },
88
+ data() {
89
+ return {
90
+ isCollapse: false
91
+ };
92
+ },
93
+ };
94
+ </script>
95
+ <style lang="scss">
96
+ .theme-dark {
97
+ .el-menu-vertical-demo {
98
+ color: rgb(191, 203, 217);
99
+
100
+ a {
101
+ display: inline-block;
102
+ width: 100%;
103
+ overflow: hidden;
104
+ }
105
+ }
106
+ }
107
+ </style>
@@ -0,0 +1,5 @@
1
+ export {default as AppMain} from "./AppMain"
2
+ export {default as SideBar} from "./SideBar"
3
+ export {default as Header} from "./Header"
4
+ export {default as Logo} from "./Logo"
5
+ export {default as Navbar} from "./Navbar"
@@ -0,0 +1,57 @@
1
+ <template>
2
+ <div class="ed-app">
3
+ <!-- 菜单栏 -->
4
+ <div class="ed-app-left">
5
+ <SideBar :data="routes"></SideBar>
6
+ </div>
7
+ <!-- 内容层 -->
8
+ <el-scrollbar class="ed-app--right">
9
+ <Navbar></Navbar>
10
+
11
+ <div class="ed-app--right-main">
12
+ <AppMain></AppMain>
13
+ </div>
14
+ </el-scrollbar>
15
+ </div>
16
+ </template>
17
+ <script>
18
+
19
+ import {AppMain, Navbar, SideBar} from "./components"
20
+ import {routes} from "@/router/index.js";
21
+
22
+ export default {
23
+ name: "index",
24
+ components: {AppMain, SideBar, Navbar},
25
+ data() {
26
+ return {
27
+ routes
28
+ };
29
+ },
30
+ methods: {},
31
+ };
32
+ </script>
33
+ <style lang="scss">
34
+ .ed-app {
35
+ display: flex;
36
+ align-items: center;
37
+ overflow: hidden;
38
+
39
+ .ed-app-left {
40
+ height: 100vh;
41
+ background: #304156 !important;
42
+ padding: 0;
43
+ border: none !important;
44
+ }
45
+
46
+ .ed-app--right {
47
+ height: 100vh;
48
+ width: 100%;
49
+
50
+ .ed-app--right-main {
51
+ padding: 10px 10px 0 10px;
52
+ }
53
+ }
54
+ }
55
+
56
+
57
+ </style>
package/src/main.js ADDED
@@ -0,0 +1,42 @@
1
+ import Vue from 'vue'
2
+ import App from './App.vue'
3
+ import router from "./router";
4
+ import request from './request'
5
+ import {getBaseHeader} from "./request/request";
6
+
7
+ Vue.prototype.$axios = request
8
+
9
+ import ElementUI from 'element-ui'
10
+ import 'element-ui/lib/theme-chalk/index.css'
11
+
12
+
13
+ // ed-base-vue
14
+ // import EdBaseVue from 'ed-base-vue'
15
+ import EdBaseVue from '@/components/ed-base-vue'
16
+ import "@/components/ed-base-vue/style/index.scss"
17
+ // ed-frame-vue
18
+ import EdFrameVue from '../lib/index'
19
+
20
+ // 组件
21
+ import './assets/styles/common.scss';
22
+ import './assets/styles/ele-docs.css';
23
+ import './assets/styles/higtlightEle.css';
24
+
25
+ import Popups from "@/components/Popups"
26
+
27
+ Vue.config.productionTip = false
28
+
29
+
30
+ Vue.use(Popups)
31
+ Vue.use(ElementUI)
32
+ Vue.use(EdBaseVue)
33
+ Vue.use(EdFrameVue, {
34
+ request: request.requestAxios,
35
+ BASE_API: process.env.VUE_APP_BASE_API,
36
+ BASE_HEADERS: getBaseHeader,
37
+ FILE_PREVIEW_URL: process.env.VUE_APP_FILE_PREVIEW_URL
38
+ })
39
+ new Vue({
40
+ router,
41
+ render: h => h(App),
42
+ }).$mount('#app')
@@ -0,0 +1,6 @@
1
+ export default {
2
+ TITLE: '微流水分析系统',
3
+ BASE_API: 'https://eddev.myweplus.com/api/',
4
+ FILE_PREVIEW_URL: 'http://47.108.166.206:8012/onlinePreview?url=',
5
+ captchaVerification: "p5zlOVXZYfgh22bcDRkMqILwTKSg7IiMiQN2h9um7jfGXe5Vo/QrvcVsBCB5rg8DAFMQJTtIzZlDCtyWHjR7jg==",
6
+ }