tplus-components-touch 3.25.7 → 3.27.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.
Files changed (47) hide show
  1. package/dist/components/billSearch/api.js +74 -13
  2. package/dist/components/billSearch/api.js.map +1 -1
  3. package/dist/components/billSearch/index.js +14 -14
  4. package/dist/components/billSearch/index.js.map +1 -1
  5. package/dist/components/cloudPrint/index.js +4 -57
  6. package/dist/components/cloudPrint/index.js.map +1 -1
  7. package/dist/components/deliverySearch/index.js +8 -12
  8. package/dist/components/deliverySearch/index.js.map +1 -1
  9. package/dist/components/hotKey/localConfig.js +52 -0
  10. package/dist/components/hotKey/localConfig.js.map +1 -1
  11. package/dist/components/inventorySearch/store.js +12 -31
  12. package/dist/components/inventorySearch/store.js.map +1 -1
  13. package/dist/components/inventorySearch/tab.js +2 -9
  14. package/dist/components/inventorySearch/tab.js.map +1 -1
  15. package/dist/components/loading/loadingContent.js +4 -12
  16. package/dist/components/loading/loadingContent.js.map +1 -1
  17. package/dist/components/loading/style.less +5 -14
  18. package/dist/components/message/index.js +5 -8
  19. package/dist/components/message/index.js.map +1 -1
  20. package/dist/components/presale/pickup.js +419 -0
  21. package/dist/components/presale/pickup.js.map +1 -0
  22. package/dist/components/presale/style.less +48 -0
  23. package/dist/components/settlement/settlement.js +207 -65
  24. package/dist/components/settlement/settlement.js.map +1 -1
  25. package/dist/components/settlement/settlementStore.js +157 -107
  26. package/dist/components/settlement/settlementStore.js.map +1 -1
  27. package/dist/components/socket/index.js +5 -6
  28. package/dist/components/socket/index.js.map +1 -1
  29. package/dist/components/ticon/iconfont/demo.css +539 -539
  30. package/dist/components/ticon/iconfont/demo_index.html +5225 -5202
  31. package/dist/components/ticon/iconfont/iconfont.css +891 -887
  32. package/dist/components/ticon/iconfont/iconfont.js +1 -1
  33. package/dist/components/ticon/iconfont/iconfont.js.map +1 -1
  34. package/dist/components/ticon/iconfont/iconfont.json +1542 -1535
  35. package/dist/components/ticon/iconfont/iconfont.ttf +0 -0
  36. package/dist/components/ticon/iconfont/iconfont.woff +0 -0
  37. package/dist/components/ticon/iconfont/iconfont.woff2 +0 -0
  38. package/dist/components/touchTable/index.js +4 -0
  39. package/dist/components/touchTable/index.js.map +1 -1
  40. package/dist/index.js +8 -8
  41. package/dist/index.js.map +1 -1
  42. package/dist/util/tools.js +7 -5
  43. package/dist/util/tools.js.map +1 -1
  44. package/package.json +35 -35
  45. package/dist/components/input/scanInput.js +0 -98
  46. package/dist/components/input/scanInput.js.map +0 -1
  47. package/dist/components/input/scanInput.less +0 -28
