@dcp-designable/components
Version:
公共组件及业务组件
727 lines • 38.2 kB
JavaScript
"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