UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

124 lines (123 loc) 8.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var react_1 = tslib_1.__importStar(require("react")); var antd_1 = require("antd"); var icons_1 = require("@ant-design/icons"); var shell_1 = require("../../utils/shell"); var icons_2 = require("../icons"); var FingerPrint = function (_a) { var _b, _c, _d, _e; var userData = _a.userData, onDataChange = _a.onDataChange; var _f = (0, react_1.useState)('正在检查设备是否已连接……'), deviceTip = _f[0], setDeviceTip = _f[1]; var _g = (0, react_1.useState)(), fingerData = _g[0], setFingerData = _g[1]; (0, react_1.useEffect)(function () { if (shell_1.Shell.hasShell()) { shell_1.Shell.openFinger(1, function () { }, handleFingerCallback); } return function () { if (shell_1.Shell.hasShell()) { shell_1.Shell.closeFinger(); } }; }, []); (0, react_1.useEffect)(function () { onDataChange(fingerData); }, [fingerData]); var handleFingerCallback = function (res) { var _a; var code = res.code; if (code != undefined) { if (code == 0) { var data = res.data; if (data.isFinger === true) { setFingerData({ fingerprint: data.finger, fingertype: data.fingerType }); setDeviceTip('识别成功, 请移开手指'); } } else { if (code != -63 && code != 999) { setDeviceTip((_a = res.msg) !== null && _a !== void 0 ? _a : "code=".concat(code)); } } } else { var data = res.data; setDeviceTip(data.text); } }; return (react_1.default.createElement("div", { className: 'fingerprint-content' }, react_1.default.createElement("div", { className: 'fingerprint-content-header' }, react_1.default.createElement("span", { className: 'fingerprint-content-header-title' }, "\u6307\u7EB9\u5F55\u5165"), react_1.default.createElement("div", { className: 'fingerprint-content-header-tip' }, react_1.default.createElement(icons_1.InfoCircleFilled, { style: { color: '#3574ee', fontSize: 20 } }), "\u00A0\u00A0", react_1.default.createElement("span", null, "\u8BBE\u7F6E\u6307\u7EB9\u524D\uFF0C\u8BF7\u786E\u8BA4\u7528\u6237\u4FE1\u606F"))), react_1.default.createElement("div", { className: 'fingerprint-content-body' }, react_1.default.createElement("div", { className: 'fingerprint-content-body-left' }, react_1.default.createElement("div", { className: 'fingerprint-content-body-left-top' }, react_1.default.createElement(icons_2.Icon, { className: 'fingerprint-content-body-left-top-icon', icon: 'finger', color: '#3574ee', size: 100 }), react_1.default.createElement("span", { className: 'fingerprint-content-body-left-top-tip' }, deviceTip)), react_1.default.createElement("span", { className: 'fingerprint-content-body-left-bottom', style: { color: fingerData == undefined ? 'gray' : '#3574ee' } }, fingerData == undefined ? '等待识别' : '识别成功')), react_1.default.createElement("div", { className: 'fingerprint-content-body-right' }, react_1.default.createElement("div", { className: 'fingerprint-content-body-right-item' }, react_1.default.createElement("span", { className: 'label' }, "\u5DE5\u53F7"), react_1.default.createElement("div", { className: 'value' }, (_b = userData === null || userData === void 0 ? void 0 : userData.LOGINACCOUNT) !== null && _b !== void 0 ? _b : '')), react_1.default.createElement("div", { className: 'fingerprint-content-body-right-item' }, react_1.default.createElement("span", { className: 'label' }, "\u59D3\u540D"), react_1.default.createElement("div", { className: 'value' }, (_c = userData === null || userData === void 0 ? void 0 : userData.USERNAME) !== null && _c !== void 0 ? _c : '')), react_1.default.createElement("div", { className: 'fingerprint-content-body-right-item' }, react_1.default.createElement("span", { className: 'label' }, "\u90E8\u95E8"), react_1.default.createElement("div", { className: 'value' }, (_d = userData === null || userData === void 0 ? void 0 : userData.DEPARTMENT) !== null && _d !== void 0 ? _d : '')), react_1.default.createElement("div", { className: 'fingerprint-content-body-right-item' }, react_1.default.createElement("span", { className: 'label' }, "\u5C97\u4F4D"), react_1.default.createElement("div", { className: 'value' }, (_e = userData === null || userData === void 0 ? void 0 : userData.JOBNAME) !== null && _e !== void 0 ? _e : '')))))); }; var FingerPrintModal = function (props) { var visible = props.visible, userData = props.userData, env = props.env, onClose = props.onClose; var _a = (0, react_1.useState)(false), confirmLoading = _a[0], setConfirmLoading = _a[1]; var fingerData = (0, react_1.useRef)(); var handleOk = function () { return tslib_1.__awaiter(void 0, void 0, void 0, function () { var uuid, data, api, payload; var _a, _b; return tslib_1.__generator(this, function (_c) { switch (_c.label) { case 0: if (!fingerData.current) return [3 /*break*/, 2]; setConfirmLoading(true); uuid = (_b = (_a = window.deviceInfo) === null || _a === void 0 ? void 0 : _a.uuid) !== null && _b !== void 0 ? _b : ''; data = { userId: userData.USERID, uuid: uuid, fingerType: Number(fingerData.current.fingertype), fingerprint: fingerData.current.fingerprint }; api = { method: 'post', url: '/api/v1/finger/register', data: { userId: "${userId}", uuid: "${uuid}", fingerType: "${fingerType}", fingerprint: "${fingerprint}" } }; return [4 /*yield*/, env.fetcher(api, data).finally(function () { return setConfirmLoading(false); })]; case 1: payload = _c.sent(); if (payload.ok) { shell_1.Shell.addFinger(userData.userId, fingerData.current.fingerprint, Number(fingerData.current.fingertype)); antd_1.message.success(payload.msg); onClose(); } else { antd_1.message.error(payload.msg); } return [3 /*break*/, 3]; case 2: antd_1.message.warning('请先录入指纹'); _c.label = 3; case 3: return [2 /*return*/]; } }); }); }; return (react_1.default.createElement(antd_1.Modal, { width: 800, className: 'fingerprint-modal', visible: visible, destroyOnClose: true, closable: false, maskClosable: false, keyboard: false, confirmLoading: confirmLoading, bodyStyle: { padding: '18px 24px' }, onCancel: function () { return onClose(); }, onOk: function () { return handleOk(); }, okText: '\u786E\u5B9A', cancelText: '\u53D6\u6D88' }, react_1.default.createElement(FingerPrint, { userData: userData, onDataChange: function (data) { return fingerData.current = data; } }))); }; exports.default = FingerPrintModal; //# sourceMappingURL=./components/Lion/FingerprintModal.js.map