eoss-ui 0.6.44 → 0.6.45

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 (285) hide show
  1. package/lib/button.js +2 -2
  2. package/lib/cascader.js +2 -2
  3. package/lib/date-picker.js +2 -2
  4. package/lib/enable-drag.js +839 -0
  5. package/lib/enterprise.js +2 -2
  6. package/lib/eoss-ui.common.js +1442 -811
  7. package/lib/error-page.js +2 -2
  8. package/lib/flow-group.js +2 -2
  9. package/lib/flow-list.js +83 -83
  10. package/lib/flow.js +280 -280
  11. package/lib/form.js +3 -2
  12. package/lib/handle-user.js +2 -2
  13. package/lib/handler.js +5 -6
  14. package/lib/icon.js +9 -9
  15. package/lib/icons.js +2 -2
  16. package/lib/index.js +1 -1
  17. package/lib/input-number.js +2 -2
  18. package/lib/input.js +2 -2
  19. package/lib/label.js +2 -2
  20. package/lib/main.js +409 -314
  21. package/lib/menu.js +2 -2
  22. package/lib/nav.js +29 -104
  23. package/lib/notify.js +2 -2
  24. package/lib/page.js +2 -2
  25. package/lib/pagination.js +2 -2
  26. package/lib/player.js +2 -2
  27. package/lib/qr-code.js +15 -15
  28. package/lib/radio-group.js +2 -2
  29. package/lib/retrial-auth.js +2 -2
  30. package/lib/select-ganged.js +2 -2
  31. package/lib/select.js +2 -2
  32. package/lib/selector.js +9 -9
  33. package/lib/sizer.js +2 -2
  34. package/lib/steps.js +2 -2
  35. package/lib/switch.js +9 -9
  36. package/lib/table-form.js +2 -2
  37. package/lib/tabs-panel.js +2 -2
  38. package/lib/tabs.js +2 -2
  39. package/lib/theme-chalk/enable-drag.css +1 -0
  40. package/lib/theme-chalk/index.css +1 -1
  41. package/lib/theme-chalk/login.css +1 -1
  42. package/lib/theme-chalk/main.css +1 -1
  43. package/lib/theme-chalk/nav.css +1 -1
  44. package/lib/theme-chalk/simplicity.css +1 -1
  45. package/lib/tips.js +2 -2
  46. package/lib/toolbar.js +2 -2
  47. package/lib/tree-group.js +2 -2
  48. package/lib/tree.js +2 -2
  49. package/lib/wujie.js +2 -2
  50. package/lib/wxlogin.js +145 -145
  51. package/package.json +159 -159
  52. package/packages/.DS_Store +0 -0
  53. package/packages/button/index.js +5 -5
  54. package/packages/button/src/main.vue +418 -418
  55. package/packages/button-group/index.js +5 -5
  56. package/packages/button-group/src/main.vue +298 -298
  57. package/packages/calendar/index.js +5 -5
  58. package/packages/card/index.js +5 -5
  59. package/packages/card/src/main.vue +156 -156
  60. package/packages/cascader/index.js +5 -5
  61. package/packages/cascader/src/main.vue +168 -168
  62. package/packages/checkbox-group/index.js +5 -5
  63. package/packages/checkbox-group/src/main.vue +333 -333
  64. package/packages/clients/index.js +5 -5
  65. package/packages/clients/src/main.vue +144 -144
  66. package/packages/data-table/.DS_Store +0 -0
  67. package/packages/data-table/index.js +5 -5
  68. package/packages/data-table/src/children.vue +39 -39
  69. package/packages/data-table/src/column.vue +989 -989
  70. package/packages/data-table/src/main.vue +1822 -1822
  71. package/packages/data-table/src/sizer.vue +195 -195
  72. package/packages/data-table-form/.DS_Store +0 -0
  73. package/packages/data-table-form/index.js +5 -5
  74. package/packages/data-table-form/src/checkbox.vue +101 -101
  75. package/packages/data-table-form/src/colgroup.vue +17 -17
  76. package/packages/data-table-form/src/main.vue +181 -181
  77. package/packages/data-table-form/src/radio.vue +65 -65
  78. package/packages/data-table-form/src/table.vue +233 -233
  79. package/packages/data-table-form/src/tbody.vue +336 -336
  80. package/packages/data-table-form/src/thead.vue +68 -68
  81. package/packages/date-picker/index.js +5 -5
  82. package/packages/date-picker/src/main.vue +236 -236
  83. package/packages/dialog/index.js +5 -5
  84. package/packages/enable-drag/index.js +5 -0
  85. package/packages/enable-drag/src/main.vue +362 -0
  86. package/packages/enterprise/index.js +5 -5
  87. package/packages/enterprise/src/main.vue +66 -66
  88. package/packages/error-page/.DS_Store +0 -0
  89. package/packages/error-page/index.js +5 -5
  90. package/packages/error-page/src/main.vue +44 -44
  91. package/packages/flow/.DS_Store +0 -0
  92. package/packages/flow/index.js +5 -5
  93. package/packages/flow/src/component/CommonOpinions.vue +345 -345
  94. package/packages/flow/src/component/CustomPreset.vue +322 -322
  95. package/packages/flow/src/component/FileList.vue +99 -99
  96. package/packages/flow/src/component/Preset.vue +255 -255
  97. package/packages/flow/src/component/SendMsg.vue +229 -229
  98. package/packages/flow/src/component/TimeLimit.vue +190 -190
  99. package/packages/flow/src/component/taskUnionExamine.vue +611 -611
  100. package/packages/flow/src/form.vue +121 -121
  101. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  102. package/packages/flow/src/main.vue +2952 -2952
  103. package/packages/flow/src/processForm.vue +1018 -1018
  104. package/packages/flow/src/processReject.vue +293 -293
  105. package/packages/flow/src/reset.vue +899 -899
  106. package/packages/flow/src/startTaskRead.vue +596 -596
  107. package/packages/flow/src/table.vue +58 -58
  108. package/packages/flow-group/index.js +5 -5
  109. package/packages/flow-group/src/main.vue +688 -688
  110. package/packages/flow-list/index.js +5 -5
  111. package/packages/flow-list/src/main.vue +1183 -1183
  112. package/packages/form/.DS_Store +0 -0
  113. package/packages/form/index.js +5 -5
  114. package/packages/form/src/main.vue +3584 -3584
  115. package/packages/form/src/table.vue +1420 -1420
  116. package/packages/handle-user/index.js +5 -5
  117. package/packages/handle-user/src/main.vue +138 -138
  118. package/packages/handler/index.js +5 -5
  119. package/packages/handler/src/main.vue +474 -474
  120. package/packages/icon/index.js +5 -5
  121. package/packages/icon/src/main.vue +101 -101
  122. package/packages/icons/index.js +5 -5
  123. package/packages/icons/src/main.vue +81 -81
  124. package/packages/input/index.js +5 -5
  125. package/packages/input/src/main.vue +356 -356
  126. package/packages/input-number/index.js +5 -5
  127. package/packages/input-number/src/main.vue +106 -106
  128. package/packages/label/index.js +5 -5
  129. package/packages/label/src/main.vue +457 -457
  130. package/packages/layout/index.js +5 -5
  131. package/packages/layout/src/item.vue +152 -152
  132. package/packages/layout/src/main.vue +31 -31
  133. package/packages/login/.DS_Store +0 -0
  134. package/packages/login/index.js +5 -5
  135. package/packages/login/src/main.vue +1935 -1935
  136. package/packages/login/src/resetPassword.vue +562 -562
  137. package/packages/main/.DS_Store +0 -0
  138. package/packages/main/index.js +5 -5
  139. package/packages/main/src/.DS_Store +0 -0
  140. package/packages/main/src/default/index.vue +166 -171
  141. package/packages/main/src/default/message.vue +249 -249
  142. package/packages/main/src/default/notice.vue +157 -157
  143. package/packages/main/src/default/userinfo.vue +505 -505
  144. package/packages/main/src/public/online.vue +89 -89
  145. package/packages/main/src/public/search.vue +461 -461
  146. package/packages/main/src/public/settings.vue +221 -221
  147. package/packages/main/src/simplicity/apps.vue +388 -388
  148. package/packages/main/src/simplicity/avatar.vue +82 -82
  149. package/packages/main/src/simplicity/handler.vue +259 -259
  150. package/packages/main/src/simplicity/index.vue +2044 -2047
  151. package/packages/main/src/simplicity/lists.vue +84 -84
  152. package/packages/main/src/simplicity/menu-list.vue +128 -128
  153. package/packages/main/src/simplicity/message.vue +259 -259
  154. package/packages/main/src/simplicity/notice.vue +190 -190
  155. package/packages/main/src/simplicity/router-page.vue +45 -45
  156. package/packages/main/src/simplicity/sub-menu.vue +241 -241
  157. package/packages/main/src/simplicity/user.vue +257 -257
  158. package/packages/main/src/simplicity/userinfo.vue +312 -312
  159. package/packages/menu/index.js +5 -5
  160. package/packages/menu/src/main.vue +536 -536
  161. package/packages/nav/index.js +5 -5
  162. package/packages/nav/src/main.vue +351 -402
  163. package/packages/notify/index.js +5 -5
  164. package/packages/notify/src/main.vue +538 -538
  165. package/packages/page/index.js +5 -5
  166. package/packages/page/src/main.vue +167 -167
  167. package/packages/pagination/index.js +5 -5
  168. package/packages/pagination/src/main.vue +96 -96
  169. package/packages/player/index.js +5 -5
  170. package/packages/player/src/main.vue +194 -194
  171. package/packages/qr-code/index.js +5 -5
  172. package/packages/qr-code/src/main.vue +170 -170
  173. package/packages/radio-group/index.js +6 -6
  174. package/packages/radio-group/src/main.vue +319 -319
  175. package/packages/retrial-auth/index.js +5 -5
  176. package/packages/retrial-auth/src/main.vue +280 -280
  177. package/packages/select/index.js +5 -5
  178. package/packages/select/src/main.vue +775 -775
  179. package/packages/select-ganged/index.js +5 -5
  180. package/packages/select-ganged/src/main.vue +724 -724
  181. package/packages/selector/.DS_Store +0 -0
  182. package/packages/selector/index.js +5 -5
  183. package/packages/selector/src/main.vue +689 -689
  184. package/packages/selector-panel/.DS_Store +0 -0
  185. package/packages/selector-panel/index.js +5 -5
  186. package/packages/selector-panel/src/main.vue +1027 -1027
  187. package/packages/selector-panel/src/selection.vue +177 -177
  188. package/packages/selector-panel/src/tree.vue +129 -129
  189. package/packages/sizer/.DS_Store +0 -0
  190. package/packages/sizer/index.js +5 -5
  191. package/packages/sizer/src/main.vue +254 -254
  192. package/packages/steps/index.js +5 -5
  193. package/packages/steps/src/main.vue +181 -181
  194. package/packages/switch/index.js +5 -5
  195. package/packages/switch/src/main.vue +154 -154
  196. package/packages/table-form/index.js +5 -5
  197. package/packages/tabs/.DS_Store +0 -0
  198. package/packages/tabs/index.js +5 -5
  199. package/packages/tabs/src/main.vue +788 -788
  200. package/packages/tabs-panel/index.js +5 -5
  201. package/packages/tabs-panel/src/main.vue +29 -29
  202. package/packages/theme-chalk/lib/enable-drag.css +1 -0
  203. package/packages/theme-chalk/lib/index.css +1 -1
  204. package/packages/theme-chalk/lib/login.css +1 -1
  205. package/packages/theme-chalk/lib/main.css +1 -1
  206. package/packages/theme-chalk/lib/nav.css +1 -1
  207. package/packages/theme-chalk/lib/simplicity.css +1 -1
  208. package/packages/theme-chalk/src/.DS_Store +0 -0
  209. package/packages/theme-chalk/src/base.scss +260 -260
  210. package/packages/theme-chalk/src/button-group.scss +175 -175
  211. package/packages/theme-chalk/src/button.scss +24 -24
  212. package/packages/theme-chalk/src/calendar.scss +113 -113
  213. package/packages/theme-chalk/src/card.scss +99 -99
  214. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  215. package/packages/theme-chalk/src/clients.scss +87 -87
  216. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  217. package/packages/theme-chalk/src/data-table.scss +293 -293
  218. package/packages/theme-chalk/src/date-picker.scss +7 -7
  219. package/packages/theme-chalk/src/dialog.scss +77 -77
  220. package/packages/theme-chalk/src/enable-drag.scss +181 -0
  221. package/packages/theme-chalk/src/enterprise.scss +5 -5
  222. package/packages/theme-chalk/src/error-page.scss +18 -18
  223. package/packages/theme-chalk/src/flow-group.scss +110 -110
  224. package/packages/theme-chalk/src/flow-list.scss +36 -36
  225. package/packages/theme-chalk/src/flow.scss +318 -318
  226. package/packages/theme-chalk/src/form.scss +496 -496
  227. package/packages/theme-chalk/src/handle-user.scss +40 -40
  228. package/packages/theme-chalk/src/handler.scss +143 -143
  229. package/packages/theme-chalk/src/icon.scss +1789 -1789
  230. package/packages/theme-chalk/src/icons.scss +99 -99
  231. package/packages/theme-chalk/src/index.scss +1 -0
  232. package/packages/theme-chalk/src/input.scss +9 -9
  233. package/packages/theme-chalk/src/label.scss +24 -24
  234. package/packages/theme-chalk/src/layout.scss +46 -46
  235. package/packages/theme-chalk/src/login.scss +969 -947
  236. package/packages/theme-chalk/src/main.scss +656 -639
  237. package/packages/theme-chalk/src/menu.scss +222 -222
  238. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  239. package/packages/theme-chalk/src/nav.scss +111 -125
  240. package/packages/theme-chalk/src/page.scss +3 -3
  241. package/packages/theme-chalk/src/pagination.scss +29 -29
  242. package/packages/theme-chalk/src/player.scss +9 -9
  243. package/packages/theme-chalk/src/qr-code.scss +17 -17
  244. package/packages/theme-chalk/src/radio-group.scss +9 -9
  245. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  246. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  247. package/packages/theme-chalk/src/select.scss +8 -8
  248. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  249. package/packages/theme-chalk/src/selector.scss +91 -91
  250. package/packages/theme-chalk/src/simplicity.scss +1265 -1262
  251. package/packages/theme-chalk/src/sizer.scss +36 -36
  252. package/packages/theme-chalk/src/steps.scss +88 -88
  253. package/packages/theme-chalk/src/switch.scss +3 -3
  254. package/packages/theme-chalk/src/table-form.scss +1 -1
  255. package/packages/theme-chalk/src/tabs.scss +87 -87
  256. package/packages/theme-chalk/src/tips.scss +7 -7
  257. package/packages/theme-chalk/src/toolbar.scss +179 -179
  258. package/packages/theme-chalk/src/tree-group.scss +72 -72
  259. package/packages/theme-chalk/src/tree.scss +165 -165
  260. package/packages/theme-chalk/src/upload.scss +167 -167
  261. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  262. package/packages/tips/index.js +5 -5
  263. package/packages/tips/src/main.vue +141 -141
  264. package/packages/toolbar/index.js +5 -5
  265. package/packages/toolbar/src/main.vue +430 -430
  266. package/packages/tree/index.js +5 -5
  267. package/packages/tree-group/index.js +5 -5
  268. package/packages/upload/.DS_Store +0 -0
  269. package/packages/upload/index.js +5 -5
  270. package/packages/upload/src/main.vue +1334 -1334
  271. package/packages/upload/src/picture.js +15 -15
  272. package/packages/wujie/index.js +5 -5
  273. package/packages/wujie/src/main.vue +145 -145
  274. package/packages/wxlogin/index.js +5 -5
  275. package/packages/wxlogin/src/main.vue +128 -128
  276. package/src/.DS_Store +0 -0
  277. package/src/config/api.js +248 -248
  278. package/src/config/image.js +2 -2
  279. package/src/index.js +160 -157
  280. package/src/utils/bus.js +3 -3
  281. package/src/utils/date-util.js +312 -312
  282. package/src/utils/http.js +50 -50
  283. package/src/utils/rules.js +18 -18
  284. package/src/utils/store.js +21 -21
  285. package/src/utils/webSocket.js +107 -107
