UNPKG

@dcp-designable/components

Version:

公共组件及业务组件

345 lines 18.6 kB
"use strict"; /** * @file 同意驳回弹窗 * @author lishuna * @createDate 2025-03-25 15:05:00 * @LastModifiedBy lishuna * @LastModifiedTime 2025-03-25 15:05:00 * @desc */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __generator = (this && this.__generator) || function (thisArg, body) { var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; function verb(n) { return function (v) { return step([n, v]); }; } function step(op) { if (f) throw new TypeError("Generator is already executing."); while (g && (g = 0, op[0] && (_ = 0)), _) try { if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; if (y = 0, t) op = [op[0] & 2, t.value]; switch (op[0]) { case 0: case 1: t = op; break; case 4: _.label++; return { value: op[1], done: false }; case 5: _.label++; y = op[1]; op = [0]; continue; case 7: op = _.ops.pop(); _.trys.pop(); continue; default: if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } if (t[2]) _.ops.pop(); _.trys.pop(); continue; } op = body.call(thisArg, _); } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; } }; var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; var i = m.call(o), r, ar = [], e; try { while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); } catch (error) { e = { error: error }; } finally { try { if (r && !r.done && (m = i["return"])) m.call(i); } finally { if (e) throw e.error; } } return ar; }; Object.defineProperty(exports, "__esModule", { value: true }); var dcp_design_react_1 = require("dcp-design-react"); var react_1 = __importStar(require("react")); var types_1 = require("./types"); var api_1 = require("./api"); var utils_1 = require("@dcp-designable/utils"); function MattersModal(props, ref) { var _this = this; var _a, _b, _c, _d; var onClose = props.onClose, visible = props.visible, btnFlag = props.btnFlag, onClickPass = props.onClickPass, onClickOverrule = props.onClickOverrule, onClickConfirm = props.onClickConfirm; var _e = (0, types_1.useBpmContext)(), loginName = _e.loginName, processInstanceId = _e.processInstanceId, taskId = _e.taskId, _f = _e.appsource, appsource = _f === void 0 ? '' : _f; var signatureRef = (0, react_1.useRef)(); var formRef = (0, react_1.useRef)(); // 控制按钮loading var _g = __read((0, react_1.useState)(false), 2), approveLoading = _g[0], setApproveLoading = _g[1]; // 审批意见必填 var _h = __read((0, react_1.useState)(false), 2), commentRequired = _h[0], setCommentRequired = _h[1]; // 推荐提示语 var _j = __read((0, react_1.useState)({ passData: [], rejectData: [], }), 2), commandData = _j[0], setCommandData = _j[1]; // 设置默认提示语 var setApproverDesc = function (value) { formRef.current.setFieldValue('approverDesc', value); }; // 获取提示语配置 var getCommentInstruction = function () { return __awaiter(_this, void 0, void 0, function () { var params, res, _a, pass, reject, passDefaultArr, passDefault, rejectDefaultArr, rejectDefault; return __generator(this, function (_b) { switch (_b.label) { case 0: params = { appSource: appsource, taskId: taskId, procInstId: processInstanceId, }; return [4 /*yield*/, (0, api_1.queryRuntimeSysBusinessComment)(params)]; case 1: res = _b.sent(); if (res.code === 200) { _a = res.data, pass = _a.pass, reject = _a.reject; passDefaultArr = (pass === null || pass === void 0 ? void 0 : pass.filter(function (item) { return item.defaultFlag == '0'; })) || []; passDefault = ''; if (passDefaultArr.length > 0) { passDefault = passDefaultArr[0].comment; } rejectDefaultArr = (reject === null || reject === void 0 ? void 0 : reject.filter(function (item) { return item.defaultFlag == '0'; })) || []; rejectDefault = ''; if (rejectDefaultArr.length > 0) { rejectDefault = rejectDefaultArr[0].comment; } setCommandData({ passData: pass, rejectData: reject, }); return [2 /*return*/, { passDefault: passDefault, rejectDefault: rejectDefault }]; } return [2 /*return*/]; } }); }); }; // 查询默认审批意见 var queryDefaultComment = function () { return __awaiter(_this, void 0, void 0, function () { var defaultComment; return __generator(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, getCommentInstruction()]; case 1: defaultComment = _a.sent(); setApproverDesc(defaultComment[btnFlag === types_1.ButtonOptions.PASS ? 'passDefault' : btnFlag === types_1.ButtonOptions.REJECT ? 'rejectDefault' : '']); return [2 /*return*/]; } }); }); }; // 查询默认审批意见配置 var queryCommentCheckConfigs = function (values) { return __awaiter(_this, void 0, void 0, function () { var params, res; var _a; return __generator(this, function (_b) { switch (_b.label) { case 0: params = { appsource: appsource, taskId: taskId, tenantLimitId: 'r2sc8ufe', procInstId: processInstanceId, }; return [4 /*yield*/, (0, api_1.getCommentCheckConfigs)(params)]; case 1: res = _b.sent(); if (res.code === 200) { setCommentRequired(((_a = res.data) === null || _a === void 0 ? void 0 : _a.required) || 'Y'); } return [2 /*return*/]; } }); }); }; // 同意确认 var approveTaskHandler = function () { return __awaiter(_this, void 0, void 0, function () { var autoGraph, isEmpty, values, otherParam, res, error_1; return __generator(this, function (_a) { switch (_a.label) { case 0: autoGraph = null; if (!signatureRef.current) return [3 /*break*/, 3]; return [4 /*yield*/, signatureRef.current.IS_EMPTY()]; case 1: isEmpty = _a.sent(); if (!!isEmpty) return [3 /*break*/, 3]; return [4 /*yield*/, signatureRef.current.GET_DATE_URL()]; case 2: autoGraph = _a.sent(); _a.label = 3; case 3: return [4 /*yield*/, formRef.current.validateFields()]; case 4: values = _a.sent(); setApproveLoading(true); _a.label = 5; case 5: _a.trys.push([5, 9, 10, 11]); otherParam = { tenantLimitId: localStorage.getItem('tenantcode') ? localStorage.getItem('tenantcode') : 'r2sc8ufe', appsource: appsource, approverDesc: values.approverDesc || ' ', taskId: taskId, procInstId: processInstanceId, assignee: loginName, autograph: autoGraph, }; if (btnFlag === types_1.ButtonOptions.PASS) { otherParam.action = '0'; } else { otherParam.action = '1'; } return [4 /*yield*/, (0, api_1.completeTask)(otherParam)]; case 6: res = _a.sent(); if (!autoGraph) return [3 /*break*/, 8]; return [4 /*yield*/, (0, api_1.saveCommentImage)(otherParam)]; case 7: _a.sent(); _a.label = 8; case 8: if (+res.code === 200) { onClose(); (0, utils_1.Message)('完成审批成功', 'success'); } else { (0, utils_1.Message)('存在数据审批失败!', 'error'); } return [3 /*break*/, 11]; case 9: error_1 = _a.sent(); console.log(error_1); return [2 /*return*/, Promise.reject(error_1)]; case 10: setApproveLoading(false); return [7 /*endfinally*/]; case 11: return [2 /*return*/]; } }); }); }; // 提交点击处理 var onClickHandler = function () { if (btnFlag === types_1.ButtonOptions.PASS) { if (onClickPass) { onClickPass(); } else { approveTaskHandler(); } } else if (btnFlag === types_1.ButtonOptions.REJECT) { if (onClickOverrule) { onClickOverrule(); } else { approveTaskHandler(); } } else if (btnFlag === types_1.ButtonOptions.CONFIRM) { if (onClickConfirm) { onClickConfirm(); } else { approveTaskHandler(); } } }; (0, react_1.useEffect)(function () { if (visible) { queryDefaultComment(); queryCommentCheckConfigs(); } return function () { }; }, [visible]); (0, react_1.useImperativeHandle)(ref, function () { return { onApproveTask: function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) { return [2 /*return*/, approveTaskHandler()]; }); }); }, }; }); return (react_1.default.createElement(dcp_design_react_1.Modal, { title: btnFlag === types_1.ButtonOptions.PASS ? '同意' : btnFlag === types_1.ButtonOptions.REJECT ? '拒绝' : '抄送确认', open: visible, onOk: onClickHandler, onCancel: onClose, destroyOnClose: true, width: 800, footer: [ react_1.default.createElement(dcp_design_react_1.DcpButton, { key: "back", onClick: onClose }, "\u53D6\u6D88"), react_1.default.createElement(dcp_design_react_1.DcpButton, { key: "clear", onClick: function () { return signatureRef.current.CLEAR(); } }, "\u6E05\u7A7A\u7B7E\u540D"), react_1.default.createElement(dcp_design_react_1.DcpButton, { key: "submit", type: "primary", loading: approveLoading, onClick: onClickHandler }, "\u786E\u8BA4"), ] }, react_1.default.createElement(dcp_design_react_1.Form, { ref: formRef, name: "control-ref", colon: false }, react_1.default.createElement(dcp_design_react_1.Form.Item, { name: "approverDesc", rules: [ { required: commentRequired === 'Y', }, { min: 2, message: '填写内容不能少于2个字符' }, { max: 200, message: '填写内容不能超过200个字符' }, ], label: "\u5BA1\u6279\u610F\u89C1" }, react_1.default.createElement(dcp_design_react_1.Input.TextArea, null)), react_1.default.createElement("div", { style: { textAlign: 'right', marginBottom: '15px', marginTop: '-18px', } }, btnFlag === types_1.ButtonOptions.PASS && (react_1.default.createElement(dcp_design_react_1.Space, null, Array.isArray(commandData === null || commandData === void 0 ? void 0 : commandData.passData) && ((_a = commandData === null || commandData === void 0 ? void 0 : commandData.passData) === null || _a === void 0 ? void 0 : _a.slice(0, 5).map(function (item, index) { return (react_1.default.createElement(dcp_design_react_1.Tag, { key: index, color: "success", onClick: function () { return setApproverDesc(item.comment); } }, item.comment.length > 5 ? "".concat(item.comment.substring(0, 5), "...") : item.comment)); })), ((_b = commandData === null || commandData === void 0 ? void 0 : commandData.passData) === null || _b === void 0 ? void 0 : _b.length) === 0 && (react_1.default.createElement("div", null, react_1.default.createElement(dcp_design_react_1.Tag, { color: "success", onClick: function () { return setApproverDesc('同意'); } }, "\u540C\u610F"), react_1.default.createElement(dcp_design_react_1.Tag, { color: "success", onClick: function () { return setApproverDesc('审批通过'); } }, "\u5BA1\u6279\u901A\u8FC7"))))), btnFlag === types_1.ButtonOptions.REJECT && (react_1.default.createElement(dcp_design_react_1.Space, null, Array.isArray(commandData === null || commandData === void 0 ? void 0 : commandData.rejectData) && ((_c = commandData === null || commandData === void 0 ? void 0 : commandData.rejectData) === null || _c === void 0 ? void 0 : _c.slice(0, 5).map(function (item, index) { return (react_1.default.createElement(dcp_design_react_1.Tag, { key: index, color: "error", onClick: function () { return setApproverDesc(item.comment); } }, item.comment.length > 5 ? "".concat(item.comment.substring(0, 5), "...") : item.comment)); })), ((_d = commandData === null || commandData === void 0 ? void 0 : commandData.rejectData) === null || _d === void 0 ? void 0 : _d.length) === 0 && (react_1.default.createElement("div", null, react_1.default.createElement(dcp_design_react_1.Tag, { color: "error", onClick: function () { return setApproverDesc('驳回'); } }, "\u9A73\u56DE"), react_1.default.createElement(dcp_design_react_1.Tag, { color: "error", onClick: function () { return setApproverDesc('审批不通过'); } }, "\u5BA1\u6279\u4E0D\u901A\u8FC7")))))), react_1.default.createElement(dcp_design_react_1.Form.Item, { name: "sign", label: "\u7B7E\u540D" }, react_1.default.createElement(dcp_design_react_1.DcpSignature, { backgroundColor: "#f5f5f5", ref: signatureRef }))))); } exports.default = (0, react_1.forwardRef)(MattersModal); //# sourceMappingURL=MattersModal.js.map