eoss-ui 0.4.99 → 0.5.10
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/CHANGELOG.md +929 -0
- package/lib/button-group.js +100 -10
- package/lib/button.js +101 -11
- package/lib/checkbox-group.js +181 -79
- package/lib/data-table-form.js +100 -14
- package/lib/data-table.js +156 -58
- package/lib/date-picker.js +100 -10
- package/lib/dialog.js +110 -24
- package/lib/eoss-ui.common.js +945 -669
- package/lib/flow-group.js +100 -10
- package/lib/flow-list.js +119 -19
- package/lib/flow.js +105 -19
- package/lib/form.js +665 -417
- package/lib/handle-user.js +125 -35
- package/lib/handler.js +100 -10
- package/lib/icons.js +2 -2
- package/lib/index.js +1 -1
- package/lib/input-number.js +101 -11
- package/lib/input.js +103 -13
- package/lib/layout.js +2 -2
- package/lib/login.js +106 -19
- package/lib/main.js +201 -123
- package/lib/nav.js +100 -10
- package/lib/page.js +100 -10
- package/lib/player.js +102 -12
- package/lib/qr-code.js +100 -10
- package/lib/radio-group.js +129 -37
- package/lib/retrial-auth.js +100 -10
- package/lib/select-ganged.js +101 -11
- package/lib/select.js +125 -35
- package/lib/selector-panel.js +154 -57
- package/lib/selector.js +100 -10
- package/lib/sizer.js +103 -13
- package/lib/steps.js +100 -10
- package/lib/switch.js +101 -11
- package/lib/table-form.js +165 -59
- package/lib/tabs.js +100 -10
- package/lib/tips.js +100 -10
- package/lib/tree-group.js +100 -10
- package/lib/tree.js +100 -10
- package/lib/upload.js +189 -92
- package/lib/utils/util.js +80 -2
- package/lib/wujie.js +100 -10
- package/lib/wxlogin.js +100 -10
- package/package.json +1 -1
- package/packages/button/src/main.vue +1 -10
- package/packages/data-table/src/column.vue +6 -0
- package/packages/flow-list/src/main.vue +4 -3
- package/packages/form/src/main.vue +60 -1
- package/packages/form/src/table.vue +6 -0
- package/packages/login/src/main.vue +1 -0
- package/packages/main/src/main.vue +106 -97
- package/packages/radio-group/src/main.vue +1 -0
- package/packages/theme-chalk/lib/base.css +1 -0
- package/packages/theme-chalk/lib/button-group.css +1 -0
- package/packages/theme-chalk/lib/button.css +0 -0
- package/packages/theme-chalk/lib/card.css +1 -0
- package/packages/theme-chalk/lib/cascader.css +0 -0
- package/packages/theme-chalk/lib/checkbox-group.css +1 -0
- package/packages/theme-chalk/lib/clients.css +1 -0
- package/packages/theme-chalk/lib/data-table-form.css +1 -0
- package/packages/theme-chalk/lib/data-table.css +1 -0
- package/packages/theme-chalk/lib/date-picker.css +1 -0
- package/packages/theme-chalk/lib/dialog.css +1 -0
- package/packages/theme-chalk/lib/enterprise.css +1 -0
- package/packages/theme-chalk/lib/error-page.css +1 -0
- package/packages/theme-chalk/lib/flow-chart.css +0 -0
- package/packages/theme-chalk/lib/flow-group.css +1 -0
- package/packages/theme-chalk/lib/flow-list.css +1 -0
- package/packages/theme-chalk/lib/flow.css +1 -0
- package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
- package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
- package/packages/theme-chalk/lib/form.css +1 -0
- package/packages/theme-chalk/lib/handle-user.css +1 -0
- package/packages/theme-chalk/lib/handler.css +1 -0
- package/packages/theme-chalk/lib/icon.css +1 -0
- package/packages/theme-chalk/lib/icons.css +1 -0
- package/packages/theme-chalk/lib/index.css +1 -0
- package/packages/theme-chalk/lib/input-number.css +0 -0
- package/packages/theme-chalk/lib/input.css +1 -0
- package/packages/theme-chalk/lib/label.css +1 -0
- package/packages/theme-chalk/lib/layout.css +1 -0
- package/packages/theme-chalk/lib/login.css +1 -0
- package/packages/theme-chalk/lib/main.css +1 -0
- package/packages/theme-chalk/lib/mainComp.css +0 -0
- package/packages/theme-chalk/lib/menu.css +1 -0
- package/packages/theme-chalk/lib/nav.css +1 -0
- package/packages/theme-chalk/lib/notify.css +0 -0
- package/packages/theme-chalk/lib/page.css +1 -0
- package/packages/theme-chalk/lib/pagination.css +1 -0
- package/packages/theme-chalk/lib/player.css +1 -0
- package/packages/theme-chalk/lib/qr-code.css +1 -0
- package/packages/theme-chalk/lib/radio-group.css +1 -0
- package/packages/theme-chalk/lib/retrial-auth.css +1 -0
- package/packages/theme-chalk/lib/select-ganged.css +1 -0
- package/packages/theme-chalk/lib/select.css +0 -0
- package/packages/theme-chalk/lib/selector-panel.css +1 -0
- package/packages/theme-chalk/lib/selector.css +1 -0
- package/packages/theme-chalk/lib/sizer.css +1 -0
- package/packages/theme-chalk/lib/steps.css +1 -0
- package/packages/theme-chalk/lib/switch.css +1 -0
- package/packages/theme-chalk/lib/table-form.css +0 -0
- package/packages/theme-chalk/lib/tabs-panel.css +0 -0
- package/packages/theme-chalk/lib/tabs.css +1 -0
- package/packages/theme-chalk/lib/tips.css +1 -0
- package/packages/theme-chalk/lib/toolbar.css +1 -0
- package/packages/theme-chalk/lib/tree-group.css +1 -0
- package/packages/theme-chalk/lib/tree.css +1 -0
- package/packages/theme-chalk/lib/upload.css +1 -0
- package/packages/theme-chalk/lib/wujie.css +0 -0
- package/packages/theme-chalk/lib/wxlogin.css +1 -0
- package/packages/upload/src/main.vue +0 -1
- package/src/index.js +1 -1
- package/src/utils/util.js +77 -3
- package/packages/theme-chalk/gulpfile.js +0 -25
package/lib/login.js
CHANGED
|
@@ -97,8 +97,14 @@ module.exports =
|
|
|
97
97
|
/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_2__);
|
|
98
98
|
/* harmony import */ var json_bigint__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6);
|
|
99
99
|
/* harmony import */ var json_bigint__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(json_bigint__WEBPACK_IMPORTED_MODULE_3__);
|
|
100
|
-
/* harmony import */ var
|
|
101
|
-
/* harmony import */ var
|
|
100
|
+
/* harmony import */ var sockjs_client__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(7);
|
|
101
|
+
/* harmony import */ var sockjs_client__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(sockjs_client__WEBPACK_IMPORTED_MODULE_4__);
|
|
102
|
+
/* harmony import */ var stompjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(8);
|
|
103
|
+
/* harmony import */ var stompjs__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(stompjs__WEBPACK_IMPORTED_MODULE_5__);
|
|
104
|
+
/* harmony import */ var eoss_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(2);
|
|
105
|
+
/* harmony import */ var eoss_element__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(eoss_element__WEBPACK_IMPORTED_MODULE_6__);
|
|
106
|
+
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
|
107
|
+
|
|
102
108
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
103
109
|
|
|
104
110
|
/**
|
|
@@ -109,7 +115,9 @@ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol
|
|
|
109
115
|
**/
|
|
110
116
|
|
|
111
117
|
/* eslint-disable indent */
|
|
112
|
-
var sm2 = __webpack_require__(
|
|
118
|
+
var sm2 = __webpack_require__(9).sm2;
|
|
119
|
+
|
|
120
|
+
|
|
113
121
|
|
|
114
122
|
|
|
115
123
|
|
|
@@ -256,7 +264,7 @@ var ajax = function ajax(_ref) {
|
|
|
256
264
|
clearTimeout(loginMsg);
|
|
257
265
|
loginMsg = setTimeout(function () {
|
|
258
266
|
sessionStorage.setItem('remind', 1);
|
|
259
|
-
|
|
267
|
+
eoss_element__WEBPACK_IMPORTED_MODULE_6__["MessageBox"].confirm(response.data.rCode === 69 ? '该账号在其他地方已登陆!' : '登录已过期,请重新登录!', '提示', response.data.rCode === 69 ? {
|
|
260
268
|
confirmButtonText: '确定',
|
|
261
269
|
closeOnClickModal: false,
|
|
262
270
|
type: 'warning'
|
|
@@ -303,7 +311,7 @@ var ajax = function ajax(_ref) {
|
|
|
303
311
|
} else if (response.data.rCode === 61) {
|
|
304
312
|
clearTimeout(initAuth);
|
|
305
313
|
initAuth = setTimeout(function () {
|
|
306
|
-
Object(
|
|
314
|
+
Object(eoss_element__WEBPACK_IMPORTED_MODULE_6__["MessageBox"])({
|
|
307
315
|
title: '请进行二次鉴权',
|
|
308
316
|
closeOnClickModal: false,
|
|
309
317
|
closeOnPressEscape: false,
|
|
@@ -1752,7 +1760,7 @@ var getWeekday = function getWeekday(date) {
|
|
|
1752
1760
|
* @param {String} [url] - url地址
|
|
1753
1761
|
**/
|
|
1754
1762
|
|
|
1755
|
-
var handlerUrl = function handlerUrl(url, before) {
|
|
1763
|
+
var handlerUrl = function handlerUrl(url, param, before) {
|
|
1756
1764
|
var arry = url.split('?');
|
|
1757
1765
|
if (arry.length > 2) {
|
|
1758
1766
|
var ary = arry.splice(1, arry.length);
|
|
@@ -1774,6 +1782,10 @@ var handlerUrl = function handlerUrl(url, before) {
|
|
|
1774
1782
|
} else {
|
|
1775
1783
|
url += '?_tt=' + new Date().getTime();
|
|
1776
1784
|
}
|
|
1785
|
+
if (param) {
|
|
1786
|
+
var str = queryParams(param);
|
|
1787
|
+
url += '&' + str;
|
|
1788
|
+
}
|
|
1777
1789
|
if (before && before === arry[0]) {
|
|
1778
1790
|
var pathname = win.location.pathname;
|
|
1779
1791
|
if (pathname === '/') {
|
|
@@ -2015,7 +2027,7 @@ var isLogined = function isLogined(_ref8) {
|
|
|
2015
2027
|
}
|
|
2016
2028
|
break;
|
|
2017
2029
|
case 4:
|
|
2018
|
-
|
|
2030
|
+
eoss_element__WEBPACK_IMPORTED_MODULE_6__["MessageBox"].alert(results.msg ? results.msg : '账号未绑定,账号密码登录后自动绑定!', '提示', {
|
|
2019
2031
|
confirmButtonText: '确定',
|
|
2020
2032
|
type: 'error',
|
|
2021
2033
|
callback: function callback() {
|
|
@@ -2035,7 +2047,7 @@ var isLogined = function isLogined(_ref8) {
|
|
|
2035
2047
|
default:
|
|
2036
2048
|
}
|
|
2037
2049
|
} else {
|
|
2038
|
-
|
|
2050
|
+
eoss_element__WEBPACK_IMPORTED_MODULE_6__["MessageBox"].alert(res.msg, '提示', {
|
|
2039
2051
|
confirmButtonText: '确定',
|
|
2040
2052
|
type: 'error',
|
|
2041
2053
|
callback: function callback() {
|
|
@@ -2166,7 +2178,7 @@ var loadJs = function loadJs(_ref10) {
|
|
|
2166
2178
|
**/
|
|
2167
2179
|
var loading = function loading($loading, res) {
|
|
2168
2180
|
if (!$loading) {
|
|
2169
|
-
$loading =
|
|
2181
|
+
$loading = eoss_element__WEBPACK_IMPORTED_MODULE_6__["Loading"].service;
|
|
2170
2182
|
}
|
|
2171
2183
|
if (isObject(res)) {
|
|
2172
2184
|
var config = extend({}, {
|
|
@@ -2525,6 +2537,70 @@ var setStorage = function setStorage(_ref14) {
|
|
|
2525
2537
|
}
|
|
2526
2538
|
};
|
|
2527
2539
|
|
|
2540
|
+
/**
|
|
2541
|
+
* socket
|
|
2542
|
+
* @desc:webSocket
|
|
2543
|
+
* @author huangbo
|
|
2544
|
+
* @date 2022年5月7日
|
|
2545
|
+
* @param {String} [url] - 连接地址
|
|
2546
|
+
* @param {String} [take] - 订阅地址
|
|
2547
|
+
* @param {String} [debug] - 调试
|
|
2548
|
+
* @param {String} [interval] - 重连间隔时间
|
|
2549
|
+
**/
|
|
2550
|
+
function socket(options) {
|
|
2551
|
+
var nextDate = 0;
|
|
2552
|
+
var connect = 1;
|
|
2553
|
+
return new Promise(function (resolve, reject) {
|
|
2554
|
+
var wshost = getStorage('wshost') || '';
|
|
2555
|
+
var option = {
|
|
2556
|
+
url: wshost + _config_api__WEBPACK_IMPORTED_MODULE_0__[/* wss */ "Zb"],
|
|
2557
|
+
take: _config_api__WEBPACK_IMPORTED_MODULE_0__[/* topic */ "Qb"],
|
|
2558
|
+
debug: true,
|
|
2559
|
+
interval: 20
|
|
2560
|
+
};
|
|
2561
|
+
var websocket = win.websocket || {};
|
|
2562
|
+
if (options && isObject(options)) {
|
|
2563
|
+
option = _extends({}, option, options);
|
|
2564
|
+
}
|
|
2565
|
+
var key = window.btoa(option.url);
|
|
2566
|
+
if (!websocket[key]) {
|
|
2567
|
+
websocket[key] = { socket: new sockjs_client__WEBPACK_IMPORTED_MODULE_4___default.a(option.url) };
|
|
2568
|
+
win.websocket = websocket;
|
|
2569
|
+
}
|
|
2570
|
+
|
|
2571
|
+
var client = websocket[key] ? websocket[key].client : null;
|
|
2572
|
+
if (!client) {
|
|
2573
|
+
client = websocket[key].client = stompjs__WEBPACK_IMPORTED_MODULE_5___default.a.over(websocket[key].socket);
|
|
2574
|
+
!option.debug && (client.debug = null);
|
|
2575
|
+
}
|
|
2576
|
+
client.connect({}, function () {
|
|
2577
|
+
client.subscribe(option.take, function (response) {
|
|
2578
|
+
var res = JSON.parse(response.body);
|
|
2579
|
+
resolve(res, function () {
|
|
2580
|
+
client.disconnect();
|
|
2581
|
+
win.top.websocket && win.top.websocket[key] && delete win.top.websocket[key];
|
|
2582
|
+
}, client, websocket[key]);
|
|
2583
|
+
});
|
|
2584
|
+
}, function (error) {
|
|
2585
|
+
var diffSecond = parseInt((new Date() - nextDate) / 1000, 10);
|
|
2586
|
+
if (connect > 5 && diffSecond < option.interval) {
|
|
2587
|
+
client.disconnect();
|
|
2588
|
+
if (win.top.websocket) {
|
|
2589
|
+
if (Object.keys(win.top.websocket).length > 1) {
|
|
2590
|
+
delete win.top.websocket[key];
|
|
2591
|
+
} else {
|
|
2592
|
+
delete win.top.websocket;
|
|
2593
|
+
}
|
|
2594
|
+
}
|
|
2595
|
+
} else {
|
|
2596
|
+
win.top.websocket && win.top.websocket[key] && setTimeout(function () {
|
|
2597
|
+
socket(options);
|
|
2598
|
+
}, 5000);
|
|
2599
|
+
}
|
|
2600
|
+
reject(error);
|
|
2601
|
+
});
|
|
2602
|
+
});
|
|
2603
|
+
}
|
|
2528
2604
|
/**
|
|
2529
2605
|
* sum
|
|
2530
2606
|
* @desc 求和
|
|
@@ -2777,7 +2853,6 @@ var urlJoinParams = function urlJoinParams(_ref15) {
|
|
|
2777
2853
|
params[items[0]] = items[1];
|
|
2778
2854
|
});
|
|
2779
2855
|
}
|
|
2780
|
-
'&_tt=' + new Date().getTime();
|
|
2781
2856
|
params = extend(true, params, param);
|
|
2782
2857
|
var str = queryParams(params);
|
|
2783
2858
|
if (str) {
|
|
@@ -2945,6 +3020,7 @@ var watermark = function watermark(option) {
|
|
|
2945
3020
|
sendMessage: sendMessage,
|
|
2946
3021
|
setFavicon: setFavicon,
|
|
2947
3022
|
setStorage: setStorage,
|
|
3023
|
+
socket: socket,
|
|
2948
3024
|
startWith: startWith,
|
|
2949
3025
|
sum: sum,
|
|
2950
3026
|
takeLeft: takeLeft,
|
|
@@ -3433,10 +3509,22 @@ module.exports = require("json-bigint");
|
|
|
3433
3509
|
/* 7 */
|
|
3434
3510
|
/***/ (function(module, exports) {
|
|
3435
3511
|
|
|
3436
|
-
module.exports = require("
|
|
3512
|
+
module.exports = require("sockjs-client");
|
|
3437
3513
|
|
|
3438
3514
|
/***/ }),
|
|
3439
3515
|
/* 8 */
|
|
3516
|
+
/***/ (function(module, exports) {
|
|
3517
|
+
|
|
3518
|
+
module.exports = require("stompjs");
|
|
3519
|
+
|
|
3520
|
+
/***/ }),
|
|
3521
|
+
/* 9 */
|
|
3522
|
+
/***/ (function(module, exports) {
|
|
3523
|
+
|
|
3524
|
+
module.exports = require("sm-crypto");
|
|
3525
|
+
|
|
3526
|
+
/***/ }),
|
|
3527
|
+
/* 10 */
|
|
3440
3528
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3441
3529
|
|
|
3442
3530
|
"use strict";
|
|
@@ -3463,8 +3551,8 @@ window.__store = store;
|
|
|
3463
3551
|
/* harmony default export */ __webpack_exports__["a"] = (store);
|
|
3464
3552
|
|
|
3465
3553
|
/***/ }),
|
|
3466
|
-
/*
|
|
3467
|
-
/*
|
|
3554
|
+
/* 11 */,
|
|
3555
|
+
/* 12 */
|
|
3468
3556
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
3469
3557
|
|
|
3470
3558
|
"use strict";
|
|
@@ -3488,8 +3576,6 @@ var bankCard = { pattern: new RegExp('^([1-9]{1})(\\d{14}|\\d{18})$'), message:
|
|
|
3488
3576
|
});
|
|
3489
3577
|
|
|
3490
3578
|
/***/ }),
|
|
3491
|
-
/* 11 */,
|
|
3492
|
-
/* 12 */,
|
|
3493
3579
|
/* 13 */,
|
|
3494
3580
|
/* 14 */,
|
|
3495
3581
|
/* 15 */,
|
|
@@ -3517,7 +3603,7 @@ var bankCard = { pattern: new RegExp('^([1-9]{1})(\\d{14}|\\d{18})$'), message:
|
|
|
3517
3603
|
// ESM COMPAT FLAG
|
|
3518
3604
|
__webpack_require__.r(__webpack_exports__);
|
|
3519
3605
|
|
|
3520
|
-
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/login/src/main.vue?vue&type=template&id=
|
|
3606
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/login/src/main.vue?vue&type=template&id=b33f92be&
|
|
3521
3607
|
var render = function () {
|
|
3522
3608
|
var _vm = this
|
|
3523
3609
|
var _h = _vm.$createElement
|
|
@@ -4375,7 +4461,7 @@ var staticRenderFns = []
|
|
|
4375
4461
|
render._withStripped = true
|
|
4376
4462
|
|
|
4377
4463
|
|
|
4378
|
-
// CONCATENATED MODULE: ./packages/login/src/main.vue?vue&type=template&id=
|
|
4464
|
+
// CONCATENATED MODULE: ./packages/login/src/main.vue?vue&type=template&id=b33f92be&
|
|
4379
4465
|
|
|
4380
4466
|
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/login/src/resetPassword.vue?vue&type=template&id=4f5da52e&
|
|
4381
4467
|
var resetPasswordvue_type_template_id_4f5da52e_render = function () {
|
|
@@ -4443,7 +4529,7 @@ resetPasswordvue_type_template_id_4f5da52e_render._withStripped = true
|
|
|
4443
4529
|
var api = __webpack_require__(1);
|
|
4444
4530
|
|
|
4445
4531
|
// EXTERNAL MODULE: ./src/utils/rules.js
|
|
4446
|
-
var rules = __webpack_require__(
|
|
4532
|
+
var rules = __webpack_require__(12);
|
|
4447
4533
|
|
|
4448
4534
|
// EXTERNAL MODULE: ./src/utils/util.js
|
|
4449
4535
|
var util = __webpack_require__(0);
|
|
@@ -4781,7 +4867,7 @@ var component = Object(componentNormalizer["a" /* default */])(
|
|
|
4781
4867
|
|
|
4782
4868
|
/* harmony default export */ var resetPassword = (component.exports);
|
|
4783
4869
|
// EXTERNAL MODULE: ./src/utils/store.js
|
|
4784
|
-
var store = __webpack_require__(
|
|
4870
|
+
var store = __webpack_require__(10);
|
|
4785
4871
|
|
|
4786
4872
|
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/login/src/main.vue?vue&type=script&lang=js&
|
|
4787
4873
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
@@ -5513,6 +5599,7 @@ var mainvue_type_script_lang_js_extends = Object.assign || function (target) { f
|
|
|
5513
5599
|
},
|
|
5514
5600
|
mounted: function mounted() {
|
|
5515
5601
|
this.getRemember();
|
|
5602
|
+
delete util["a" /* default */].win.websocket;
|
|
5516
5603
|
},
|
|
5517
5604
|
|
|
5518
5605
|
methods: {
|