@@ -0,0 +1,362 @@
1
+ <template>
2
+ <div
3
+ class="es-enable-drag"
4
+ :style="!position.length || showBig ? styleObject : positionObject"
5
+ @mousedown="dragStart"
6
+ @touchstart="dragStart"
7
+ >
8
+ <div
9
+ v-show="!position.length || showBig"
10
+ :class="{
11
+ 'show-animation-left':
12
+ iconStatus === 'show' && position.includes('left'),
13
+ 'show-animation-top': iconStatus === 'show' && position.includes('top'),
14
+ 'show-animation-right':
15
+ iconStatus === 'show' && position.includes('right'),
16
+ 'show-animation-bottom':
17
+ iconStatus === 'show' && position.includes('bottom'),
18
+ 'hide-animation-left':
19
+ iconStatus === 'hide' && position.includes('left'),
20
+ 'hide-animation-top': iconStatus === 'hide' && position.includes('top'),
21
+ 'hide-animation-right':
22
+ iconStatus === 'hide' && position.includes('right'),
23
+ 'hide-animation-bottom':
24
+ iconStatus === 'hide' && position.includes('bottom')
25
+ }"
26
+ class="es-enable-content"
27
+ @mouseleave="leaveBigIcon"
28
+ >
29
+ <div
30
+ @mousedown="iconMousedown"
31
+ @mouseup="iconMouseUp"
32
+ @dblclick="handleDblClick"
33
+ >
34
+ <slot name="handler">
35
+ <el-button round type="primary" class="es-enable-drag-enter-button">
36
+ <es-icon
37
+ class="es-enable-drag-enter-icon"
38
+ :contents="icon"
39
+ ></es-icon>
40
+ </el-button>
41
+ </slot>
42
+ </div>
43
+ </div>
44
+ <div
45
+ v-show="position.length && !showBig"
46
+ class="es-enable-drag-small-icon-box"
47
+ @mouseenter="enterIcon"
48
+ >
49
+ <slot name="small-icon" :position="position">
50
+ <div
51
+ class="es-enable-drag-small-icon"
52
+ :data-content="smallText"
53
+ :class="{
54
+ 'es-left': position.includes('left'),
55
+ 'es-right': position.includes('right'),
56
+ 'es-top':
57
+ position.includes('top') &&
58
+ !(position.includes('right') || position.includes('left')),
59
+ 'es-bottom':
60
+ position.includes('bottom') &&
61
+ !(position.includes('right') || position.includes('left'))
62
+ }"
63
+ >
64
+ <i
65
+ v-show="position.includes('right')"
66
+ class="es-enable-drag-small-tri es-icon-tri-left"
67
+ ></i>
68
+ <i
69
+ v-show="position.includes('left')"
70
+ class="es-enable-drag-small-tri es-icon-tri-right"
71
+ ></i>
72
+ <i
73
+ v-show="
74
+ position.includes('bottom') &&
75
+ !(position.includes('right') || position.includes('left'))
76
+ "
77
+ class="es-enable-drag-small-tri es-icon-tri-up"
78
+ ></i>
79
+ <i
80
+ v-show="
81
+ position.includes('top') &&
82
+ !(position.includes('right') || position.includes('left'))
83
+ "
84
+ class="es-enable-drag-small-tri es-icon-tri-down"
85
+ ></i>
86
+ </div>
87
+ </slot>
88
+ </div>
89
+ </div>
90
+ </template>
91
+
92
+ <script>
93
+ import { debounce } from 'throttle-debounce';
94
+ export default {
95
+ name: 'EsEnableDrag',
96
+ props: {
97
+ //默认拖动按钮图标
98
+ icon: {
99
+ type: String,
100
+ default: 'es-icon-yingyonglan'
101
+ },
102
+ smallText: String,
103
+ //边界距离(小于这个距离就隐藏)
104
+ distance: {
105
+ type: Number,
106
+ default: 10,
107
+ validator: function (value) {
108
+ return value >= 0;
109
+ }
110
+ },
111
+ // 初始距离顶部的位置
112
+ topDistance: String,
113
+ // 初始距离左边的位置
114
+ leftDistance: String,
115
+ // 是否可以拖拽
116
+ isDragg: {
117
+ type: Boolean,
118
+ default: true
119
+ },
120
+ //允许隐藏的方位
121
+ berth: {
122
+ type: Array,
123
+ default() {
124
+ return ['right'];
125
+ },
126
+ validator: function (value) {
127
+ return (
128
+ value.length == 0 ||
129
+ value.includes('right') ||
130
+ value.includes('left') ||
131
+ value.includes('top') ||
132
+ value.includes('bottom')
133
+ );
134
+ }
135
+ },
136
+ // 列表数据
137
+ list: {
138
+ type: Array,
139
+ default: () => {
140
+ return [{}, {}];
141
+ }
142
+ },
143
+ // 自定义列表的时候传入的高度(有高度才有动画)
144
+ customHeight: {
145
+ type: String,
146
+ default: () => {
147
+ return '';
148
+ }
149
+ }
150
+ },
151
+ data() {
152
+ return {
153
+ width: 0, // 元素的宽度
154
+ height: 0, // 元素的高度
155
+ clickState: false, // 是点击还是拖拽
156
+ dbClick: false, // 双击状态
157
+ canDrag: true, // 临时状态:是否可以拖拽
158
+ firstLoad: true, // 第一次加载
159
+ iconStatus: 'normal', // 大图标显示状态
160
+ showBig: false, // 是否显示大图标
161
+ moved: false, // 是否移动过
162
+ mouseX: 0, // 初始位置的X坐标
163
+ mouseY: 0, // 初始位置的Y坐标
164
+ // 拖拽位置的样式
165
+ styleObject: {
166
+ top: 0,
167
+ left: 0
168
+ },
169
+ positionObject: {},
170
+ position: [] // 是否贴边
171
+ };
172
+ },
173
+ computed: {},
174
+ mounted() {
175
+ this.init();
176
+ // 监听窗口发生变化,重新计算位置
177
+ window.addEventListener('resize', this.onResize);
178
+ },
179
+ methods: {
180
+ init() {
181
+ const rect = this.$el.getBoundingClientRect();
182
+ this.width = rect.width;
183
+ this.height = rect.height;
184
+ console.log(this.width, this.height);
185
+ if (this.topDistance) {
186
+ this.styleObject.top = this.topDistance;
187
+ } else {
188
+ this.styleObject.top =
189
+ window.innerHeight - this.distance - this.height + 'px';
190
+ }
191
+ if (this.leftDistance) {
192
+ this.styleObject.left = this.leftDistance;
193
+ } else {
194
+ this.styleObject.left =
195
+ window.innerWidth - this.distance - this.width + 'px';
196
+ }
197
+ },
198
+ /**
199
+ * @description 双击
200
+ */
201
+ async handleDblClick(event) {
202
+ event && event.stopPropagation();
203
+ event && event.preventDefault();
204
+ // 说明触发了双击状态
205
+ this.dbClick = true;
206
+ console.log('双击了---------------');
207
+ this.$emit('DblClick');
208
+ },
209
+ /**
210
+ * @description 是否打开智能助手
211
+ */
212
+ iconMouseUp() {
213
+ this.T = setTimeout(() => {
214
+ // 不是双击
215
+ if (!this.dbClick) {
216
+ // 防止首次动画
217
+ this.firstLoad = false;
218
+ // 防止拖动影响到了click事件
219
+ if (this.clickState) {
220
+ // TODO 执行点击事件
221
+ console.log('单击了---------------');
222
+ this.$emit('click');
223
+ }
224
+ }
225
+ }, 160);
226
+ },
227
+ /**
228
+ * @description 点击ai入口事件
229
+ */
230
+ iconMousedown() {
231
+ // 发生点击就重置双击状态
232
+ this.dbClick = false;
233
+ // 说明发生了点击
234
+ this.clickState = true;
235
+ // 可以拖拽
236
+ this.canDrag = true;
237
+ this.T && clearTimeout(this.T);
238
+ this.T = null;
239
+ },
240
+ handleItem() {
241
+ console.log('点击了单个列表---------------');
242
+ this.$emit('handleItem');
243
+ },
244
+ /**
245
+ * @description 进入小图标
246
+ */
247
+ enterIcon(samll) {
248
+ if (samll) {
249
+ // 显示大图标
250
+ this.showBig = true;
251
+ // 大图标动画
252
+ this.iconStatus = 'show';
253
+ }
254
+ },
255
+ /**
256
+ * @description 离开大图标
257
+ */
258
+ leaveBigIcon() {
259
+ // 显示大图标
260
+ this.showBig = false;
261
+ // 大图标动画
262
+ this.iconStatus = 'hide';
263
+ },
264
+ /**
265
+ * @description 监听尺寸变化
266
+ */
267
+ onResize: debounce(500, () => {
268
+ this.checkPosition();
269
+ }),
270
+ /**
271
+ * @description 检测位置合理性
272
+ */
273
+ checkPosition() {
274
+ if (this.position.includes('right')) {
275
+ this.styleObject.left = window.innerWidth + 'px';
276
+ }
277
+ if (this.position.includes('bottom')) {
278
+ this.styleObject.top = window.innerHeight + 'px';
279
+ }
280
+ this.moved = true;
281
+ this.dragEnd();
282
+ },
283
+ /**
284
+ * @description 拖拽开始
285
+ */
286
+ dragStart(e) {
287
+ if (this.isDragg && this.canDrag) {
288
+ e.preventDefault();
289
+ this.moved = false;
290
+ const rect = this.$el.getBoundingClientRect();
291
+ this.mouseY = e.y - rect.y;
292
+ this.mouseX = e.x - rect.x;
293
+ document.addEventListener('mousemove', this.drag);
294
+ document.addEventListener('touchmove', this.drag);
295
+ document.addEventListener('mouseup', this.dragEnd);
296
+ document.addEventListener('touchend', this.dragEnd);
297
+ } else {
298
+ return false;
299
+ }
300
+ },
301
+ /**
302
+ * @description 拖拽中
303
+ */
304
+ drag(e) {
305
+ this.moved = true;
306
+ const x = e.x - this.mouseX;
307
+ const y = e.y - this.mouseY;
308
+ this.styleObject.left = `${x}px`;
309
+ this.styleObject.top = `${y}px`;
310
+ },
311
+ /**
312
+ * @description 拖拽结束
313
+ */
314
+ dragEnd() {
315
+ if (this.moved) {
316
+ this.clickState = false;
317
+ let x = this.styleObject.left.replace('px', '');
318
+ let y = this.styleObject.top.replace('px', '');
319
+ this.position = [];
320
+ this.positionObject = { top: y, left: x };
321
+ if (x < this.distance) {
322
+ this.styleObject.left = this.distance + 'px';
323
+ this.berth.includes('left') && this.position.push('left');
324
+ this.positionObject.left = 0;
325
+ }
326
+ if (x > window.innerWidth - this.distance - this.width) {
327
+ this.styleObject.left =
328
+ window.innerWidth - this.distance - this.width + 'px';
329
+ this.berth.includes('right') && this.position.push('right');
330
+ delete this.positionObject.left;
331
+ this.positionObject.right = 0;
332
+ }
333
+ if (y < this.distance) {
334
+ this.styleObject.top = this.distance + 'px';
335
+ this.berth.includes('top') && this.position.push('top');
336
+ this.positionObject.top = 0;
337
+ }
338
+ if (y > window.innerHeight - this.distance - this.height) {
339
+ this.styleObject.top =
340
+ window.innerHeight - this.distance - this.height + 'px';
341
+ this.berth.includes('bottom') && this.position.push('bottom');
342
+ delete this.positionObject.top;
343
+ this.positionObject.bottom = 0;
344
+ }
345
+ }
346
+ document.removeEventListener('mousemove', this.drag);
347
+ document.removeEventListener('touchmove', this.drag);
348
+ document.removeEventListener('mouseup', this.dragEnd);
349
+ document.removeEventListener('touchend', this.dragEnd);
350
+ }
351
+ },
352
+ destroyed() {
353
+ // 移除监听
354
+ window.removeEventListener('resize', this.onResize);
355
+ document.removeEventListener('mousemove', this.drag);
356
+ document.removeEventListener('touchmove', this.drag);
357
+ document.removeEventListener('mouseup', this.dragEnd);
358
+ document.removeEventListener('touchend', this.dragEnd);
359
+ }
360
+ };
361
+ </script>
362
+ <style lang="scss" scoped></style>
@@ -1,5 +1,5 @@
1
- import Enterprise from './src/main';
2
-
3
- Enterprise.install = Vue => Vue.component(Enterprise.name, Enterprise);
4
-
5
- export default Enterprise;
1
+ import Enterprise from './src/main';
2
+
3
+ Enterprise.install = Vue => Vue.component(Enterprise.name, Enterprise);
4
+
5
+ export default Enterprise;
@@ -1,66 +1,66 @@
1
- <template>
2
- <div class="es-enterprise">
3
- <es-button size="medium" @click="visible = true">
4
- <slot>{{ text }}{{ countText }}</slot>
5
- </es-button>
6
- <es-dialog
7
- :visible.sync="visible"
8
- :title="text"
9
- :width="width"
10
- :height="height"
11
- >
12
- <es-sizer
13
- v-bind="$attrs"
14
- @change="handleChange"
15
- @confirm="handleConfirm"
16
- @cancel="handleCancel"
17
- ></es-sizer>
18
- </es-dialog>
19
- </div>
20
- </template>
21
- <script>
22
- export default {
23
- name: 'EsEnterprise',
24
- inheritAttrs: false,
25
- props: {
26
- value: null,
27
- text: {
28
- type: String,
29
- default: '选择单位范围'
30
- },
31
- width: {
32
- type: [String, Number],
33
- default: '500px'
34
- },
35
- height: {
36
- type: [String, Number],
37
- default: '600px'
38
- }
39
- },
40
- computed: {
41
- countText() {
42
- return this.count ? `(已选单位${this.count}家)` : '';
43
- }
44
- },
45
- data() {
46
- return {
47
- count: 0,
48
- visible: false
49
- };
50
- },
51
- methods: {
52
- handleChange(res) {
53
- this.$emit('input', res);
54
- this.$emit('change', res);
55
- },
56
- handleConfirm(res) {
57
- let { count } = res;
58
- this.count = count;
59
- this.$emit('confirm', res);
60
- },
61
- handleCancel() {
62
- this.$emit('cancel');
63
- }
64
- }
65
- };
66
- </script>
1
+ <template>
2
+ <div class="es-enterprise">
3
+ <es-button size="medium" @click="visible = true">
4
+ <slot>{{ text }}{{ countText }}</slot>
5
+ </es-button>
6
+ <es-dialog
7
+ :visible.sync="visible"
8
+ :title="text"
9
+ :width="width"
10
+ :height="height"
11
+ >
12
+ <es-sizer
13
+ v-bind="$attrs"
14
+ @change="handleChange"
15
+ @confirm="handleConfirm"
16
+ @cancel="handleCancel"
17
+ ></es-sizer>
18
+ </es-dialog>
19
+ </div>
20
+ </template>
21
+ <script>
22
+ export default {
23
+ name: 'EsEnterprise',
24
+ inheritAttrs: false,
25
+ props: {
26
+ value: null,
27
+ text: {
28
+ type: String,
29
+ default: '选择单位范围'
30
+ },
31
+ width: {
32
+ type: [String, Number],
33
+ default: '500px'
34
+ },
35
+ height: {
36
+ type: [String, Number],
37
+ default: '600px'
38
+ }
39
+ },
40
+ computed: {
41
+ countText() {
42
+ return this.count ? `(已选单位${this.count}家)` : '';
43
+ }
44
+ },
45
+ data() {
46
+ return {
47
+ count: 0,
48
+ visible: false
49
+ };
50
+ },
51
+ methods: {
52
+ handleChange(res) {
53
+ this.$emit('input', res);
54
+ this.$emit('change', res);
55
+ },
56
+ handleConfirm(res) {
57
+ let { count } = res;
58
+ this.count = count;
59
+ this.$emit('confirm', res);
60
+ },
61
+ handleCancel() {
62
+ this.$emit('cancel');
63
+ }
64
+ }
65
+ };
66
+ </script>
Binary file
@@ -1,5 +1,5 @@
1
- import EsErrorPage from './src/main';
2
-
3
- EsErrorPage.install = Vue => Vue.component(EsErrorPage.name, EsErrorPage);
4
-
5
- export default EsErrorPage;
1
+ import EsErrorPage from './src/main';
2
+
3
+ EsErrorPage.install = Vue => Vue.component(EsErrorPage.name, EsErrorPage);
4
+
5
+ export default EsErrorPage;