123
chenjingwu
2024-04-15 a099abe8d0ff0699296c9bcc53ca00b98d167c73
force-app/main/default/aura/taskManage/taskManageHelper.js
@@ -64,13 +64,14 @@
        {
            label: "创建日期",
            fieldName: "taskCreateddate",
            type: "date-local",
            typeAttributes:{
                weekday: "long",
                year: "numeric",
                month: "long",
                day: "2-digit"
            },
            type: "text",
            // type: "date-local",
            // typeAttributes:{
            //     weekday: "long",
            //     year: "numeric",
            //     month: "long",
            //     day: "2-digit"
            // },
            sortable: true ,
            wrapText: true,
        },
@@ -143,7 +144,7 @@
                label: '合并',
                name: 'Merge',
                title: '合并',
                disabled: { fieldName: 'confirmButtonisDisabled'},
                disabled: { fieldName: 'mergeConfirmButtonisDisabled'},
                value: 'Merge'
            },
            initialWidth: 76,
@@ -195,13 +196,14 @@
        {
            label: "创建日期",
            fieldName: "taskCreateddate",
            type: "date-local",
            typeAttributes:{
                weekday: "long",
                year: "numeric",
                month: "long",
                day: "2-digit"
            },
            type: "text",
            // type: "date-local",
            // typeAttributes:{
            //     weekday: "long",
            //     year: "numeric",
            //     month: "long",
            //     day: "2-digit"
            // },
            sortable: true
        },
        {
@@ -289,13 +291,14 @@
        {
            label: "创建日期",
            fieldName: "taskCreateddate",
            type: "date-local",
            typeAttributes:{
                weekday: "long",
                year: "numeric",
                month: "long",
                day: "2-digit"
            },
            type: "text",
            // type: "date-local",
            // typeAttributes:{
            //     weekday: "long",
            //     year: "numeric",
            //     month: "long",
            //     day: "2-digit"
            // },
            sortable: true ,
            wrapText: true,
        },
@@ -368,7 +371,7 @@
                label: '合并',
                name: 'Merge',
                title: '合并',
                disabled: { fieldName: 'confirmButtonisDisabled'},
                disabled: { fieldName: 'mergeConfirmButtonisDisabled'},
                value: 'Merge'
            },
            initialWidth: 76,
@@ -445,13 +448,14 @@
        {
            label: "创建日期",
            fieldName: "taskCreateddate",
            type: "date-local",
            typeAttributes:{
                weekday: "long",
                year: "numeric",
                month: "long",
                day: "2-digit"
            },
            type: "text",
            // type: "date-local",
            // typeAttributes:{
            //     weekday: "long",
            //     year: "numeric",
            //     month: "long",
            //     day: "2-digit"
            // },
            sortable: true ,
            wrapText: true,
        },
@@ -524,7 +528,7 @@
                label: '合并',
                name: 'Merge',
                title: '合并',
                disabled: { fieldName: 'confirmButtonisDisabled'},
                disabled: { fieldName: 'mergeConfirmButtonisDisabled'},
                value: 'Merge'
            },
            initialWidth: 76,
@@ -620,6 +624,23 @@
            var state = response.getState();
            if (state === "SUCCESS") {
                var res = response.getReturnValue();
                // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc Start
                for(var rowIndex = 0 ;rowIndex<res.myTasks.length;rowIndex++){
                    if (res.myTasks[rowIndex].taskType == '盘点检查计划' || res.myTasks[rowIndex].taskType == '温湿度检查计划') {
                        res.myTasks[rowIndex]['cancelButtonisDisabled'] = true ;
                        res.myTasks[rowIndex]['assignButtonisDisabled_Owner'] = true ;
                        res.myTasks[rowIndex]['mergeConfirmButtonisDisabled'] = true ;
                    }
                };
                for(var rowIndex = 0 ;rowIndex<res.subTasks.length;rowIndex++){
                    if (res.subTasks[rowIndex].taskType == '盘点检查计划' || res.subTasks[rowIndex].taskType == '温湿度检查计划') {
                        res.subTasks[rowIndex]['cancelButtonisDisabled'] = true ;
                        res.subTasks[rowIndex]['assignButtonisDisabled_Owner'] = true ;
                        res.subTasks[rowIndex]['mergeConfirmButtonisDisabled'] = true ;
                    }
                };
                // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc End
                cmp.set('v.data',res.myTasks);
                cmp.set('v.data2',res.subTasks);
                cmp.set('v.dataCopy',res.myTasks);
@@ -738,6 +759,7 @@
        //后台方法的回调函数
    },
    //20210105 CHAN-BWX3YU you end
    // 排序逻辑设定
    sortBy: function(field, reverse, primer) {
        var key = primer ? function(x) {
@@ -798,8 +820,17 @@
            if (state === "SUCCESS") {
                var res = response.getReturnValue();
                // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc Start
                for(var rowIndex = 0 ;rowIndex<res.myTasks.length;rowIndex++){
                    if (res.myTasks[rowIndex].taskType == '盘点检查计划' || res.myTasks[rowIndex].taskType == '温湿度检查计划') {
                        res.myTasks[rowIndex]['cancelButtonisDisabled'] = true ;
                        res.myTasks[rowIndex]['assignButtonisDisabled_Owner'] = true ;
                        res.myTasks[rowIndex]['mergeConfirmButtonisDisabled'] = true ;
                    }
                };
                cmp.set('v.data',res.myTasks);
                cmp.set('v.dataCopy',res.myTasks);
                // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc End
              }
            this.hideSpinner(cmp);
        });
