buli
2023-07-14 e6068da47c1bef5517c9e5fdc8c726766867ad4e
force-app/main/default/aura/RetrospectiveWeeklyReport/RetrospectiveWeeklyReportController.js
@@ -1,9 +1,9 @@
({
    doInit : function(component, event, helper) {
            helper.doinit(component, event, helper);
    doInit: function (component, event, helper) {
        helper.doinit(component, event, helper);
    },
    createAopp : function(component, event, helper) {
    createAopp: function (component, event, helper) {
        var addRecordEvent = $A.get('e.force:createRecord');
        addRecordEvent.setParams({
            entityApiName: 'Agency_Opportunity__c',
@@ -11,232 +11,378 @@
        });
        addRecordEvent.fire();
    },
    new_report : function(component, event, helper) {
    new_report: function (component, event, helper) {
        component.find('save_button').set('v.label', '保存并新建');
        helper.new_report(component, event, helper);
    },
    copy_button : function(component, event, helper) {
    copy_button: function (component, event, helper) {
        component.find('save_button').set('v.label', '保存并新建');
        helper.copy_button(component, event, helper);
    },
    change_report_radio : function(component, event, helper) {
    delete_button: function (component, event, helper) {
        helper.delete_button(component, event, helper);
    },
    change_report_radio: function (component, event, helper) {
        helper.change_report_radio(component, event, helper);
    },
    edit_button : function(component, event, helper) {
    edit_button: function (component, event, helper) {
        component.find('save_button').set('v.label', '保存');
        helper.edit_button(component, event, helper);
    },
    createCon : function(component, event, helper) {
      helper.createCon(component, event, helper);
    createCon: function (component, event, helper) {
        helper.createCon(component, event, helper);
    },
    showRequiredFields: function(component, event, helper){
        $A.util.removeClass(component.find("newOpportunityField"), "none");
        $A.util.removeClass(component.find("newOpportunityField"), "none");
    showRequiredFields: function (component, event, helper) {
        $A.util.removeClass(component.find('newOpportunityField'), 'none');
        $A.util.removeClass(component.find('newOpportunityField'), 'none');
    },
    handleSuccess : function(component, event, helper) {
    handleSuccess: function (component, event, helper) {
        helper.handleSuccess(component, event, helper);
    },
    handleSubmit : function(component, event, helper) {
    handleSubmit: function (component, event, helper) {
        event.preventDefault(); // stop form submission
        var showValidationError = false;
        var fields = component.find("newOpportunityField");
        var fields = component.find('newOpportunityField');
        var vaildationFailReason = '';
        let agencyReport = Object.create(null);
        fields.forEach(function (field) {
            if(field.get("v.fieldName") === 'Type__c' && $A.util.isEmpty(field.get("v.value"))){
            if (
                field.get('v.fieldName') === 'Type__c' &&
                $A.util.isEmpty(field.get('v.value'))
            ) {
                showValidationError = true;
                vaildationFailReason = "分类不能为空!";
            }else if(field.get("v.fieldName") === 'Doctor_Division1__c' && $A.util.isEmpty(field.get("v.value"))){
                vaildationFailReason = '分类不能为空!';
            } else if (
                field.get('v.fieldName') === 'Doctor_Division1__c' &&
                $A.util.isEmpty(field.get('v.value'))
            ) {
                showValidationError = true;
                if(vaildationFailReason != ''){
                    vaildationFailReason += "医生区分(职务)不能为空!";
                }else{
                    vaildationFailReason = "医生区分(职务)不能为空!";
                if (vaildationFailReason != '') {
                    vaildationFailReason += '医生区分(职务)不能为空!';
                } else {
                    vaildationFailReason = '医生区分(职务)不能为空!';
                }
            }
            //SWAG-CF58C3 fy start
            if (field.get('v.fieldName') === 'Name') {
                agencyReport['name'] = field.get('v.value');
            } else if (field.get('v.fieldName') === 'Type__c') {
                agencyReport['type'] = field.get('v.value');
            } else if (field.get('v.fieldName') === 'Doctor_Division1__c') {
                agencyReport['doctorDivision1'] = field.get('v.value');
            }
            //SWAG-CF58C3 fy end
        });
        if (!showValidationError) {
            helper.newlyBuild(component, event, helper);
        }else{
            //SWAG-CF58C3 fy start
            var agencyHospitalid = component.get('v.hospitalLinkId');
            //zhj MEBG新方案改造 2022-11-29 start
            debugger;
            let hospitalName = '';
            //调用后端searchAgencyDataId方法查询出医院下面所有客户人员dataid
            helper.CallBackAction(
                component,
                'searchAgencyDataId',
                {
                    hospitalId: agencyHospitalid
                },
                function (data) {
                    if (data.getState() == 'SUCCESS') {
                        var data = data.getReturnValue();
                        if (data.IsSuccess == true) {
                            let agencyContactIds = '';
                            if (
                                data.Message == '' &&
                                data.Data &&
                                data.Data.length > 0
                            ) {
                                hospitalName =
                                    data.Data[0].Agency_Hospital__r.Name;
                                for (var i = 0; i < data.Data.length; i++) {
                                    if (data.Data[i].AWS_Data_Id__c)
                                        agencyContactIds +=
                                            ',' + data.Data[i].AWS_Data_Id__c;
                                }
                                agencyContactIds =
                                    agencyContactIds.substring(1);
                                agencyReport['agencyContactIds'] =
                                    agencyContactIds;
                            } else {
                                agencyReport['agencyContactIds'] =
                                    agencyContactIds;
                            }
                            var arr = new Array();
                            arr.push(agencyReport);
                            var requestData = JSON.stringify(arr);
                            // helper.set_aws_url(component,data,agencyHospitalid);
                            var token = component.get('v.AWStoken');
                            var newUrl = component.get('v.AWSinsert') + 'V2';
                            component.set('v.login', true);
                            helper.insert_agencycontact(
                                component,
                                token,
                                newUrl,
                                requestData,
                                agencyHospitalid,
                                helper,
                                hospitalName
                            );
                        } else {
                            helper.ShowToast({
                                message: data.message,
                                type: 'error'
                            });
                        }
                    } else {
                        helper.ShowToast({
                            message: 'searchAgency失败',
                            type: 'error'
                        });
                    }
                }
            );
            //zhj MEBG新方案改造 2022-11-29 end
            // var arr = new Array();
            // arr.push(agencyReport);
            // var data = JSON.stringify(arr);
            // var token = component.get('v.AWStoken');
            // var newUrl = component.get('v.AWSinsert');
            // component.set('v.login',true);
            // helper.insert_agencycontact(component,token,newUrl,data,agencyHospitalid,helper);
            //SWAG-CF58C3 fy end
            // helper.newlyBuild(component, event, helper);
        } else {
            component.find('OppMessage').setError(vaildationFailReason);
        }
    },
    createCancel : function(component, event, helper) {
    createCancel: function (component, event, helper) {
        helper.createCancel(component, event, helper);
    },
    yes_button : function(component, event, helper) {
    yes_button: function (component, event, helper) {
        component.set('v.confirm_status', 1);
        helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text'));
        helper.close_confirm(
            component,
            component.get('v.modal_confirm_title'),
            component.get('v.modal_confirm_text')
        );
    },
    no_button : function(component, event, helper) {
    no_button: function (component, event, helper) {
        component.set('v.confirm_status', 2);
        helper.close_confirm(component, component.get('v.modal_confirm_title'), component.get('v.modal_confirm_text'));
        helper.close_confirm(
            component,
            component.get('v.modal_confirm_title'),
            component.get('v.modal_confirm_text')
        );
    },
    toggle_report : function(component, event, helper) {
    toggle_report: function (component, event, helper) {
        helper.toggle_report(component, event, helper);
    },
    save_report : function(component, event, helper) {
    save_report: function (component, event, helper) {
        helper.save_report(component, event, helper);
    },
    select_date_change : function(component, event, helper) {
    select_date_change: function (component, event, helper) {
        helper.select_date_change(component, event, helper);
    },
    select_agency_change : function(component, event, helper) {
    select_agency_change: function (component, event, helper) {
        debugger;
        helper.select_agency_change(component, event, helper);
    },
    hosChange : function(component, event, helper) {
      var hospital_name = event.getParam("value");
      if (hospital_name.match(/(\S+\s)+/)) {
         helper.searchHos(component, event, helper);
      } else {
         helper.hideSearch(component, event, helper);
      }
    hosChange: function (component, event, helper) {
        var hospital_name = event.getParam('value');
        var hospital_nameld = component.get('v.UseProduct1s');
        if (hospital_name.match(/(\S+\s)+/)) {
            if (hospital_nameld != hospital_name) {
                helper.searchHos(component, event, helper);
            }
        } else {
            if (hospital_name == '') {
                helper.hideSearchs(component, event, helper);
            } else {
                helper.hideSearch(component, event, helper);
            }
        }
    },
    selectHos : function(component, event, helper) {
      helper.selectHos(component, event, helper);
    selectHos: function (component, event, helper) {
        helper.selectHos(component, event, helper);
        helper.setOpportunity_cfilter(component);
    },
    //使用产品1
    UseProduct1Change : function(component, event, helper) {
      var UseProduct1Name = event.getParam("value");
      if (UseProduct1Name.match(/(\S+\s)+/)) {
         helper.searchUseProduct1(component, event, helper);
      } else {
         helper.hideSearchUseProduct1(component, event, helper);
      }
    UseProduct1Change: function (component, event, helper) {
        var UseProduct1Name = event.getParam('value');
        var UseProduct1Nameold = component.get('v.UseProduct1s');
        debugger;
        if (UseProduct1Name.match(/(\S+\s)+/)) {
            if (UseProduct1Name != UseProduct1Nameold) {
                helper.searchUseProduct1(component, event, helper);
            }
        } else {
            if (UseProduct1Name == '') {
                helper.hideSearchUseProduct1s(component, event, helper);
            } else {
                helper.hideSearchUseProduct1(component, event, helper);
            }
        }
    },
    seletUseProduct1Change : function(component, event, helper) {
      helper.seletUseProduct1Change(component, event, helper);
    seletUseProduct1Change: function (component, event, helper) {
        helper.seletUseProduct1Change(component, event, helper);
    },
     //使用产品2
    UseProduct2Change : function(component, event, helper) {
      var UseProduct2Name = event.getParam("value");
      if (UseProduct2Name.match(/(\S+\s)+/)) {
         helper.searchUseProduct2(component, event, helper);
      } else {
         helper.hideSearchUseProduct2(component, event, helper);
      }
    //使用产品2
    UseProduct2Change: function (component, event, helper) {
        var UseProduct2Name = event.getParam('value');
        var UseProduct2Nameold = component.get('v.UseProduct2s');
        if (UseProduct2Name.match(/(\S+\s)+/)) {
            if (UseProduct2Name != UseProduct2Nameold) {
                helper.searchUseProduct2(component, event, helper);
            }
        } else {
            if (UseProduct2Name == '') {
                helper.hideSearchUseProduct2s(component, event, helper);
            } else {
                helper.hideSearchUseProduct2(component, event, helper);
            }
        }
    },
    seletUseProduct2Change : function(component, event, helper) {
      helper.seletUseProduct2Change(component, event, helper);
    seletUseProduct2Change: function (component, event, helper) {
        helper.seletUseProduct2Change(component, event, helper);
    },
    productcategoryChange2 : function(component, event, helper) {
      helper.productcategoryChange2(component, event, helper);
    productcategoryChange2: function (component, event, helper) {
        helper.productcategoryChange2(component, event, helper);
    },
    //使用产品3
    UseProduct3Change : function(component, event, helper) {
      var UseProduct3Name = event.getParam("value");
      if (UseProduct3Name.match(/(\S+\s)+/)) {
         helper.searchUseProduct3(component, event, helper);
      } else {
         helper.hideSearchUseProduct3(component, event, helper);
      }
    UseProduct3Change: function (component, event, helper) {
        var UseProduct3Name = event.getParam('value');
        var UseProduct3Nameold = component.get('v.UseProduct3s');
        if (UseProduct3Name.match(/(\S+\s)+/)) {
            if (UseProduct3Name != UseProduct3Nameold) {
                helper.searchUseProduct3(component, event, helper);
            }
        } else {
            if (UseProduct3Name == '') {
                helper.hideSearchUseProduct3s(component, event, helper);
            } else {
                helper.hideSearchUseProduct3(component, event, helper);
            }
        }
    },
    seletUseProduct3Change : function(component, event, helper) {
      helper.seletUseProduct3Change(component, event, helper);
    seletUseProduct3Change: function (component, event, helper) {
        helper.seletUseProduct3Change(component, event, helper);
    },
    select_department : function(component, event, helper) {
    select_department: function (component, event, helper) {
        helper.setOpportunity_cfilter(component);
    },
    doctor_change : function(component, event, helper) {
    doctor_change: function (component, event, helper) {
        helper.doctor_change(component, event, helper);
    },
    stageNameChange : function(component, event, helper) {
    stageNameChange: function (component, event, helper) {
        helper.stageNameChange(component, event, helper);
    },
    onDragOver : function(component, event, helper) {
    onDragOver: function (component, event, helper) {
        event.preventDefault();
    },
    onDrop : function(component, event, helper) {
    onDrop: function (component, event, helper) {
        event.stopPropagation();
        event.preventDefault();
        event.dataTransfer.dropEffect='copy';
        var files=event.dataTransfer.files;
        helper.readFile(component,helper,files[0]);
        event.dataTransfer.dropEffect = 'copy';
        var files = event.dataTransfer.files;
        helper.readFile(component, helper, files[0]);
    },
    CreateRecord : function(component, event, helper){
        var files = event.getSource().get("v.files");
        helper.readFile(component,helper,files[0]);
    CreateRecord: function (component, event, helper) {
        var files = event.getSource().get('v.files');
        helper.readFile(component, helper, files[0]);
        component.set('v.showErrorInfo', false);
    },
    processFileContent : function(component,event,helper){
        helper.saveRecords(component,event,helper);
    },
    cancel : function(component,event,helper){
        component.set("v.showMain",true);
    processFileContent: function (component, event, helper) {
        helper.saveRecords(component, event, helper);
        component.set('v.showErrorInfo', false);
    },
    import : function(component,event,helper){
    cancel: function (component, event, helper) {
        component.set('v.showMain', true);
    },
    import: function (component, event, helper) {
        helper.showImport(component);
    },
    exportDate : function(component,event,helper){
        var stockData = component.get("v.reports_date");
        console.log('导出数据'+stockData);
        var csv = helper.convertArrayOfObjectsToCSV(component,stockData);
        if (csv == null){return;}
    exportDate: function (component, event, helper) {
        var stockData = component.get('v.reports_date');
        console.log('导出数据' + stockData);
        var csv = helper.convertArrayOfObjectsToCSV(component, stockData);
        if (csv == null) {
            return;
        }
        var universalBOM = "\uFEFF";
        var universalBOM = '\uFEFF';
        var hiddenElement = document.createElement('a');
        hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(universalBOM+csv);
        hiddenElement.target = '_self'; //
        hiddenElement.download = 'ExportData.csv';  // CSV file Name* you can change it.[only name not .csv]
        hiddenElement.href =
            'data:text/csv;charset=utf-8,' + encodeURI(universalBOM + csv);
        hiddenElement.target = '_self'; //
        hiddenElement.download = 'ExportData.csv'; // CSV file Name* you can change it.[only name not .csv]
        document.body.appendChild(hiddenElement); // Required for FireFox browser
        hiddenElement.click(); // using click() js function to download csv file
    },
    export_condition : function(component,event,helper){
    export_condition: function (component, event, helper) {
        helper.showExport(component);
    },
    select_repores_date : function(component,event,helper){
        helper.select_repores_date(component,event,helper);
    select_repores_date: function (component, event, helper) {
        helper.select_repores_date(component, event, helper);
    },
    export : function(component,event,helper){
    export: function (component, event, helper) {
        console.log('进入export');
        var stockData = component.get("v.reports_date");
        console.log('查出的数据'+stockData);
        var stockData = component.get('v.reports_date');
        console.log('查出的数据' + stockData);
    },
    close_import : function(component,event,helper){
        component.set("v.showMain",true);
    close_import: function (component, event, helper) {
        component.set('v.showMain', true);
        helper.close_import(component);
    },
    close_export : function(component,event,helper){
        component.set("v.showMain",true);
    close_export: function (component, event, helper) {
        component.set('v.showMain', true);
        helper.close_export(component);
    },
    select_ConsumptionOfConsumables : function(component,event,helper){
        helper.select_ConsumptionOfConsumables(component,event,helper);
    select_ConsumptionOfConsumables: function (component, event, helper) {
        helper.select_ConsumptionOfConsumables(component, event, helper);
    },
    select_purpose_type : function(component,event,helper){
        helper.selectPurposeType(component,event,helper);
    select_purpose_type: function (component, event, helper) {
        helper.selectPurposeType(component, event, helper);
    },
    select_warlocksNumber : function(component,event,helper){
        helper.select_warlocksNumber(component,event,helper);
    },
    selectProductClassification : function(component,event,helper){
        helper.selectProductClassification(component,event,helper);
    select_warlocksNumber: function (component, event, helper) {
        helper.select_warlocksNumber(component, event, helper);
    },
    selectpurposetype : function(component,event,helper){
        helper.selectpurposetype(component,event,helper);
    selectProductClassification: function (component, event, helper) {
        helper.selectProductClassification(component, event, helper);
    },
    selectpurposetype: function (component, event, helper) {
        helper.selectpurposetype(component, event, helper);
    },
    return_main_page: function (component, event, helper) {
        window.open('/customer/', '_self');
    },
    exportErrorInfo: function (component, event, helper) {
        helper.exportErrorInfoHelper(component);
    },
    closeErrorDiv: function (component, event, helper) {
        var errorDiv01 = component.find('errorDiv01');
        $A.util.addClass(errorDiv01, 'slds-hide');
    }
})
});