@kmkf-fe-packages/kmkf-work-order-service-component 2.0.19-beta.2 → 2.0.19-beta.21

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 (34) hide show
  1. package/dist/esm/FlowTemplateDetailV2/components/FormRender/index.js +12 -8
  2. package/dist/esm/FlowTemplateDetailV2/index.js +3 -0
  3. package/dist/esm/common/utils/tools.d.ts +1 -0
  4. package/dist/esm/common/utils/tools.js +30 -16
  5. package/dist/esm/common/utils/tools_constants.js +4 -40
  6. package/dist/esm/common/utils/transformWorkOrderData.js +4 -3
  7. package/dist/esm/model/customizeWorkOrder/dist/api.js +48 -0
  8. package/dist/esm/model/customizeWorkOrder/dist/index.js +370 -0
  9. package/dist/esm/model/customizeWorkOrder/dist/selector.js +63 -0
  10. package/dist/esm/model/customizeWorkOrder/dist/types.js +3 -0
  11. package/dist/esm/model/dist/global.js +44 -0
  12. package/dist/esm/model/dist/hooks.js +15 -0
  13. package/dist/esm/model/dist/login.js +245 -0
  14. package/dist/esm/model/dist/store.js +30 -0
  15. package/dist/esm/model/dist/userData.js +41 -0
  16. package/dist/esm/model/dist/workOrder.js +329 -0
  17. package/dist/esm/model/flowTemplateDetail/dist/api.js +192 -0
  18. package/dist/esm/model/flowTemplateDetail/dist/types.js +48 -0
  19. package/dist/esm/model/logicFlow/dist/api.js +14 -0
  20. package/dist/esm/model/logicFlow/dist/index.js +235 -0
  21. package/dist/esm/model/logicFlow/dist/selector.js +18 -0
  22. package/dist/esm/model/logicFlow/dist/types.js +3 -0
  23. package/dist/esm/model/paymentWorkOrder/dist/index.js +77 -0
  24. package/dist/esm/model/paymentWorkOrder/dist/selector.js +36 -0
  25. package/dist/esm/model/paymentWorkOrder/dist/types.js +3 -0
  26. package/dist/esm/model/servers/dist/api.js +545 -0
  27. package/dist/esm/model/servers/dist/request.js +63 -0
  28. package/dist/esm/model/singleShopWorkOrder/dist/index.js +216 -0
  29. package/dist/esm/model/singleShopWorkOrder/dist/selector.js +24 -0
  30. package/dist/esm/model/singleShopWorkOrder/dist/types.js +3 -0
  31. package/dist/esm/model/types/dist/login.js +3 -0
  32. package/dist/esm/model/types/dist/singleWorkOrder.js +3 -0
  33. package/dist/esm/model/types/dist/workOrder.js +3 -0
  34. package/package.json +5 -5
