黄千龙
2023-04-23 79a8812553117df1c414ac1a4044a080271c2444
维修合同文本信息录入页面
5个文件已添加
1332 ■■■■■ 已修改文件
force-app/main/default/classes/lexNewPaymentPlanLoadLWCController.cls 502 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.css 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.html 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js 575 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js-meta.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/lexNewPaymentPlanLoadLWCController.cls
New file
@@ -0,0 +1,502 @@
public with sharing class lexNewPaymentPlanLoadLWCController {
     public static Maintenance_Contract__c PageMCEElement;
    public static Datetime testDateTime;
    public static Boolean printTripartite;
    //查询数据
    @AuraEnabled(cacheable=true)
    public static ReturnData init(String recordId) {
        ReturnData returnData = new ReturnData();
        // page 逻辑
        returnData.statusSave = 'Fin';
        testDateTime = system.now();
        List<Maintenance_Contract__c> PageMCE = [select
                                                id,
                                                Name,
                                                Service_Contract_Staff__c,
                                                Payment_Plan_Sum_First__c,
                                                Payment_Plan_Date_First__c,
                                                Payment_Plan_Sum_Fifth__c,
                                                Payment_Plan_Date_Fifth__c,
                                                Payment_Plan_Sum_Third__c,
                                                Payment_Plan_Date_Third__c,
                                                Payment_Plan_Sum_Forth__c,
                                                Payment_Plan_Date_Forth__c,
                                                Payment_Plan_Sum_Second__c,
                                                Payment_Plan_Date_Second__c,
                                                Payment_Plan_Sum_Sixth__c,
                                                Payment_Plan_Date_Sixth__c,
                                                MainLeaderManager__c,
                                                Service_Contract_Staff__r.JingliApprovalManager__c,
                                                User_Salesdepartment__c,
                                                User_Salesdepartment_Sec__c,
                                                Service_Contract_Staff__r.Salesdepartment__c,
                                                Is_Standard_Contract__c,
                                                Small_Repair_Time__c,
                                                Big_Repair_Time__c,
                                                Live_Technical_Support_Time__c,
                                                Engineer_Name__c,
                                                Phone_Number__c,
                                                Tour_Check__c,
                                                Inspection_Time__c,
                                                Dedust__c,
                                                // fxk
                                                Contract_End_Date__c,
                                                Contract_Start_Date__c,
                                                Contract_Range__c,
                                                Contract_Limit_Times__c,
                                                Service_contract_target_number__c,
                                                // fxk
                                                Negotiate_Mean__c,
                                                First_Party_Contract_Number__c,
                                                Second_Party_Contract_Number__c,
                                                Term_Of_Payment__c,
                                                one_off_payment_agreed_period__c,
                                                Contract_Amount__c,
                                                Total_Contract_Amount_In_Words__c,
                                                Service_Contract_Staff__r.Name,
                                                Total_Payment_Time__c,
                                                Payment_Plan_Sum_First_in_Word__c,
                                                Payment_Plan_Sum_Second_in_Word__c,
                                                Payment_Plan_Sum_Third_in_Word__c,
                                                Payment_Plan_Sum_Forth_in_Word__c,
                                                Payment_Plan_Sum_Fifth_in_Word__c,
                                                Payment_Plan_Sum_Sixth_in_Word__c,
                                                Estimation_Id__c,
                                                Estimation_Id__r.Estimate_Target__c,
                                                Estimate_Target__c,
                                                Status__c,
                                                //HWAG-BHT7XX 2019/11/26 START
                                                agree_Upper_limit__c,
                                                Amount_Warranty_Coverage__c,
                                                Amount_Warranty_Coverage_In_Word__c,
                                                //HWAG-BHT7XX 2019/11/26 END
                                                Decided_Estimation__c,
                                                //XLIU-CEP8WW 【委托】合同文本更新/新增 LY 20220524 star
                                                old_Is_RecognitionModel__c
                                                //XLIU-CEP8WW 【委托】合同文本更新/新增 LY 20220524 end
                                                //URF限次合同2期 LY 20220811 star
                                                ,URF_Contract__c
                                                //URF限次合同2期 LY 20220811 end
                                                from
                                                Maintenance_Contract__c
                                                where
                                                id = :recordId];
        //权限管理-Denid
        if (PageMCE.size() == 1) {
            //if(PageMCE[0].Service_Contract_Staff__c != UserInfo.getUserId() && UserInfo.getProfileId() != System.Label.ProfileId_SystemAdmin && UserInfo.getProfileId() != System.Label.ProfileId_IThelp){
            //  ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '没有付款计划的编辑权限'));
            //  PageMCEElement = new Maintenance_Contract__c();
            //}else{
            PageMCEElement = PageMCE[0];
            //HWAG-BHT7XX 2019/11/26 START
            returnData.agreeUpperLimit = PageMCE[0].URF_Contract__c ;
            //HWAG-BHT7XX 2019/11/26 END
            // fxk 2021/8/31 点检次数必须选 Star
            // if (PageMCEElement.Inspection_Time__c == null || ''.equals(PageMCEElement.Inspection_Time__c) || '0'.equals(PageMCEElement.Inspection_Time__c)) {
            //  PageMCEElement.Inspection_Time__c = '1';
            // }
            // fxk 2021/8/31 点检次数必须选 end
            if (PageMCEElement.Small_Repair_Time__c == null) {
                //XLIU-CEP8WW 【委托】合同文本更新/新增 LY 20220524 start
                //PageMCEElement.Small_Repair_Time__c = '48';
                PageMCEElement.Small_Repair_Time__c = '7';
                //XLIU-CEP8WW 【委托】合同文本更新/新增 LY 20220524 end
            }
            if (PageMCEElement.Big_Repair_Time__c == null) {
                PageMCEElement.Big_Repair_Time__c = '15';
            }
            if (PageMCEElement.Live_Technical_Support_Time__c == null) {
                PageMCEElement.Live_Technical_Support_Time__c = '48';
            }
            if (PageMCEElement.Engineer_Name__c == null && PageMCEElement.Service_Contract_Staff__r.Name != null ) {
                PageMCEElement.Engineer_Name__c = PageMCEElement.Service_Contract_Staff__r.Name.replaceAll(' ', '');
            }
            if (PageMCEElement.First_Party_Contract_Number__c == null) {
                PageMCEElement.First_Party_Contract_Number__c = '2';
            }
            if (PageMCEElement.Second_Party_Contract_Number__c == null) {
                PageMCEElement.Second_Party_Contract_Number__c = '1';
            }
            returnData.PageMCE = PageMCEElement;
            //}
        } else {
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '找不到对应的维修合同'));
            returnData.status = '找不到对应的维修合同';
            returnData.statusSave = 'Denied';
        }
        //fxk 新加点检总次数 2021.9.2 Star
        if (PageMCEElement.Contract_End_Date__c != null || PageMCEElement.Contract_Start_Date__c != null) {
            returnData.Contract_validMonth = Integer.valueOf(PageMCEElement.Contract_Range__c);
        }
        //fxk 新加点检总次数 2021.9.2 End
        return returnData;
    }
    @AuraEnabled
    public static ReturnData print(Maintenance_Contract__c MCEElement) {
        ReturnData returnData = new ReturnData();
        System.debug('save start');
        // save();
        ReturnData res = save(MCEElement);
        if (res.statusSave != 'Fin') {
            returnData.status = res.status;
            returnData.statusSave = 'Denied';
            return returnData;
        }
        System.debug('save end');
        returnData.statusSave = 'Fin';
        returnData.agreeUpperLimit = MCEElement.URF_Contract__c;
        if (PageMCEElement.Decided_Estimation__c == null) {
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,
            //                      '报价单没有决定之前不能打印合同文本!'));
            // statusSave = 'Denied';
            returnData.status = '报价单没有决定之前不能打印合同文本!';
            returnData.statusSave = 'Denied';
            return returnData;
        }
        if (MCEElement.Estimate_Target__c == null) {
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,
            //                      '请确定提交对象'));
            // statusSave = 'Denied';
            returnData.status = '请确定提交对象!';
            returnData.statusSave = 'Denied';
            return returnData;
        }
        if (PageMCEElement.Is_Standard_Contract__c != null && PageMCEElement.Is_Standard_Contract__c.equals('否')) {
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,
            //                      '非标合同不需要打印合同文本!'));
            // statusSave = 'Denied';
            returnData.status = '非标合同不需要打印合同文本!';
            returnData.statusSave = 'Denied';
            return returnData;
        }
        if (PageMCEElement.Term_Of_Payment__c != null &&
                '多次付款'.equals(PageMCEElement.Term_Of_Payment__c)) {
            decimal PriceSum =  (PageMCEElement.Payment_Plan_Sum_First__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_First__c) +
                                (PageMCEElement.Payment_Plan_Sum_Second__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Second__c) +
                                (PageMCEElement.Payment_Plan_Sum_Third__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Third__c) +
                                (PageMCEElement.Payment_Plan_Sum_Forth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Forth__c) +
                                (PageMCEElement.Payment_Plan_Sum_Fifth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Fifth__c) +
                                (PageMCEElement.Payment_Plan_Sum_Sixth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Sixth__c);
            if (PriceSum != PageMCEElement.Contract_Amount__c ) {
                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,
                //                      '付款总金额与合同金额不符。'));
                // statusSave = 'Denied';
                //return;
                returnData.status = '付款总金额与合同金额不符。';
                returnData.statusSave = 'Denied';
                return returnData;
            }
            // HWAG-BHT7XX 2019-12-09 by vivek start
            Integer payTimeSum = 0;
            if (PageMCEElement.Payment_Plan_Sum_First__c != null) {
                payTimeSum++;
            }
            if (PageMCEElement.Payment_Plan_Sum_Second__c != null) {
                payTimeSum++;
            }
            if (PageMCEElement.Payment_Plan_Sum_Third__c != null) {
                payTimeSum++;
            }
            if (PageMCEElement.Payment_Plan_Sum_Forth__c != null) {
                payTimeSum++;
            }
            if (PageMCEElement.Payment_Plan_Sum_Fifth__c != null) {
                payTimeSum++;
            }
            if (PageMCEElement.Payment_Plan_Sum_Sixth__c != null) {
                payTimeSum++;
            }
            if (PageMCEElement.Total_Payment_Time__c != null) {
                system.debug(payTimeSum + '======' + Integer.valueOf(PageMCEElement.Total_Payment_Time__c));
                if (Integer.valueOf(PageMCEElement.Total_Payment_Time__c) != payTimeSum) {
                    System.debug(Integer.valueOf(PageMCEElement.Total_Payment_Time__c) + '======');
                    // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING,
                    //                      '付款期数和付款计划数目不符。'));
                    // statusSave = 'Denied';
                    returnData.status = '付款期数和付款计划数目不符。';
                    returnData.statusSave = 'Denied';
                    return returnData;
                }
            }
            // HWAG-BHT7XX 2019-12-09 by vivek end
        }
        system.debug('returnData.statusSave='+returnData.statusSave);
        system.debug('MCEElement.Estimate_Target__c='+MCEElement.Estimate_Target__c);
        if (returnData.statusSave.equals('Fin') && MCEElement.Estimate_Target__c.equals('医院')) {
            returnData.printContract = true;
            returnData.printAgent = false;
        } else if (returnData.statusSave.equals('Fin')) {
            returnData.printContract = false;
            returnData.printAgent = true;
        }
        return returnData;
    }
    @AuraEnabled
    public static ReturnData save(Maintenance_Contract__c MCEElement) {
        ReturnData returnData = new ReturnData();
        /*验证是否输入付款计划
        *多次付款至少输入付款计划1和付款计划1金额
        *一次性付款需要输入一次性付款约定期限
        */
        PageMCEElement = MCEElement;
        PageMCEElement.id = MCEElement.id;
        Maintenance_Contract__c MCE1 = [select
                                                id,
                                                Service_Contract_Staff__r.Salesdepartment__c
                                                from
                                                Maintenance_Contract__c
                                                where
                                                id = :MCEElement.id limit 1];
        if (PageMCEElement.Is_Standard_Contract__c == null || PageMCEElement.Is_Standard_Contract__c == '' ) {
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '请选择是否标准合同!'));
            // statusSave = 'Denied';
            returnData.status = '请选择是否标准合同!';
            returnData.statusSave = 'Denied';
            return returnData;
        }
        if (PageMCEElement.Term_Of_Payment__c != null &&
                '多次付款'.equals(PageMCEElement.Term_Of_Payment__c)) {
            if (PageMCEElement.Payment_Plan_Sum_First__c == null || PageMCEElement.Payment_Plan_Date_First__c == null || PageMCEElement.Payment_Plan_Sum_First__c == 0) {
                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '请输入至少一个付款计划!'));
                // statusSave = 'Denied';
                returnData.status = '请输入至少一个付款计划!';
                returnData.statusSave = 'Denied';
                return returnData;
            }
        } else if (PageMCEElement.Term_Of_Payment__c != null
                   && '一次性付款'.equals(PageMCEElement.Term_Of_Payment__c)
                   && PageMCEElement.one_off_payment_agreed_period__c == null ) {
            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '请输入付款计划!'));
            // statusSave = 'Denied';
            returnData.status = '请输入付款计划!';
            returnData.statusSave = 'Denied';
            return returnData;
        }
        if (PageMCEElement.Is_Standard_Contract__c == '是') {
            if (PageMCEElement.Contract_End_Date__c == null || PageMCEElement.Contract_Start_Date__c == null) {
                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.WARNING, '请审批报价并decide'));
                // statusSave = 'Denied';
                // return null;
                returnData.status = '请审批报价并decide';
                returnData.statusSave = 'Denied';
                return returnData;
            }
        }
        // fxk 2021/8/31 点检次数必须填 end
        // fxk 为维修合同点检总次数赋值 star
        if (PageMCEElement.Inspection_Time__c != null) {
            if (PageMCEElement.Contract_End_Date__c != null || PageMCEElement.Contract_Start_Date__c != null) {
                System.debug('PageMCEElement.Contract_End_Date__c.year():' + PageMCEElement.Contract_End_Date__c.year());
                Integer Contract_validMonth = Integer.valueOf(PageMCEElement.Contract_Range__c);
                if((Integer.valueOf(PageMCEElement.Inspection_Time__c) == 1 && Contract_validMonth < 9)
                    || (Integer.valueOf(PageMCEElement.Inspection_Time__c) == 2 && Contract_validMonth < 6)
                    || (Integer.valueOf(PageMCEElement.Inspection_Time__c) == 3 && Contract_validMonth < 4)
                    || (Integer.valueOf(PageMCEElement.Inspection_Time__c) == 4 && Contract_validMonth < 3)){
                    PageMCEElement.Service_contract_target_number__c = 1;
                }else{
                // add 一年内点检区间不够生成一次点检计划,默认生成一个点检计划,计划区间为合同开始日-结束日 2021/10/25 fxk End
                    Integer All_check;
                    if (Contract_validMonth - Integer.valueOf(Contract_validMonth / 12) * 12 >= 6
                            && Integer.valueOf(PageMCEElement.Inspection_Time__c) == 1) {
                        All_check = (Contract_validMonth * Integer.valueOf(PageMCEElement.Inspection_Time__c)) / 12 + 1;
                    } else {
                        All_check = (Contract_validMonth * Integer.valueOf(PageMCEElement.Inspection_Time__c)) / 12;
                    }
                    // Integer All_check = (Contract_validMonth * Integer.valueOf(PageMCEElement.Inspection_Time__c)) / 12;
                    PageMCEElement.Service_contract_target_number__c = All_check;
                }
            }
        }
        // fxk 为维修合同点检总次数赋值 end
        Savepoint sp = Database.setSavepoint();
        try {
        system.debug('*************PageMCEElement='+MCE1.Service_Contract_Staff__r.Salesdepartment__c);
            if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '1.华北') {
                PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_HB;
                PageMCEElement.User_Salesdepartment_Sec__c = System.Label.Payment_Block_Leader_SD;
            } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '2.东北') {
                PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_DB;
            } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '3.西北') {
                PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_XB;
            } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '4.西南') {
                PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_XN;
            } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '5.华东') {
                PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_HD;
            } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '6.华南') {
                PageMCEElement.User_Salesdepartment__c = System.Label.Payment_Block_Leader_HN;
                PageMCEElement.User_Salesdepartment_Sec__c = System.Label.Payment_Block_Leader_HNVice;
            } else if (MCE1.Service_Contract_Staff__r.Salesdepartment__c == '7.能量') {
            }
            // 对于标准合同进行验证必填项
            string requiredInput = '';
            if (PageMCEElement.Is_Standard_Contract__c.equals('是')) {
                if (PageMCEElement.Engineer_Name__c == null || ''.equals(PageMCEElement.Engineer_Name__c)) {
                    requiredInput += '工程师姓名';
                }
                if (PageMCEElement.Small_Repair_Time__c == null || ''.equals(PageMCEElement.Small_Repair_Time__c)) {
                    if (!''.equals(requiredInput)) {
                        requiredInput += '、';
                    }
                    requiredInput += '小修理时限';
                }
                if (PageMCEElement.Big_Repair_Time__c == null || ''.equals(PageMCEElement.Big_Repair_Time__c)) {
                    if (!''.equals(requiredInput)) {
                        requiredInput += '、';
                    }
                    requiredInput += '大修理时限';
                }
                if (PageMCEElement.Live_Technical_Support_Time__c == null || ''.equals(PageMCEElement.Live_Technical_Support_Time__c)) {
                    if (!''.equals(requiredInput)) {
                        requiredInput += '、';
                    }
                    requiredInput += '现场技术支持时限';
                }
                if (PageMCEElement.Tour_Check__c == null || ''.equals(PageMCEElement.Tour_Check__c)) {
                    if (!''.equals(requiredInput)) {
                        requiredInput += '、';
                    }
                    requiredInput += '巡回';
                }
                if (PageMCEElement.Inspection_Time__c == null || ''.equals(PageMCEElement.Inspection_Time__c)) {
                    if (!''.equals(requiredInput)) {
                        requiredInput += '、';
                    }
                    requiredInput += '点检';
                }
                if (PageMCEElement.Dedust__c == null || ''.equals(PageMCEElement.Dedust__c)) {
                    if (!''.equals(requiredInput)) {
                        requiredInput += '、';
                    }
                    requiredInput += '除尘';
                }
                if (PageMCEElement.First_Party_Contract_Number__c == null || ''.equals(PageMCEElement.First_Party_Contract_Number__c)) {
                    if (!''.equals(requiredInput)) {
                        requiredInput += '、';
                    }
                    requiredInput += '合同份数:甲方:';
                }
                if (PageMCEElement.Second_Party_Contract_Number__c == null || ''.equals(PageMCEElement.Second_Party_Contract_Number__c)) {
                    if (!''.equals(requiredInput)) {
                        requiredInput += '、';
                    }
                    requiredInput += '合同份数:乙方:';
                }
                if (!''.equals(requiredInput)) {
                    // ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR, '该合同是标准合同,请输入:' + requiredInput));
                    returnData.status = '该合同是标准合同,请输入:' + requiredInput;
                    returnData.statusSave = 'Denied';
                    return returnData;
                }
            } else {
                if (PageMCEElement.Term_Of_Payment__c != null &&
                        '多次付款'.equals(PageMCEElement.Term_Of_Payment__c)) {
                    decimal PriceSum =  (PageMCEElement.Payment_Plan_Sum_First__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_First__c) +
                                        (PageMCEElement.Payment_Plan_Sum_Second__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Second__c) +
                                        (PageMCEElement.Payment_Plan_Sum_Third__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Third__c) +
                                        (PageMCEElement.Payment_Plan_Sum_Forth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Forth__c) +
                                        (PageMCEElement.Payment_Plan_Sum_Fifth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Fifth__c) +
                                        (PageMCEElement.Payment_Plan_Sum_Sixth__c == null ? 0 : PageMCEElement.Payment_Plan_Sum_Sixth__c);
                    if (PriceSum != PageMCEElement.Contract_Amount__c ) {
                        returnData.status = '付款总金额与合同金额不符。';
                        returnData.statusSave = 'Denied';
                        return returnData;
                    }
                }
            }
            if (PageMCEElement.Term_Of_Payment__c != null
                    && '一次性付款'.equals(PageMCEElement.Term_Of_Payment__c)) {
                PageMCEElement.Payment_Plan_Sum_First__c    = PageMCEElement.Contract_Amount__c;
                PageMCEElement.Payment_Plan_Sum_Second__c   = null;
                PageMCEElement.Payment_Plan_Sum_Third__c    = null;
                PageMCEElement.Payment_Plan_Sum_Forth__c    = null;
                PageMCEElement.Payment_Plan_Sum_Fifth__c    = null;
                PageMCEElement.Payment_Plan_Sum_Sixth__c    = null;
                PageMCEElement.Payment_Plan_Date_First__c   = null;
                PageMCEElement.Payment_Plan_Date_Second__c  = null;
                PageMCEElement.Payment_Plan_Date_Third__c   = null;
                PageMCEElement.Payment_Plan_Date_Forth__c   = null;
                PageMCEElement.Payment_Plan_Date_Fifth__c   = null;
                PageMCEElement.Payment_Plan_Date_Sixth__c   = null;
                PageMCEElement.Total_Payment_Time__c        = null;
            } else {
                PageMCEElement.one_off_payment_agreed_period__c        = null;
            }
            if (PageMCEElement.Is_Standard_Contract__c != null && PageMCEElement.Is_Standard_Contract__c.equals('否')) {
                System.debug('-------1-------'+PageMCEElement.Is_Standard_Contract__c);
                PageMCEElement.Engineer_Name__c = null;
                PageMCEElement.Phone_Number__c = null;
                PageMCEElement.Small_Repair_Time__c = null;
                PageMCEElement.Big_Repair_Time__c = null;
                PageMCEElement.Live_Technical_Support_Time__c = null;
                PageMCEElement.Tour_Check__c = null;
                PageMCEElement.Dedust__c = null;
                PageMCEElement.First_Party_Contract_Number__c = null;
                PageMCEElement.Second_Party_Contract_Number__c = null;
            }
            PageMCEElement.MainLeaderManager__c = MCEElement.JingliApprovalManager__c;
            update PageMCEElement;
            returnData.statusSave = 'Fin';
            return returnData;
        } catch (exception ex) {
            returnData.statusSave = 'Denied';
            Database.rollback(sp);
            returnData.status = ex.getMessage();
            return returnData;
        }
    }
    // 返回查询结果和状态
    public class ReturnData {
        @AuraEnabled
        public Maintenance_Contract__c PageMCE;
        @AuraEnabled
        public String status;
        @AuraEnabled
        public String statusSave;
        @AuraEnabled
        public Integer Contract_validMonth;
        @AuraEnabled
        public Boolean printContract;
        @AuraEnabled
        public Boolean printAgent;
        @AuraEnabled
        public Boolean agreeUpperLimit;
        // 新增点检总次数(只在页面中显示)fxk 2021/9/2 End
        public ReturnData(){
            PageMCE = new Maintenance_Contract__c();
        }
    }
}
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.css
New file
@@ -0,0 +1,14 @@
.Narrow{
    padding: 20px;
}
.searchField,.searchField .input-text{
    /*display: flex;*/
}
.searchField .slds-combobox_container{
    width: 160px !important;
}
.Firstaccordion {
    --slds-c-accordion-heading-text-color: white;
    --slds-c-accordion-summary-color-background: Black;
    --slds-c-accordion-heading-font-size: 20px;
}
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.html
New file
@@ -0,0 +1,229 @@
<template>
    <lightning-card  variant="Narrow">
        <lightning-spinner variant="brand" size="medium" if:true={isLoading}></lightning-spinner>
    <div style="padding: 0 20px">
      <div>
          <lightning-button label="保存" onclick={handlesave}  disabled = {dis29}></lightning-button>
          <lightning-button label="取消" onclick ={CloseJs} disabled = {dis30}></lightning-button>
          <lightning-button label="打印"  onclick={handlePrint} disabled = {dis28}></lightning-button>
          <lightning-layout>
                  <lightning-combobox
                    name="progress"
                    label="是否为标准合同:"
                    value={MCEElement.Is_Standard_Contract__c}
                    placeholder=""
                    options={IsStandardContractoptions}
                    required
                    disabled = {dis1}
                    onchange={handleIsStandardContract} ></lightning-combobox>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
          </lightning-layout>
          <p>(必填项,所有合同均必须勾选) </p>
      </div>
         <lightning-accordion allow-multiple-sections-open
                              active-section-name={activeSections} class="Firstaccordion">
            <lightning-accordion-section name="paymentPlan" label="付款计划(必填内容):">
              <lightning-layout>
                  <lightning-layout-item flexibility="auto" padding="around-small">
                        <lightning-combobox
                name="progress"
                label="付款方式:"
                value={MCEElement.Term_Of_Payment__c}
                options={TermOfPaymentoptions}
                onchange={handleTermOfPayment}
                class="searchField"
                disabled = {dis2}
                ></lightning-combobox>
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                </lightning-layout>
                <template if:true={showTabOnce}>
                  <lightning-layout >
                     <div style="padding: 10px 3px;border-bottom: 1px solid;font: 16px;font-size: 20px;">一次性付款</div>
                  </lightning-layout>
                  <lightning-layout vertical-align="center">
                     <p style="font-size: 15px;">本合同正式签订之日起&nbsp;&nbsp;</p>
                      <lightning-combobox name="progress" label="" disabled = {dis3} value={MCEElement.one_off_payment_agreed_period__c} options={oneoffpaymentagreedperiodOptions}
                          onchange={handleOneoff} class="searchField" style = "width:60px" variant="label-hidden"></lightning-combobox>
                     <p style="font-size: 15px;">&nbsp;&nbsp;日内,甲方向乙方支付全部合同款人民币</p>{MCEElement.Contract_Amount__c}<p style="font-size: 15px;">&nbsp;&nbsp;元,大写</p>{MCEElement.Total_Contract_Amount_In_Words__c}<p style="font-size: 15px;">。</p>
                  </lightning-layout>
                </template>
                <template if:true={showTabTwice}>
                  <lightning-layout>
                     <div style="padding: 10px 3px;border-bottom: 1px solid;font: 16px;font-size: 20px;">多次付款</div>
                  </lightning-layout>
                  <lightning-layout vertical-align="center">
                     <p style="font-size: 15px;">本合同款项分&nbsp;&nbsp;</p>
                      <lightning-combobox name="progress" label="" disabled = {dis4} value={MCEElement.Total_Payment_Time__c} options={TotalPaymentTimeOption}
                          onchange={handleTotalPaymentTime} class="searchField" style = "width:60px" variant="label-hidden"></lightning-combobox>
                     <p style="font-size: 15px;">&nbsp;&nbsp;期付出,详细如下:</p>
                  </lightning-layout>
                  <lightning-layout vertical-align="center">
                     <p style="font-size: 15px;">第一期款项付款时间为&nbsp;&nbsp;</p>
                      <lightning-input disabled = {dis5} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_First__c} onchange={handleDateFirst} ></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;前,甲方向乙方支付人民币&nbsp;&nbsp;</p>
                     <lightning-input disabled = {dis6} value={MCEElement.Payment_Plan_Sum_First__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumFirst}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;元,大写</p>{MCEElement.Payment_Plan_Sum_First_in_Word__c}<p style="font-size: 15px;">;</p>
                  </lightning-layout>
                  <lightning-layout vertical-align="center">
                     <p style="font-size: 15px;">第二期款项付款时间为&nbsp;&nbsp;</p>
                      <lightning-input disabled = {dis7} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Second__c} onchange={handleDateSecond}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;前,甲方向乙方支付人民币&nbsp;&nbsp;</p>
                     <lightning-input disabled = {dis8} value={MCEElement.Payment_Plan_Sum_Second__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumSecond}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;元,大写</p>{MCEElement.Payment_Plan_Sum_Second_in_Word__c}<p style="font-size: 15px;">;</p>
                  </lightning-layout>
                  <lightning-layout vertical-align="center">
                     <p style="font-size: 15px;">第三期款项付款时间为&nbsp;&nbsp;</p>
                      <lightning-input disabled = {dis9} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Third__c} onchange={handleDateThird}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;前,甲方向乙方支付人民币&nbsp;&nbsp;</p>
                     <lightning-input disabled = {dis10} value={MCEElement.Payment_Plan_Sum_Third__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumThird}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;元,大写</p>{MCEElement.Payment_Plan_Sum_Third_in_Word__c}<p style="font-size: 15px;">;</p>
                  </lightning-layout>
                  <lightning-layout vertical-align="center">
                     <p style="font-size: 15px;">第四期款项付款时间为&nbsp;&nbsp;</p>
                      <lightning-input disabled = {dis11} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Forth__c} onchange={handleDateForth}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;前,甲方向乙方支付人民币&nbsp;&nbsp;</p>
                     <lightning-input disabled = {dis12} value={MCEElement.Payment_Plan_Sum_Forth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumForth}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;元,大写</p>{MCEElement.Payment_Plan_Sum_Forth_in_Word__c}<p style="font-size: 15px;">;</p>
                  </lightning-layout>
                  <lightning-layout vertical-align="center">
                     <p style="font-size: 15px;">第五期款项付款时间为&nbsp;&nbsp;</p>
                      <lightning-input disabled = {dis13} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Fifth__c} onchange={handleDateFivth}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;前,甲方向乙方支付人民币&nbsp;&nbsp;</p>
                     <lightning-input disabled = {dis14} value={MCEElement.Payment_Plan_Sum_Fifth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumFivth}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;元,大写</p>{MCEElement.Payment_Plan_Sum_Fivth_in_Word__c}<p style="font-size: 15px;">;</p>
                  </lightning-layout>
                  <lightning-layout vertical-align="center">
                     <p style="font-size: 15px;">第六期款项付款时间为&nbsp;&nbsp;</p>
                      <lightning-input disabled = {dis15} type="date" variant="label-hidden" label="" value={MCEElement.Payment_Plan_Date_Sixth__c} onchange={handleDateSixth}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;前,甲方向乙方支付人民币&nbsp;&nbsp;</p>
                     <lightning-input disabled = {dis16} value={MCEElement.Payment_Plan_Sum_Sixth__c} type="text" variant="label-hidden" label="" class="searchField" onchange={handleSumSixth}></lightning-input>
                     <p style="font-size: 15px;">&nbsp;&nbsp;元,大写</p>{MCEElement.Payment_Plan_Sum_Sixth_in_Word__c}<p style="font-size: 15px;">;</p>
                  </lightning-layout>
                </template>
            </lightning-accordion-section>
            <div style="margin-left:5%; color:Blue ;font-size:25px">
            <p>提示信息:标准合同下述内容需要全部填写。</p>
            </div>
            <lightning-accordion-section name="TextInformation" label="文本信息:">
              <template if:true={showTabOne}>
                <lightning-layout>
                  <lightning-layout-item flexibility="auto" padding="around-small">
                      <lightning-combobox disabled = {dis17} name="progress" label="小修理时限:(工作日)" value={MCEElement.Small_Repair_Time__c} options={SmallRepairTimeOptions}
                          onchange={handleSmallRepairTime} class="searchField"></lightning-combobox>
                  </lightning-layout-item>
                  <lightning-layout-item flexibility="auto" padding="around-small">
                      <lightning-combobox
                      name="progress" disabled = {dis18} label="大修理时限:(工作日)" value={MCEElement.Big_Repair_Time__c} options={BigRepairTimeOptions} onchange={handleBigRepairTime}
                      class="searchField"></lightning-combobox>
                  </lightning-layout-item>
                  <lightning-layout-item flexibility="auto" padding="around-small">
                      <lightning-combobox
                      name="progress" disabled = {dis19}  label="现场技术支持时限:(小时)" value={MCEElement.Live_Technical_Support_Time__c} options={LiveTechnicalSupportTimeOptions} onchange={handleLiveTechnicalSupportTime}
                      class="searchField"></lightning-combobox>
                  </lightning-layout-item>
                  <lightning-layout-item flexibility="auto" padding="around-small">
                      <lightning-combobox disabled = {dis20}
                      name="progress" label="巡回:(每年)" value={MCEElement.Tour_Check__c} options={TourCheckOptions} onchange={handleTourCheck}
                      class="searchField"></lightning-combobox>
                  </lightning-layout-item>
                </lightning-layout>
                <lightning-layout>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                        <lightning-combobox disabled = {dis21}
                        name="progress" label="除尘:(每年)" value={MCEElement.Dedust__c} options={DedustOptions} onchange={handleDedust}
                        class="searchField" ></lightning-combobox>
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                        <lightning-combobox disabled = {dis22}
                        name="progress" label="合同份数:甲方:" value={MCEElement.First_Party_Contract_Number__c} options={FirstPartyContractNumberOptions} onchange={handleFirstPartyContractNumber}
                        class="searchField"></lightning-combobox>
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                        <lightning-combobox disabled = {dis23}
                        name="progress" label="合同份数:乙方:" value={MCEElement.Second_Party_Contract_Number__c} options={SecondPartyContractNumberOptions} onchange={handleSecondPartyContractNumber}
                        class="searchField" ></lightning-combobox>
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                </lightning-layout>
                <lightning-layout>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                        <lightning-textarea disabled = {dis24} name="EngineerName" label="工程师姓名:" value={MCEElement.Engineer_Name__c} onchange={handleEngineerName}></lightning-textarea>
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                        <lightning-textarea  disabled = {dis25} name="Tel" label="手机号码:"  onchange={handlephoneNumber} value={MCEElement.Phone_Number__c}></lightning-textarea>
                    </lightning-layout-item>
                </lightning-layout>
              </template>
                <lightning-layout>
                  <lightning-layout-item flexibility="auto" padding="around-small">
                        <lightning-combobox disabled = {dis26}
                        name="progress" label="点检:(每年)【必填项】" value={MCEElement.Inspection_Time__c} options={InspectionTimeOptions} onchange={handleInspectionTime}
                        class="searchField" required></lightning-combobox>
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                </lightning-layout>
                <lightning-layout>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                         <p>点检总次数: 共 {MCEElement.Inspection_Time__c} 次</p>
                    </lightning-layout-item>
                   <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                </lightning-layout>
                <lightning-layout>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                        <lightning-combobox disabled = {dis27}
                        name="progress" label="协商方式" value={MCEElement.Negotiate_Mean__c} options={NegotiateMeanOptions} onchange={handleNegotiateMean}
                        class="searchField"></lightning-combobox>
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                </lightning-layout>
                <lightning-layout>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                        <p>提示信息:(1)任何一方有权向设在北京的中国国际经济贸易仲裁委员会申请仲裁,仲裁的裁决是终局性的,对双方均有约束力。(2)向甲方所在地有管辖权的人民法院提起诉讼。(3)向乙方所在地有管辖权的人民法院提起诉讼。</p>
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                    <lightning-layout-item flexibility="auto" padding="around-small">
                    </lightning-layout-item>
                </lightning-layout>
                 <lightning-button label="保存" onclick={handlesave} disabled = {dis29}></lightning-button>
                <lightning-button label="取消" onclick ={CloseJs} disabled = {dis30}></lightning-button>
                <lightning-button label="打印" onclick={handlePrint} disabled = {dis28}></lightning-button>
            </lightning-accordion-section>
          </lightning-accordion>
    </div>
  </lightning-card>
