fastlion-amis
Version:
一种MIS页面生成工具
275 lines (274 loc) • 13.9 kB
JavaScript
"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