19626
2023-04-23 5988887959a96662f424c8be4c7e75ebe684b880
Merge branch 'LEX_dev' of http://47.92.229.245:8089/r/lightningupdate into LEX_dev
11个文件已添加
1个文件已修改
1845 ■■■■■ 已修改文件
force-app/main/default/classes/LexSISearchSetProductController.cls 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSISearchSetProductController.cls-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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/lwc/lexSISearchSetProduct/lexSISearchSetProduct.css 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.html 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js 181 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSISearchSetProductController.cls
New file
@@ -0,0 +1,173 @@
public with sharing class LexSISearchSetProductController {
    public LexSISearchSetProductController(){
    }
    @AuraEnabled
    public static InitData init(){
        InitData data=new InitData();
        data.rc = new Product_Set__c();
        data.sc = new Product_Set__c();
        data.cl = new List<Product_Set__c>();
        data.baseUrl = URL.getSalesforceBaseUrl().toExternalForm();
        data.SearchName='';
        data.SearchCode='';
        data.SearchPrice='';
        data.SearchQuantity='';
        data.reportid='';
        data.setProductidFullList=new list<String>();
        data.activities=new List<SSPLine>();
        data.setPFString='';
        data.DataStatus='';
        data.LabelI='';
        Report r = new Report();
        List<Report> rs = new List<Report>();
        rs=[Select id,DeveloperName,Name,NamespacePrefix from Report Where DeveloperName='Set_Product_Detail'];
        if (rs.size()>0){
            data.reportid = rs[0].id;
            data.reportid = data.reportid.substring(0,15);
        }
        data.LabelI=Product_Set__c.Quote_Select_Info__c.getDescribe().getLabel();
        System.debug('init: '+data);
        return data;
    }
    @AuraEnabled
    public static InitData serContact(String searchName,String searchCode){
        InitData data=new InitData();
        String searchSql = 'Select id, name, Price__c, Product_Set_CD__c, Quantity__c,Valid_Status__c,Quote_Select_Info__c From Product_Set__c ';
        String whereStr = 'Where id != null ';
        String whereSql = '';
        if(searchName != null && searchName != ''){
            whereSql += 'and name Like ' + '\'%' + searchName + '%\' ';
        }
        if(searchCode != null && searchCode != ''){
            whereSql += 'and Product_Set_CD__c like ' + '\'%' + searchCode + '%\' ';
        }
/*
*/
        searchSql = searchSql + whereStr + whereSql;
        searchSql += ' order by Product_Set_CD__c limit 500';
        data.cl = Database.query(searchSql);
        data.activities = New List<SSPLine>();
//    SSPLine a = new SSPLine();
        for(Product_Set__c psl : data.cl){
            SSPLine a = new SSPLine(psl);
            data.activities.add(a);
        }
        return data;
    }
    @AuraEnabled
    public static InitData SelectDone(List<String> activities,List<Boolean> isSelected){
        try{
            InitData data=new InitData();
            data.setPFString = '';
            data.setProductidFullList = New List<String>();
            if(activities.size()==1){
                data.setPFString = activities[0];
            }else{
                for(Integer i=0;i<activities.size();i++){
                    if(isSelected[i]==true){
                        if(String.isblank(data.setPFString)||data.setPFString==null){
                            data.setPFString = activities[i];
                        }else{
                            data.setPFString = data.setPFString+','+activities[i];
                        }
                    }
                }
            }
            data.DataStatus = 'Fin';
            return data;
        }catch(Exception e){
            System.debug('SelectDone error:'+e);
        }
        return null;
    }
    @AuraEnabled
    public static String getFileName(){
           Schema.DescribeFieldResult r = Product_Set__c.Quote_Select_Info__c.getDescribe();
        return r.getLabel();
    }
    public class InitData{
        @AuraEnabled
        public Product_Set__c rc;
        @AuraEnabled
        public Product_Set__c sc;
        @AuraEnabled
        public List<Product_Set__c> cl;
        @AuraEnabled
        public String SearchName;
        @AuraEnabled
        public String SearchCode;
        @AuraEnabled
        public String SearchPrice;
        @AuraEnabled
        public String SearchQuantity;
        @AuraEnabled
        public String baseUrl;
        @AuraEnabled
        public String reportid;
        @AuraEnabled
        public List<String> setProductidFullList;
        @AuraEnabled
        public List<SSPLine> activities;
        @AuraEnabled
        public String setPFString;
        @AuraEnabled
        public String DataStatus;
        @AuraEnabled
        public String LabelI;
    }
    public class SSPLine {
        @AuraEnabled
        public Boolean isSelected;
        @AuraEnabled
        public String setProductid;
        @AuraEnabled
        public String setProductidFull;
        @AuraEnabled
        public Decimal Quantity;
        @AuraEnabled
        public Product_Set__c theObject;
        @AuraEnabled
        public String Name;
        @AuraEnabled
        public String Product_Set_CD_c;
        @AuraEnabled
        public String Quote_Select_Info_c;
        @AuraEnabled
        public Boolean Valid_c;
        public SSPLine(Product_Set__c psl) {
            isSelected = false;
            setProductid = psl.id;
            setProductid = setProductid.substring(0,15);
            setProductidFull = psl.id;
            Name = psl.Name;
            Product_Set_CD_c= psl.Product_Set_CD__c;
            Quantity = psl.Quantity__c;
            Quote_Select_Info_c = psl.Quote_Select_Info__c;
            Valid_c = psl.Valid_Status__c;
        }
    }
}
force-app/main/default/classes/LexSISearchSetProductController.cls-meta.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>51.0</apiVersion>
    <status>Active</status>