</template>
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js
New file
@@ -0,0 +1,575 @@
import { LightningElement,wire,track,api} from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import { NavigationMixin } from 'lightning/navigation';
import { updateRecord } from 'lightning/uiRecordApi';
import { refreshPage } from 'lightning/navigation';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import print from '@salesforce/apex/lexNewPaymentPlanLoadLWCController.print';
import init from '@salesforce/apex/lexNewPaymentPlanLoadLWCController.init';
import save from '@salesforce/apex/lexNewPaymentPlanLoadLWCController.save';
export default class lexNewPaymentPlanLoadLWC extends LightningElement {
    @api recordId;
    isLoading = false;
    MCEElement = {
        Id: '',
        Phone_Number__c: '',
        Status__c: '',
        old_Is_RecognitionModel__c: '',
        Engineer_Name__c: '',
        Is_Standard_Contract__c: '',
        Term_Of_Payment__c: '',
        Contract_Range__c:'',
        one_off_payment_agreed_period__c: '',
        Total_Payment_Time__c: '',
        Payment_Plan_Date_First__c: '',
        Payment_Plan_Date_Second__c: '',
        Payment_Plan_Date_Third__c: '',
        Payment_Plan_Date_Forth__c: '',
        Payment_Plan_Date_Fifth__c: '',
        Payment_Plan_Date_Sixth__c: '',
        Payment_Plan_Sum_First__c: '',
        Payment_Plan_Sum_Second__c: '',
        Payment_Plan_Sum_Third__c: '',
        Payment_Plan_Sum_Forth__c: '',
        Payment_Plan_Sum_Fifth__c: '',
        Payment_Plan_Sum_Sixth__c: '',
        Small_Repair_Time__c: '',
        Big_Repair_Time__c: '',
        Live_Technical_Support_Time__c: '',
        Tour_Check__c: '',
        Dedust__c: '',
        URF_Contract__c:'',
        First_Party_Contract_Number__c: '',
        Second_Party_Contract_Number__c: '',
        Contract_Amount__c: '',
        Total_Contract_Amount_In_Words__c: '',
        Payment_Plan_Sum_First_in_Word__c: '',
        Payment_Plan_Sum_Second_in_Word__c: '',
        Payment_Plan_Sum_Third_in_Word__c: '',
        Payment_Plan_Sum_Forth_in_Word__c: '',
        Payment_Plan_Sum_Fivth_in_Word__c: '',
        Payment_Plan_Sum_Sixth_in_Word__c: '',
        Negotiate_Mean__c: '',
        Amount_Warranty_Coverage_In_Word__c: '',
        Amount_Warranty_Coverage__c: '',
        Inspection_Time__c :'',
        Contract_End_Date__c:'',
        Contract_Start_Date__c:'',
        Service_contract_target_number__c:'',
        User_Salesdepartment__c:'',
        JingliApprovalManager__c:'',
        Estimate_Target__c:'',
        Decided_Estimation__c:'',
        Salesdepartment__c:''
    };
    printContract;
    printAgent;
    agreeUpperLimit;
    ContractAllMonth;
    statusSave;
    activeSections = ['paymentPlan', 'TextInformation'];
    showTabOne ;
    showTabTwice ;
    showTabOnce ;
    // 页面disable
    dis1;
    dis2;
    dis3;
    dis4;
    dis5;
    dis6;
    dis7;
    dis8;
    dis9;
    dis10;
    dis11;
    dis12;
    dis13;
    dis14;
    dis15;
    dis16;
    dis17;
    dis18;
    dis19;
    dis21;
    dis22;
    dis23;
    dis24;
    dis25;
    dis26;
    dis27;
    dis28;
    dis29;
    dis30;
    //是否为标准合同
    get IsStandardContractoptions() {
        return[{ label: '--无--', value: '' },
                    { label: '是', value: '是' },
                    { label: '否', value: '否' }];
    }
     // 付款方式
    TermOfPaymentoptions = [{ label: '一次性付款', value: '一次性付款' },
                    { label: '多次付款', value: '多次付款' }];
     //一次性付款
     oneoffpaymentagreedperiodOptions = [{ label: '15', value: '15' },
                    { label: '30', value: '30' },
                    { label: '60', value: '60' }];
      //多次付款
    TotalPaymentTimeOption = [
                    { label: '1', value: '1' },
                    { label: '2', value: '2' },
                    { label: '3', value: '3' },
                    { label: '4', value: '4' },
                    { label: '5', value: '5' },
                    { label: '6', value: '6' }];
      //小修理时限:
    SmallRepairTimeOptions = [{ label: '5', value: '5' },
                    { label: '7', value: '7' },
                    { label: '10', value: '10' }];
       //大修理时限:
    BigRepairTimeOptions = [{ label: '7', value: '7' },
                    { label: '10', value: '10' },
                    { label: '15', value: '15' },
                    { label: '20', value: '20' },
                    { label: '25', value: '25' },
                    { label: '30', value: '30' }];
       //现场技术支持时限:
    LiveTechnicalSupportTimeOptions = [{ label: '24', value: '24' },
                    { label: '48', value: '48' },
                    { label: '72', value: '72' }];
      //巡回:
    TourCheckOptions = [{ label: '0', value: '0' },
                    { label: '1', value: '1' },
                    { label: '2', value: '2' },
                    { label: '3', value: '3' },
                    { label: '4', value: '4' }];
   //点检1
    InspectionTimeOptions = [
                    { label: '1', value: '1' },
                    { label: '2', value: '2' },
                    { label: '3', value: '3' },
                    { label: '4', value: '4' }];
    //除尘
    DedustOptions = [{ label: '0', value: '0' },
                    { label: '1', value: '1' },
                    { label: '2', value: '2' }];
     //合同份数:甲方:
    FirstPartyContractNumberOptions = [
                    { label: '1', value: '1' },
                    { label: '2', value: '2' },
                    { label: '3', value: '3' },
                    { label: '4', value: '4' },
                    { label: '5', value: '5' },
                    { label: '6', value: '6' },
                    { label: '7', value: '7' },
                    { label: '8', value: '8' },
                    { label: '9', value: '9' },
                    { label: '10', value: '10' }];
    //合同份数:乙方:
    SecondPartyContractNumberOptions = [
                    { label: '1', value: '1' },
                    { label: '2', value: '2' },
                    { label: '3', value: '3' },
                    { label: '4', value: '4' },
                    { label: '5', value: '5' },
                    { label: '6', value: '6' },
                    { label: '7', value: '7' },
                    { label: '8', value: '8' },
                    { label: '9', value: '9' },
                    { label: '10', value: '10' }];
    // 协商方式
    NegotiateMeanOptions = [
                    { label: '1', value: '1' },
                    { label: '2', value: '2' },
                    { label: '3', value: '3' }];
     @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
        if (currentPageReference) {
          const urlValue = currentPageReference.state.recordId;
          if (urlValue) {
            let str = `${urlValue}`;
            this.recordId = str;
          }
        }
    }
    connectedCallback(){
        this.recordId = 'a0H1000001DV1cp';
        init({
            recordId: this.recordId
        }).then(result => {
            if (result.PageMCE == null) {
                    const event = new ShowToastEvent({
                             title: 'warning',
                             message: result.status,
                             variant:'warning',
                            });
                    this.dispatchEvent(event);
             }
             this.MCEElement.Status__c                          = result.PageMCE.Status__c;
             this.MCEElement.URF_Contract__c                    = result.PageMCE.URF_Contract__c;
             this.MCEElement.Id                                 = this.recordId;
             this.MCEElement.Contract_Range__c                  = result.PageMCE.Contract_Range__c;
             this.MCEElement.Decided_Estimation__c              = result.PageMCE.Decided_Estimation__c;
             this.MCEElement.Estimate_Target__c                 = result.PageMCE.Estimation_Id__r.Estimate_Target__c;
             this.MCEElement.Salesdepartment__c                 = result.PageMCE.Service_Contract_Staff__r.Salesdepartment__c;
             this.MCEElement.Contract_End_Date__c               = result.PageMCE.Contract_End_Date__c;
             this.MCEElement.Contract_Start_Date__c             = result.PageMCE.Contract_Start_Date__c;
             this.MCEElement.User_Salesdepartment__c            = result.PageMCE.User_Salesdepartment__c;
             this.MCEElement.Service_contract_target_number__c  = result.PageMCE.Service_contract_target_number__c;
             this.MCEElement.JingliApprovalManager__c           = result.PageMCE.Service_Contract_Staff__r.JingliApprovalManager__c;
             this.ContractAllMonth                              = result.Contract_validMonth;
             this.statusSave                                    = result.statusSave;
             this.MCEElement.old_Is_RecognitionModel__c         = result.PageMCE.old_Is_RecognitionModel__c;
             this.MCEElement.Engineer_Name__c                   = result.PageMCE.Engineer_Name__c;
             this.MCEElement.Is_Standard_Contract__c            = result.PageMCE.Is_Standard_Contract__c;
             this.MCEElement.Term_Of_Payment__c                 = result.PageMCE.Term_Of_Payment__c;
             this.MCEElement.one_off_payment_agreed_period__c   = result.PageMCE.one_off_payment_agreed_period__c;
             this.MCEElement.Total_Payment_Time__c              = result.PageMCE.Total_Payment_Time__c;
             this.MCEElement.Payment_Plan_Date_First__c         = result.PageMCE.Payment_Plan_Date_First__c;
             this.MCEElement.Payment_Plan_Date_Second__c        = result.PageMCE.Payment_Plan_Date_Second__c;
             this.MCEElement.Payment_Plan_Date_Third__c         = result.PageMCE.Payment_Plan_Date_Third__c;
             this.MCEElement.Payment_Plan_Date_Forth__c         = result.PageMCE.Payment_Plan_Date_Forth__c;
             this.MCEElement.Payment_Plan_Date_Fifth__c         = result.PageMCE.Payment_Plan_Date_Fifth__c;
             this.MCEElement.Payment_Plan_Date_Sixth__c         = result.PageMCE.Payment_Plan_Date_Sixth__c;
             this.MCEElement.Payment_Plan_Sum_First__c          = result.PageMCE.Payment_Plan_Sum_First__c;
             this.MCEElement.Payment_Plan_Sum_Second__c         = result.PageMCE.Payment_Plan_Sum_Second__c;
             this.MCEElement.Payment_Plan_Sum_Third__c          = result.PageMCE.Payment_Plan_Sum_Third__c;
             this.MCEElement.Payment_Plan_Sum_Forth__c          = result.PageMCE.Payment_Plan_Sum_Forth__c;
             this.MCEElement.Payment_Plan_Sum_Fifth__c          = result.PageMCE.Payment_Plan_Sum_Fifth__c;
             this.MCEElement.Payment_Plan_Sum_Sixth__c          = result.PageMCE.Payment_Plan_Sum_Sixth__c;
             this.MCEElement.Small_Repair_Time__c               = result.PageMCE.Small_Repair_Time__c;
             this.MCEElement.Big_Repair_Time__c                 = result.PageMCE.Big_Repair_Time__c;
             this.MCEElement.Live_Technical_Support_Time__c     = result.PageMCE.Live_Technical_Support_Time__c;
             this.MCEElement.Tour_Check__c                      = result.PageMCE.Tour_Check__c;
             this.MCEElement.Phone_Number__c                    = result.PageMCE.Phone_Number__c;
             this.MCEElement.Dedust__c                          = result.PageMCE.Dedust__c;
             this.MCEElement.First_Party_Contract_Number__c     = result.PageMCE.First_Party_Contract_Number__c;
             this.MCEElement.Second_Party_Contract_Number__c    = result.PageMCE.Second_Party_Contract_Number__c;
             this.MCEElement.Contract_Amount__c                 = result.PageMCE.Contract_Amount__c;
             this.MCEElement.Total_Contract_Amount_In_Words__c  = result.PageMCE.Total_Contract_Amount_In_Words__c;
             this.MCEElement.Payment_Plan_Sum_First_in_Word__c  = result.PageMCE.Payment_Plan_Sum_First_in_Word__c;
             this.MCEElement.Payment_Plan_Sum_Second_in_Word__c = result.PageMCE.Payment_Plan_Sum_Second_in_Word__c;
             this.MCEElement.Payment_Plan_Sum_Third_in_Word__c  = result.PageMCE.Payment_Plan_Sum_Third_in_Word__c;
             this.MCEElement.Payment_Plan_Sum_Forth_in_Word__c  = result.PageMCE.Payment_Plan_Sum_Forth_in_Word__c;
             this.MCEElement.Payment_Plan_Sum_Fivth_in_Word__c  = result.PageMCE.Payment_Plan_Sum_Fivth_in_Word__c;
             this.MCEElement.Payment_Plan_Sum_Sixth_in_Word__c  = result.PageMCE.Payment_Plan_Sum_Sixth_in_Word__c;
             this.MCEElement.Negotiate_Mean__c                  = result.PageMCE.Negotiate_Mean__c;
             this.MCEElement.Inspection_Time__c                 = result.PageMCE.Inspection_Time__c;
             this.MCEElement.Amount_Warranty_Coverage__c    = (result.PageMCE.Contract_Amount__c*1.3).toString();
             this.MCEElement.Amount_Warranty_Coverage_In_Word__c = this.smalltoBIG(this.MCEElement.Amount_Warranty_Coverage__c);
             this.AllChecktime();
             this.Initdisabled();
             this.refresh();
        }).catch(error => {
            console.log("error");
            console.log(error.message());
        });
    }
    handleIsStandardContract(event) {
        this.MCEElement.Is_Standard_Contract__c = event.detail.value;
        this.refresh();
        this.AllChecktime();
    }
    handleTermOfPayment(event) {
        this.MCEElement.Term_Of_Payment__c  = event.detail.value;
        this.refresh();
    }
    handleOneoff(event) {
        this.MCEElement.one_off_payment_agreed_period__c = event.detail.value;
    }
    handleSmallRepairTime(event) {
        this.MCEElement.Small_Repair_Time__c = event.detail.value;
    }
    handleBigRepairTime(event) {
        this.MCEElement.Big_Repair_Time__c = event.detail.value;
    }
    handleLiveTechnicalSupportTime(event) {
        this.MCEElement.Live_Technical_Support_Time__c = event.detail.value;
    }
    handleTourCheck(event) {
        this.MCEElement.Tour_Check__c = event.detail.value;
    }
    handleInspectionTime(event) {
         this.MCEElement.Inspection_Time__c = event.detail.value;
        this.AllChecktime();
    }
    handleDedust(event) {
        this.MCEElement.Dedust__c  = event.detail.value;
    }
    handleFirstPartyContractNumber(event) {
        this.MCEElement.First_Party_Contract_Number__c = event.detail.value;
    }
    handleSecondPartyContractNumber(event) {
        this.MCEElement.Second_Party_Contract_Number__c = event.detail.value;
    }
    handleTotalPaymentTime(event) {
        this.MCEElement.Total_Payment_Time__c = event.detail.value;
    }
    // 多次付款列
    handleDateFirst(event){
        this.MCEElement.Payment_Plan_Date_First__c = event.detail.value;
    }
    handleDateSecond(event){
        this.MCEElement.Payment_Plan_Date_Second__c = event.detail.value;
    }
    handleDateThird(event){
        this.MCEElement.Payment_Plan_Date_Third__c = event.detail.value;
    }
    handleDateForth(event){
        this.MCEElement.Payment_Plan_Date_Forth__c = event.detail.value;
    }
    handleDateFivth(event){
        this.MCEElement.Payment_Plan_Date_Fifth__c  = event.detail.value;
    }
    handleDateSixth(event){
        this.MCEElement.Payment_Plan_Date_Sixth__c = event.detail.value;
    }
    handleSumFirst(event){
        this.MCEElement.Payment_Plan_Sum_First__c = event.detail.value;
        this.MCEElement.Payment_Plan_Sum_First_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_First__c);
        this.refresh();
    }
    handleSumSecond(event){
        this.MCEElement.Payment_Plan_Sum_Second__c  = event.detail.value;
        this.MCEElement.Payment_Plan_Sum_Second_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Second__c);
        this.refresh();
    }
    handleSumThird(event){
        this.MCEElement.Payment_Plan_Sum_Third__c = event.detail.value;
        this.MCEElement.Payment_Plan_Sum_Third_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Third__c);
        this.refresh();
    }
    handleSumForth(event){
        this.MCEElement.Payment_Plan_Sum_Forth__c  = event.detail.value;
        this.MCEElement.Payment_Plan_Sum_Forth_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Forth__c);
        this.refresh();
    }
    handleSumFivth(event){
        this.MCEElement.Payment_Plan_Sum_Fifth__c = event.detail.value;
        this.MCEElement.Payment_Plan_Sum_Fivth_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Fifth__c);
        this.refresh();
    }
    handleSumSixth(event){
        this.MCEElement.Payment_Plan_Sum_Sixth__c = event.detail.value;
        this.MCEElement.Payment_Plan_Sum_Sixth_in_Word__c = this.smalltoBIG(this.MCEElement.Payment_Plan_Sum_Sixth__c);
        this.refresh();
    }
    handleNegotiateMean(event){
        this.MCEElement.Negotiate_Mean__c  = event.detail.value;
    }
    handleEngineerName(event){
        this.MCEElement.Engineer_Name__c  = event.detail.value;
    }
    handlephoneNumber(event){
        // this.phoneNumber = event.detail.value;
        this.MCEElement.Phone_Number__c = event.detail.value;
    }
    handlePrint(event){
        this.isLoading = true;
        print({
            MCEElement:this.MCEElement
        }).then(result =>{
                 console.log('result.statusSave='+result.statusSave);
                 if (result.statusSave == 'Denied') {
                    const event = new ShowToastEvent({
                             title: 'warning',
                             message: result.status,
                             variant:'warning',
                            });
                    this.dispatchEvent(event);
                    this.isLoading = false;
                 }else{
                     this.printContract = result.printContract;
                     this.printAgent = result.printAgent;
                     this.agreeUpperLimit = result.agreeUpperLimit;
                     this.statusSave    = result.statusSave;
                     this.PrintJs();
                 }
        }).catch(error => {
            console.log(error.message());
        });
    }
     handlesave(event){
        this.isLoading = true;
        save({
            MCEElement:this.MCEElement
         }).then(result =>{
                 if (result.statusSave == 'Denied') {
                    const event = new ShowToastEvent({
                             title: 'warning',
                             message: result.status,
                             variant:'warning',
                            });
                    this.dispatchEvent(event);
                    this.isLoading = false;
                 }
                 this.isLoading = false;
        }).catch(error => {
            const event = new ShowToastEvent({
                             title: 'warning',
                             message: '出错啦',
                             variant:'warning',
                            });
                    this.dispatchEvent(event);
                    this.isLoading = false;
            console.log("error"+error.message());
        });
    }
    /** 数字金额大写转换(可以处理整数,小数,负数) */
    smalltoBIG(n)
    {
        var fraction = ['角', '分'];
        var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
        var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟']  ];
        var head = n < 0? '欠': '';
        n = n.replace(/\,/g,"");
        n = Math.abs(n);
        var s = '';
        for (var i = 0; i < fraction.length; i++){
            s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
        }
        s = s || '整';
        n = Math.floor(n);
        for (var i = 0; i < unit[0].length && n > 0; i++)     {
            var p = '';
            for (var j = 0; j < unit[1].length && n > 0; j++)     {
                p = digit[n % 10] + unit[1][j] + p;
                n = Math.floor(n / 10);
            }
            s = p.replace(/(零.)*零$/, '').replace(/^$/, '零')  + unit[0][i] + s;
        }
        return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');
    }
    Initdisabled(){
        if(this.MCEElement.Status__c != '引合中'){
            this.dis1 = true;
            this.dis2 = true;
            this.dis3 = true;
            this.dis4 = true;
            this.dis5 = true;
            this.dis6 = true;
            this.dis7 = true;
            this.dis8 = true;
            this.dis9 = true;
            this.dis10 = true;
            this.dis11 = true;
            this.dis12 = true;
            this.dis13 = true;
            this.dis14 = true;
            this.dis15 = true;
            this.dis16 = true;
            this.dis17 = true;
            this.dis18 = true;
            this.dis19 = true;
            this.dis20 = true;
            this.dis21 = true;
            this.dis22 = true;
            this.dis23 = true;
            this.dis24 = true;
            this.dis25 = true;
            this.dis26 = true;
            this.dis27 = true;
            this.dis28 = true;
            this.dis29 = true;
            this.dis30 = true;
        }
        if (this.MCEElement.old_Is_RecognitionModel__c == 'true' && this.MCEElement.Term_Of_Payment__c == '多次付款') {
            this.dis28 = true;
        }
    }
    CloseJs() {
        if(this.statusSave == 'Fin'){
            window.opener.top.location.href = '/'+this.recordId;
            window.close();
            this.dispatchEvent(new CloseActionScreenEvent());
        }else{
            this.dispatchEvent(new CloseActionScreenEvent());
        }
    }
    // 新增点检总次数(只在页面中显示)fxk 2021/9/2 Star
    AllChecktime(){
        var Allchecks;
        if(( this.MCEElement.Inspection_Time__c == '1' && this.ContractAllMonth < 9)
            || ( this.MCEElement.Inspection_Time__c == '2' && this.ContractAllMonth < 6)
            || ( this.MCEElement.Inspection_Time__c == '3' && this.ContractAllMonth < 4)
            || ( this.MCEElement.Inspection_Time__c == '4' && this.ContractAllMonth < 3)){
            Allchecks = '1';
        }else{
            if (this.ContractAllMonth - parseInt(this.ContractAllMonth / 12) * 12 >= 6 &&  this.MCEElement.Inspection_Time__c == '1'){
                Allchecks = ((this.ContractAllMonth * Number( this.MCEElement.Inspection_Time__c))/12+1).toString();
            }else{
                Allchecks =((this.ContractAllMonth * Number( this.MCEElement.Inspection_Time__c))/12).toString();
            }
        }
        if (Allchecks!=null) {
             this.MCEElement.Inspection_Time__c = Allchecks;
        }
    }
    PrintJs() {
        if(this.statusSave == 'Fin'){
            this.dispatchEvent(new CloseActionScreenEvent());
            if (this.printContract == true) {
                //HWAG-BHT7XX 2019/11/26 START
                if(this.agreeUpperLimit == true){
                // 打印医院限次合同配置
                window.open('/apex/NewMCHPDFLimit?id='+this.recordId, 'MCHLimitPDF');
                this.isLoading = false;
                }else{
                // 打印医院合同配置
                window.open('/apex/NewMCHPDF?id='+this.recordId, 'MCHPDF');
                this.isLoading = false;
                }
                //HWAG-BHT7XX 2019/11/26 END
            }else if (this.printAgent == true) {
                if(this.agreeUpperLimit == true){
                //打印经销商限次合同
                window.open('/apex/NewMCAgentPDFLimit?id='+this.recordId, 'MCAgentLimitPDF');
                this.isLoading = false;
                }else{
                //打印经销商合同
                window.open('/apex/NewMCAgentPDF?id='+this.recordId, 'MCHPDF');
                this.isLoading = false;
                }
            }else {
                alert('1');
            }
        }else{
            this.dispatchEvent(new CloseActionScreenEvent());
            this.isLoading = false;
        }
    }
    refresh(){
        if (this.MCEElement.Is_Standard_Contract__c == '否') {
            this.showTabOne = false;
        }
        if (this.MCEElement.Is_Standard_Contract__c == '是'){
            this.showTabOne = true;
        }
        if (this.MCEElement.Term_Of_Payment__c  == '多次付款'){
            this.showTabOnce = false;
            this.showTabTwice = true;
        }
        if (this.MCEElement.Term_Of_Payment__c  == '一次性付款'){
            this.showTabOnce = true;
            this.showTabTwice = false;
        }
    }
}
force-app/main/default/lwc/lexNewPaymentPlanLoadLWC/lexNewPaymentPlanLoadLWC.js-meta.xml
New file
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexNewPaymentPlanLoadLWC">
    <apiVersion>54.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__RecordPage</target>
        <target>lightning__AppPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
        <target>lightning__Tab</target>
    </targets>
</LightningComponentBundle>