zhangzhengmei
2023-05-04 46cc0bc809b246809765051ee1d92553c9844706
t:wqMerge branch 'LEX_dev' of http://47.92.229.245:8089/r/lightningupdate into zzm_dev
20个文件已添加
15个文件已修改
1596 ■■■■ 已修改文件
force-app/main/default/classes/AssetMaintainHeaderWebService.cls 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexContractAuthorizeController.cls 454 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexContractAuthorizeController.cls-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexSISearchSetProductController.cls 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexStockCancelController.cls 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexVisitReportCancelController.cls 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/LexVisitReportCancelController.cls-meta.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/PAEDecisionRecordController.cls 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.css 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.js 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.css 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.js 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.css 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.js 264 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexStockCancel/lexStockCancel.html 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexStockCancel/lexStockCancel.js 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexStockCancel/lexStockCancel.js-meta.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.css 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.js 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.js-meta.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/ConsumApplySplit.page 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/ConsumAssignCancel.page 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/ConsumTrial.page 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/MaintenanceContractPCL.page 104 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/OFSHospitalLayout.page 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/PAEDecisionRecord.page 148 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/RentalAgencyReceived.page 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/pages/YouCantDeleteQuote.page 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
force-app/main/default/classes/AssetMaintainHeaderWebService.cls
@@ -37,6 +37,7 @@
        }
        return '1';
    }
    @AuraEnabled
    WebService static String abandon(String amhId) {
        Savepoint sp = Database.setSavepoint();
        try {
@@ -68,6 +69,13 @@
        }
        return '1';
    }
    @AuraEnabled
    public static Boolean applyPermission()
    {
        Schema.DescribeSobjectResult schemaMap = Schema.describeSObjects(new String[]{'TransferApply__c'})[0];
        return schemaMap.isCreateable();
    }
    @AuraEnabled
    WebService static String deleteApply(String amhId) {
        List<AssetMaintainHeader__c> amhList = [select id, Status__c
                                            from AssetMaintainHeader__c
force-app/main/default/classes/LexContractAuthorizeController.cls
New file
@@ -0,0 +1,454 @@
public with sharing class LexContractAuthorizeController {
    public LexContractAuthorizeController() {
    }
    @AuraEnabled
    public static Opportunity init(String recordId){
        try{
            Opportunity item=[select
             id,Estimation_Decision__c,Contract_DB_complite_day__c,Contract_Authorize__c,Contract_Authorize_Lock__c,If_Need_Authorize__c,
             Authorized_DB_No__c,SPO_URL__c,Estimation_No__c,Closing_Bid_Date__c,Bid_Date__c,
             Cnt_Lost_cancel_Draft__c,Cnt_Lost_cancel_report__c,IF_Submit__c,Agency1__c,Trade__c,Sales_Root__c,Is_Corrosion__c
             from Opportunity
             where id = :recordId];
            return item;
        }catch(Exception e){
            System.debug('LexStockCancelController init error: '+e.getMessage());
        }
        return null;
    }
    @AuraEnabled
    public static UpdateResult updateOppotunity(
        String recordId
    ) {
        UpdateResult result = new UpdateResult();
        result.recordId = recordId;
        try{
            Opportunity opp=new Opportunity(id=recordId);
            opp.Contract_Authorize__c = true;
            opp.If_Interface_Lock__c=true;
            opp.IF_Submit__c = true;
            update opp;
            result.success = true;
            result.errors = new List<String>();
            return result;
        }catch(Exception e){
            result.success = false;
            result.errors = new List<String>();
            result.errors.add(e.getMessage());
            System.debug(LoggingLevel.INFO,'updateOppotunity  Error : ' + e);
        }
        return result;
    }
    @AuraEnabled
    public static String submitApprovalRequest(String recordId) {
        try{
           Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest();
           req.setObjectId(recordId);
           Approval.ProcessResult result = Approval.process(req);
           if(result!=null&&result.getErrors()!=null&&result.getErrors().size()>0) return result.getErrors().get(0).getMessage();
        }catch(Exception e){
            System.debug('LexStockCancelController submitApprovalRequest  error: '+e.getMessage());
            return e.getMessage();
        }
           return null;
    }
    @AuraEnabled
    public static String getProfileId(){
        return UserInfo.getProfileId();
    }
    @AuraEnabled
    public static Boolean judgeIsAssistantAppliedOutTime(String  Quoteid) {
        List<PromotionSales__c> PromotionSalesList = [select id,IsAssistantAppliedOutTime__c from PromotionSales__c where Quote__r.Quote_No__c =:Quoteid];
        for(PromotionSales__c pro : PromotionSalesList){
            if(pro.IsAssistantAppliedOutTime__c){
                return false;
            }
        }
        return true;
    }
     @AuraEnabled
    public static Opportunity searchOpportunity(String oppid) {
        try{
           Opportunity res=[select Id,Contract_Authorize_Lock__c from Opportunity where Id =:oppid];
           return res;
        }catch(Exception e){
            System.debug('LexStockCancelController submitApprovalRequest  error: '+e.getMessage());
        }
           return null;
    }
    @AuraEnabled
    // LHJ 阿西赛多检查 Start
    public  static String checkDangerItem(String agency1) {
        //没有危化品证照的提示信息
        String licenseStr = '第一经销商没有有效的危险化学品经营许可证。';
        //没有阿西赛多经销商协议的提示信息
        String accStr = '第一经销商没有阿西赛多经销商协议。';
        //检查是否有证照
        List<License_Information__c> licenseList = [SELECT Id
                                                      FROM License_Information__c
                                                     WHERE LicenseAndAccount__c = :agency1
                                                       AND LicenseType__c = '危险化学品经营许可证'
                                                       AND Is_Active_Formula__c = true
                                                    ];
        //检查是否有阿西赛多协议
        List<Account> accountList = [SELECT Id
                                                      FROM Account
                                                     WHERE Parent.id = :agency1
                                                       //阿西赛多 增加检索阿西赛多协议 以及 可以做报价(复选框) 精琢技术 wql 2021/01/04 start
                                                       AND Contract_Quote_Decide_Flag_checkbox__c =true
                                                       AND Assiesedo_Dealer__c  = true
                                                       //阿西赛多 增加检索阿西赛多协议 以及 可以做报价(复选框) 精琢技术 wql 2021/01/04 end
                                                    ];
        system.debug('licenseList:'+licenseList.size());
        system.debug('agency1:'+agency1);
        //①既没有危化品证也没有阿西赛多协议
        if(licenseList.size() == 0 && accountList.size() ==0){
            return licenseStr+accStr;
        }
        //②没有危化品证
        else if(licenseList.size() ==0){
            return licenseStr;
        }
        //②没有阿西赛多经销商协议
        else if(accountList.size() ==0){
            return accStr;
        }
        //③全都有
        else{
            return 'OK';
        }
    }
    @AuraEnabled
    public static String oppCheck(String oppid, String saveFlg) {
        Map<Id, String> proMap= new Map<Id, String>();
        List<OpportunityLineItem> OppItemList = [select PricebookEntry.Product2Id, PricebookEntry.Product2.Name
                                                   From OpportunityLineItem
                                                  Where OpportunityId = :oppid];
        if (OppItemList.size() > 0) {
            for (OpportunityLineItem opl : OppItemList) {
                proMap.put(opl.PricebookEntry.Product2Id, opl.PricebookEntry.Product2.Name);
            }
        }
        List<Opportunity> oppList = [select Agency1__c from Opportunity where id = :oppid];
        String angencyId = oppList[0].Agency1__c;
        String strRet = '';
        if (saveFlg == '1') {
            strRet = checkProRegisterDecide(proMap, angencyId, oppid);
        } else {
            strRet = checkProRegisterDecide(proMap, angencyId, '');
        }
        return strRet;
    }
    public static String checkProRegisterDecide(Map<Id, String> proMap, String agency1, String OppId) {
        String errormessage = '';
        Boolean error = false;
        Map<String, String> CheckMap = new Map<String, String>();
        CheckMap = MapCheckProRegisterDecide(proMap, agency1, OppId);
        if (CheckMap.isEmpty()) {
            return 'OK';
        } else {
            return '有不可销售产品或超出经销商经营范围,请更新报价单' + CheckMap;
        }
    }
    @AuraEnabled
    public static String updReg(String  oppid) {
        List<OpportunityLineItem> updList = new List<OpportunityLineItem>();
        List<OpportunityLineItem> OppItemList = [select id, Id__c, Register_alleffective__c,
                                                        PricebookEntry.Product2.RegisterNo_ALL__c
                                                           From OpportunityLineItem
                                                          Where OpportunityId = :oppid];
        for (OpportunityLineItem ol : OppItemList) {
            ol.Register_alleffective__c = ol.PricebookEntry.Product2.RegisterNo_ALL__c;
            updList.add(ol);
        }
        if (updList.size() > 0)  update updList;
        return 'OK';
    }
    public static Map<String, String> MapCheckProRegisterDecide(Map<Id, String> proMap, String agency1, String OppId) {
        Map<String, String> retMap = new Map<String, String>();
        String errormessage = '';
        Boolean error = false;
        Map<String,List<String>> proAllBSstrMap;
        List<String> proNotNeedList = new List<String>();
        Map<String,List<String>> old_newMap = new Map<String,List<String>>();
        Map<String,List<String>> new_oldMap = new Map<String,List<String>>();
        // 取得 经营范围对应产品关系
        List<String> midStr = new List<String>();
        List<String> midStrO = new List<String>();
        // List<Product_Register_contrast__c> rrList = Product_Register_contrast__c.getall().values();
        // for (Product_Register_contrast__c rr : rrList) {
        //     midStr = new List<String>();
        //     midStrO = new List<String>();
        //     // 经营范围对应产品关系 Map作成 旧-新对照
        //     if (old_newMap.containsKey(rr.Register_old__c)) {
        //         old_newMap.get(rr.Register_old__c).add(rr.Register_new__c);
        //     } else {
        //         midStrO.add(rr.Register_new__c);
        //         old_newMap.put(rr.Register_old__c, midStrO.clone());
        //     }
        //     // 经营范围对应产品关系 Map作成 新-旧对照
        //     if (new_oldMap.containsKey(rr.Register_new__c)) {
        //         new_oldMap.get(rr.Register_new__c).add(rr.Register_old__c);
        //     } else {
        //         midStr.add(rr.Register_old__c);
        //         new_oldMap.put(rr.Register_new__c, midStr.clone());
        //     }
        // }
        // 取得经销商 医疗器械经营许可证
        List<License_Information__c> licenseList = [SELECT Id,
                                                           ScopeKey__c,
                                                           LicenseType__c
                                                      FROM License_Information__c
                                                     WHERE LicenseAndAccount__c = :agency1
                                                    AND (LicenseType__c = '医疗器械经营许可证'
                                                        OR LicenseType__c = '第二类医疗器械经营备案凭证')
                                                      AND Is_Active_Formula__c = true
                                                    ];
        // 判断 医疗器械经营许可证 是否存在
        if (licenseList.size() == 0) {
            error = true;
            errormessage = '第一经销商没有有效的医疗器械经营许可证。';
            retMap.put('agency', '0');
        } else {
            //经销商经营范围
            List<String> agListA = new List<String>();
            List<String> agListTemp = new List<String>();
            List<String> agList = new List<String>();
            //取经销商下 所有医疗器械经营许可证、第二类医疗器械经营备案凭证
            for (License_Information__c li : licenseList) {
                if (li.ScopeKey__c != null) {
                    agListA.addAll(li.ScopeKey__c.split(';'));
                    agListTemp.addAll(li.ScopeKey__c.split(';'));
                }
            }
            for (String a : agListTemp) {
                if (a.length() >= 6) {
                    agList.add(a.substring(0, a.length() - 1));
                } else {
                    agList.add(a.trim());
                }
            }
            //产品注册证
            Map<String,Map<String,String>> proBSMap = new Map<String,Map<String,String>>();
            Map<String,String> proMidMap = null;
            //产品所有有效注册证(可以和经销商匹配)
            proAllBSstrMap = new Map<String,List<String>>();
            set<Id> proIdList = new set<Id>();
            for (String qli : proMap.keySet()) {
                    proIdList.add(qli);
                    proBSMap.put(qli, proMidMap);
                    List<String> empList = new List<String>();
                    proAllBSstrMap.put(qli, empList);
            }
            List<Product_Register_Link__c> prls = [
                                                 Select Product2__c,
                                                        Product2__r.Asset_Model_No__c,
                                                        Product2__r.SFDA_Approbated_Status__c,
                                                        Product2__r.SFDA_Status_New__c, // 产品的CFDA最终状态 20181225
                                                        Product_Register__r.Name,
                                                        Product_Register__r.BusinessScopeKey__c,
                                                        Product_Register__r.RegisterNoStatus__c,
                                                        Product_Register__r.MedPrdClass__c
                                                   From Product_Register_Link__c
                                                  where Product2__c in :proIdList
                                                  ];
            // LHJ 20190102 增加跳过逻辑 Start
            List<Product2> productList = [select ID,SFDA_Status__c from Product2 where id in :proIdList];
            for (Product2 pro : productList) {
                if (pro.SFDA_Status__c == '不要') {
                    proNotNeedList.add(pro.ID);
                }
            }
            // LHJ 20190102 增加跳过逻辑 End
            for (Product_Register_Link__c prl : prls) {
                // 设置产品类别MAP
                if (String.isNotBlank(prl.Product_Register__r.BusinessScopeKey__c)) {
                    system.debug('Product2 +++++++' + prl.Product2__c);
                    if (proBSMap.get(prl.Product2__c) != null) {
                        proBSMap.get(prl.Product2__c).put(prl.Product_Register__r.Name, prl.Product_Register__r.BusinessScopeKey__c);
                    } else {
                        Map<String,String> toooMap = new Map<String,String>();
                        toooMap.put(prl.Product_Register__r.Name, prl.Product_Register__r.BusinessScopeKey__c);
                        proBSMap.put(prl.Product2__c, toooMap.clone());
                    }
                }
                // 产品的产品注册证是"不要"状态 不需要匹配注册证 20181225
                if (prl.Product2__r.SFDA_Approbated_Status__c == '不要'
                        || prl.Product_Register__r.MedPrdClass__c == '1') {
                     proNotNeedList.add(prl.Product2__c);
                }
            }
            system.debug('proBSMap +++++++' + proBSMap);
            for (String qli : proMap.keySet()) {
                String proId = qli;
                String proName = proMap.get(proId);
                if (proId != null) {
                    Boolean haveBS = false;
                    // 产品属于非医疗,不用判断经营范围
                    if (proNotNeedList.contains(proId)) {
                        haveBS = true;
                        continue;
                    }
                    if (proBSMap.get(proId) == null) {
                        error = true;
                        errormessage += '产品"' + proName + '"没有有效的产品注册证。\n';
                        retMap.put(proId, '1');
                        continue;
                    }
                    if (proBSMap.get(proId) != null) {
                        system.debug('111 +++++++' + proBSMap);
                        Map<String,String> midMap = new Map<String,String>();
                        midMap = proBSMap.get(proId);
                        for (String str : midMap.keySet()) {
                            // LHJ 20200711 Start
                            String strMidMap = midMap.get(str);
                            List<String> proRegList = new List<String>();
                            proRegList.addAll(strMidMap.split(';'));
                            // LHJ 20200711 End
                            for(String strReg:proRegList){
                                // 被定义为"6815A"的产品类别,经营范围中必须有6815或者6815A外才可以匹配。
                                if (strReg.length() == 6) {
                                    for(String strAg:agListA){
                                        if(strAg.length() >= 5 && midMap.get(str.substring(0, str.length() - 1)) == strAg.substring(0,5)){
                                            proAllBSstrMap.get(proId).add(str.substring(0, str.length() - 1));
                                            haveBS = true;
                                            break;
                                        }
                                    }
                                    /*if (agListA.contains(midMap.get(str.substring(0, str.length() - 1)))) {
                                        proAllBSstrMap.get(proId).add(str.substring(0, str.length() - 1));
                                        haveBS = true;
                                    }*/
                                } else {
                                    system.debug('agList +++++++' + agList);
                                    system.debug('midMap +++++++' + strReg);
                                    if (agList.contains(strReg)) {
                                        //产品类别,匹配到经销商类别
                                        proAllBSstrMap.get(proId).add(str);
                                        haveBS = true;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    if (!haveBS) {
                        error = true;
                        errormessage += '第一经销商的经营范围中不包含产品" ' + proName + '"。\n';
                        retMap.put(proId, '2');
                    }
                }
            }
        }
        if (retMap.isEmpty() == false) {
            //return errormessage;
        } else {
            if (OppId != '') {
                // 更新所有注册证信息
                String strRegister_alleffective;
                List<Product2> pro2List = new List<Product2>();
                Map<String, Product2> pro2Map = new Map<String, Product2>();
                List<OpportunityLineItem> updList = new List<OpportunityLineItem>();
                List<OpportunityLineItem> OppItemList = [select id, Id__c, Register_alleffective__c,PricebookEntry.Product2Id
                                                           From OpportunityLineItem
                                                          Where OpportunityId = :OppId];
                // 非医疗或1类产品,取得
                if (proNotNeedList != null && proNotNeedList.size() > 0) {
                    pro2List = [select id, SFDA_Approbated_Status__c, RegisterNo_ALL__c from Product2 where Id in :proNotNeedList];
                }
                for (Product2 pro2 : pro2List) {
                    pro2Map.put(pro2.Id, pro2);
                }
                for (OpportunityLineItem ol : OppItemList) {
                    if (proAllBSstrMap.containsKey(ol.PricebookEntry.Product2Id)) {
                        ol.Register_alleffective__c = '';
                        for(String str: proAllBSstrMap.get(ol.PricebookEntry.Product2Id)) {
                            if (String.isNotBlank(ol.Register_alleffective__c)) {
                                ol.Register_alleffective__c += ';' + str;
                            } else {
                                ol.Register_alleffective__c = str;
                            }
                        }
                        // 非医疗或1类产品
                        if (pro2Map.containskey(ol.PricebookEntry.Product2Id)) {
                            if (pro2Map.get(ol.PricebookEntry.Product2Id).SFDA_Approbated_Status__c == '不要') {
                                ol.Register_alleffective__c = 'FYL';
                            } else {
                                ol.Register_alleffective__c = pro2Map.get(ol.PricebookEntry.Product2Id).RegisterNo_ALL__c;
                            }
                        }
                    }
                    updList.add(ol);
                }
                if (updList.size() > 0)  update updList;
            }
        }
        //如果不满足阿西赛多的条件,进入这个变量 20200821 ljh
        return retMap;
    }
    public class UpdateResult {
        @AuraEnabled public String recordId {get;set;}
        @AuraEnabled public Boolean success {get;set;}
        @AuraEnabled public List<String> errors {get;set;}
    }
    public class InitData{
    }
}
force-app/main/default/classes/LexContractAuthorizeController.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/LexSISearchSetProductController.cls
@@ -4,6 +4,7 @@
    public LexSISearchSetProductController(){
    }
    @AuraEnabled
    public static InitData init(){
        InitData data=new InitData();
force-app/main/default/classes/LexStockCancelController.cls
@@ -2,4 +2,64 @@
    public LexStockCancelController() {
        
    }
    @AuraEnabled
    public static Opportunity init(String recordId){
        try{
            Opportunity item=[select
             Stock_cancel_reason__c,Whether_Upload_Question_Document__c
             from Opportunity
             where id = :recordId];
            return item;
        }catch(Exception e){
            System.debug('LexStockCancelController init error: '+e.getMessage());
        }
        return null;
    }
    @AuraEnabled
    public static UpdateResult updateOppotunity(
        String recordId,
        String stStatus
    ) {
        UpdateResult result = new UpdateResult();
        result.recordId = recordId;
        try{
            Opportunity op=new Opportunity(id=recordId);
            if(stStatus!=null&&stStatus!=''){
                op.Stock_apply_status__c= stStatus;
            }
            update op;
            result.success = true;
            result.errors = new List<String>();
            return result;
        }catch(Exception e){
            result.success = false;
            result.errors = new List<String>();
            result.errors.add(e.getMessage());
            System.debug(LoggingLevel.INFO,'updateOppotunity  Error : ' + e);
        }
        return result;
    }
    @AuraEnabled
    public static String submitApprovalRequest(String recordId) {
        try{
           Approval.ProcessSubmitRequest req = new Approval.ProcessSubmitRequest();
           req.setObjectId(recordId);
           Approval.ProcessResult result = Approval.process(req);
           if(result!=null&&result.getErrors()!=null&&result.getErrors().size()>0) return result.getErrors().get(0).getMessage();
        }catch(Exception e){
            System.debug('LexStockCancelController submitApprovalRequest  error: '+e.getMessage());
            return e.getMessage();
        }
           return null;
    }
    public class UpdateResult {
        @AuraEnabled public String recordId {get;set;}
        @AuraEnabled public Boolean success {get;set;}
        @AuraEnabled public List<String> errors {get;set;}
    }
    public class InitData{
    }
}
force-app/main/default/classes/LexVisitReportCancelController.cls
New file
@@ -0,0 +1,49 @@
public with sharing class LexVisitReportCancelController {
    @AuraEnabled
    public static String init(String recordId){
        try {
            Visit_Report__c vistReport = [SELECT Id, Status__c, OwnerId from Visit_Report__c WHERE Id = :recordId];
            UserResult currentUser = userInfoOwner();
            if(currentUser.Id == vistReport.OwnerId && vistReport.Status__c=='草案中'){
                Visit_Report__c updateData = new Visit_Report__c();
                updateData.Id = vistReport.Id;
                UPDATE updateData;
                return '取消成功';
            }else{
                return '只草案中状态及同行报告书的所有人可以取消';
            }
        }
        catch (Exception e) {
           return e.getMessage();
        }
    }
    //获取当前登录人的Id
    public static UserResult userInfoOwner() {
        UserResult result = new UserResult();
        ID myUserID = UserInfo.getUserId();
        try {
            User tempUser =
                [select id from user where id = : myUserID ];
            result.id = tempUser.id;
        } catch (exception e) {
            result.result = e.getMessage();
        }
        return result;
    }
    public class UserResult {
        @AuraEnabled
        public string result;
        public UserResult( ) {
            result = 'Success';
        }
        @AuraEnabled
        public string id;
        //20210105 CHAN-BWX3YU you end
    }
}
force-app/main/default/classes/LexVisitReportCancelController.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>50.0</apiVersion>
    <status>Active</status>
</ApexClass>
force-app/main/default/classes/PAEDecisionRecordController.cls
@@ -15,6 +15,7 @@
        get;
        set;
    }
    public Integer pageLimit{get;set;}
    public String ASac_ASrc;
    public String RepairId {
        get;
@@ -128,6 +129,7 @@
        RecordTypeName = ApexPages.currentPage().getParameters().get('RecordTypeIds');
        productIdx = '';
        updateIsPaeMap = false;
        pageLimit = Integer.valueOf(System.Label.mpddetPageLimitsize);//系统标签
    }
    public void init() {
        editAble = true;
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.css
New file
@@ -0,0 +1,22 @@
.outerBorderCss{
    border: 1px solid #D4D4D4;
    border-radius : 5px;
    border-top : 3px solid #565959;
}
.borderCss{
    border: 1px solid #D4D4D4;
    border-radius : 5px;
    margin-bottom : 7px;
    border-top : 3px solid #565959;
}
.headerDorderCss{
    border-top: 1px solid #565959;
    border-bottom: 1px solid #D4D4D4;
    padding:3px;
}
.centerCss{
    text-align: center;
}
.centerCss .left{
    margin-left: 100px;
}/* sample css file */
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.html
New file
@@ -0,0 +1,5 @@
<template>
    <div class="sisToOPDHolder" if:true={IsLoading}>
        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
    </div>
</template>
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.js
New file
@@ -0,0 +1,58 @@
import { LightningElement, track, wire, api } from 'lwc';
import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
import { CloseActionScreenEvent } from 'lightning/actions';
import { updateRecord } from 'lightning/uiRecordApi';
import abandon from '@salesforce/apex/AssetMaintainHeaderWebService.abandon';
import applyPermission from '@salesforce/apex/AssetMaintainHeaderWebService.applyPermission';
export default class lexAssetMaintainHeaderAbandon extends LightningElement {
    @api recordId;
    IsLoading = true;
    @wire(CurrentPageReference)
     getStateParameters(currentPageReference) {
         if (currentPageReference) {
           const urlValue = currentPageReference.state.recordId;
           if (urlValue) {
             let str = `${urlValue}`;
             console.log("str:"+str);
             this.recordId = str;
           }
         }
     }
    connectedCallback(){
        applyPermission().then(res=>{
            if(res=='false'){
                this.showToast('没有操作废弃的权限','error');
            }else{
                abandon({
                    amhId: this.recordId
                }).then(result=>{
                    if(result=='1'){
                        this.showToast('已启动Batch,完成时会有邮件提醒','success');
                    }else{
                        this.showToast(result,'error');
                    }
                })
            }
        })
    }
       updateRecordView() {
        updateRecord({fields: { Id: this.recordId }});
    }
    showToast(msg,type) {
        const event = new ShowToastEvent({
            message: msg,
            variant: type
        });
        if(type == 'success'){
            this.updateRecordView();
        }
        this.dispatchEvent(event);
        this.dispatchEvent(new CloseActionScreenEvent());
    }
}
force-app/main/default/lwc/lexAssetMaintainHeaderAbandon/lexAssetMaintainHeaderAbandon.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="lexOCMSubmit">
    <apiVersion>54.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__RecordPage</target>
        <target>lightning__AppPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
</LightningComponentBundle>
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.css
New file
@@ -0,0 +1,22 @@
.outerBorderCss{
    border: 1px solid #D4D4D4;
    border-radius : 5px;
    border-top : 3px solid #565959;
}
.borderCss{
    border: 1px solid #D4D4D4;
    border-radius : 5px;
    margin-bottom : 7px;
    border-top : 3px solid #565959;
}
.headerDorderCss{
    border-top: 1px solid #565959;
    border-bottom: 1px solid #D4D4D4;
    padding:3px;
}
.centerCss{
    text-align: center;
}
.centerCss .left{
    margin-left: 100px;
}/* sample css file */
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.html
New file
@@ -0,0 +1,5 @@
<template>
    <div class="sisToOPDHolder" if:true={IsLoading}>
        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
    </div>
</template>
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.js
New file
@@ -0,0 +1,57 @@
import { LightningElement, track, wire, api } from 'lwc';
import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
import { CloseActionScreenEvent } from 'lightning/actions';
import { updateRecord } from 'lightning/uiRecordApi';
import deleteApply from '@salesforce/apex/AssetMaintainHeaderWebService.deleteApply';
import applyPermission from '@salesforce/apex/AssetMaintainHeaderWebService.applyPermission';
export default class lexAssetMaintainHeaderDeleteApply extends LightningElement {
    @api recordId;
    IsLoading = true;
    @wire(CurrentPageReference)
     getStateParameters(currentPageReference) {
         if (currentPageReference) {
           const urlValue = currentPageReference.state.recordId;
           if (urlValue) {
             let str = `${urlValue}`;
             console.log("str:"+str);
             this.recordId = str;
           }
         }
     }
     connectedCallback(){
         applyPermission().then(res=>{
            if(res=='false'){
                this.showToast('没有删除申请的权限','error');
            }else if(confirm("是否确定删除?")){
                deleteApply({
                    amhId:this.recordId
                }).then(result=>{
                    if(result=='1'){
                        this.showToast('已启动Batch,完成时会有邮件提醒','success');
                    }else{
                        this.showToast(result,'error');
                    }
                })
            }
        })
    }
    updateRecordView() {
        updateRecord({fields: { Id: this.recordId }});
    }
    showToast(msg,type) {
        const event = new ShowToastEvent({
            message: msg,
            variant: type
        });
        if(type == 'success'){
            this.updateRecordView();
        }
        this.dispatchEvent(event);
        this.dispatchEvent(new CloseActionScreenEvent());
    }
}
force-app/main/default/lwc/lexAssetMaintainHeaderDeleteApply/lexAssetMaintainHeaderDeleteApply.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="lexOCMSubmit">
    <apiVersion>54.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__RecordPage</target>
        <target>lightning__AppPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
</LightningComponentBundle>
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.css
New file
@@ -0,0 +1,11 @@
.Holder{
    position: relative;
    display: inline-block;
    width: 80px;
    height: 80px;
    text-align: center;
}
.container .uiContainerManager{
    display : none !important;
}
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.html
New file
@@ -0,0 +1,5 @@
<template>
    <div class="Holder" if:true={IsLoading}>
        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
    </div>
</template>
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.js
New file
@@ -0,0 +1,264 @@
import { LightningElement,api, track, wire } from 'lwc';
import {CurrentPageReference} from 'lightning/navigation';
import { CloseActionScreenEvent } from 'lightning/actions';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import LightningConfirm from 'lightning/confirm';
import customJSFile from '@salesforce/resourceUrl/CommonUtilJs';
import { loadScript } from 'lightning/platformResourceLoader';
import init from '@salesforce/apex/LexContractAuthorizeController.init';
import getProfileId from '@salesforce/apex/LexContractAuthorizeController.getProfileId';
import judgeIsAssistantAppliedOutTime from '@salesforce/apex/LexContractAuthorizeController.judgeIsAssistantAppliedOutTime';
import searchOpportunity from '@salesforce/apex/LexContractAuthorizeController.searchOpportunity';
import checkDangerItem from '@salesforce/apex/LexContractAuthorizeController.checkDangerItem';
import oppCheck from '@salesforce/apex/LexContractAuthorizeController.oppCheck';
import updReg from '@salesforce/apex/LexContractAuthorizeController.updReg';
import updateOppotunity from '@salesforce/apex/LexContractAuthorizeController.updateOppotunity';
export default class lexContractAuthorize extends LightningElement {
    @api recordId;
    IsLoading=true;
    data;
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference){
        console.log("进入页面");
        console.log(currentPageReference);
        if(currentPageReference){
            const urvalue=currentPageReference.state.recordId;
            if(urvalue){
                let str=`${urvalue}`;
                console.log('str');
                console.log(str);
                this.recordId=str;
            }
        }
    }
    connectedCallback(){
        console.log(this.recordId);
        init({recordId:this.recordId}).then(result=>{
            console.log(result);
            if(result!=null){
                this.data=result;
                this.cancelSubmit().then(res=>{
                    this.IsLoading=false;
                    this.dispatchEvent(new CloseActionScreenEvent());
                });
            }
        }).catch(err=>{
            console.log("error:");
            console.log(err.message);
        }).finally(()=>{
        });
    }
    async cancelSubmit(){
        let oppid = this.data.Id;
        let decide_quote = this.data.Estimation_Decision__c;
        let complete_day = this.data.Contract_DB_complite_day__c;
        let if_contract_auth = this.data.Contract_Authorize__c;
        let if_contract_lock = this.data.Contract_Authorize_Lock__c;
        let If_Need_Authorize = this.data.If_Need_Authorize__c;
        let Authorized_DB_No =this.data.Authorized_DB_No__c;
        let profileId = await getProfileId({});
        let spoURL = this.data.SPO_URL__c;
        //SWAG-CG88AG【委托】提出价格申请是在协议有效期内,允许WIN fy start
        let DecidedQuoteNo = this.data.Estimation_No__c;
        //SWAG-CG88AG【委托】提出价格申请是在协议有效期内,允许WIN fy end
        //2022-03-22 yjk SWAG-CCL6R7
        let Closing_Bid_Date = this.data.Closing_Bid_Date__c;//13.中标日
        let Closing_Bid_Date_Bid = this.data.Closing_Bid_Date_Bid__c;
        if (profileId != '00e10000000Y3o5' && profileId != '00e10000000Nab7' &&
        profileId != '00e10000000xnpR' && profileId != '00e10000000xyK6' && profileId != '00e10000000xnpW' && profileId != '00e10000000NbCE' && profileId != '00e10000000Nb7i'
        && profileId != '00e10000000xyK6') {
            const event = new ShowToastEvent({
                title: '提示信息',
                message:"您没有合同申请的权限。请联系系统管理员。"
            });
            this.dispatchEvent(event);
            return;
        }
        if(!Closing_Bid_Date){
            const event = new ShowToastEvent({
                title: '提示信息',
                message:"请填写13.中标日。"
            });
            this.dispatchEvent(event);
            return;
        }
        if (decide_quote != '1') {
            const event = new ShowToastEvent({
                title: '提示信息',
                message:'请先决定报价。'
            });
            this.dispatchEvent(event);
            return;
        }
        //SWAG-CG88AG【委托】提出价格申请是在协议有效期内,允许WIN fy start
        if (DecidedQuoteNo !="") {
            let judg=await judgeIsAssistantAppliedOutTime({Quoteid:DecidedQuoteNo});
        // alert('judg得值:'+judg);
        // return;
            if(judg == 'false'){
                const event = new ShowToastEvent({
                    title: '提示信息',
                    message:'经销商协议已过期,请重新做报价计算。'
                });
                this.dispatchEvent(event);
                return;
            }
        }
        //SWAG-CG88AG【委托】提出价格申请是在协议有效期内,允许WIN fy end
        // 20221009 ljh SWAG-CK29AJ start
        let ClosingBidDate =this.data.Closing_Bid_Date__c;
        let BidDate = this.data.Bid_Date__c;
        if( ClosingBidDate < BidDate){
            const event = new ShowToastEvent({
                title: '提示信息',
                message:'13.中标日不能早于12.招标日'
            });
            this.dispatchEvent(event);
            return;
        }
        // 20221009 ljh SWAG-CK29AJ end
        if(If_Need_Authorize == '1' && (Authorized_DB_No == null || Authorized_DB_No == '')){
            const event = new ShowToastEvent({
                title: '提示信息',
                message:'请先做授权申请。'
            });
            this.dispatchEvent(event);
            return;
        }
        if (this.data.Cnt_Lost_cancel_Draft__c > 0) {
            if(!confirm('询价有草案中的取消/失单报告,是否继续?')){
                return ;
            }
        } else if (this.data.Cnt_Lost_cancel_report__c - this.data.Cnt_Lost_cancel_Draft__c > 0) {
            const event = new ShowToastEvent({
                title: '提示信息',
                message:'询价有已提交的取消/失单报告。'
            });
            this.dispatchEvent(event);
            return;
        }
        console.log("11");
        // 2022-03-31 新财年价格调整 start
        let decide_date = this.data.DecideQuoteDate__c;
        let before = new Date("2022-4-1");
        if (decide_date != null && decide_date < before) {
            const event = new ShowToastEvent({
                title: '提示信息',
                message:'报价变更,请重新做Decide。'
            });
            this.dispatchEvent(event);
            return;
        }
        // 2022-03-31 新财年价格调整 end
        let sqlResult = await searchOpportunity({oppid:oppid});
        let records = sqlResult;
        console.log(records);
        if ((complete_day != null && complete_day != '') && records.Contract_Authorize_Lock__c== 'true') {
            const event = new ShowToastEvent({
                title: '提示信息',
                message:'合同申请已经完成,请不要重复提交。'
            });
            this.dispatchEvent(event);
            return;
        }
        // if ('{!Opportunity.AcecideCntCheck__c}' != '1') {
        // alert('阿西赛多询价只能包含危化品,或者,普通询价不能包含危化品。');
        // return;
        // }
        console.log("111");
        if ((complete_day == null || complete_day == '') && records.Contract_Authorize_Lock__c== 'true') {
            const event = new ShowToastEvent({
                title: '提示信息',
                message:'合同正在申请中,请不要重复提交。'
            });
            this.dispatchEvent(event);
            return;
        }
        if (this.data.IF_Submit__c  == '1') {
            const event = new ShowToastEvent({
                title: '提示信息',
                message:'上传失败,请联系系统管理员!'
            });
            this.dispatchEvent(event);
            return;
        }
        console.log("111");
        let angency = this.data.Agency1__c;
        if(this.data.Trade__c == '外貿' || this.data.Sales_Root__c == 'OCM直接販売'){
            let rtn = await updReg({oppid:oppid});
        } else {
            if(this.data.Is_Corrosion__c == '1'){
                let rtn1 = await checkDangerItem({agency1:angency});
                if (rtn1 != 'OK') {
                    const event = new ShowToastEvent({
                        title: '提示信息',
                        message:rtn1
                    });
                    this.dispatchEvent(event);
                    return;
                }
            }else{
                let rtn =  await oppCheck({oppid:oppid, saveFlg:'1'});
                if (rtn != 'OK') {
                    const event = new ShowToastEvent({
                        title: '提示信息',
                        message:rtn
                    });
                    this.dispatchEvent(event);
                    return;
                }
            }
        }
        console.log("222");
        let flag=false;
        await updateOppotunity({recordId:this.recordId}).then(res=>{
            console.log(res);
            if(res!=null&&res.success==false){
                let messages ="";
                flag=true;
                messages=res.errors[0];
                const event = new ShowToastEvent({
                    title: '提示信息',
                    message:"操作失败,提示信息:"+messages,
                });
                this.dispatchEvent(event);
                return;
            }
        });
        if(flag)return;
        console.log("333");
        const event = new ShowToastEvent({
            title: '提示信息',
            message:'提交成功!请在SPO系统中完成合同申请。'
        });
        this.dispatchEvent(event);
        //window.location.reload();
        window.open(spoURL);
    }
}
force-app/main/default/lwc/lexContractAuthorize/lexContractAuthorize.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="lexContractAuthorize">
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__RecordPage</target>
        <target>lightning__AppPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
</LightningComponentBundle>
force-app/main/default/lwc/lexStockCancel/lexStockCancel.html
force-app/main/default/lwc/lexStockCancel/lexStockCancel.js
@@ -1,13 +1,15 @@
import { LightningElement,api, track, wire } from 'lwc';
// {!RequireScript("/resource/CommonUtilJs")}
import {CurrentPageReference} from 'lightning/navigation';
import { CloseActionScreenEvent } from 'lightning/actions';
import LightningConfirm from 'lightning/confirm';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import LightningConfirm from 'lightning/confirm';
import init from '@salesforce/apex/LexStockCancelController.init';
import updateOppotunity from '@salesforce/apex/LexStockCancelController.updateOppotunity';
import submitApprovalRequest from '@salesforce/apex/LexStockCancelController.submitApprovalRequest';
export default class lexStockCancel extends LightningElement {
    @api recordId;
    IsLoading=true
    IsLoading=true;
    data;
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference){
        console.log("进入页面");
@@ -24,89 +26,134 @@
    }
    async connectedCallback(){
    connectedCallback(){
        console.log(this.recordId);
        await init({recordId:this.recordId}).then(result=>{
        init({recordId:this.recordId}).then(result=>{
            console.log(result);
            if(result!=null){
                this.sumit().then(res=>{
                    console.log("关闭窗口");
                this.data=result;
                this.cancelSubmit().then(res=>{
                    this.IsLoading=false;
                    this.dispatchEvent(new CloseActionScreenEvent());
                });
            }
                }).catch(err=>{
                    console.log("error:");
                    console.log(err.message);
        }).finally(()=>{
        });
    }
    async cancelSubmit(){
        let reason = this.data.Stock_cancel_reason__c;
        if (reason == null || reason == '') {
                    const event = new ShowToastEvent({
                        title: '提示信息',
                        message:"操作失败,提示信息:"+err.message,
                message:'必须填写撤销备货理由。'
                    });
                    this.dispatchEvent(event);
                    //alert("操作失败,提示信息:"+err.message);
                });
                console.log("end");
            }
        }).catch(err=>{
            console.log("error:");
            console.log(err.message);
            console.log("报错结束");
        }).finally(()=>{
            console.log("finally");
        });
            return;
    }
        // CHAN-BCS8T5 LHJ 20190604 Start
        let stage = this.data.Whether_Upload_Question_Document__c;
        if (stage == '0') {
            const event = new ShowToastEvent({
                title: "提示信息",
                message:'请上传质疑函。'
            });
            this.dispatchEvent(event);
            return;
        }
        // CHAN-BCS8T5 LHJ 20190604 End
        const resul = await LightningConfirm.open({
            message: "一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?",
            variant: 'headerless',
            label: '提示信息',
            // setting theme would have no effect
        });
        if (resul==false) {
            return;
        }
        let flag=true;
        await updateOppotunity({recordId:this.recordId,stStatus:"撤销填写完毕"}).then(res=>{
            console.log(res);
            if(res!=null&&res.success==false){
                let messages ="";
                flag=false;
                messages=res.errors[0];
                const event = new ShowToastEvent({
                    title: '提示信息',
                    message:"操作失败,提示信息:"+messages
                });
                this.dispatchEvent(event);
                return;
            }
        })
        if(flag==false)return;
    async sumit(){
        // var reason = '{!Opportunity.Stock_cancel_reason__c}';
        // if (reason == null || reason == '') {
        //     alert('必须填写撤销备货理由。');
        //     return
        // }
        // // CHAN-BCS8T5 LHJ 20190604 Start
        // var stage = '{!Opportunity.Whether_Upload_Question_Document__c}';
        // if (stage == '0') {
        //     alert('请上传质疑函。');
        //     return;
        // }
        // // CHAN-BCS8T5 LHJ 20190604 End
        // if (!confirm("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")) {
        //     return;
        // }
        // var rac = new sforce.SObject("Opportunity");
        // let rac = new sforce.SObject("Opportunity");
        // rac.Id = "{!Opportunity.Id}";
        // rac.Stock_apply_status__c = "撤销填写完毕";
        // var result = sforce.connection.update([rac]);
        // var messages = getConnectDMLErrorMessages(result);
        // let result = sforce.connection.update([rac]);
        // let messages = getConnectDMLErrorMessages(result);
        // if (messages.length > 0) {
        // alert(messages.join("\n"));
        // return;
        // }
        // var request = new sforce.ProcessSubmitRequest();
        // request.objectId = "{!Opportunity.Id}";
        // var processResults = sforce.connection.process([request]);
        // if (processResults[0].errors != null) {
        // var back = new sforce.SObject("Opportunity");
        let ress;
          await submitApprovalRequest({recordId:this.recordId}).then(res=>{
              console.log(res);
              ress=res;
          })
          console.log("777");
        if (ress != null) {
            // let back = new window.sforce.SObject("Opportunity");
        // back.Id = "{!Opportunity.Id}";
        // back.Stock_apply_status__c = "批准";
        // var backResult = sforce.connection.update([back]);
            // let backResult = sforce.connection.update([back]);
        // backMessages = getConnectDMLErrorMessages(backResult);
        // if (backMessages.length > 0) {
        // alert(backMessages.join("\n"));
            //     showTost("提示信息",backMessages.join("\n"));
        // return;
        // }
        // var errmsg = processResults[0].errors.message.toString();
        // alert(errmsg);
        // return;
        // }
        // window.location.reload();
        // };
            // let errmsg = processResults[0].errors.message.toString();
            // showTost("提示信息",errmsg);
            await updateOppotunity({recordId:this.recordId,stStatus: "批准"}).then(res=>{
                console.log(res);
                if(res!=null&&res.success==false){
                    let messages ="";
                    flag=false;
                    messages=res.errors[0];
                    const event = new ShowToastEvent({
                        title: '提示信息',
                        message:"操作失败,提示信息:"+messages,
                    });
                    this.dispatchEvent(event);
                    return;
    }
            });
            if(flag==false)return;
            const event = new ShowToastEvent({
                title: '提示信息',
                message:ress
            });
            this.dispatchEvent(event);
            return;
        }
        // window.location.reload();
    };
    showTost(title,message){
    }
}
force-app/main/default/lwc/lexStockCancel/lexStockCancel.js-meta.xml
@@ -3,8 +3,8 @@
    <apiVersion>51.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__AppPage</target>
        <target>lightning__RecordPage</target>
        <target>lightning__AppPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.css
New file
@@ -0,0 +1,22 @@
.outerBorderCss{
    border: 1px solid #D4D4D4;
    border-radius : 5px;
    border-top : 3px solid #565959;
}
.borderCss{
    border: 1px solid #D4D4D4;
    border-radius : 5px;
    margin-bottom : 7px;
    border-top : 3px solid #565959;
}
.headerDorderCss{
    border-top: 1px solid #565959;
    border-bottom: 1px solid #D4D4D4;
    padding:3px;
}
.centerCss{
    text-align: center;
}
.centerCss .left{
    margin-left: 100px;
}/* sample css file */
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.html
New file
@@ -0,0 +1,5 @@
<template>
    <div class="sisToOPDHolder" if:true={IsLoading}>
        <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner>
    </div>
</template>
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.js
New file
@@ -0,0 +1,51 @@
import { LightningElement, track, wire, api } from 'lwc';
import { CurrentPageReference,NavigationMixin } from 'lightning/navigation';
import { CloseActionScreenEvent } from 'lightning/actions';
import { updateRecord } from 'lightning/uiRecordApi';
import init from '@salesforce/apex/lexVisitReportCancelController.init';
export default class lexVisitReportCancel extends LightningElement {
    @api recordId;
    IsLoading = true;
    @wire(CurrentPageReference)
     getStateParameters(currentPageReference) {
        console.log(currentPageReference,'666666666666');
         if (currentPageReference) {
           const urlValue = currentPageReference.state.recordId;
           if (urlValue) {
             let str = `${urlValue}`;
             console.log("str:"+str);
             this.recordId = str;
           }
         }
     }
    connectedCallback(){
        init({
            recordId:this.recordId
        }).then(res=>{
            if(res == '取消成功'){
                this.showToast('取消成功','success');
            }else{
                this.showToast(res,'warning');
            }
        })
    }
    updateRecordView() {
        updateRecord({fields: { Id: this.recordId }});
    }
    showToast(msg,type) {
        const event = new ShowToastEvent({
            message: msg,
            variant: type
        });
        if(type == 'success'){
            this.updateRecordView();
        }
        this.dispatchEvent(event);
        this.dispatchEvent(new CloseActionScreenEvent());
    }
}
force-app/main/default/lwc/lexVisitReportCancel/lexVisitReportCancel.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="lexOCMSubmit">
    <apiVersion>54.0</apiVersion>
    <isExposed>true</isExposed>
    <targets>
        <target>lightning__RecordPage</target>
        <target>lightning__AppPage</target>
        <target>lightning__HomePage</target>
        <target>lightning__RecordAction</target>
    </targets>
</LightningComponentBundle>
force-app/main/default/pages/ConsumApplySplit.page
@@ -1,4 +1,5 @@
<apex:page controller="ConsumApplySplitController" action="{!init}" showHeader="false">
<!--20230427 zq <apex:page controller="ConsumApplySplitController" action="{!init}" showHeader="false"> -->
  <apex:page lightningStylesheets = "true" controller="ConsumApplySplitController" action="{!init}" showHeader="false">
    <head>
      <title>备品借出申请分单</title>
      <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
force-app/main/default/pages/ConsumAssignCancel.page
@@ -1,4 +1,5 @@
<apex:page controller="ConsumAssignCancelController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
<!--20230427 zq <apex:page controller="ConsumAssignCancelController" showHeader="false" sidebar="false" id="allPage" action="{!init}"> -->
    <apex:page lightningStylesheets = "true" controller="ConsumAssignCancelController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
<head>
    <title>耗材取消明细申请</title>
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
force-app/main/default/pages/ConsumTrial.page
@@ -1,4 +1,5 @@
<apex:page standardController="Consum_Apply__c" extensions="ConsumTrialController" showHeader="false" action="{!init}" id="allPage">
<!--20230427 zq <apex:page standardController="Consum_Apply__c" extensions="ConsumTrialController" showHeader="false" action="{!init}" id="allPage"> -->
    <apex:page lightningStylesheets="true" standardController="Consum_Apply__c" extensions="ConsumTrialController" showHeader="false" action="{!init}" id="allPage">
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
force-app/main/default/pages/MaintenanceContractPCL.page
@@ -1,4 +1,4 @@
<apex:page controller="MaintenanceContractPCLController" showHeader="false" sidebar="false" id="allPage" action="{!init}">
<apex:page controller="MaintenanceContractPCLController" showHeader="false" sidebar="false" id="allPage" action="{!init}" lightningStylesheets="true">
<head>
<title>周会-维修合同</title>
@@ -20,27 +20,25 @@
}
div#out_Div { /* ここにヘッダを格納 */
  position:relative;
  overflow: hidden;
  overflow: auto;
  float:left;
  width:32768px;
}
div#out_Div_L {
  position:relative;
  overflow: hidden;
  overflow: auto;
  float:left;
}
div#in_Div {/* tbodyが入っている。ここがスクロール対象*/
  position:relative;
  overflow: auto;  /*スクロールバー*/
  overflow: auto;
  float:left;
  width:32768px;
  height: 100px; /* tbodyを表示する高さ、後でjsにて調整 */
  height: auto;/* tbodyを表示する高さ、後でjsにて調整 */
}
div#in_Div_L {
  position:relative;
  overflow: hidden;
  overflow: auto;
  float:left;
  height: 100px;
  height: auto;
}
body .pbBody table.list tr.headerRow td {
@@ -57,59 +55,67 @@
  padding:0px 0px 0px 1px; border-width: 0px 0px 1px 0px; vertical-align: middle; word-break:break-all;
}
body .pbBody table.list tr.dataRow td.dataCellBorder  {
  /* いらない、使っていない */
  padding:0px 0px 0px 1px; border-width: 0px 0px 1px 0px; vertical-align: middle; word-break:break-all;
}
body .pbBody table.list tr.dataRow td.dataCellBorder1 {
  padding:0px 0px 0px 1px;
  border-width: 0px 0px 1px 1px; vertical-align: middle; word-break:break-all;
}
@-moz-document url-prefix() {
/*@-moz-document url-prefix() {
body .pbBody table.list tr.dataRow td.dataCellBorder1 {padding:0px 0px 0px 0px; border-width: 0px 0px 1px 1px; vertical-align: middle; word-break:break-all;}
}
}*/
table.list td {width:100px;}
table.list td select {width:95%;}
table.list td input {width:95%;}
table.list td {width:50px;}
.lookupInput{width:150px;}
table.list td select {width:55%;}
table.list td input {width:100%;text-align: center}
table.list td textarea {
  height:50px;
  width:90%;
}
.dataCellBorder1 col_State_Hospital__c 1_col_State_Hospital__c {width:10px;}
table.list .col_Management_Code__c {width:109px;}
table.list .col_Hospital__c {width:129px;}
table.list .col_Department__c {width:129px;}
table.list .col_Department__c {width:120px;}
table.list .col_Name {width:118px;}
table.list .col_Hospital__r_Salesdepartment_HP__c {width:88px;}
table.list .col_State_Hospital__c {width:58px;}
table.list .col_State_Hospital__c {width:80px;}
table.list .col_HP_OCM__c {width:80px;}
table.list .col_Status__c {width:88px;}
table.list .col_Service_Contract_Staff__c {width:118px;}
table.list .col_Service_contract_number__c {width:118px;}
table.list .col_Estimate_Trial_Money__c {width:118px;}
table.list .col_Service_contract_number__c {width:100px;}
table.list .col_Estimate_Trial_Money__c {width:157px;}
table.list .col_Status2__c {width:88px;}
table.list .col_Contract_Amount__c {width:148px;}
table.list .col_CreatedDate {width:98px;}
table.list .col_Contract_Start_Date__c {width:88px;}
table.list .col_Contract_End_Date__c {width:88px;}
table.list .col_Service_contract_target_number__c {width:78px;}
/*.list4 td:nth-child(4) {
      width: 120px;
    }
.list4 td:nth-child(10) {
  width: 150px;
}*/
body .pbBody table.list tr.headerRow td.colViewing {
  /* デフォルト値、最小化アイコンを表示 */
  background-image:url('{!URLFOR($Resource.IconResizeMinus_5)}') ;
  background-repeat:no-repeat;
  /*background-image:url('{!URLFOR($Resource.IconResizeMinus_5)}') ;*/
  /*background-repeat:no-repeat;*/
}
body .pbBody{
    width:3800px;
}
body .pbBody table.list tr.headerRow td.colUnHideIcon {
  /* 最大化アイコンを表示 */
  background-image:url('{!URLFOR($Resource.IconResizePlus_5)}');
  background-repeat:no-repeat;
/*  background-image:url('{!URLFOR($Resource.IconResizePlus_5)}');
  background-repeat:no-repeat;*/
}
body .pbBody table.list tr.headerRow td.col_Scroll {width:0px; padding:0px; border-width:0px;}
body .pbBody table.list tr.dataRow td.col_Scroll {width:0px; padding:0px; border-width:0px;}
</style>
<script type="text/javascript">
var heightAjustment = 120;
var widthAjustment = 30;
</script>
</head>
    <apex:form id="allForm">
@@ -130,8 +136,8 @@
            <apex:pageBlock id="searchBlock" tabStyle="Report">
                <table style="border-bottom-width: 0px; font-size:12px;">
                    <tr>
                        <td width="150px">
                            <apex:commandButton action="{!save}" value="保存" rerender="allPanel" onclick="blockme();" oncomplete="unblockUI();" style="height:30px;width:50px;"/>&nbsp;&nbsp;
                        <td width="200px">
                            <apex:commandButton action="{!save}" value="保存" rerender="allPanel" onclick="blockme();" oncomplete="unblockUI();" style="height:30px;width:80px;"/>&nbsp;&nbsp;
                            <apex:commandButton value="检索" onclick="searchOppJs();return false;" style="height:30px;width:70px;"/>
                        </td>
                        <td width="1000px">
@@ -144,7 +150,7 @@
                        <td width="250px">医院&nbsp;<apex:inputText value="{!accSearch}" style="width:150px"/> </td>
                        <td width="40px">创建人</td>
                        <td width="150px"><span><apex:inputText value="{!ownerSearch}" style="width:100px;" /></span></td>
                        <td width="400px">
                        <td width="600px">
                            <font>日期</font>&nbsp;
                            <apex:selectList value="{!dateField}" size="1" style="width:110px" id="dateFieldId"><apex:selectOptions value="{!dateOpts}" id="dateOptsId"/></apex:selectList> 
                                  从&nbsp;<apex:inputField value="{!con1.BirthDate}" id="fromDateId"/> 
@@ -190,11 +196,11 @@
                <apex:outputPanel >
                    <apex:inputHidden id="oppCount" value="{!oppCount}"/>
                    <div id="out_Div_L">
                        <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader_L">
                            <table class="list" style="table-layout:fixed;border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader_L">
                            <tr class="dataRow" height="1px">
                            <apex:variable value="{!0}" var="cnt" />
                            <apex:repeat value="{!titleLeft}" var="t">
                                <td class="col_{!columnLeftCss[cnt]}"></td>
                                    <td class="col_{!columnLeftCss[cnt]}" style="width: 140px"></td>
                                <apex:variable value="{!cnt + 1}" var="cnt" />
                            </apex:repeat>
                            </tr>
@@ -210,14 +216,13 @@
                        </table>
                    </div>
                    <div id="out_Div">
                        <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader">
                        <table class="list" style="table-layout:fixed;border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader">
                            <tr class="dataRow" height="1px">
                            <apex:variable value="{!0}" var="cnt" />
                            <apex:repeat value="{!titleRight}" var="t">
                                <td class="col_{!columnRightCss[cnt]}"></td>
                                <td class="col_{!columnRightCss[cnt]}" style="width: 100px"></td>
                                <apex:variable value="{!cnt + 1}" var="cnt" />
                            </apex:repeat>
                            <td id="cell_Scroll" class="col_Scroll"></td>
                            </tr>
                            <tr class="headerRow" height="30px">
                            <apex:variable value="{!0}" var="cnt" />
@@ -227,21 +232,22 @@
                                </td>
                                <apex:variable value="{!cnt + 1}" var="cnt" />
                            </apex:repeat>
                            <td id="cell_Scroll" class="col_Scroll"></td>
                            </tr>
                        </table>
                    </div>    <!-- out_Div -->
                    </div>
                </apex:outputPanel>
                <apex:outputPanel>
                    <div style="clear:both;height:0px;"></div>
                    <div id="in_Div_L">
                        <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableData_L">
                        <table class="list"  style="table-layout:fixed;border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableData_L">
                            <apex:variable value="{!1}" var="cnt" />
                            <apex:repeat value="{!oppRecords}" var="or" id="oppTable_L">
                                <tr class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} " onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}">
                                <apex:variable value="{!0}" var="cnt_2" />
                                <apex:repeat value="{!columnsLeftApi}" var="c">
                                    <td class="dataCellBorder1 col_{!columnLeftCss[cnt_2]}">
                                    <td class="dataCellBorder1 col_{!columnLeftCss[cnt_2]}" style="width: 140px;text-align:center">
                                    <apex:outputPanel rendered="{!(c.size==1 && columnLeftRW[c[0]]=='r')}" layout="none">
<!-- in_Div_LのAccount名は特殊対応、リンクにする -->
<apex:outputPanel rendered="{!c[0]=='Name'}" layout="none">
                                        <apex:outputLink value="/{!or.mc.Id}" target="LINK_{!or.mc.Id}"><apex:outputField value="{!or.mc[c[0]]}" /></apex:outputLink>
</apex:outputPanel>
@@ -267,13 +273,13 @@
                        </table>
                    </div>
                    <div id="in_Div">
                        <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableData">
                        <table class="list4" style="table-layout:fixed;border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableData">
                            <apex:variable value="{!1}" var="cnt" />
                            <apex:repeat value="{!oppRecords}" var="or" id="oppTable">
                                <tr class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} " onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}">
                                <apex:variable value="{!0}" var="cnt_3" />
                                <apex:repeat value="{!columnsRightApi}" var="c">
                                    <td class="dataCellBorder1 col_{!columnRightCss[cnt_3]} {!cnt}_col_{!columnRightCss[cnt_3]}">
                                    <td class="dataCellBorder1 col_{!columnRightCss[cnt_3]} {!cnt}_col_{!columnRightCss[cnt_3]}" style="width: 100px;text-align:center">
                                    <apex:outputPanel rendered="{!(c.size==1 && columnRightRW[c[0]]=='r')}" layout="none">
                                        <apex:outputField value="{!or.mc[c[0]]}"/>
                                    </apex:outputPanel>
