UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

275 lines (274 loc) 13.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.KeyStepCommonFunction = exports.epc_front_port = void 0; var tslib_1 = require("tslib"); var ExpressPrint_1 = require("../renderers/Lion/ExpressPrint/ExpressPrint"); var shell_1 = require("./shell"); var msgsub_1 = (0, tslib_1.__importDefault)(require("../renderers/Lion/utils/msgsub")); var antd_1 = require("antd"); var helper_1 = require("./helper"); var RfidUtil_1 = require("./RfidUtil"); var util_1 = require("./print/util"); var print_1 = require("./print"); // rfid keystep功能port enum var RFIDPortIdEnum; (function (RFIDPortIdEnum) { RFIDPortIdEnum["RFIDINSTOCK"] = "rfid-in-stock"; RFIDPortIdEnum["RFIDSOLD"] = "rfid-sold"; RFIDPortIdEnum["RFIDSCRAP"] = "rfid-scrap"; RFIDPortIdEnum["RFIDBEENDISPATCHED"] = "rfid-been-dispatched"; RFIDPortIdEnum["RFIDEPCOVERWRITE"] = "rfid-epc-overwrite"; RFIDPortIdEnum["RFIDEPCDESTORY"] = "rfid-epc-destory"; RFIDPortIdEnum["ACTRFID"] = "actRfid"; // 广播触发 })(RFIDPortIdEnum || (RFIDPortIdEnum = {})); // 专门处理epc用的 var epc_front_port = function (element, data, env) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () { var error, errorData, payload, body, bodyList, portId, statusMap, epcList, _a, res, failList, res, actionName; var _b, _c; var _d, _e, _f; return (0, tslib_1.__generator)(this, function (_g) { switch (_g.label) { case 0: error = false; errorData = ''; body = element.body; bodyList = body.bodyList // 获取需要设置的请求体 ; portId = body.portId // 获取需要设置的请求体 ; statusMap = (0, helper_1.isMobile)() ? (_b = {}, _b[RFIDPortIdEnum.RFIDINSTOCK] = 0x00, _b[RFIDPortIdEnum.RFIDSOLD] = 0x10, _b[RFIDPortIdEnum.RFIDBEENDISPATCHED] = 0x20, _b[RFIDPortIdEnum.RFIDSCRAP] = 0x30, _b) : (_c = {}, _c[RFIDPortIdEnum.RFIDINSTOCK] = '0', _c[RFIDPortIdEnum.RFIDSOLD] = '1', _c[RFIDPortIdEnum.RFIDBEENDISPATCHED] = '2', _c[RFIDPortIdEnum.RFIDSCRAP] = '3', _c) // pc端的比较简单 直接写入就行 ; epcList = bodyList === null || bodyList === void 0 ? void 0 : bodyList.filter(function (_) { return _.EPC; }).map(function (_) { return _.EPC; }); _a = portId; switch (_a) { case RFIDPortIdEnum.RFIDINSTOCK: return [3 /*break*/, 1]; case RFIDPortIdEnum.RFIDSOLD: return [3 /*break*/, 1]; case RFIDPortIdEnum.RFIDSCRAP: return [3 /*break*/, 1]; case RFIDPortIdEnum.RFIDBEENDISPATCHED: return [3 /*break*/, 1]; case RFIDPortIdEnum.RFIDEPCDESTORY: return [3 /*break*/, 5]; case RFIDPortIdEnum.ACTRFID: return [3 /*break*/, 9]; } return [3 /*break*/, 10]; case 1: if (!epcList.length) return [3 /*break*/, 3]; antd_1.message.loading('写入中'); return [4 /*yield*/, (0, RfidUtil_1.getModifyResult)(epcList, statusMap[portId])]; case 2: res = _g.sent(); antd_1.message.destroy(); console.log('结果', JSON.stringify(res)); failList = (_d = res === null || res === void 0 ? void 0 : res.data) === null || _d === void 0 ? void 0 : _d.failList; if (failList.length) { error = true; errorData = failList; // 调整下一次要处理的列表 body.bodyList = failList.map(function (_) { return ({ EPC: _ }); }); antd_1.message.warn("\u5199\u5165\u5931\u8D25epc\u7801," + failList.join(',')); } else { antd_1.message.success("\u5199\u5165\u6210\u529F"); } return [3 /*break*/, 4]; case 3: antd_1.message.warn('需要设置的EPC码为空'); _g.label = 4; case 4: return [3 /*break*/, 11]; case 5: if (!epcList.length) return [3 /*break*/, 7]; antd_1.message.loading('销毁中', 10 * 1000); return [4 /*yield*/, (0, RfidUtil_1.getDestoryResult)(epcList)]; case 6: res = _g.sent(); antd_1.message.destroy(); if (!((_e = res === null || res === void 0 ? void 0 : res.data.epcList) === null || _e === void 0 ? void 0 : _e.length)) { antd_1.message.success('销毁成功 '); } else { if ((_f = res === null || res === void 0 ? void 0 : res.data.epcList) === null || _f === void 0 ? void 0 : _f.length) { error = true; errorData = res === null || res === void 0 ? void 0 : res.data.epcList; antd_1.message.warn(res.data.epcList.join(',') + "\u672A\u9500\u6BC1"); } else { antd_1.message.warn("\u5199\u5165\u5931\u8D25"); } } console.log(JSON.stringify(res), '写入结果'); return [3 /*break*/, 8]; case 7: antd_1.message.warn('需要销毁的EPC码为空'); _g.label = 8; case 8: return [3 /*break*/, 11]; case 9: { actionName = body.actionName || 'actRfid'; RfidUtil_1.windowRFIDTriger.actEvent({ type: actionName }); return [3 /*break*/, 11]; } _g.label = 10; case 10: antd_1.message.warn('未指定的portId'); return [3 /*break*/, 11]; case 11: if (!body.afterApi) return [3 /*break*/, 13]; return [4 /*yield*/, env.fetcher(body.afterApi, data)]; case 12: payload = _g.sent(); _g.label = 13; case 13: return [2 /*return*/, { error: error, errorData: errorData, payload: payload, }]; } }); }); }; exports.epc_front_port = epc_front_port; // keyStep脚本函数 专门处理keyStep脚本,识别到有通用化的趋势,故此抽出 // 第一个是执行剩下的按钮用的 var KeyStepCommonFunction = function (scanAfterDo, data, env, props, errorHandle, reloadFun) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () { var _a, _b, _i, key, element, cmd, outFlag, payload // 返回集中存放 , errorData, _c, result, portBody, body, showMsg, showType, afterApi, confirm, varsBody, formData, printBody, baseUrl, labelTemplate, templateDatas; var _d, _e, _f; return (0, tslib_1.__generator)(this, function (_g) { switch (_g.label) { case 0: _a = []; for (_b in scanAfterDo) _a.push(_b); _i = 0; _g.label = 1; case 1: if (!(_i < _a.length)) return [3 /*break*/, 27]; key = _a[_i]; if (!Object.prototype.hasOwnProperty.call(scanAfterDo, key)) return [3 /*break*/, 26]; element = scanAfterDo[key]; cmd = element.cmd; outFlag = false // 中断标识 ; payload = void 0; errorData = undefined // 错误数据 用于判断 ; _c = cmd; switch (_c) { case "STEP_FRONT_PORT": return [3 /*break*/, 2]; case 'STEP_PORT': return [3 /*break*/, 4]; case 'STEP_SHOW': return [3 /*break*/, 8]; case 'STEP_VARS': return [3 /*break*/, 17]; case 'STEP_PRINT_LABEL': return [3 /*break*/, 21]; } return [3 /*break*/, 22]; case 2: return [4 /*yield*/, (0, exports.epc_front_port)(element, data, env)]; case 3: result = _g.sent(); outFlag = result.error; payload = result.payload; errorData = result.errorData; return [3 /*break*/, 23]; case 4: portBody = element.body; return [4 /*yield*/, (0, ExpressPrint_1.expressLabels)(portBody === null || portBody === void 0 ? void 0 : portBody.body, env.fetcher, props === null || props === void 0 ? void 0 : props.translate, (props === null || props === void 0 ? void 0 : props.showModal) === 1)]; case 5: _g.sent(); if (!portBody.afterApi) return [3 /*break*/, 7]; return [4 /*yield*/, env.fetcher(portBody.afterApi, data)]; case 6: payload = _g.sent(); _g.label = 7; case 7: return [3 /*break*/, 23]; case 8: body = element.body; showMsg = body.showMsg, showType = body.showType, afterApi = body.afterApi; if (showType == 10 || showType == 11 || showType == 12) { if ((0, helper_1.isMobile)() && shell_1.Shell.hasShell()) shell_1.Shell.readVoice(showMsg); } if (!(showType == 0 || showType == 10)) return [3 /*break*/, 11]; // 有更新方法执行更行 reloadFun === null || reloadFun === void 0 ? void 0 : reloadFun(); msgsub_1.default._info(showMsg); if (!afterApi) return [3 /*break*/, 10]; return [4 /*yield*/, env.fetcher(afterApi, data)]; case 9: payload = _g.sent(); _g.label = 10; case 10: return [3 /*break*/, 16]; case 11: if (!(showType == 1 || showType == 11)) return [3 /*break*/, 15]; return [4 /*yield*/, env.confirm(showMsg)]; case 12: confirm = _g.sent(); if (!(confirm && afterApi)) return [3 /*break*/, 14]; return [4 /*yield*/, env.fetcher(afterApi, data)]; case 13: payload = _g.sent(); _g.label = 14; case 14: return [3 /*break*/, 16]; case 15: if (showType == 2 || showType == 12) { env.confirm(showMsg, undefined, undefined, false); } _g.label = 16; case 16: return [3 /*break*/, 23]; case 17: varsBody = element.body; return [4 /*yield*/, env.prompt(varsBody.body, varsBody.data)]; case 18: formData = _g.sent(); if (!(formData !== false && varsBody.afterApi)) return [3 /*break*/, 20]; return [4 /*yield*/, env.fetcher(varsBody.afterApi, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, formData), data))]; case 19: payload = _g.sent(); _g.label = 20; case 20: return [3 /*break*/, 23]; case 21: printBody = element.body; baseUrl = (_f = (_e = (_d = env.axiosInstance) === null || _d === void 0 ? void 0 : _d.defaults) === null || _e === void 0 ? void 0 : _e.baseURL) !== null && _f !== void 0 ? _f : ''; labelTemplate = (0, util_1.buildLabelTemplate)(printBody.labelTemplate.tempContent); templateDatas = (0, util_1.setLabelTemplateData)(labelTemplate, printBody.labelData, baseUrl); (0, print_1.labelPrint)({ templateDatas: templateDatas, marginTop: 0, marginLeft: 0, pageWidth: printBody.labelTemplate.width || 210, pageHeight: printBody.labelTemplate.height || 297, direction: true, preview: false, printer: printBody.labelPrinter, count: 1 }); return [3 /*break*/, 23]; case 22: return [3 /*break*/, 23]; case 23: if (outFlag) { errorHandle === null || errorHandle === void 0 ? void 0 : errorHandle(scanAfterDo.slice(+key), data, env, errorData); return [2 /*return*/]; } if (!payload) return [3 /*break*/, 26]; if (!(payload.ok && payload.status == 20003)) return [3 /*break*/, 25]; return [4 /*yield*/, (0, exports.KeyStepCommonFunction)(payload.data.scanAfterDo, data, env, props, errorHandle, reloadFun)]; case 24: _g.sent(); return [3 /*break*/, 26]; case 25: payload.msg && msgsub_1.default._warning(payload.msg); _g.label = 26; case 26: _i++; return [3 /*break*/, 1]; case 27: return [2 /*return*/]; } }); }); }; exports.KeyStepCommonFunction = KeyStepCommonFunction; //# sourceMappingURL=./utils/keyStep.js.map