@@ -170,23 +170,22 @@ var Socket = function () {
170
170
  key: 'socketAuth',
171
171
  value: function () {
172
172
  var _ref2 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
173
- var _ref3, orgId, loginInfo, SignalRServerHost, CiaToken, accountId, token, PosId, storeID, appKey, params;
173
+ var _ref3, orgId, _ref3$loginInfo, loginInfo, SignalRServerHost, CiaToken, accountId, token, PosId, storeID, appKey, params;
174
174
 
175
175
  return _regenerator2.default.wrap(function _callee$(_context) {
176
176
  while (1) {
177
177
  switch (_context.prev = _context.next) {
178
178
  case 0:
179
- _ref3 = _mutantsMicrofx.stores.user || {}, orgId = _ref3.orgId;
180
- loginInfo = _mutantsMicrofx.stores.user.options.get('loginInfo');
179
+ _ref3 = _mutantsMicrofx.localStore.get('user') || {}, orgId = _ref3.orgId, _ref3$loginInfo = _ref3.loginInfo, loginInfo = _ref3$loginInfo === undefined ? {} : _ref3$loginInfo;
181
180
  SignalRServerHost = loginInfo.SignalRServerHost, CiaToken = loginInfo.CiaToken, accountId = loginInfo.enterpriseUniqId, token = loginInfo.SignalRToken, PosId = loginInfo.PosId, storeID = loginInfo.storeID, appKey = loginInfo.CloudServerAppKey;
182
181
  params = { accountId: accountId, token: token, PosId: PosId, storeID: storeID, orgId: orgId, appKey: appKey, CiaToken: CiaToken };
183
- _context.next = 6;
182
+ _context.next = 5;
184
183
  return _axios2.default.get(SignalRServerHost + '/api/auth/GetAccessToken', { params: params });
185
184
 
186
- case 6:
185
+ case 5:
187
186
  return _context.abrupt('return', _context.sent);
188
187
 
189
- case 7:
188
+ case 6:
190
189
  case 'end':
191
190
  return _context.stop();
192
191
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["tplus-components-touch/components/socket/index.js"],"names":["signalR","Socket","host","path","connected","error","reconnect","token","connection","_init","on","stop","throttle","HubConnectionBuilder","withUrl","accessTokenFactory","configureLogging","LogLevel","Information","build","start","then","catch","_error","err","onclose","console","options","reInit","forEach","key","type","func","params","invoke","stoped","fn","gapTime","_lastTime","_nowTime","Date","stores","user","orgId","loginInfo","get","SignalRServerHost","CiaToken","accountId","enterpriseUniqId","SignalRToken","PosId","storeID","appKey","CloudServerAppKey","axios"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * host 主机\r\n * path 地址\r\n * connected 连接成功后的回调\r\n * error 错误信息的回调\r\n * reconnect 触发重连的钩子\r\n * updateConfig 触发重连时候 需要在实例化时的reconnect钩子调用该方法,参数 options 为设置新的参数 reInit 为是否重新初始化连接\r\n * send 发送消息\r\n * on 监听推送消息\r\n * stop 停止连接\r\n *\r\n**/\r\nimport * as signalR from '@aspnet/signalr';\r\nimport axios from 'axios'; // cloud server消息推送接口单独使用 不走统一配置\r\nimport { stores, localStore } from 'mutants-microfx';\r\n\r\nexport default class Socket {\r\n constructor({ host, path, connected, error, reconnect, token }) {\r\n this.host = host;\r\n this.path = path;\r\n this.token = token;\r\n this.connected = connected || (() => { });\r\n this.reconnect = reconnect || (() => { });\r\n this.error = error || (() => { });\r\n this.connection = this._init();\r\n this.on = this.on;\r\n this.stop = this.stop;\r\n this.throttle = this.throttle;\r\n }\r\n\r\n _init() {\r\n const connection = new signalR.HubConnectionBuilder()\r\n .withUrl(`${this.host}${this.path}`, {\r\n accessTokenFactory: () => this.token\r\n })\r\n .configureLogging(signalR.LogLevel.Information)\r\n .build();\r\n\r\n connection.start().then(() => this.connected(connection)).catch(err => this._error(err));\r\n connection.onclose(() => this.reconnect(connection));\r\n\r\n return connection;\r\n }\r\n\r\n _error(err) {\r\n console.error('signalR:', err);\r\n this.error(err);\r\n this.throttle(() => {\r\n this.reconnect(this.connection);\r\n }, 3000);\r\n }\r\n\r\n updateConfig(options, reInit) {\r\n if (options && typeof options === 'object') {\r\n Object.keys(options).forEach(key => this[key] = options[key]);\r\n }\r\n if (reInit) {\r\n this.stop(() => {\r\n this.connection = this._init();\r\n });\r\n } else {\r\n this.connection.start().then(() => this.connected(this.connection)).catch(err => this._error(err));\r\n }\r\n }\r\n\r\n on(type, func) {\r\n this.connection.on(type, (...argument) => func(...argument));\r\n }\r\n\r\n send(type, params = [], error) {\r\n this.connection.invoke(type, ...params).catch(err => error && error(err));\r\n }\r\n\r\n stop(func) {\r\n const stoped = () => {\r\n this.connection = null;\r\n func && func();\r\n }\r\n this.connection.stop().then(stoped).catch(stoped);\r\n }\r\n\r\n throttle(fn, gapTime) {\r\n let _lastTime = null;\r\n return function () {\r\n const _nowTime = +new Date();\r\n if (_nowTime - _lastTime > gapTime || !_lastTime) {\r\n fn();\r\n _lastTime = _nowTime;\r\n }\r\n }\r\n }\r\n\r\n static async socketAuth() {\r\n const { orgId } = stores.user || {};\r\n const loginInfo = stores.user.options.get('loginInfo');\r\n const { SignalRServerHost, CiaToken, enterpriseUniqId: accountId, SignalRToken: token, PosId, storeID, CloudServerAppKey: appKey } = loginInfo;\r\n const params = { accountId, token, PosId, storeID, orgId, appKey, CiaToken };\r\n return await axios.get(`${SignalRServerHost}/api/auth/GetAccessToken`, { params });\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["tplus-components-touch/components/socket/index.js"],"names":["signalR","Socket","host","path","connected","error","reconnect","token","connection","_init","on","stop","throttle","HubConnectionBuilder","withUrl","accessTokenFactory","configureLogging","LogLevel","Information","build","start","then","catch","_error","err","onclose","console","options","reInit","forEach","key","type","func","params","invoke","stoped","fn","gapTime","_lastTime","_nowTime","Date","localStore","get","orgId","loginInfo","SignalRServerHost","CiaToken","accountId","enterpriseUniqId","SignalRToken","PosId","storeID","appKey","CloudServerAppKey","axios"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * host 主机\r\n * path 地址\r\n * connected 连接成功后的回调\r\n * error 错误信息的回调\r\n * reconnect 触发重连的钩子\r\n * updateConfig 触发重连时候 需要在实例化时的reconnect钩子调用该方法,参数 options 为设置新的参数 reInit 为是否重新初始化连接\r\n * send 发送消息\r\n * on 监听推送消息\r\n * stop 停止连接\r\n *\r\n**/\r\nimport * as signalR from '@aspnet/signalr';\r\nimport axios from 'axios'; // cloud server消息推送接口单独使用 不走统一配置\r\nimport { localStore } from 'mutants-microfx';\r\n\r\nexport default class Socket {\r\n constructor({ host, path, connected, error, reconnect, token }) {\r\n this.host = host;\r\n this.path = path;\r\n this.token = token;\r\n this.connected = connected || (() => { });\r\n this.reconnect = reconnect || (() => { });\r\n this.error = error || (() => { });\r\n this.connection = this._init();\r\n this.on = this.on;\r\n this.stop = this.stop;\r\n this.throttle = this.throttle;\r\n }\r\n\r\n _init() {\r\n const connection = new signalR.HubConnectionBuilder()\r\n .withUrl(`${this.host}${this.path}`, {\r\n accessTokenFactory: () => this.token\r\n })\r\n .configureLogging(signalR.LogLevel.Information)\r\n .build();\r\n\r\n connection.start().then(() => this.connected(connection)).catch(err => this._error(err));\r\n connection.onclose(() => this.reconnect(connection));\r\n\r\n return connection;\r\n }\r\n\r\n _error(err) {\r\n console.error('signalR:', err);\r\n this.error(err);\r\n this.throttle(() => {\r\n this.reconnect(this.connection);\r\n }, 3000);\r\n }\r\n\r\n updateConfig(options, reInit) {\r\n if (options && typeof options === 'object') {\r\n Object.keys(options).forEach(key => this[key] = options[key]);\r\n }\r\n if (reInit) {\r\n this.stop(() => {\r\n this.connection = this._init();\r\n });\r\n } else {\r\n this.connection.start().then(() => this.connected(this.connection)).catch(err => this._error(err));\r\n }\r\n }\r\n\r\n on(type, func) {\r\n this.connection.on(type, (...argument) => func(...argument));\r\n }\r\n\r\n send(type, params = [], error) {\r\n this.connection.invoke(type, ...params).catch(err => error && error(err));\r\n }\r\n\r\n stop(func) {\r\n const stoped = () => {\r\n this.connection = null;\r\n func && func();\r\n }\r\n this.connection.stop().then(stoped).catch(stoped);\r\n }\r\n\r\n throttle(fn, gapTime) {\r\n let _lastTime = null;\r\n return function () {\r\n const _nowTime = +new Date();\r\n if (_nowTime - _lastTime > gapTime || !_lastTime) {\r\n fn();\r\n _lastTime = _nowTime;\r\n }\r\n }\r\n }\r\n\r\n static async socketAuth() {\r\n const { orgId, loginInfo = {} } = localStore.get('user') || {};\r\n const { SignalRServerHost, CiaToken, enterpriseUniqId: accountId, SignalRToken: token, PosId, storeID, CloudServerAppKey: appKey } = loginInfo;\r\n const params = { accountId, token, PosId, storeID, orgId, appKey, CiaToken };\r\n return await axios.get(`${SignalRServerHost}/api/auth/GetAccessToken`, { params });\r\n }\r\n}\r\n"]}