mcrm-mobile 2.0.0 → 2.0.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.
- package/es/biz/index.js +19 -4
- package/es/index.js +1 -1
- package/es/menus/index.js +110 -6
- package/es/mixins/menus.js +5 -0
- package/lib/biz/index.js +19 -4
- package/lib/index.js +1 -1
- package/lib/mcrm-mobile.js +10167 -10043
- package/lib/mcrm-mobile.min.js +11 -11
- package/lib/menus/index.js +110 -5
- package/lib/mixins/menus.js +5 -0
- package/package.json +1 -1
- package/vetur/attributes.json +467 -460
- package/vetur/tags.json +133 -132
- package/vetur/web-types.json +1062 -1050
package/lib/menus/index.js
CHANGED
|
@@ -9,6 +9,8 @@ var _create = _interopRequireDefault(require("../utils/create"));
|
|
|
9
9
|
|
|
10
10
|
var _mcrmJsapi = _interopRequireDefault(require("mcrm-jsapi"));
|
|
11
11
|
|
|
12
|
+
var _vuedraggable = _interopRequireDefault(require("vuedraggable"));
|
|
13
|
+
|
|
12
14
|
var _session = _interopRequireDefault(require("../session"));
|
|
13
15
|
|
|
14
16
|
var _menuIcon = _interopRequireDefault(require("../menu-icon"));
|
|
@@ -29,9 +31,78 @@ var _default = (0, _create.default)({
|
|
|
29
31
|
|
|
30
32
|
return _c('div', {
|
|
31
33
|
class: _vm.b()
|
|
32
|
-
}, [_c('div', {
|
|
34
|
+
}, [!_vm.draggable ? _c('div', {
|
|
33
35
|
class: _vm.b('multiple')
|
|
34
|
-
}, [_vm._l(_vm.
|
|
36
|
+
}, [_vm._l(_vm.sortedMenus, function (menu) {
|
|
37
|
+
return _c('Menu', {
|
|
38
|
+
key: menu[_vm.menuKey],
|
|
39
|
+
class: [_vm.b('multiple-cell')],
|
|
40
|
+
style: _vm.style,
|
|
41
|
+
attrs: {
|
|
42
|
+
"gray": _vm.gray || menu.gray,
|
|
43
|
+
"syb-info": _vm.sybInfo,
|
|
44
|
+
"menu": menu,
|
|
45
|
+
"disabled": _vm.disabled,
|
|
46
|
+
"disabled-text": _vm.disabledText,
|
|
47
|
+
"custom-event": _vm.isCustomEvent(menu.menuPageCode),
|
|
48
|
+
"is-route": _vm.routeList.includes(menu.menuPageCode),
|
|
49
|
+
"hide-header": _vm.hideHeaderList.includes(menu.menuPageCode)
|
|
50
|
+
},
|
|
51
|
+
on: {
|
|
52
|
+
"click": _vm.onClick,
|
|
53
|
+
"close": _vm.onClose,
|
|
54
|
+
"success": _vm.onSuccess,
|
|
55
|
+
"fail": _vm.onFail
|
|
56
|
+
}
|
|
57
|
+
}, [_vm._t("menu", function () {
|
|
58
|
+
return [_c('div', {
|
|
59
|
+
class: _vm.b('multiple-cell--div')
|
|
60
|
+
}, [_c('MenuIcon', {
|
|
61
|
+
class: _vm.b('multiple-cell-icon'),
|
|
62
|
+
attrs: {
|
|
63
|
+
"dot": menu.dot,
|
|
64
|
+
"badge": _vm.badgeText(_vm.showHot, menu),
|
|
65
|
+
"name": menu.iconUrl,
|
|
66
|
+
"text": menu.menuName,
|
|
67
|
+
"system": menu.system
|
|
68
|
+
}
|
|
69
|
+
}, [_vm._t("extra-icon", null, {
|
|
70
|
+
"slot": "extra-icon",
|
|
71
|
+
"menu": menu
|
|
72
|
+
})], 2), _c('span', {
|
|
73
|
+
class: _vm.b('multiple-cell-content')
|
|
74
|
+
}, [_vm._t("assist", null, {
|
|
75
|
+
"menu": menu
|
|
76
|
+
})], 2)], 1)];
|
|
77
|
+
}, {
|
|
78
|
+
"menu": menu
|
|
79
|
+
})], 2);
|
|
80
|
+
}), _vm._t("more", function () {
|
|
81
|
+
return [_vm.showMore ? _c('div', {
|
|
82
|
+
class: [_vm.b('multiple-cell'), _vm.b('multiple-cell--more')],
|
|
83
|
+
style: _vm.style,
|
|
84
|
+
on: {
|
|
85
|
+
"click": _vm.onMore
|
|
86
|
+
}
|
|
87
|
+
}, [_c('MenuIcon', {
|
|
88
|
+
class: _vm.b('multiple-cell-icon'),
|
|
89
|
+
attrs: {
|
|
90
|
+
"name": "mcrm-icon-more.svg",
|
|
91
|
+
"text": "更多业务"
|
|
92
|
+
}
|
|
93
|
+
})], 1) : _vm._e()];
|
|
94
|
+
})], 2) : _c('mm-draggable', {
|
|
95
|
+
class: _vm.b('multiple'),
|
|
96
|
+
attrs: {
|
|
97
|
+
"value": _vm.sortedMenus,
|
|
98
|
+
"tag": "div",
|
|
99
|
+
"animation": 150,
|
|
100
|
+
"move": _vm.onMove
|
|
101
|
+
},
|
|
102
|
+
on: {
|
|
103
|
+
"input": _vm.onSortChange
|
|
104
|
+
}
|
|
105
|
+
}, [_vm._l(_vm.sortedMenus, function (menu) {
|
|
35
106
|
return _c('Menu', {
|
|
36
107
|
key: menu[_vm.menuKey],
|
|
37
108
|
class: [_vm.b('multiple-cell')],
|
|
@@ -77,7 +148,7 @@ var _default = (0, _create.default)({
|
|
|
77
148
|
})], 2);
|
|
78
149
|
}), _vm._t("more", function () {
|
|
79
150
|
return [_vm.showMore ? _c('div', {
|
|
80
|
-
class: _vm.b('multiple-cell'),
|
|
151
|
+
class: [_vm.b('multiple-cell'), _vm.b('multiple-cell--more')],
|
|
81
152
|
style: _vm.style,
|
|
82
153
|
on: {
|
|
83
154
|
"click": _vm.onMore
|
|
@@ -89,14 +160,29 @@ var _default = (0, _create.default)({
|
|
|
89
160
|
"text": "更多业务"
|
|
90
161
|
}
|
|
91
162
|
})], 1) : _vm._e()];
|
|
92
|
-
})], 2)]);
|
|
163
|
+
})], 2)], 1);
|
|
93
164
|
},
|
|
94
165
|
components: {
|
|
95
166
|
MenuIcon: _menuIcon.default,
|
|
96
|
-
Menu: _menu.default
|
|
167
|
+
Menu: _menu.default,
|
|
168
|
+
mmDraggable: _vuedraggable.default
|
|
97
169
|
},
|
|
98
170
|
name: "menus",
|
|
99
171
|
mixins: [_menus.default],
|
|
172
|
+
data: function data() {
|
|
173
|
+
return {
|
|
174
|
+
// 本地维护顺序副本,避免直接修改 props.menus
|
|
175
|
+
sortedMenus: Array.isArray(this.menus) ? this.menus.slice() : []
|
|
176
|
+
};
|
|
177
|
+
},
|
|
178
|
+
watch: {
|
|
179
|
+
// 外部 menus 引用变化时同步本地副本
|
|
180
|
+
menus: {
|
|
181
|
+
handler: function handler(val) {
|
|
182
|
+
this.sortedMenus = Array.isArray(val) ? val.slice() : [];
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
},
|
|
100
186
|
methods: {
|
|
101
187
|
isCustomEvent: function isCustomEvent(pageCode) {
|
|
102
188
|
var customEvent = this.customEvent,
|
|
@@ -123,6 +209,25 @@ var _default = (0, _create.default)({
|
|
|
123
209
|
onFail: function onFail(data) {
|
|
124
210
|
this.$emit("fail", data);
|
|
125
211
|
},
|
|
212
|
+
onSortChange: function onSortChange(newMenus) {
|
|
213
|
+
// 更新本地副本
|
|
214
|
+
this.sortedMenus = newMenus; // 拖拽完成后抛出最新顺序
|
|
215
|
+
|
|
216
|
+
this.$emit("change", newMenus);
|
|
217
|
+
},
|
|
218
|
+
// 阻止将菜单拖到「更多业务」cell 附近,保持更多业务位置固定
|
|
219
|
+
// 同时阻止「更多业务」被拖拽
|
|
220
|
+
onMove: function onMove(evt) {
|
|
221
|
+
var dragged = evt && evt.dragged;
|
|
222
|
+
var related = evt && evt.related;
|
|
223
|
+
var moreClass = this.b("multiple-cell--more");
|
|
224
|
+
|
|
225
|
+
if (dragged && dragged.classList && dragged.classList.contains(moreClass) || related && related.classList && related.classList.contains(moreClass)) {
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
return true;
|
|
230
|
+
},
|
|
126
231
|
// 菜单头标处理
|
|
127
232
|
badgeText: function badgeText(show, menu) {
|
|
128
233
|
if (show) {
|
package/lib/mixins/menus.js
CHANGED