@@ -689,6 +689,7 @@ var FormRender = function FormRender(props, ref) {
689
689
  var changeHandle = function changeHandle(order_no) {
690
690
  if (!order_no) return;
691
691
  console.log('[订单返填 changeHandle order_no ] >', order_no);
692
+ sessionStorage.setItem('order_no_test', order_no);
692
693
  orderBack({
693
694
  order_no: order_no,
694
695
  form: form,
@@ -1018,14 +1019,17 @@ var FormRender = function FormRender(props, ref) {
1018
1019
  newComponentConfig['disabled'] = disabled || !canModifyPayment;
1019
1020
  }
1020
1021
  if (['RADIO', 'SELECT', 'MULT_SELECT'].includes(workOrderComponentType)) {
1021
- var _mappingConfig$readon, _mappingConfig$readon2;
1022
- if (((_mappingConfig$readon = mappingConfig.readonlyComponents[uniqueKey]) === null || _mappingConfig$readon === void 0 ? void 0 : _mappingConfig$readon.auth) === 'all') {
1023
- newComponentConfig[workOrderComponentType === 'SELECT' ? 'readonly' : 'disabled'] = true;
1024
- } else if (((_mappingConfig$readon2 = mappingConfig.readonlyComponents[uniqueKey]) === null || _mappingConfig$readon2 === void 0 ? void 0 : _mappingConfig$readon2.auth) === 'single') {
1025
- newComponentConfig.disabled = true;
1026
- if (workOrderComponentType === 'RADIO') {
1027
- // 隐藏未选中组件
1028
- newComponentConfig.hideUnselectedItem = true;
1022
+ var _mappingConfig$readon;
1023
+ if (!((_mappingConfig$readon = mappingConfig.readonlyComponents[uniqueKey]) !== null && _mappingConfig$readon !== void 0 && _mappingConfig$readon.canEdit)) {
1024
+ var _mappingConfig$readon2, _mappingConfig$readon3;
1025
+ if (((_mappingConfig$readon2 = mappingConfig.readonlyComponents[uniqueKey]) === null || _mappingConfig$readon2 === void 0 ? void 0 : _mappingConfig$readon2.auth) === 'all') {
1026
+ newComponentConfig[workOrderComponentType === 'SELECT' ? 'readonly' : 'disabled'] = true;
1027
+ } else if (((_mappingConfig$readon3 = mappingConfig.readonlyComponents[uniqueKey]) === null || _mappingConfig$readon3 === void 0 ? void 0 : _mappingConfig$readon3.auth) === 'single') {
1028
+ newComponentConfig.disabled = true;
1029
+ if (workOrderComponentType === 'RADIO') {
1030
+ // 隐藏未选中组件
1031
+ newComponentConfig.hideUnselectedItem = true;
1032
+ }
1029
1033
  }
1030
1034
  }
1031
1035
  }
@@ -55,6 +55,7 @@ import { PlatformAvatar } from '@kmkf-fe-packages/services-components';
55
55
  import { Provide, Context } from "./context";
56
56
  import { useSelector } from "./context/useSelector";
57
57
  import { pollOperationResult } from "./pollOperationResult";
58
+ import { pushGyLog } from '@kmkf-fe-packages/kmkf-utils';
58
59
  var Text = Typography.Text,
59
60
  Link = Typography.Link;
60
61
  var FlowTemplateDetail = function FlowTemplateDetail(props) {
@@ -541,8 +542,10 @@ var FlowTemplateDetail = function FlowTemplateDetail(props) {
541
542
  payload: status
542
543
  });
543
544
  if (status === 'save') {
545
+ pushGyLog('save', form.getFieldsValue());
544
546
  handleSave();
545
547
  } else if (status === 'submit') {
548
+ pushGyLog('submit', form.getFieldsValue());
546
549
  handleSubmitBefore();
547
550
  // handleSubmit();
548
551
  } else if (status === 'open') {
@@ -114,6 +114,7 @@ export declare const getMappingConfigByTemplateDetail: (templateDetail: {
114
114
  readonlyComponents: {
115
115
  [key: string]: {
116
116
  auth: 'single' | 'all';
117
+ canEdit: boolean;
117
118
  };
118
119
  };
119
120
  hideComponents: string[];
@@ -27,6 +27,7 @@ import { PlatForm } from "../../model/flowTemplateDetail/types";
27
27
  import transformWorkOrderData from "./transformWorkOrderData";
28
28
  import submitDataTransOldFormat from "./submitDataTransOldFormat";
29
29
  import xzSDK from "./xzSDK";
30
+ import { pushGyLog } from '@kmkf-fe-packages/kmkf-utils';
30
31
  import { orderBackMap } from "./tools_constants";
31
32
  // 淘宝商品组件信息处理
32
33
 
@@ -248,6 +249,7 @@ export var orderBack = /*#__PURE__*/function () {
248
249
  kmOrder: kmOrder,
249
250
  gyOrder: gyOrder
250
251
  });
252
+ pushGyLog('gyOrder', gyOrder);
251
253
  if (data !== null && data !== void 0 && (_data$value = data.value) !== null && _data$value !== void 0 && _data$value.message) {
252
254
  message.warning(data === null || data === void 0 ? void 0 : (_data$value2 = data.value) === null || _data$value2 === void 0 ? void 0 : _data$value2.message);
253
255
  }
@@ -266,6 +268,7 @@ export var orderBack = /*#__PURE__*/function () {
266
268
  kmOrders.orderDetailDtoList = filterKmOrders(kmOrders, order_no);
267
269
  gyOrders.trades = filterGyOrders(gyOrders, order_no);
268
270
  jstOrders.trades = filterJstOrders(jstOrders, order_no);
271
+ pushGyLog('gyOrders', gyOrders);
269
272
  Monitor.automaticReport({
270
273
  message: "orderBack:\u8BA2\u5355\u53F7:".concat(order_no, ",\u5E97\u94FAid:").concat(shopId, ", \u8BA2\u5355\u4FE1\u606F\uFF1A").concat(JSON.stringify(orderInfo), ",jst\u4FE1\u606F:").concat(JSON.stringify(jstOrders), ",bs\u4FE1\u606F:").concat(JSON.stringify(bsOrders), ",wln\u4FE1\u606F:").concat(JSON.stringify(wlnOrders), ",wdt\u4FE1\u606F:").concat(JSON.stringify(wdtOrders), ",\n bsE3\u4FE1\u606F:").concat(JSON.stringify(bsE3Orders), ", km\u4FE1\u606F:").concat(JSON.stringify(kmOrders), ",\u7BA1\u6613\u4FE1\u606F:").concat(JSON.stringify(gyOrders))
271
274
  });
@@ -292,6 +295,7 @@ export var orderBack = /*#__PURE__*/function () {
292
295
  componentList: templateDetail.componentDtoList,
293
296
  orderNo: order_no
294
297
  }), form);
298
+ pushGyLog('gyInfo', gyInfo);
295
299
  jstInfo = jstOrderTransform(_objectSpread(_objectSpread({}, jstOrders), {}, {
296
300
  componentList: templateDetail.componentDtoList,
297
301
  orderNo: order_no
@@ -360,6 +364,7 @@ export var orderBack = /*#__PURE__*/function () {
360
364
  sendId: '',
361
365
  sendName: ''
362
366
  }];
367
+ pushGyLog('gyInfo_after', gyInfo);
363
368
  }
364
369
  if ((kmOrders === null || kmOrders === void 0 ? void 0 : (_kmOrders$orderDetail = kmOrders.orderDetailDtoList) === null || _kmOrders$orderDetail === void 0 ? void 0 : _kmOrders$orderDetail.length) > 1) {
365
370
  kmInfo.kmSendGood = [{
@@ -396,7 +401,9 @@ export var orderBack = /*#__PURE__*/function () {
396
401
  bsE3Order: bsE3Info,
397
402
  kmOrder: kmInfo,
398
403
  gyOrder: gyInfo
399
- }); //抖音数据特殊处理
404
+ });
405
+ pushGyLog('detail', detail);
406
+ //抖音数据特殊处理
400
407
  if (shopSourceStr === 'FXG') {
401
408
  detail = updateDYDetails(detail);
402
409
  } else if (shopSourceStr === 'SPH' || shopSourceStr === 'WXXD') {
@@ -406,7 +413,7 @@ export var orderBack = /*#__PURE__*/function () {
406
413
  hasSelectItem = HasErpItemSelectHandle(templateDetail);
407
414
  erpPromiseList = [];
408
415
  if (!(shopSourceStr === 'TAOBAO' && hasSelectItem)) {
409
- _context.next = 85;
416
+ _context.next = 89;
410
417
  break;
411
418
  }
412
419
  list = detail['itemList'];
@@ -424,10 +431,10 @@ export var orderBack = /*#__PURE__*/function () {
424
431
  resolve({});
425
432
  });
426
433
  });
427
- _context.prev = 75;
428
- _context.next = 78;
434
+ _context.prev = 79;
435
+ _context.next = 82;
429
436
  return Promise.all(promises);
430
- case 78:
437
+ case 82:
431
438
  erpPromiseList = _context.sent;
432
439
  detail['itemList'] = (_detail$itemList = detail['itemList']) === null || _detail$itemList === void 0 ? void 0 : _detail$itemList.map(function (item, index) {
433
440
  return _objectSpread(_objectSpread({}, item), {}, {
@@ -437,13 +444,13 @@ export var orderBack = /*#__PURE__*/function () {
437
444
  })
438
445
  });
439
446
  });
440
- _context.next = 85;
447
+ _context.next = 89;
441
448
  break;
442
- case 82:
443
- _context.prev = 82;
444
- _context.t1 = _context["catch"](75);
449
+ case 86:
450
+ _context.prev = 86;
451
+ _context.t1 = _context["catch"](79);
445
452
  console.error('调用erp获取宝贝编码错误', _context.t1);
446
- case 85:
453
+ case 89:
447
454
  // console.log('detail', detail);
448
455
  values = orderBackFormValues({
449
456
  detail: detail,
@@ -453,6 +460,7 @@ export var orderBack = /*#__PURE__*/function () {
453
460
  type: type,
454
461
  fromQNCreateWorkOrderByOrderNo: fromQNCreateWorkOrderByOrderNo
455
462
  });
463
+ pushGyLog('values', values);
456
464
  console.log('formValue', formValue);
457
465
  console.log('values', values, {
458
466
  type: type,
@@ -485,18 +493,22 @@ export var orderBack = /*#__PURE__*/function () {
485
493
  fixed_field_buyerOpenUid: orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.buyerOpenUid,
486
494
  shopId: shopId
487
495
  }));
496
+ pushGyLog('setFieldsValue', _objectSpread(_objectSpread(_objectSpread({}, formValue), values), {}, {
497
+ fixed_field_buyerOpenUid: orderInfo === null || orderInfo === void 0 ? void 0 : orderInfo.buyerOpenUid,
498
+ shopId: shopId
499
+ }));
488
500
  callback === null || callback === void 0 ? void 0 : callback(detail, templateDetail);
489
- _context.next = 96;
501
+ _context.next = 102;
490
502
  break;
491
- case 93:
492
- _context.prev = 93;
503
+ case 99:
504
+ _context.prev = 99;
493
505
  _context.t2 = _context["catch"](18);
494
506
  console.error(_context.t2);
495
- case 96:
507
+ case 102:
496
508
  case "end":
497
509
  return _context.stop();
498
510
  }
499
- }, _callee, null, [[3, 10], [18, 93], [75, 82]]);
511
+ }, _callee, null, [[3, 10], [18, 99], [79, 86]]);
500
512
  }));
