eoss-mobiles 0.2.44 → 0.2.46
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.
- package/lib/action-sheet.js +2 -2
- package/lib/button-group.js +2 -2
- package/lib/button.js +2 -2
- package/lib/calendar.js +2 -2
- package/lib/cascader.js +2 -2
- package/lib/cell.js +2 -2
- package/lib/checkbox.js +5 -5
- package/lib/circle.js +2 -2
- package/lib/count-down.js +2 -2
- package/lib/date.js +2 -2
- package/lib/empty.js +2 -2
- package/lib/eoss-mobile.common.js +633 -205
- package/lib/esign.js +2 -2
- package/lib/field.js +2 -2
- package/lib/flow-btn.js +5 -5
- package/lib/flow-list.js +5 -5
- package/lib/flow.js +42 -32
- package/lib/form.js +2 -2
- package/lib/grid-item.js +2 -2
- package/lib/grid.js +576 -157
- package/lib/image-preview.js +2 -2
- package/lib/image.js +2 -2
- package/lib/index.js +1 -1
- package/lib/list.js +2 -2
- package/lib/loading.js +2 -2
- package/lib/nav-bar.js +2 -2
- package/lib/notice-bar.js +2 -2
- package/lib/pagination.js +2 -2
- package/lib/picker.js +9 -7
- package/lib/popover.js +2 -2
- package/lib/popup.js +2 -2
- package/lib/pull-refresh.js +2 -2
- package/lib/radio.js +6 -5
- package/lib/rate.js +2 -2
- package/lib/retrial-auth.js +5 -5
- package/lib/search.js +2 -2
- package/lib/selector.js +6 -5
- package/lib/skeleton.js +2 -2
- package/lib/stepper.js +2 -2
- package/lib/swipe.js +2 -2
- package/lib/switch.js +2 -2
- package/lib/tab.js +2 -2
- package/lib/table-column.js +6 -5
- package/lib/table.js +7 -7
- package/lib/tabs.js +2 -2
- package/lib/tag.js +2 -2
- package/lib/uploader.js +2 -2
- package/lib/utils/axios.js +3 -3
- package/package.json +3 -1
- package/packages/flow/src/components/Handle.vue +29 -16
- package/packages/flow/src/components/StartFlow.vue +9 -9
- package/packages/grid/src/main.vue +254 -70
- package/packages/picker/src/main.vue +1 -0
- package/src/index.js +1 -1
- package/src/utils/axios.js +3 -3
package/lib/uploader.js
CHANGED
|
@@ -82,7 +82,7 @@ module.exports =
|
|
|
82
82
|
/******/
|
|
83
83
|
/******/
|
|
84
84
|
/******/ // Load entry module and return exports
|
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s =
|
|
85
|
+
/******/ return __webpack_require__(__webpack_require__.s = 25);
|
|
86
86
|
/******/ })
|
|
87
87
|
/************************************************************************/
|
|
88
88
|
/******/ ({
|
|
@@ -192,7 +192,7 @@ function normalizeComponent(
|
|
|
192
192
|
|
|
193
193
|
/***/ }),
|
|
194
194
|
|
|
195
|
-
/***/
|
|
195
|
+
/***/ 25:
|
|
196
196
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
197
197
|
|
|
198
198
|
"use strict";
|
package/lib/utils/axios.js
CHANGED
|
@@ -30,14 +30,14 @@ var ajax = function ajax(url) {
|
|
|
30
30
|
baseURL: apiUrl,
|
|
31
31
|
timeout: 60000,
|
|
32
32
|
headers: {
|
|
33
|
-
|
|
33
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
|
34
34
|
},
|
|
35
35
|
withCredentials: false
|
|
36
36
|
});
|
|
37
37
|
http.interceptors.request.use(function (config) {
|
|
38
38
|
if ((params.params || params) instanceof FormData === false) {
|
|
39
39
|
if (type === 'post' && !format) {
|
|
40
|
-
config.
|
|
40
|
+
config.data = _qs2.default.stringify(params.params || params);
|
|
41
41
|
if (!config.headers['content-type'] && !headers['Content-Type']) {
|
|
42
42
|
config.headers['content-type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
|
|
43
43
|
}
|
|
@@ -88,6 +88,7 @@ var ajax = function ajax(url) {
|
|
|
88
88
|
if (config.url.search('mecp/overtime') !== -1 || config.url.search('mecp/leave') !== -1 || config.url.search('contractext') !== -1 || config.url.search('getSysParam') !== -1) {
|
|
89
89
|
delete config.headers.deviceId;
|
|
90
90
|
}
|
|
91
|
+
|
|
91
92
|
return config;
|
|
92
93
|
}, function (error) {
|
|
93
94
|
return Promise.error(error);
|
|
@@ -192,7 +193,6 @@ var base = {
|
|
|
192
193
|
}, headers, format);
|
|
193
194
|
},
|
|
194
195
|
post: function post(url, params, headers, format) {
|
|
195
|
-
console.log(params, 'params');
|
|
196
196
|
if (params.params) {
|
|
197
197
|
params.params.userId = params.params.userId || _util2.default.getStorage('userId');
|
|
198
198
|
} else {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eoss-mobiles",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.46",
|
|
4
4
|
"description": "eoss内部移动端业务组件",
|
|
5
5
|
"main": "lib/eoss-mobile.common.js",
|
|
6
6
|
"files": [
|
|
@@ -69,6 +69,8 @@
|
|
|
69
69
|
"v-tap": "3.0.3",
|
|
70
70
|
"video.js": "^8.0.4",
|
|
71
71
|
"vue-esign": "^1.0.5",
|
|
72
|
+
"vue-touch": "^2.0.0-beta.4",
|
|
73
|
+
"vuedraggable": "^2.24.3",
|
|
72
74
|
"wujie-vue2": "^1.0.5"
|
|
73
75
|
},
|
|
74
76
|
"peerDependencies": {
|
|
@@ -21,7 +21,9 @@
|
|
|
21
21
|
:isOpinionRequired="isOpinionRequired"
|
|
22
22
|
:disabled="isBanInputOpinion != 0"
|
|
23
23
|
:baseUrl="baseUrl"
|
|
24
|
-
:isForceDisplayDefaultOptionForPrefix="
|
|
24
|
+
:isForceDisplayDefaultOptionForPrefix="
|
|
25
|
+
isForceDisplayDefaultOptionForPrefix
|
|
26
|
+
"
|
|
25
27
|
:nodeDefaultSubmitOpinion="nodeDefaultSubmitOpinion"
|
|
26
28
|
:nodeFixedOpinionSelectList="nodeFixedOpinionSelectList"
|
|
27
29
|
:isHiddenOftenOpinion="isHiddenOftenOpinion == 1 ? false : true"
|
|
@@ -444,7 +446,7 @@ import Opinion from './Opinion.vue';
|
|
|
444
446
|
import Reject from './Reject.vue';
|
|
445
447
|
import Message from './Message.vue';
|
|
446
448
|
import FlowMix from '../flowMix';
|
|
447
|
-
import $ from '../../../../src/utils/util'
|
|
449
|
+
import $ from '../../../../src/utils/util';
|
|
448
450
|
export default {
|
|
449
451
|
name: 'Handle',
|
|
450
452
|
inheritAttrs: false,
|
|
@@ -467,9 +469,9 @@ export default {
|
|
|
467
469
|
type: [String, Number],
|
|
468
470
|
default: 0
|
|
469
471
|
},
|
|
470
|
-
isAllCheck:{
|
|
471
|
-
type:Boolean,
|
|
472
|
-
default:false
|
|
472
|
+
isAllCheck: {
|
|
473
|
+
type: Boolean,
|
|
474
|
+
default: false
|
|
473
475
|
},
|
|
474
476
|
esign: {
|
|
475
477
|
type: Boolean,
|
|
@@ -493,7 +495,7 @@ export default {
|
|
|
493
495
|
objType: 'enterprise', //树点击对象
|
|
494
496
|
selectType: 'employee', // 树 选择类型
|
|
495
497
|
isNextBox: true, // 是否展开隐藏下步操作
|
|
496
|
-
isForceDisplayDefaultOptionForPrefix:false,
|
|
498
|
+
isForceDisplayDefaultOptionForPrefix: false,
|
|
497
499
|
isOtherUnit: true, //是否是外单位
|
|
498
500
|
isShowNode: false,
|
|
499
501
|
subProcessInfo: '',
|
|
@@ -738,7 +740,7 @@ export default {
|
|
|
738
740
|
},
|
|
739
741
|
type: 'post',
|
|
740
742
|
params: formData,
|
|
741
|
-
format:false
|
|
743
|
+
format: false
|
|
742
744
|
})
|
|
743
745
|
.then(res => {
|
|
744
746
|
const { status, message } = res;
|
|
@@ -907,13 +909,22 @@ export default {
|
|
|
907
909
|
: taskHandleHtml,
|
|
908
910
|
type: 'post',
|
|
909
911
|
params: formData,
|
|
910
|
-
format:false
|
|
911
|
-
|
|
912
|
+
format: false
|
|
912
913
|
}).then(res => {
|
|
913
914
|
this.$toast.clear();
|
|
914
|
-
if (res.status == 'success') {
|
|
915
|
-
|
|
916
|
-
|
|
915
|
+
if (res.status == 'success' || res.status == 'readDealBackProcessing') {
|
|
916
|
+
if (res.status == 'readDealBackProcessing') {
|
|
917
|
+
this.$toast(
|
|
918
|
+
'由于阅办人数较多,任务后台执行中,稍后系统将为您推送阅办任务执行结果,请注意查收!'
|
|
919
|
+
);
|
|
920
|
+
setTimeout(() => {
|
|
921
|
+
this.$toast.clear();
|
|
922
|
+
this.$parent.$emit('success');
|
|
923
|
+
}, 1500);
|
|
924
|
+
} else {
|
|
925
|
+
this.$toast('操作成功');
|
|
926
|
+
this.$parent.$emit('success');
|
|
927
|
+
}
|
|
917
928
|
} else {
|
|
918
929
|
this.$emit('error');
|
|
919
930
|
this.$toast(res.message);
|
|
@@ -1301,7 +1312,9 @@ export default {
|
|
|
1301
1312
|
// that.isChooseNextNode = nodeInfoMap.nodeExtAttr.isChooseNextNode;
|
|
1302
1313
|
that.isBanInputOpinion =
|
|
1303
1314
|
nodeInfoMap.nodeExtAttr.isBanInputOpinion;
|
|
1304
|
-
that.isForceDisplayDefaultOptionForPrefix =
|
|
1315
|
+
that.isForceDisplayDefaultOptionForPrefix =
|
|
1316
|
+
nodeInfoMap.nodeExtAttr.isForceDisplayDefaultOptionForPrefix ==
|
|
1317
|
+
1;
|
|
1305
1318
|
}
|
|
1306
1319
|
that.choiceOrgId = choiceOrgId;
|
|
1307
1320
|
that.choiceDeptId = choiceDeptId;
|
|
@@ -1424,8 +1437,8 @@ export default {
|
|
|
1424
1437
|
//如果当前为承办节点/会签节点,则展示本单位外单位办理人选择
|
|
1425
1438
|
if (this.nodeType === 1 || this.nodeType === 2) {
|
|
1426
1439
|
this.isMainSubProcess === true
|
|
1427
|
-
|
|
1428
|
-
|
|
1440
|
+
? (this.isNodeShowProcess = true)
|
|
1441
|
+
: (this.isNodeShowProcess = false);
|
|
1429
1442
|
this.isMainSubProcess === true
|
|
1430
1443
|
? (this.isMainSubProcess = true)
|
|
1431
1444
|
: (this.isMainSubProcess = false);
|
|
@@ -1438,7 +1451,7 @@ export default {
|
|
|
1438
1451
|
this.isHideCurrentOrg = false;
|
|
1439
1452
|
this.isHideOtherOrg = false;
|
|
1440
1453
|
this.isMainSubProcess = false;
|
|
1441
|
-
this.isNodeShowProcess = false
|
|
1454
|
+
this.isNodeShowProcess = false;
|
|
1442
1455
|
this.isNextUser = true;
|
|
1443
1456
|
// this.isMainSubProcess === true
|
|
1444
1457
|
// ? (this.isMainSubProcess = true)
|
|
@@ -295,14 +295,14 @@ export default {
|
|
|
295
295
|
return;
|
|
296
296
|
}
|
|
297
297
|
let formData = new FormData();
|
|
298
|
-
if (this.form.isImageOpinion == 1) {
|
|
299
|
-
|
|
300
|
-
}
|
|
301
|
-
for (let key in info) {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
}
|
|
298
|
+
// if (this.form.isImageOpinion == 1) {
|
|
299
|
+
// formData.append('file', this.file);
|
|
300
|
+
// }
|
|
301
|
+
// for (let key in info) {
|
|
302
|
+
// if (info[key] !== '' && info[key] !== undefined) {
|
|
303
|
+
// formData.append(key, info[key]);
|
|
304
|
+
// }
|
|
305
|
+
// }
|
|
306
306
|
this.$toast.loading({
|
|
307
307
|
message: '加载中...',
|
|
308
308
|
forbidClick: true,
|
|
@@ -314,7 +314,7 @@ export default {
|
|
|
314
314
|
request({
|
|
315
315
|
url: _that.apiBaseUrl ? _that.apiBaseUrl + registerNew : registerNew,
|
|
316
316
|
type: 'post',
|
|
317
|
-
params:
|
|
317
|
+
params: info,
|
|
318
318
|
format:false
|
|
319
319
|
}).then(res => {
|
|
320
320
|
this.$toast.clear();
|
|
@@ -1,64 +1,189 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="em-grid" @click="showHide = false">
|
|
3
3
|
<van-grid v-bind="$attrs" v-on="$listeners" :column-num="columnNum">
|
|
4
|
-
<
|
|
4
|
+
<draggable
|
|
5
|
+
v-if="draggable"
|
|
6
|
+
v-model="newData"
|
|
7
|
+
style="width: 100%;"
|
|
8
|
+
class="menu-list-draggable"
|
|
9
|
+
>
|
|
10
|
+
<transition-group class="menu-list-draggable-item" style="width: 100%;">
|
|
11
|
+
<div
|
|
12
|
+
:style="`display: inline-block;width:${100 / columnNum}%`"
|
|
13
|
+
class="van-grid-item"
|
|
14
|
+
v-for="item of newData"
|
|
15
|
+
@mousedown.stop="onMouseDown(item)"
|
|
16
|
+
@mouseup.stop="onMouseUp($event, item)"
|
|
17
|
+
:key="item.id"
|
|
18
|
+
>
|
|
19
|
+
<div
|
|
20
|
+
class="van-grid-item__content van-grid-item__content--center van-hairline"
|
|
21
|
+
>
|
|
22
|
+
<i
|
|
23
|
+
class="van-icon van-grid-item__icon"
|
|
24
|
+
:class="
|
|
25
|
+
item.icon.startsWith('http') && item.icon.indexOf('/') != -1
|
|
26
|
+
? ''
|
|
27
|
+
: `van-icon-${item.icon}`
|
|
28
|
+
"
|
|
29
|
+
:style="{
|
|
30
|
+
fontSize:
|
|
31
|
+
item.iconSize || $attrs['icon-size']
|
|
32
|
+
? item.iconSize || $attrs['icon-size']
|
|
33
|
+
: ''
|
|
34
|
+
}"
|
|
35
|
+
>
|
|
36
|
+
<img
|
|
37
|
+
v-if="
|
|
38
|
+
item.icon.startsWith('http') || item.icon.indexOf('/') != -1
|
|
39
|
+
"
|
|
40
|
+
class="van-icon__image"
|
|
41
|
+
:src="item.icon"
|
|
42
|
+
:style="{
|
|
43
|
+
width:
|
|
44
|
+
item.iconSize || $attrs['icon-size']
|
|
45
|
+
? item.iconSize || $attrs['icon-size']
|
|
46
|
+
: '',
|
|
47
|
+
height:
|
|
48
|
+
item.iconSize || $attrs['icon-size']
|
|
49
|
+
? item.iconSize || $attrs['icon-size']
|
|
50
|
+
: ''
|
|
51
|
+
}"
|
|
52
|
+
/>
|
|
53
|
+
<div
|
|
54
|
+
v-show="item.dot"
|
|
55
|
+
:style="{ background: item.dotColor || '' }"
|
|
56
|
+
class="van-info van-info--dot"
|
|
57
|
+
></div>
|
|
58
|
+
<div
|
|
59
|
+
class="van-info"
|
|
60
|
+
:style="{ background: badgeColor || '' }"
|
|
61
|
+
v-show="item.badge"
|
|
62
|
+
>
|
|
63
|
+
{{
|
|
64
|
+
maxBadge &&
|
|
65
|
+
!isNaN(item.badge) &&
|
|
66
|
+
Number(maxBadge) < Number(item.badge)
|
|
67
|
+
? maxBadge + '+'
|
|
68
|
+
: item.badge
|
|
69
|
+
}}
|
|
70
|
+
</div>
|
|
71
|
+
</i>
|
|
72
|
+
<em-popover
|
|
73
|
+
v-model="item.showPopover"
|
|
74
|
+
:placement="placement"
|
|
75
|
+
:theme="popoverTheme"
|
|
76
|
+
@select="popoverSelect"
|
|
77
|
+
:actions="popoverActions"
|
|
78
|
+
></em-popover>
|
|
79
|
+
<span class="van-grid-item__text">{{ item.text }}</span>
|
|
80
|
+
<van-icon
|
|
81
|
+
v-if="showHide && item.menuType != 'add'"
|
|
82
|
+
@click.stop="handleHide(item)"
|
|
83
|
+
name="clear"
|
|
84
|
+
size="20px"
|
|
85
|
+
class="em-grid-del"
|
|
86
|
+
/>
|
|
87
|
+
<div v-if="item.showMenu" class="em-grid-select-box">
|
|
88
|
+
<van-icon size="30px" color="#fff" name="success" />
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
</transition-group>
|
|
93
|
+
</draggable>
|
|
94
|
+
<!-- <van-grid-item
|
|
5
95
|
v-bind="item"
|
|
6
|
-
:class="{ 'em-grid-ellipsis': textEllipsis }"
|
|
7
|
-
:style="`width:${100 / columnNum}%;`"
|
|
8
|
-
@click.stop="goView($event, item)"
|
|
9
|
-
v-show="newData && newData.length > 0"
|
|
10
96
|
v-for="(item, index) of newData"
|
|
11
97
|
:key="index"
|
|
98
|
+
:class="{ 'em-grid-ellipsis': textEllipsis }"
|
|
99
|
+
:style="`width:${100 / columnNum}%;`"
|
|
100
|
+
@mousedown.stop="onMouseDown(item)"
|
|
101
|
+
@mouseup.stop="onMouseUp($event, item)"
|
|
102
|
+
v-show="newData && newData.length > 0 && !draggable"
|
|
103
|
+
> -->
|
|
104
|
+
<div
|
|
105
|
+
:style="`display: inline-block;width:${100 / columnNum}%`"
|
|
106
|
+
class="van-grid-item"
|
|
107
|
+
v-for="item of newData"
|
|
108
|
+
@mousedown.stop="onMouseDown(item)"
|
|
109
|
+
@mouseup.stop="onMouseUp($event, item)"
|
|
110
|
+
v-show="newData && newData.length > 0 && !draggable"
|
|
111
|
+
:key="item.id"
|
|
12
112
|
>
|
|
13
|
-
<
|
|
14
|
-
class="van-
|
|
15
|
-
:class="
|
|
16
|
-
item.icon.startsWith('http') && item.icon.indexOf('/') != -1
|
|
17
|
-
? ''
|
|
18
|
-
: `van-icon-${item.icon}`
|
|
19
|
-
"
|
|
20
|
-
:style="{ fontSize: item.iconSize || $attrs['icon-size'] ? item.iconSize || $attrs['icon-size'] : '' }"
|
|
113
|
+
<div
|
|
114
|
+
class="van-grid-item__content van-grid-item__content--center van-hairline"
|
|
21
115
|
>
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
class="
|
|
25
|
-
|
|
116
|
+
<i
|
|
117
|
+
class="van-icon van-grid-item__icon"
|
|
118
|
+
:class="
|
|
119
|
+
item.icon.startsWith('http') && item.icon.indexOf('/') != -1
|
|
120
|
+
? ''
|
|
121
|
+
: `van-icon-${item.icon}`
|
|
122
|
+
"
|
|
26
123
|
:style="{
|
|
27
|
-
|
|
28
|
-
|
|
124
|
+
fontSize:
|
|
125
|
+
item.iconSize || $attrs['icon-size']
|
|
126
|
+
? item.iconSize || $attrs['icon-size']
|
|
127
|
+
: ''
|
|
29
128
|
}"
|
|
30
|
-
/>
|
|
31
|
-
<div
|
|
32
|
-
v-show="item.dot"
|
|
33
|
-
:style="{ background: item.dotColor || '' }"
|
|
34
|
-
class="van-info van-info--dot"
|
|
35
|
-
></div>
|
|
36
|
-
<div
|
|
37
|
-
class="van-info"
|
|
38
|
-
:style="{ background: badgeColor || '' }"
|
|
39
|
-
v-show="item.badge"
|
|
40
129
|
>
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
130
|
+
<img
|
|
131
|
+
v-if="
|
|
132
|
+
item.icon.startsWith('http') || item.icon.indexOf('/') != -1
|
|
133
|
+
"
|
|
134
|
+
class="van-icon__image"
|
|
135
|
+
:src="item.icon"
|
|
136
|
+
:style="{
|
|
137
|
+
width:
|
|
138
|
+
item.iconSize || $attrs['icon-size']
|
|
139
|
+
? item.iconSize || $attrs['icon-size']
|
|
140
|
+
: '',
|
|
141
|
+
height:
|
|
142
|
+
item.iconSize || $attrs['icon-size']
|
|
143
|
+
? item.iconSize || $attrs['icon-size']
|
|
144
|
+
: ''
|
|
145
|
+
}"
|
|
146
|
+
/>
|
|
147
|
+
<div
|
|
148
|
+
v-show="item.dot"
|
|
149
|
+
:style="{ background: item.dotColor || '' }"
|
|
150
|
+
class="van-info van-info--dot"
|
|
151
|
+
></div>
|
|
152
|
+
<div
|
|
153
|
+
class="van-info"
|
|
154
|
+
:style="{ background: badgeColor || '' }"
|
|
155
|
+
v-show="item.badge"
|
|
156
|
+
>
|
|
157
|
+
{{
|
|
158
|
+
maxBadge &&
|
|
159
|
+
!isNaN(item.badge) &&
|
|
160
|
+
Number(maxBadge) < Number(item.badge)
|
|
161
|
+
? maxBadge + '+'
|
|
162
|
+
: item.badge
|
|
163
|
+
}}
|
|
164
|
+
</div>
|
|
165
|
+
</i>
|
|
166
|
+
<em-popover
|
|
167
|
+
v-model="item.showPopover"
|
|
168
|
+
:placement="placement"
|
|
169
|
+
@select="popoverSelect($event,item)"
|
|
170
|
+
:theme="popoverTheme"
|
|
171
|
+
:actions="popoverActions"
|
|
172
|
+
></em-popover>
|
|
173
|
+
<span class="van-grid-item__text">{{ item.text }}</span>
|
|
174
|
+
<van-icon
|
|
175
|
+
v-if="showHide && item.menuType != 'add'"
|
|
176
|
+
@click.stop="handleHide(item)"
|
|
177
|
+
name="clear"
|
|
178
|
+
size="20px"
|
|
179
|
+
class="em-grid-del"
|
|
180
|
+
/>
|
|
181
|
+
<div v-if="item.showMenu" class="em-grid-select-box">
|
|
182
|
+
<van-icon size="30px" color="#fff" name="success" />
|
|
48
183
|
</div>
|
|
49
|
-
</i>
|
|
50
|
-
<span class="van-grid-item__text">{{ item.text }}</span>
|
|
51
|
-
<van-icon
|
|
52
|
-
v-if="showHide && item.menuType != 'add'"
|
|
53
|
-
@click.stop="handleHide(item)"
|
|
54
|
-
name="clear"
|
|
55
|
-
size="20px"
|
|
56
|
-
class="em-grid-del"
|
|
57
|
-
/>
|
|
58
|
-
<div v-if="item.showMenu" class="em-grid-select-box">
|
|
59
|
-
<van-icon size="30px" color="#fff" name="success" />
|
|
60
184
|
</div>
|
|
61
|
-
</
|
|
185
|
+
</div>
|
|
186
|
+
<!-- </van-grid-item> -->
|
|
62
187
|
<slot v-show="newData && newData.length == 0" />
|
|
63
188
|
</van-grid>
|
|
64
189
|
<em-popup style="width:80%;height:50%" v-if="show" v-model="show">
|
|
@@ -90,9 +215,11 @@
|
|
|
90
215
|
</template>
|
|
91
216
|
|
|
92
217
|
<script>
|
|
218
|
+
import draggable from 'vuedraggable';
|
|
93
219
|
export default {
|
|
94
220
|
name: 'EmGrid',
|
|
95
221
|
inheritAttrs: false,
|
|
222
|
+
components: { draggable },
|
|
96
223
|
props: {
|
|
97
224
|
data: {
|
|
98
225
|
type: Array,
|
|
@@ -137,15 +264,36 @@ export default {
|
|
|
137
264
|
addMenuIconSize: {
|
|
138
265
|
type: String,
|
|
139
266
|
default: '40px'
|
|
140
|
-
}
|
|
267
|
+
},
|
|
268
|
+
draggable: {
|
|
269
|
+
type: Boolean,
|
|
270
|
+
default: false
|
|
271
|
+
},
|
|
272
|
+
popoverActions: {
|
|
273
|
+
type: Array,
|
|
274
|
+
default: () => [{ text: '隐藏菜单',type:'hideMenu' }]
|
|
275
|
+
},
|
|
276
|
+
isTouch: {
|
|
277
|
+
type: Boolean,
|
|
278
|
+
default: false
|
|
279
|
+
},
|
|
280
|
+
placement:{
|
|
281
|
+
type:String,
|
|
282
|
+
default:'top'
|
|
283
|
+
},
|
|
284
|
+
popoverTheme:{
|
|
285
|
+
type:String,
|
|
286
|
+
default:'dark'
|
|
287
|
+
}
|
|
141
288
|
},
|
|
142
289
|
data() {
|
|
143
290
|
return {
|
|
144
|
-
lastTapTime: 0,
|
|
145
291
|
timer: null,
|
|
146
292
|
showHide: false,
|
|
293
|
+
isLongPress: false,
|
|
147
294
|
newData: [],
|
|
148
295
|
show: false,
|
|
296
|
+
showPopover: false,
|
|
149
297
|
selectMenuArr: [],
|
|
150
298
|
hideMenuList: []
|
|
151
299
|
};
|
|
@@ -168,19 +316,51 @@ export default {
|
|
|
168
316
|
}
|
|
169
317
|
},
|
|
170
318
|
methods: {
|
|
319
|
+
popoverSelect(val, item) {
|
|
320
|
+
if(val.type == 'hideMenu'){
|
|
321
|
+
this.handleHide(item)
|
|
322
|
+
}else{
|
|
323
|
+
this.$emit('touchSelect',{action:val,data:item})
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
onMouseDown(item) {
|
|
327
|
+
// this.showPopover = true
|
|
328
|
+
if (this.draggable || !this.isTouch) return;
|
|
329
|
+
this.isLongPress = false;
|
|
330
|
+
this.timer = setTimeout(() => {
|
|
331
|
+
if (this.isLongPress === false) {
|
|
332
|
+
this.isLongPress = true;
|
|
333
|
+
this.lastTapTime = new Date().getTime();
|
|
334
|
+
this.$set(item, 'showPopover', true);
|
|
335
|
+
}
|
|
336
|
+
}, 500);
|
|
337
|
+
},
|
|
338
|
+
onMouseUp($event, item) {
|
|
339
|
+
if (this.isLongPress === false) {
|
|
340
|
+
this.lastTapTime = new Date().getTime();
|
|
341
|
+
this.$set(item, 'showPopover', false);
|
|
342
|
+
this.goView($event, item);
|
|
343
|
+
// 执行相应的操作
|
|
344
|
+
}
|
|
345
|
+
this.isLongPress = false;
|
|
346
|
+
clearTimeout(this.timer);
|
|
347
|
+
},
|
|
171
348
|
hideDelIcon() {
|
|
172
349
|
this.showHide = false;
|
|
173
350
|
},
|
|
174
351
|
handleShowMenu() {
|
|
175
|
-
let str = this.selectMenuArr
|
|
352
|
+
let str = this.selectMenuArr;
|
|
353
|
+
// let str = this.selectMenuArr.join(',');
|
|
176
354
|
if (Array.isArray(this.hideMenu)) {
|
|
177
355
|
let hideArr = this.hideMenuList.filter(
|
|
178
356
|
x => str.indexOf(x[this.hideMenuKey]) == -1
|
|
179
357
|
);
|
|
180
358
|
this.$emit('hide', hideArr);
|
|
181
359
|
} else {
|
|
182
|
-
let hide = this.hideMenuList.filter(
|
|
183
|
-
|
|
360
|
+
let hide = this.hideMenuList.filter(
|
|
361
|
+
x => str.indexOf(x[this.hideMenuKey]) == -1
|
|
362
|
+
);
|
|
363
|
+
hide = hide.map(x => x[this.hideMenuKey]);
|
|
184
364
|
this.$emit('hide', hide.join(','));
|
|
185
365
|
}
|
|
186
366
|
this.selectMenuArr = [];
|
|
@@ -199,7 +379,8 @@ export default {
|
|
|
199
379
|
defaultHide(val) {
|
|
200
380
|
if (this.isHideMenu && val != undefined) {
|
|
201
381
|
if (Array.isArray(val)) {
|
|
202
|
-
let menuKey = val.map(x => x.id)
|
|
382
|
+
let menuKey = val.map(x => x.id);
|
|
383
|
+
// let menuKey = val.map(x => x.id).join(',');
|
|
203
384
|
this.newData = this.data.filter(
|
|
204
385
|
x => menuKey.indexOf(x[this.hideMenuKey]) == -1
|
|
205
386
|
);
|
|
@@ -254,23 +435,26 @@ export default {
|
|
|
254
435
|
this.show = true;
|
|
255
436
|
return;
|
|
256
437
|
}
|
|
257
|
-
const currentTime = new Date().getTime();
|
|
258
|
-
const tapLength = currentTime - this.lastTapTime;
|
|
259
|
-
this.lastTapTime = currentTime;
|
|
438
|
+
// const currentTime = new Date().getTime();
|
|
439
|
+
// const tapLength = currentTime - this.lastTapTime;
|
|
440
|
+
// this.lastTapTime = currentTime;
|
|
441
|
+
// if (tapLength > 300) {
|
|
442
|
+
// return;
|
|
443
|
+
// }
|
|
260
444
|
if (this.isHideMenu) {
|
|
261
|
-
if (tapLength < 300) {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
}
|
|
266
|
-
if (this.showHide) {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
}
|
|
270
|
-
this.timer = setTimeout(() => {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
}, 300);
|
|
445
|
+
// if (tapLength < 300) {
|
|
446
|
+
// this.handleDoubleClick(val);
|
|
447
|
+
// clearTimeout(this.timer);
|
|
448
|
+
// return;
|
|
449
|
+
// }
|
|
450
|
+
// if (this.showHide) {
|
|
451
|
+
// this.showHide = false;
|
|
452
|
+
// return;
|
|
453
|
+
// }
|
|
454
|
+
// this.timer = setTimeout(() => {
|
|
455
|
+
this.$emit('click', val, event);
|
|
456
|
+
this.targetStop && event.stopPropagation();
|
|
457
|
+
// }, 300);
|
|
274
458
|
} else {
|
|
275
459
|
this.$emit('click', val, event);
|
|
276
460
|
this.targetStop && event.stopPropagation();
|
package/src/index.js
CHANGED
package/src/utils/axios.js
CHANGED
|
@@ -9,7 +9,7 @@ const ajax = (url, params = {}, headers = {}, format = true, type = 'get') => {
|
|
|
9
9
|
baseURL: apiUrl,
|
|
10
10
|
timeout: 60000,
|
|
11
11
|
headers: {
|
|
12
|
-
|
|
12
|
+
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
|
|
13
13
|
},
|
|
14
14
|
withCredentials: false
|
|
15
15
|
});
|
|
@@ -17,7 +17,7 @@ const ajax = (url, params = {}, headers = {}, format = true, type = 'get') => {
|
|
|
17
17
|
config => {
|
|
18
18
|
if ((params.params || params) instanceof FormData === false) {
|
|
19
19
|
if (type === 'post' && !format) {
|
|
20
|
-
config.
|
|
20
|
+
config.data = qs.stringify(params.params || params);
|
|
21
21
|
if (!config.headers['content-type'] && !headers['Content-Type']) {
|
|
22
22
|
config.headers['content-type'] =
|
|
23
23
|
'application/x-www-form-urlencoded;charset=UTF-8';
|
|
@@ -77,6 +77,7 @@ const ajax = (url, params = {}, headers = {}, format = true, type = 'get') => {
|
|
|
77
77
|
) {
|
|
78
78
|
delete config.headers.deviceId;
|
|
79
79
|
}
|
|
80
|
+
|
|
80
81
|
return config;
|
|
81
82
|
},
|
|
82
83
|
error => {
|
|
@@ -189,7 +190,6 @@ const base = {
|
|
|
189
190
|
);
|
|
190
191
|
},
|
|
191
192
|
post: (url, params, headers, format) => {
|
|
192
|
-
console.log(params, 'params');
|
|
193
193
|
if (params.params) {
|
|
194
194
|
params.params.userId = params.params.userId || $.getStorage('userId');
|
|
195
195
|
} else {
|