dareway-rui
Version:
852 lines (703 loc) • 29.7 kB
JavaScript
'use strict';
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true
});
exports.doNewProcess = doNewProcess;
exports.completeTask = completeTask;
exports.createPI = createPI;
exports.goAgg = goAgg;
var _regenerator = _interopRequireDefault(require('@babel/runtime/regenerator'));
var _objectSpread2 = _interopRequireDefault(require('@babel/runtime/helpers/objectSpread'));
var _typeof2 = _interopRequireDefault(require('@babel/runtime/helpers/typeof'));
var _isPlainObject = _interopRequireDefault(require('is-plain-object'));
var _util = require('../util');
var _taglib = require('../taglib');
var _openRES = _interopRequireDefault(require('../taglib/res/openRES'));
var _WorkFlowUtil = _interopRequireDefault(require('./WorkFlowUtil'));
var _marked =
/*#__PURE__*/
_regenerator.default.mark(doNewProcess),
_marked2 =
/*#__PURE__*/
_regenerator.default.mark(afterChosePDA),
_marked3 =
/*#__PURE__*/
_regenerator.default.mark(isAggLaneNewable),
_marked4 =
/*#__PURE__*/
_regenerator.default.mark(goAgg);
// TODO callback ???
function doNewProcess(pdid, pjson) {
var pbiz,
bljgid,
json,
getUserUrl,
userResultVdo,
_process_start_user_id,
_process_start_user_name,
_process_biz_from,
urlNewProcess,
key,
value,
newProcessResultVdo,
newprocess_code,
newprocess_info,
newprocess_info_obj,
tid,
piid,
laneContainer,
currentLane,
currentLaneID,
pdlabel,
_pdid,
rolelist,
detailMsg,
i,
roleStr,
pdaid,
resRet,
_piid,
_tid,
_pdaid,
_resRet,
_piid2,
multiPDAParams,
_pdaid2;
return _regenerator.default.wrap(function doNewProcess$(_context) {
while (1) {
switch ((_context.prev = _context.next)) {
case 0:
if ((0, _isPlainObject.default)(pjson)) {
_context.next = 2;
break;
}
throw new Error(
'\u51FD\u6570\u5B9A\u4E49\uFF1AdoNewProcess(pdid, pjson)\n\u51FD\u6570\u8C03\u7528\uFF1A.doNewProcess('
.concat(pdid, ', ')
.concat(
pjson,
')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u671F\u671B\u5165\u53C2 pjson \u4E3A\u975E\u7A7A\u7B80\u5355\u5BF9\u8C61\u7C7B\u578B\uFF08\u4F8B\u5982\uFF1A{biz: "370303"}\uFF09\uFF1B\u5B9E\u9645\u4F20\u5165\u7C7B\u578B\u4E3A '
)
.concat((0, _typeof2.default)(pjson), '\uFF0C\u503C\u4E3A ')
.concat(pjson, '\n\u8BF7\u68C0\u67E5!')
);
case 2:
// pjson 中必须包含参数 biz
// pjson 中必须包含参数 bljgid
pbiz = pjson.biz;
bljgid = pjson.bljgid;
if (pbiz) {
_context.next = 6;
break;
}
throw new Error(
'\u51FD\u6570\u5B9A\u4E49\uFF1AdoNewProcess(pdid, pjson)\n\u51FD\u6570\u8C03\u7528\uFF1A.doNewProcess('
.concat(pdid, ', ')
.concat(
JSON.stringify(pjson),
')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u5165\u53C2 pjson \u4E2D\u5FC5\u987B\u5305\u542B\u5B57\u6BB5 biz\n\u8BF7\u68C0\u67E5!'
)
);
case 6:
if (bljgid) {
_context.next = 8;
break;
}
throw new Error(
'\u51FD\u6570\u5B9A\u4E49\uFF1AdoNewProcess(pdid, pjson)\n\u51FD\u6570\u8C03\u7528\uFF1A.doNewProcess('
.concat(pdid, ', ')
.concat(
JSON.stringify(pjson),
')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u5165\u53C2 pjson \u4E2D\u5FC5\u987B\u5305\u542B\u5B57\u6BB5 bljgid\n\u8BF7\u68C0\u67E5!'
)
);
case 8:
///////////////////////////////////////////////////////////////////////////////////////////////////////////
json = (0, _objectSpread2.default)({}, pjson); //发送请求获取开启人信息
getUserUrl = new _util.URL('process/getPIStartInfo');
_context.next = 12;
return (0, _util.request)(getUserUrl);
case 12:
userResultVdo = _context.sent;
(_process_start_user_id = userResultVdo._process_start_user_id),
(_process_start_user_name = userResultVdo._process_start_user_name),
(_process_biz_from = userResultVdo._process_biz_from);
json = (0, _objectSpread2.default)({}, json, {
_process_start_user_id: _process_start_user_id,
_process_start_user_name: _process_start_user_name,
_process_biz_from: _process_biz_from
}); // 发起请求,开启流程实例
urlNewProcess = new _util.URL('process/doNewProcess');
urlNewProcess.addPara('pdid', pdid);
urlNewProcess.addPara('_process_biz', pbiz);
for (key in json) {
value = json[key];
urlNewProcess.addPara(key, value);
}
_context.next = 21;
return (0, _util.request)(urlNewProcess);
case 21:
newProcessResultVdo = _context.sent;
// 分析后台返回结果
(newprocess_code = newProcessResultVdo.newprocess_code),
(newprocess_info = newProcessResultVdo.newprocess_info);
newprocess_info_obj = JSON.parse(newprocess_info);
(tid = newprocess_info_obj.tid), (piid = newprocess_info_obj.piid);
_context.t0 = newprocess_code;
_context.next =
_context.t0 === '1'
? 28
: _context.t0 === '2'
? 44
: _context.t0 === '3'
? 55
: _context.t0 === '4'
? 73
: _context.t0 === '5'
? 86
: _context.t0 === '6'
? 89
: 96;
break;
case 28:
if (!(!tid || tid == 'undefined')) {
_context.next = 32;
break;
}
_context.next = 31;
return _WorkFlowUtil.default.openTaskAboutNewProcess(piid);
case 31:
return _context.abrupt('return');
case 32:
_context.next = 34;
return (0, _taglib.getLaneContainer)();
case 34:
laneContainer = _context.sent;
_context.next = 37;
return laneContainer.getCurrentLane();
case 37:
currentLane = _context.sent;
_context.next = 40;
return currentLane.getID();
case 40:
currentLaneID = _context.sent;
_context.next = 43;
return _WorkFlowUtil.default.doTask(tid, currentLaneID);
case 43:
return _context.abrupt('break', 96);
case 44:
// 无权开启流程
(pdlabel = newprocess_info_obj.pdlabel),
(_pdid = newprocess_info_obj.pdid),
(rolelist = newprocess_info_obj.rolelist);
detailMsg = '\u60A8\u5C1D\u8BD5\u529E\u7406\u7684\u662F['
.concat(bljgid, ']\u4E0B\u7684[')
.concat(_pdid, ':')
.concat(pdlabel, ']\u4E1A\u52A1\u3002');
if (!(!rolelist || rolelist.length == 0)) {
_context.next = 50;
break;
}
detailMsg = detailMsg + '这个业务没有配置岗位,请联系系统管理员。';
_util.MsgBox.show('你没有权限办理[' + bljgid + ']下的业务[' + pdlabel + ']。', detailMsg);
return _context.abrupt('break', 96);
case 50:
detailMsg += '可以办理这个业务的岗位有:';
for (i = 0; i < rolelist.length; i++) {
roleStr = rolelist[i];
if (roleStr) {
detailMsg = detailMsg + '\n' + ' ' + roleStr;
}
}
detailMsg = detailMsg + '\n' + '您可以请上述岗位的人员来办理这笔业务。';
_util.MsgBox.show('你没有权限办理[' + bljgid + ']下的业务[' + pdlabel + ']。', detailMsg);
return _context.abrupt('break', 96);
case 55:
// 需要转向一主体多流程——警告页面
pdaid = newprocess_info_obj.pdaid;
_context.next = 58;
return (0, _openRES.default)(
'正在办理的业务',
null,
'_lib/workflow/vm/ViewActivePIAboutBO_jg.js',
1000,
600,
{
pbiz: pbiz,
pdaid: pdaid,
json: json
}
);
case 58:
resRet = _context.sent;
if (!resRet) {
_context.next = 72;
break;
}
// 判定一下,直接关闭RES,是没有返回值的;
(_piid = resRet.piid), (_tid = resRet.tid);
if (!_piid) {
_context.next = 66;
break;
}
_context.next = 64;
return _WorkFlowUtil.default.goProcessInPara(_piid);
case 64:
_context.next = 72;
break;
case 66:
if (!_tid) {
_context.next = 71;
break;
}
_context.next = 69;
return _WorkFlowUtil.default.openTaskByPara(_tid);
case 69:
_context.next = 72;
break;
case 71:
throw new Error('不应该跑到这CASE3.......');
case 72:
return _context.abrupt('break', 96);
case 73:
// 需要转向一主体多流程——禁止页面
_pdaid = newprocess_info_obj.pdaid;
_context.next = 76;
return (0, _openRES.default)(
'正在办理的业务',
null,
'_lib/workflow/vm/ViewActivePIAboutBO_jz.js',
1000,
600,
{
pbiz: pbiz,
pdaid: _pdaid,
json: json
}
);
case 76:
_resRet = _context.sent;
if (!_resRet) {
_context.next = 85;
break;
}
_piid2 = _resRet.piid;
if (!_piid2) {
_context.next = 84;
break;
}
_context.next = 82;
return _WorkFlowUtil.default.goProcessInPara(_piid2);
case 82:
_context.next = 85;
break;
case 84:
throw new Error('不应该跑到这CASE4.......');
case 85:
return _context.abrupt('break', 96);
case 86:
_context.next = 88;
return _WorkFlowUtil.default.goProcess(piid);
case 88:
return _context.abrupt('break', 96);
case 89:
// 一个流程定定义下 有多个流程版本
multiPDAParams = {
pdid: pdid,
bljgid: bljgid
};
_context.next = 92;
return (0, _openRES.default)(
'选择流程版本',
null,
'_lib/workflow/vm/SelectPdaVersionRES.js',
1000,
600,
multiPDAParams
);
case 92:
_pdaid2 = _context.sent;
_context.next = 95;
return afterChosePDA(_pdaid2, json);
case 95:
return _context.abrupt('break', 96);
case 96:
case 'end':
return _context.stop();
}
}
}, _marked);
}
function afterChosePDA(pdaid, pjson) {
var json,
pbiz,
bljgid,
urlNewProcess,
key,
value,
newProcessResultVdo,
newprocess_code,
newprocess_info,
newprocess_info_obj,
tid,
piid,
pdlabel,
pdid,
rolelist,
detailMsg,
i,
roleStr;
return _regenerator.default.wrap(function afterChosePDA$(_context2) {
while (1) {
switch ((_context2.prev = _context2.next)) {
case 0:
if (pdaid) {
_context2.next = 2;
break;
}
return _context2.abrupt('return');
case 2:
json = pjson; // pjson 中必须包含参数 biz
// pjson 中必须包含参数 bljgid
pbiz = json.biz;
bljgid = json.bljgid;
if (pbiz) {
_context2.next = 7;
break;
}
throw new Error(
'\u51FD\u6570\u5B9A\u4E49\uFF1AafterChosePDA(pdaid, pjson)\n\u51FD\u6570\u8C03\u7528\uFF1A.afterChosePDA('
.concat(pdaid, ', ')
.concat(
JSON.stringify(pjson),
')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u5165\u53C2 pjson \u4E2D\u5FC5\u987B\u5305\u542B\u5B57\u6BB5 biz\n\u8BF7\u68C0\u67E5!'
)
);
case 7:
if (bljgid) {
_context2.next = 9;
break;
}
throw new Error(
'\u51FD\u6570\u5B9A\u4E49\uFF1AafterChosePDA(pdaid, pjson)\n\u51FD\u6570\u8C03\u7528\uFF1A.afterChosePDA('
.concat(pdaid, ', ')
.concat(
JSON.stringify(pjson),
')\n\u5F02\u5E38\u4FE1\u606F\uFF1A\u5165\u53C2 pjson \u4E2D\u5FC5\u987B\u5305\u542B\u5B57\u6BB5 bljgid\n\u8BF7\u68C0\u67E5!'
)
);
case 9:
// 发起请求,开启流程实例
urlNewProcess = new _util.URL('process/doNewProcessByPdaid');
urlNewProcess.addPara('pdaid', pdaid);
urlNewProcess.addPara('pdid', '');
urlNewProcess.addPara('_process_biz', pbiz);
for (key in json) {
value = json[key];
urlNewProcess.addPara(key, value);
}
_context2.next = 16;
return (0, _util.request)(urlNewProcess);
case 16:
newProcessResultVdo = _context2.sent;
// 分析后台返回结果
(newprocess_code = newProcessResultVdo.newprocess_code),
(newprocess_info = newProcessResultVdo.newprocess_info);
newprocess_info_obj = JSON.parse(newprocess_info);
(tid = newprocess_info_obj.tid), (piid = newprocess_info_obj.piid);
_context2.t0 = newprocess_code;
_context2.next =
_context2.t0 === '1'
? 23
: _context2.t0 === '2'
? 28
: _context2.t0 === '3'
? 39
: _context2.t0 === '4'
? 41
: _context2.t0 === '5'
? 43
: 46;
break;
case 23:
if (!(!tid || tid == 'undefined')) {
_context2.next = 25;
break;
}
return _context2.abrupt('return');
case 25:
_context2.next = 27;
return _WorkFlowUtil.default.doTask(tid);
case 27:
return _context2.abrupt('break', 47);
case 28:
// 无权开启流程
(pdlabel = newprocess_info_obj.pdlabel),
(pdid = newprocess_info_obj.pdid),
(rolelist = newprocess_info_obj.rolelist);
detailMsg = '\u60A8\u5C1D\u8BD5\u529E\u7406\u7684\u662F['
.concat(bljgid, ']\u4E0B\u7684[')
.concat(pdid, ':')
.concat(pdlabel, ']\u4E1A\u52A1\u3002');
if (!(!rolelist || rolelist.length == 0)) {
_context2.next = 34;
break;
}
detailMsg = detailMsg + '这个业务没有配置岗位,请联系系统管理员。';
_util.MsgBox.show('你没有权限办理[' + bljgid + ']下的业务[' + pdlabel + ']。', detailMsg);
return _context2.abrupt('break', 47);
case 34:
detailMsg += '可以办理这个业务的岗位有:';
for (i = 0; i < rolelist.length; i++) {
roleStr = rolelist[i];
if (roleStr) {
detailMsg = detailMsg + '\n' + ' ' + roleStr;
}
}
detailMsg = detailMsg + '\n' + '您可以请上述岗位的人员来办理这笔业务。';
_util.MsgBox.show('你没有权限办理[' + bljgid + ']下的业务[' + pdlabel + ']。', detailMsg);
return _context2.abrupt('break', 47);
case 39:
// 需要转向一主体多流程——警告页面
alert('2需要转向一主体多流程——警告页面');
return _context2.abrupt('break', 47);
case 41:
// 需要转向一主体多流程——禁止页面
alert('2需要转向一主体多流程——禁止页面');
return _context2.abrupt('break', 47);
case 43:
_context2.next = 45;
return _WorkFlowUtil.default.goProcess(piid);
case 45:
return _context2.abrupt('break', 47);
case 46:
return _context2.abrupt('break', 47);
case 47:
case 'end':
return _context2.stop();
}
}
}, _marked2);
}
function completeTask(tid, piid, eid, pdaid, tpid, FlowPath, desktopadjustjsp, desktopadjustjs) {
var urlCom = new _util.URL('process/completeTask');
urlCom.addPara('tid', tid);
urlCom.addPara('piid', piid);
urlCom.addPara('eid', eid);
urlCom.addPara('pdaid', pdaid);
urlCom.addPara('tpid', tpid);
urlCom.addPara('FlowPath', FlowPath);
urlCom.addPara('desktopadjustjsp', desktopadjustjsp);
urlCom.addPara('desktopadjustjs', desktopadjustjs);
return (0, _util.request)(urlCom);
}
function createPI(pbiz, pdaid, json) {
// 启动流程获取流程实例ID
var url = new _util.URL('process/createPI');
url.addPara('pdaid', pdaid);
url.addPara('_process_biz', pbiz);
for (var key in json) {
var value = json[key];
url.addPara(key, value);
}
return (0, _util.request)(url).then(function(vdo) {
var piid = vdo.piid;
return piid;
});
}
function isAggLaneNewable(adid) {
var laneContainer, keyset, aggLaneList, aggLane, laneID;
return _regenerator.default.wrap(function isAggLaneNewable$(_context3) {
while (1) {
switch ((_context3.prev = _context3.next)) {
case 0:
_context3.next = 2;
return (0, _taglib.getLaneContainer)();
case 2:
laneContainer = _context3.sent;
keyset = {
adid: adid
};
_context3.next = 6;
return laneContainer.searchLanesByKeySet(keyset);
case 6:
aggLaneList = _context3.sent;
if (!(aggLaneList.length > 1)) {
_context3.next = 9;
break;
}
throw new Error('关于聚集' + adid + '存在多个Lane,不合法。');
case 9:
if (!(aggLaneList.length == 1)) {
_context3.next = 19;
break;
}
_context3.next = 12;
return aggLaneList[0];
case 12:
aggLane = _context3.sent;
_context3.next = 15;
return aggLane.getID();
case 15:
laneID = _context3.sent;
_context3.next = 18;
return laneContainer.activeLane(laneID);
case 18:
return _context3.abrupt('return', false);
case 19:
return _context3.abrupt('return', true);
case 20:
case 'end':
return _context3.stop();
}
}
}, _marked3);
}
function goAgg(adid, scope, urlPara, showtlsj) {
var getAgg,
aggInfo,
l1,
currentl,
currenId,
aggInfoObj,
jjfs,
title,
aggregation_width,
aggregation_height,
keysetForNewLane,
newLane,
newLaneID,
paraAgg,
urlAgg,
key,
_key;
return _regenerator.default.wrap(function goAgg$(_context4) {
while (1) {
switch ((_context4.prev = _context4.next)) {
case 0:
_context4.next = 2;
return isAggLaneNewable(adid);
case 2:
if (_context4.sent) {
_context4.next = 4;
break;
}
return _context4.abrupt('return');
case 4:
getAgg = new _util.URL('wlEngine/getAggInfoByAdid');
getAgg.addPara('adid', adid);
_context4.next = 8;
return (0, _util.request)(getAgg);
case 8:
aggInfo = _context4.sent;
if (aggInfo) {
_context4.next = 11;
break;
}
return _context4.abrupt('return');
case 11:
_context4.next = 13;
return isAggLaneNewable(adid);
case 13:
if (_context4.sent) {
_context4.next = 15;
break;
}
return _context4.abrupt('return');
case 15:
_context4.next = 17;
return (0, _taglib.getLaneContainer)();
case 17:
l1 = _context4.sent;
_context4.next = 20;
return l1.getCurrentLane();
case 20:
currentl = _context4.sent;
_context4.next = 23;
return currentl.getID();
case 23:
currenId = _context4.sent;
aggInfoObj = JSON.parse(aggInfo);
jjfs = aggInfoObj.jjfs;
title = aggInfoObj.title;
aggregation_width = aggInfoObj.aggregation_width;
aggregation_height = aggInfoObj.aggregation_height;
keysetForNewLane = {
adid: adid,
fromlaneid: currenId
};
_context4.next = 32;
return l1.addLane(keysetForNewLane, title);
case 32:
newLane = _context4.sent;
_context4.next = 35;
return newLane.getID();
case 35:
newLaneID = _context4.sent;
_context4.next = 38;
return l1.activeLane(newLaneID);
case 38:
paraAgg = {};
urlAgg = null;
_context4.t0 = jjfs;
_context4.next = _context4.t0 === 'J03' ? 43 : 48;
break;
case 43:
//聚集处理
urlAgg = '_lib/workflow/vm/pageAggFree.js';
paraAgg = (0, _objectSpread2.default)({}, paraAgg, {
_config_adid: adid,
showtlsj: showtlsj
});
if (scope) {
paraAgg = (0, _objectSpread2.default)({}, paraAgg, {
scope: scope
});
}
if (urlPara) {
for (key in urlPara) {
paraAgg = (0, _objectSpread2.default)({}, paraAgg, {
key: urlPara[key]
});
}
}
return _context4.abrupt('break', 53);
case 48:
urlAgg = '_lib/workflow/vm/ViewWorklistForAgg.js';
paraAgg = (0, _objectSpread2.default)({}, paraAgg, {
_config_adid: adid,
showtlsj: showtlsj
});
alert('!!' + adid);
if (scope) {
paraAgg = (0, _objectSpread2.default)({}, paraAgg, {
scope: scope
});
}
if (urlPara) {
for (_key in urlPara) {
paraAgg = (0, _objectSpread2.default)({}, paraAgg, {
key: urlPara[_key]
});
}
}
case 53:
_context4.next = 55;
return newLane.openBeacon(
adid,
title,
null,
urlAgg,
aggregation_width,
aggregation_height,
paraAgg
);
case 55:
case 'end':
return _context4.stop();
}
}
}, _marked4);
}
//@ sourceMappingURL=workflow.js.map