501
513
  return function orderBack(_x) {
502
514
  return _ref2.apply(this, arguments);
@@ -1173,8 +1185,10 @@ export var getMappingConfigByTemplateDetail = function getMappingConfigByTemplat
1173
1185
  }
1174
1186
  }
1175
1187
  if ((_mapping$rules2 = mapping.rules) !== null && _mapping$rules2 !== void 0 && _mapping$rules2.length && mapping.triggerComponentKey) {
1188
+ var _mapping;
1176
1189
  readonlyComponents[componentDto.uniqueKey] = {
1177
- auth: mapping.auth
1190
+ auth: mapping.auth,
1191
+ canEdit: !!((_mapping = mapping) !== null && _mapping !== void 0 && _mapping.canEdit)
1178
1192
  };
1179
1193
  if (mapping.auth === 'single') {
1180
1194
  hideComponents.push(componentDto.uniqueKey);
@@ -1,11 +1,6 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
1
  import { HasFilterHandle } from "./tools";
8
- import { jstOrderDetail, bsOrderDetail, wlnOrderDetail, wdtOrderDetail, bsE3OrderDetail, kmOrderDetail, gyOrderDetail, jstOrderOutList } from "../../model/servers/api";
2
+ import { bsOrderDetail, wlnOrderDetail, wdtOrderDetail, bsE3OrderDetail, kmOrderDetail, gyOrderDetail } from "../../model/servers/api";
3
+ import { servers } from '@kmkf-fe-packages/kmkf-utils';
9
4
  var orderBackKeyListMap = {
10
5
  hasJst: ['JST_SYSTEM_ORDER', 'JST_GOODS', 'JST_REISSUE_GOODS', 'JST_LOGISTICS', 'JST_ITEM_SELECT_THIRD', 'JST_SUPPLY', 'JST_SEND_GOOD'],
11
6
  hasBs: ['BS_SIGNING_TIME', 'BS_SEND_TIME', 'BS_TRADE_PAYMENT_TIME', 'BS_NET_RECEIPTS', 'BS_PACKAGE_WEIGHT', 'BS_GOODS', 'BS_DEPOSIT', 'BS_LOGISTICS', 'BS_SEND_GOOD', 'BS_POSTING', 'BS_SYSTEM_ORDER', 'BS_DELIVERY_NO'],
@@ -13,38 +8,7 @@ var orderBackKeyListMap = {
13
8
  hasWdt: ['WDT_SYSTEM_ORDER', 'WDT_GOODS', 'WDT_LOGISTICS', 'WDT_SEND_GOOD', 'WDT_REISSUE_GOODS'],
14
9
  hasBsE3: ['BS_E3_SYSTEM_ORDER', 'BS_E3_GOODS', 'BS_E3_REISSUE_GOODS', 'BS_E3_LOGISTICS', 'BS_E3_SEND_GOOD'],
15
10
  hasWln: ['WLN_SYSTEM_ORDER', 'WLN_GOODS', 'WLN_LOGISTICS', 'WLN_SEND_GOOD'],
16
- hasGy: ['GY_SYSTEM_ORDER', 'GY_SEND_GOOD', 'GY_GOODS', 'GY_REISSUE_GOODS']
17
- };
18
-
19
- /**
20
- * 将订单接口数据转成出库单数据结构
21
- */
22
- function jstOrderDetailDataToOrderOutData(res) {
23
- return _objectSpread(_objectSpread({}, res), {}, {
24
- data: res.data.orders.map(function (order) {
25
- return _objectSpread(_objectSpread({}, order), {}, {
26
- orderType: order.erpOrderType
27
- });
28
- })
29
- });
30
- }
31
- var jstOrderDetailWrap = function jstOrderDetailWrap(soId) {
32
- return jstOrderDetail({
33
- soId: soId
34
- }).then(function (res) {
35
- var _res$data, _res$data$orders;
36
- if (!(res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && (_res$data$orders = _res$data.orders) !== null && _res$data$orders !== void 0 && _res$data$orders.length)) {
37
- return jstOrderOutList({
38
- soId: soId
39
- });
40
- }
41
- return jstOrderDetailDataToOrderOutData(res);
42
- }).catch(function (e) {
43
- // console.log('***** in e', e);
44
- return jstOrderOutList({
45
- soId: soId
46
- });
47
- });
11
+ hasGy: ['GY_SYSTEM_ORDER', 'GY_SEND_GOOD', 'GY_GOODS', 'GY_REISSUE_GOODS', 'GY_RETURN_GOODS']
48
12
  };
49
13
  export var orderBackMap = function orderBackMap(_ref) {
50
14
  var templateDetail = _ref.templateDetail,
@@ -54,7 +18,7 @@ export var orderBackMap = function orderBackMap(_ref) {
54
18
  hasJst: {
55
19
  flag: HasFilterHandle(templateDetail, orderBackKeyListMap.hasJst),
56
20
  promiseRequest: function promiseRequest() {
57
- return jstOrderDetailWrap(order_no);
21
+ return servers.JST.jstOrderDetailWrap(order_no);
58
22
  }
59
23
  },
60
24
  //判断是否有百胜组件 有就请求bs订单接口
@@ -33,13 +33,14 @@ var processRadio = function processRadio(getValue) {
33
33
  };
34
34
  var processInput = function processInput(getValue) {
35
35
  return function (nex, config) {
36
- return _defineProperty({}, nex.uniqueKey, getValue("".concat(nex.uniqueKey, "_input")) || (config === null || config === void 0 ? void 0 : config.input));
36
+ var _getValue;
37
+ return _defineProperty({}, nex.uniqueKey, (_getValue = getValue("".concat(nex.uniqueKey, "_input"))) !== null && _getValue !== void 0 ? _getValue : config === null || config === void 0 ? void 0 : config.input);
37
38
  };
38
39
  };
39
40
  var processNumericalCalculation = function processNumericalCalculation(getValue) {
40
41
  return function (nex, config) {
41
- var _getValue;
42
- return _defineProperty({}, nex.uniqueKey, (_getValue = getValue("".concat(nex.uniqueKey, "_numericalCalculation"))) !== null && _getValue !== void 0 ? _getValue : config === null || config === void 0 ? void 0 : config.numericalCalculation);
42
+ var _getValue2;
43
+ return _defineProperty({}, nex.uniqueKey, (_getValue2 = getValue("".concat(nex.uniqueKey, "_numericalCalculation"))) !== null && _getValue2 !== void 0 ? _getValue2 : config === null || config === void 0 ? void 0 : config.numericalCalculation);
43
44
  };
44
45
  };
45
46
  var processTextarea = function processTextarea(getValue) {
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ var __spreadArrays = this && this.__spreadArrays || function () {
4
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
5
+ for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j];
6
+ return r;
7
+ };
8
+ exports.__esModule = true;
9
+ exports.fetchShowPayment = exports.flatWorkOrder = exports.getPlatList = exports.queryAllComponentList = void 0;
10
+ var request_1 = require("../servers/request");
11
+ // 所有组件信息
12
+ exports.queryAllComponentList = function (data) {
13
+ return request_1["default"]({
14
+ url: '/qy/column/header/queryConfig',
15
+ method: 'get',
16
+ data: data
17
+ });
18
+ };
19
+ // 平台信息
20
+ exports.getPlatList = function (data) {
21
+ return request_1["default"]({
22
+ url: '/qy/platform/listPlatform',
23
+ method: 'get',
24
+ data: data
25
+ }).then(function (res) {
26
+ var platType = res.data || {};
27
+ platType.alreadyJoinedList = platType.alreadyJoinedList || [];
28
+ platType.notJoinList = platType.notJoinList || [];
29
+ var list = __spreadArrays(platType.alreadyJoinedList, platType.notJoinList);
30
+ return list;
31
+ });
32
+ };
33
+ //打标
34
+ exports.flatWorkOrder = function (data) {
35
+ return request_1["default"]({
36
+ url: '/qy/flow/operate/flagWorkOrder',
37
+ method: 'post',
38
+ data: data
39
+ });
40
+ };
41
+ // 是否展示打款工单入口
42
+ exports.fetchShowPayment = function (data) {
43
+ return request_1["default"]({
44
+ url: '/qy/userConfig/getConfig',
45
+ method: 'post',
46
+ data: data
47
+ });
48
+ };