UNPKG

@dcp-designable/components

Version:

公共组件及业务组件

727 lines 38.2 kB
"use strict"; /** * @file 工作流组件 * @author lishuna * @createDate 2025-03-25 15:04:42 * @LastModifiedBy lishuna * @LastModifiedTime 2025-03-25 15:04:42 * @desc */ var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; 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 __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; 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; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.BpmPage = void 0; var react_1 = __importStar(require("react")); var utils_1 = require("@dcp-designable/utils"); var dayjs_1 = __importDefault(require("dayjs")); var dcp_design_react_1 = require("dcp-design-react"); var MattersModal_1 = __importDefault(require("./MattersModal")); var CopyTaskModal_1 = require("./CopyTaskModal"); var BPMShowProgressNew_1 = __importDefault(require("./BPMShowProgressNew")); var types_1 = require("./types"); var api_1 = require("./api"); var utils_2 = require("./utils"); var ellipsis_btn_png_1 = __importDefault(require("./img/ellipsis_btn.png")); var waitred_png_1 = __importDefault(require("./img/waitred.png")); var waitblue_png_1 = __importDefault(require("./img/waitblue.png")); var copy_png_1 = __importDefault(require("./img/copy.png")); var shouqi_new_png_1 = __importDefault(require("./img/shouqi_new.png")); var zhankai_new_png_1 = __importDefault(require("./img/zhankai_new.png")); require("./index.less"); var ButtonStatus = { preview: 'preview', // 组件预览模式 }; function BpmPageComponent(props, ref) { var _this = this; var status = props.status, _a = props.children, children = _a === void 0 ? null : _a, loginName = props.loginName, _b = props.showProgress, showProgress = _b === void 0 ? true : _b, onClickBeforePass = props.onClickBeforePass, // 通过弹窗前触发 onClickPass = props.onClickPass, // 通过弹窗提交按钮触发 onClickBeforeOverrule = props.onClickBeforeOverrule, // 驳回弹窗前触发 onClickOverrule = props.onClickOverrule, // 驳回弹窗提交按钮触发 onClickBeforeConfirm = props.onClickBeforeConfirm, // 确认前 onClickConfirm = props.onClickConfirm, // 确认 otherProps = __rest(props // 全局配置 , ["status", "children", "loginName", "showProgress", "onClickBeforePass", "onClickPass", "onClickBeforeOverrule", "onClickOverrule", "onClickBeforeConfirm", "onClickConfirm"]); // 全局配置 var _c = utils_1.Designer_GlobalRegister.getSystemConfig().userInfo, userInfo = _c === void 0 ? {} : _c; // 通过驳回弹窗 var _d = __read((0, react_1.useState)(false), 2), mattersVisible = _d[0], setMattersVisible = _d[1]; var btnOption = (0, react_1.useRef)(); var _e = __read((0, react_1.useState)({}), 2), copySettings = _e[0], setCopySettings = _e[1]; // 按钮自定义配置 var _f = __read((0, react_1.useState)({}), 2), customizedButtonsConfig = _f[0], setCustomizedButtonsConfig = _f[1]; // 基本信息 var _g = __read((0, react_1.useState)({}), 2), baseInfo = _g[0], setBaseInfo = _g[1]; // 显示更多 var _h = __read((0, react_1.useState)(false), 2), showMoreBtn = _h[0], setShowMoreBtn = _h[1]; // 抄送显隐 var _j = __read((0, react_1.useState)(false), 2), copyTaskVisible = _j[0], setCopyTaskVisible = _j[1]; // 页面批注显隐 var _k = __read((0, react_1.useState)(false), 2), showSignature = _k[0], setShowSignature = _k[1]; var bpmShowProgressRef = (0, react_1.useRef)(); // 批注 var bigSignatureRef = (0, react_1.useRef)(); // 弹窗ref var mattersModalRef = (0, react_1.useRef)(); // 控制右侧审批进度显隐 var _l = __read((0, react_1.useState)(showProgress), 2), isShowProgress = _l[0], setIsShowProgress = _l[1]; var urlParam = (0, react_1.useRef)(__assign(__assign(__assign({}, props.urlParams), (0, utils_1.getURLParams)()), { cnName: userInfo.name, userId: userInfo.userId, loginName: userInfo.loginName })); urlParam.current.processInstanceId = urlParam.current.processInstanceId || urlParam.current.procInstId; // 抄送配置请求 var onCompleteCopyTask = function () { return __awaiter(_this, void 0, void 0, function () { var otherParam, res, error_1; return __generator(this, function (_a) { switch (_a.label) { case 0: otherParam = { taskId: urlParam.current.taskId, procInstId: urlParam.current.processInstanceId, action: '0', assignee: userInfo.loginName, approverDesc: '已审阅', appsource: urlParam.current.appsource, tenantLimitId: 'r2sc8ufe', // 固定值 }; _a.label = 1; case 1: _a.trys.push([1, 3, , 4]); return [4 /*yield*/, (0, api_1.completeCopyTask)(otherParam)]; case 2: res = _a.sent(); return [3 /*break*/, 4]; case 3: error_1 = _a.sent(); console.log('抄送配置请求失败', error_1); return [3 /*break*/, 4]; case 4: return [2 /*return*/]; } }); }); }; // 获取抄送配置 var getTaskCopySettins = function (type) { return __awaiter(_this, void 0, void 0, function () { var res, settings, error_2; return __generator(this, function (_a) { switch (_a.label) { case 0: _a.trys.push([0, 2, , 3]); return [4 /*yield*/, (0, api_1.taskCopySettins)({ taskId: urlParam.current.taskId, })]; case 1: res = _a.sent(); if (+res.code === 200) { settings = res.data; if (settings.taskComplete === 'false') { onCompleteCopyTask(); } setCopySettings(settings); if (type === 'thisPage') { btnOption.current = types_1.ButtonOptions.CONFIRM; setMattersVisible(true); } } return [3 /*break*/, 3]; case 2: error_2 = _a.sent(); console.log('获取抄送配置失败', error_2); return [3 /*break*/, 3]; case 3: return [2 /*return*/]; } }); }); }; // 获取按钮配置 var getButtonsConfig = function () { return __awaiter(_this, void 0, void 0, function () { var paramBtn, resBtns; return __generator(this, function (_a) { switch (_a.label) { case 0: if (!(urlParam.current.clickType === 'task')) return [3 /*break*/, 2]; paramBtn = { processDefinitionId: urlParam.current.processDefinitionId, taskDefinitionKey: urlParam.current.taskDefinitionKey, }; return [4 /*yield*/, (0, api_1.queryTaskDefine)(paramBtn)]; case 1: resBtns = _a.sent(); if (+resBtns.code === 200) { setCustomizedButtonsConfig(resBtns.data); } _a.label = 2; case 2: return [2 /*return*/]; } }); }); }; // 获取基本信息数据 var getDataFromUrl = function () { return __awaiter(_this, void 0, void 0, function () { var otherParam, res, taskParam, res_1, taskInfo; return __generator(this, function (_a) { switch (_a.label) { case 0: if (!urlParam.current.taskId && !urlParam.current.processInstanceId) { (0, utils_1.Message)('页面url上缺少任务id和流程id参数', 'warning'); return [2 /*return*/]; } otherParam = { processInstanceId: urlParam.current.processInstanceId, taskId: urlParam.current.taskId, taskName: urlParam.current.taskName, assignee: userInfo.loginName || urlParam.current.loginName, }; return [4 /*yield*/, (0, api_1.listSysProcessPointInfo)(otherParam)]; case 1: res = _a.sent(); if (+res.code === 200 && res.data.length > 0) { urlParam.current.p2pCode = res.data[0].point; } taskParam = { tenantLimitId: localStorage.getItem('tenantcode') ? localStorage.getItem('tenantcode') : 'r2sc8ufe', sort: 'createTime', order: 'desc', assignee: userInfo.loginName, pageSize: 1, page: 1, taskId: urlParam.current.taskId, }; if (!(urlParam.current.clickType === 'finished')) return [3 /*break*/, 3]; taskParam.taskAssignee = userInfo.loginName; return [4 /*yield*/, (0, api_1.getCompletedTasksMerge)(taskParam)]; case 2: res_1 = _a.sent(); if (res_1.code === 200 && res_1.data.dataList && res_1.data.dataList[0]) { setBaseInfo(res_1.data.dataList[0]); } return [3 /*break*/, 5]; case 3: taskParam = __assign(__assign({}, taskParam), { processInstanceId: urlParam.current.processInstanceId, assignee: userInfo.loginName || urlParam.current.loginName }); return [4 /*yield*/, (0, api_1.getTasksMerge)(taskParam)]; case 4: taskInfo = _a.sent(); if (taskInfo.code === 200 && taskInfo.data.dataList && taskInfo.data.dataList[0]) { setBaseInfo(taskInfo.data.dataList[0]); } _a.label = 5; case 5: return [2 /*return*/]; } }); }); }; (0, react_1.useEffect)(function () { // 预览模式不读取接口 if (status === ButtonStatus.preview) { return; } // 获取基本信息 getDataFromUrl(); // 获取按钮配置 getButtonsConfig(); // 获取抄送配置 getTaskCopySettins(); return function () { }; }, []); // 更多按钮 var moreMouseover = function () { setShowMoreBtn(true); }; var moreMouseLeave = function () { setShowMoreBtn(false); }; // 处理点击通过/驳回 var onMultiFormsCompleteTask = function (type) { // 预览模式不相应按钮 if (status === ButtonStatus.preview) { return; } switch (type) { case 'pass': btnOption.current = types_1.ButtonOptions.PASS; // setMattersVisible(true) if (onClickBeforePass) { onClickBeforePass === null || onClickBeforePass === void 0 ? void 0 : onClickBeforePass(); } else { setMattersVisible(true); } break; case 'reject': btnOption.current = types_1.ButtonOptions.REJECT; if (onClickBeforeOverrule) { onClickBeforeOverrule === null || onClickBeforeOverrule === void 0 ? void 0 : onClickBeforeOverrule(); } else { setMattersVisible(true); } break; default: break; } }; // 处理点击批注 var onChangeSignature = function () { // 预览模式不相应操作 if (status === ButtonStatus.preview) { return; } setShowSignature(function (val) { return !val; }); }; var onCopy = function (data) { // 预览模式不相应操作 if (status === ButtonStatus.preview) { return; } setCopyTaskVisible(true); }; // 时间显示处理 var hoursAgoToDaysAgo = function (hours) { var days = hours / 24; if (days < 1) { return (react_1.default.createElement("div", { className: "descriptions-task-title-wait" }, react_1.default.createElement("img", { src: waitblue_png_1.default, className: "descriptions-task-title-img" }), react_1.default.createElement("div", { className: "descriptions-task-title-text" }, "\u5DF2\u7B49\u5F85", hours, "\u5C0F\u65F6"))); } return (react_1.default.createElement("div", { className: "descriptions-task-title-wait" }, react_1.default.createElement("img", { src: waitred_png_1.default, className: "descriptions-task-title-img" }), react_1.default.createElement("div", { className: "descriptions-task-title-num" }, days === undefined ? '' : Math.floor(days), "\u5929"))); }; // 确认 var onFinish = function (event) { return __awaiter(_this, void 0, void 0, function () { var _a; return __generator(this, function (_b) { // 预览模式不相应操作 if (status === ButtonStatus.preview) { return [2 /*return*/]; } if (event) { event.stopPropagation(); } if (onClickBeforeConfirm) { onClickBeforeConfirm === null || onClickBeforeConfirm === void 0 ? void 0 : onClickBeforeConfirm(); } else { if ((_a = urlParam.current) === null || _a === void 0 ? void 0 : _a.parentTaskId) { btnOption.current = types_1.ButtonOptions.CONFIRM; } else { btnOption.current = types_1.ButtonOptions.PASS; } setMattersVisible(true); } return [2 /*return*/]; }); }); }; // 保存页面签注 var saveSignature = function (annotation) { return __awaiter(_this, void 0, void 0, function () { var otherParam, res; return __generator(this, function (_a) { switch (_a.label) { case 0: // 预览模式不相应操作 if (status === ButtonStatus.preview) { return [2 /*return*/]; } otherParam = { taskId: urlParam.current.taskId, procInstId: urlParam.current.processInstanceId, assignee: userInfo.loginName, autograph: null, annotations: annotation, }; if (!annotation) return [3 /*break*/, 2]; return [4 /*yield*/, (0, api_1.saveCommentImage)(otherParam)]; case 1: res = _a.sent(); if (res.code === 200) { (0, utils_1.Message)('操作成功', 'success'); } _a.label = 2; case 2: return [2 /*return*/]; } }); }); }; // 按钮显示条件判断 var showCondition = function (type) { // 预览模式默认按钮全显示 if (status === ButtonStatus.preview) { return true; } switch (type) { case types_1.ButtonOptions.PASS: return (!urlParam.current.parentTaskId && urlParam.current.clickType === 'task'); case types_1.ButtonOptions.REJECT: return (!urlParam.current.parentTaskId && urlParam.current.clickType === 'task'); case types_1.ButtonOptions.CONFIRM: return (copySettings && copySettings.taskComplete === 'true' && urlParam.current.clickType === 'task'); case types_1.ButtonOptions.COPY: return (((copySettings && copySettings.enableMultiLevel === 'true' && urlParam.current.parentTaskId) || !urlParam.current.parentTaskId) && urlParam.current.clickType === 'task'); case types_1.ButtonOptions.SIGNATURE: return showMoreBtn && urlParam.current.clickType === 'task'; case types_1.ButtonOptions.REPEAL: return (urlParam.current.clickType === 'application' && urlParam.current.state === 'run'); case types_1.ButtonOptions.REPEAL_AUDIT: return (urlParam.current.clickType === 'finished' && !urlParam.current.parentTaskId && urlParam.current.processDeleteReason !== 'withdraw' && urlParam.current.processDeleteReason !== 'REJECTTOSTART' && urlParam.current.processDeleteReason !== 'end'); default: return false; } }; // 对外暴露属性方法 (0, react_1.useImperativeHandle)(ref, function () { return ({ // 通过操作 onPass: function (data) { console.log('回调通过操作!!!'); return mattersModalRef.current.onApproveTask(); }, // 驳回操作 onOverrule: function (data) { console.log('回调驳回操作!!!'); return mattersModalRef.current.onApproveTask(); }, // 打开弹窗 openMattersModal: function (type) { setMattersVisible(true); }, onConfirm: function (data) { console.log('回调通过操作!!!'); return mattersModalRef.current.onApproveTask(); }, }); }); // 右侧内容显隐 var changeShowProgress = function () { setIsShowProgress(function (val) { return !val; }); }; // 撤销 var onWithdraw = function (event) { return __awaiter(_this, void 0, void 0, function () { var otherParam, res, error_3; return __generator(this, function (_a) { switch (_a.label) { case 0: if (event) { event.stopPropagation(); } if (!(urlParam.current.state === 'success' || urlParam.current.state === 'end')) return [3 /*break*/, 1]; (0, utils_1.Message)('流程已结束,无法撤销!', 'error'); return [3 /*break*/, 5]; case 1: _a.trys.push([1, 4, , 5]); return [4 /*yield*/, (0, utils_1.Confirm)('确定要撤销流程吗?')]; case 2: _a.sent(); otherParam = { tenantLimitId: localStorage.getItem('tenantcode') ? localStorage.getItem('tenantcode') : 'r2sc8ufe', appsource: urlParam.current.appsource, creator: userInfo.loginName, procInstId: urlParam.current.processInstanceId, }; return [4 /*yield*/, (0, api_1.withdrawProcess)(otherParam)]; case 3: res = _a.sent(); if (res.code === 200) { (0, utils_1.Message)(res.message, 'success'); // TODO: 关闭抽屉 (0, utils_2.closeBPMPage)(urlParam.current.clickType); } return [3 /*break*/, 5]; case 4: error_3 = _a.sent(); console.log('取消操作'); return [3 /*break*/, 5]; case 5: return [2 /*return*/]; } }); }); }; // 撤销审核 var onCollection = function (event) { return __awaiter(_this, void 0, void 0, function () { var otherParam, res, error_4; return __generator(this, function (_a) { switch (_a.label) { case 0: if (event) { event.stopPropagation(); } _a.label = 1; case 1: _a.trys.push([1, 4, , 5]); return [4 /*yield*/, (0, utils_1.Confirm)('确定撤销审核吗?') // TODO: 需要跟徐宁沟通这两个参数问题 ]; case 2: _a.sent(); otherParam = { processInstanceId: urlParam.current.processInstanceId, taskId: urlParam.current.taskId, taskName: baseInfo.taskName, taskDefinitionKey: baseInfo.taskDefinitionKey, processDefinitionId: baseInfo.processDefinitionId, assignee: urlParam.current.assignee, category: urlParam.current.category, operator: userInfo.loginName, operatorName: userInfo.name, varText: urlParam.current.varText, creatorWithDept: urlParam.current.creatorWithDept, tenantId: 'r2sc8ufe', }; return [4 /*yield*/, (0, api_1.rejectToPreviousActivityByCompletedTask)(otherParam)]; case 3: res = _a.sent(); if (res.code === 200) { (0, utils_1.Message)(res.message, 'success'); // TODO: 关闭抽屉 (0, utils_2.closeBPMPage)(urlParam.current.clickType); } return [3 /*break*/, 5]; case 4: error_4 = _a.sent(); console.log('取消操作'); return [3 /*break*/, 5]; case 5: return [2 /*return*/]; } }); }); }; // 所有操作按钮配置 var optionsConfig = (0, react_1.useMemo)(function () { return [ { text: '通过', btnClassName: 'bpm-left-process-btn-blue', isShow: showCondition(types_1.ButtonOptions.PASS), onClick: function () { return onMultiFormsCompleteTask('pass'); }, }, { text: '驳回', btnClassName: 'bpm-left-process-btn', isShow: showCondition(types_1.ButtonOptions.REJECT), onClick: function () { return onMultiFormsCompleteTask('reject'); }, }, { text: '确认', isShow: showCondition(types_1.ButtonOptions.CONFIRM), btnClassName: 'bpm-left-process-btn', onClick: onFinish, }, { text: '抄送', isShow: showCondition(types_1.ButtonOptions.COPY), btnClassName: 'bpm-left-process-btn', onClick: onCopy, }, { text: '撤回', isShow: showCondition(types_1.ButtonOptions.REPEAL), btnClassName: 'bpm-left-process-btn-blue', onClick: onWithdraw, }, { text: '撤销审核', isShow: showCondition(types_1.ButtonOptions.REPEAL_AUDIT), btnClassName: 'bpm-left-process-btn-blue', onClick: onCollection, }, { render: function () { return (!showMoreBtn && urlParam.current.taskDefinitionKey !== 'processRejectedTask' && urlParam.current.clickType === 'task' && (react_1.default.createElement("img", { src: ellipsis_btn_png_1.default, className: "bpm-left-process-btn-more", onMouseOver: moreMouseover }))); }, }, { text: '页面批注', isShow: showCondition(types_1.ButtonOptions.SIGNATURE), btnClassName: 'bpm-left-process-btn', onClick: onChangeSignature, }, ]; }, [showMoreBtn, customizedButtonsConfig, copySettings]); // 操作按钮提取渲染 var renderOptionButtons = function () { return optionsConfig.map(function (item) { return item.render ? item.render() : item.isShow && (react_1.default.createElement(dcp_design_react_1.DcpButton, { className: item.btnClassName, onClick: item.onClick }, item.text)); }); }; // 左侧内容 var renderLeftContent = function () { var _a, _b; return (react_1.default.createElement("div", { className: "bpm-form-detail-left", style: { paddingRight: isShowProgress ? '20px' : '0px' } }, react_1.default.createElement("div", { className: "bpm-form-detail-left-process" }, react_1.default.createElement("div", { className: "bpm-left-process-title", onMouseLeave: moreMouseLeave }, react_1.default.createElement("div", { className: "bpm-left-process-maintitle" }, urlParam.current.clickType === 'application' ? baseInfo.procinstName : "".concat((_a = baseInfo.procinstName) !== null && _a !== void 0 ? _a : '', " ").concat((_b = baseInfo.taskName) !== null && _b !== void 0 ? _b : '')), react_1.default.createElement("div", { className: "bpm-left-process-sub-title" }, react_1.default.createElement("span", { className: "descriptions-item-title" }, "\u5BA1\u6279\u5355\u53F7\uFF1A"), react_1.default.createElement("span", { className: "descriptions-item-num" }, urlParam.current.businessKey || baseInfo.businessKey, react_1.default.createElement("img", { src: copy_png_1.default, onClick: function () { navigator.clipboard.writeText(urlParam.current.businessKey); (0, utils_1.Message)('操作成功!', 'success'); } }))), react_1.default.createElement("div", { className: "bpm-left-process-btns" }, renderOptionButtons())), react_1.default.createElement(dcp_design_react_1.Card, { className: "bpm-form-detail-left-card" }, react_1.default.createElement("div", { className: "bpm-left-process-info" }, react_1.default.createElement("div", { className: "bpm-left-process-title" }, "\u57FA\u672C\u4FE1\u606F"), react_1.default.createElement("div", null, hoursAgoToDaysAgo(baseInfo.timeDiff))), react_1.default.createElement(dcp_design_react_1.Space, { size: "large", wrap: true }, react_1.default.createElement("div", { className: "bpm-form-detail-left-process-item" }, react_1.default.createElement("div", { className: "bpm-left-process-item-label" }, react_1.default.createElement("span", { className: "descriptions-item-title" }, "\u53D1\u8D77\u4EBA")), react_1.default.createElement("span", { className: "bpm-left-process-item-data" }, baseInfo.creatorWithDept || baseInfo.creator)), react_1.default.createElement("div", { className: "bpm-form-detail-left-process-item" }, react_1.default.createElement("div", { className: "bpm-left-process-item-label" }, react_1.default.createElement("span", { className: "descriptions-item-title" }, "\u5230\u8FBE\u65F6\u95F4")), react_1.default.createElement("span", { className: "bpm-left-process-item-data" }, baseInfo.createTime ? (0, dayjs_1.default)(baseInfo.createTime).format('YYYY-MM-DD HH:mm:ss') : '')), react_1.default.createElement("div", { className: "bpm-form-detail-left-process-item" }, react_1.default.createElement("div", { className: "bpm-left-process-item-label" }, react_1.default.createElement("span", { className: "descriptions-item-title" }, "\u6D41\u7A0B\u540D\u79F0")), react_1.default.createElement("span", { className: "bpm-left-process-item-data" }, baseInfo.processDefinitionName)), react_1.default.createElement("div", { className: "bpm-form-detail-left-process-item" }, react_1.default.createElement("div", { className: "bpm-left-process-item-label" }, react_1.default.createElement("span", { className: "descriptions-item-title" }, "\u7CFB\u7EDF\u6765\u6E90")), react_1.default.createElement("span", { className: "bpm-left-process-item-data" }, baseInfo.sysName))))), react_1.default.createElement("div", { className: "bpm-form-detail-left-business" }, react_1.default.createElement(dcp_design_react_1.Card, { className: "bpm-form-detail-left-card", bodyStyle: { paddingBottom: '36px' } }, react_1.default.createElement("div", { className: "bpm-left-process-info" }, react_1.default.createElement("div", { className: "bpm-left-process-title" }, "\u5BA1\u6279\u8BE6\u60C5")), react_1.default.createElement("div", { className: "bpm-left-process-form" }, react_1.default.createElement(dcp_design_react_1.DcpSignature, { open: showSignature, imageName: "\u6279\u6CE8\u6587\u4EF6", onOk: saveSignature, onCancel: onChangeSignature, ref: bigSignatureRef }, children)))))); }; // 右侧内容 var renderRightContent = function () { return (react_1.default.createElement("div", { className: isShowProgress ? 'bpm-form-detail-right' : 'bpm-form-detail-right1' }, isShowProgress ? (react_1.default.createElement("img", { src: shouqi_new_png_1.default, className: "bpm-form-detail-right-icon", onClick: changeShowProgress })) : (react_1.default.createElement("div", { className: "bpm-form-detail-right2", onClick: changeShowProgress }, react_1.default.createElement("span", { className: "bpm-form-detail-right2-span" }, "\u6D41\u7A0B\u5BA1\u6279\u8BB0\u5F55"), react_1.default.createElement("img", { src: zhankai_new_png_1.default, className: "bpm-form-detail-right-icon" }))), react_1.default.createElement(BPMShowProgressNew_1.default, { urlParam: urlParam.current, onRef: bpmShowProgressRef, deleteReason: baseInfo.deleteReason, style: isShowProgress ? {} : { display: 'none' } }))); }; return (react_1.default.createElement(types_1.BpmContext.Provider, { value: urlParam.current }, react_1.default.createElement("div", __assign({}, otherProps, { className: "bpm-form-detail-center" }), renderLeftContent(), showProgress && renderRightContent()), react_1.default.createElement(MattersModal_1.default, { ref: mattersModalRef, visible: mattersVisible, btnFlag: btnOption.current, onClickPass: onClickPass, onClickOverrule: onClickOverrule, onClickConfirm: onClickConfirm, onClose: function () { setMattersVisible(false); } }), react_1.default.createElement(CopyTaskModal_1.CopyTaskModal, { visible: copyTaskVisible, onClose: function () { setCopyTaskVisible(false); } }))); } exports.BpmPage = (0, react_1.forwardRef)(BpmPageComponent); //# sourceMappingURL=BpmPage.js.map