UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

133 lines (132 loc) 9.37 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 helper_1 = require("../../../../../utils/helper"); var lodash_1 = require("lodash"); var utils_1 = require("../utils/utils"); var FlowCountersign_1 = (0, tslib_1.__importDefault)(require("../FlowCountersign")); var FlowModalReturn_1 = (0, tslib_1.__importDefault)(require("../FlowModalReturn")); var Workflow_1 = (0, tslib_1.__importDefault)(require("../../../Workflow")); require("./index.scss"); var FlowFields = function (props) { var env = props.env, currentProcess = props.currentProcess, val = props.val, render = props.render, onChange = props.onChange, title = props.title, isPick = props.isPick, handleBatch = props.handleBatch, batch = props.batch, handleDetail = props.handleDetail, handleOnChange = props.handleOnChange, onImageEnlarge = props.onImageEnlarge, returnNodeApi = props.returnNodeApi, attachmentApi = props.attachmentApi; // pa端弹窗 移动端 var _a = (0, react_1.useState)(false), open = _a[0], setOpen = _a[1]; // 个人请求数据 var _b = (0, react_1.useState)(), flowDetail = _b[0], setFlowDetail = _b[1]; var ChildRef = react_1.default.createRef(); var api = val.detailApi; var Mobile = (0, helper_1.isMobile)(); // 获取个人请求信息 var handleOk = function () { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () { var res; return (0, tslib_1.__generator)(this, function (_a) { switch (_a.label) { case 0: handleDetail(true); return [4 /*yield*/, env.fetcher(api, currentProcess)]; case 1: res = _a.sent(); if (res.status === 0) { setFlowDetail(res.data); setOpen(true); handleDetail(false); } else { antd_1.message.error(res.msg); handleDetail(false); } return [2 /*return*/]; } }); }); }; var handleRadio = (0, lodash_1.debounce)(function (api, value) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () { var data, content, content, res; var _a, _b, _c, _d, _e; return (0, tslib_1.__generator)(this, function (_f) { switch (_f.label) { case 0: data = (0, tslib_1.__assign)({}, currentProcess); if (!(value == 'flow_assign')) return [3 /*break*/, 2]; return [4 /*yield*/, ((_b = (_a = ChildRef.current) === null || _a === void 0 ? void 0 : _a.handleOk) === null || _b === void 0 ? void 0 : _b.call(_a))]; case 1: content = _f.sent(); if ((content === null || content === void 0 ? void 0 : content.assignFlag) == undefined || ((_c = content === null || content === void 0 ? void 0 : content.afterUserIds) === null || _c === void 0 ? void 0 : _c.length) == 0 || content == undefined) return [2 /*return*/]; data = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, data), content); return [3 /*break*/, 4]; case 2: return [4 /*yield*/, ((_e = (_d = ChildRef.current) === null || _d === void 0 ? void 0 : _d.handleOk) === null || _e === void 0 ? void 0 : _e.call(_d))]; case 3: content = _f.sent(); data = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, data), content); _f.label = 4; case 4: if (!(data != null)) return [3 /*break*/, 6]; return [4 /*yield*/, env.fetcher(api, data).finally()]; case 5: res = _f.sent(); if (res.status === 0) { setOpen(false); onChange && onChange(); handleOnChange && handleOnChange(); } else { antd_1.message.error(res.msg); } _f.label = 6; case 6: return [2 /*return*/]; } }); }); }, 600); var handleContainer = function (data, api) { switch (data) { case 'flow_assign': case 'flow_referral': // 加签 return react_1.default.createElement(FlowCountersign_1.default, { name: data, env: env, render: render, handleOnClick: function () { api && handleRadio(api, data); }, onRef: ChildRef, attachmentApi: attachmentApi }); // 退回 确定 拒绝 case 'flow_return': case 'flow_agree': case 'flow_refuse': return (flowDetail && currentProcess.taskId) ? react_1.default.createElement(FlowModalReturn_1.default, { name: data, env: env, flowDetail: flowDetail, render: render, onRef: ChildRef, taskId: currentProcess.taskId, onImageEnlarge: onImageEnlarge, returnNodeApi: returnNodeApi, handleOnClick: function () { api && handleRadio(api, data); }, attachmentApi: attachmentApi }) : react_1.default.createElement(react_1.default.Fragment, null); // 撤回 case 'flow_revert': return (0, utils_1.handleRevert)(); default: return react_1.default.createElement(react_1.default.Fragment, null); } }; return (react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement("div", { className: "process_tabs " + (!Mobile ? 'process_pc' : '') }, isPick && react_1.default.createElement(antd_1.Checkbox, { className: 'checkbox', onChange: function (e) { return handleBatch(e.target.value, e.target.checked); }, checked: batch === null || batch === void 0 ? void 0 : batch.some(function (Item) { return Item == currentProcess.processInstanceId; }), value: currentProcess.processInstanceId }), react_1.default.createElement("div", { className: 'process_content', onClick: function () { handleOk(); } }, react_1.default.createElement("div", { className: 'process_content_introduce' }, react_1.default.createElement("div", { className: 'process_content_title' }, react_1.default.createElement("span", { className: 'process_content_name' }, currentProcess.taskName || currentProcess.processDefinitionName), title !== 'doneItem' && ((currentProcess === null || currentProcess === void 0 ? void 0 : currentProcess.taskStatus) ? (0, utils_1.currentaudit)(currentProcess === null || currentProcess === void 0 ? void 0 : currentProcess.taskStatus, title) : (currentProcess === null || currentProcess === void 0 ? void 0 : currentProcess.processStatus) && (0, utils_1.currentaudit)(currentProcess === null || currentProcess === void 0 ? void 0 : currentProcess.processStatus, title))), // 显示时间 react_1.default.createElement("div", { className: 'taskEndTime' }, (currentProcess.duration && currentProcess.duration) || (currentProcess.taskEndTime && currentProcess.taskEndTime))), react_1.default.createElement("div", { className: 'process_content_report_forms' }, currentProcess.workCondition && currentProcess.workCondition.map(function (Item) { return react_1.default.createElement("div", { className: 'text' }, react_1.default.createElement("label", { className: 'text_title' }, Item.label), "\uFF1A", react_1.default.createElement("span", { className: 'textvalue' }, Item.value)); }), react_1.default.createElement("div", { className: 'process_content_report_forms_icon' }, title == 'doneItem' && ((currentProcess === null || currentProcess === void 0 ? void 0 : currentProcess.taskStatus) ? (0, utils_1.currentaudit)(currentProcess === null || currentProcess === void 0 ? void 0 : currentProcess.taskStatus, title) : (currentProcess === null || currentProcess === void 0 ? void 0 : currentProcess.processStatus) && (0, utils_1.currentaudit)(currentProcess === null || currentProcess === void 0 ? void 0 : currentProcess.processStatus, title)))))), react_1.default.createElement(Workflow_1.default, { visible: open, onClose: function (reload) { setOpen(reload); }, env: env, render: render, onImageEnlarge: onImageEnlarge, flowDetail: flowDetail, handleContainer: handleContainer, handleRadio: handleRadio }))); }; exports.default = FlowFields; //# sourceMappingURL=./renderers/Lion/Mobileprocess/components/FlowFields/index.js.map