@dcp-designable/components
Version:
公共组件及业务组件
345 lines • 18.6 kB
JavaScript
;
/**
* @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