</ApexClass>
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>
force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.css
New file
@@ -0,0 +1,10 @@
/*div {
    color: #fff;
    height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
}*/
 .spacer {
    height: 10px;
    /* 设置合适的高度来隔开上下两个模块 */
  }
force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.html
New file
@@ -0,0 +1,117 @@
<template>
<!-- <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
 -->
    <template if:true={isLoad}>
        <form id="mainForm" >
        <!-- <apex:actionFunction action="{!SelectDone}" name="SelectDone" reRender="setPFString,DataStatus" oncomplete="SetMuiltProduct();"/> -->
        <lightning-input type="hidden" value={data.setPFString} id="setPFString" ></lightning-input>
        <lightning-input type="hidden" value={data.DataStatus}  id="DataStatus" > </lightning-input>
        <lightning-card  title={Label.Set_Search}>
            <!-- <apex:pageBlock id="idSearchSetProduct" title="{Label.Set_Search}"> -->
            <div class="spacer" style="background-color:#DCDCDC;">
            </div>
                <table width="900" border="0" style="background-color:#DCDCDC;" class="my-table"  >
                    <colgroup>
                        <col width="12" />
                        <col width="20" />
                        <col width="20" />
                        <col width="200" />
                        <col width="200" />
                        <col width="20" />
                        <col width="428" />
                    </colgroup>
                    <tr>
                        <td>&nbsp;</td>
                        <th style="width: 50px">{Label.Search_Condition}</th>
                        <td>&nbsp;</td>
                        <th>{Label.Set_Name}</th>
                        <th>{Label.Set_Code}</th>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                    </tr>
                    <tr>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                        <td>&nbsp;</td>
                        <td><lightning-input type="search"  value={SearchName} onchange={searchNameInputChange} style="width:200px" ></lightning-input></td>
                        <td><lightning-input type="search" value={SearchCode} onchange={searchCodeInputChange} style="width:200px" > </lightning-input></td>
                        <td><lightning-button label={Label.Search} onclick={Select}  rerender="idRezultVisitor"  class="slds-m-left_x-small"> </lightning-button></td>
                        <td><lightning-button label="添加"  onclick={DataPrepare} class="slds-m-left_x-small"></lightning-button></td>
                    </tr>
                    <tr>
                        <td style="border-bottom: 1px solid #888;" colspan="15">&nbsp;</td>
                    </tr>
                </table>
            <div class="spacer" style="background-color:#DCDCDC;">
            </div>
                <table width="900" border="0" style="background-color:#DCDCDC;" >
                    <tr>
                        <td width="12">&nbsp;</td>
                        <th valign="top">{Label.Search_Result}</th>
                        <td width="20">&nbsp;</td>
                        <td>
                            <table border="0">
                                <tr>
                                    <td>
                                    <div id="iframelike" style="width:770px;
                                        height: 300px;
                                        overflow-y: auto;
                                        overflow-x: hidden;">
                                        <lightning-datatable
                                            key-field="id"
                                            data={data.activities}
                                            columns = {columns}>
                                        </lightning-datatable>
                                        <!-- <apex:pageBlockTable id="idRezultVisitor" value="{!activities}" var="c" border="1" columns="7" columnsWidth="30px,300px,120px,90x,200px,50px">
                                            <apex:column >
                                                <apex:facet name="header">选择</apex:facet>
                                                <apex:inputCheckbox value="{!c.isSelected}"/>
                                            </apex:column>
                                            <apex:column >
                                                <apex:facet name="header">Report</apex:facet>
                                                <apex:outputLink value="{!baseUrl}/{!reportid}?pv1={!c.setProductid}" target="_blank">◆</apex:outputLink>
                                            </apex:column>
                                            <apex:column >
                                                <apex:facet name="header">{Label.Set_Name}</apex:facet>
                                                <apex:outputLink value="{!c.Name}" onclick="SetProductId('{!c.setProductidFull}')">{!c.Name}</apex:outputLink>
                                            </apex:column>
                                            <apex:column >
                                                <apex:facet name="header">{Label.Set_Code}</apex:facet>
                                                <apex:outputText value="{!c.Product_Set_CD_c}" />
                                            </apex:column>
                                            <apex:column >
                                                <apex:facet name="header">{Label.Quantity}</apex:facet>
                                                <apex:outputText value="{!c.Quantity}" />
                                            </apex:column>
                                            <apex:column >
                                                <apex:facet name="header">{data.LabelI}</apex:facet>
                                                <apex:outputText value="{!c.Quote_Select_Info_c}" />
                                            </apex:column>
                                            <apex:column >
                                                <apex:facet name="header">{!$Label.Valid_Status}</apex:facet>
                                                <template layout="inline" rendered={c.Valid_c} >
                                                    <img width="16" height="16" title="チェック" class="checkImg" alt="チェック" src="/img/checkbox_checked.gif"/>
                                                </template>
                                            </apex:column>
                                        </apex:pageBlockTable> -->
                                    </div>
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            <!-- </apex:pageBlock> -->
            </lightning-card>
        </form>
    </template>