@@ -289,7 +295,7 @@
                                    <apex:variable value="{!cnt_3 + 1}" var="cnt_3" />
                                    </td>
                                </apex:repeat>
                                <td id="cell_Scroll" class="col_Scroll">
                                <!-- <td id="cell_Scroll" class="col_Scroll"> -->
                                    <apex:inputHidden value="{!or.changeFlg}" id="changeFlg"/>
                                    <script type="text/javascript">
                                        if ("{!or.canEdit}" == "false") {
@@ -315,12 +321,12 @@
                                            j$(leftFirst).css("background-color", "red");
                                        }
                                    </script>
                                </td>
                                <!-- </td> -->
                                </tr>
                                <apex:variable value="{!cnt + 1}" var="cnt" />
                            </apex:repeat> 
                        </table>
                    </div><!-- /in_Div -->
                    </div>
                </apex:outputPanel>
            </apex:pageBlock>
<script type="text/javascript">
@@ -333,11 +339,11 @@
            tableWidth += headerCol.width();
        }
    });
    j$('table#tableData').css('width', (tableWidth + 2) + 'px');
    j$('table#tableHeader').css('width', (tableWidth + 2) + 'px');
    // j$('table#tableData').css('width', (tableWidth + 100) + 'px');
    // j$('table#tableHeader').css('width', (tableWidth + 100) + 'px');
    // list の headerRow の tdに toggleWidth() を追加
    bindTdToggleWidth();
    // bindTdToggleWidth();
});
var elements = document.getElementsByTagName("select");
for (i = 0; i < elements.length; i++) {
force-app/main/default/pages/OFSHospitalLayout.page
@@ -1,4 +1,4 @@
<apex:page id="Page" standardcontroller="Account" showHeader="false" sidebar="false" extensions="OFSHospitalLayoutController" action="{!init}" standardStylesheets="true" applyBodyTag="false" applyHtmlTag="false">
<apex:page id="Page" standardcontroller="Account" showHeader="false" sidebar="false" extensions="OFSHospitalLayoutController" action="{!init}" standardStylesheets="true" applyBodyTag="false" applyHtmlTag="false" lightningStylesheets="true">
<html>
<head>
<meta name="viewport" content="width=1150,user-scalable=no" />     <!-- TODO 1150はコンテンツの幅 -->
@@ -75,7 +75,7 @@
                        <td><apex:outputLabel value="{!$ObjectType.Account.Label}:" style="font-size:18px;font-weight: bold;padding-right: 5px;"/></td>
                        <td><apex:outputLabel value="{!acc.Name}" style="font-size:18px;font-weight: bold;padding-right: 20px;"/></td>
                        <td style="text-align: center;padding-right: 100px;"><apex:commandButton style="width:80px;" value="保存" action="{!save}"/></td>
                        <td style="text-align: center;"><apex:commandButton style="width:80px;" value="关闭窗口" onclick="location.href='/apex/OFSWindowClose';return false;"/></td>
                        <td style="text-align: center;"><apex:commandButton style="width:120px;" value="关闭窗口" onclick="location.href='/apex/OFSWindowClose';return false;"/></td>
                    </tr>
                </table>
                <apex:pageBlockSection title="{!sectionList[0].title}" columns="{!sectionList[0].column}" showHeader="{!sectionList[0].showHeader}" rendered="{!sectionList.size>0}">
@@ -143,7 +143,7 @@
                </apex:pageBlockSection>
</apex:repeat>
            </div>
            <div style="position: fixed; bottom: 0; width:100%;z-index:1" Id="InfoFoot">
            <div style="position: relative; bottom: 0; width:100%;z-index:1" Id="InfoFoot">
                <apex:pageBlockSection title="报告" columns="3" Id="Report"  showHeader="false" >
                    <apex:outputPanel styleClass="reportElement"  layout="block" rendered="{!selectedRptMapList.size > pageNo*3+0}" style="float:left;width:100%">
                        <apex:outputPanel layout="none" rendered="{!(selectedRptMapList[pageNo*3+0]['Column'] != 'false')}">
force-app/main/default/pages/PAEDecisionRecord.page
@@ -1,4 +1,4 @@
<apex:page action="{!init}" extensions="PAEDecisionRecordController" id="allPage" showheader="false" sidebar="false" standardcontroller="PAE_DecisionRecord__c" title="PAE判定记录">
<apex:page action="{!init}" extensions="PAEDecisionRecordController" id="allPage" showheader="false" sidebar="false" standardcontroller="PAE_DecisionRecord__c" title="PAE判定记录" lightningStylesheets="true">
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}">
    </apex:stylesheet>
    <apex:includescript value="{!URLFOR($Resource.jquery183minjs)}">
