tplus-portaltouch 1.27.1 → 1.27.2
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/dist/api/ModifyPassApi.js +165 -0
- package/dist/api/ModifyPassApi.js.map +1 -0
- package/dist/components/dutyandsettle/dutysettlebill.js +897 -0
- package/dist/components/dutyandsettle/dutysettlebill.js.map +1 -0
- package/dist/components/dutyandsettle/dutysettlehistory.js +228 -0
- package/dist/components/dutyandsettle/dutysettlehistory.js.map +1 -0
- package/dist/components/dutyandsettle/index.js +25 -0
- package/dist/components/dutyandsettle/index.js.map +1 -0
- package/dist/components/dutyandsettle/tipContent.js +105 -0
- package/dist/components/dutyandsettle/tipContent.js.map +1 -0
- package/dist/components/header/customUse.js +79 -0
- package/dist/components/header/customUse.js.map +1 -0
- package/dist/components/header/headContent.js +439 -0
- package/dist/components/header/headContent.js.map +1 -0
- package/dist/components/header/index.js +102 -0
- package/dist/components/header/index.js.map +1 -0
- package/dist/components/header/style.less +331 -0
- package/dist/components/header/vertical-touch.js +273 -0
- package/dist/components/header/vertical-touch.js.map +1 -0
- package/dist/components/header/vertical-touch.less +213 -0
- package/dist/containers/Main/index.js +634 -0
- package/dist/containers/Main/index.js.map +1 -0
- package/dist/dutyService/index.js +277 -0
- package/dist/dutyService/index.js.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/middleWare/index.js +75 -0
- package/dist/middleWare/index.js.map +1 -0
- package/dist/modalRouter/StaticRouter.js +134 -0
- package/dist/modalRouter/StaticRouter.js.map +1 -0
- package/dist/modalRouter/index.js +144 -0
- package/dist/modalRouter/index.js.map +1 -0
- package/dist/pages/Modal/index.js +71 -0
- package/dist/pages/Modal/index.js.map +1 -0
- package/dist/pages/Modal/style.less +5 -0
- package/dist/pages/Portal/PortalPage.less +662 -0
- package/dist/pages/Portal/data.js +42 -0
- package/dist/pages/Portal/data.js.map +1 -0
- package/dist/pages/Portal/horizontalPadPortal.js +130 -0
- package/dist/pages/Portal/horizontalPadPortal.js.map +1 -0
- package/dist/pages/Portal/horizontalSunMiPortal.js +140 -0
- package/dist/pages/Portal/horizontalSunMiPortal.js.map +1 -0
- package/dist/pages/Portal/index.js +830 -0
- package/dist/pages/Portal/index.js.map +1 -0
- package/dist/pages/Portal/verticalPortal.js +136 -0
- package/dist/pages/Portal/verticalPortal.js.map +1 -0
- package/dist/pages/dutyandsettle/AuthProcess.js +42 -0
- package/dist/pages/dutyandsettle/AuthProcess.js.map +1 -0
- package/dist/pages/dutyandsettle/index.js +37 -0
- package/dist/pages/dutyandsettle/index.js.map +1 -0
- package/dist/pages/dutyandsettle/index.less +576 -0
- package/dist/pages/dutyandsettle/offDuty.js +608 -0
- package/dist/pages/dutyandsettle/offDuty.js.map +1 -0
- package/dist/pages/dutyandsettle/onDialy.js +196 -0
- package/dist/pages/dutyandsettle/onDialy.js.map +1 -0
- package/dist/pages/dutyandsettle/onDuty.js +256 -0
- package/dist/pages/dutyandsettle/onDuty.js.map +1 -0
- package/dist/pages/dutyandsettle/onUnDaily.js +149 -0
- package/dist/pages/dutyandsettle/onUnDaily.js.map +1 -0
- package/dist/pages/dutyandsettle/settleDialy.js +132 -0
- package/dist/pages/dutyandsettle/settleDialy.js.map +1 -0
- package/dist/pages/index.js +57 -0
- package/dist/pages/index.js.map +1 -0
- package/dist/pages/modifyPass/index.js +174 -0
- package/dist/pages/modifyPass/index.js.map +1 -0
- package/dist/pages/modifyPass/style.less +75 -0
- package/dist/pages/notFound/index.js +95 -0
- package/dist/pages/notFound/index.js.map +1 -0
- package/dist/pages/notFound/style.less +4 -0
- package/dist/stores/ModalRouter.js +182 -0
- package/dist/stores/ModalRouter.js.map +1 -0
- package/dist/stores/ModifyPassStore.js +205 -0
- package/dist/stores/ModifyPassStore.js.map +1 -0
- package/dist/stores/PortalStore.js +214 -0
- package/dist/stores/PortalStore.js.map +1 -0
- package/dist/stores/PosLoginStore.js +111 -0
- package/dist/stores/PosLoginStore.js.map +1 -0
- package/dist/stores/billHistoryStore.js +114 -0
- package/dist/stores/billHistoryStore.js.map +1 -0
- package/dist/stores/dutySettleStore.js +115 -0
- package/dist/stores/dutySettleStore.js.map +1 -0
- package/dist/stores/index.js +36 -0
- package/dist/stores/index.js.map +1 -0
- package/dist/utils/PrintProcess.js +112 -0
- package/dist/utils/PrintProcess.js.map +1 -0
- package/dist/utils/index.js +93 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/networkCheck.js +78 -0
- package/dist/utils/networkCheck.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var _Dropdown2 = require('tinper-bee/dist/Dropdown');
|
|
8
|
+
|
|
9
|
+
var _Dropdown3 = _interopRequireDefault(_Dropdown2);
|
|
10
|
+
|
|
11
|
+
var _Tooltip2 = require('tinper-bee/dist/Tooltip');
|
|
12
|
+
|
|
13
|
+
var _Tooltip3 = _interopRequireDefault(_Tooltip2);
|
|
14
|
+
|
|
15
|
+
var _extends2 = require('babel-runtime/helpers/extends');
|
|
16
|
+
|
|
17
|
+
var _extends3 = _interopRequireDefault(_extends2);
|
|
18
|
+
|
|
19
|
+
var _regenerator = require('babel-runtime/regenerator');
|
|
20
|
+
|
|
21
|
+
var _regenerator2 = _interopRequireDefault(_regenerator);
|
|
22
|
+
|
|
23
|
+
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
|
|
24
|
+
|
|
25
|
+
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
|
|
26
|
+
|
|
27
|
+
var _Menu3 = require('tinper-bee/dist/Menu');
|
|
28
|
+
|
|
29
|
+
var _Menu4 = _interopRequireDefault(_Menu3);
|
|
30
|
+
|
|
31
|
+
var _slicedToArray2 = require('babel-runtime/helpers/slicedToArray');
|
|
32
|
+
|
|
33
|
+
var _slicedToArray3 = _interopRequireDefault(_slicedToArray2);
|
|
34
|
+
|
|
35
|
+
exports.default = HeadContent;
|
|
36
|
+
|
|
37
|
+
require('tinper-bee/dist/Dropdown/index.css');
|
|
38
|
+
|
|
39
|
+
require('tinper-bee/dist/Tooltip/index.css');
|
|
40
|
+
|
|
41
|
+
require('tinper-bee/dist/Menu/index.css');
|
|
42
|
+
|
|
43
|
+
var _react = require('react');
|
|
44
|
+
|
|
45
|
+
var _react2 = _interopRequireDefault(_react);
|
|
46
|
+
|
|
47
|
+
var _tplusComponentsTouch = require('tplus-components-touch');
|
|
48
|
+
|
|
49
|
+
var _propTypes = require('prop-types');
|
|
50
|
+
|
|
51
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
52
|
+
|
|
53
|
+
var _utils = require('../../utils');
|
|
54
|
+
|
|
55
|
+
var _mutantsMicrofx = require('mutants-microfx');
|
|
56
|
+
|
|
57
|
+
var _tplusPoslogin = require('tplus-poslogin');
|
|
58
|
+
|
|
59
|
+
var _tplusApi = require('tplus-api');
|
|
60
|
+
|
|
61
|
+
var _verticalTouch = require('./vertical-touch');
|
|
62
|
+
|
|
63
|
+
var _mutantsUtil = require('mutants-util');
|
|
64
|
+
|
|
65
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
66
|
+
|
|
67
|
+
require('../../utils/networkCheck');
|
|
68
|
+
var Item = _Menu4.default.Item;
|
|
69
|
+
|
|
70
|
+
var defaultFromat = 'yyyy-MM-dd hh:mm:ss';
|
|
71
|
+
|
|
72
|
+
//头部时间
|
|
73
|
+
function HeadTime(props) {
|
|
74
|
+
var time = props.time,
|
|
75
|
+
dateFormat = props.dateFormat;
|
|
76
|
+
|
|
77
|
+
var unMount = false;
|
|
78
|
+
var timeStr = typeof time === 'number' ? (0, _utils.formatDate)(time, dateFormat) : time;
|
|
79
|
+
|
|
80
|
+
var _useState = (0, _react.useState)((0, _utils.formatDate)(Date.now(), dateFormat)),
|
|
81
|
+
_useState2 = (0, _slicedToArray3.default)(_useState, 2),
|
|
82
|
+
currentTime = _useState2[0],
|
|
83
|
+
setCurrentTime = _useState2[1];
|
|
84
|
+
|
|
85
|
+
var timeout = void 0;
|
|
86
|
+
function refreshDate() {
|
|
87
|
+
if (time) return;
|
|
88
|
+
!unMount && setCurrentTime((0, _utils.formatDate)(Date.now(), dateFormat));
|
|
89
|
+
// clearTimeout(timeout);
|
|
90
|
+
timeout = setTimeout(refreshDate, 1000);
|
|
91
|
+
}
|
|
92
|
+
(0, _react.useEffect)(function () {
|
|
93
|
+
refreshDate();
|
|
94
|
+
return function () {
|
|
95
|
+
unMount = true;
|
|
96
|
+
clearTimeout(timeout);
|
|
97
|
+
};
|
|
98
|
+
}, [currentTime]);
|
|
99
|
+
|
|
100
|
+
var _ref = currentTime.split(' ') || [],
|
|
101
|
+
_ref2 = (0, _slicedToArray3.default)(_ref, 2),
|
|
102
|
+
date_YMD = _ref2[0],
|
|
103
|
+
date_HMS = _ref2[1];
|
|
104
|
+
|
|
105
|
+
if (_mutantsUtil.platform.isVerticalTouch) return (0, _verticalTouch.verticalHeadTime)({ date_HMS: date_HMS });
|
|
106
|
+
return _react2.default.createElement(
|
|
107
|
+
'div',
|
|
108
|
+
{ className: 'time' },
|
|
109
|
+
timeStr ? _react2.default.createElement(
|
|
110
|
+
'div',
|
|
111
|
+
null,
|
|
112
|
+
timeStr
|
|
113
|
+
) : _react2.default.createElement(
|
|
114
|
+
'div',
|
|
115
|
+
null,
|
|
116
|
+
date_YMD,
|
|
117
|
+
_react2.default.createElement(
|
|
118
|
+
'span',
|
|
119
|
+
null,
|
|
120
|
+
date_HMS
|
|
121
|
+
)
|
|
122
|
+
)
|
|
123
|
+
);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
//头部联网状态
|
|
127
|
+
function OnLineStatus(props) {
|
|
128
|
+
var networkStatus = props.networkStatus;
|
|
129
|
+
|
|
130
|
+
var _useState3 = (0, _react.useState)((navigator || {}).onLine ? '联网' : '离线'),
|
|
131
|
+
_useState4 = (0, _slicedToArray3.default)(_useState3, 2),
|
|
132
|
+
networkState = _useState4[0],
|
|
133
|
+
setNetworkStatus = _useState4[1];
|
|
134
|
+
|
|
135
|
+
var checkNetwork = new CheckNetwork(function (status) {
|
|
136
|
+
var state = '联网';
|
|
137
|
+
switch (status) {
|
|
138
|
+
case "online":
|
|
139
|
+
state = '联网';
|
|
140
|
+
break;
|
|
141
|
+
case "offline":
|
|
142
|
+
state = '离线';
|
|
143
|
+
break;
|
|
144
|
+
case "weak":
|
|
145
|
+
state = '弱网';
|
|
146
|
+
break;
|
|
147
|
+
default:
|
|
148
|
+
state = '联网';
|
|
149
|
+
break;
|
|
150
|
+
}
|
|
151
|
+
setNetworkStatus(state);
|
|
152
|
+
});
|
|
153
|
+
(0, _react.useEffect)(function () {
|
|
154
|
+
return function () {
|
|
155
|
+
checkNetwork.destroy();
|
|
156
|
+
};
|
|
157
|
+
}, [networkState]);
|
|
158
|
+
|
|
159
|
+
var iconName = 'WiFi';
|
|
160
|
+
switch (networkState) {
|
|
161
|
+
case '联网':
|
|
162
|
+
iconName = 'WiFi';
|
|
163
|
+
break;
|
|
164
|
+
case '弱网':
|
|
165
|
+
iconName = 'ruowangluo';
|
|
166
|
+
break;
|
|
167
|
+
case '离线':
|
|
168
|
+
iconName = 'wuwangluo';
|
|
169
|
+
break;
|
|
170
|
+
default:
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
var lineIcon = _react2.default.createElement(_tplusComponentsTouch.Ticon, {
|
|
175
|
+
icon: iconName,
|
|
176
|
+
className: 'network-state-icon'
|
|
177
|
+
});
|
|
178
|
+
return _react2.default.createElement(
|
|
179
|
+
'div',
|
|
180
|
+
{ className: 'network-status' },
|
|
181
|
+
networkStatus || lineIcon
|
|
182
|
+
);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
var releaseDate = void 0,
|
|
186
|
+
releaseVersion = void 0;
|
|
187
|
+
try {
|
|
188
|
+
releaseDate = __RELEASESDATE__;
|
|
189
|
+
releaseVersion = __BUILDVERSION__;
|
|
190
|
+
} catch (error) {
|
|
191
|
+
releaseDate = '';
|
|
192
|
+
releaseVersion = '';
|
|
193
|
+
}
|
|
194
|
+
function HeadContent(props, context) {
|
|
195
|
+
var isElectron = (_mutantsMicrofx.env || {}).platform === 'electron';
|
|
196
|
+
var _props$businessName = props.businessName,
|
|
197
|
+
businessName = _props$businessName === undefined ? '' : _props$businessName,
|
|
198
|
+
_props$storeName = props.storeName,
|
|
199
|
+
storeName = _props$storeName === undefined ? '' : _props$storeName,
|
|
200
|
+
posCode = props.posCode,
|
|
201
|
+
logo = props.logo,
|
|
202
|
+
networkStatus = props.networkStatus,
|
|
203
|
+
_props$style = props.style,
|
|
204
|
+
style = _props$style === undefined ? {} : _props$style,
|
|
205
|
+
history = props.history,
|
|
206
|
+
_props$dateFormat = props.dateFormat,
|
|
207
|
+
dateFormat = _props$dateFormat === undefined ? defaultFromat : _props$dateFormat,
|
|
208
|
+
solt = props.solt,
|
|
209
|
+
time = props.time,
|
|
210
|
+
isPortal = props.isPortal,
|
|
211
|
+
isLogin = props.isLogin,
|
|
212
|
+
_props$menu = props.menu,
|
|
213
|
+
menu = _props$menu === undefined ? [] : _props$menu,
|
|
214
|
+
onClick = props.onClick,
|
|
215
|
+
location = props.location;
|
|
216
|
+
|
|
217
|
+
var menuProps = { onClick: onClick };
|
|
218
|
+
var menus = _react2.default.createElement(
|
|
219
|
+
_Menu4.default,
|
|
220
|
+
menuProps,
|
|
221
|
+
menu.map(function (item, i) {
|
|
222
|
+
return _react2.default.createElement(
|
|
223
|
+
Item,
|
|
224
|
+
{ key: item.key || i },
|
|
225
|
+
item.icon && _react2.default.createElement(_tplusComponentsTouch.Ticon, { icon: item.icon }),
|
|
226
|
+
_react2.default.createElement(
|
|
227
|
+
'span',
|
|
228
|
+
null,
|
|
229
|
+
item.title
|
|
230
|
+
)
|
|
231
|
+
);
|
|
232
|
+
})
|
|
233
|
+
);
|
|
234
|
+
|
|
235
|
+
var controlConfig = [{ type: 'suoxiao', event: 'min' }, {
|
|
236
|
+
type: 'guanbixiao',
|
|
237
|
+
event: 'close',
|
|
238
|
+
beforeEvent: function beforeEvent(item) {
|
|
239
|
+
return _tplusComponentsTouch.ModalWraper.confirm({
|
|
240
|
+
className: 'tplus-confirm-modal',
|
|
241
|
+
title: '关闭提示',
|
|
242
|
+
content: '您确定要关闭应用吗?',
|
|
243
|
+
onOk: function onOk() {
|
|
244
|
+
var _this = this;
|
|
245
|
+
|
|
246
|
+
return (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {
|
|
247
|
+
return _regenerator2.default.wrap(function _callee$(_context) {
|
|
248
|
+
while (1) {
|
|
249
|
+
switch (_context.prev = _context.next) {
|
|
250
|
+
case 0:
|
|
251
|
+
_tplusComponentsTouch.Loading.show({
|
|
252
|
+
className: 'close-app-loading',
|
|
253
|
+
node: _react2.default.createElement(
|
|
254
|
+
'div',
|
|
255
|
+
{ className: 'close-app-spin' },
|
|
256
|
+
_react2.default.createElement(_tplusComponentsTouch.Spin, { scale: 1.2, type: 'shape', visible: true }),
|
|
257
|
+
_react2.default.createElement(
|
|
258
|
+
'h1',
|
|
259
|
+
null,
|
|
260
|
+
'\u5E94\u7528\u5173\u95ED\u4E2D...'
|
|
261
|
+
)
|
|
262
|
+
),
|
|
263
|
+
delay: false
|
|
264
|
+
});
|
|
265
|
+
context.actionHook.actionChange('close-app');
|
|
266
|
+
_context.prev = 2;
|
|
267
|
+
_context.next = 5;
|
|
268
|
+
return _tplusApi.User.logout(function () {
|
|
269
|
+
setTimeout(function () {
|
|
270
|
+
_mutantsMicrofx.nativeMs.doWindow(item.event);
|
|
271
|
+
}, 500); // 需要为500ms 时间短可能会不能正常注销清理
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
case 5:
|
|
275
|
+
_context.next = 12;
|
|
276
|
+
break;
|
|
277
|
+
|
|
278
|
+
case 7:
|
|
279
|
+
_context.prev = 7;
|
|
280
|
+
_context.t0 = _context['catch'](2);
|
|
281
|
+
|
|
282
|
+
_tplusApi.User.clear();
|
|
283
|
+
_mutantsMicrofx.localStore.remove('user');
|
|
284
|
+
setTimeout(function () {
|
|
285
|
+
_mutantsMicrofx.nativeMs.doWindow(item.event);
|
|
286
|
+
}, 500);
|
|
287
|
+
|
|
288
|
+
case 12:
|
|
289
|
+
case 'end':
|
|
290
|
+
return _context.stop();
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}, _callee, _this, [[2, 7]]);
|
|
294
|
+
}))();
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
}];
|
|
299
|
+
|
|
300
|
+
var splitUser = function splitUser(value) {
|
|
301
|
+
var regEmail = new RegExp('^[A-Za-zd0-9]+([-_.][A-Za-zd0-9]+)*@([A-Za-zd0-9]+[-.])+[A-Za-zd]{2,5}$');
|
|
302
|
+
var isEmail = regEmail.test(value);
|
|
303
|
+
|
|
304
|
+
if (isEmail) {
|
|
305
|
+
return value.split('@')[0];
|
|
306
|
+
}
|
|
307
|
+
return value;
|
|
308
|
+
};
|
|
309
|
+
|
|
310
|
+
var setInventoryFocus = function setInventoryFocus() {
|
|
311
|
+
var _ref3 = _mutantsUtil.platform || {},
|
|
312
|
+
isHorizontalPad = _ref3.isHorizontalPad;
|
|
313
|
+
|
|
314
|
+
if (!!isHorizontalPad) return;
|
|
315
|
+
var doms = document.getElementsByClassName('app hot-key-focus-container');
|
|
316
|
+
var input = document.getElementById('productPoint');
|
|
317
|
+
if (input) setTimeout(function () {
|
|
318
|
+
if (doms && doms.length > 0) {
|
|
319
|
+
input.focus();
|
|
320
|
+
}
|
|
321
|
+
}, 300);
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
var userName = (0, _tplusPoslogin.PosInitData)('UserName');
|
|
325
|
+
var overlayClassName = '_portal-header-dropdown ' + (!isPortal ? 'inside-header' : '');
|
|
326
|
+
var moreInfoNode = _react2.default.createElement(
|
|
327
|
+
'div',
|
|
328
|
+
{ className: 'pos-more-info-container' },
|
|
329
|
+
_react2.default.createElement(
|
|
330
|
+
'h1',
|
|
331
|
+
{ className: 'business-name' },
|
|
332
|
+
businessName
|
|
333
|
+
),
|
|
334
|
+
_react2.default.createElement(
|
|
335
|
+
'h1',
|
|
336
|
+
{ className: 'store-code' },
|
|
337
|
+
posCode
|
|
338
|
+
)
|
|
339
|
+
);
|
|
340
|
+
|
|
341
|
+
var headControlNode = _react2.default.createElement(
|
|
342
|
+
'div',
|
|
343
|
+
{ className: 'head-content-control' },
|
|
344
|
+
controlConfig.map(function (v) {
|
|
345
|
+
return _react2.default.createElement(_tplusComponentsTouch.Ticon, {
|
|
346
|
+
type: v.type,
|
|
347
|
+
key: v.type,
|
|
348
|
+
onClick: function onClick() {
|
|
349
|
+
if (_mutantsMicrofx.nativeMs) {
|
|
350
|
+
var beforeEvent = v.beforeEvent;
|
|
351
|
+
|
|
352
|
+
if (beforeEvent) {
|
|
353
|
+
return beforeEvent(v);
|
|
354
|
+
}
|
|
355
|
+
_mutantsMicrofx.nativeMs.doWindow(v.event);
|
|
356
|
+
if (typeof setInventoryFocus == 'function') {
|
|
357
|
+
setInventoryFocus();
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
})
|
|
363
|
+
);
|
|
364
|
+
|
|
365
|
+
if (_mutantsUtil.platform.isVerticalTouch) {
|
|
366
|
+
return (0, _verticalTouch.verticalHeadContent)({ style: style, releaseVersion: releaseVersion, releaseDate: releaseDate, time: time, dateFormat: dateFormat, logo: logo, HeadTime: HeadTime, headControlNode: headControlNode, location: location, history: history });
|
|
367
|
+
}
|
|
368
|
+
return _react2.default.createElement(
|
|
369
|
+
'div',
|
|
370
|
+
{ style: (0, _extends3.default)({ display: 'inline-block', width: '100%', height: '100%' }, style), className: 'head-content', 'data-release': releaseVersion + ' ' + releaseDate },
|
|
371
|
+
_react2.default.createElement(
|
|
372
|
+
'div',
|
|
373
|
+
{ className: 'head-content-left' },
|
|
374
|
+
!!logo && _react2.default.createElement(
|
|
375
|
+
'div',
|
|
376
|
+
{ className: 'business-logo', onClick: function onClick() {
|
|
377
|
+
history.replace('/');
|
|
378
|
+
} },
|
|
379
|
+
logo
|
|
380
|
+
),
|
|
381
|
+
!!storeName && _react2.default.createElement(
|
|
382
|
+
_Tooltip3.default,
|
|
383
|
+
{ trigger: 'click', rootClose: true, placement: 'bottomRight', overlay: moreInfoNode, className: 'head-business-tip' },
|
|
384
|
+
_react2.default.createElement(
|
|
385
|
+
'div',
|
|
386
|
+
{ className: 'store-name' },
|
|
387
|
+
storeName,
|
|
388
|
+
_react2.default.createElement('i', { className: 'header-triangle-down' })
|
|
389
|
+
)
|
|
390
|
+
),
|
|
391
|
+
_react2.default.createElement(OnLineStatus, { OnLineStatus: networkStatus })
|
|
392
|
+
),
|
|
393
|
+
isElectron && headControlNode,
|
|
394
|
+
_react2.default.createElement(
|
|
395
|
+
'div',
|
|
396
|
+
{ className: 'head-content-right' },
|
|
397
|
+
!isLogin && !!userName && _react2.default.createElement(
|
|
398
|
+
_Dropdown3.default,
|
|
399
|
+
{
|
|
400
|
+
overlayClassName: overlayClassName,
|
|
401
|
+
trigger: ['click'],
|
|
402
|
+
overlay: menus,
|
|
403
|
+
animation: 'slide-up',
|
|
404
|
+
placement: 'bottomRight'
|
|
405
|
+
},
|
|
406
|
+
_react2.default.createElement(
|
|
407
|
+
'div',
|
|
408
|
+
{ className: 'header-info-render-content' },
|
|
409
|
+
_react2.default.createElement(
|
|
410
|
+
'div',
|
|
411
|
+
{ className: 'store-info-item' },
|
|
412
|
+
_react2.default.createElement(
|
|
413
|
+
'p',
|
|
414
|
+
{ className: 'biller' },
|
|
415
|
+
'\u5F00\u5355\u5458:',
|
|
416
|
+
_react2.default.createElement(
|
|
417
|
+
'span',
|
|
418
|
+
null,
|
|
419
|
+
splitUser(userName)
|
|
420
|
+
)
|
|
421
|
+
)
|
|
422
|
+
),
|
|
423
|
+
_react2.default.createElement('i', { className: 'header-triangle-down' })
|
|
424
|
+
)
|
|
425
|
+
),
|
|
426
|
+
!isLogin && _react2.default.createElement(
|
|
427
|
+
'div',
|
|
428
|
+
{ className: 'store-info-item' },
|
|
429
|
+
solt
|
|
430
|
+
),
|
|
431
|
+
_react2.default.createElement(HeadTime, { time: time, dateFormat: dateFormat })
|
|
432
|
+
)
|
|
433
|
+
);
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
HeadContent.contextTypes = {
|
|
437
|
+
actionHook: _propTypes2.default.object
|
|
438
|
+
};
|
|
439
|
+
//# sourceMappingURL=headContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["tplus-portaltouch/components/header/headContent.js"],"names":["HeadContent","require","Item","defaultFromat","HeadTime","props","time","dateFormat","unMount","timeStr","Date","now","currentTime","setCurrentTime","timeout","refreshDate","setTimeout","clearTimeout","split","date_YMD","date_HMS","platform","isVerticalTouch","OnLineStatus","networkStatus","navigator","onLine","networkState","setNetworkStatus","checkNetwork","CheckNetwork","status","state","destroy","iconName","lineIcon","releaseDate","releaseVersion","__RELEASESDATE__","__BUILDVERSION__","error","context","isElectron","env","businessName","storeName","posCode","logo","style","history","solt","isPortal","isLogin","menu","onClick","location","menuProps","menus","map","item","i","key","icon","title","controlConfig","type","event","beforeEvent","ModalWraper","confirm","className","content","onOk","Loading","show","node","delay","actionHook","actionChange","User","logout","nativeMs","doWindow","clear","localStore","remove","splitUser","value","regEmail","RegExp","isEmail","test","setInventoryFocus","isHorizontalPad","doms","document","getElementsByClassName","input","getElementById","length","focus","userName","overlayClassName","moreInfoNode","headControlNode","v","display","width","height","replace","contextTypes","PropTypes","object"],"mappings":"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","file":"headContent.js","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {Ticon, ModalWraper, Loading, Spin} from 'tplus-components-touch';\nimport {Dropdown, Menu, Tooltip} from 'tinper-bee';\nimport PropTypes from 'prop-types'\nimport {formatDate} from '../../utils';\nimport {history, env, nativeMs} from 'mutants-microfx';\nimport {PosInitData} from 'tplus-poslogin';\nimport {User} from 'tplus-api';\nimport {stores, localStore} from 'mutants-microfx';\nimport { verticalHeadTime, verticalHeadContent } from './vertical-touch';\nimport { platform } from 'mutants-util';\nrequire('../../utils/networkCheck');\nconst {Item} = Menu;\nconst defaultFromat = 'yyyy-MM-dd hh:mm:ss';\n\n//头部时间\nfunction HeadTime(props) {\n const { time, dateFormat } = props;\n let unMount = false;\n const timeStr = typeof time === 'number' ? formatDate(time, dateFormat) : time;\n const [currentTime, setCurrentTime] = useState(formatDate(Date.now(), dateFormat));\n let timeout;\n function refreshDate() {\n if (time) return;\n !unMount && setCurrentTime(formatDate(Date.now(), dateFormat));\n // clearTimeout(timeout);\n timeout = setTimeout(refreshDate, 1000);\n }\n useEffect(() => {\n refreshDate();\n return () => {\n unMount = true;\n clearTimeout(timeout);\n };\n }, [currentTime]);\n const [date_YMD, date_HMS] = currentTime.split(' ') || [];\n\n if (platform.isVerticalTouch) return verticalHeadTime({ date_HMS });\n return (\n <div className='time'>\n {timeStr ?\n <div>{timeStr}</div> :\n <div>\n {date_YMD}\n <span>{date_HMS}</span>\n </div>\n }\n </div>\n );\n}\n\n//头部联网状态\nfunction OnLineStatus(props) {\n const { networkStatus } = props;\n const [networkState, setNetworkStatus] = useState((navigator || {}).onLine ? '联网' : '离线');\n const checkNetwork = new CheckNetwork(function (status) {\n let state = '联网';\n switch (status) {\n case \"online\" :\n state = '联网'\n break;\n case \"offline\" :\n state = '离线'\n break;\n case \"weak\" :\n state = '弱网'\n break;\n default:\n state = '联网'\n break;\n }\n setNetworkStatus(state);\n });\n useEffect(() => {\n return () => {\n checkNetwork.destroy();\n };\n }, [networkState]);\n\n let iconName = 'WiFi';\n switch (networkState) {\n case '联网':\n iconName = 'WiFi';\n break;\n case '弱网':\n iconName = 'ruowangluo';\n break;\n case '离线':\n iconName = 'wuwangluo';\n break;\n default:\n break;\n }\n \n const lineIcon = <Ticon\n icon={iconName}\n className=\"network-state-icon\"\n />\n return (\n <div className='network-status'>{networkStatus || lineIcon}</div>\n );\n}\n\nlet releaseDate, releaseVersion;\ntry {\n releaseDate = __RELEASESDATE__;\n releaseVersion = __BUILDVERSION__;\n} catch (error) {\n releaseDate = '';\n releaseVersion = '';\n}\nexport default function HeadContent(props, context) {\n const isElectron = (env || {}).platform === 'electron';\n const {businessName = '', storeName = '', posCode, logo, networkStatus, style = {}, history,\n dateFormat = defaultFromat, solt, time, isPortal, isLogin, menu = [], onClick, location} = props;\n const menuProps = {onClick};\n const menus = (\n <Menu {...menuProps}>\n {menu.map((item, i) =>\n <Item key={item.key || i}>\n {item.icon && <Ticon icon={item.icon}/>}\n <span>{item.title}</span>\n </Item>)\n }\n </Menu>\n );\n\n const controlConfig = [\n {type: 'suoxiao', event: 'min'},\n {\n type: 'guanbixiao',\n event: 'close',\n beforeEvent: (item) => {\n return ModalWraper.confirm({\n className: 'tplus-confirm-modal',\n title: '关闭提示',\n content: '您确定要关闭应用吗?',\n async onOk() {\n Loading.show({\n className: 'close-app-loading',\n node: <div className='close-app-spin'>\n <Spin scale={1.2} type='shape' visible/>\n <h1>应用关闭中...</h1>\n </div>,\n delay: false\n });\n context.actionHook.actionChange('close-app');\n try {\n await User.logout(() => {\n setTimeout(() => {\n nativeMs.doWindow(item.event);\n }, 500); // 需要为500ms 时间短可能会不能正常注销清理\n });\n } catch (err) {\n User.clear();\n localStore.remove('user');\n setTimeout(() => {\n nativeMs.doWindow(item.event);\n }, 500);\n }\n }\n });\n }\n },\n ];\n\n const splitUser = (value) => {\n const regEmail = new RegExp('^[A-Za-zd0-9]+([-_.][A-Za-zd0-9]+)*@([A-Za-zd0-9]+[-.])+[A-Za-zd]{2,5}$');\n const isEmail = regEmail.test(value);\n\n if (isEmail) {\n return value.split('@')[0];\n }\n return value;\n }\n\n const setInventoryFocus = () => {\n const { isHorizontalPad } = platform || {};\n if (!!isHorizontalPad) return;\n let doms = document.getElementsByClassName('app hot-key-focus-container');\n let input = document.getElementById('productPoint');\n if (input) setTimeout(() => { if (doms && doms.length > 0) { input.focus() } }, 300)\n }\n\n const userName = PosInitData('UserName');\n const overlayClassName = `_portal-header-dropdown ${!isPortal ? 'inside-header' : ''}`;\n const moreInfoNode = <div className='pos-more-info-container'>\n <h1 className='business-name'>{businessName}</h1>\n <h1 className='store-code'>{posCode}</h1>\n </div>\n\n const headControlNode = <div className=\"head-content-control\">\n {controlConfig.map(v => <Ticon\n type={v.type}\n key={v.type}\n onClick={() => {\n if (nativeMs) {\n const {beforeEvent} = v;\n if (beforeEvent) {\n return beforeEvent(v);\n }\n nativeMs.doWindow(v.event)\n if (typeof setInventoryFocus == 'function') {\n setInventoryFocus()\n } \n }\n }}\n />)}\n </div>\n\n if (platform.isVerticalTouch) {\n return verticalHeadContent({ style, releaseVersion, releaseDate, time, dateFormat, logo, HeadTime, headControlNode, location, history });\n }\n return (<div style={{display: 'inline-block', width: '100%', height: '100%', ...style}} className='head-content' data-release={`${releaseVersion} ${releaseDate}`}>\n <div className=\"head-content-left\">\n {!!logo && <div className='business-logo' onClick={()=>{history.replace('/')}}>{logo}</div>}\n {!!storeName && <Tooltip trigger=\"click\" rootClose placement=\"bottomRight\" overlay={moreInfoNode} className='head-business-tip'>\n <div className='store-name'>{storeName}<i className='header-triangle-down' /></div>\n </Tooltip>}\n <OnLineStatus OnLineStatus={networkStatus}/>\n </div>\n {isElectron && headControlNode}\n <div className=\"head-content-right\">\n {!isLogin && !!userName && <Dropdown\n overlayClassName={overlayClassName}\n trigger={['click']}\n overlay={menus}\n animation=\"slide-up\"\n placement=\"bottomRight\"\n >\n <div className='header-info-render-content'>\n <div className='store-info-item'>\n <p className='biller'>开单员:<span>{splitUser(userName)}</span></p>\n </div>\n <i className='header-triangle-down'/>\n </div>\n </Dropdown>}\n {!isLogin && <div className='store-info-item'>{solt}</div>}\n <HeadTime time={time} dateFormat={dateFormat}/>\n </div>\n </div>);\n}\n\nHeadContent.contextTypes = {\n actionHook: PropTypes.object,\n}\n"]}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = Head;
|
|
7
|
+
|
|
8
|
+
var _react = require('react');
|
|
9
|
+
|
|
10
|
+
var _react2 = _interopRequireDefault(_react);
|
|
11
|
+
|
|
12
|
+
var _propTypes = require('prop-types');
|
|
13
|
+
|
|
14
|
+
var _propTypes2 = _interopRequireDefault(_propTypes);
|
|
15
|
+
|
|
16
|
+
var _tplusComponentsTouch = require('tplus-components-touch');
|
|
17
|
+
|
|
18
|
+
var _headContent = require('./headContent');
|
|
19
|
+
|
|
20
|
+
var _headContent2 = _interopRequireDefault(_headContent);
|
|
21
|
+
|
|
22
|
+
var _utils = require('../../utils');
|
|
23
|
+
|
|
24
|
+
require('./style.less');
|
|
25
|
+
|
|
26
|
+
require('./vertical-touch.less');
|
|
27
|
+
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
|
|
30
|
+
var Header = _tplusComponentsTouch.Layout.Header; /**
|
|
31
|
+
* Created by hzy on 2019/3/25.
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* @style style
|
|
35
|
+
* @logo 商户LOGO
|
|
36
|
+
* @businessName 商户名
|
|
37
|
+
* @storeName 门店名
|
|
38
|
+
* @posCode pos机号
|
|
39
|
+
* @networkStatus 网络状态
|
|
40
|
+
* @time 时间(时间戳or字符串)
|
|
41
|
+
* @dateFormat 格式化时间 'yyyy-MM-dd hh:mm:ss.S'
|
|
42
|
+
* @solt render插槽内容
|
|
43
|
+
* @infoRender 外层Main容器context上的infoRender方法,传入参数为要渲染的react node内容 // this.context.infoRender(node)
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
function Head(props) {
|
|
47
|
+
var businessName = props.businessName,
|
|
48
|
+
storeName = props.storeName,
|
|
49
|
+
networkStatus = props.networkStatus,
|
|
50
|
+
time = props.time,
|
|
51
|
+
dateFormat = props.dateFormat,
|
|
52
|
+
_props$style = props.style,
|
|
53
|
+
style = _props$style === undefined ? {} : _props$style,
|
|
54
|
+
solt = props.solt,
|
|
55
|
+
logo = props.logo,
|
|
56
|
+
_props$className = props.className,
|
|
57
|
+
className = _props$className === undefined ? '' : _props$className,
|
|
58
|
+
isPortal = props.isPortal,
|
|
59
|
+
isLogin = props.isLogin,
|
|
60
|
+
menu = props.menu,
|
|
61
|
+
onClick = props.onClick,
|
|
62
|
+
posCode = props.posCode,
|
|
63
|
+
location = props.location,
|
|
64
|
+
history = props.history;
|
|
65
|
+
|
|
66
|
+
var classes = (0, _utils.generatorClass)('pos-header', className);
|
|
67
|
+
return _react2.default.createElement(
|
|
68
|
+
Header,
|
|
69
|
+
{ className: classes },
|
|
70
|
+
_react2.default.createElement(_headContent2.default, {
|
|
71
|
+
logo: logo,
|
|
72
|
+
businessName: businessName,
|
|
73
|
+
storeName: storeName,
|
|
74
|
+
networkStatus: networkStatus,
|
|
75
|
+
time: time,
|
|
76
|
+
posCode: posCode,
|
|
77
|
+
dateFormat: dateFormat,
|
|
78
|
+
style: style,
|
|
79
|
+
solt: solt,
|
|
80
|
+
menu: menu,
|
|
81
|
+
onClick: onClick,
|
|
82
|
+
isPortal: isPortal,
|
|
83
|
+
isLogin: isLogin,
|
|
84
|
+
location: location,
|
|
85
|
+
history: history
|
|
86
|
+
})
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
Head.propTypes = {
|
|
91
|
+
style: _propTypes2.default.object,
|
|
92
|
+
className: _propTypes2.default.string,
|
|
93
|
+
businessName: _propTypes2.default.string,
|
|
94
|
+
storeName: _propTypes2.default.string,
|
|
95
|
+
networkStatus: _propTypes2.default.string,
|
|
96
|
+
time: (0, _propTypes.oneOfType)([_propTypes2.default.string, _propTypes2.default.number]),
|
|
97
|
+
dateFormat: _propTypes2.default.string,
|
|
98
|
+
logo: _propTypes2.default.node,
|
|
99
|
+
menu: _propTypes2.default.array,
|
|
100
|
+
onSelect: _propTypes2.default.func
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["tplus-portaltouch/components/header/index.js"],"names":["Head","Header","Layout","props","businessName","storeName","networkStatus","time","dateFormat","style","solt","logo","className","isPortal","isLogin","menu","onClick","posCode","location","history","classes","propTypes","PropTypes","object","string","number","node","array","onSelect","func"],"mappings":";;;;;kBAyBwBA,I;;AAVxB;;;;AACA;;;;AACA;;AACA;;;;AACA;;AACA;;AACA;;;;IAEOC,M,GAAUC,4B,CAAVD,M,EAvBP;;;AAGA;;;;;;;;;;;;;AAsBe,SAASD,IAAT,CAAcG,KAAd,EAAqB;AAAA,MAC3BC,YAD2B,GAEgCD,KAFhC,CAC3BC,YAD2B;AAAA,MACbC,SADa,GAEgCF,KAFhC,CACbE,SADa;AAAA,MACFC,aADE,GAEgCH,KAFhC,CACFG,aADE;AAAA,MACaC,IADb,GAEgCJ,KAFhC,CACaI,IADb;AAAA,MACmBC,UADnB,GAEgCL,KAFhC,CACmBK,UADnB;AAAA,qBAEgCL,KAFhC,CAC+BM,KAD/B;AAAA,MAC+BA,KAD/B,gCACuC,EADvC;AAAA,MAC2CC,IAD3C,GAEgCP,KAFhC,CAC2CO,IAD3C;AAAA,MACiDC,IADjD,GAEgCR,KAFhC,CACiDQ,IADjD;AAAA,yBAEgCR,KAFhC,CACuDS,SADvD;AAAA,MACuDA,SADvD,oCACmE,EADnE;AAAA,MAEhCC,QAFgC,GAEgCV,KAFhC,CAEhCU,QAFgC;AAAA,MAEtBC,OAFsB,GAEgCX,KAFhC,CAEtBW,OAFsB;AAAA,MAEbC,IAFa,GAEgCZ,KAFhC,CAEbY,IAFa;AAAA,MAEPC,OAFO,GAEgCb,KAFhC,CAEPa,OAFO;AAAA,MAEEC,OAFF,GAEgCd,KAFhC,CAEEc,OAFF;AAAA,MAEWC,QAFX,GAEgCf,KAFhC,CAEWe,QAFX;AAAA,MAEqBC,OAFrB,GAEgChB,KAFhC,CAEqBgB,OAFrB;;AAGlC,MAAMC,UAAU,2BAAe,YAAf,EAA6BR,SAA7B,CAAhB;AACA,SAAQ;AAAC,UAAD;AAAA,MAAQ,WAAWQ,OAAnB;AACN,kCAAC,qBAAD;AACE,YAAMT,IADR;AAEE,oBAAcP,YAFhB;AAGE,iBAAWC,SAHb;AAIE,qBAAeC,aAJjB;AAKE,YAAMC,IALR;AAME,eAASU,OANX;AAOE,kBAAYT,UAPd;AAQE,aAAOC,KART;AASE,YAAMC,IATR;AAUE,YAAMK,IAVR;AAWE,eAASC,OAXX;AAYE,gBAAUH,QAZZ;AAaE,eAASC,OAbX;AAcE,gBAAUI,QAdZ;AAeE,eAASC;AAfX;AADM,GAAR;AAmBD;;AAEDnB,KAAKqB,SAAL,GAAiB;AACfZ,SAAOa,oBAAUC,MADF;AAEfX,aAAWU,oBAAUE,MAFN;AAGfpB,gBAAckB,oBAAUE,MAHT;AAIfnB,aAAWiB,oBAAUE,MAJN;AAKflB,iBAAegB,oBAAUE,MALV;AAMfjB,QAAM,0BAAU,CACde,oBAAUE,MADI,EAEdF,oBAAUG,MAFI,CAAV,CANS;AAUfjB,cAAYc,oBAAUE,MAVP;AAWfb,QAAMW,oBAAUI,IAXD;AAYfX,QAAMO,oBAAUK,KAZD;AAafC,YAAUN,oBAAUO;AAbL,CAAjB","file":"index.js","sourcesContent":["/**\n * Created by hzy on 2019/3/25.\n */\n/**\n * @style style\n * @logo 商户LOGO\n * @businessName 商户名\n * @storeName 门店名\n * @posCode pos机号\n * @networkStatus 网络状态\n * @time 时间(时间戳or字符串)\n * @dateFormat 格式化时间 'yyyy-MM-dd hh:mm:ss.S'\n * @solt render插槽内容\n * @infoRender 外层Main容器context上的infoRender方法,传入参数为要渲染的react node内容 // this.context.infoRender(node)\n */\nimport React from 'react';\nimport PropTypes, {oneOfType} from 'prop-types';\nimport {Layout} from 'tplus-components-touch';\nimport HeadContent from './headContent';\nimport {generatorClass} from '../../utils';\nimport './style.less';\nimport './vertical-touch.less';\n\nconst {Header} = Layout;\n\nexport default function Head(props) {\n const {businessName, storeName, networkStatus, time, dateFormat, style = {}, solt, logo, className = '',\n isPortal, isLogin, menu, onClick, posCode, location, history} = props;\n const classes = generatorClass('pos-header', className);\n return (<Header className={classes}>\n <HeadContent\n logo={logo}\n businessName={businessName}\n storeName={storeName}\n networkStatus={networkStatus}\n time={time}\n posCode={posCode}\n dateFormat={dateFormat}\n style={style}\n solt={solt}\n menu={menu}\n onClick={onClick}\n isPortal={isPortal}\n isLogin={isLogin}\n location={location}\n history={history}\n />\n </Header>);\n}\n\nHead.propTypes = {\n style: PropTypes.object,\n className: PropTypes.string,\n businessName: PropTypes.string,\n storeName: PropTypes.string,\n networkStatus: PropTypes.string,\n time: oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n dateFormat: PropTypes.string,\n logo: PropTypes.node,\n menu: PropTypes.array,\n onSelect: PropTypes.func,\n};\n"]}
|