@@ -897,7 +928,9 @@
        cmp.set("v.mergeIsOpen_Over", false);
        var selectedData = cmp.get("v.selectedData");
        if(!selectedData || selectedData.length <=1 ){
            alert("请选择两条以上的任务进行合并!");
            cmp.set("v.errorMessage", '请选择两条以上的任务进行合并!');
            this.showErrorToast(cmp);
            // alert("请选择两条以上的任务进行合并!");
            return;
        }
        var action = cmp.get("c.mergeTask");
@@ -959,7 +992,7 @@
                    this.showErrorToast(cmp);
                }else{
                    
                    window.open('/apex/PCLLostReportPage?pageStatus=Create&oppId=' + returnValue + '&lostType=失单','_blank');
                    window.open('/lightning/n/PCLLostReportPageLwc#pageStatus=Create&oppId=' + returnValue + '&lostType=失单','_blank');
                }
            }else if (state === "ERROR") {
@@ -985,6 +1018,7 @@
    Accept:function (cmp, row, action) {
        cmp.set('v.ActivityDate',null);
        cmp.set('v.feedbackPlanDate',null);
        cmp.set('v.estimatedFinishDate', '');
        //除了记录类型为其他,且任务区分为上级分配任务时,其他都跳转事件页面
        if('其他'!=row.taskType){
            cmp.set("v.IsEventDefault", true);
@@ -1020,45 +1054,61 @@
        if(IsGeneratePlan==false&&IsEventDefault==false){            
            //check 0            
            if(activityDateV==null||activityDateV==''||activityDateV==undefined){
                alert('选择未生成计划的话,则必须填写 拜访日');
                cmp.set("v.errorMessage", '选择未生成计划的话,则必须填写 拜访日');
                this.showErrorToast(cmp);
                // alert('选择未生成计划的话,则必须填写 拜访日');
                return;
            }
            if(feedbackPlanDateV==null||feedbackPlanDateV==''||feedbackPlanDateV==undefined){
                alert('选择未生成计划的话,则必须填写 计划反馈日');
                cmp.set("v.errorMessage", '选择未生成计划的话,则必须填写 计划反馈日');
                this.showErrorToast(cmp);
                // alert('选择未生成计划的话,则必须填写 计划反馈日');
                return;
            }
            //check 1
            var regx = new RegExp(/^\d{4}\-\d{2}\-\d{2}$/);
            if(!regx.test(activityDateV)){
                alert('请输入有效时间');
                cmp.set("v.errorMessage", '请输入有效时间');
                this.showErrorToast(cmp);
                // alert('请输入有效时间');
                return;
            }
            var regx = new RegExp(/^\d{4}\-\d{2}\-\d{2}$/);
            if(!regx.test(feedbackPlanDateV)){
                alert('请输入有效时间');
                cmp.set("v.errorMessage", '请输入有效时间');
                this.showErrorToast(cmp);
                // alert('请输入有效时间');
                return;
            }
            //check 2
            var today = new Date();
            if(today>=activityDate){
                alert('请输入今天以后的日期');
                cmp.set("v.errorMessage", '请输入今天以后的日期');
                this.showErrorToast(cmp);
                // alert('请输入今天以后的日期');
                return;
            }
            if(today>=feedbackPlanDate){
                alert('请输入今天以后的日期');
                cmp.set("v.errorMessage", '请输入今天以后的日期');
                this.showErrorToast(cmp);
                // alert('请输入今天以后的日期');
                return;
            }
            //2021-11-25  mzy  任务管理改善  start
            //check 3
            //计划反馈日不能超过希望完成日
            if(feedbackPlanDate>HopeCompletionDate){
                alert('计划反馈日不能超过希望完成日('+HopeCompletionDateV+')');
                cmp.set("v.errorMessage", '计划反馈日不能超过希望完成日('+HopeCompletionDateV+')');
                this.showErrorToast(cmp);
                // alert('计划反馈日不能超过希望完成日('+HopeCompletionDateV+')');
                return;
            }
            if(activityDate>HopeCompletionDate){
                alert('拜访日不能超过希望完成日('+HopeCompletionDateV+')');
                cmp.set("v.errorMessage", '拜访日不能超过希望完成日('+HopeCompletionDateV+')');
                this.showErrorToast(cmp);
                // alert('拜访日不能超过希望完成日('+HopeCompletionDateV+')');
                return;
            }
            //2021-11-25  mzy  任务管理改善  end
@@ -1066,6 +1116,30 @@
        }
        //check   end
        //2021-10-19  mzy  任务管理改善  end
        // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc Start
        // var estimatedFinishDate = cmp.get("v.estimatedFinishDate");
        var estimatedFinishDate = new Date(cmp.get("v.estimatedFinishDate"));
        if (row.taskType == '盘点检查计划' || row.taskType == '温湿度检查计划') {
            var estimatedFinishDate = cmp.get("v.estimatedFinishDate");
            if (!estimatedFinishDate) {
                cmp.set("v.errorMessage", '请输入预计完成时间!');
                this.showErrorToast(cmp);
                // alert('请输入预计完成时间!');
                return;
            }
            var latestFinishDate = row.latestFinishDate;
            if (estimatedFinishDate > latestFinishDate) {
                cmp.set("v.errorMessage", '预计完成时间不能超过最晚完成日('+latestFinishDate+')');
                this.showErrorToast(cmp);
                // alert('预计完成时间不能超过最晚完成日('+latestFinishDate+')');
                return;
            }
        }
        // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc End
        var action = cmp.get("c.confirmOrDelay");
        action.setParams({
            "taskID" : row.id,
@@ -1073,12 +1147,18 @@
            "delayReason" : '',
            "IsGeneratePlan":IsGeneratePlan,    //2021-10-20   mzy  任务管理改善
            "ActivityDate" : activityDate,      //2021-10-20   mzy  任务管理改善
            "feedbackPlanDate" : feedbackPlanDate
            "feedbackPlanDate" : feedbackPlanDate,
            "estimatedFinishDate" : estimatedFinishDate,
            "delayReasonOther" : ''
        });
        //2021-10-20  mzy 任务管理改善  start
        //需要生成计划才会跳转到事件页面,将任务Id带到事件页面
        if(IsGeneratePlan==true){
            window.open('/apex/SimpleEventRegister?taskId=' + row.id,'_blank');
        if(IsGeneratePlan==true){
            // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc Start
            if (row.taskType != '盘点检查计划' && row.taskType != '温湿度检查计划') {
                window.open('/apex/SimpleEventRegister?taskId=' + row.id,'_blank');
            }
            // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc End
        }
        //2021-10-20  mzy  任务管理改善  end
        this.showSpinner(cmp);
@@ -1093,6 +1173,7 @@
                    rows[rowIndex]['taskStatus'] = '02 接受' ;
                    rows[rowIndex]['cancelButtonisDisabled'] = true ;
                    rows[rowIndex]['confirmButtonisDisabled'] = true ;
                    rows[rowIndex]['mergeConfirmButtonisDisabled'] = true ;
                    rows[rowIndex]['delayButtonisDisabled'] = true ;
                    rows[rowIndex]['assignButtonisDisabled_Owner'] = true ;  //2021-10-20  mzy  任务管理改善                      
                    cmp.set('v.data', rows);
@@ -1137,6 +1218,7 @@
        cmp.set('v.tempisFSE',row.isFSE);
        cmp.set('v.delayReason', '');
        cmp.set('v.delayReasonOther', '');
        cmp.set('v.estimatedFinishDate', '');
        cmp.set('v.delayIsOpen', true); 
    },
    //确认取消
@@ -1145,11 +1227,15 @@
        var cancelReason = cmp.get("v.cancelReason");
        var cancelReasonOther = cmp.get("v.cancelReasonOther");
        if(!cancelReason){
            alert('请输入取消理由!');
            cmp.set("v.errorMessage", '请输入取消理由!');
            this.showErrorToast(cmp);
            // alert('请输入取消理由!');
            return;
        }
        if(cancelReason == '其他' && !cancelReasonOther){
            alert('取消理由(选项)为其他时请输入取消理由(其他)!');
            cmp.set("v.errorMessage", '取消理由(选项)为其他时请输入取消理由(其他)!');
            this.showErrorToast(cmp);
            // alert('取消理由(选项)为其他时请输入取消理由(其他)!');
            return;
        }
@@ -1171,6 +1257,7 @@
                    rows[rowIndex]['taskStatus'] = '04 取消' ;
                    rows[rowIndex]['cancelButtonisDisabled'] = true ;
                    rows[rowIndex]['confirmButtonisDisabled'] = true ;
                    rows[rowIndex]['mergeConfirmButtonisDisabled'] = true ;
                    rows[rowIndex]['delayButtonisDisabled'] = true ;
                    rows[rowIndex]['assignButtonisDisabled_Owner'] = true ;  //2021-10-20  mzy  任务管理改善     
                    cmp.set('v.data', rows);
@@ -1199,20 +1286,47 @@
        var delayReasonOther = cmp.get("v.delayReasonOther");
        if(!delayReason){
            alert('请输入延期理由!');
            cmp.set("v.errorMessage", '请输入延期理由!');
            this.showErrorToast(cmp);
            // alert('请输入延期理由!');
            return;
        }
        if(delayReason == '其他' && !delayReasonOther){
            alert('延期理由(选项)为其他时请输入延期理由(其他)!');
            cmp.set("v.errorMessage", '延期理由(选项)为其他时请输入延期理由(其他)!');
            this.showErrorToast(cmp);
            // alert('延期理由(选项)为其他时请输入延期理由(其他)!');
            return;
        }
        // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc Start
        // var estimatedFinishDate = cmp.get("v.estimatedFinishDate");
        var estimatedFinishDate = new Date(cmp.get("v.estimatedFinishDate"));
        if (tempdata.taskType == '盘点检查计划' || tempdata.taskType == '温湿度检查计划') {
            var estimatedFinishDate = cmp.get("v.estimatedFinishDate");
            if (!estimatedFinishDate) {
                cmp.set("v.errorMessage", '请输入延期至时间!');
                this.showErrorToast(cmp);
                // alert('请输入延期至时间!');
                return;
            }
            var createdAfter3Month = tempdata.createdAfter3Month;
            if (estimatedFinishDate > createdAfter3Month) {
                cmp.set("v.errorMessage", '延期至时间不能超过('+createdAfter3Month+')');
                this.showErrorToast(cmp);
                // alert('延期至时间不能超过('+createdAfter3Month+')');
                return;
            }
        }
        // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc End
        var action = cmp.get("c.confirmOrDelay");
        action.setParams({
            "taskID" : tempdata.id,
            "isDelay" : true,
            "delayReason" : delayReason,
            "delayReasonOther" : delayReasonOther,
            "estimatedFinishDate" : estimatedFinishDate,
        });
        this.showSpinner(cmp);
        action.setCallback(this, function(response) {
@@ -1226,6 +1340,7 @@
                    rows[rowIndex]['taskStatus'] = '05 延期' ;
                    rows[rowIndex]['cancelButtonisDisabled'] = true ;
                    rows[rowIndex]['confirmButtonisDisabled'] = true ;
                    rows[rowIndex]['mergeConfirmButtonisDisabled'] = true ;
                    rows[rowIndex]['delayButtonisDisabled'] = true ;
                    rows[rowIndex]['assignButtonisDisabled_Owner'] = true ;  //2021-11-11  mzy  任务管理改善 
                    cmp.set('v.data', rows);
@@ -1245,9 +1360,11 @@
        });
        $A.enqueueAction(action);
        window.open('/apex/SimpleEventRegister?isDelay=true&taskId=' + tempdata.id ,'_blank');
        // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc Start
        if (tempdata.taskType != '盘点检查计划' && tempdata.taskType != '温湿度检查计划') {
            window.open('/apex/SimpleEventRegister?isDelay=true&taskId=' + tempdata.id ,'_blank');
        }
        // 【FY24大及巨大课题】北京新法规项目对应 DB202307428742 20230804 by lc End
    },
    // 确认重新分配
    ConfirmAssign: function(cmp, event) {
@@ -1255,7 +1372,9 @@
        cmp.set("v.assignIsOpen", false);
        var assignee =  cmp.get('v.subTempTask.assignee__c');
        if(!assignee){
            alert('请输入新被分配者!');
            cmp.set("v.errorMessage", '请输入新被分配者!');
            this.showErrorToast(cmp);
            // alert('请输入新被分配者!');
            return;
        }
        var action = cmp.get("c.resetAssignee");
@@ -1281,6 +1400,8 @@
                    cmp.set('v.data2', rows);
                    cmp.set('v.data2Copy',rows);
                    cmp.set("v.assignIsOpen", false);
                    cmp.set("v.successMessage", '重新分配成功!');
                    this.showSuccessToast(cmp);
                }else{
                    cmp.set("v.errorMessage", res.result);
                    this.showErrorToast(cmp);
@@ -1299,7 +1420,9 @@
        cmp.set("v.assignIsOpen_Over", false);
        var assignee =  cmp.get('v.subTempTask.assignee__c');
        if(!assignee){
            alert('请输入新被分配者!');
            cmp.set("v.errorMessage", '请输入新被分配者!');
            this.showErrorToast(cmp);
            // alert('请输入新被分配者!');
            return;
        }
        var action = cmp.get("c.resetAssignee_Owner");
@@ -1321,11 +1444,14 @@
                    rows[rowIndex]['taskAssigneeName'] = res.assigneeName ;
                    rows[rowIndex]['cancelButtonisDisabled'] = true ;
                    rows[rowIndex]['confirmButtonisDisabled'] = true ;
                    rows[rowIndex]['mergeConfirmButtonisDisabled'] = true ;
                    rows[rowIndex]['delayButtonisDisabled'] = true ;
                    rows[rowIndex]['assignButtonisDisabled_Owner'] = true ;
                    cmp.set('v.data', rows);
                    cmp.set('v.dataCopy',rows);
                    cmp.set("v.assignIsOpen_Over", false);
                    cmp.set("v.successMessage", '重新分配成功!');
                    this.showSuccessToast(cmp);
                }else{
                    cmp.set("v.errorMessage", res.result);
                    this.showErrorToast(cmp);
@@ -1341,29 +1467,29 @@
    //弹出 成功提示
    showSuccessToast : function(cmp) {
        $A.util.removeClass(cmp.find('successDiv'), 'slds-hide');
        window.setTimeout($A.getCallback(function() {
            $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
            }),
            5000
        );
        // window.setTimeout($A.getCallback(function() {
        //     $A.util.addClass(cmp.find('successDiv'), 'slds-hide');
        //     }),
        //     5000
        // );
    },
    //弹出 错误提示
    showErrorToast : function(cmp) {
        $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
        window.setTimeout($A.getCallback(function() {
            $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
            }),
            5000
        );
        // window.setTimeout($A.getCallback(function() {
        //     $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
        //     }),
        //     5000
        // );
    },
    //弹出 错误提示 文字较多,显示持续10秒 - 2021-11-12 yjk
    showErrorToastLongTime : function(cmp) {
        $A.util.removeClass(cmp.find('errorDiv'), 'slds-hide');
        window.setTimeout($A.getCallback(function() {
            $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
            }),
            10000
        );
        // window.setTimeout($A.getCallback(function() {
        //     $A.util.addClass(cmp.find('errorDiv'), 'slds-hide');
        //     }),
        //     10000
        // );
    },
    // function automatic called by aura:waiting event
    showSpinner: function(cmp) {
@@ -1379,7 +1505,7 @@
    },
    //wangweipeng      获取url的参数             2021/09/27     start
    getURLParameterValue: function() {
        var querystring = location.search.substr(1);
        var querystring = window.location.search.substr(1);
        var paramValue = {};
        querystring.split("&").forEach(function(part) {
            var param = part.split("=");