Merge branch 'LEX_dev' of http://47.92.229.245:8089/r/lightningupdate into LEX_dev
| New file |
| | |
| | | public with sharing class buttonQISReportCtl { |
| | | public buttonQISReportCtl() { |
| | | |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static InitData init(String recordId){ |
| | | InitData res = new initData(); |
| | | try{ |
| | | QIS_Report__c report = [SELECT QIS_Status__c,PAE_DetermineAC__c,AE_DetermineResult__c,ETQ_UPLOAD_STATUS__c,QIS_final_judgement__c,OCM_judgement__c,PAE_Determine__c,Id FROM QIS_Report__c WHERE Id =: recordId LIMIT 1]; |
| | | res.PAEDetermineC = report.PAE_Determine__c; |
| | | res.PAEDetermineACC = report.PAE_DetermineAC__c; |
| | | res.OCMJudgementC = report.OCM_judgement__c; |
| | | res.QISFinalJudgementC = report.QIS_final_judgement__c; |
| | | res.ETQUPLOADSTATUSC = report.ETQ_UPLOAD_STATUS__c; |
| | | res.AEDetermineResultC = report.AE_DetermineResult__c; |
| | | res.Id = report.Id; |
| | | res.QISStatusC = report.QIS_Status__c; |
| | | res.userId = UserInfo.getUserId(); |
| | | res.email = UserInfo.getUserEmail(); |
| | | res.profileId = UserInfo.getProfileId(); |
| | | }catch(Exception e){ |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | // 根据ID修理报价提交 |
| | | @AuraEnabled |
| | | public static String updateOSHNogoods(String Id,String email,String userId){ |
| | | List<User> user = new List<User>(); |
| | | user = [SELECT Id,Alias from User]; |
| | | |
| | | String res =''; |
| | | try { |
| | | QIS_Report__c rac = new QIS_Report__c(); |
| | | rac.Id = Id; |
| | | rac.QIS_Status__c = 'OSH检测中'; |
| | | rac.OSHRecievedDate__c = Date.today(); |
| | | rac.OSH_Receive_staff__c = user[0].Alias; |
| | | rac.OSH_staff__c = user[0].Alias; |
| | | rac.OSH_staff_email__c = email; |
| | | rac.Is_ProductGot__c = true; |
| | | rac.OSH_GotProductPeople__c = userId; |
| | | |
| | | List<User> records = new List<User>(); |
| | | records = [SELECT Id, JingliApprovalManager__c, BuchangApprovalManager__c, ZongjianApprovalManager__c FROM User WHERE Id=: userId ]; |
| | | if (records != null && records.size() > 0 && records[0].JingliApprovalManager__c != null&& records[0].BuchangApprovalManager__c != null) { |
| | | rac.OSH_Manager__c= records[0].JingliApprovalManager__c; |
| | | rac.OSH_Buzhang__c= records[0].BuchangApprovalManager__c; |
| | | } else { |
| | | rac.OSH_Manager__c= userId; |
| | | rac.OSH_Buzhang__c= userId; |
| | | } |
| | | rac.OSHInspectionDate__c = Date.today(); |
| | | rac.OSH_Nogoods__c = true; |
| | | update rac; |
| | | } catch (Exception e) { |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | res = e.getMessage(); |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static String sendToETQ(String iflog_Id,BatchIF_Log__c rowDataSFDC, List<String> repairIds,String statu){ |
| | | List<QIS_Report__c> temp = [select id from QIS_Report__c where id in :repairIds ]; |
| | | if(temp != null && temp.size() > 0){ |
| | | try { |
| | | Database.executeBatch(new QISToPDFBatch(iflog_Id, rowDataSFDC,repairIds,statu),50); //生成PDF |
| | | } |
| | | catch (Exception e) { |
| | | return '更新QIS报错:'+ e.getMessage(); |
| | | } |
| | | }else{ |
| | | BatchIF_Log__c iflog = new BatchIF_Log__c(); |
| | | iflog.Type__c = 'sendToETQ'; |
| | | iflog.ErrorLog__c = ''; |
| | | iflog.Log__c = 'NFM401WebService start--'; |
| | | |
| | | Repair__c updateRe = new Repair__c(); |
| | | updateRe.Id = repairIds[0]; |
| | | updateRe.INTERFACE_RECORD_ID__c = null; |
| | | updateRe.ETQ_UPLOAD_STATUS__c = null; |
| | | updateRe.ETQ_UPLOAD_MESSAGE__c = null; |
| | | updateRe.OSH_ConfirmationDate__c = Date.today(); |
| | | updateRe.OSH_Affirmant__c = UserInfo.getUserId(); |
| | | updateRe.AWS_Interface_Time__c = Datetime.now(); |
| | | updateRe.AsyncData__c = true; |
| | | try{ |
| | | update updateRe; |
| | | Database.executeBatch(new RepairToPDFBatch(iflog_Id, rowDataSFDC,repairIds,statu)); //生成PDF |
| | | iflog.Log__c += '\n修理:'+updateRe+' 更新成功'; |
| | | iflog.Log__c = '\nNFM401WebService end--'; |
| | | insert iflog; |
| | | }catch(Exception ex){ |
| | | iflog.ErrorLog__c += '修理:'+updateRe+' 更新失败,因为::'+ex.getMessage(); |
| | | iflog.Log__c = '\nNFM401WebService end--'; |
| | | insert iflog; |
| | | return '更新修理报错:'+ ex.getMessage(); |
| | | } |
| | | } |
| | | return '发送成功!'; |
| | | } |
| | | |
| | | // 根据ID修理报价提交 |
| | | @AuraEnabled |
| | | public static void updateQISReportC(String QId,String uid){ |
| | | try { |
| | | QIS_Report__c rac = new QIS_Report__c(); |
| | | rac.Id = QId; |
| | | rac.INTERFACE_RECORD_ID__c = null; |
| | | rac.ETQ_UPLOAD_STATUS__c = null; |
| | | rac.ETQ_UPLOAD_MESSAGE__c = null; |
| | | rac.AsyncData__c = true; |
| | | rac.AWS_Interface_Time__c = Datetime.now(); |
| | | rac.OSH_ConfirmationDate__c = Date.today(); |
| | | rac.OSH_Affirmant__c = uid; |
| | | update rac; |
| | | } catch (Exception e) { |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | } |
| | | } |
| | | |
| | | // 根据ID修理报价提交 |
| | | @AuraEnabled |
| | | public static List<QIS_Report__c> selectQISReportC(String QId){ |
| | | List<QIS_Report__c> res = new List<QIS_Report__c>(); |
| | | try { |
| | | res = [SELECT Id,AsyncData__c,Complaint_Number__c,ETQ_UPLOAD_STATUS__c from QIS_Report__c where Id=: QId ]; |
| | | } catch (Exception e) { |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | public class InitData{ |
| | | @AuraEnabled |
| | | public String Id; |
| | | @AuraEnabled |
| | | public String QISStatusC; |
| | | @AuraEnabled |
| | | public String userId; |
| | | @AuraEnabled |
| | | public String email; |
| | | @AuraEnabled |
| | | public String profileId; |
| | | @AuraEnabled |
| | | public String PAEDetermineC; |
| | | @AuraEnabled |
| | | public String PAEDetermineACC; |
| | | @AuraEnabled |
| | | public String OCMJudgementC; |
| | | @AuraEnabled |
| | | public String QISFinalJudgementC; |
| | | @AuraEnabled |
| | | public String ETQUPLOADSTATUSC; |
| | | @AuraEnabled |
| | | public String AEDetermineResultC; |
| | | |
| | | } |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>56.0</apiVersion> |
| | | <status>Active</status> |
| | | </ApexClass> |
| New file |
| | |
| | | public with sharing class buttonQISSCReportCtl { |
| | | public buttonQISSCReportCtl() { |
| | | |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static InitData init(String recordId){ |
| | | InitData res = new initData(); |
| | | try{ |
| | | QIS_SC_Report__c report = [SELECT Status__c,Id FROM QIS_SC_Report__c WHERE Id =: recordId LIMIT 1]; |
| | | System.debug(LoggingLevel.INFO, '*** opp: ' + report); |
| | | res.Id = report.Id; |
| | | res.StatusC = report.Status__c; |
| | | |
| | | System.debug(LoggingLevel.INFO, '*** res: ' + res); |
| | | }catch(Exception e){ |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | // 根据ID修改QIS市场部 |
| | | @AuraEnabled |
| | | public static void updateQISSCReport(String Id){ |
| | | try { |
| | | QIS_SC_Report__c qis_Sc = new QIS_SC_Report__c(); |
| | | qis_Sc.Id = Id; |
| | | qis_Sc.Status__c = '已提交'; |
| | | update qis_Sc; |
| | | } catch (Exception e) { |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | } |
| | | } |
| | | |
| | | public class InitData{ |
| | | @AuraEnabled |
| | | public String Id; |
| | | @AuraEnabled |
| | | public String StatusC; |
| | | } |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>56.0</apiVersion> |
| | | <status>Active</status> |
| | | </ApexClass> |
| | |
| | | public static InitData init(String recordId){ |
| | | InitData res = new initData(); |
| | | try{ |
| | | Repair_Quotation__c report = [SELECT Id,CutPriceStatus_Service__c FROM Repair_Quotation__c WHERE Id =: recordId LIMIT 1]; |
| | | Repair_Quotation__c report = [SELECT Repair__c,Loaner_repair_sys__c,Rental_Apply_Discount_Status__c,Id,CutPriceStatus_Service__c FROM Repair_Quotation__c WHERE Id =: recordId LIMIT 1]; |
| | | System.debug(LoggingLevel.INFO, '*** opp: ' + report); |
| | | res.RepairC = report.Repair__c; |
| | | res.LoanerRepairSysC = report.Loaner_repair_sys__c; |
| | | res.Id = report.Id; |
| | | res.CutPriceStatusServiceC = report.CutPriceStatus_Service__c; |
| | | res.RentalApplyDiscountStatusC = report.Rental_Apply_Discount_Status__c; |
| | | res.profileId = UserInfo.getProfileId(); |
| | | |
| | | System.debug(LoggingLevel.INFO, '*** res: ' + res); |
| | |
| | | return res; |
| | | } |
| | | |
| | | // 根据ID修理报价提交 |
| | | @AuraEnabled |
| | | public static String updateRepairQuotation03(String recordId){ |
| | | String res =''; |
| | | try { |
| | | Repair_Quotation__c repair = new Repair_Quotation__c(); |
| | | repair.Id = recordid; |
| | | repair.Rental_Apply_Discount_Status__c = '已提交'; |
| | | update repair; |
| | | } catch (Exception e) { |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | res = e.getMessage(); |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | // 根据ID修理报价提交 |
| | | @AuraEnabled |
| | | public static String updateRepairQuotation04(String recordId){ |
| | | String res =''; |
| | | try { |
| | | Repair_Quotation__c repair = new Repair_Quotation__c(); |
| | | repair.Id = recordid; |
| | | repair.Repair_quotation_status__c = '减价申请填写完毕'; |
| | | update repair; |
| | | } catch (Exception e) { |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | res = e.getMessage(); |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | // 查找修理 |
| | | @AuraEnabled |
| | | public static List<Repair__c> selectRepairC(String recordId){ |
| | | List<Repair__c> res = new List<Repair__c>(); |
| | | try{ |
| | | res = [SELECT Id, Return_Without_Repair__c, Return_Without_Repair_IF__c FROM Repair__c WHERE Id=: recordId ]; |
| | | }catch(Exception e){ |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | public class InitData{ |
| | | @AuraEnabled |
| | | public String Id; |
| | |
| | | public String CutPriceStatusServiceC; |
| | | @AuraEnabled |
| | | public String profileId; |
| | | @AuraEnabled |
| | | public String RentalApplyDiscountStatusC; |
| | | @AuraEnabled |
| | | public Boolean LoanerRepairSysC; |
| | | @AuraEnabled |
| | | public String RepairC; |
| | | } |
| | | } |
| New file |
| | |
| | | public with sharing class buttonRepairSubOrderCtl { |
| | | public buttonRepairSubOrderCtl() { |
| | | |
| | | } |
| | | |
| | | @AuraEnabled |
| | | public static InitData init(String recordId){ |
| | | InitData res = new initData(); |
| | | try{ |
| | | RepairSubOrder__c report = [SELECT Id,Status__c FROM RepairSubOrder__c WHERE Id =: recordId LIMIT 1]; |
| | | System.debug(LoggingLevel.INFO, '*** opp: ' + report); |
| | | res.Id = report.Id; |
| | | res.StatusC = report.Status__c; |
| | | |
| | | System.debug(LoggingLevel.INFO, '*** res: ' + res); |
| | | }catch(Exception e){ |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | public class InitData{ |
| | | @AuraEnabled |
| | | public String Id; |
| | | @AuraEnabled |
| | | public String StatusC; |
| | | } |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexClass xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>56.0</apiVersion> |
| | | <status>Active</status> |
| | | </ApexClass> |
| | |
| | | return dataCheck; |
| | | } |
| | | @AuraEnabled |
| | | public static List<String> getValuesFromTable(){ |
| | | String ObjectApi_name = 'PCLLostBrand__c'; |
| | | String Field_name = 'Lost_By_Company__c'; |
| | | List<String> lstPickvals=new List<String>(); |
| | | //From the Object Api name retrieving the SObject |
| | | Schema.SObjectType targetType = Schema.getGlobalDescribe().get(ObjectApi_name); |
| | | Sobject Object_name = targetType.newSObject(); |
| | | //grab the sobject that was passed |
| | | Schema.sObjectType sobject_type = Object_name.getSObjectType(); |
| | | //describe the sobject |
| | | Schema.DescribeSObjectResult sobject_describe = sobject_type.getDescribe(); |
| | | //get a map of fields for the passed sobject |
| | | Map<String, Schema.SObjectField> field_map = sobject_describe.fields.getMap(); |
| | | //grab the list of picklist values for the passed field on the sobject |
| | | List<Schema.PicklistEntry> pick_list_values = field_map.get(Field_name).getDescribe().getPickListValues(); |
| | | |
| | | for (Schema.PicklistEntry a : pick_list_values) |
| | | { //for all values in the picklist list |
| | | |
| | | lstPickvals.add(a.getValue());//add the value to our final list |
| | | } |
| | | |
| | | return lstPickvals; |
| | | } |
| | | @AuraEnabled |
| | | public static list<LostBrand> brandcopy(){ |
| | | list<LostBrand> tempbrands = new list<LostBrand>(); |
| | | for(LostBrand tempbrand: LostReport.LostBrands) { |
| | |
| | | |
| | | // 根据ID修改修理 |
| | | @AuraEnabled |
| | | public static void updateRepair(String recordId){ |
| | | public static String updateRepair(String recordId){ |
| | | String res; |
| | | try { |
| | | Repair__c repair = new Repair__c(); |
| | | repair.Id = recordid; |
| | |
| | | update repair; |
| | | } catch (Exception e) { |
| | | System.debug(LoggingLevel.INFO, '*** e: ' + e); |
| | | res=e.getMessage(); |
| | | } |
| | | } |
| | | return res; |
| | | } |
| | | |
| | | // 修改验收单 |
| | | @AuraEnabled |
| New file |
| | |
| | | import { createElement } from 'lwc'; |
| | | import LexCopyPIOnCall from 'c/lexCopyPIOnCall'; |
| | | |
| | | describe('c-lex-copy-pi-on-call', () => { |
| | | afterEach(() => { |
| | | // The jsdom instance is shared across test cases in a single file so reset the DOM |
| | | while (document.body.firstChild) { |
| | | document.body.removeChild(document.body.firstChild); |
| | | } |
| | | }); |
| | | |
| | | it('TODO: test case generated by CLI command, please fill in test logic', () => { |
| | | // Arrange |
| | | const element = createElement('c-lex-copy-pi-on-call', { |
| | | is: LexCopyPIOnCall |
| | | }); |
| | | |
| | | // Act |
| | | document.body.appendChild(element); |
| | | |
| | | // Assert |
| | | // const div = element.shadowRoot.querySelector('div'); |
| | | expect(1).toBe(1); |
| | | }); |
| | | }); |
| New file |
| | |
| | | <template> |
| | | <div class="exampleHolder" if:true={IsLoading}> |
| | | <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner> |
| | | </div> |
| | | </template> |
| New file |
| | |
| | | import { |
| | | LightningElement, |
| | | wire, |
| | | api |
| | | } from 'lwc'; |
| | | import { |
| | | CurrentPageReference |
| | | } from "lightning/navigation"; |
| | | import { |
| | | CloseActionScreenEvent |
| | | } from 'lightning/actions'; |
| | | import init from '@salesforce/apex/buttonOnCallCtl.init'; |
| | | |
| | | export default class LexCopyPIOnCall extends LightningElement { |
| | | @api recordId; |
| | | str; |
| | | IsLoading = true; |
| | | Id; |
| | | |
| | | @wire(CurrentPageReference) |
| | | getStateParameters(currentPageReference) { |
| | | if (currentPageReference) { |
| | | const urlValue = currentPageReference.state.recordId; |
| | | if (urlValue) { |
| | | let str = `${urlValue}`; |
| | | this.recordId = str; |
| | | } |
| | | } |
| | | } |
| | | |
| | | connectedCallback() { |
| | | init({ |
| | | recordId: this.recordId |
| | | }).then(result => { |
| | | console.log(result); |
| | | if (result != null) { |
| | | this.IsLoading = false; |
| | | this.Id = result.Id; |
| | | |
| | | this.CopyPI(); |
| | | this.dispatchEvent(new CloseActionScreenEvent()); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }) |
| | | } |
| | | |
| | | //复制 |
| | | CopyPI() { |
| | | window.location.href = '/' + this.Id + '/e?newclone=1'; |
| | | } |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <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> |
| New file |
| | |
| | | <template> |
| | | <div class="exampleHolder" if:true={IsLoading}> |
| | | <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner> |
| | | <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button> |
| | | </div> |
| | | </template> |
| | |
| | | import init from '@salesforce/apex/otherButtonRepairController.init'; |
| | | import selectCustomDeleteById from '@salesforce/apex/otherButtonRepairController.selectCustomDeleteById'; |
| | | import deleteRepair from '@salesforce/apex/otherButtonRepairController.deleteRepair'; |
| | | |
| | | import { |
| | | ShowToastEvent |
| | | } from 'lightning/platformShowToastEvent'; |
| | | |
| | | export default class LexCustomDelete extends LightningElement { |
| | | @api recordId; |
| | |
| | | rp.Status__c != "1.受理完毕(SAP待发送)" && |
| | | rp.Status__c != "4.修理品返送阶段" |
| | | ) { |
| | | alert("不是草案中,不能删除"); |
| | | this.ShowToastEvent("不是草案中,不能删除", "error") |
| | | } else if (rp.Status__c == "4.修理品返送阶段" && |
| | | (rp.SAP_Transfer_time__c != "" || rp.Repair_Ordered_Date__c != "") |
| | | (rp.SAP_Transfer_time__c != undefined || rp.Repair_Ordered_Date__c != undefined) |
| | | ) { |
| | | alert("已经发送过SAP,不能删除"); |
| | | this.ShowToastEvent("已经发送过SAP,不能删除", "error") |
| | | } else if (this.userID.substring(0, 15) != rp.CreatedById.substring(0, 15) && this.userID.substring(0, 15) != rp.Acc_OwnerId__c.substring(0, 15) && this.userID.substring(0, 15) != rp.FSE_ownerid__c.substring(0, 15)) { |
| | | alert("不是所有人、创建人或FSE主负责人,不能删除"); |
| | | this.ShowToastEvent("不是所有人、创建人或FSE主负责人,不能删除", "error") |
| | | } else { |
| | | if (confirm("是否确定?")) { |
| | | deleteRepair({ |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | ShowToastEvent(msg, type) { |
| | | const event = new ShowToastEvent({ |
| | | title: '', |
| | | message: msg, |
| | | variant: type |
| | | }); |
| | | this.dispatchEvent(event); |
| | | } |
| | | } |
| New file |
| | |
| | | import { createElement } from 'lwc'; |
| | | import LexOSHNogoods from 'c/lexOSHNogoods'; |
| | | |
| | | describe('c-lex-osh-nogoods', () => { |
| | | afterEach(() => { |
| | | // The jsdom instance is shared across test cases in a single file so reset the DOM |
| | | while (document.body.firstChild) { |
| | | document.body.removeChild(document.body.firstChild); |
| | | } |
| | | }); |
| | | |
| | | it('TODO: test case generated by CLI command, please fill in test logic', () => { |
| | | // Arrange |
| | | const element = createElement('c-lex-osh-nogoods', { |
| | | is: LexOSHNogoods |
| | | }); |
| | | |
| | | // Act |
| | | document.body.appendChild(element); |
| | | |
| | | // Assert |
| | | // const div = element.shadowRoot.querySelector('div'); |
| | | expect(1).toBe(1); |
| | | }); |
| | | }); |
| New file |
| | |
| | | <template> |
| | | <div class="toReportHolder" if:true={IsLoading}> |
| | | <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner> |
| | | <lightning-button label="Show Toast" onclick={ShowToastEvent}></lightning-button> |
| | | </div> |
| | | </template> |
| New file |
| | |
| | | import { |
| | | LightningElement, |
| | | wire, |
| | | api |
| | | } from 'lwc'; |
| | | import { |
| | | CurrentPageReference |
| | | } from "lightning/navigation"; |
| | | import { |
| | | CloseActionScreenEvent |
| | | } from 'lightning/actions'; |
| | | import init from '@salesforce/apex/buttonQISReportCtl.init'; |
| | | import updateOSHNogoods from '@salesforce/apex/buttonQISReportCtl.updateOSHNogoods'; |
| | | import { |
| | | ShowToastEvent |
| | | } from 'lightning/platformShowToastEvent'; |
| | | |
| | | export default class LexOSHNogoods extends LightningElement { |
| | | @api recordId; |
| | | str; |
| | | IsLoading = true; |
| | | Id; |
| | | QISStatusC; |
| | | userId; |
| | | email; |
| | | |
| | | @wire(CurrentPageReference) |
| | | getStateParameters(currentPageReference) { |
| | | if (currentPageReference) { |
| | | const urlValue = currentPageReference.state.recordId; |
| | | if (urlValue) { |
| | | let str = `${urlValue}`; |
| | | this.recordId = str; |
| | | } |
| | | } |
| | | } |
| | | |
| | | connectedCallback() { |
| | | init({ |
| | | recordId: this.recordId |
| | | }).then(result => { |
| | | console.log(result); |
| | | if (result != null) { |
| | | this.IsLoading = false; |
| | | this.Id = result.Id; |
| | | this.QISStatusC = result.QISStatusC; |
| | | this.userId = result.userId; |
| | | this.email = result.email; |
| | | |
| | | this.OSHNogoods(); |
| | | this.dispatchEvent(new CloseActionScreenEvent()); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }) |
| | | } |
| | | |
| | | // 减价申请 |
| | | OSHNogoods() { |
| | | if (this.QISStatusC != 'OSH检测申请' && this.QISStatusC != '完毕') { |
| | | this.ShowToastEvent("OSH已经收到实物", "error") |
| | | // alert('OSH已经收到实物'); |
| | | } else { |
| | | updateOSHNogoods({ |
| | | Id: this.Id, |
| | | email: this.email, |
| | | userId: this.userId |
| | | }).then(result => { |
| | | console.log(result); |
| | | if (result.length > 0) { |
| | | var split = result.split(", "); |
| | | alert(split[1]); |
| | | } |
| | | location.reload(); |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }) |
| | | } |
| | | } |
| | | |
| | | // 弹窗 |
| | | ShowToastEvent(msg, type) { |
| | | const event = new ShowToastEvent({ |
| | | title: '', |
| | | message: msg, |
| | | variant: type |
| | | }); |
| | | this.dispatchEvent(event); |
| | | } |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <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> |
| New file |
| | |
| | | .combobox-container { |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | .combobox-container label { |
| | | margin-right: 10px; |
| | | } |
| | | |
| | | |
| | | .my-combobox { |
| | | display: flex; |
| | | align-items: center; |
| | | padding: 0 0.5rem; |
| | | width: 144px; |
| | | } |
| | | |
| | | .slds-form-element__label { |
| | | width: 144px; |
| | | margin-right: -5rem; |
| | | } |
| | |
| | | * @Author: chen jing wu |
| | | * @Date: 2023-04-20 17:16:48 |
| | | * @LastEditors: chen jing wu |
| | | * @LastEditTime: 2023-04-24 16:34:14 |
| | | * @LastEditTime: 2023-04-25 17:45:31 |
| | | --> |
| | | <template> |
| | | <lightning-card variant="Narrow"> |
| | | <!-- <lightning-input onchange={initAll}></lightning-input> --> |
| | | <div style="padding: 0 20px"> |
| | | <lightning-layout> |
| | | <div style="padding: 10px 3px;border-bottom: 1px solid;font: 16px;font-size: blod;">失单报告编辑页面</div> |
| | | <lightning-layout-item flexibility="auto" padding="around-small"> |
| | | <lightning-button label="追加品牌" onclick={addBrandJs}></lightning-button> |
| | | <lightning-layout-item> |
| | | <div class="mainTitle" style="padding: 10px 3px;font-weight: bold;">失单报告编辑页面</div> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item flexibility="auto" padding="around-small"> |
| | | <div class="slds-align_absolute-center"> |
| | | <lightning-layout-item size="12"> |
| | | <lightning-button label="追加品牌" onclick={addBrandJs}></lightning-button> |
| | | <lightning-button label="保存" onclick={saveJs}></lightning-button> |
| | | <lightning-button label="返回询价" onclick={cancel}></lightning-button> |
| | | </lightning-layout-item> |
| | | </div> |
| | | <!-- <lightning-layout-item flexibility="auto" padding="around-small"> |
| | | <lightning-button label="保存" onclick={saveJs}></lightning-button> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item flexibility="auto" padding="around-small"> |
| | | <lightning-button label="返回询价" onclick={cancel}></lightning-button> |
| | | </lightning-layout-item> |
| | | </lightning-layout-item> --> |
| | | </lightning-layout> |
| | | <div style="margin-top: 5px"> |
| | | <lightning-layout> |
| | | <lightning-layout-item flexibility="auto" padding="around-small"> |
| | | <lightning-combobox name="progress" label="失单类型" value={lostReportObj.RecordType} options={RecordTypeOptions} |
| | | onchange={handleStatus1Change} class="searchField"> |
| | | </lightning-combobox> |
| | | <!-- <div class="combobox-container"> |
| | | <label for="losttype">失单类型:</label> |
| | | <lightning-combobox id="losttype" name="progress" value={lostReportObj.RecordType} options={RecordTypeOptions} |
| | | onchange={handleStatus1Change} class="searchField" style="width: 71.33px; height: 32px;"> |
| | | </lightning-combobox> |
| | | </div> --> |
| | | <div class="slds-form_horizontal my-combobox"> |
| | | <label class="slds-form-element__label">失单类型</label> |
| | | <lightning-combobox name="progress" value={lostReportObj.RecordType} options={RecordTypeOptions} |
| | | onchange={handleStatus1Change} class="searchField" style="width: 71.33px; height: 32px;"> |
| | | </lightning-combobox> |
| | | </div> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item flexibility="auto" padding="around-small"> |
| | | <div style="padding: 10px 3px;border-bottom: 1px solid;font: 14px;font-size: blod;">失单总金额(元):</div> |
| | | <lightning-output-field>{LostReport.lostReport.LostTotalAmount__c}</lightning-output-field> |
| | | <div style="padding: 10px 3px;font: 16px;">失单总金额(元):</div> |
| | | <!-- <lightning-output-field>{LostReport.lostReport.LostTotalAmount__c}</lightning-output-field> --> |
| | | <lightning-output-field>0</lightning-output-field> |
| | | </lightning-layout-item> |
| | | <lightning-layout-item> |
| | | <div style="padding: 10px 3px;border-bottom: 1px solid;font: 14px;font-size: blod;">状态:</div> |
| | | <lightning-output-field>{LostReport.lostReport.Report_Status__c}</lightning-output-field> |
| | | <div style="padding: 10px 3px;font: 16px;">状态:</div> |
| | | <!-- <lightning-output-field>{LostReport.lostReport.Report_Status__c}</lightning-output-field> --> |
| | | <div style="padding: 10px 3px;font: 16px;">草案中</div> |
| | | </lightning-layout-item> |
| | | <lightning-record-view-form> |
| | | |
| | | </lightning-record-view-form> |
| | | </lightning-layout> |
| | | <!-- <lightning-layout> |
| | | <lightning-accordion allow-multiple-sections-open |
| | | onsectiontoggle={handleSectionToggle} |
| | | active-section-name={activeSections}> |
| | | <lightning-layout> |
| | | <lightning-accordion> |
| | | <lightning-accordion-section name="失单品牌" label="失单品牌"> |
| | | |
| | | </lightning-accordion-section> |
| | | </lightning-accordion> |
| | | </lightning-layout> --> |
| | | </lightning-layout> |
| | | </div> |
| | | </div> |
| | | </lightning-card> |
| | |
| | | * @Author: chen jing wu |
| | | * @Date: 2023-04-20 15:04:03 |
| | | * @LastEditors: chen jing wu |
| | | * @LastEditTime: 2023-04-24 16:46:31 |
| | | * @LastEditTime: 2023-04-25 17:37:35 |
| | | */ |
| | | /* |
| | | * @Description: |
| | |
| | | * @LastEditors: chen jing wu |
| | | * @LastEditTime: 2023-04-20 17:11:01 |
| | | */ |
| | | import { api, wire,LightningElement } from 'lwc'; |
| | | import { api, wire,track,LightningElement } from 'lwc'; |
| | | import { CurrentPageReference } from "lightning/navigation"; |
| | | import save from '@salesforce/apex/lexPCLLostReportLwcController.save'; |
| | | import jquery from '@salesforce/resourceUrl/jquery183minjs'; |
| | | import blockUIcss from '@salesforce/resourceUrl/blockUIcss'; |
| | | import { ShowToastEvent } from 'lightning/platformShowToastEvent'; |
| | | import { loadStyle, loadScript } from 'lightning/platformResourceLoader'; |
| | | import setbrand from '@salesforce/apex/lexPCLLostReportLwcController.setBrand'; |
| | | import init from '@salesforce/apex/lexPCLLostReportLwcController.init'; |
| | | import PleaseWaitDialog from '@salesforce/resourceUrl/PleaseWaitDialog'; |
| | | import initForApex from '@salesforce/apex/lexPCLLostReportLwcController.initForApex'; |
| | | import getValuesFromTable from '@salesforce/apex/lexPCLLostReportLwcController.getValuesFromTable'; |
| | | export default class LexPCLLostReportPage extends LightningElement { |
| | | @api oppId; |
| | | @api oppId = '0061000001R2xjWAAR'; |
| | | @api lostReportId; |
| | | @api pageStatus; |
| | | @api lostType; |
| | | @api pageStatus = 'Create'; |
| | | @api lostType = '失单'; |
| | | @api submitFlag; |
| | | searchResult; |
| | | LostReport; |
| | | brandCount; |
| | | lostReportObj; |
| | | |
| | | |
| | | |
| | | connectedCallback() { |
| | | |
| | | } |
| | | |
| | | |
| | | //失单类型 |
| | | RecordTypeOptions = [{ label: '--无--', value: '' }, |
| | | { label: '失单', value: '失单' }, |
| | | { label: '部分失单', value: '部分失单' }]; |
| | | // @wire(CurrentPageReference) |
| | | // getStateParameters(currentPageReference) { |
| | | // console.log(111); |
| | | // console.log(currentPageReference); |
| | | @wire(CurrentPageReference) |
| | | getStateParameters(currentPageReference) { |
| | | console.log(111); |
| | | console.log(currentPageReference); |
| | | |
| | | // if (currentPageReference) { |
| | | // const urlValue = currentPageReference.state.recordId; |
| | | // if (urlValue) { |
| | | // let str = `${urlValue}`; |
| | | // console.log("str"); |
| | | // console.log(str); |
| | | // this.oppId = str; |
| | | // } |
| | | // } |
| | | if (currentPageReference) { |
| | | const urlValue = currentPageReference.state.recordId; |
| | | if (urlValue) { |
| | | let str = `${urlValue}`; |
| | | console.log("str"); |
| | | console.log(str); |
| | | this.oppId = str; |
| | | } |
| | | } |
| | | } |
| | | // connectedCallback(){ |
| | | // this.initAll(); |
| | | // } |
| | | |
| | | // connectedCallback(){ |
| | |
| | | // }); |
| | | // }); |
| | | // } |
| | | handleSearchBrand(event){ |
| | | const searchText = event.target.value; |
| | | searchBrand({ |
| | | name: searchText |
| | | }).then(result=>{ |
| | | this.searchResult = result; |
| | | }); |
| | | } |
| | | initAll(){ |
| | | console.log(this.oppId); |
| | | console.log(this.lostReportId); |
| | | console.log(this.pageStatus); |
| | | console.log(this.lostType); |
| | | console.log(this.submitFlag); |
| | | initForApex({ |
| | | oppId1: this.oppId, |
| | | lostReportId1: this.lostReportId, |
| | | pageStatus1: this.pageStatus, |
| | | lostType1: this.lostType, |
| | | submitFlag1: this.submitFlag |
| | | }).then(()=>{ |
| | | console.log("2"); |
| | | init().then(result=>{ |
| | | console.log("3"); |
| | | console.log(result); |
| | | if(result.message == '提交成功!'){ |
| | | this.showToast(result.message,"success"); |
| | | this.LostReport = result.LostReport; |
| | | }else{ |
| | | console.log("211"); |
| | | this.showToast(result.message,"error"); |
| | | console.log("985"); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | getParamValue(paramName) { |
| | | // Use the URLSearchParams API to get the value of a query parameter |
| | |
| | | return params.get(paramName); |
| | | } |
| | | saveJs() { |
| | | this.blockMyself(); |
| | | save().then(result=>{ |
| | | if(result){ |
| | | this.showToast(result,"success"); |
| | | this.unblock(); |
| | | this.clearBrandMannualName(); |
| | | } |
| | | }) |
| | | } |
| | | addBrandJs() { |
| | | this.blockMyself(); |
| | | addBrand().then(()=>{ |
| | | this.unblock(); |
| | | }); |
| | | } |
| | | submitJS() { |
| | | this.blockMyself(); |
| | | submit().then(result=>{ |
| | | if(result.get('error')){ |
| | | this.showToast(result.get('error'),"error"); |
| | |
| | | pageStatus: result.get('pageStatus'), |
| | | submitFlag: result.get('submitFlag') |
| | | } |
| | | }); |
| | | this.unblock(); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | addProductJs(number) { |
| | | this.blockMyself(); |
| | | addProduct().then(()=>{ |
| | | this.unblock(); |
| | | }); |
| | | } |
| | | RemoveJs(number) { |
| | | this.blockMyself(); |
| | | Remove().then(()=>{ |
| | | this.unblock(); |
| | | Remove().then(()=>{ |
| | | }); |
| | | } |
| | | // add tcm 20211118 start |
| | | searchJs(topNum, secondNum) { |
| | | this.blockMyself(); |
| | | search().then(()=>{ |
| | | this.unblock(); |
| | | }); |
| | | } |
| | | blockMyself(){ |
| | | Promise.all([ |
| | | loadScript(this,PleaseWaitDialog), |
| | | loadStyle(this,blockUIcss), |
| | | loadScript(this, jquery) |
| | | //loadScript(this, jq + "/dist/jquery.min.js") |
| | | ]).then(() =>{ |
| | | blockme(); |
| | | }).catch(error => { |
| | | console.log("321"); |
| | | console.log('Failed to load the JQuery : ' +error); |
| | | }); |
| | | } |
| | | unblock(){ |
| | | Promise.all([ |
| | | loadScript(this,PleaseWaitDialog), |
| | | loadStyle(this,blockUIcss), |
| | | loadScript(this, jquery) |
| | | //loadScript(this, jq + "/dist/jquery.min.js") |
| | | ]).then(() =>{ |
| | | unblockUI(); |
| | | }).catch(error => { |
| | | console.log("321"); |
| | | console.log('Failed to load the JQuery : ' +error); |
| | | }); |
| | | } |
| | | get pageStatusIsCreateOrEdit() { |
| | |
| | | //console.log('setLostTotalAmount end'); |
| | | } |
| | | setBrandName(brandNumber) { |
| | | this.blockMyself(); |
| | | setbrand().then(()=>{ |
| | | this.clearBrandMannualName(); |
| | | this.unblock(); |
| | | }); |
| | | } |
| | | setBrandMannualName(brandNumber) { |
| | | this.blockMyself(); |
| | | setbrandmannual().then(()=>{ |
| | | this.unblock(); |
| | | }); |
| | | } |
| | | // 失单品牌不等于其他时,失单品牌(手动)清空并且不允许填写,失单品牌等于其他时,失单对手型号不可用 thh 2022-01-13 start |
| New file |
| | |
| | | import { createElement } from 'lwc'; |
| | | import LexSelectAssetsMaintenance from 'c/lexSelectAssetsMaintenance'; |
| | | |
| | | describe('c-lex-select-assets-maintenance', () => { |
| | | afterEach(() => { |
| | | // The jsdom instance is shared across test cases in a single file so reset the DOM |
| | | while (document.body.firstChild) { |
| | | document.body.removeChild(document.body.firstChild); |
| | | } |
| | | }); |
| | | |
| | | it('TODO: test case generated by CLI command, please fill in test logic', () => { |
| | | // Arrange |
| | | const element = createElement('c-lex-select-assets-maintenance', { |
| | | is: LexSelectAssetsMaintenance |
| | | }); |
| | | |
| | | // Act |
| | | document.body.appendChild(element); |
| | | |
| | | // Assert |
| | | // const div = element.shadowRoot.querySelector('div'); |
| | | expect(1).toBe(1); |
| | | }); |
| | | }); |
| New file |
| | |
| | | <template> |
| | | <div class="exampleHolder" if:true={IsLoading}> |
| | | <lightning-spinner alternative-text="Loading" size="medium"></lightning-spinner> |
| | | </div> |
| | | </template> |
| New file |
| | |
| | | import { |
| | | LightningElement, |
| | | wire, |
| | | api |
| | | } from 'lwc'; |
| | | import { |
| | | CurrentPageReference |
| | | } from "lightning/navigation"; |
| | | import { |
| | | CloseActionScreenEvent |
| | | } from 'lightning/actions'; |
| | | import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init'; |
| | | |
| | | export default class LexSelectAssetsMaintenance extends LightningElement { |
| | | @api recordId; |
| | | str; |
| | | IsLoading = true; |
| | | Id; |
| | | |
| | | @wire(CurrentPageReference) |
| | | getStateParameters(currentPageReference) { |
| | | if (currentPageReference) { |
| | | const urlValue = currentPageReference.state.recordId; |
| | | if (urlValue) { |
| | | let str = `${urlValue}`; |
| | | this.recordId = str; |
| | | } |
| | | } |
| | | } |
| | | |
| | | connectedCallback() { |
| | | console.log(this.recordId); |
| | | init({ |
| | | recordId: this.recordId |
| | | }).then(result => { |
| | | console.log(result); |
| | | if (result != null) { |
| | | this.IsLoading = false; |
| | | this.Id = result.Id; |
| | | |
| | | this.SelectAssets(); |
| | | this.dispatchEvent(new CloseActionScreenEvent()); |
| | | } |
| | | }).catch(error => { |
| | | console.log(error); |
| | | }) |
| | | } |
| | | |
| | | // サービス契約対象製品登録 |
| | | SelectAssets() { |
| | | window.open("/apex/SelectAsset?targetContractId=" + this.Id, "_top"); |
| | | } |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <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> |
| | |
| | | import { LightningElement,wire,track,api} from 'lwc'; |
| | | import { LightningElement,wire,api} from 'lwc'; |
| | | import { CurrentPageReference } from "lightning/navigation"; |
| | | import { CloseActionScreenEvent } from 'lightning/actions'; |
| | | import { NavigationMixin } from 'lightning/navigation'; |
| | | import { ShowToastEvent } from 'lightning/platformShowToastEvent'; |
| | | import { updateRecord } from 'lightning/uiRecordApi'; |
| | | import init from '@salesforce/apex/QISReportController.initForlexcopyQISButton'; |
| | | |
| | | |
| | |
| | | |
| | | @wire(CurrentPageReference) |
| | | getStateParameters(currentPageReference) { |
| | | console.log(111); |
| | | console.log(currentPageReference); |
| | | |
| | | if (currentPageReference) { |
| | | const urlValue = currentPageReference.state.recordId; |
| | | if (urlValue) { |
| | | let str = `${urlValue}`; |
| | | console.log("str"); |
| | | console.log(str); |
| | | this.recordId = str; |
| | | } |
| | | } |
| | |
| | | this.dispatchEvent(new CloseActionScreenEvent()); |
| | | }).catch(error => { |
| | | console.log('error='+error); |
| | | }).finally(() => { |
| | | |
| | | }); |
| | | }) |
| | | } |
| | | } |
| | | } |
| New file |
| | |
| | | import { createElement } from 'lwc'; |
| | | import MultiSelectCombobox from 'c/multiSelectCombobox'; |
| | | |
| | | describe('c-multi-select-combobox', () => { |
| | | afterEach(() => { |
| | | // The jsdom instance is shared across test cases in a single file so reset the DOM |
| | | while (document.body.firstChild) { |
| | | document.body.removeChild(document.body.firstChild); |
| | | } |
| | | }); |
| | | |
| | | it('TODO: test case generated by CLI command, please fill in test logic', () => { |
| | | // Arrange |
| | | const element = createElement('c-multi-select-combobox', { |
| | | is: MultiSelectCombobox |
| | | }); |
| | | |
| | | // Act |
| | | document.body.appendChild(element); |
| | | |
| | | // Assert |
| | | // const div = element.shadowRoot.querySelector('div'); |
| | | expect(1).toBe(1); |
| | | }); |
| | | }); |
| New file |
| | |
| | | .verticalAlign { |
| | | cursor: pointer; |
| | | padding: 0px 5px !important; |
| | | } |
| | | .slds-dropdown { |
| | | padding:0px !important; |
| | | } |
| | | .recordListBox { |
| | | margin-top:0px !important; |
| | | overflow-y: scroll; |
| | | } |
| | | .slds-listbox li { |
| | | padding: .45rem 0.7rem !important; |
| | | display: flex; |
| | | } |
| | | .inputBox input { |
| | | padding-left: 10px; |
| | | } |
| | | .eachItem:hover { |
| | | background-color: #F1F1F1; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | /* For Scrolling */ |
| | | ::-webkit-scrollbar { |
| | | width: 7px; |
| | | height: 7px; |
| | | } |
| | | ::-webkit-scrollbar-track { |
| | | display: none !important; |
| | | } |
| | | ::-webkit-scrollbar-thumb { |
| | | border-radius: 10px; |
| | | background: rgba(0,0,0,0.4); |
| | | } |
| New file |
| | |
| | | <!-- |
| | | * @Description: |
| | | * @version: |
| | | * @Author: chen jing wu |
| | | * @Date: 2023-04-25 17:41:26 |
| | | * @LastEditors: chen jing wu |
| | | * @LastEditTime: 2023-04-25 17:45:57 |
| | | --> |
| | | |
| | | <!-- Code by CafeForce || www.cafeforce.com || support@cafeforce.com || Mandatory Header --> |
| | | <template> |
| | | |
| | | <!-- Header Label --> |
| | | <template if:true={label}> |
| | | <label class="slds-form-element__label">{label}</label> |
| | | </template> |
| | | <div class="slds-combobox_container"> |
| | | <div class="slds-combobox slds-dropdown-trigger slds-dropdown-trigger_click slds-is-open" aria-expanded="true" aria-haspopup="listbox" role="combobox"> |
| | | <!-- Search Input --> |
| | | <div class="slds-combobox__form-element slds-input-has-icon slds-input-has-icon_right" role="none"> |
| | | <lightning-input disabled={disabled} class="inputBox" placeholder="Select an Option" onblur={blurEvent} onclick={showOptions} onkeyup={filterOptions} value={searchString} auto-complete="off" variant="label-hidden" id="combobox-id-1" ></lightning-input> |
| | | <lightning-icon class="slds-input__icon" icon-name="utility:down" size="x-small" alternative-text="search"></lightning-icon> |
| | | </div> |
| | | <!-- Dropdown List --> |
| | | <template if:true={showDropdown}> |
| | | <div id="listbox-id-1" class="slds-dropdown slds-dropdown_length-5 slds-dropdown_fluid"><!--style="{! 'max-height:' + (8 + (v.recordCount * 40)) + 'px' }""--> |
| | | <ul class="slds-listbox slds-listbox_vertical recordListBox" role="presentation"> |
| | | <template if:false={message} > |
| | | <template for:each={optionData} for:item="option"> |
| | | <template if:true={option.isVisible}> |
| | | <li key={option.value} data-id={option.value} onmousedown={selectItem} class="slds-listbox__item eachItem"> |
| | | <template if:true={option.selected}> |
| | | <lightning-icon icon-name="utility:check" size="x-small" alternative-text="icon" ></lightning-icon> |
| | | </template> |
| | | <span class="slds-media slds-listbox__option_entity verticalAlign slds-truncate">{option.label}</span> |
| | | </li> |
| | | </template> |
| | | </template> |
| | | </template> |
| | | <template if:true={message} > |
| | | <li class="slds-listbox__item"> |
| | | <span class="slds-media slds-listbox__option_entity verticalAlign slds-truncate">{message}</span> |
| | | </li> |
| | | </template> |
| | | </ul> |
| | | </div> |
| | | </template> |
| | | </div> |
| | | </div> |
| | | <!-- Multi Select Pills --> |
| | | <template for:each={optionData} for:item="option"> |
| | | <template if:true={option.selected}> |
| | | <lightning-pill key={option.value} class="slds-m-around_xx-small" name={option.value} label={option.label} onremove={removePill}></lightning-pill> |
| | | </template> |
| | | </template> |
| | | </template> |
| | | |
| | | |
| New file |
| | |
| | | /* Code by CafeForce || www.cafeforce.com || support@cafeforce.com || Mandatory Header */ |
| | | import { LightningElement, track, api } from 'lwc'; |
| | | |
| | | export default class MultiSelectCombobox extends LightningElement { |
| | | |
| | | @api options; |
| | | @api selectedValue; |
| | | @api selectedValues = []; |
| | | @api label; |
| | | @api minChar = 2; |
| | | @api disabled = false; |
| | | @api multiSelect = false; |
| | | @track value; |
| | | @track values = []; |
| | | @track optionData; |
| | | @track searchString; |
| | | @track message; |
| | | @track showDropdown = false; |
| | | |
| | | connectedCallback() { |
| | | this.showDropdown = false; |
| | | var optionData = this.options ? (JSON.parse(JSON.stringify(this.options))) : null; |
| | | var value = this.selectedValue ? (JSON.parse(JSON.stringify(this.selectedValue))) : null; |
| | | var values = this.selectedValues ? (JSON.parse(JSON.stringify(this.selectedValues))) : null; |
| | | if(value || values) { |
| | | var searchString; |
| | | var count = 0; |
| | | for(var i = 0; i < optionData.length; i++) { |
| | | if(this.multiSelect) { |
| | | if(values.includes(optionData[i].value)) { |
| | | optionData[i].selected = true; |
| | | count++; |
| | | } |
| | | } else { |
| | | if(optionData[i].value == value) { |
| | | searchString = optionData[i].label; |
| | | } |
| | | } |
| | | } |
| | | if(this.multiSelect) |
| | | this.searchString = count + ' Option(s) Selected'; |
| | | else |
| | | this.searchString = searchString; |
| | | } |
| | | this.value = value; |
| | | this.values = values; |
| | | this.optionData = optionData; |
| | | } |
| | | |
| | | filterOptions(event) { |
| | | this.searchString = event.target.value; |
| | | if( this.searchString && this.searchString.length > 0 ) { |
| | | this.message = ''; |
| | | if(this.searchString.length >= this.minChar) { |
| | | var flag = true; |
| | | for(var i = 0; i < this.optionData.length; i++) { |
| | | if(this.optionData[i].label.toLowerCase().trim().startsWith(this.searchString.toLowerCase().trim())) { |
| | | this.optionData[i].isVisible = true; |
| | | flag = false; |
| | | } else { |
| | | this.optionData[i].isVisible = false; |
| | | } |
| | | } |
| | | if(flag) { |
| | | this.message = "No results found for '" + this.searchString + "'"; |
| | | } |
| | | } |
| | | this.showDropdown = true; |
| | | } else { |
| | | this.showDropdown = false; |
| | | } |
| | | } |
| | | |
| | | selectItem(event) { |
| | | var selectedVal = event.currentTarget.dataset.id; |
| | | if(selectedVal) { |
| | | var count = 0; |
| | | var options = JSON.parse(JSON.stringify(this.optionData)); |
| | | for(var i = 0; i < options.length; i++) { |
| | | if(options[i].value === selectedVal) { |
| | | if(this.multiSelect) { |
| | | if(this.values.includes(options[i].value)) { |
| | | this.values.splice(this.values.indexOf(options[i].value), 1); |
| | | } else { |
| | | this.values.push(options[i].value); |
| | | } |
| | | options[i].selected = options[i].selected ? false : true; |
| | | } else { |
| | | this.value = options[i].value; |
| | | this.searchString = options[i].label; |
| | | } |
| | | } |
| | | if(options[i].selected) { |
| | | count++; |
| | | } |
| | | } |
| | | this.optionData = options; |
| | | if(this.multiSelect) |
| | | this.searchString = count + ' Option(s) Selected'; |
| | | if(this.multiSelect) |
| | | event.preventDefault(); |
| | | else |
| | | this.showDropdown = false; |
| | | } |
| | | } |
| | | |
| | | showOptions() { |
| | | if(this.disabled == false && this.options) { |
| | | this.message = ''; |
| | | this.searchString = ''; |
| | | var options = JSON.parse(JSON.stringify(this.optionData)); |
| | | for(var i = 0; i < options.length; i++) { |
| | | options[i].isVisible = true; |
| | | } |
| | | if(options.length > 0) { |
| | | this.showDropdown = true; |
| | | } |
| | | this.optionData = options; |
| | | } |
| | | } |
| | | |
| | | removePill(event) { |
| | | var value = event.currentTarget.name; |
| | | var count = 0; |
| | | var options = JSON.parse(JSON.stringify(this.optionData)); |
| | | for(var i = 0; i < options.length; i++) { |
| | | if(options[i].value === value) { |
| | | options[i].selected = false; |
| | | this.values.splice(this.values.indexOf(options[i].value), 1); |
| | | } |
| | | if(options[i].selected) { |
| | | count++; |
| | | } |
| | | } |
| | | this.optionData = options; |
| | | if(this.multiSelect) |
| | | this.searchString = count + ' Option(s) Selected'; |
| | | } |
| | | |
| | | blurEvent() { |
| | | var previousLabel; |
| | | var count = 0; |
| | | for(var i = 0; i < this.optionData.length; i++) { |
| | | if(this.optionData[i].value === this.value) { |
| | | previousLabel = this.optionData[i].label; |
| | | } |
| | | if(this.optionData[i].selected) { |
| | | count++; |
| | | } |
| | | } |
| | | if(this.multiSelect) |
| | | this.searchString = count + ' Option(s) Selected'; |
| | | else |
| | | this.searchString = previousLabel; |
| | | |
| | | this.showDropdown = false; |
| | | |
| | | this.dispatchEvent(new CustomEvent('select', { |
| | | detail: { |
| | | 'payloadType' : 'multi-select', |
| | | 'payload' : { |
| | | 'value' : this.value, |
| | | 'values' : this.values |
| | | } |
| | | } |
| | | })); |
| | | } |
| | | } |
| | | /* |
| | | Code by CafeForce |
| | | Website: http://www.cafeforce.com |
| | | DO NOT REMOVE THIS HEADER/FOOTER FOR FREE CODE USAGE |
| | | */ |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>56.0</apiVersion> |
| | | <isExposed>false</isExposed> |
| | | </LightningComponentBundle> |
| New file |
| | |
| | | <apex:page Controller="EquipmentRentalCancelController" showHeader="false" sidebar="false" id="allPage" action="{!init}" title="取消一览" lightningStylesheets="true"> |
| | | <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> |
| | | |
| | | <script type="text/javascript"> |
| | | function savejs() { |
| | | if (confirm('是否操作取消?')) { |
| | | blockme(); |
| | | saveBtn(); |
| | | } |
| | | } |
| | | function returnjs() { |
| | | var rentalApplyId = j$(escapeVfId('allPage:allForm:allBlock:rentalApplyId')).text(); |
| | | var url = "/" + rentalApplyId; |
| | | window.location.href = url; |
| | | } |
| | | function refresh() { |
| | | var hasError = j$(escapeVfId('allPage:allForm:allBlock:hasError')).text(); |
| | | if (hasError == 'false') { |
| | | returnjs(); |
| | | } |
| | | } |
| | | /** 20210708 SFDC-C448KZ you start**/ |
| | | var cnt = {!EquipmentSetCnt}; |
| | | function changeCancleReasonJs(){ |
| | | |
| | | for (var i = 0; i < cnt; i++) { |
| | | var Cancel_Reason = j$(escapeVfId('allPage:allForm:allBlock:records:' + i + ':Cancel_Reason')).value(); |
| | | // && j$(escapeVfId('allPage:allForm:allBlock:records:' + i + ':rowCheck')).attr('checked') == 'checked' |
| | | if(Cancel_Reason != '被动取消'){ |
| | | j$(escapeVfId('allPage:allForm:allBlock:records:' + i + ':Loaner_cancel_request')).val(''); |
| | | j$(escapeVfId('allPage:allForm:allBlock:records:' + i + ':Loaner_cancel_request')).attr('disabled',true); |
| | | } |
| | | } |
| | | |
| | | } |
| | | function changeReasonJs(){ |
| | | for (var i = 0; i < cnt; i++) { |
| | | var reason = j$(escapeVfId('allPage:allForm:allBlock:records:' + i + ':Loaner_cancel_reason')).value(); |
| | | if(reason != null && reason == '其他'){ |
| | | j$(escapeVfId('allPage:allForm:allBlock:records:' + i + ':Loaner_cancel_request')).attr('disabled',false); |
| | | }else{ |
| | | j$(escapeVfId('allPage:allForm:allBlock:records:' + i + ':Loaner_cancel_request')).val(''); |
| | | j$(escapeVfId('allPage:allForm:allBlock:records:' + i + ':Loaner_cancel_request')).attr('disabled',true); |
| | | } |
| | | } |
| | | } |
| | | /** 20210708 SFDC-C448KZ you end**/ |
| | | </script> |
| | | |
| | | <apex:form id="allForm"> |
| | | <apex:actionFunction name="saveBtn" action="{!saveBtn}" rerender="allBlock,message" onComplete="unblockUI();refresh();changeReasonJs();"> |
| | | </apex:actionFunction> |
| | | <apex:outputPanel id="allPanel"> |
| | | <apex:pageBlock title="取消一览" id="allBlock"> |
| | | <apex:pageBlockButtons > |
| | | <apex:commandButton onclick="savejs(); return false;" value="保存" disabled="{!saveBtn}" rerender="dummy"/> |
| | | <apex:commandButton onclick="returnjs(); return false;" value="返回" rerender="dummy"/> |
| | | </apex:pageBlockButtons> |
| | | |
| | | <apex:outputPanel id="message"> |
| | | <apex:pageMessages /> |
| | | </apex:outputPanel> |
| | | |
| | | <apex:outputText id="hasError" value="{!hasError}" style="display:none"/> |
| | | <apex:outputText id="rentalApplyId" value="{!rentalApplyId}" style="display:none"/> |
| | | <apex:inputHidden id="EquipmentSetCnt" value="{!EquipmentSetCnt}"/><!--20210708 SFDC-C448KZ you --> |
| | | |
| | | <table class="linetable" border="1" style="border-collapse: collapse;"> |
| | | <colgroup> |
| | | <col width="25"/> |
| | | <col width="110"/> |
| | | <col width="110"/> |
| | | <col width="110"/> |
| | | <col width="110"/> |
| | | <col width="110"/> |
| | | <col width="175"/> |
| | | </colgroup> |
| | | <tr style="background-color:#DCDCDC;"> |
| | | <th style="text-align:center"> </th> |
| | | <th style="text-align:center">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Name.label}</th> |
| | | <th style="text-align:center">{!$ObjectType.Fixture_Set__c.fields.Name.label}</th> |
| | | <th style="text-align:center">{!$ObjectType.Fixture_Set__c.fields.Loaner_name__c.label}</th> |
| | | <th style="text-align:center">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.RAES_Status__c.label}</th> |
| | | <th style="text-align:center">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Rental_Start_Date__c.label}</th> |
| | | <th style="text-align:center">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Final_reply_day__c.label}</th> |
| | | <th style="text-align:center">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Cancel_Reason__c.label}</th> |
| | | <!--20210708 SFDC-C448KZ you --> |
| | | <th style="text-align:center;width:80px"> |
| | | {!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Loaner_cancel_reason__c.label}</th> |
| | | <th style="text-align:center">{!$ObjectType.Rental_Apply_Equipment_Set__c.fields.Loaner_cancel_Remarks__c.label}</th> |
| | | </tr> |
| | | <apex:repeat value="{!lineInfoList}" var="info" id="records"> |
| | | <tr> |
| | | <!--<td align="center"><apex:inputCheckbox value="{!info.isSelect}" id="rowCheck" disabled="{!IF(info.status=='cantCancel', true, false)}"/></td>--> |
| | | <td align="center"><apex:inputCheckbox value="{!info.isSelect}" id="rowCheck"/></td> |
| | | <td align="left"><apex:outputText value="{!info.raes.Name}"></apex:outputText></td> |
| | | <td align="left"><apex:outputText value="{!info.esName}"></apex:outputText></td> |
| | | <td align="left"><apex:outputText value="{!info.loanerCode}"></apex:outputText></td> |
| | | <td align="left"><apex:outputText value="{!info.raes.RAES_Status__c}"></apex:outputText></td> |
| | | <td align="center"><apex:outputField value="{!info.raes.Rental_Start_Date__c}"></apex:outputField></td> |
| | | <td align="center"><apex:outputField value="{!info.raes.Final_reply_day__c}"></apex:outputField></td> |
| | | <td align="right"> |
| | | <!--<apex:inputField id="reason" value="{!info.raes.Cancel_Reason__c}" rendered="{!IF(info.status=='canCancel', true, false)}"/> |
| | | <apex:outputField value="{!info.raes.Cancel_Reason__c}" rendered="{!IF(info.status=='canCancel', false, true)}"/>--> |
| | | <apex:inputField id="Cancel_Reason" value="{!info.raes.Cancel_Reason__c}" onchange="changeCancleReasonJs();"/> |
| | | <!-- <apex:outputField value="{!info.raes.Cancel_Reason__c}"/> --> |
| | | </td> |
| | | <!--20210708 SFDC-C448KZ you --> |
| | | <td align="right"> |
| | | <apex:inputField value="{!info.raes.Loaner_cancel_reason__c}" id="Loaner_cancel_reason" onchange="changeReasonJs();"/> |
| | | </td> |
| | | <td align="center"><apex:inputField value="{!info.raes.Loaner_cancel_Remarks__c}" id="Loaner_cancel_request" html-disabled="true"></apex:inputField></td> |
| | | </tr> |
| | | </apex:repeat> |
| | | </table> |
| | | </apex:pageBlock> |
| | | </apex:outputPanel> |
| | | </apex:form> |
| | | </apex:page> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexPage xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>34.0</apiVersion> |
| | | <availableInTouch>false</availableInTouch> |
| | | <confirmationTokenRequired>false</confirmationTokenRequired> |
| | | <label>EquipmentRentalCancel</label> |
| | | </ApexPage> |
| New file |
| | |
| | | <apex:page controller="RentalApplySplitController" action="{!init}" showHeader="false" id="allPage" lightningStylesheets="true"> |
| | | <head> |
| | | <title>备品借出申请分单</title> |
| | | <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> |
| | | <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> |
| | | </head> |
| | | <style type="text/css"> |
| | | .hideDropdown select{ |
| | | display: none |
| | | } |
| | | .modal { |
| | | display:none; |
| | | position: fixed; /* Stay in place */ |
| | | z-index: 10; /* Sit on top */ |
| | | left: 0; |
| | | top: 0; |
| | | width: 100%; /* Full width */ |
| | | height: 100%; /* Full height */ |
| | | overflow: auto; /* Enable scroll if needed */ |
| | | background-color: rgb(0,0,0); /* Fallback color */ |
| | | background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ |
| | | } |
| | | span.dateFormat { |
| | | display: none; |
| | | } |
| | | |
| | | /* Modal Content/Box */ |
| | | .modal-content { |
| | | background-color: #fefefe; |
| | | margin-left: 6px; |
| | | margin-top: 100px; |
| | | padding: 20px; |
| | | border: 1px solid #888; |
| | | right: 5%; |
| | | position: absolute; |
| | | width: 200px; |
| | | } |
| | | .modal-content-cancel { |
| | | background-color: #fefefe; |
| | | margin-left: -150px; |
| | | margin-top: 100px; |
| | | padding: 20px; |
| | | border: 1px solid #888; |
| | | left: 50%; |
| | | position: absolute; |
| | | width: 300px; |
| | | } |
| | | body .slds-vf-data-table thead th{ |
| | | background: none; |
| | | } |
| | | /*table.list td{ |
| | | width:100px; |
| | | border-width: 1px; |
| | | } |
| | | table.list td.col_chk { |
| | | width:30px; |
| | | } |
| | | body .pbBody table.list tr.headerRow td, body .pbBody table.list tr.headerRow th { |
| | | border-width: 1px; |
| | | }*/ |
| | | </style> |
| | | <apex:form id="allForm"> |
| | | <script type="text/javascript"> |
| | | function back() { |
| | | window.opener.parent.location.href = "/{!ra.Id}"; |
| | | top.window.close(); |
| | | } |
| | | |
| | | function checkSaveStatus() { |
| | | var saveStatus = document.getElementById('{!$Component.allForm.saveStatus}').value; |
| | | if (saveStatus == 'ok') { |
| | | //20210609 ljh update 1732 start |
| | | var temp = '{!cloneRas.Id}'; |
| | | console.log(temp); |
| | | if( temp == null || temp == '' ){ |
| | | window.open("/{!ra.Id}"); |
| | | }else{ |
| | | window.open("/{!cloneRas.Id}"); |
| | | } |
| | | //20210609 ljh update 1732 end |
| | | top.window.close(); |
| | | } |
| | | } |
| | | //现地管理分单 202100609 ljh update 1732 |
| | | function changeSplitApplyReason(){ |
| | | var reason = j$(escapeVfId('allPage:allForm:searchBlock:split:split0:Split_Apply_Reason')).value(); |
| | | console.log(reason); |
| | | var RecordTypeIsAgency = j$(escapeVfId('allPage:allForm:RecordTypeIsAgency')).value(); |
| | | if(reason != null && (reason == '现地管理分单' |
| | | || (eval(RecordTypeIsAgency) && reason == '到货NG分单')) |
| | | ){ |
| | | //办事处必须填写 |
| | | j$(escapeVfId('allPage:allForm:searchBlock:split:ToAgency0:ToAgency')).attr('disabled',false); |
| | | j$(escapeVfId('allPage:allForm:searchBlock:split:ToAgency0:ToAgency')).attr('required',true); |
| | | }else{ |
| | | if(!(eval(RecordTypeIsAgency) && reason != null && reason == '到货NG分单')){ |
| | | //办事处清空 只读 |
| | | j$(escapeVfId('allPage:allForm:searchBlock:split:ToAgency0:ToAgency')).val(null); |
| | | j$(escapeVfId('allPage:allForm:searchBlock:split:ToAgency0:ToAgency')).attr('disabled',true); |
| | | } |
| | | } |
| | | } |
| | | function allSplitShow(){ |
| | | var allSplitShow = j$(escapeVfId('allPage:allForm:allSplitShow')).value(); |
| | | if(eval(allSplitShow)){ |
| | | j$('#AllSplitModal').show(); |
| | | } |
| | | } |
| | | </script> |
| | | <apex:pageMessages /> |
| | | <apex:inputHidden value="{!saveStatus}" id="saveStatus"/> |
| | | <!-- 20210609 ljh add 1732 start--> |
| | | <apex:inputHidden value="{!allSplitShow}" id="allSplitShow"/> |
| | | <apex:inputHidden value="{!RecordTypeIsAgency}" id="RecordTypeIsAgency"/> |
| | | <div id="AllSplitModal" class="modal"> |
| | | <div class="modal-content-cancel"> |
| | | <table> |
| | | <tr> |
| | | <td colspan="2"> |
| | | 是否要整单分{!IF(SplitNum == 1,'回备品中心?',IF(SplitNum == 2,'给其他办事处?',IF(SplitNum == 3,'给办事处?','')))} |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="2" align="center"> |
| | | <apex:commandButton style="margin: 0 20px;" value="确定" action="{!saveSplitAll}" oncomplete="checkSaveStatus();unblockUI();" onclick="j$('#AllSplitModal').hide();blockme();" rerender="allForm" |
| | | /> |
| | | <apex:commandButton style="margin: 0 20px;" value="取消" onclick="j$('#AllSplitModal').hide();return false;"/> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | </div> |
| | | <!-- 20210609 ljh add 1732 end--> |
| | | <apex:pageBlock id="searchBlock" tabStyle="Report"> |
| | | <apex:pageBlockSection title="备品借出申请分单" collapsible="false" id="split"> |
| | | <apex:pageBlockSectionItem > |
| | | <apex:outputLabel value="{!$ObjectType.Rental_Apply__c.fields.Name.label}" for="Name"/> |
| | | <apex:outputField value="{!ra.Name}" id="Name"/> |
| | | </apex:pageBlockSectionItem> |
| | | <!-- 20201119 ljh update start --> |
| | | <apex:pageBlockSectionItem id="split0"> |
| | | <apex:outputLabel value="{!$ObjectType.Rental_Apply__c.fields.Split_Apply_Reason__c.label}" for="Split_Apply_Reason"/> |
| | | <apex:inputField value="{!cloneRas.Split_Apply_Reason__c}" id="Split_Apply_Reason" required="true" onchange="changeSplitApplyReason();"/> |
| | | </apex:pageBlockSectionItem> |
| | | <!-- 20201117 ljh add start --> |
| | | <apex:pageBlockSectionItem id="ToAgency0"> |
| | | <apex:outputLabel value="{!$ObjectType.Rental_Apply__c.fields.ToAgency__c.label}" for="Name"/> |
| | | <apex:inputField value="{!cloneRas.ToAgency__c}" id="ToAgency" /> |
| | | </apex:pageBlockSectionItem> |
| | | <apex:pageBlockSectionItem html-style="display: none;"> |
| | | <apex:inputField value="{!cloneRas.SalesdeptSelect__c}" id="SalesdeptSelect" style="display: none;" /> |
| | | </apex:pageBlockSectionItem> |
| | | <!-- 20201117 ljh add end --> |
| | | </apex:pageBlockSection> |
| | | |
| | | <apex:dataTable value="{!raesList}" var="raes" id="raesLists" border="allPage" cellpadding="5"> |
| | | <apex:column> |
| | | <apex:facet name="header">借出备品配套一览No.</apex:facet> |
| | | <apex:outputText value="{!raes.Name}" /> |
| | | </apex:column> |
| | | <apex:column > |
| | | <apex:facet name="header">借出配套型号</apex:facet> |
| | | <apex:outputText value="{!raes.Loaner_code_F__c}" /> |
| | | </apex:column> |
| | | <apex:column > |
| | | <apex:facet name="header">借出备品配套一览状态</apex:facet> |
| | | <apex:outputText value="{!raes.RAES_Status__c}" /> |
| | | </apex:column> |
| | | </apex:dataTable> |
| | | <div style="height: 15px"></div> |
| | | <apex:commandButton value="确认分单" action="{!saveSplit}" oncomplete="allSplitShow();checkSaveStatus();unblockUI();" onclick="blockme();" rerender="allForm" /> |
| | | <apex:commandButton value="返回" onclick="back(); return false;" rerender="allForm" oncomplete="unblockUI();" /> |
| | | </apex:pageBlock> |
| | | </apex:form> |
| | | </apex:page> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ApexPage xmlns="http://soap.sforce.com/2006/04/metadata"> |
| | | <apiVersion>35.0</apiVersion> |
| | | <availableInTouch>false</availableInTouch> |
| | | <confirmationTokenRequired>false</confirmationTokenRequired> |
| | | <label>RentalApplySplit</label> |
| | | </ApexPage> |