| force-app/main/default/classes/SelectRentalButtonController.cls | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/classes/SelectRentalButtonController.cls-meta.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/lwc/lexSelectRental/lexSelectRental.css | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/lwc/lexSelectRental/lexSelectRental.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/lwc/lexSelectRental/lexSelectRental.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| force-app/main/default/lwc/lexSelectRental/lexSelectRental.js-meta.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
force-app/main/default/classes/SelectRentalButtonController.cls
New file @@ -0,0 +1,95 @@ global with sharing class SelectRentalButtonController { @AuraEnabled public static Equipment_Set_Detail__c getEquipmentSetId(String recordId){ Equipment_Set_Detail__c res=new Equipment_Set_Detail__c(); try{ res=[select Equipment_Set__c,Select_rental__c from Equipment_Set_Detail__c where Id=: recordId]; } catch(Exception e){ System.debug(Logginglevel.info,'*******e'+e); } return res; } @AuraEnabled public static List<Equipment_Set_Detail__c> getEquipmentSet(String esid){ try{ List<Equipment_Set_Detail__c> res=[select Id,Name,Select_rental__c from Equipment_Set_Detail__c where Equipment_Set__c = : esid]; return res; } catch(Exception e){ System.debug(Logginglevel.info,'*******e'+e); } return null; } @AuraEnabled public static List<String> updateEquipment(List<Equipment_Set_Detail__c> sqlResult){ List<String> res=new List<String>(); try{ for(Equipment_Set_Detail__c equipMent : sqlResult){ update equipMent; res.add('success'); } } catch(Exception e){ System.debug(Logginglevel.info,'*******e'+e); } return res; } @AuraEnabled public static List<Equipment_Set_Detail__c> findIdArea(List<String> id){ List<Equipment_Set_Detail__c> res = new List<Equipment_Set_Detail__c>(); try{ res=[select Id,Select_rental__c from Equipment_Set_Detail__c where Id IN : id ]; } catch (Exception e) { System.debug(Logginglevel.info,'*******e'+e); } return res; } @AuraEnabled public static String getSessionId(){ return UserInfo.getSessionId(); } @AuraEnabled public static List<String> getRecords(){ List<String> res= new List<String>(); try{ List<Equipment_Set_Detail__c> obj = [select Id from Equipment_Set_Detail__c where Select_rental__c=true]; for(Equipment_Set_Detail__c equipMent : obj){ res.add(equipMent.Id); } } catch(Exception e){ System.debug(Logginglevel.info,'*******e'+e); } return res; } } force-app/main/default/classes/SelectRentalButtonController.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/lwc/lexSelectRental/lexSelectRental.css
New file @@ -0,0 +1,11 @@ .lexSelectRentalHolder{ position: relative; display: inline-block; width: 80px; height: 80px; text-align: center; } .container .uiContainerManager{ display : none !important; } force-app/main/default/lwc/lexSelectRental/lexSelectRental.html
New file @@ -0,0 +1,4 @@ <template> <div class="lexSelectRentalHolder" if:true={IsLoding}> <lightning-spinner alternative-text="Loading" size="medium"> </lightning-spinner> </div> </template> force-app/main/default/lwc/lexSelectRental/lexSelectRental.js
New file @@ -0,0 +1,136 @@ import { LightningElement,api, track, wire } from 'lwc'; import getEquipmentSetId from '@salesforce/apex/SelectRentalButtonController.getEquipmentSetId'; import getEquipmentSet from '@salesforce/apex/SelectRentalButtonController.getEquipmentSet'; import updateEquipment from '@salesforce/apex/SelectRentalButtonController.updateEquipment'; import getSessionId from '@salesforce/apex/SelectRentalButtonController.getSessionId'; import getRecords from '@salesforce/apex/SelectRentalButtonController.getRecords'; import findIdArea from '@salesforce/apex/SelectRentalButtonController.findIdArea'; import {CurrentPageReference} from 'lightning/navigation'; import { CloseActionScreenEvent } from 'lightning/actions'; export default class lexSelectRental extends LightningElement { @api recordId; IsLoading; Equipment_Set_Detail__c; @wire(CurrentPageReference) getStateParameters(currentPageReference){ if(currentPageReference){ console.log(currentPageReference); console.log("进入获取page参数") const IdValue=currentPageReference.state.recordId; if(IdValue){ let str=`${IdValue}`; this.recordId=str; console.log("recordId="+str); } } } connectedCallback(){ getEquipmentSetId({recordId:this.recordId}).then(res=>{ if(res!=null){ this.IsLoading=false; console.log("res"); console.log(res); console.log("进入初始化对象其他属性"); this.Equipment_Set_Detail__c=res; console.log(this.Equipment_Set_Detail__c); console.log(this.Equipment_Set_Detail__c.Select_rental__c); this.SelectLending(); } else{ let a="没进方法"; console.log(a); } }).catch(error =>{ console.log("error"); console.log(error.message); }).finally(()=>{ }); } async SelectLending(){ try{ this.dispatchEvent(new CloseActionScreenEvent()); window.sforce = window.sforce || {}; window.sforce.connection = window.sforce.connection || {}; let a =await getSessionId(); window.sforce.connection.sessionId =await getSessionId(); console.log(a); let esid = this.Equipment_Set_Detail__c.Equipment_Set__c; console.log(esid); //选择借出是一个复选框,这里就是找复选框勾上的数据Id,不知道这个怎么接受从前端穿参数。 //所以我直接查数据库 let esdids =new Array(); esdids=await getRecords(); console.log(esdids); let hasError = false; //更新数据 if (esdids.length > 0) { console.log('进入第一个if方法'); let sqlResult = await getEquipmentSet({esid:esid}); console.log(sqlResult); console.log('返回对象数组第一个'+sqlResult[0]); for (let i = 0; i < sqlResult.length; i++) { let esd = sqlResult[i]; console.log(i); esd.Select_rental__c = false; } let result = await updateEquipment({sqlResult : sqlResult}); console.log(result); for (let i=0; i<result.length; i++) { if (result[i]!="success") { alert(result[i].errors.message); hasError = true; return; } } let EqObject = await findIdArea({id : esdids}); console.log(EqObject); for (let i = 0; i < EqObject.length; i++) { let esd = EqObject[i]; esd.Select_rental__c = true; } result = await updateEquipment({sqlResult : EqObject}); console.log(result); for (let i=0; i<result.length; i++) { if (result[i]!="success") { alert(result[i].errors.message); hasError = true; return; } } if (!hasError) { //window.top.location.reload; //这里好像top不存在 window.location.reload(); } } else { alert("请至少选择一个备品set明细。"); } } catch(e){ console.log(e); alert(e.message); } } } force-app/main/default/lwc/lexSelectRental/lexSelectRental.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="lexSelectRental"> <apiVersion>51.0</apiVersion> <isExposed>true</isExposed> <targets> <target>lightning__AppPage</target> <target>lightning__RecordPage</target> <target>lightning__HomePage</target> <target>lightning__RecordAction</target> </targets> </LightningComponentBundle>