@@ -70,6 +70,23 @@
            blockme();
            InsertRow();
            
        }
        var selectedSize = 0;
        var pageLimit = {!pageLimit};
        function CheckSize(j){
            var a = j.id;
            var productCount = j$(escapeVfId(a)).attr('checked');
            if (productCount == 'checked') {
                if(selectedSize >= pageLimit){
                    window.alert("页面所选数据不能超过500条");
                    j$(escapeVfId(a)).attr('checked',false);
                    return;
                }
                selectedSize ++;
            } else {
                selectedSize --;
            }
            //alert(selectedSize);
        }
        // 保存并关闭
        function SaveAndCloses(onlySave) {
@@ -172,12 +189,12 @@
        td.columuslowercolour {
            background-color: red;
            text-align: right;
            text-align: left;
        }
        td.columuscuperolour {
            background-color: yellow;
            text-align: right;
            text-align: left;
        }
    </style>
    <apex:form id="allForm">
@@ -210,35 +227,22 @@
        <apex:outputpanel id="allPanel">
            <apex:pageblock id="allBlock">
                <apex:pageblock id="unEditable" rendered="{!editAble}" title="{!IF(RecordTypeName = 'ASRCDecision' , 'Intake universal code 编辑画面', 'Final universal code 编辑画面')}">
                    <table cellspacing="10">
                    <table cellspacing="8">
                        <colgroup>
                            <col width="7%">
                            </col>
                            <col width="10%">
                            </col>
                            <col width="7%">
                            </col>
                            <col width="7%">
                            </col>
                            <col width="7%">
                            </col>
                            <col width="7%">
                            </col>
                            <col width="7%">
                            </col>
                            <col width="7%">
                            </col>
                            <col width="7%">
                            </col>
                            <col width="7%">
                            </col>
                            <col width="7%">
                            </col>
                           <col width="15%"/>
                            <col width="10%"/>
                            <col width="15%"/>
                            <col width="15%"/>
                            <col width="15%"/>
                            <col width="10%"/>
                            <col width="15%"/>
                            <col width="15%"/>
                            <col width="15%"/>
                            <col width="15%"/>
                            <col width="15%"/>
                            <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision' , true, false)}">
                                <col width="15%">
                                </col>
                                <col width="10%">
                                </col>
                               <col width="15%"/>
                            <col width="15%"/>
                            </apex:outputpanel>
                        </colgroup>
                        <tr>
@@ -257,12 +261,12 @@
                            <!-- 2020/07/28 taoqz end -->
                            <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' , true, false)}">
                                <!-- <th>AS-RC</th> -->
                                <td align="right">
                                <td align="left">
                                    {!$ObjectType.Repair__c.fields.Repair_ConfirmationDate__c.label}:
                                </td>
                            </apex:outputpanel>
                            <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision' , true, false)}">
                                <td align="right">
                                <td align="left">
                                    {!$ObjectType.Repair__c.fields.OCSM_RC_CordingDate__c.label}:
                                </td>
                            </apex:outputpanel>
@@ -272,13 +276,13 @@
                            </td>
                            <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' , true, false)}">
                                <!-- <th>AS-RC</th> -->
                                <td align="right">
                                <td align="left">
                                    {!$ObjectType.Repair__c.fields.Repair_Authenticator__c.label}:
                                </td>
                            </apex:outputpanel>
                            <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision' , true, false)}">
                                <!-- <th>AS-AC</th> -->
                                <td align="right">
                                <td align="left">
                                    {!$ObjectType.Repair__c.fields.OCSM_RC_CordingUser__c.label}:
                                </td>
                            </apex:outputpanel>
@@ -288,7 +292,7 @@
                            </td>
                            <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' && repa != null, true, false)}">
                                <!-- <th>AS-RC</th> -->
                                <td align="right">
                                <td align="left">
                                    {!$ObjectType.Repair__c.fields.SAP_Transfer_time__c.label}:
                                </td>
                                <td align="left">
@@ -297,7 +301,7 @@
                                </td>
                            </apex:outputpanel>
                            <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision' , true, false)}">
                                <td align="right">
                                <td align="left">
                                    再现结果确认:
                                </td>
                                <td align="left" style="{!IF(rdRecord.PAE_reappear_confirm__c = '未确认' , 'color: red;font-weight: 800;', '')}">
@@ -321,14 +325,14 @@
                                </td>
                            </apex:outputpanel>
                            <!-- <apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' , true, false)}">
                                <td align="right" > 进行修理的判定结果:</td>
                                <td align="left" > 进行修理的判定结果:</td>
                                <td align="left" >  
                                    <apex:InputField value="{!repa.Repair_Determine_result__c}"/>
                                </td>
                            </apex:outputPanel> -->
                            <!-- update by rentongxiao 2020-09-21 start -->
                            <!-- <apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision', true, false)}">
                                <td align="right" > {!$ObjectType.Repair__c.fields.if_Repair_Allowed__c.label}:</td>
                                <td align="left" > {!$ObjectType.Repair__c.fields.if_Repair_Allowed__c.label}:</td>
                                <td align="left" >  
                                    <apex:InputField id="repairDetermineResult"  value="{!repa.if_Repair_Allowed__c}" rendered="{!isOSH}"/>
                                    <apex:outputField id="repairDetermineResultout"  value="{!repa.if_Repair_Allowed__c}" rendered="{!!isOSH}"/>
@@ -337,7 +341,7 @@
                            </apex:outputPanel>
                            <apex:outputPanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision', true, false)}">
                                <td align="right" > {!$ObjectType.Repair__c.fields.NotAllowedReason__c.label}:</td>
                                <td align="left" > {!$ObjectType.Repair__c.fields.NotAllowedReason__c.label}:</td>
                                <td align="left" colspan="3">  
                                    <apex:InputField id="NotAllowedReason"  value="{!repa.NotAllowedReason__c}" rendered="{!isOSH}"/>
                                    <apex:outputField id="NotAllowedReasontout"  value="{!repa.NotAllowedReason__c}" rendered="{!!isOSH}"/>
@@ -345,7 +349,7 @@
                                
                            </apex:outputPanel> -->
                            <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' && repa != null, true, false)}">
                                <td align="right">
                                <td align="left">
                                    {!$ObjectType.Repair__c.fields.if_Repair_Allowed__c.label}:
                                </td>
                                <td align="left">
@@ -356,7 +360,7 @@
                                </td>
                            </apex:outputpanel>
                            <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' && repa != null, true, false)}">
                                <td align="right">
                                <td align="left">
                                    {!$ObjectType.Repair__c.fields.NotAllowedReason__c.label}:
                                </td>
                                <td align="left" colspan="3">
@@ -369,8 +373,6 @@
                            <!-- update by rentongxiao 2020-09-21 end                           -->
                        </tr>
                        <tr>
                            <td colspan="4">
                            </td>
                            <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASRCDecision' && repa != null , true, false)}">
                                <!-- <th>AS-RC</th> -->
                                <td align="left">
@@ -394,43 +396,63 @@
                        </tr>
                    </table>
                    <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision'&& rdRecord.PAE_reappear_confirm__c = '未确认',false , true)}">
                        <table style="width:100%; {!IF(RecordTypeName = 'ASACDecision'&& rdRecord.PAE_reappear_confirm__c = '未确认', 'display: none;', '')}">
                        <table style="width:100%; {!IF(RecordTypeName = 'ASACDecision'&& rdRecord.PAE_reappear_confirm__c = '未确认', 'display: none;', '')}" cellspacing="8">
                            <colgroup>
                          <col width="1%"/>
                            <col width="1%"/>
                            <col width="1%"/>
                            <col width="1%"/>
                            <col width="1%"/>
                            <col width="1%"/>
                            <col width="25%"/>
                            <col width="25%"/>
                            <col width="15%"/>
                            <col width="15%"/>
                            <col width="15%"/>
                            </colgroup>
                            <tr>
                                <td>
                                    <!-- <apex:commandButton onclick="SaveAndCloses(false);"   value="1保存并关闭" style="margin-left:30px;width:80px;float:right" rerender="unEditable,message" oncomplete="unblockUI();"/>  -->
                                    <apex:commandbutton onclick="ReturnRepairInterface();return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:right" value="关闭">
                                    <!-- <apex:commandButton onclick="SaveAndCloses(false);"   value="1保存并关闭" style="margin-left:30px;width:80px;float:left" rerender="unEditable,message" oncomplete="unblockUI();"/>  -->
                                    <apex:commandbutton onclick="ReturnRepairInterface();return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:left" value="关闭">
                                    </apex:commandbutton>
                                    <apex:commandbutton disabled="{!IF(((repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake') || editFlag) && savebuton == false && !(RecordTypeName='ASRCDecision'&&OCSM_QARA='1'),true,false)}" onclick="SaveAndCloses(1);return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:right" value="保存">
                                </td>
                                <td>
                                    <apex:commandbutton disabled="{!IF(((repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake') || editFlag) && savebuton == false && !(RecordTypeName='ASRCDecision'&&OCSM_QARA='1'),true,false)}" onclick="SaveAndCloses(1);return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:left" value="保存">
                                    </apex:commandbutton>
                                    <!-- <apex:commandButton value="保存并关闭" disabled="{!editFlag}"  rendered="{!IF((!isOSH && OCSM_QARA != '1' && RecordTypeName = 'ASRCDecision' && repa != null) || (RecordTypeName = 'ASACDecision') || (RecordTypeName = 'ASACDecision' && QISReportId != null),true,false)}" style="margin-left:30px;width:80px;float:right"  onclick="SaveAndCloses(2);return false;"  rerender="unEditable,message" oncomplete="unblockUI();" /> -->
                                </td>
                                    <!-- <apex:commandButton value="保存并关闭" disabled="{!editFlag}"  rendered="{!IF((!isOSH && OCSM_QARA != '1' && RecordTypeName = 'ASRCDecision' && repa != null) || (RecordTypeName = 'ASACDecision') || (RecordTypeName = 'ASACDecision' && QISReportId != null),true,false)}" style="margin-left:30px;width:80px;float:left"  onclick="SaveAndCloses(2);return false;"  rerender="unEditable,message" oncomplete="unblockUI();" /> -->
                                    <!-- 20200810 Gzw 修改保存并关闭按钮,Final时显示
                                <apex:commandButton value="保存并关闭" disabled="{!editFlag}"  rendered="{!IF(((repa != null && !((repa.Repair_Determine__c = '要' && isOSH)||repa.Repair_Determine__c != '要')) || (RecordTypeName = 'ASACDecision')),true,false)}" style="margin-left:30px;width:80px;float:right"  onclick="SaveAndCloses(2);return false;"  rerender="unEditable,message" oncomplete="unblockUI();" /> -->
                                    <apex:commandbutton disabled="{!editFlag}" onclick="SaveAndCloses(2);return false;" oncomplete="unblockUI();" rendered="{!IF(repa != null && RecordTypeName = 'ASACDecision',true,false)}" rerender="unEditable,message" style="margin-left:30px;width:80px;float:right" value="保存并关闭">
                                <apex:commandButton value="保存并关闭" disabled="{!editFlag}"  rendered="{!IF(((repa != null && !((repa.Repair_Determine__c = '要' && isOSH)||repa.Repair_Determine__c != '要')) || (RecordTypeName = 'ASACDecision')),true,false)}" style="margin-left:30px;width:80px;float:left"  onclick="SaveAndCloses(2);return false;"  rerender="unEditable,message" oncomplete="unblockUI();" /> -->
                                <td>
                                    <apex:commandbutton disabled="{!editFlag}" onclick="SaveAndCloses(2);return false;" oncomplete="unblockUI();" rendered="{!IF(repa != null && RecordTypeName = 'ASACDecision',true,false)}" rerender="unEditable,message" style="margin-left:30px;width:80px;float:left" value="保存并关闭">
                                    </apex:commandbutton>
                                </td>
                                    <!-- When 要不要进行修理的判定=要 -->
                                    <!-- OSH screen:[确定并SAP申请]  -->
                                    <!-- OCSM QARA screen  [确定并关闭] -->
                                    <!-- update by rentx 2020-10-26 start -->
                                    <!-- <apex:commandButton rendered="{!IF(((repa.Repair_Determine__c = '要' && isOSH)||repa.Repair_Determine__c != '要') && repa != null && RecordTypeName='ASRCDecision',true,false)}" value="确定并SAP申请"  style="margin-left:30px;width:100px;float:right"  onclick="sendToSAPJS(2);return false;"  rerender="unEditable,message" oncomplete="unblockUI();" disabled="{!IF(repa.SAP_Transfer_time__c != null || editFlag,true,false)}" /> -->
                                    <!-- <apex:commandButton rendered="{!IF(((repa.Repair_Determine__c = '要' && isOSH)||repa.Repair_Determine__c != '要') && repa != null && RecordTypeName='ASRCDecision',true,false)}" value="确定并SAP申请"  style="margin-left:30px;width:100px;float:left"  onclick="sendToSAPJS(2);return false;"  rerender="unEditable,message" oncomplete="unblockUI();" disabled="{!IF(repa.SAP_Transfer_time__c != null || editFlag,true,false)}" /> -->
                                    
                                    
                                    <apex:commandbutton disabled="{!IF(repa.SAP_Transfer_time__c != null || editFlag,true,false)}" onclick="sendToSAPJS(2);return false;" oncomplete="unblockUI();" rendered="{!IF(((repa.Repair_Determine__c = '要' && isOSH)||repa.Repair_Determine__c != '要') && repa != null && RecordTypeName='ASRCDecision',true,false)}" rerender="unEditable,message" style="margin-left:30px;width:100px;float:right" value="确定并SAP申请">
                                <td>
                                    <apex:commandbutton disabled="{!IF(repa.SAP_Transfer_time__c != null || editFlag,true,false)}" onclick="sendToSAPJS(2);return false;" oncomplete="unblockUI();" rendered="{!IF(((repa.Repair_Determine__c = '要' && isOSH)||repa.Repair_Determine__c != '要') && repa != null && RecordTypeName='ASRCDecision',true,false)}" rerender="unEditable,message" style="margin-left:30px;width:120px;float:left" value="确定并SAP申请">
                                    </apex:commandbutton>
                                    <apex:commandbutton disabled="{!editFlag}" onclick="SaveAndCloses(2);return false;" oncomplete="unblockUI();" rendered="{!IF((repa.Repair_Determine__c = '要' && OCSM_QARA == '1' && RecordTypeName = 'ASRCDecision' && repa != null) || (RecordTypeName = 'ASRCDecision' && QISReportId != null),true,false)}" rerender="unEditable,message" style="margin-left:30px;width:100px;float:right" value="确定并关闭">
                                </td>
                                <td>
                                    <apex:commandbutton disabled="{!editFlag}" onclick="SaveAndCloses(2);return false;" oncomplete="unblockUI();" rendered="{!IF((repa.Repair_Determine__c = '要' && OCSM_QARA == '1' && RecordTypeName = 'ASRCDecision' && repa != null) || (RecordTypeName = 'ASRCDecision' && QISReportId != null),true,false)}" rerender="unEditable,message" style="margin-left:30px;width:100px;float:left" value="确定并关闭">
                                    </apex:commandbutton>
                                </td>
                                    <!-- OCSM_QARA : {!OCSM_QARA}
                            OSH : {!isOSH} -->
                                    <!-- update by rentx 2020-10-26 start -->
                                    <!-- <apex:commandButton value="插入行" disabled="{!IF((RecordTypeName='ASRCDecision'&&OCSM_QARA='0')||(RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) || (RecordTypeName='ASRCDecision' && repa.SAP_Transfer_time__c != null),true,false)}" style="margin-left:30px;width:60px;float:right" onclick="InsertRows();return false;" rerender="unEditable,message" oncomplete="unblockUI();"/>
                            <apex:commandButton value="取消行" disabled="{!IF((RecordTypeName='ASRCDecision'&&OCSM_QARA='0')||(RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) || (RecordTypeName='ASRCDecision' && repa.SAP_Transfer_time__c != null),true,false)}" style="margin-left:30px;width:60px;float:right" onclick="SaveAndCloses(3);return false;"  rerender="unEditable,message" oncomplete="unblockUI();"/> -->
                                    <apex:commandbutton disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) && (repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake')),true,false)}" onclick="InsertRows();return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:60px;float:right" value="插入行">
                                    <!-- <apex:commandButton value="插入行" disabled="{!IF((RecordTypeName='ASRCDecision'&&OCSM_QARA='0')||(RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) || (RecordTypeName='ASRCDecision' && repa.SAP_Transfer_time__c != null),true,false)}" style="margin-left:30px;width:60px;float:left" onclick="InsertRows();return false;" rerender="unEditable,message" oncomplete="unblockUI();"/>
                            <apex:commandButton value="取消行" disabled="{!IF((RecordTypeName='ASRCDecision'&&OCSM_QARA='0')||(RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) || (RecordTypeName='ASRCDecision' && repa.SAP_Transfer_time__c != null),true,false)}" style="margin-left:30px;width:60px;float:left" onclick="SaveAndCloses(3);return false;"  rerender="unEditable,message" oncomplete="unblockUI();"/> -->
                                <td>
                                    <apex:commandbutton disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) && (repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake')),true,false)}" onclick="InsertRows();return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:left" value="插入行">
                                    </apex:commandbutton>
                                    <apex:commandbutton disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) && (repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake')),true,false)}" onclick="SaveAndCloses(3);return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:60px;float:right" value="取消行">
                                </td>
                                <td>
                                    <apex:commandbutton disabled="{!IF((RecordTypeName = 'ASRCDecision' && OCSM_QARA = '0') && ((RecordTypeName='ASACDecision'&&OCSM_Cording='0')||(editFlag) && (repa.ETQ_UPLOAD_ERROR_GROUP__c != 'Intake')),true,false)}" onclick="SaveAndCloses(3);return false;" oncomplete="unblockUI();" rerender="unEditable,message" style="margin-left:30px;width:80px;float:left" value="取消行">
                                    </apex:commandbutton>
                                    <!-- update by rentx 2020-10-26 end -->
                                </td>
@@ -438,7 +460,7 @@
                        </table>
                    </apex:outputpanel>
                    <apex:outputpanel layout="none" rendered="{!IF(RecordTypeName = 'ASACDecision'&& rdRecord.PAE_reappear_confirm__c = '未确认',true , false)}">
                        <p style="text-align: right;padding-bottom: 10px;width:100%;font-weight: 800;">
                        <p style="text-align: left;padding-bottom: 10px;width:100%;font-weight: 800;">
                            再现结果未确认,请点击Intake universal code 编辑 按钮前去确认
                        </p>
                    </apex:outputpanel>
force-app/main/default/pages/RentalAgencyReceived.page
@@ -1,4 +1,5 @@
<apex:page controller="RentalAgencyReceivedController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="办事处欠品确认">
<!-- 20230427 zq <apex:page controller="RentalAgencyReceivedController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="办事处欠品确认"> -->
    <apex:page lightningStylesheets = "true" controller="RentalAgencyReceivedController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="办事处欠品确认">
    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
force-app/main/default/pages/YouCantDeleteQuote.page
@@ -1,4 +1,4 @@
<apex:page standardController="quote">
<apex:page standardController="quote" lightningstylesheets="true">
<div style="position: relative; margin-top: 10px; margin-left: 10px;">
<span style="font-weight: bold; font-size: 12pt;">{!$Label.YouCantDeleteEvent1}</span>