mcrm-mobile 1.9.9 → 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 CHANGED
@@ -54,14 +54,18 @@ export default create({
54
54
  "row": _vm.row,
55
55
  "custom-event-list": _vm.customEventList,
56
56
  "route-list": _vm.routeList,
57
- "hide-header-list": _vm.hideHeaderList
57
+ "hide-header-list": _vm.hideHeaderList,
58
+ "draggable": _vm.draggable
58
59
  },
59
60
  on: {
60
61
  "click": _vm.onClick,
61
62
  "more": _vm.onMore,
62
63
  "close": _vm.onClose,
63
64
  "success": _vm.onSuccess,
64
- "fail": _vm.onFail
65
+ "fail": _vm.onFail,
66
+ "change": function change(newMenus) {
67
+ return _vm.onChange(newMenus, biz);
68
+ }
65
69
  },
66
70
  scopedSlots: _vm._u([{
67
71
  key: "menu",
@@ -111,14 +115,18 @@ export default create({
111
115
  "row": _vm.row,
112
116
  "custom-event-list": _vm.customEventList,
113
117
  "route-list": _vm.routeList,
114
- "hide-header-list": _vm.hideHeaderList
118
+ "hide-header-list": _vm.hideHeaderList,
119
+ "draggable": _vm.draggable
115
120
  },
116
121
  on: {
117
122
  "click": _vm.onClick,
118
123
  "more": _vm.onMore,
119
124
  "close": _vm.onClose,
120
125
  "success": _vm.onSuccess,
121
- "fail": _vm.onFail
126
+ "fail": _vm.onFail,
127
+ "change": function change(newMenus) {
128
+ return _vm.onChange(newMenus, biz);
129
+ }
122
130
  },
123
131
  scopedSlots: _vm._u([{
124
132
  key: "menu",
@@ -158,6 +166,10 @@ export default create({
158
166
  offsetTop: {
159
167
  type: [Number, String],
160
168
  default: 0
169
+ },
170
+ draggable: {
171
+ type: Boolean,
172
+ default: false
161
173
  }
162
174
  },
163
175
  methods: {
@@ -175,6 +187,9 @@ export default create({
175
187
  },
176
188
  onFail: function onFail(data) {
177
189
  this.$emit("fail", data);
190
+ },
191
+ onChange: function onChange(newMenus, biz) {
192
+ this.$emit("change", newMenus, biz);
178
193
  }
179
194
  },
180
195
  data: function data() {
package/es/index.js CHANGED
@@ -92,7 +92,7 @@ import Tag from './tag';
92
92
  import Toast from './toast';
93
93
  import TreeSelect from './tree-select';
94
94
  import Uploader from './uploader';
95
- var version = '1.9.9';
95
+ var version = '2.0.1';
96
96
  var components = [ActionSheet, AddressPicker, Api, Badge, Biz, Button, Calendar, Card, Cell, CellGroup, Checkbox, CheckboxGroup, Circle, Col, Collapse, CollapseItem, CommonUtils, CountDown, DataProcess, DatePicker, DatetimePicker, Dialog, Directive, Divider, Drag, DropdownItem, DropdownMenu, Empty, Field, GoodsAction, GoodsActionButton, GoodsActionIcon, Grid, GridItem, Http, Icon, Image, ImagePreview, IndexAnchor, IndexBar, Info, List, Loading, Local, Menu, MenuIcon, MenuJump, Menus, NavBar, NoticeBar, Notify, Overlay, Pagination, Panel, PasswordInput, Picker, Popover, Popup, Progress, PullRefresh, Radio, RadioGroup, Rank, Rate, Row, SafeKeyboard, Search, Session, ShareSheet, Sidebar, SidebarItem, Slider, Step, Stepper, Steps, Sticky, Swipe, SwipeCell, SwipeItem, Switch, SwitchCell, System, Tab, Tabbar, TabbarItem, Table, TableColumn, Tabs, Tag, Toast, TreeSelect, Uploader];
97
97
 
98
98
  var install = function install(Vue) {
@@ -854,7 +854,7 @@ var spliceUrl = /*#__PURE__*/function () {
854
854
  }
855
855
 
856
856
  if (isSecret) {
857
- url += "&isSecret=" + isSecret;
857
+ url += "&isSecrect=" + isSecret;
858
858
  }
859
859
 
860
860
  url = url.replace("?&", "?");
package/es/menus/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import create from "../utils/create";
2
- import mcrm from "mcrm-jsapi"; // Components
2
+ import mcrm from "mcrm-jsapi";
3
+ import mmDraggable from "vuedraggable"; // Components
3
4
 
4
5
  import Session from "../session";
5
6
  import MenuIcon from "../menu-icon";
@@ -16,9 +17,9 @@ export default create({
16
17
 
17
18
  return _c('div', {
18
19
  class: _vm.b()
19
- }, [_c('div', {
20
+ }, [!_vm.draggable ? _c('div', {
20
21
  class: _vm.b('multiple')
21
- }, [_vm._l(_vm.menus, function (menu) {
22
+ }, [_vm._l(_vm.sortedMenus, function (menu) {
22
23
  return _c('Menu', {
23
24
  key: menu[_vm.menuKey],
24
25
  class: [_vm.b('multiple-cell')],
@@ -64,7 +65,7 @@ export default create({
64
65
  })], 2);
65
66
  }), _vm._t("more", function () {
66
67
  return [_vm.showMore ? _c('div', {
67
- class: _vm.b('multiple-cell'),
68
+ class: [_vm.b('multiple-cell'), _vm.b('multiple-cell--more')],
68
69
  style: _vm.style,
69
70
  on: {
70
71
  "click": _vm.onMore
@@ -76,14 +77,98 @@ export default create({
76
77
  "text": "更多业务"
77
78
  }
78
79
  })], 1) : _vm._e()];
79
- })], 2)]);
80
+ })], 2) : _c('mm-draggable', {
81
+ class: _vm.b('multiple'),
82
+ attrs: {
83
+ "value": _vm.sortedMenus,
84
+ "tag": "div",
85
+ "animation": 150,
86
+ "move": _vm.onMove
87
+ },
88
+ on: {
89
+ "input": _vm.onSortChange
90
+ }
91
+ }, [_vm._l(_vm.sortedMenus, function (menu) {
92
+ return _c('Menu', {
93
+ key: menu[_vm.menuKey],
94
+ class: [_vm.b('multiple-cell')],
95
+ style: _vm.style,
96
+ attrs: {
97
+ "gray": _vm.gray || menu.gray,
98
+ "syb-info": _vm.sybInfo,
99
+ "menu": menu,
100
+ "disabled": _vm.disabled,
101
+ "disabled-text": _vm.disabledText,
102
+ "custom-event": _vm.isCustomEvent(menu.menuPageCode),
103
+ "is-route": _vm.routeList.includes(menu.menuPageCode),
104
+ "hide-header": _vm.hideHeaderList.includes(menu.menuPageCode)
105
+ },
106
+ on: {
107
+ "click": _vm.onClick,
108
+ "close": _vm.onClose,
109
+ "success": _vm.onSuccess,
110
+ "fail": _vm.onFail
111
+ }
112
+ }, [_vm._t("menu", function () {
113
+ return [_c('div', {
114
+ class: _vm.b('multiple-cell--div')
115
+ }, [_c('MenuIcon', {
116
+ class: _vm.b('multiple-cell-icon'),
117
+ attrs: {
118
+ "dot": menu.dot,
119
+ "badge": _vm.badgeText(_vm.showHot, menu),
120
+ "name": menu.iconUrl,
121
+ "text": menu.menuName,
122
+ "system": menu.system
123
+ }
124
+ }, [_vm._t("extra-icon", null, {
125
+ "slot": "extra-icon",
126
+ "menu": menu
127
+ })], 2), _c('span', {
128
+ class: _vm.b('multiple-cell-content')
129
+ }, [_vm._t("assist", null, {
130
+ "menu": menu
131
+ })], 2)], 1)];
132
+ }, {
133
+ "menu": menu
134
+ })], 2);
135
+ }), _vm._t("more", function () {
136
+ return [_vm.showMore ? _c('div', {
137
+ class: [_vm.b('multiple-cell'), _vm.b('multiple-cell--more')],
138
+ style: _vm.style,
139
+ on: {
140
+ "click": _vm.onMore
141
+ }
142
+ }, [_c('MenuIcon', {
143
+ class: _vm.b('multiple-cell-icon'),
144
+ attrs: {
145
+ "name": "mcrm-icon-more.svg",
146
+ "text": "更多业务"
147
+ }
148
+ })], 1) : _vm._e()];
149
+ })], 2)], 1);
80
150
  },
81
151
  components: {
82
152
  MenuIcon: MenuIcon,
83
- Menu: Menu
153
+ Menu: Menu,
154
+ mmDraggable: mmDraggable
84
155
  },
85
156
  name: "menus",
86
157
  mixins: [menus],
158
+ data: function data() {
159
+ return {
160
+ // 本地维护顺序副本,避免直接修改 props.menus
161
+ sortedMenus: Array.isArray(this.menus) ? this.menus.slice() : []
162
+ };
163
+ },
164
+ watch: {
165
+ // 外部 menus 引用变化时同步本地副本
166
+ menus: {
167
+ handler: function handler(val) {
168
+ this.sortedMenus = Array.isArray(val) ? val.slice() : [];
169
+ }
170
+ }
171
+ },
87
172
  methods: {
88
173
  isCustomEvent: function isCustomEvent(pageCode) {
89
174
  var customEvent = this.customEvent,
@@ -110,6 +195,25 @@ export default create({
110
195
  onFail: function onFail(data) {
111
196
  this.$emit("fail", data);
112
197
  },
198
+ onSortChange: function onSortChange(newMenus) {
199
+ // 更新本地副本
200
+ this.sortedMenus = newMenus; // 拖拽完成后抛出最新顺序
201
+
202
+ this.$emit("change", newMenus);
203
+ },
204
+ // 阻止将菜单拖到「更多业务」cell 附近,保持更多业务位置固定
205
+ // 同时阻止「更多业务」被拖拽
206
+ onMove: function onMove(evt) {
207
+ var dragged = evt && evt.dragged;
208
+ var related = evt && evt.related;
209
+ var moreClass = this.b("multiple-cell--more");
210
+
211
+ if (dragged && dragged.classList && dragged.classList.contains(moreClass) || related && related.classList && related.classList.contains(moreClass)) {
212
+ return false;
213
+ }
214
+
215
+ return true;
216
+ },
113
217
  // 菜单头标处理
114
218
  badgeText: function badgeText(show, menu) {
115
219
  if (show) {
@@ -61,6 +61,11 @@ export default {
61
61
  default: function _default() {
62
62
  return [];
63
63
  }
64
+ },
65
+ // 是否启用拖拽排序
66
+ draggable: {
67
+ type: Boolean,
68
+ default: false
64
69
  }
65
70
  }
66
71
  };
package/lib/biz/index.js CHANGED
@@ -66,14 +66,18 @@ var _default = (0, _create.default)({
66
66
  "row": _vm.row,
67
67
  "custom-event-list": _vm.customEventList,
68
68
  "route-list": _vm.routeList,
69
- "hide-header-list": _vm.hideHeaderList
69
+ "hide-header-list": _vm.hideHeaderList,
70
+ "draggable": _vm.draggable
70
71
  },
71
72
  on: {
72
73
  "click": _vm.onClick,
73
74
  "more": _vm.onMore,
74
75
  "close": _vm.onClose,
75
76
  "success": _vm.onSuccess,
76
- "fail": _vm.onFail
77
+ "fail": _vm.onFail,
78
+ "change": function change(newMenus) {
79
+ return _vm.onChange(newMenus, biz);
80
+ }
77
81
  },
78
82
  scopedSlots: _vm._u([{
79
83
  key: "menu",
@@ -123,14 +127,18 @@ var _default = (0, _create.default)({
123
127
  "row": _vm.row,
124
128
  "custom-event-list": _vm.customEventList,
125
129
  "route-list": _vm.routeList,
126
- "hide-header-list": _vm.hideHeaderList
130
+ "hide-header-list": _vm.hideHeaderList,
131
+ "draggable": _vm.draggable
127
132
  },
128
133
  on: {
129
134
  "click": _vm.onClick,
130
135
  "more": _vm.onMore,
131
136
  "close": _vm.onClose,
132
137
  "success": _vm.onSuccess,
133
- "fail": _vm.onFail
138
+ "fail": _vm.onFail,
139
+ "change": function change(newMenus) {
140
+ return _vm.onChange(newMenus, biz);
141
+ }
134
142
  },
135
143
  scopedSlots: _vm._u([{
136
144
  key: "menu",
@@ -170,6 +178,10 @@ var _default = (0, _create.default)({
170
178
  offsetTop: {
171
179
  type: [Number, String],
172
180
  default: 0
181
+ },
182
+ draggable: {
183
+ type: Boolean,
184
+ default: false
173
185
  }
174
186
  },
175
187
  methods: {
@@ -187,6 +199,9 @@ var _default = (0, _create.default)({
187
199
  },
188
200
  onFail: function onFail(data) {
189
201
  this.$emit("fail", data);
202
+ },
203
+ onChange: function onChange(newMenus, biz) {
204
+ this.$emit("change", newMenus, biz);
190
205
  }
191
206
  },
192
207
  data: function data() {
package/lib/index.js CHANGED
@@ -377,7 +377,7 @@ var _uploader = _interopRequireDefault(require("./uploader"));
377
377
 
378
378
  exports.Uploader = _uploader.default;
379
379
  // This file is auto generated by build/build-entry.js
380
- var version = '1.9.9';
380
+ var version = '2.0.1';
381
381
  exports.version = version;
382
382
  var components = [_actionSheet.default, _addressPicker.default, _api.default, _badge.default, _biz.default, _button.default, _calendar.default, _card.default, _cell.default, _cellGroup.default, _checkbox.default, _checkboxGroup.default, _circle.default, _col.default, _collapse.default, _collapseItem.default, _commonUtils.default, _countDown.default, _dataProcess.default, _datePicker.default, _datetimePicker.default, _dialog.default, _directive.default, _divider.default, _drag.default, _dropdownItem.default, _dropdownMenu.default, _empty.default, _field.default, _goodsAction.default, _goodsActionButton.default, _goodsActionIcon.default, _grid.default, _gridItem.default, _http.default, _icon.default, _image.default, _imagePreview.default, _indexAnchor.default, _indexBar.default, _info.default, _list.default, _loading.default, _local.default, _menu.default, _menuIcon.default, _menuJump.default, _menus.default, _navBar.default, _noticeBar.default, _notify.default, _overlay.default, _pagination.default, _panel.default, _passwordInput.default, _picker.default, _popover.default, _popup.default, _progress.default, _pullRefresh.default, _radio.default, _radioGroup.default, _rank.default, _rate.default, _row.default, _safeKeyboard.default, _search.default, _session.default, _shareSheet.default, _sidebar.default, _sidebarItem.default, _slider.default, _step.default, _stepper.default, _steps.default, _sticky.default, _swipe.default, _swipeCell.default, _swipeItem.default, _switch.default, _switchCell.default, _system.default, _tab.default, _tabbar.default, _tabbarItem.default, _table.default, _tableColumn.default, _tabs.default, _tag.default, _toast.default, _treeSelect.default, _uploader.default];
383
383