| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317 |
- import WorkflowResource from '../api/workflow/WorkflowResource.js';
- import Common from '../common/Common.js';
- import { Uuid} from 'pc-component-v3';
- export default {
- /**
- * 打开任务
- */
- openTask: function(taskInfo){
- var _self = this;
- var windowNo = taskInfo.windowNo;
- var tabIndex = taskInfo.tabIndex;
- var recordId = taskInfo.recordId;
-
- return new Promise((resolve, reject) => {
- // 1. 首先判断category, category 如果等于 'CurdWindow' 说明是 CURD 窗口,否则是自定义的窗口
- // 2. 判断formKey是否存在
- // 2.1 如果存在那么就直接打开
- // 2.2 如果不存在那么,判断formKeyApp是否存在,如果不存在,那么表示本任务存在异常,如果存在,表示该任务需要在APP上执行,那么进行正确的提示。
- if(taskInfo.category === 'CurdWindow'){
- if(taskInfo.formKey === null || taskInfo.formKey === ''){
- WorkflowResource.canEditByWorkflow(null, windowNo, taskInfo.id).then(successData => {
- let url = null;
- let type = null;
- if(successData == false){
- type = 'view';
- url = '/desktop/window/window-read/'
- + type + '/'
- + windowNo + '/'
- + tabIndex + '/'
- + recordId
- + '?workflowType=approve&taskInfoId=' + taskInfo.id
- + '&currIndex=1&totalCount=1&canGoBack=false&uuid=' + Uuid.createUUID()
- + '&title=' + taskInfo.title
- + '&subTitle=' + taskInfo.description;
- }else{
- type = 'edit';
- url = '/desktop/window/window-edit/'
- + type + '/'
- + windowNo + '/'
- + tabIndex + '/'
- + recordId
- + '?workflowType=approve&taskInfoId=' + taskInfo.id
- + '&currIndex=1&totalCount=1&canGoBack=false&uuid=' + Uuid.createUUID()
- + '&title=' + taskInfo.title
- + '&subTitle=' + taskInfo.description;
- }
-
- let newUrl = Common.getRedirectUrl('#' + url);
- resolve({
- type: 'newWindow',
- url: newUrl,
- });
- }, errorData => {
- Common.processException(errorData);
- reject();
- });
- }else{
- let newUrl = null;
- if(taskInfo.formKey.indexOf('?') > 0){
- newUrl = taskInfo.formKey + '&taskId=' + taskInfo.id + '&recordId=' + taskInfo.recordId
- + '&title=' + taskInfo.title
- + '&subTitle=' + taskInfo.description;
- }else{
- newUrl = taskInfo.formKey + '?taskId=' + taskInfo.id + '&recordId=' + taskInfo.recordId
- + '&title=' + taskInfo.title
- + '&subTitle=' + taskInfo.description;
- }
- resolve({
- type: 'newWindow',
- url: newUrl,
- });
- }
- }else{
- if(taskInfo.formKey === null || taskInfo.formKey === ''){
- if(taskInfo.formKeyApp !== null && taskInfo.formKeyApp !== ''){
- reject({
- title: '操作失败',
- message: '当前待办任务,需要在移动端进行,请打开移动端的程序,然后执行本操作。',
- });
- }else{
- reject({
- title: '操作失败',
- message: '当前待办任务,定义失败,请联系管理员。',
- });
- }
- } else {
- if(taskInfo.formKey[0] === '/'){
- let formKeys = taskInfo.formKey.split('|');
- if(formKeys != null && formKeys.length > 1){
- taskInfo.formKey = formKeys[0];
- }
- if(taskInfo.formKey.indexOf('/static-eam-app/') > -1){
- reject({
- title: '操作失败',
- message: '当前待办任务,需要在移动端进行,请打开移动端的程序,然后执行本操作。',
- });
- }
- let newUrl = null;
- if(taskInfo.formKey.indexOf('?') > 0){
- newUrl = taskInfo.formKey + '&taskId=' + taskInfo.id + '&recordId=' + taskInfo.recordId
- + '&title=' + taskInfo.title
- + '&subTitle=' + taskInfo.description;
- }else{
- newUrl = taskInfo.formKey + '?taskId=' + taskInfo.id + '&recordId=' + taskInfo.recordId
- + '&title=' + taskInfo.title
- + '&subTitle=' + taskInfo.description;
- }
- resolve({
- type: 'newWindow',
- url: newUrl,
- });
- }else{
- resolve({
- type: 'customerTask',
- taskId: taskInfo.id,
- });
- }
- }
- }
- });
- },
- /**
- * 打开历史任务
- */
- openHistoryTask: function(historyTaskInfo){
- var _self = this;
- var windowNo = historyTaskInfo.windowNo;
- var tabIndex = historyTaskInfo.tabIndex;
- var recordId = historyTaskInfo.recordId;
- var type = 'view';
- // 1. 首先判断category, category 如果等于 'CurdWindow' 说明是 CURD 窗口,否则是自定义的窗口
- // 2. 判断formKey是否存在
- // 2.1 如果存在那么就直接打开
- // 2.2 如果不存在那么,判断formKeyApp是否存在,如果不存在,那么表示本任务存在异常,如果存在,表示该任务需要在APP上执行,那么进行正确的提示。
-
- return new Promise((resolve, reject) => {
- if(historyTaskInfo.category === 'CurdWindow'){
- if(historyTaskInfo.formKey === null || historyTaskInfo.formKey === ''){
- let newUrl = '/#/desktop/window/window-read/'
- + type + '/'
- + windowNo + '/'
- + tabIndex + '/'
- + recordId
- + '?workflowType=approve&taskInfoId=' + historyTaskInfo.id
- + '&currIndex=1&totalCount=1&canGoBack=false&uuid=' + Uuid.createUUID();
- resolve({
- type: 'newWindow',
- url: newUrl,
- });
- }else{
- let newUrl = null;
- if(historyTaskInfo.formKey.indexOf('?') > 0){
- newUrl = historyTaskInfo.formKey + '&taskId=' + historyTaskInfo.id + '&recordId=' + historyTaskInfo.recordId
- + '&title=' + historyTaskInfo.title
- + '&subTitle=' + historyTaskInfo.description;
- }else{
- newUrl = historyTaskInfo.formKey + '?taskId=' + historyTaskInfo.id + '&recordId=' + historyTaskInfo.recordId
- + '&title=' + historyTaskInfo.title
- + '&subTitle=' + historyTaskInfo.description;
- }
- resolve({
- type: 'newWindow',
- url: newUrl,
- });
- }
- }else{
- if(historyTaskInfo.formKey === null || historyTaskInfo.formKey === ''){
- if(historyTaskInfo.formKeyApp !== null && historyTaskInfo.formKeyApp !== ''){
- reject({
- title: '操作失败',
- message: '当前待办任务,需要在移动端进行,请打开移动端的程序,然后执行本操作。',
- });
- }else{
- reject({
- title: '操作失败',
- message: '当前待办任务,定义失败,请联系管理员。',
- });
- }
- } else {
- if(historyTaskInfo.formKey[0] === '/'){
- let formKeys = historyTaskInfo.formKey.split('|');
- if(formKeys != null && formKeys.length > 1){
- historyTaskInfo.formKey = formKeys[0];
- }
- if(historyTaskInfo.formKey.indexOf('/static-eam-app/') > -1){
- reject({
- title: '操作失败',
- message: '当前待办任务,需要在移动端进行,请打开移动端的程序,然后执行本操作。',
- });
- }
- let newUrl = null;
- if(historyTaskInfo.formKey.indexOf('?') > 0){
- newUrl = historyTaskInfo.formKey + '&taskId=' + historyTaskInfo.id + '&recordId=' + historyTaskInfo.recordId
- + '&title=' + historyTaskInfo.title
- + '&subTitle=' + historyTaskInfo.description;
- }else{
- newUrl = historyTaskInfo.formKey + '?taskId=' + historyTaskInfo.id + '&recordId=' + historyTaskInfo.recordId
- + '&title=' + historyTaskInfo.title
- + '&subTitle=' + historyTaskInfo.description;
- }
- resolve({
- type: 'newWindow',
- url: newUrl,
- });
- }else{
- resolve({
- type: 'customerTask',
- taskId: historyTaskInfo.id,
- });
- }
- }
- }
- });
- },
-
- /**
- * 打开抄送任务
- */
- openCopyTask: function(copyTask){
- var _self = this;
- var windowNo = copyTask.windowNo;
- var tabIndex = copyTask.tabIndex;
- var recordId = copyTask.recordId;
- var type = 'view';
- // 1. 首先判断category, category 如果等于 'CurdWindow' 说明是 CURD 窗口,否则是自定义的窗口
- // 2. 判断formKey是否存在
- // 2.1 如果存在那么就直接打开
- // 2.2 如果不存在那么,判断formKeyApp是否存在,如果不存在,那么表示本任务存在异常,如果存在,表示该任务需要在APP上执行,那么进行正确的提示。
-
- return new Promise((resolve, reject) => {
- if(copyTask.category === 'CurdWindow'){
- if(copyTask.formKey === null || copyTask.formKey === ''){
- let newUrl = '/#/desktop/window/window-read/'
- + type + '/'
- + windowNo + '/'
- + tabIndex + '/'
- + recordId
- + '?workflowType=approve&taskInfoId=' + copyTask.id
- + '&currIndex=1&totalCount=1&canGoBack=false&uuid=' + Uuid.createUUID();
- resolve({
- type: 'newWindow',
- url: newUrl,
- });
- }else{
- let newUrl = null;
- if(copyTask.formKey.indexOf('?') > 0){
- newUrl = copyTask.formKey + '&taskId=' + copyTask.id + '&recordId=' + copyTask.recordId
- + '&title=' + copyTask.title
- + '&subTitle=' + copyTask.description;
- }else{
- newUrl = copyTask.formKey + '?taskId=' + copyTask.id + '&recordId=' + copyTask.recordId
- + '&title=' + copyTask.title
- + '&subTitle=' + copyTask.description;
- }
- resolve({
- type: 'newWindow',
- url: newUrl,
- });
- }
- }else{
- if(copyTask.formKey === null || copyTask.formKey === ''){
- if(copyTask.formKeyApp !== null && copyTask.formKeyApp !== ''){
- reject({
- title: '操作失败',
- message: '当前待办任务,需要在移动端进行,请打开移动端的程序,然后执行本操作。',
- });
- }else{
- reject({
- title: '操作失败',
- message: '当前待办任务,定义失败,请联系管理员。',
- });
- }
- } else {
- if(copyTask.formKey[0] === '/'){
- let formKeys = copyTask.formKey.split('|');
- if(formKeys != null && formKeys.length > 1){
- copyTask.formKey = formKeys[0];
- }
- if(copyTask.formKey.indexOf('/static-eam-app/') > -1){
- reject({
- title: '操作失败',
- message: '当前待办任务,需要在移动端进行,请打开移动端的程序,然后执行本操作。',
- });
- }
- let newUrl = null;
- if(copyTask.formKey.indexOf('?') > 0){
- newUrl = copyTask.formKey + '&taskId=' + copyTask.id + '&recordId=' + copyTask.recordId
- + '&title=' + copyTask.title
- + '&subTitle=' + copyTask.description;
- }else{
- newUrl = copyTask.formKey + '?taskId=' + copyTask.id + '&recordId=' + copyTask.recordId
- + '&title=' + copyTask.title
- + '&subTitle=' + copyTask.description;
- }
- resolve({
- type: 'newWindow',
- url: newUrl,
- });
- }else{
- resolve({
- type: 'customerTask',
- taskId: copyTask.id,
- });
- }
- }
- }
- });
- },
- };
|