</template>
force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js
New file
@@ -0,0 +1,181 @@
import { LightningElement, track, wire } from 'lwc';
import Set_Name from '@salesforce/label/c.Set_Name';
import Search_Condition from '@salesforce/label/c.Search_Condition';
import Set_Search from '@salesforce/label/c.Set_Search';
import Set_Code from '@salesforce/label/c.Set_Code';
import Search from '@salesforce/label/c.Search';
import Search_Result from '@salesforce/label/c.Search_Result';
import Quantity from '@salesforce/label/c.Quantity';
import Valid_Status from '@salesforce/label/c.Valid_Status';
import serContact from '@salesforce/apex/LexSISearchSetProductController.serContact';
import SelectDone from '@salesforce/apex/LexSISearchSetProductController.SelectDone';
import getFileName from '@salesforce/apex/LexSISearchSetProductController.getFileName';
import init from '@salesforce/apex/LexSISearchSetProductController.init';
import a from '@salesforce/resourceUrl/jquery183minjs';
import b from '@salesforce/resourceUrl/PleaseWaitDialog';
export default class lexSISearchSetProduct extends LightningElement {
        Label={
            Set_Name,
            Search_Condition,
            Set_Search,
            Set_Code,
            Search_Result,
            Search,
            Quantity,
            Valid_Status,
        };
        isLoad=false;
        data;
        LabelI='';
        SearchName='';
        SearchCode='';
        columns = [
            { label: '选择', fieldName: 'isSelected' },
            { label: 'Report', fieldName: 'setUrl' },
            { label: this.Label.Set_Name, fieldName: 'Name' },
            { label: this.Label.Set_Code, fieldName: 'Product_Set_CD_c' },
            { label: this.Label.Quantity, fieldName: 'Quantity' },
            { label: this.Label.Valid_Status, fieldName: 'img' }
            // { label: 'Website', fieldName: 'Asset_Model_No_forPrint__c', type: 'url' },
            // { label: 'Phone', fieldName: 'phone', type: 'phone' },
            // { label: 'Balance', fieldName: 'amount', type: 'currency' },
            // { label: 'CloseAt', fieldName: 'closeAt', type: 'date' },
        ];
        async connectedCallback(){
            // getFileName().then(res=>{
            //     console.log("ttt");
            //     console.log(res);
            //     this.Quote_Select_Info__c_Label=res;
            // })
            console.log("jinru");
            await init().then(res=>{
                console.log("hhh");
                console.log("res:");
                console.log(res);
                console.log(res.LabelI);
                this.data=res;
                this.LabelI=res.LabelI;
                for (var i = this.data.activities.length - 1; i >= 0; i--) {
                    this.data.activities[i].setUrl= res.baseUrl + '/'+ res.reportid +'?pv1='+ this.data.activities[i].setProductid;
                    this.data.activities[i].urlIcon=true;
                    if(this.data.activities[i].Valid_c){
                        this.data.activities[i].img='';
                    }
                }
                this.columns = [
                    // { label: '选择', fieldName: 'isSelected' },
                    {
                        label: 'Report',
                        fieldName: 'setUrl',
                        type: 'url',
                        typeAttributes: {
                            label: '◆',
                            target: '_blank'
                        },
                        cellAttributes: {
                            iconName: {
                                fieldName: 'urlIcon',
                                operator: '=',
                                value: true
                            } ? 'standard:link' : '',
                            iconPosition: 'left',
                        }
                    },
                    { label: this.Label.Set_Name, fieldName: 'Name' },
                    { label: this.Label.Set_Code, fieldName: 'Product_Set_CD_c' },
                    { label: this.Label.Quantity, fieldName: 'Quantity' },
                    { label: this.data.LabelI, fieldName: 'Quote_Select_Info_c' },
                    { label: this.Label.Valid_Status, fieldName: 'img' }
                ];
                this.isLoad=true;
            });
        }
        SetProductId(str) {
            //top.window.opener.setProductEntry(str);
            top.window.opener.setProductEntryGateway(str);
            top.window.close();
        }
        SetMuiltProduct(){
            var Str = this.data.setPFString;
            var isPrepared = this.data.DataStatus;
            if(isPrepared!='Fin'){
                confirm(isPrepared)
            }else if(Str==''||Str==null){
                if(confirm("您尚未选取任何产品配套,确认完成么?")){
                    top.window.close();
                }else{
                }
            }else{
                top.window.opener.setProductEntryGateway(Str);
                top.window.close();
            }
        }
        async DataPrepare() {
            // body...
            console.log("添加:");
            this.data.DataStatus='数据尚未准备好,请稍等';
            console.log(this.data);
            let activities=[];
            let isSelected=[];
            for (var i = this.data.activities.length - 1; i >= 0; i--) {
                activities.push(this.data.activities[i].setProductidFull);
                isSelected.push(this.data.activities[i].isSelected);
            }
            //j$(escapeVfId("Page:mainForm:DataStatus")).val('数据尚未准备好,请稍等');
            await SelectDone({activities:activities,isSelected:isSelected}).then(res=>{
                console.log("SelectDone:");
                console.log(res);
                if(res!=null){
                    this.data.setPFString=res.setPFString;
                    this.data.setProductidFullList=res.setProductidFullList;
                    this.data.DataStatus=res.DataStatus;
                    console.log(this.data);
                }
            }).catch(err=>{
                console.log("err:");
                console.log(err);
                console.log(err.message);
            });
        }
        Select(){
            serContact({searchName:this.data.SearchName,searchCode:this.data.SearchCode}).then(res=>{
                console.log("查询结果");
                console.log(res);
                if(res!=null){
                    this.data.cl=res.cl;
                    this.data.activities=res.activities;
                    for (var i = this.data.activities.length - 1; i >= 0; i--) {
                        this.data.activities[i].setUrl= this.data.baseUrl + '/'+ this.data.reportid +'?pv1='+ this.data.activities[i].setProductid;
                        if(this.data.activities[i].Valid_c){
                            this.data.activities[i].img='√';
                        }
                    }
                    console.log("activities!");
                }
                let t=this.data;
                this.data={};
                this.data=t;
                console.log(this.data);
            })
        }
        searchNameInputChange(event){
            this.data.SearchName = event.detail.value;
        }
        searchCodeInputChange(event){
            this.data.SearchCode = event.detail.value;
        }
        // function DataReady() {
        //  // body...
        //  j$(escapeVfId("Page:mainForm:DataStatus")).value()='Fin';
        // }
}
force-app/main/default/lwc/lexSISearchSetProduct/lexSISearchSetProduct.js-meta.xml
New file
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexSISearchSetProduct">
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
</LightningComponentBundle>
force-app/main/default/lwc/lexTenderingNotarizeButton/lexTenderingNotarizeButton.js
@@ -37,14 +37,14 @@
    //招标项目 相关性确认
    NotarizeButton(){
        if( this.ProfileId!= '00e1m000000MSci'
        && this.ProfileId!= '00e10000000Y3o5'
        && this.ProfileId!= '00e10000000xnpR' && this.ProfileId!= '00e10000000xyK6'
        && this.ProfileId!= '00e10000000xnpW'
        && this.ProfileId!= '00e10000000xnpb' && this.ProfileId!= '00e10000000xyKB'
        && this.ProfileId!= '00e10000000a7NY'
        && this.ProfileId!= '00e10000000s2fZ'
        && this.ProfileId!= '00e10000000s3Jp'
        if( this.profileId!= '00e1m000000MSci'
        && this.profileId!= '00e10000000Y3o5'
        && this.profileId!= '00e10000000xnpR' && this.profileId!= '00e10000000xyK6'
        && this.profileId!= '00e10000000xnpW'
        && this.profileId!= '00e10000000xnpb' && this.profileId!= '00e10000000xyKB'
        && this.profileId!= '00e10000000a7NY'
        && this.profileId!= '00e10000000s2fZ'
        && this.profileId!= '00e10000000s3Jp'
        ){
            this.showToast("只有助理才能进行相关性确认!","error");
            return;