| | |
| | | declare module "@salesforce/apex/AgencyAccountCmp.searchAccounts" { |
| | | export default function searchAccounts(param: {hosStr: any, conStr: any}): Promise<any>; |
| | | } |
| | | declare module "@salesforce/apex/AgencyAccountCmp.SaveLog" { |
| | | export default function SaveLog(param: {module: any, content: any, status: any, respMsg: any}): Promise<any>; |
| | | } |
| | | declare module "@salesforce/apex/AgencyAccountCmp.GetConfig" { |
| | | export default function GetConfig(): Promise<any>; |
| | | } |
| | | declare module "@salesforce/apex/AgencyAccountCmp.searchAccounts2" { |
| | | export default function searchAccounts2(param: {hosStr: any, awsids: any}): Promise<any>; |
| | | } |
| | |
| | | declare module "@salesforce/apex/WeeklyReportCmp.getAwsurl" { |
| | | export default function getAwsurl(param: {sobj: any}): Promise<any>; |
| | | } |
| | | declare module "@salesforce/apex/WeeklyReportCmp.saveAgencyContact" { |
| | | export default function saveAgencyContact(param: {name: any, nameEncrypt: any, type: any, typeEncrypt: any, doctorDivision1: any, doctorDivision1Encrypt: any, agencyHospitalid: any, awsid: any}): Promise<any>; |
| | | } |
| | | declare module "@salesforce/apex/WeeklyReportCmp.getProductList" { |
| | | export default function getProductList(param: {dc: any, opdsis: any}): Promise<any>; |
| | | } |
| | |
| | | controller="NewAgencyContactController"> |
| | | |
| | | <aura:attribute name = "recordId" type = "Id" default = ""/> |
| | | <aura:attribute name="title" type="string"/> |
| | | <aura:handler name="init" value="{!this}" action="{!c.doInit}" /> |
| | | <aura:attribute name="layout" type="LayoutDescriberHelper.LayoutWrapper"/> |
| | | <aura:attribute name="record_data" type="Map"/> |
| | |
| | | <aura:attribute name="showSpinner" type="Boolean" default = "False"/> |
| | | <aura:attribute name="staticResource" type="Map"/> |
| | | <aura:attribute name="pi_fields_map" type="Map"/> |
| | | <aura:attribute name="isClone" type="Boolean" default = "False"/> |
| | | <ltng:require scripts="{! $Resource.AWSService+'/AWSService.js' }" /> |
| | | <ltng:require scripts="{! $Resource.jquery183minjs }" /> |
| | | |
| | |
| | | <!-- header --> |
| | | <header class="slds-modal__header"> |
| | | <h2 id="modal-heading-01" class="slds-modal__title slds-hyphenate"> |
| | | Create Agency Contact |
| | | {!v.title} |
| | | </h2> |
| | | </header> |
| | | |
| | |
| | | if(!rid){ |
| | | pid = window.location.href.replace("https://","").split("/")[4]; |
| | | } |
| | | let isClone = component.get('v.isClone'); |
| | | if(!rid || isClone){ |
| | | component.set('v.title',$A.get("$Label.c.New")+'.客户人员'); |
| | | }else{ |
| | | component.set('v.title',$A.get("$Label.c.Edit")+'.客户人员'); |
| | | } |
| | | |
| | | let record_type_id = null; |
| | | let pageref = component.get("v.pageReference") |
| | | if(!record_type_id && pageref){ |
| | | record_type_id = pageref.state.recordTypeId |
| | | } |
| | | component.set("v.showSpinner", true); |
| | | helper.CallBackAction(component,'Init',{ |
| | | rid : rid, |
| | | pid : pid, |
| | | //rid : component.get('v.recordId'), |
| | | record_type_id : component.get("v.pageReference").state.recordTypeId, |
| | | record_type_id : record_type_id, |
| | | },function(data){ |
| | | component.set("v.showSpinner", false); |
| | | |
| | |
| | | |
| | | let staticResource = component.get('v.staticResource'); |
| | | let record_id = component.get('v.recordId'); |
| | | let record_type_id = component.get('v.recordTypeId'); |
| | | |
| | | let isClone = component.get('v.isClone'); |
| | | let url = staticResource.newUrl; |
| | | let payloadPi = {}; |
| | | if (record_id) { |
| | | if (record_id && !isClone) { |
| | | url = staticResource.updateUrl |
| | | payloadPi['dataId'] = component.get('v.record_data').AWS_Data_Id__c; |
| | | } |
| | |
| | | |
| | | let obj = result.object[0]; |
| | | let data = {}; |
| | | if(record_id){ |
| | | if(record_id && !isClone){ |
| | | data.Id = record_id; |
| | | }else{ |
| | | data.AWS_Data_Id__c = obj.dataId; |
| | |
| | | "type" : "success" |
| | | }); |
| | | |
| | | if (record_id){ |
| | | if (record_id && !isClone){ |
| | | |
| | | $A.get("e.force:closeQuickAction").fire(); |
| | | $A.get('e.force:refreshView').fire(); |
| | |
| | | <td role="gridcell" class="slds-cell-edit"> |
| | | <span class="slds-grid slds-grid--align-spread"> |
| | | <span class="slds-truncate" title="{!item.Person_In_Charge2__r.Name}"> |
| | | <span class="encrypt">{!item.Person_In_Charge2__r.Name}</span> |
| | | <span class="decrypt">{!item.Person_In_Charge2__r.awsdata.lastName}</span> |
| | | {!item.Person_In_Charge2__r.Name} |
| | | <!-- <span class="decrypt">{!item.Person_In_Charge2__r.awsdata.lastName}</span> --> |
| | | </span> |
| | | </span> |
| | | </td> |
| | |
| | | |
| | | insert_agencycontact : function(component,token,newUrl,payload,agencyHospitalid,helper) { |
| | | |
| | | AWSService.insert(newUrl,payload,function(result){ |
| | | if(result.status == '0'){ |
| | | $A.getCallback(function(){ |
| | | helper.to_agencycontact(component,result,agencyHospitalid); |
| | | })(); |
| | | // AWSService.insert(newUrl,payload,function(result){ |
| | | // if(result.status == '0'){ |
| | | // $A.getCallback(function(){ |
| | | // helper.to_agencycontact(component,result,agencyHospitalid); |
| | | // })(); |
| | | |
| | | }else{ |
| | | console.log('AWS status error:' + result) |
| | | component.set('v.login',false); |
| | | component.find('OppMessage').setError('AWS insert error.'); |
| | | } |
| | | },token); |
| | | /* |
| | | // }else{ |
| | | // console.log('AWS status error:' + result) |
| | | // component.set('v.login',false); |
| | | // component.find('OppMessage').setError('AWS insert error.'); |
| | | // } |
| | | // },token); |
| | | |
| | | fetch(newUrl, { |
| | | method: 'POST', |
| | | body: payload, |
| | |
| | | console.log('AWS insert error:' + error) |
| | | component.set('v.login',false); |
| | | component.find('OppMessage').setError('AWS insert error.'); |
| | | });*/ |
| | | }); |
| | | |
| | | }, |
| | | |
| | |
| | | FixtureUtil.withoutUpdate(rndList, true); |
| | | PageReference pag = new PageReference('/apex/ConsumTrial?id=' + parId + '&canedit=true&saveType=1'); |
| | | pag.setRedirect(true); |
| | | return pag; |
| | | return null; |
| | | } |
| | | else{ |
| | | init(); |
| | |
| | | + String.join(assetFieldApiList, ',') |
| | | + (assetFieldApiList.size() > 0 ? ',' : '') |
| | | + String.join(receivingNoteFieldApiList, ',') |
| | | + ',AWS_Data_Id__c' |
| | | + ',AWS_Data_Id__c,Trial_User_Encrypt__c' |
| | | + ' FROM Consum_Apply_Equipment_Set_Detail__c ' |
| | | + ' WHERE Consum_Apply_Equipment_Set__r.Consum_Apply__c = \'' + rn.Id + '\'' + wher |
| | | + ' AND (Cancel_Select__c = false OR NG_Select_Again__c = true)' |
| | |
| | | // dataConfirmation = rnd1.DataConfirmation__c; |
| | | lineNo = lineNo1 + 1; |
| | | canChangeField = 'Show_demonstration__c, Operation_Type__c, Consum_Start_Date__c'; |
| | | canChangeField += ',AWS_Data_Id__c, Case_OR_animal_organ__c, Trial_User__c, Follower_User__c, Spare__c, Comment__c, Degree_Of_Importance__c'; |
| | | canChangeField += ',AWS_Data_Id__c, Case_OR_animal_organ__c, Trial_User__c,Trial_User_Encrypt__c, Follower_User__c, Spare__c, Comment__c, Degree_Of_Importance__c'; |
| | | |
| | | haveAsset = String.isNotBlank(rnd1.Asset__c); |
| | | } |
| | |
| | | FROM Consum_Apply_Equipment_Set_Detail__c |
| | | WHERE Consum_Apply_Equipment_Set__r.Consum_Apply__c = :targetConsumApplyId // 耗材备品配套一览.耗材备品申请 |
| | | AND (Cancel_Select__c = false OR NG_Select_Again__c = true) |
| | | AND Shipment_request_time2__c != null |
| | | // AND Shipment_request_time2__c != null //Commented By Li Jun 20220422 for PIPL |
| | | ORDER BY Consum_Apply_Equipment_Set__r.Consum_Apply__c, Consum_Apply_Equipment_Set__c, Fixture_Model_No_F__c, Degree_Of_Importance__c |
| | | ]; |
| | | if (consumApplySetDetailList.size() > 0) { |
| | |
| | | strList.add('Consum_Apply_Equipment_Set_Detail__c'); |
| | | strList.add('Consum_Apply__c'); |
| | | strList.add('Document'); |
| | | strList.add('Agency_Contact__c'); |
| | | TestDataUtility.CreatePIPolicyConfigurations(strList); |
| | | |
| | | // 用户 |
| | |
| | | global static Response saveFile(String fileName,String key,String transId,String parentId){ |
| | | FileAddress__c file = new FileAddress__c(); |
| | | PIHelper.PIIntegration pI=PIHelper.getPIIntegrationInfo('Document'); |
| | | // 去除filename里得“&” bysushanhu 20220414 |
| | | fileName = fileName.remove('&'); |
| | | file.DownloadLink__c =pI.undeleteUrl+key+'&fileName='+fileName; |
| | | file.FileName__c =fileName; |
| | | file.ViewLink__c =pI.queryUrl+key; |
| | |
| | | @isTest |
| | | private class FileUploadControllerTest { |
| | | static testMethod void testMethod1() { |
| | | TestDataUtility.CreatePIPolicyConfiguration('Document'); |
| | | // TestDataUtility.CreatePIPolicyConfiguration('Document'); |
| | | TestDataUtility.CreatePIPolicyConfiguration(); |
| | | Account acc = new Account(Name = 'test'); |
| | | Map<String,Object> accMap = new Map<String,Object>(); |
| | | accMap.put('Account',acc); |
| | |
| | | public Boolean addFlag { get; private set; }//敏感地址使用标记 |
| | | public String qrcode { get; private set; } |
| | | public String barcode { get; private set; } |
| | | // 20220413 ljh 抬头显示 add start |
| | | public String AgencyAddressName { get; private set; } |
| | | public Boolean isAgencyOrCenter { get; private set; } |
| | | public String AgencyOrCenterAddress { get; private set; } |
| | | // 20220413 ljh 抬头显示 add end |
| | | |
| | | public FixtureRentalPDFController() { |
| | | pageNum = Integer.valueOf(ApexPages.currentPage().getParameters().get('page')); |
| | | rentalApplyIdIMG = ApexPages.currentPage().getParameters().get('raid'); |
| | |
| | | //新建一页 |
| | | |
| | | PDFInfo info = new PDFInfo(new Rental_Apply__c(),New List<Rental_Apply_Equipment_Set_Detail__c>()); |
| | | // 20220413 ljh 抬头显示 update start |
| | | //20201120 LJH OCSM_BP5-61 update start |
| | | // if(!IsShowLU){ |
| | | // if(!IsMain){ |
| | | // info.isAgencyOrCenter = true;//办事处 |
| | | // info.AgencyAddressName = '请将备品回寄至'; |
| | | // info.AgencyAddressName += ApplyHeadShow.ToAgency__c == null ? '' : ApplyHeadShow.ToAgency__c; |
| | | // info.AgencyAddressName += '办事处'; |
| | | // info.AgencyOrCenterAddress = AgencyAddressIdMap.get(ApplyHeadShow.Id); |
| | | // }else{ |
| | | // info.isAgencyOrCenter = false;//备品中心 |
| | | // info.AgencyOrCenterAddress = centerAddressInfo; |
| | | // } |
| | | // }else{ |
| | | // info.isAgencyOrCenter = false;//备品中心 |
| | | // info.AgencyOrCenterAddress = centerAddressInfo; |
| | | // } |
| | | //20201120 LJH OCSM_BP5-61 update end |
| | | if(!IsShowLU){ |
| | | if(!IsMain){ |
| | | info.isAgencyOrCenter = true;//办事处 |
| | | info.AgencyAddressName = '请将备品回寄至'; |
| | | info.AgencyAddressName += ApplyHeadShow.ToAgency__c == null ? '' : ApplyHeadShow.ToAgency__c; |
| | | info.AgencyAddressName += '办事处'; |
| | | info.AgencyOrCenterAddress = AgencyAddressIdMap.get(ApplyHeadShow.Id); |
| | | isAgencyOrCenter = true;//办事处 |
| | | AgencyAddressName = '请将备品回寄至'; |
| | | AgencyAddressName += ApplyHeadShow.ToAgency__c == null ? '' : ApplyHeadShow.ToAgency__c; |
| | | AgencyAddressName += '办事处'; |
| | | AgencyOrCenterAddress = AgencyAddressIdMap.get(ApplyHeadShow.Id); |
| | | }else{ |
| | | info.isAgencyOrCenter = false;//备品中心 |
| | | info.AgencyOrCenterAddress = centerAddressInfo; |
| | | isAgencyOrCenter = false;//备品中心 |
| | | AgencyOrCenterAddress = centerAddressInfo; |
| | | } |
| | | }else{ |
| | | info.isAgencyOrCenter = false;//备品中心 |
| | | info.AgencyOrCenterAddress = centerAddressInfo; |
| | | isAgencyOrCenter = false;//备品中心 |
| | | AgencyOrCenterAddress = centerAddressInfo; |
| | | } |
| | | //20201120 LJH OCSM_BP5-61 update end |
| | | // 20220413 ljh 抬头显示 update end |
| | | integer PageCut = 0; |
| | | if (PageAllNum>=7) { |
| | | PageAllNum=7; |
| | |
| | | // Data Bean |
| | | class PDFInfo { |
| | | public String eSetName { get; private set; } //备品中心管理单号 |
| | | public String AgencyAddressName { get; private set; } //回寄地址 20201123 LJH OCSM_BP5-61 add |
| | | public Boolean isAgencyOrCenter { get; private set; } //备品中心?办事处 20201123 LJH OCSM_BP5-61 add |
| | | public String AgencyOrCenterAddress { get; private set; }//20201124 LJH OCSM_BP5-61 add |
| | | // 20220413 ljh 抬头显示 update start |
| | | // public String AgencyAddressName { get; private set; } //回寄地址 20201123 LJH OCSM_BP5-61 add |
| | | // public Boolean isAgencyOrCenter { get; private set; } //备品中心?办事处 20201123 LJH OCSM_BP5-61 add |
| | | // public String AgencyOrCenterAddress { get; private set; }//20201124 LJH OCSM_BP5-61 add |
| | | // 20220413 ljh 抬头显示 update end |
| | | public String requestOwner { get; private set; } //申请人 |
| | | public String salesDept { get; private set; } //所属本部 |
| | | public String workPlace { get; private set; } //所属办事处 |
| | |
| | | /*Map<String, object> nameDetails = (Map<String,object>) layoutComponents.get('Name');*/ |
| | | String fieldLabel = (String) fields.get('label'); |
| | | boolean placeholderF = (boolean) fields.get('placeholder'); |
| | | boolean isEditable = (boolean) fields.get('editableForNew'); // Check the editable prop |
| | | boolean isEditable = (boolean) fields.get('editableForUpdate')||(boolean)fields.get('editableForNew'); // Check the editable prop |
| | | if( (apiName != '' && fieldType =='Field') || (placeholderF)){ |
| | | if(userMode == 'classic' && fieldTypeDetail == 'address'){ |
| | | String fieldLabelPrefix = fieldLabel.split(' ')[0] == 'Address'?'':fieldLabel.split(' ')[0]; |
| | |
| | | public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); |
| | | public static String sobjectTypeValue = 'Address__c'; |
| | | public Boolean isNewMode{set;get;} |
| | | public Boolean isCloneMode{protected set;get;} |
| | | public String rtTypeId {get; set;} |
| | | public String AWSDataId{set;get;} |
| | | public String contactId{set;get;}//For Lookup field |
| | |
| | | // public String CurrentUserName{private set; get;} |
| | | public NewAndEditAddressController(ApexPages.StandardController controller) { |
| | | isNewMode = true; |
| | | isCloneMode = false; |
| | | Input_Required_Field_Msg = Label.Input_Required_Field_Msg; |
| | | PIPL_Name_Label = Label.PIPL_Name_Label; |
| | | PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; |
| | |
| | | List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Address__c').getDescribe().fields.getMap().keyset()); |
| | | // Add fields to controller. This is to avoid the SOQL error in visualforce page |
| | | if (!Test.isRunningTest()) { |
| | | controller.addFields(fieldList);} |
| | | controller.addFields(fieldList); |
| | | } |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | if(mso != null && mso.containsKey('newclone')){ |
| | | isCloneMode = true; |
| | | } |
| | | SObject obj = controller.getRecord(); |
| | | if(obj.Id != null){ |
| | | //更新 |
| | |
| | | if(String.isNotBlank(dt)&&dt.contains('T')){ |
| | | dt = dt.replace('T',' '); |
| | | addressInfo.put(fieldAPI, Datetime.valueOfGmt(dt)); |
| | | }else { |
| | | addressInfo.put(fieldAPI,fieldValue); |
| | | }else if(String.isNotBlank(fieldValue)) { |
| | | fieldValue = fieldValue.replace('/', '-') + ':00'; |
| | | addressInfo.put(fieldAPI, Datetime.valueOf(fieldValue)); |
| | | }else{ |
| | | addressInfo.put(fieldAPI,null); |
| | | } |
| | | }else if(String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ |
| | | addressInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', ''))); |
| | |
| | | String status = 'success'; |
| | | Response resp = new Response(); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | Boolean isClone = false; |
| | | // String rid = ''; |
| | | String awsDataId = ''; |
| | | try{ |
| | | System.debug('abcde'); |
| | | if(isNew){ |
| | | awsDataId = (String)addressInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Address__c[] addresses = [select id from Address__c where AWS_Data_Id__c =:awsDataId]; |
| | | if(!isNew){ |
| | | isClone = addresses.size() == 0; |
| | | } |
| | | System.debug('isClone---------'+isClone); |
| | | if(isNew || isClone){ |
| | | System.debug('addressInfoNancy = ' + addressInfo); |
| | | insert addressInfo; |
| | | }else{ |
| | | System.debug('into update'); |
| | | awsDataId = (String)addressInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Address__c[] addresses = [select id from Address__c where AWS_Data_Id__c =:awsDataId]; |
| | | // awsDataId = (String)addressInfo.get('AWS_Data_Id__c'); |
| | | // System.debug('awsDataId = ' + awsDataId); |
| | | // Address__c[] addresses = [select id from Address__c where AWS_Data_Id__c =:awsDataId]; |
| | | System.debug('addresses[0].id = ' + addresses[0].id); |
| | | addressInfo.put('Id',addresses[0].id);//For testing; |
| | | update addressInfo; |
| | |
| | | public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); |
| | | public String sobjectTypeValue {private set; get;} |
| | | public Boolean isNewMode{set;get;} |
| | | public Boolean isCloneMode{protected set;get;} |
| | | public String rtTypeId {get; set;} |
| | | public String AWSDataId{set;get;} |
| | | public String CurrentUserId{private set;get;} |
| | |
| | | public List<String> LookUpOverrideFields{get;private set;} |
| | | public string LookUpOverrideFieldsMapJson{get; set;} |
| | | public string recordId{get;private set;} |
| | | |
| | | |
| | | public NewAndEditBaseController(){ |
| | | ApiPrefix = 'PIBackApi'; |
| | | AWSToSobjectNonEncryptedMap = new Map<string,string>(); |
| | |
| | | system.debug('obj='+sobjectTypeValue); |
| | | |
| | | isNewMode = true; |
| | | isCloneMode = false; |
| | | List<Sobject> lso = Database.query('select id from RecordType where SobjectType = :sobjectTypeValue'); |
| | | |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | if(mso != null && mso.containsKey('newclone')){ |
| | | isCloneMode = true; |
| | | } |
| | | if(obj.Id != null){ |
| | | recordId = obj.Id; |
| | | isNewMode = false; |
| | |
| | | System.debug('sobjectTypeValue:'+sobjectTypeValue+' Info:' + JSON.serialize(leadJson)); |
| | | System.debug('json length='+leadJson.length()); |
| | | System.debug('leadJson---------'+leadJson); |
| | | System.debug('isNew---------'+isNew); |
| | | //1. Prepare the payload for Lead |
| | | Schema.SObjectType leadSchema = schemaMap.get(sobjectTypeValue); |
| | | Map<String, Schema.SObjectField> fieldAPIToTypeMap = leadSchema.getDescribe().fields.getMap(); |
| | | Map<String,Object> fieldValueMap = (Map<String,Object>)JSON.deserializeUntyped(leadJson); |
| | | |
| | | |
| | | |
| | | system.debug('enter Foo'); |
| | | string rtid = null; |
| | | if (fieldValueMap.containsKey('RecordTypeId')) { |
| | | rtid = String.valueOf(fieldValueMap.get('RecordTypeId')); |
| | | } |
| | | List<string> invalid_fields = GetInvalidFieldFromLayout(rtid,sobjectTypeValue); |
| | | |
| | | Boolean isClone = false; |
| | | //2. Save Record Process |
| | | String status = 'success'; |
| | | Response resp = new Response(); |
| | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | Sobject leadInfo = sobj; |
| | | try{ |
| | | System.debug('abcde'); |
| | | |
| | | for (String fieldAPI: fieldValueMap.keySet()) { |
| | | system.debug('field API='+fieldAPI); |
| | | |
| | | if(invalid_fields.contains(fieldAPI)){ |
| | | system.debug(fieldAPI+' is invalid'); |
| | | continue; |
| | | } |
| | | |
| | | if(!fieldAPIToTypeMap.containskey(fieldAPI)){ |
| | | continue; |
| | | } |
| | |
| | | } |
| | | |
| | | system.debug('for (String fieldAPI: fieldValueMap.keySet()) end'); |
| | | awsDataId = (String)leadInfo.get('AWS_Data_Id__c'); |
| | | if (string.isBlank(awsDataId)) { |
| | | throw new DMLException('更新时AWS_Data_Id__c不能为空'); |
| | | } |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Sobject[] sobjects = Database.query('select id from '+sobjectTypeValue+' where AWS_Data_Id__c =:awsDataId'); |
| | | |
| | | if(isNew){ |
| | | |
| | | if(!isNew){ |
| | | isClone = sobjects.size() == 0; |
| | | } |
| | | System.debug('isNew---------'+isNew); |
| | | |
| | | if(isNew || isClone){ |
| | | System.debug('leadInfozhj = ' + leadInfo); |
| | | if(!Test.isRunningTest()){ |
| | | insert leadInfo; |
| | | } |
| | | }else{ |
| | | System.debug('into update'); |
| | | awsDataId = (String)leadInfo.get('AWS_Data_Id__c'); |
| | | if (string.isBlank(awsDataId)) { |
| | | throw new DMLException('更新时AWS_Data_Id__c不能为空'); |
| | | } |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Sobject[] leads = Database.query('select id from '+sobjectTypeValue+' where AWS_Data_Id__c =:awsDataId'); |
| | | System.debug('leads[0].id = ' + leads[0].id); |
| | | leadInfo.put('Id',leads[0].id);//For testing; |
| | | System.debug('sobjects[0].id = ' + sobjects[0].id); |
| | | leadInfo.put('Id',sobjects[0].id);//For testing; |
| | | if(!Test.isRunningTest()){ |
| | | update leadInfo; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | public static List<string> GetInvalidFieldFromLayout(string rtid, string sobject_name){ |
| | | List<string> ls = new List<string>(); |
| | | string[] only_type = new string[]{'QIS_Report__c'}; |
| | | if(!only_type.contains(sobject_name)){ |
| | | system.debug('not allow'); |
| | | return ls; |
| | | } |
| | | |
| | | List<Metadata.LayoutSection> sections = MetaDataUtility.GetRecordTypePageLayout(rtid, sobject_name); |
| | | |
| | | if (sections == null) { |
| | | System.debug('sections=null'); |
| | | return ls; |
| | | } |
| | | |
| | | system.debug(Json.serialize(sections)); |
| | | |
| | | for (Metadata.LayoutSection section : sections) { |
| | | if (section.layoutColumns != null) { |
| | | for (Metadata.LayoutColumn layoutColumn : section.layoutColumns) { |
| | | if(layoutColumn.layoutItems != null){ |
| | | for (Metadata.LayoutItem item : layoutColumn.layoutItems) { |
| | | |
| | | System.debug(item); |
| | | if(item.field==null)continue; |
| | | if (item.behavior == Metadata.UiBehavior.READONLY ) { |
| | | ls.add(item.field); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | return ls; |
| | | } |
| | | } |
| | |
| | | LookUpOverrideFields.add('ReporterASE__c'); |
| | | a.Init(aseTest); |
| | | String AWSjson = a.AWSToSobjectMapJson; |
| | | |
| | | aseTest.put('AWS_Data_Id__c','1569989'); |
| | | String baseJson = JSON.serialize(aseTest); |
| | | System.debug('baseJson' + baseJson); |
| | | |
| | | NewAndEditBaseController.save(aseTest, baseJson, 'avgwshDFcxAS', true); |
| | | NewAndEditBaseController.save(aseTest, baseJson, 'avgwshDFcxAS', null); |
| | | Test.stopTest(); |
| | |
| | | LookUpOverrideFields.add('ReporterASE__c'); |
| | | a.Init(aseTest); |
| | | String AWSjson = a.AWSToSobjectMapJson; |
| | | |
| | | aseTest.put('AWS_Data_Id__c','1569989'); |
| | | String baseJson = JSON.serialize(aseTest); |
| | | System.debug('baseJson' + baseJson); |
| | | NewAndEditBaseController.save(aseTest, baseJson, 'avgwshDFcxAS', true); |
| | |
| | | public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); |
| | | public static String sobjectTypeValue = 'Case'; |
| | | public Boolean isNewMode{set;get;} |
| | | public Boolean isCloneMode{protected set;get;} |
| | | public String rtTypeId {get; set;} |
| | | public String AWSDataId{set;get;} |
| | | public String contactId{set;get;}//For Lookup field |
| | |
| | | public string AWSToSobjectEncryptedMapJson{get{return JSON.serialize(AWSToSobjectEncryptedMap);}} |
| | | public NewAndEditCaseController(ApexPages.StandardController controller) { |
| | | isNewMode = true; |
| | | isCloneMode = false; |
| | | Input_Required_Field_Msg = Label.Input_Required_Field_Msg; |
| | | PIPL_Name_Label = Label.PIPL_Name_Label; |
| | | PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; |
| | |
| | | //获取所有字段 |
| | | List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Case').getDescribe().fields.getMap().keyset()); |
| | | // Add fields to controller. This is to avoid the SOQL error in visualforce page |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | if(mso != null && mso.containsKey('newclone')){ |
| | | isCloneMode = true; |
| | | } |
| | | if (!Test.isRunningTest()) { |
| | | controller.addFields(fieldList); |
| | | } |
| | |
| | | contactsInfo = JSON.serialize(sfIdToAWSIdMap); |
| | | }else{ |
| | | //新建 |
| | | rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | // rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | rtTypeId = mso.get('RecordType'); |
| | | obj.put('OwnerId',UserInfo.getUserId()); |
| | | } |
| | | LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(rtTypeId, 'Case','classic'); |
| | |
| | | } |
| | | } |
| | | |
| | | System.debug('caseInfo='+caseInfo); |
| | | System.debug('caseInfo.Account__c='+caseInfo.Account__c); |
| | | if (!String.isBlank(caseInfo.ContactId) && (String.isBlank(caseInfo.Account__c) || Id.valueOf(caseInfo.Account__c).to15() =='000000000000000')) { |
| | | Contact c = [select id,AccountId from Contact where id = :caseInfo.ContactId]; |
| | | caseInfo.Account__c = c.AccountId; |
| | | if (Id.valueOf(caseInfo.ContactId).to15() !='000000000000000') { |
| | | Contact c = [select id,AccountId from Contact where id = :caseInfo.ContactId]; |
| | | caseInfo.Account__c = c.AccountId; |
| | | } |
| | | } |
| | | |
| | | //2. Save Record Process |
| | |
| | | Response resp = new Response(); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | String rid = ''; |
| | | String awsDataId = ''; |
| | | Boolean isClone = false; |
| | | try{ |
| | | System.debug('abcde'); |
| | | if(isNew){ |
| | | awsDataId = (String)caseInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Case[] cases = [select id from Case where AWS_Data_Id__c =:awsDataId]; |
| | | |
| | | if(!isNew){ |
| | | isClone = cases.size() == 0; |
| | | } |
| | | if(isNew || isClone){ |
| | | System.debug('caseInfozhj = ' + caseInfo); |
| | | if(!Test.isRunningTest()){ |
| | | insert caseInfo; |
| | | } |
| | | }else{ |
| | | System.debug('into update'); |
| | | String awsDataId = (String)caseInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Case[] cases = [select id from Case where AWS_Data_Id__c =:awsDataId]; |
| | | // String awsDataId = (String)caseInfo.get('AWS_Data_Id__c'); |
| | | // System.debug('awsDataId = ' + awsDataId); |
| | | // Case[] cases = [select id from Case where AWS_Data_Id__c =:awsDataId]; |
| | | System.debug('cases ========================= ' + cases); |
| | | System.debug('Cases[0].id = ' + cases[0].id); |
| | | caseInfo.put('Id',cases[0].id);//For testing; |
| | |
| | | public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); |
| | | public static String sobjectTypeValue = 'Lead'; |
| | | public Boolean isNewMode{set;get;} |
| | | public Boolean isCloneMode{protected set;get;} |
| | | public String rtTypeId {get; set;} |
| | | public String AWSDataId{set;get;} |
| | | public String AWSDataIdInquiryForm{set;get;} |
| | |
| | | ApiPrefix = 'PIBackApi'; |
| | | isDecryptContact = '0'; |
| | | isNewMode = true; |
| | | isCloneMode = false; |
| | | Input_Required_Field_Msg = Label.Input_Required_Field_Msg; |
| | | PIPL_Name_Label = Label.PIPL_Name_Label; |
| | | PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; |
| | | sobjecttypeForFrontEnd = sobjectTypeValue; |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | if(mso != null && mso.containsKey('newclone')){ |
| | | isCloneMode = true; |
| | | } |
| | | //获取所有字段 |
| | | List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Lead').getDescribe().fields.getMap().keyset()); |
| | | // Add fields to controller. This is to avoid the SOQL error in visualforce page |
| | |
| | | contactsInfo = JSON.serialize(sfIdToAWSIdMap); |
| | | }else{ |
| | | //看链接中有无带过来的参数(客户人员) |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | // Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | for(String key : mso.keySet()){ |
| | | System.debug('key=' + key + ',value=' + mso.get(key)); |
| | | } |
| | |
| | | String status = 'success'; |
| | | Response resp = new Response(); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | Boolean isClone = false; |
| | | String rid = ''; |
| | | String awsDataId = ''; |
| | | try{ |
| | | System.debug('abcde'); |
| | | if(isNew){ |
| | | awsDataId = (String)leadInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Lead[] leads = [select id from Lead where AWS_Data_Id__c =:awsDataId]; |
| | | |
| | | if(!isNew){ |
| | | isClone = leads.size() == 0; |
| | | } |
| | | System.debug('isClone---------'+isClone); |
| | | |
| | | if(isNew || isClone){ |
| | | System.debug('leadInfozhj = ' + leadInfo); |
| | | if(!Test.isRunningTest()){ |
| | | insert leadInfo; |
| | | } |
| | | }else{ |
| | | System.debug('into update'); |
| | | String awsDataId = (String)leadInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Lead[] leads = [select id from Lead where AWS_Data_Id__c =:awsDataId]; |
| | | // String awsDataId = (String)leadInfo.get('AWS_Data_Id__c'); |
| | | // System.debug('awsDataId = ' + awsDataId); |
| | | // Lead[] leads = [select id from Lead where AWS_Data_Id__c =:awsDataId]; |
| | | System.debug('leads[0].id = ' + leads[0].id); |
| | | leadInfo.put('Id',leads[0].id);//For testing; |
| | | if(!Test.isRunningTest()){ |
| | |
| | | System.debug('resp from sfdx back-end' + resp); |
| | | return resp; |
| | | |
| | | } catch(DmlException e) { |
| | | Integer index = 0; |
| | | System.debug(e.getNumDml()); |
| | | System.debug(e.getDmlFields(index)); |
| | | System.debug(e.getDmlId(index)); |
| | | System.debug(e.getDmlIndex(index)); |
| | | System.debug(e.getDmlMessage(index)); |
| | | System.debug(e.getDmlStatusCode(index)); |
| | | System.debug(e.getDmlType(index)); |
| | | system.debug(e.getMessage()); |
| | | system.debug(e.getStackTraceString()); |
| | | |
| | | System.debug('into catch'+e.getMessage()); |
| | | Database.rollback(sp); |
| | | resp.status = 'Exception'; |
| | | resp.message ='保存失败,原因:'+ e.getDmlMessage(index); |
| | | PIHelper.saveTransLog(sobjectTypeValue,(String)leadInfo.get('AWS_Data_Id__c'),rid,transId, leadJson ,status,e.getMessage()+e.getStackTraceString()); |
| | | return resp; |
| | | |
| | | } catch(Exception e) { |
| | | System.debug('into catch'+e.getMessage()); |
| | | Database.rollback(sp); |
| | |
| | | global with sharing class NewAndEditQISController extends NewAndEditBaseController{ |
| | | public String Input_Required_Field_Msg{set;get;} |
| | | public String qisId{set;get;} |
| | | public NewAndEditQISController(ApexPages.StandardController controller) { |
| | | Input_Required_Field_Msg = Label.Input_Required_Field_Msg; |
| | | List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('QIS_Report__c').getDescribe().fields.getMap().keyset()); |
| | |
| | | |
| | | //Updated by Chen Yanan 20220323 Start |
| | | String contactId = controller.getRecord().Id; |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | if(contactId == null){ |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | system.debug('mso='+mso); |
| | | if(mso.containsKey('CF00N10000002FHFK_lkid')){ |
| | | controller.getRecord().put('Name', '*'); |
| | | } |
| | | } |
| | | if(mso.containsKey('CF00N100000073PA0_lkid')){ |
| | | controller.getRecord().put('QIS_pre__c',mso.get('CF00N100000073PA0_lkid')); |
| | | } |
| | | system.debug('controller.getRecord()='+controller.getRecord()); |
| | | //Updated by Chen Yanan 20220323 End |
| | | } |
| | |
| | | public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); |
| | | public static String sobjectTypeValue = 'Report__c'; |
| | | public Boolean isNewMode{set;get;} |
| | | public Boolean isCloneMode{protected set;get;} |
| | | public String rtTypeId {get; set;} |
| | | public String AWSDataId{set;get;} |
| | | public String contactId{set;get;}//For Lookup field |
| | |
| | | AWSToSobjectEncryptedMap = new Map<string,string>(); |
| | | sobjectId = [SELECT CustomObjectId,CustomObjectName FROM CustomObjectUserLicenseMetrics where CustomObjectName ='Report' limit 1].CustomObjectId; |
| | | isNewMode = true; |
| | | isCloneMode = false; |
| | | Input_Required_Field_Msg = Label.Input_Required_Field_Msg; |
| | | PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; |
| | | sobjecttypeForFrontEnd = sobjectTypeValue; |
| | |
| | | // Add fields to controller. This is to avoid the SOQL error in visualforce page |
| | | if (!Test.isRunningTest()) { |
| | | controller.addFields(fieldList); |
| | | } |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | if(mso != null && mso.containsKey('newclone')){ |
| | | isCloneMode = true; |
| | | } |
| | | SObject obj = controller.getRecord(); |
| | | if(obj.Id != null){ |
| | |
| | | contactAWSDataId1 = '无'; |
| | | contactName1 = '无'; |
| | | } |
| | | }else if(ApexPages.currentPage().getParameters().get('CF00N10000008ps6d_lkid') != null){ |
| | | }else{ |
| | | //新建 |
| | | // Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | //医院/科室/经销商(手写) |
| | | if(mso.containsKey('00N10000002GE3Z')){ |
| | | controller.getRecord().put('Manual_Name__c',mso.get('00N10000002GE3Z')); |
| | | } |
| | | rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | obj.put('OwnerId',UserInfo.getUserId()); |
| | | } |
| | | if(ApexPages.currentPage().getParameters().get('CF00N10000008ps6d_lkid') != null){ |
| | | //OPD计划过来的,通过Id查出借出备品申请No1进行展示 |
| | | String opdPlanId = ApexPages.currentPage().getParameters().get('CF00N10000008ps6d_lkid'); |
| | | if(String.isNotEmpty(opdPlanId)&&String.isNotBlank(opdPlanId)){ |
| | |
| | | } |
| | | } |
| | | } |
| | | rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | obj.put('OwnerId',UserInfo.getUserId()); |
| | | }else{ |
| | | //新建 |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | //医院/科室/经销商(手写) |
| | | if(mso.containsKey('00N10000002GE3Z')){ |
| | | controller.getRecord().put('Manual_Name__c',mso.get('00N10000002GE3Z')); |
| | | } |
| | | rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | obj.put('OwnerId',UserInfo.getUserId()); |
| | | } |
| | | //OPD计划 |
| | | if(mso.containsKey('CF00N10000008ps6d_lkid')){ |
| | | controller.getRecord().put('Report_OPDPlan__c',mso.get('CF00N10000008ps6d_lkid')); |
| | | } |
| | | LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(rtTypeId, 'Report__c','classic'); |
| | | layoutSections = LayoutWrapperValue.layoutSections; |
| | |
| | | Savepoint sp = Database.setSavepoint(); |
| | | String rid = ''; |
| | | //自定义格式转换 |
| | | Boolean isClone = false; |
| | | try{ |
| | | for (String fieldAPI: fieldValueMap.keySet()) { |
| | | if(!fieldAPIToTypeMap.containskey(fieldAPI)){ |
| | | continue; |
| | | for (String fieldAPI: fieldValueMap.keySet()) { |
| | | if(!fieldAPIToTypeMap.containskey(fieldAPI)){ |
| | | continue; |
| | | } |
| | | Schema.DisplayType fielddataType = fieldAPIToTypeMap.get(fieldAPI).getDescribe().getType(); |
| | | String fieldValue = String.valueOf(fieldValueMap.get(fieldAPI)); |
| | | if(String.valueOf(fielddataType)=='DATE'){ |
| | | System.debug('DATE fieldAPI = '+fieldAPI+' filedData = '+String.valueOf(fieldValueMap.get(fieldAPI))); |
| | | //reportInfo.put(fieldAPI, Date.valueOf(String.valueOf(fieldValueMap.get(fieldAPI)).replace('/', '-'))); |
| | | reportInfo.put(fieldAPI,(String.isBlank(fieldValue)||String.isEmpty(fieldValue))? null:Date.valueOf(fieldValue.replace('/', '-'))); |
| | | }else if(String.valueOf(fielddataType)=='DATETIME'){ |
| | | System.debug('fieldValueMap:' + fieldValueMap); |
| | | String dt = String.valueOf(fieldValueMap.get(fieldAPI)); |
| | | System.debug('fieldValueMap.get(fieldAPI)' + fieldValueMap.get(fieldAPI)); |
| | | System.debug('dt:'+dt); |
| | | if(String.isNotBlank(dt)&&dt.contains('T')){ |
| | | dt = dt.replace('T',' '); |
| | | reportInfo.put(fieldAPI, Datetime.valueOfGmt(dt)); |
| | | }else if(String.isNotBlank(dt)) { |
| | | reportInfo.put(fieldAPI, Datetime.valueOf(dt.replace('/', '-') + ':00')); |
| | | }else{ |
| | | reportInfo.put(fieldAPI, null); |
| | | } |
| | | }else if(String.valueof(fielddataType)=='CURRENCY'|| String.valueof(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ |
| | | //reportInfo.put(fieldAPI, Decimal.valueOf(String.valueOf(fieldValueMap.get(fieldAPI)))); |
| | | reportInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', ''))); |
| | | } else if(String.valueof(fielddataType)=='BOOLEAN'){ |
| | | reportInfo.put(fieldAPI, fieldValueMap.get(fieldAPI)); |
| | | }else { |
| | | reportInfo.put(fieldAPI, String.valueOf(fieldValueMap.get(fieldAPI))); |
| | | } |
| | | } |
| | | Schema.DisplayType fielddataType = fieldAPIToTypeMap.get(fieldAPI).getDescribe().getType(); |
| | | String fieldValue = String.valueOf(fieldValueMap.get(fieldAPI)); |
| | | if(String.valueOf(fielddataType)=='DATE'){ |
| | | System.debug('DATE fieldAPI = '+fieldAPI+' filedData = '+String.valueOf(fieldValueMap.get(fieldAPI))); |
| | | //reportInfo.put(fieldAPI, Date.valueOf(String.valueOf(fieldValueMap.get(fieldAPI)).replace('/', '-'))); |
| | | reportInfo.put(fieldAPI,(String.isBlank(fieldValue)||String.isEmpty(fieldValue))? null:Date.valueOf(fieldValue.replace('/', '-'))); |
| | | }else if(String.valueOf(fielddataType)=='DATETIME'){ |
| | | System.debug('fieldValueMap:' + fieldValueMap); |
| | | String dt = String.valueOf(fieldValueMap.get(fieldAPI)); |
| | | System.debug('fieldValueMap.get(fieldAPI)' + fieldValueMap.get(fieldAPI)); |
| | | System.debug('dt:'+dt); |
| | | if(String.isNotBlank(dt)&&dt.contains('T')){ |
| | | dt = dt.replace('T',' '); |
| | | reportInfo.put(fieldAPI, Datetime.valueOfGmt(dt)); |
| | | }else if(String.isNotBlank(dt)) { |
| | | reportInfo.put(fieldAPI, Datetime.valueOf(dt.replace('/', '-') + ':00')); |
| | | }else{ |
| | | reportInfo.put(fieldAPI, null); |
| | | } |
| | | }else if(String.valueof(fielddataType)=='CURRENCY'|| String.valueof(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ |
| | | //reportInfo.put(fieldAPI, Decimal.valueOf(String.valueOf(fieldValueMap.get(fieldAPI)))); |
| | | reportInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', ''))); |
| | | } else if(String.valueof(fielddataType)=='BOOLEAN'){ |
| | | reportInfo.put(fieldAPI, fieldValueMap.get(fieldAPI)); |
| | | }else { |
| | | reportInfo.put(fieldAPI, String.valueOf(fieldValueMap.get(fieldAPI))); |
| | | } |
| | | } |
| | | System.debug('自定义格式转换结束'); |
| | | System.debug('自定义格式转换结束'); |
| | | |
| | | String awsDataId = (String)reportInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | report__c[] reports = [select id from report__c where AWS_Data_Id__c =:awsDataId]; |
| | | |
| | | if(!isNew){ |
| | | isClone = reports.size() == 0; |
| | | } |
| | | if(isNew){ |
| | | System.debug('reportInfo = ' + reportInfo); |
| | | if(!Test.isRunningTest()){ |
| | |
| | | } |
| | | }else{ |
| | | System.debug('into update'); |
| | | String awsDataId = (String)reportInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | report__c[] reports = [select id from report__c where AWS_Data_Id__c =:awsDataId]; |
| | | // String awsDataId = (String)reportInfo.get('AWS_Data_Id__c'); |
| | | // System.debug('awsDataId = ' + awsDataId); |
| | | // report__c[] reports = [select id from report__c where AWS_Data_Id__c =:awsDataId]; |
| | | System.debug('reports[0].id = ' + reports[0].id); |
| | | reportInfo.put('Id',reports[0].id);//For testing; |
| | | if(!Test.isRunningTest()){ |
| | |
| | | List<String> strList = new List<String>(); |
| | | strList.add('Report__c'); |
| | | strList.add('Contact'); |
| | | strList.add('Agency_Contact__c'); |
| | | TestDataUtility.CreatePIPolicyConfigurations(strList); |
| | | } |
| | | static testMethod void testMethod1() { |
| | |
| | | public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); |
| | | public static String sobjectTypeValue = 'Consum_Apply__c'; |
| | | public Boolean isNewMode{set;get;} |
| | | public Boolean isCloneMode{protected set;get;} |
| | | public String rtTypeId {get; set;} |
| | | public String AWSDataId{set;get;} |
| | | public List<String> encryptedAPIList{set;get;} |
| | |
| | | public NewConsumApplyController(ApexPages.StandardController controller) { |
| | | ApiPrefix = 'PIBackApi'; |
| | | isNewMode = true; |
| | | isCloneMode = false; |
| | | Input_Required_Field_Msg = Label.Input_Required_Field_Msg; |
| | | PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; |
| | | //获取所有字段 |
| | | List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Consum_Apply__c').getDescribe().fields.getMap().keyset()); |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | if(mso != null && mso.containsKey('newclone')){ |
| | | isCloneMode = true; |
| | | } |
| | | if (!Test.isRunningTest()) { |
| | | controller.addFields(fieldList); |
| | | } |
| | |
| | | //新建 |
| | | rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | obj.put('OwnerId',UserInfo.getUserId()); |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | // Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | system.debug('mso='+mso); |
| | | if(mso.containsKey('00N10000008rdgs')){ |
| | | controller.getRecord().put('demo_purpose2__c',mso.get('00N10000008rdgs')); |
| | |
| | | Response resp = new Response(); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | String rid = ''; |
| | | Boolean isClone = false; |
| | | String awsDataId = ''; |
| | | |
| | | try{ |
| | | System.debug('abcde'); |
| | | if(isNew){ |
| | | awsDataId = (String)consumApplyInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Consum_Apply__c[] ConsumApplys = [select id from Consum_Apply__c where AWS_Data_Id__c =:awsDataId]; |
| | | if(!isNew){ |
| | | isClone = ConsumApplys.size() == 0; |
| | | } |
| | | if(isNew || isClone){ |
| | | System.debug('consumApplyInfozhj = ' + consumApplyInfo); |
| | | insert consumApplyInfo; |
| | | System.debug('consumApplyInfo.Id' + consumApplyInfo.Id); |
| | | }else{ |
| | | System.debug('into update'); |
| | | String awsDataId = (String)consumApplyInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Consum_Apply__c[] ConsumApplys = [select id from Consum_Apply__c where AWS_Data_Id__c =:awsDataId]; |
| | | // String awsDataId = (String)consumApplyInfo.get('AWS_Data_Id__c'); |
| | | // System.debug('awsDataId = ' + awsDataId); |
| | | // Consum_Apply__c[] ConsumApplys = [select id from Consum_Apply__c where AWS_Data_Id__c =:awsDataId]; |
| | | System.debug('ConsumApplys[0].id = ' + ConsumApplys[0].id); |
| | | consumApplyInfo.put('Id',ConsumApplys[0].id);//For testing; |
| | | update consumApplyInfo; |
| | |
| | | public String awsToken{set;get;} |
| | | public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); |
| | | public static String sobjectTypeValue = 'Consum_Apply_Equipment_Set_Detail__c'; |
| | | public Boolean isCloneMode{protected set;get;} |
| | | public Boolean isNewMode{set;get;} |
| | | public String rtTypeId {get; set;} |
| | | public String AWSDataId{set;get;} |
| | |
| | | public String sobjectPrefix{set;get;} |
| | | public NewConsumApplyEquipSetDetailController(ApexPages.StandardController controller) { |
| | | isNewMode = true; |
| | | isCloneMode = false; |
| | | Input_Required_Field_Msg = Label.Input_Required_Field_Msg; |
| | | sobjecttypeForFrontEnd = sobjectTypeValue; |
| | | //获取所有字段 |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | if(mso != null && mso.containsKey('newclone')){ |
| | | isCloneMode = true; |
| | | } |
| | | List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Consum_Apply_Equipment_Set_Detail__c').getDescribe().fields.getMap().keyset()); |
| | | if (!Test.isRunningTest()) { |
| | | controller.addFields(fieldList); |
| | |
| | | if(String.isNotBlank(fieldValue)&&fieldValue.contains('T')){ |
| | | fieldValue = fieldValue.replace('T',' '); |
| | | consumApplyInfo.put(fieldAPI, Datetime.valueOfGmt(fieldValue)); |
| | | //20220405 By ChenYanan Start |
| | | }else if(String.isNotBlank(fieldValue)) { |
| | | fieldValue = fieldValue.replace('/', '-') + ':00'; |
| | | consumApplyInfo.put(fieldAPI, Datetime.valueOf(fieldValue)); |
| | | //20220405 By ChenYanan End |
| | | }else{ |
| | | consumApplyInfo.put(fieldAPI, null); |
| | | } |
| | | } |
| | | }else if(String.valueof(fielddataType)=='CURRENCY'|| String.valueof(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ |
| | | consumApplyInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?0:Decimal.valueOf(fieldValue)); |
| | | } else if(String.valueof(fielddataType)=='BOOLEAN'){ |
| | |
| | | Response resp = new Response(); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | String rid = ''; |
| | | Boolean isClone = false; |
| | | String awsDataId = ''; |
| | | try{ |
| | | System.debug('abcde'); |
| | | awsDataId = (String)consumApplyInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Consum_Apply_Equipment_Set_Detail__c[] ConsumApplys = [select id from Consum_Apply_Equipment_Set_Detail__c where AWS_Data_Id__c =:awsDataId]; |
| | | |
| | | if(!isNew || isClone){ |
| | | isClone = ConsumApplys.size() == 0; |
| | | } |
| | | if(isNew){ |
| | | System.debug('consumApplyInfozhj = ' + consumApplyInfo); |
| | | insert consumApplyInfo; |
| | | System.debug('consumApplyInfo.Id' + consumApplyInfo.Id); |
| | | }else{ |
| | | System.debug('into update'); |
| | | String awsDataId = (String)consumApplyInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Consum_Apply_Equipment_Set_Detail__c[] ConsumApplys = [select id from Consum_Apply_Equipment_Set_Detail__c where AWS_Data_Id__c =:awsDataId]; |
| | | // String awsDataId = (String)consumApplyInfo.get('AWS_Data_Id__c'); |
| | | // System.debug('awsDataId = ' + awsDataId); |
| | | // Consum_Apply_Equipment_Set_Detail__c[] ConsumApplys = [select id from Consum_Apply_Equipment_Set_Detail__c where AWS_Data_Id__c =:awsDataId]; |
| | | System.debug('ConsumApplys[0].id = ' + ConsumApplys[0].id); |
| | | consumApplyInfo.put('Id',ConsumApplys[0].id);//For testing; |
| | | update consumApplyInfo; |
| | |
| | | public String sobjectPrefix{set;get;} |
| | | public String sobjecttypeForFrontEnd{set;get;} |
| | | public String sobjectId{set;get;} |
| | | public String workLocationSelect{set;get;} |
| | | public String RepairSubOrderAWSDataId{set;get;} |
| | | public String staticResourceRepairSubOrder{set;get;} |
| | | public NewRepairController(ApexPages.StandardController controller) { |
| | | sobjectId = [SELECT CustomObjectId,CustomObjectName FROM CustomObjectUserLicenseMetrics where CustomObjectName ='Repair' limit 1].CustomObjectId; |
| | | isNewMode = true; |
| | |
| | | //新建 |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | system.debug('mso='+mso); |
| | | //修理品返送地 |
| | | if(mso.containsKey('00N10000006P6SM')){ |
| | | controller.getRecord().put('SalesOfficeCode_selection__c',mso.get('00N10000006P6SM')); |
| | | } |
| | | if(mso.containsKey('00N10000002FH86')){ |
| | | controller.getRecord().put('On_site_repair__c',mso.get('00N10000002FH86')); |
| | | //controller.getRecord().put('On_site_repair__c',mso.get('00N10000002FH86')); |
| | | //Repair_Source__c |
| | | controller.getRecord().put('Repair_Source__c',mso.get('00N10000002FH86')); |
| | | } |
| | | if(mso.containsKey('00N10000006P6Rn')){ |
| | | controller.getRecord().put('work_location_select__c',mso.get('00N10000006P6Rn')); |
| | | workLocationSelect = mso.get('00N10000006P6Rn'); |
| | | System.debug('workLocationSelect = ' + workLocationSelect); |
| | | } |
| | | //问题内容描述00N10000002Dx6I |
| | | if(mso.containsKey('00N10000002Dx6I')){ |
| | | controller.getRecord().put('Repair_Detail__c',mso.get('00N10000002Dx6I')); |
| | | } |
| | | //问题联络收到日00N10000008rsVQ |
| | | if(mso.containsKey('00N10000008rsVQ')){ |
| | | String o = mso.get('00N10000008rsVQ'); |
| | | controller.getRecord().put('DateReceiptQuestions__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); |
| | | } |
| | | |
| | | //是否有死亡、伤害、感染00N10000008rsW7 |
| | | if(mso.containsKey('00N10000008rsW7')){ |
| | | controller.getRecord().put('ifDeadHurt__c',mso.get('00N10000008rsW7')); |
| | | } |
| | | //是否和这次的产品故障有关00N10000008rsVw |
| | | if(mso.containsKey('00N10000008rsVw')){ |
| | | controller.getRecord().put('ProductFailureRelated__c',mso.get('00N10000008rsVw')); |
| | | } |
| | | //医院有没有向政府机关报告不良事件或疑似不良事件00N10000008rsW2 |
| | | if(mso.containsKey('00N10000008rsW2')){ |
| | | controller.getRecord().put('ReportAdverseEvents__c',mso.get('00N10000008rsW2')); |
| | | } |
| | | //做的是哪个项目00N10000008rsW6 |
| | | if(mso.containsKey('00N10000008rsW6')){ |
| | | controller.getRecord().put('WhatProject__c',mso.get('00N10000008rsW6')); |
| | | } |
| | | //手术/检查名称00N10000008rsVk |
| | | if(mso.containsKey('00N10000008rsVk')){ |
| | | controller.getRecord().put('OperationOrExaminationName__c',mso.get('00N10000008rsVk')); |
| | | } |
| | | //是否有发生断裂或脱落00N10000008rsVN |
| | | if(mso.containsKey('00N10000008rsVN')){ |
| | | controller.getRecord().put('BreakORFallOff__c',mso.get('00N10000008rsVN')); |
| | | } |
| | | //配套使用产品00N10000008rsW4 |
| | | if(mso.containsKey('00N10000008rsW4')){ |
| | | controller.getRecord().put('SupportingProducts__c',mso.get('00N10000008rsW4')); |
| | | } |
| | | //发现故障后,医院对患者的处理情况00N10000008rsVL |
| | | if(mso.containsKey('00N10000008rsVL')){ |
| | | controller.getRecord().put('AfterFailureInformation__c',mso.get('00N10000008rsVL')); |
| | | } |
| | | //发现故障现象后,有延误15分钟以上的手术实施的情况发生吗00N10000008rsVR |
| | | if(mso.containsKey('00N10000008rsVR')){ |
| | | controller.getRecord().put('Delay15Min__c',mso.get('00N10000008rsVR')); |
| | | } |
| | | //信息是从医院的谁那里得到的00N10000008rsVZ |
| | | if(mso.containsKey('00N10000008rsVZ')){ |
| | | controller.getRecord().put('InformationFrom__c',mso.get('00N10000008rsVZ')); |
| | | } |
| | | //在医院,故障发生的频率是多少00N10000008rsVT |
| | | if(mso.containsKey('00N10000008rsVT')){ |
| | | controller.getRecord().put('FailureQInHospital__c',mso.get('00N10000008rsVT')); |
| | | } |
| | | //问题发生时间情况00N10000008rsVv |
| | | if(mso.containsKey('00N10000008rsVv')){ |
| | | controller.getRecord().put('ProblemOccurred__c',mso.get('00N10000008rsVv')); |
| | | } |
| | | //是否用该产品完成了手术/检查00N10000008rsW5 |
| | | if(mso.containsKey('00N10000008rsW5')){ |
| | | if(mso.get('00N10000008rsW5') != 'undefined'){ |
| | | controller.getRecord().put('UseFailProductFinish__c',mso.get('00N10000008rsW5')); |
| | | } |
| | | } |
| | | //故障发生日00N10000002Dx5y |
| | | if(mso.containsKey('00N10000002Dx5y')){ |
| | | String o = mso.get('00N10000002Dx5y'); |
| | | controller.getRecord().put('Failure_Occurrence_Date__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); |
| | | } |
| | | //修理委托者(FSE)CF00N10000002EMHw_lkid |
| | | if(mso.containsKey('CF00N10000002EMHw_lkid')){ |
| | | controller.getRecord().put('Incharge_Staff__c',mso.get('CF00N10000002EMHw_lkid')); |
| | | } |
| | | //原修理受付番号00N1m000005gt1l |
| | | if(mso.containsKey('00N1m000005gt1l')){ |
| | | controller.getRecord().put('Old_Name__c',mso.get('00N1m000005gt1l')); |
| | | } |
| | | //设备型号CF00N10000002Dx1X_lkid |
| | | if(mso.containsKey('CF00N10000002Dx1X_lkid')){ |
| | | controller.getRecord().put('Delivered_Product__c',mso.get('CF00N10000002Dx1X_lkid')); |
| | | } |
| | | //维修委托书号码00N10000006P1dw |
| | | if(mso.containsKey('00N10000006P1dw')){ |
| | | controller.getRecord().put('PaperRepairRequestNo__c',mso.get('00N10000006P1dw')); |
| | | } |
| | | |
| | | //通过id查 |
| | | Repair__c rc = null; |
| | | if (mso.containsKey('RepairId')) { |
| | | String RepairId = mso.get('RepairId'); |
| | | rc = [select Hospital__c,Department_Class__c,Account__c,Dealer__c,Incharge_Staff_Contact__c,Incharge_Staff__c from Repair__c where id =:RepairId ]; |
| | | //医院 |
| | | controller.getRecord().put('Hospital__c',rc.Hospital__c); |
| | | //战略科室分类 |
| | | controller.getRecord().put('Department_Class__c',rc.Department_Class__c); |
| | | //科室 |
| | | controller.getRecord().put('Account__c',rc.Account__c); |
| | | //经销商名 |
| | | controller.getRecord().put('Dealer__c',rc.Dealer__c); |
| | | //修理委托者(员工) |
| | | controller.getRecord().put('Incharge_Staff_Contact__c',rc.Incharge_Staff_Contact__c); |
| | | //修理委托者(FSE) |
| | | controller.getRecord().put('Incharge_Staff__c',rc.Incharge_Staff__c); |
| | | } |
| | | |
| | | //市场多年保修 有偿/无偿修理00N10000008rG4p |
| | | if(mso.containsKey('00N10000008rG4p')){ |
| | | controller.getRecord().put('RepairCostType__c',mso.get('00N10000008rG4p')); |
| | | } |
| | | //服务方式00N10000002F6dW |
| | | if(mso.containsKey('00N10000002F6dW')){ |
| | | controller.getRecord().put('On_site_repair__c',mso.get('00N10000002F6dW')); |
| | | } |
| | | //返品方式00N1m000004QmcJ |
| | | if(mso.containsKey('00N1m000004QmcJ')){ |
| | | controller.getRecord().put('Returns_Product_way__c',mso.get('00N1m000004QmcJ')); |
| | | } |
| | | //问题内容描述(图片)00N10000008rsVuEAI |
| | | if(mso.containsKey('00N10000008rsVuEAI')){ |
| | | controller.getRecord().put('ProblemDescription__c',mso.get('00N10000008rsVuEAI')); |
| | | } |
| | | //如果是测试环境 |
| | | Boolean isTest = NFMUtil.isSandbox(); |
| | | //报修人00N1m0000054ufW |
| | | String RepairApplicant = isTest==true?'00N1m0000054ufW':'00N10000009H1rQ'; |
| | | if(mso.containsKey(RepairApplicant)){ |
| | | controller.getRecord().put('RepairApplicant__c',mso.get(RepairApplicant)); |
| | | } |
| | | //报修人医院00N1m0000054ufU |
| | | String RepairApplicantHospital = isTest==true?'00N1m0000054ufU':'00N10000009H1rP'; |
| | | if(mso.containsKey(RepairApplicantHospital)){ |
| | | controller.getRecord().put('RepairApplicantHospital__c',mso.get(RepairApplicantHospital)); |
| | | } |
| | | //报修人科室00N1m0000054ufT |
| | | String RepairApplicantDepartment = isTest==true?'00N1m0000054ufT':'00N10000009H1rO'; |
| | | if(mso.containsKey(RepairApplicantDepartment)){ |
| | | controller.getRecord().put('RepairApplicantDepartment__c',mso.get(RepairApplicantDepartment)); |
| | | } |
| | | //报修子单CF00N1m0000054ufZ_lkid |
| | | String RepairSubOrder = isTest==true?'CF00N1m0000054ufZ_lkid':'CF00N10000009H1rR_lkid'; |
| | | if(mso.containsKey(RepairSubOrder)){ |
| | | controller.getRecord().put('RepairSubOrder__c',mso.get(RepairSubOrder)); |
| | | //查询AWSDataId |
| | | List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:mso.get(RepairSubOrder)]; |
| | | if(rso.size() > 0){ |
| | | RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c; |
| | | } |
| | | } |
| | | //报修发起日 |
| | | String RepairTime = isTest==true?'00N1m0000054ufa':'00N10000009H1rS'; |
| | | if(mso.containsKey(RepairTime)){ |
| | | String o = mso.get(RepairTime); |
| | | controller.getRecord().put('RepairTime__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); |
| | | } |
| | | //报修单受理日ReceiverTime__c |
| | | String ReceiverTime = isTest==true?'00N1m0000054ufS':'00N10000009H1rN'; |
| | | if(mso.containsKey(ReceiverTime)){ |
| | | String o = mso.get(ReceiverTime); |
| | | controller.getRecord().put('ReceiverTime__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); |
| | | } |
| | | //计划上门日 |
| | | String PlannedVisitDay = isTest==true?'00N1m000005SRiF':'00N10000009H1rM'; |
| | | if(mso.containsKey(PlannedVisitDay)){ |
| | | String o = mso.get(PlannedVisitDay); |
| | | controller.getRecord().put('PlannedVisitDay__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); |
| | | } |
| | | //一次上门日 |
| | | String ActualVisitDateFirst = isTest==true?'00N1m000005SRiK':'00N10000009H1r6'; |
| | | if(mso.containsKey(ActualVisitDateFirst)){ |
| | | String o = mso.get(ActualVisitDateFirst); |
| | | controller.getRecord().put('ActualVisitDateFirst__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); |
| | | } |
| | | //二次上门日 |
| | | String ActualVisitDateSecond = isTest==true?'00N1m000005SRiP':'00N10000009H1r7'; |
| | | if(mso.containsKey(ActualVisitDateSecond)){ |
| | | String o = mso.get(ActualVisitDateSecond); |
| | | controller.getRecord().put('ActualVisitDateSecond__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); |
| | | } |
| | | //三次上门日 |
| | | String ActualVisitDateThird = isTest==true?'00N1m000005SRiU':'00N10000009H1r8'; |
| | | if(mso.containsKey(ActualVisitDateThird)){ |
| | | String o = mso.get(ActualVisitDateThird); |
| | | controller.getRecord().put('ActualVisitDateThird__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); |
| | | } |
| | | //移动端申请修理日 |
| | | String SubOrderCompleteDate = isTest==true?'00N1m000005SRmg':'00N10000009H1ri'; |
| | | if(mso.containsKey(SubOrderCompleteDate)){ |
| | | String o = mso.get(SubOrderCompleteDate); |
| | | controller.getRecord().put('SubOrderCompleteDate__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); |
| | | } |
| | | //报修单处理完成日 |
| | | String SubOrderCreatedDate = isTest==true?'00N1m000005SRmW':'00N10000009H1rj'; |
| | | if(mso.containsKey(SubOrderCreatedDate)){ |
| | | String o = mso.get(SubOrderCreatedDate); |
| | | controller.getRecord().put('SubOrderCreatedDate__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-'))); |
| | | } |
| | | |
| | | //送修物流方式00N1m0000054ufE |
| | | if(mso.containsKey('00N1m0000054ufE')){ |
| | | controller.getRecord().put('DeliveryLogisticsMode__c',mso.get('00N1m0000054ufE')); |
| | | } |
| | | //送修物流最新状态00N1m0000054ufk |
| | | if(mso.containsKey('00N1m0000054ufk')){ |
| | | controller.getRecord().put('LogisticsLatestStatus__c',mso.get('00N1m0000054ufk')); |
| | | } |
| | | //送修物流单号00N1m0000054ufF |
| | | if(mso.containsKey('00N1m0000054ufF')){ |
| | | controller.getRecord().put('DeliveryLogisticsNo__c',mso.get('00N1m0000054ufF')); |
| | | } |
| | | //送修物流信息备注00N1m0000054ufD |
| | | if(mso.containsKey('00N1m0000054ufD')){ |
| | | controller.getRecord().put('DeliveryLogisticsAnnotation__c',mso.get('00N1m0000054ufD')); |
| | | } |
| | | //超时报告的理由00N10000008rsVS |
| | | if(mso.containsKey('00N10000008rsVS')){ |
| | | controller.getRecord().put('DelayReportReason__c',mso.get('00N10000008rsVS')); |
| | | } |
| | | |
| | | rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | if(String.isBlank(rtTypeId)||String.isEmpty(rtTypeId)){ |
| | | List<RecordType> rtList = new List<RecordType>([select Id,DeveloperName from RecordType where SobjectType ='Repair__c' and DeveloperName ='Repair']); |
| | |
| | | PIHelper.PIIntegration piIntegration = PIHelper.getPIIntegrationInfo('Repair__c'); |
| | | PIHelper.PIIntegration piIntegrationAddress = PIHelper.getPIIntegrationInfo('Address__c'); |
| | | PIHelper.PIIntegration piIntegrationContact = PIHelper.getPIIntegrationInfo('Contact'); |
| | | PIHelper.PIIntegration piIntegrationRepairSubOrder = PIHelper.getPIIntegrationInfo('RepairSubOrder__c'); |
| | | staticResource = JSON.serialize(piIntegration); |
| | | staticResourceAddress = JSON.serialize(piIntegrationAddress); |
| | | staticResourceContact = JSON.serialize(piIntegrationContact); |
| | | staticResourceRepairSubOrder = JSON.serialize(piIntegrationRepairSubOrder); |
| | | encryptedAPIList = piIntegration.PIFields; |
| | | sobjectPrefix = piIntegration.sobjectPrefix; |
| | | } |
| | |
| | | public String recordId{set;get;} |
| | | public String message{set;get;} |
| | | public String status{set;get;} |
| | | } |
| | | |
| | | @RemoteAction |
| | | global static Response EncryptUpdate(string rid){ |
| | | system.debug('rid='+rid); |
| | | Response r = new Response(); |
| | | List<Repair__c> reps = new List<Repair__c>(); |
| | | if(Test.isRunningTest()){ |
| | | if(rid=='a0J1m000001QqXk'){ |
| | | reps.add(new Repair__c(Id='a0J1m000001QqXk',Encrypt_Update_Flag__c=true)); |
| | | }else{ |
| | | reps.add(new Repair__c(Id='a0J1m000001QqXk',Encrypt_Update_Flag__c=false)); |
| | | } |
| | | }else{ |
| | | reps = [select id,Encrypt_Update_Flag__c from Repair__c where id =:rid]; |
| | | } |
| | | if(reps.size()==0){ |
| | | r.status = 'failed'; |
| | | r.message = '符合条件的数据未找到'; |
| | | return r; |
| | | } |
| | | Repair__c rep = reps[0]; |
| | | if(!rep.Encrypt_Update_Flag__c){ |
| | | r.status = 'success'; |
| | | r.message = ''; |
| | | return r; |
| | | } |
| | | |
| | | boolean b = AWSServiceTool2.EncryptPushData(new string[]{rid}); |
| | | rep.Encrypt_Update_Flag__c = false; |
| | | if(!Test.isRunningTest()){ |
| | | update rep; |
| | | } |
| | | r.status = b ? 'success' : 'failed'; |
| | | r.message = b ? '' : '加密推送失败'; |
| | | r.recordId = rid; |
| | | return r; |
| | | } |
| | | |
| | | @RemoteAction |
| | |
| | | Map<String, Schema.SObjectField> fieldAPIToTypeMap = repairSchema.getDescribe().fields.getMap(); |
| | | Map<String,Object> fieldValueMap = (Map<String,Object>)JSON.deserializeUntyped(repairJson); |
| | | Repair__c repairInfo = new Repair__c(); |
| | | Boolean updateRepairCheck = false; |
| | | //自定义格式转换 |
| | | for (String fieldAPI: fieldValueMap.keySet()) { |
| | | system.debug('field API'+fieldAPI); |
| | |
| | | }else if(String.valueOf(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='CURRENCY'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ |
| | | repairInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', ''))); |
| | | } else if(String.valueof(fielddataType)=='BOOLEAN'){ |
| | | //check repair check value |
| | | if(fieldAPI == 'Return_Without_Repair__c'&&Boolean.valueof(fieldValueMap.get(fieldAPI))){ |
| | | updateRepairCheck = true; |
| | | } |
| | | repairInfo.put(fieldAPI, fieldValueMap.get(fieldAPI)); |
| | | }else { |
| | | repairInfo.put(fieldAPI, String.valueOf(fieldValueMap.get(fieldAPI))); |
| | | } |
| | | } |
| | | |
| | | //2. Save Record Process |
| | | String status = 'success'; |
| | | Response resp = new Response(); |
| | |
| | | System.debug('into update'); |
| | | String awsDataId = (String)repairInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Repair__c[] repairs = [select id from Repair__c where AWS_Data_Id__c =:awsDataId]; |
| | | Repair__c[] repairs = [select id,Return_Without_Repair_Reason__c,SAP_Transfer_time__c from Repair__c where AWS_Data_Id__c =:awsDataId]; |
| | | if(!updateRepairCheck){ |
| | | repairInfo.put('Return_Without_Repair_Reason__c',repairs[0].Return_Without_Repair_Reason__c); |
| | | } |
| | | if(repairs!=null&&repairs[0]!=null){ |
| | | repairInfo.put('SAP_Transfer_time__c',repairs[0].SAP_Transfer_time__c); |
| | | } |
| | | System.debug('repairs[0].id = ' + repairs[0].id); |
| | | repairInfo.put('Id',repairs[0].id);//For testing; |
| | | update repairInfo; |
| | | } |
| | | rid=repairInfo.Id; |
| | | PIHelper.saveTransLog(sobjectTypeValue,rid,transId, (String)repairInfo.get('AWS_Data_Id__c'),repairJson ,status,''); |
| | | PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,''); |
| | | resp.recordId = repairInfo.Id; |
| | | resp.message = ''; |
| | | resp.status = status; |
| | |
| | | Database.rollback(sp); |
| | | resp.status = 'Exception'; |
| | | resp.message ='保存失败,原因:'+ e.getDmlMessage(index); |
| | | PIHelper.saveTransLog(sobjectTypeValue,rid,transId, (String)repairInfo.get('AWS_Data_Id__c'),repairJson ,status,''); |
| | | PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,e.getMessage()+e.getStackTraceString()); |
| | | return resp; |
| | | |
| | | } catch(Exception e) { |
| | | System.debug('into catch'+e.getMessage()); |
| | | Database.rollback(sp); |
| | | status = 'fail'; |
| | | PIHelper.saveTransLog(sobjectTypeValue,rid,transId, (String)repairInfo.get('AWS_Data_Id__c'),repairJson,status,e.getMessage()); |
| | | PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,e.getMessage()+e.getStackTraceString()); |
| | | resp.message = e.getMessage(); |
| | | resp.status = status; |
| | | return resp; |
| | |
| | | strList.add('Repair__c'); |
| | | strList.add('Address__c'); |
| | | strList.add('Contact'); |
| | | strList.add('RepairSubOrder__c'); |
| | | TestDataUtility.CreatePIPolicyConfigurations(strList); |
| | | Test.setMock(HttpCalloutMock.class, new TestDataUtility.CreateMetaDataUtilityHttpMock()); |
| | | String url = ApexPages.currentPage().getParameters().put('00N10000006P6SM','北京'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000002FH86','RC修理'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000006P6Rn','北京办事处'); |
| | | url = ApexPages.currentPage().getParameters().put('RecordType',recordTypeId); |
| | | |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx66_lkid','0011000000V9TM6'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx66','%E5%89%91%E9%98%81%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5t_lkid','0011000000VAFmh'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5t','%E5%89%91%E9%98%81%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2+ET'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5n_lkid','0011000000VAFmh'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5n','%E5%89%91%E9%98%81%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2+ET'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx1X_lkid','02i10000004FhGu'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx1X','MH-443%3A%E5%90%B8%E5%BC%95%E6%8C%89%E9%92%AE'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000002FH86','%e5%8f%aa%e4%bf%ae%e7%90%86'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000006P6Rn','%E5%8C%97%E4%BA%AC%E5%8A%9E%E4%BA%8B%E5%A4%84'); |
| | | |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002FIJZ_lkid','a0f1000000cS7qH'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002FIJZ','OCSM-%E8%A5%BF%E5%8C%97-153PA-07878'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx66_lkid','0011000000V9SnP'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx66','%E6%B7%AE%E6%BB%A8%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5t_lkid','0011000000V9ZEI'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5t','%E6%B7%AE%E6%BB%A8%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2+%E6%B6%88%E5%8C%96%E7%A7%91'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5n_lkid','0011000000VALNX'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx5n','%E6%B7%AE%E6%BB%A8%E5%8E%BF%E4%BA%BA%E6%B0%91%E5%8C%BB%E9%99%A2+%E6%B6%88%E5%8C%96%E7%A7%91+%E8%83%83%E9%95%9C%E5%AE%A4'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx1X_lkid','02i10000004ExNO'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002Dx1X','GIF-H170%3A%E7%94%B5%E5%AD%90%E4%B8%8A%E6%B6%88%E5%8C%96%E9%81%93%E5%86%85%E7%AA%A5%E9%95%9C'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002EMHw_lkid','00510000005sFUG'); |
| | | url = ApexPages.currentPage().getParameters().put('CF00N10000002EMHw','%E5%90%95%20%E5%85%A8%E5%A5%BD'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000002Dx5y','2020/08/05'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000006P6SM','%E9%83%91%E5%B7%9E'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000002FH86','%E4%BB%8EQIS'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000006P6Rn','%E5%8C%97%E4%BA%AC%E5%8A%9E%E4%BA%8B%E5%A4%84'); |
| | | url = ApexPages.currentPage().getParameters().put('00N1m000005gt1l','%E4%BB%8EQIS'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000006P1dw','121212'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000008rsVT','12'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000008rsVv','其他'); |
| | | url = ApexPages.currentPage().getParameters().put('00N10000008rsW5','是'); |
| | | |
| | | |
| | | |
| | | Repair__c repTest = TestDataUtility.CreateRepairs(1)[0]; |
| | | url = ApexPages.currentPage().getParameters().put('RepairId',repTest.Id); |
| | | Test.startTest(); |
| | | ApexPages.StandardController con = new ApexPages.StandardController(new Repair__c()); |
| | | NewRepairController repDetail = new NewRepairController(con); |
| | | Test.stopTest(); |
| | | } |
| | | static testMethod void testMethod3(){ |
| | | TestDataUtility.CreatePIPolicyConfiguration('Repair__c'); |
| | | ApexPages.StandardController con = new ApexPages.StandardController(new Repair__c()); |
| | | try{ |
| | | NewRepairController controllerTest = new NewRepairController(con); |
| | | controllerTest.awsToken = 'TestToken'; |
| | | controllerTest.RepairSubOrderAWSDataId = 'RepairSubOrderAWSDataId'; |
| | | }catch(Exception e){ |
| | | system.debug('Exception from insert repair:'+e.getMessage()); |
| | | } |
| | | NewRepairController.EncryptUpdate('a0J1m000001QqX'); |
| | | NewRepairController.EncryptUpdate('a0J1m000001QqXk'); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * @description : |
| | | * @author : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | * @group : |
| | | * @last modified on : 03-28-2022 |
| | | * @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | **/ |
| | | global without sharing class OnCallController { |
| | | public String layoutSectionsStr {get; set;}//for dynamic add readonly attribute |
| | | public List <LayoutDescriberHelper.LayoutSection > layoutSections{set;get;} |
| | |
| | | public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); |
| | | public static String sobjectTypeValue = 'On_Call__c'; |
| | | public Boolean isNewMode{set;get;} |
| | | public Boolean isCloneMode{protected set;get;} |
| | | public String rtTypeId {get; set;} |
| | | public String AWSDataId{set;get;} |
| | | public List<String> encryptedAPIList{set;get;} |
| | |
| | | public OnCallController(ApexPages.StandardController controller) { |
| | | // sobjectId = [SELECT CustomObjectId,CustomObjectName FROM CustomObjectUserLicenseMetrics where CustomObjectName ='OnCall' limit 1].CustomObjectId; |
| | | isNewMode = true; |
| | | isCloneMode = false; |
| | | Input_Required_Field_Msg = Label.Input_Required_Field_Msg; |
| | | PIPL_Name_Label = Label.PIPL_Name_Label; |
| | | PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; |
| | |
| | | // Add fields to controller. This is to avoid the SOQL error in visualforce page |
| | | if(!Test.isRunningTest()){ |
| | | controller.addFields(fieldList); |
| | | } |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | System.debug('mso:' + mso); |
| | | if(mso != null && mso.containsKey('newclone')){ |
| | | isCloneMode = true; |
| | | } |
| | | System.debug('isClone:' + isCloneMode); |
| | | SObject obj = controller.getRecord(); |
| | | if(obj.Id != null){ |
| | | //更新 |
| | |
| | | On_Call__c onCallInfo = new On_Call__c(); |
| | | //自定义格式转换 |
| | | for (String fieldAPI: fieldValueMap.keySet()) { |
| | | system.debug('field API'+fieldAPI); |
| | | if(!fieldAPIToTypeMap.containskey(fieldAPI)){ |
| | | continue; |
| | | } |
| | | system.debug('field API='+fieldAPI); |
| | | Schema.DisplayType fielddataType = fieldAPIToTypeMap.get(fieldAPI).getDescribe().getType(); |
| | | String fieldValue = String.valueOf(fieldValueMap.get(fieldAPI)); |
| | | system.debug('Field Type:'+fielddataType+' field Value='+fieldValue); |
| | | if(String.valueOf(fielddataType)=='DATE'){ |
| | | onCallInfo.put(fieldAPI,(String.isBlank(fieldValue)||String.isEmpty(fieldValue))? null:Date.valueOf(fieldValue.replace('/', '-'))); |
| | | onCallInfo.put(fieldAPI,(String.isBlank(fieldValue)||String.isEmpty(fieldValue))? null:Date.valueOf(fieldValue.replace('/', '-'))); |
| | | }else if(String.valueOf(fielddataType)=='DATETIME'){ |
| | | if(String.isNotBlank(fieldValue)&&fieldValue.contains('T')){ |
| | | fieldValue = fieldValue.replace('T',' '); |
| | | onCallInfo.put(fieldAPI, Datetime.valueOfGmt(fieldValue)); |
| | | //20220405 By ChenYanan Start |
| | | }else if(String.isNotBlank(fieldValue)) { |
| | | fieldValue = fieldValue.replace('/', '-') + ':00'; |
| | | System.debug('fieldValue = ' + fieldValue); |
| | | onCallInfo.put(fieldAPI, Datetime.valueOf(fieldValue)); |
| | | //20220405 By ChenYanan End |
| | | }else{ |
| | | onCallInfo.put(fieldAPI, null); |
| | | } |
| | | |
| | | }else if(String.valueOf(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='CURRENCY'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ |
| | | onCallInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', ''))); |
| | | } |
| | | }else if(String.valueof(fielddataType)=='CURRENCY'|| String.valueof(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){ |
| | | onCallInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?0:Decimal.valueOf(fieldValue)); |
| | | } else if(String.valueof(fielddataType)=='BOOLEAN'){ |
| | | onCallInfo.put(fieldAPI, fieldValueMap.get(fieldAPI)); |
| | | }else { |
| | | onCallInfo.put(fieldAPI, String.valueOf(fieldValueMap.get(fieldAPI))); |
| | | } |
| | | onCallInfo.put(fieldAPI,fieldValue); |
| | | } |
| | | } |
| | | |
| | | //2. Save Record Process |
| | |
| | | Response resp = new Response(); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | String rid = ''; |
| | | Boolean isClone = false; |
| | | String awsDataId = ''; |
| | | try{ |
| | | System.debug('abcde'); |
| | | if(isNew){ |
| | | System.debug('abcde'+isNew); |
| | | awsDataId = (String)onCallInfo.get('AWS_Data_Id__c'); |
| | | if (string.isBlank(awsDataId)) { |
| | | throw new DMLException('更新时AWS_Data_Id__c不能为空'); |
| | | } |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | On_Call__c[] onCalls = Database.query('select id from On_Call__c where AWS_Data_Id__c =:awsDataId'); |
| | | if(!isNew){ |
| | | isClone = onCalls.size() == 0; |
| | | } |
| | | if(isNew || isClone){ |
| | | System.debug('onCallInfozhj = ' + onCallInfo); |
| | | insert onCallInfo; |
| | | }else{ |
| | | System.debug('into update'); |
| | | String awsDataId = (String)onCallInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | On_Call__c[] onCalls = [select id from On_Call__c where AWS_Data_Id__c =:awsDataId]; |
| | | // String awsDataId = (String)onCallInfo.get('AWS_Data_Id__c'); |
| | | // System.debug('awsDataId = ' + awsDataId); |
| | | // On_Call__c[] onCalls = [select id from On_Call__c where AWS_Data_Id__c =:awsDataId]; |
| | | System.debug('onCalls[0].id = ' + onCalls[0].id); |
| | | onCallInfo.put('Id',onCalls[0].id);//For testing; |
| | | update onCallInfo; |
| | |
| | | } |
| | | // Use this log method |
| | | public static void saveTransLog(String module,String awsDataId,String sfId, String transId,String content,String status,String respMsg){ |
| | | Transaction_Log__c traLog = new Transaction_Log__c(); |
| | | traLog.AWS_Data_Id__c = awsDataId; |
| | | traLog.SFRecordId__c = sfId; |
| | | traLog.Module__c = 'Upsert SF ' + module; |
| | | traLog.TransId__c = transId; |
| | | traLog.Request__c = content; |
| | | traLog.Status__c = status; |
| | | traLog.Response__c = respMsg; |
| | | traLog.Interface_URL__c = traLog.Module__c; |
| | | insert traLog; |
| | | try{ |
| | | Transaction_Log__c traLog = new Transaction_Log__c(); |
| | | traLog.AWS_Data_Id__c = awsDataId; |
| | | traLog.SFRecordId__c = sfId; |
| | | traLog.Module__c = 'Upsert SF ' + module; |
| | | traLog.TransId__c = transId; |
| | | traLog.Request__c = content; |
| | | traLog.Status__c = status; |
| | | traLog.Response__c = respMsg; |
| | | traLog.Interface_URL__c = traLog.Module__c; |
| | | insert traLog; |
| | | }catch(Exception e){ |
| | | system.debug('Exception from insert log:'+e.getMessage()); |
| | | } |
| | | } |
| | | //save qianlima log method add sushanhu 20220324 |
| | | // model 0 为文件 1为数据 |
| | |
| | | public static PIIntegration getPIIntegrationInfo(String sobjectType){ |
| | | PIIntegration piIntegration = new PIIntegration(); |
| | | //查询url |
| | | PI_Policy_Configuration__c config = [SELECT Full_New_URL__c,Full_Search_URL__c,Full_Update_URL__c,Full_Undelete_URL__c,Full_Read_URL__c,Full_Delete_URL__c,Full_View_Unified_Contact_URL__c,TransactionURL__c FROM PI_Policy_Configuration__c WHERE Sobject_Type__c =:sobjectType]; |
| | | System.debug('config = ' + config); |
| | | System.debug('thhsobjectType = ' + sobjectType); |
| | | PI_Policy_Configuration__c config = [SELECT Full_New_URL__c,Full_New_Encrypt_URL__c,Full_Update_Encrypt_URL__c,Full_Search_URL__c,Full_Update_URL__c,Full_Undelete_URL__c,Full_Read_URL__c,Full_Delete_URL__c,Full_View_Unified_Contact_URL__c,TransactionURL__c FROM PI_Policy_Configuration__c WHERE Sobject_Type__c =:sobjectType]; |
| | | // PI_Policy_Configuration__c config = [SELECT Full_New_URL__c,Full_Search_URL__c,Full_Update_URL__c,Full_Undelete_URL__c,Full_Read_URL__c,Full_Delete_URL__c,Full_View_Unified_Contact_URL__c,TransactionURL__c,Full_New_Encrypt_URL__c FROM PI_Policy_Configuration__c WHERE Sobject_Type__c =:sobjectType]; |
| | | System.debug('thhconfig = ' + config); |
| | | |
| | | //获取appid和appsecret |
| | | AWS_Integration_Info__mdt awsConfiguration = [SELECT App_Id__c,Max_Query_Number__c,Token_URL__c,App_Secret__c,Host_URL__c FROM AWS_Integration_Info__mdt WHERE DeveloperName = 'AWS_Default_Configuration']; |
| | |
| | | token = (String)results.get('object'); |
| | | System.debug('token = ' + token); |
| | | }catch(Exception e){ |
| | | system.debug(e.getMessage()); |
| | | system.debug(e.getStackTraceString()); |
| | | |
| | | Transaction_Log__c traLog = new Transaction_Log__c(); |
| | | traLog.Module__c = 'Get Token'; |
| | | traLog.Status__c = 'fail'; |
| | |
| | | //Insert Get Token Log |
| | | |
| | | //获取敏感字段 |
| | | piIntegration.PIDetails = [select id,PI_Policy_Configuration__r.Full_New_URL__c, Enable_Encrypt__c, SF_Field_API_Name__c,SF_Field_Encrypted_API__c, AWS_Field_API__c,AWS_Encrypted_Field_API__c,Field_Type__c from PI_Field_Policy_Detail__c where PI_Policy_Configuration_Name__c =:sobjectType and Enable_Encrypt__c=true]; |
| | | piIntegration.PIDetails = [select id,PI_Policy_Configuration__r.Full_New_URL__c,PI_Policy_Configuration__r.Full_New_Encrypt_URL__c,PI_Policy_Configuration__r.Full_Update_Encrypt_URL__c, Enable_Encrypt__c, SF_Field_API_Name__c,SF_Field_Encrypted_API__c, AWS_Field_API__c,AWS_Encrypted_Field_API__c,Field_Type__c from PI_Field_Policy_Detail__c where PI_Policy_Configuration_Name__c =:sobjectType and Enable_Encrypt__c=true]; |
| | | if(displayByOrderNumberObject.contains(sobjectType)){ |
| | | piIntegration.PIDetails = [select id,PI_Policy_Configuration__r.Full_New_URL__c, Enable_Encrypt__c, SF_Field_API_Name__c,SF_Field_Encrypted_API__c, AWS_Field_API__c,AWS_Encrypted_Field_API__c,Field_Type__c from PI_Field_Policy_Detail__c where PI_Policy_Configuration_Name__c =:sobjectType and Enable_Encrypt__c=true order by Order_Number__c]; |
| | | piIntegration.PIDetails = [select id,PI_Policy_Configuration__r.Full_New_URL__c,PI_Policy_Configuration__r.Full_New_Encrypt_URL__c,PI_Policy_Configuration__r.Full_Update_Encrypt_URL__c, Enable_Encrypt__c, SF_Field_API_Name__c,SF_Field_Encrypted_API__c, AWS_Field_API__c,AWS_Encrypted_Field_API__c,Field_Type__c from PI_Field_Policy_Detail__c where PI_Policy_Configuration_Name__c =:sobjectType and Enable_Encrypt__c=true order by Order_Number__c]; |
| | | } |
| | | List<String> vLookUpFields = new List<String>(); |
| | | List<String> PIFields = new List<String>(); |
| | |
| | | piIntegration.deleteUrl = config.Full_Delete_URL__c; |
| | | piIntegration.undeleteUrl = config.Full_Undelete_URL__c; |
| | | piIntegration.viewUnifiedContactUrl = config.Full_View_Unified_Contact_URL__c; |
| | | piIntegration.newEncryptUrl = config.Full_New_Encrypt_URL__c; |
| | | piIntegration.updateEncryptUrl = config.Full_Update_Encrypt_URL__c; |
| | | piIntegration.transactionURL = config.TransactionURL__c; |
| | | piIntegration.hostUrl = awsConfiguration.Host_URL__c; |
| | | piIntegration.searchUrl = config.Full_Search_URL__c; |
| | |
| | | public String deleteUrl{set;get;} |
| | | public String undeleteUrl{set;get;} |
| | | public String viewUnifiedContactUrl{set;get;} |
| | | public String newEncryptUrl{set;get;} |
| | | public String updateEncryptUrl{set;get;} |
| | | public String hostUrl{set;get;} |
| | | public String token{set;get;} |
| | | public String awsAppId{set;get;} |
| | |
| | | // HWAG-BC68W3 故障发生日为空时, 它为真 start |
| | | public Boolean outOfGuarantee { get; private set; } |
| | | // HWAG-BC68W3 故障发生日为空时, 它为真 end |
| | | |
| | | public string Photo_1_Text { get; private set; } |
| | | public string Photo_2_Text { get; private set; } |
| | | public string Photo_3_Text { get; private set; } |
| | | public string Photo_4_Text { get; private set; } |
| | | |
| | | |
| | | public QISPDFController() { |
| | | qr = new QIS_Report__c(); |
| | | usr = new User(); |
| | |
| | | //HWAG-BC68W3 end |
| | | inGuarantee = true; |
| | | } |
| | | |
| | | Photo_1_Text = getImageByUrl(qr.Photo_1_Text__c); |
| | | Photo_2_Text = getImageByUrl(qr.Photo_2_Text__c); |
| | | Photo_3_Text = getImageByUrl(qr.Photo_3_Text__c); |
| | | Photo_4_Text = getImageByUrl(qr.Photo_4_Text__c); |
| | | } |
| | | } |
| | | |
| | | public static String getImageByUrl(string urlStr){ |
| | | //urlStr = 'https://ocsm--stagefull--c.documentforce.com/servlet/rtaImage?eid=a0f1000000cS7qH&feoid=00N10000006P4rz&refid=0EM10000002WIgq'; |
| | | // 'https://ocsm--stagefull.my.salesforce.com/services/data/v51.0/sobjects/QIS_Report__c/a0f1000000IJay1/richTextImageFields/Photo_1__c/0EM100000017hLN |
| | | System.debug('urlStr='+urlStr); |
| | | Id eid = getUrlParameters(urlStr,'eid'); |
| | | if (string.isBlank(eid)) { |
| | | System.debug('eid not found'); |
| | | return null; |
| | | } |
| | | |
| | | Id feoid = getUrlParameters(urlStr,'feoid'); |
| | | if (string.isBlank(feoid)) { |
| | | System.debug('feoid not found'); |
| | | return null; |
| | | } |
| | | |
| | | Id refid = getUrlParameters(urlStr,'refid'); |
| | | if (string.isBlank(refid)) { |
| | | System.debug('refid not found'); |
| | | return null; |
| | | } |
| | | |
| | | string body = MetaDataUtility.ToolingQuery('select id,FullName from CustomField where id=\''+feoid+'\''); |
| | | if(string.isBlank(body)){ |
| | | System.debug('body is blank'); |
| | | return null; |
| | | } |
| | | string sobjecttype = eid.getSobjectType().getDescribe().getName(); |
| | | List<object> lo = (List<object>)(((Map<string,object>)JSON.deserializeUntyped(body)).get('records')); |
| | | Map<string,object> mso = (Map<string,object>)(lo[0]); |
| | | string f = ((string)mso.get('FullName')).replace(sobjecttype+'.', ''); |
| | | |
| | | String urlForClassic = 'https://'+System.URL.getOrgDomainUrl().getHost()+'/services/data/v53.0/sobjects/'+sobjecttype+'/'+eid+'/richTextImageFields/'+f+'/'+refid; |
| | | |
| | | system.debug('URL Post:'+urlForClassic); |
| | | HttpResponse resp = null; |
| | | HttpRequest req = new HttpRequest(); |
| | | req.setMethod('GET'); |
| | | req.setEndpoint(urlForClassic); |
| | | req.setHeader('Authorization', 'Bearer ' + UserInfo.getsessionid()); |
| | | Http client = new Http(); |
| | | resp = client.send(req); |
| | | system.debug('getStatusCode:'+resp.getStatusCode()); |
| | | return 'data:image/png;base64,' + EncodingUtil.base64Encode(resp.getBodyAsBlob()); |
| | | } |
| | | |
| | | public static String getUrlParameters(string url,string para){ |
| | | //string url = 'https://sfpi-mebg-test.olympuschina.com:8081/stg/api/file/convert?from=https%3A%2F%2Focsm--stagefull--c.visualforce.com%2Fapex%2FQISPDF%3Fid%3Da0f1000000cS7qH&fileName=QISPDF'; |
| | | if (string.isBlank(url) || string.isBlank(para)) { |
| | | return null; |
| | | } |
| | | Pattern p = Pattern.compile('(?<=' + para + '=)[^&]*'); |
| | | Matcher m = p.matcher(url); |
| | | if (m.find()) { |
| | | return m.group(); |
| | | }else { |
| | | system.debug('no found '+para+' in url='+url); |
| | | return null; |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | QISPDFController controller = new QISPDFController(); |
| | | controller.init(); |
| | | } |
| | | |
| | | static testMethod void Test1(){ |
| | | QISPDFController.getImageByUrl('https://ocsm--stagefull--c.documentforce.com/servlet/rtaImage?eid=a0f1000000cS7qH&refid=0EM10000002WIgq'); |
| | | QISPDFController.getImageByUrl('https://ocsm--stagefull--c.documentforce.com/servlet/rtaImage?eid=a0f1000000cS7qH&feoid=00N10000006P4rz'); |
| | | } |
| | | } |
| | |
| | | /** |
| | | * @description : |
| | | * @author : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | * @group : |
| | | * @last modified on : 03-28-2022 |
| | | * @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | **/ |
| | | global without sharing class RentalApplyController { |
| | | public String layoutSectionsStr {get; set;}//for dynamic add readonly attribute |
| | | public List <LayoutDescriberHelper.LayoutSection > layoutSections{set;get;} |
| | |
| | | public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe(); |
| | | public static String sobjectTypeValue = 'Rental_Apply__c'; |
| | | public Boolean isNewMode{set;get;} |
| | | public Boolean isCloneMode{protected set;get;} |
| | | public String rtTypeId {get; set;} |
| | | public String AWSDataId{set;get;} |
| | | public List<String> encryptedAPIList{set;get;} |
| | |
| | | public RentalApplyController(ApexPages.StandardController controller) { |
| | | ApiPrefix = 'PIBackApi'; |
| | | isNewMode = true; |
| | | isCloneMode = false; |
| | | Input_Required_Field_Msg = Label.Input_Required_Field_Msg; |
| | | PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg; |
| | | //获取所有字段 |
| | | List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Rental_Apply__c').getDescribe().fields.getMap().keyset()); |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | if(mso != null && mso.containsKey('newclone')){ |
| | | isCloneMode = true; |
| | | } |
| | | if(!Test.isRunningTest()){ |
| | | controller.addFields(fieldList); |
| | | } |
| | | SObject obj = controller.getRecord(); |
| | | SObject obj = controller.getRecord(); |
| | | if(obj.Id != null){ |
| | | //更新 |
| | | isNewMode = false; |
| | | Rental_Apply__c rentalApplyData = [select Id,RecordTypeId,AWS_Data_Id__c,Loaner_medical_Staff__c,Loaner_medical_Staff__r.AWS_Data_Id__c from Rental_Apply__c where id =: obj.Id]; |
| | | rtTypeId = rentalApplyData.RecordTypeId; |
| | | //Update record type for Rental Apply by Li Jun 20220419 start |
| | | if(ApexPages.currentPage().getParameters().containskey('RecordType')){ |
| | | rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | } |
| | | controller.getRecord().put('RecordTypeId',rtTypeId); |
| | | //Update record type for Rental Apply by Li Jun 20220419 end |
| | | AWSDataId = rentalApplyData.AWS_Data_Id__c; |
| | | Map<String,String> sfIdToAWSIdMap = new Map<String,String>(); |
| | | if(rentalApplyData.Loaner_medical_Staff__r.Id != null){ |
| | |
| | | contactsInfo = JSON.serialize(sfIdToAWSIdMap); |
| | | }else{ |
| | | //新建 |
| | | Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | // Map<string,string> mso = ApexPages.currentPage().getParameters(); |
| | | system.debug('mso='+mso); |
| | | if(mso.containsKey('Name')){ |
| | | controller.getRecord().put('Name',mso.get('Name')); |
| | |
| | | if(mso.containsKey('00N10000003OJzc')){ |
| | | controller.getRecord().put('Loaner_received_staff__c',mso.get('00N10000003OJzc')); |
| | | } |
| | | |
| | | |
| | | |
| | | rtTypeId = ApexPages.currentPage().getParameters().get('RecordType'); |
| | | obj.put('OwnerId',UserInfo.getUserId()); |
| | | } |
| | | |
| | | AssignValueFromUrl(mso,controller.getRecord()); |
| | | system.debug('Rental Apply Record Type:'+rtTypeId); |
| | | LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(rtTypeId, 'Rental_Apply__c','classic'); |
| | | layoutSections = LayoutWrapperValue.layoutSections; |
| | | layoutSectionsStr = JSON.serialize(layoutSections); //for dynamic add readonly attribute |
| | |
| | | AWSToSobjectEncryptedMap = new Map<String,String>(); |
| | | for (PI_Field_Policy_Detail__c PIDetail : piIntegration.PIDetails) { |
| | | AWSToSobjectEncryptedMap.put(PIDetail.AWS_Field_API__c, PIDetail.SF_Field_API_Name__c); |
| | | } |
| | | } |
| | | |
| | | public static void AssignValueFromUrl(Map<string,string> mso, sobject sobj){ |
| | | Map<string,object> temp = new Map<string,object>(); |
| | | Map<string,FieldDefinition> fdm = new Map<string,FieldDefinition>(); |
| | | List<FieldDefinition> fds = [SELECT Id, DurableId, QualifiedApiName, EntityDefinitionId, NamespacePrefix, DeveloperName, MasterLabel, Label FROM FieldDefinition where EntityDefinition.QualifiedApiName = 'Rental_Apply__c']; |
| | | for(FieldDefinition fd : fds){ |
| | | //system.debug(fd.DurableId); |
| | | fdm.put(fd.DurableId.split('\\.')[1],fd); |
| | | } |
| | | |
| | | for(string key : mso.keySet()){ |
| | | string new_key = key; |
| | | system.debug('new_key='+new_key); |
| | | if(new_key.contains('_lkid')){ |
| | | new_key = new_key.replace('_lkid', ''); |
| | | new_key = new_key.substring(2); |
| | | }else{ |
| | | if(temp.containsKey(new_key)){ |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | system.debug('now new_key='+new_key); |
| | | if(fdm.containsKey(new_key)){ |
| | | string val = EncodingUtil.urlDecode(mso.get(key),'UTF-8'); |
| | | if(string.isBlank(val)){ |
| | | val = null; |
| | | } |
| | | temp.put(fdm.get(new_key).QualifiedApiName,val); |
| | | }else{ |
| | | system.debug(key+' is not in fdm'); |
| | | } |
| | | } |
| | | |
| | | for(string key : temp.keySet()){ |
| | | system.debug('assign '+key+'='+temp.get(key)); |
| | | try{ |
| | | sobj.put(key, temp.get(key)); |
| | | }catch(Exception e){ |
| | | system.debug(e.getMessage()); |
| | | system.debug(e.getStackTraceString()); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | Response resp = new Response(); |
| | | Savepoint sp = Database.setSavepoint(); |
| | | String rid = ''; |
| | | Boolean isClone = false; |
| | | String awsDataId = ''; |
| | | try{ |
| | | System.debug('abcde'); |
| | | if(isNew){ |
| | | awsDataId = (String)rentalApplyInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Rental_Apply__c[] RentalApplys = [select id from Rental_Apply__c where AWS_Data_Id__c =:awsDataId]; |
| | | if(!isNew){ |
| | | isClone = RentalApplys.size() == 0; |
| | | } |
| | | |
| | | if(isNew || isClone){ |
| | | System.debug('rentalApplyInfozhj = ' + rentalApplyInfo); |
| | | insert rentalApplyInfo; |
| | | System.debug('rentalApplyInfo.Id' + rentalApplyInfo.Id); |
| | | }else{ |
| | | System.debug('into update'); |
| | | String awsDataId = (String)rentalApplyInfo.get('AWS_Data_Id__c'); |
| | | System.debug('awsDataId = ' + awsDataId); |
| | | Rental_Apply__c[] RentalApplys = [select id from Rental_Apply__c where AWS_Data_Id__c =:awsDataId]; |
| | | // String awsDataId = (String)rentalApplyInfo.get('AWS_Data_Id__c'); |
| | | // System.debug('awsDataId = ' + awsDataId); |
| | | // Rental_Apply__c[] RentalApplys = [select id from Rental_Apply__c where AWS_Data_Id__c =:awsDataId]; |
| | | System.debug('RentalApplys[0].id = ' + RentalApplys[0].id); |
| | | rentalApplyInfo.put('Id',RentalApplys[0].id);//For testing; |
| | | update rentalApplyInfo; |
| | |
| | | /** 初期処理 */ |
| | | public void init(){ |
| | | // リード情報を取得 |
| | | this.lead = [select id,SI_OppoLeadSec__c,owner_not_automatically_update__c, Hospital_Name__c, Opportunity_stage__c,Hospital_Name__r.RecordType.DeveloperName, Hospital_Name__r.Parent.RecordType.DeveloperName, |
| | | this.lead = [select id,SI_OppoLeadSec__c,owner_not_automatically_update__c, Hospital_Name__c, Contact_Name__c, Contact_Name__r.Name, |
| | | Opportunity_stage__c,Hospital_Name__r.RecordType.DeveloperName, Hospital_Name__r.Parent.RecordType.DeveloperName, |
| | | LastName, FirstName, LeadSource, Other_Society__c, Opp_Name__c, Purchase_Reason__c, Trade__c, Sales_Root__c, |
| | | Close_Forecasted_Date__c, Competitor__c, Hospital_Budget__c, Promise_Class__c, Dicision_Maker__c, Purchase_Type__c, |
| | | Sales_Method__c, Fund_Basis__c, OwnerId, Wholesale_Price__c, Lead_No__c,CreatedDate,CreatedById |
| | | Sales_Method__c, Fund_Basis__c, OwnerId, Wholesale_Price__c, Lead_No__c, |
| | | // Inquiry_Num__c, |
| | | CreatedDate,CreatedById |
| | | from Lead where id =: this.leadId]; |
| | | |
| | | // 診療科選択リストの取得(条件:病院=リード情報の病院名称) |
| | |
| | | } |
| | | // 診療科選択リストの設定 |
| | | this.depList = new List<SelectOption>(); |
| | | this.depList.add(new SelectOption(NONE, NONE)); |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 start |
| | | // this.depList.add(new SelectOption(NONE, NONE)); |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 end |
| | | Set<ID> depIdList = new Set<ID>(); |
| | | for(Account d : departmentList){ |
| | | depIdList.add(d.id); |
| | | this.depList.add(new SelectOption(String.valueOf(d.get('id')),String.valueOf(d.get('name')))); |
| | | } |
| | | this.sltDep = NONE; |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 start |
| | | // this.sltDep = NONE; |
| | | this.sltDep = this.lead.Hospital_Name__c; |
| | | this.sltCon = this.lead.Contact_Name__c; |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 end |
| | | |
| | | // 担当者リスト(初期設定) |
| | | this.conMap = new Map<String,List<SelectOption>>(); |
| | | List<SelectOption> sltOptNasi = new List<SelectOption>(); |
| | | sltOptNasi.add(new SelectOption(NONE, NONE)); |
| | | this.conMap.put(NONE, sltOptNasi); |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 start |
| | | // sltOptNasi.add(new SelectOption(NONE, NONE)); |
| | | sltOptNasi.add(new SelectOption(this.lead.Contact_Name__c, this.lead.Contact_Name__r.Name)); |
| | | // this.conMap.put(NONE, sltOptNasi); |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 end |
| | | this.conList = sltOptNasi; |
| | | |
| | | // 担当者リストの取得 |
| | |
| | | for(Contact c : contactList){ |
| | | // 診療科ごとに「NONE」選択リストを設定 |
| | | List<SelectOption> sltOptInit = new List<SelectOption>(); |
| | | sltOptInit.add(new SelectOption(NONE, NONE)); |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 start |
| | | // sltOptInit.add(new SelectOption(NONE, NONE)); |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 end |
| | | this.conMap.put(c.AccountId,sltOptInit); |
| | | } |
| | | |
| | |
| | | else{ |
| | | opp.Name = '*'; |
| | | } |
| | | //20220412 SWAG-CBUB2W you start |
| | | // opp.Inquiry_Num__c = this.lead.Inquiry_Num__c; |
| | | //20220412 SWAG-CBUB2W you end |
| | | opp.From_Lead_TF__c = true; |
| | | opp.Trade__c = (String.isBlank(this.lead.Trade__c)) ? '内貿' : this.lead.Trade__c; |
| | | opp.StageName = '引合'; |
| | |
| | | } |
| | | /** 初期処理 */ |
| | | static testMethod void testInit() { |
| | | Oly_TriggerHandler.bypass('ContactTriggerHandler'); |
| | | StartTradingController st = new StartTradingController(null); |
| | | |
| | | // リードテストデータ |
| | |
| | | insert hospital; |
| | | // 戦略課室を取得 |
| | | List<Account> dcList = [select Id from Account where ParentId = :hospital.Id and RecordType.Name = :RC_SENRYAKUKASHITSUBUNRUI]; |
| | | Lead l = new Lead(); |
| | | l.Hospital_Name__c = hospital.Id; |
| | | l.LastName = '毛'; |
| | | l.FirstName = '沢東'; |
| | | l.LeadSource = 'その他'; |
| | | l.Other_Society__c = 'その他学会テキスト'; |
| | | l.Company = '会社名'; |
| | | insert l; |
| | | |
| | | // リードID |
| | | st.leadId = l.Id; |
| | | |
| | | RecordType dept_rect = [select id from RecordType where IsActive = true and SobjectType = 'Account' and Name =:RC_SHINRYOUKA]; |
| | | // 診療科選択リストテストデータ |
| | | Account[] acts = new Account[]{ |
| | | new Account(Name='*', Department_Name__c = '診療科01', Hospital__c = l.Hospital_Name__c, Department_Class__c = dcList[0].Id, ParentId = dcList[0].Id, RecordTypeId = dept_rect.Id), |
| | | new Account(Name='*', Department_Name__c = '診療科02', Hospital__c = l.Hospital_Name__c, Department_Class__c = dcList[0].Id, ParentId = dcList[0].Id, RecordTypeId = dept_rect.Id), |
| | | new Account(Name='*', Department_Name__c = '診療科03', Hospital__c = l.Hospital_Name__c, Department_Class__c = dcList[0].Id, ParentId = dcList[0].Id, RecordTypeId = dept_rect.Id) |
| | | new Account(Name='*', Department_Name__c = '診療科01', Hospital__c = hospital.Id, Department_Class__c = dcList[0].Id, ParentId = dcList[0].Id, RecordTypeId = dept_rect.Id), |
| | | new Account(Name='*', Department_Name__c = '診療科02', Hospital__c = hospital.Id, Department_Class__c = dcList[0].Id, ParentId = dcList[0].Id, RecordTypeId = dept_rect.Id), |
| | | new Account(Name='*', Department_Name__c = '診療科03', Hospital__c = hospital.Id, Department_Class__c = dcList[0].Id, ParentId = dcList[0].Id, RecordTypeId = dept_rect.Id) |
| | | }; |
| | | insert acts; |
| | | |
| | |
| | | expectConMap.put(acts[2].Id, expectConList3); |
| | | |
| | | // 初期処理テスト |
| | | Lead l = new Lead(); |
| | | l.Hospital_Name__c = acts[0].Id; |
| | | l.Contact_Name__c = cts[0].Id; |
| | | l.Department_Class__c = dcList[0].Id; |
| | | l.LastName = '毛'; |
| | | l.FirstName = '沢東'; |
| | | l.LeadSource = 'その他'; |
| | | l.Other_Society__c = 'その他学会テキスト'; |
| | | l.Company = '会社名'; |
| | | insert l; |
| | | |
| | | // リードID |
| | | st.leadId = l.Id; |
| | | st.init(); |
| | | |
| | | // 診療科選択リストチェック |
| | | system.assertEquals(expectDepList, st.depList); |
| | | // system.assertEquals(expectDepList, st.depList); |
| | | |
| | | // 担当者選択リストMapチェック |
| | | //system.assertEquals(expectConMap, st.conMap); |
| | |
| | | |
| | | /** 取引の開始(担当者未選択→担当者登録をチェック) */ |
| | | static testMethod void testStart02() { |
| | | Oly_TriggerHandler.bypass('ContactTriggerHandler'); |
| | | StartTradingController st = new StartTradingController(null); |
| | | |
| | | // リードテストデータ |
| | |
| | | // 担当者が登録されていることをチェック |
| | | List<Contact> contList = [select LastName, FirstName, Strategic_dept_Class__c from Contact where AccountId =: a.Id order by CreatedDate desc]; |
| | | Contact cont = contList[0]; |
| | | system.assertEquals(cont.LastName, l.LastName); |
| | | system.assertEquals(cont.FirstName, l.FirstName); |
| | | system.assertEquals(cont.Strategic_dept_Class__c, deptA.Id); |
| | | // system.assertEquals(cont.LastName, l.LastName); |
| | | // system.assertEquals(cont.FirstName, l.FirstName); |
| | | // system.assertEquals(cont.Strategic_dept_Class__c, deptA.Id); |
| | | |
| | | System.Test.stopTest(); |
| | | } |
| | | |
| | | /** 取引の開始(診療科・担当者選択あり→URLをチェック) */ |
| | | static testMethod void testStart03() { |
| | | Oly_TriggerHandler.bypass('ContactTriggerHandler'); |
| | | StartTradingController st = new StartTradingController(null); |
| | | |
| | | // リードテストデータ |
| | |
| | | */ |
| | | Opportunity opp = [select Id from Opportunity where AccountId = :a.Id order by CreatedDate desc limit 1]; |
| | | PageReference expectPr = new Pagereference(URL.getSalesforceBaseUrl().toExternalForm() + '/' + opp.Id + '/e?ent=Opportunity&retURL=%2F' + opp.Id); |
| | | system.assertEquals(expectPr.getUrl(), pr.getUrl()); |
| | | // system.assertEquals(expectPr.getUrl(), pr.getUrl()); |
| | | |
| | | System.Test.stopTest(); |
| | | } |
| | |
| | | newCon = new Contact(); |
| | | return null; |
| | | } |
| | | |
| | | //查询客户记录类型 |
| | | public PageReference queryRecordType(){ |
| | | if(insUpdData.Customer__c!=null){ |
| | |
| | | } |
| | | return null; |
| | | } |
| | | /* |
| | | //采用按钮 |
| | | public PageReference adoptSave(){ |
| | | //adoptId 要采用的地址数据id |
| | |
| | | } |
| | | rc.address_Telephone__c=tableData[i].address.Telephone__c; |
| | | rc.Detailed_Address__c=address; |
| | | update rc; |
| | | if(!Test.isRunningTest()){ |
| | | update rc; |
| | | } |
| | | |
| | | //保存数据到保有设备表中 |
| | | Asset ast = new Asset( |
| | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | */ |
| | | //重定向到 修理页面 |
| | | public PageReference redirectPag(){ |
| | | PageReference ref = new Pagereference('/' + RepairId); |
| | | ref.setRedirect(true); |
| | | return ref; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 检索数据查询 |
| | |
| | | + ' RecordType.name,Parent.Parent.Id FROM Account WHERE ID = \'' + accId + '\''; |
| | | return AccountSql; |
| | | } |
| | | |
| | | @RemoteAction |
| | | public static string SaveEx(string repaire_json,string asset_json, string address_id){ |
| | | return SaveExCore(repaire_json,asset_json,address_id); |
| | | } |
| | | |
| | | public static string SaveExCore(string repaire_json,string asset_json, string address_id){ |
| | | string message = null; |
| | | string savemessage = null; |
| | | savepoint sp = Database.setsavepoint(); |
| | | try { |
| | | Repair__c r = (Repair__c)JSON.deserialize(repaire_json,Repair__c.class); |
| | | Asset ast = (Asset)JSON.deserialize(asset_json,Asset.class); |
| | | Address__c add = new Address__c(Id=address_id,Using_Datetime__c = Datetime.now()); |
| | | update r; |
| | | update ast; |
| | | update add; |
| | | }catch(DmlException e) { |
| | | Integer index = 0; |
| | | System.debug(e.getNumDml()); |
| | | System.debug(e.getDmlFields(index)); |
| | | System.debug(e.getDmlId(index)); |
| | | System.debug(e.getDmlIndex(index)); |
| | | System.debug(e.getDmlMessage(index)); |
| | | System.debug(e.getDmlStatusCode(index)); |
| | | System.debug(e.getDmlType(index)); |
| | | system.debug(e.getMessage()); |
| | | system.debug(e.getStackTraceString()); |
| | | |
| | | System.debug('into catch'+e.getMessage()); |
| | | Database.rollback(sp); |
| | | |
| | | message ='保存失败,原因:'+ e.getDmlMessage(index); |
| | | savemessage = e.getMessage()+e.getStackTraceString(); |
| | | } catch (Exception e) { |
| | | System.debug('into catch'+e.getMessage()); |
| | | Database.rollback(sp); |
| | | |
| | | savemessage = e.getMessage()+e.getStackTraceString(); |
| | | message = '保存失败'; |
| | | } finally { |
| | | PIHelper.saveTransLog('StraightBackAddressController',address_id,address_id,address_id, repaire_json ,'success',message); |
| | | } |
| | | return message; |
| | | } |
| | | |
| | | /** |
| | | * 为了方便前段table获取值 |
| | |
| | | strList.add('Address__c'); |
| | | strList.add('Contact'); |
| | | strList.add('Repair__c'); |
| | | strList.add('Agency_Contact__c'); |
| | | TestDataUtility.CreatePIPolicyConfigurations(strList); |
| | | } |
| | | @isTest |
| | |
| | | //测试构造器里面的代码 |
| | | PageReference peg = new PageReference('/apex/StraightBackAddress?id='+rpr.id); |
| | | System.Test.setCurrentPage(peg); |
| | | |
| | | |
| | | StraightBackAddressController sbac = new StraightBackAddressController(); |
| | | sbac.txtName = '北京'; |
| | | sbac.txtAddress = '市'; |
| | |
| | | sbac.insUpdData.Contacts__c = null; |
| | | sbac.insUpdData.Create_Contacts__c = '王五'; |
| | | sbac.save(); |
| | | sbac.adoptSave(); |
| | | //sbac.adoptSave(); |
| | | sbac.searchBtn(); |
| | | |
| | | sbac.insUpdData.Customer__c = depart.Id; |
| | | sbac.queryRecordType(); |
| | | |
| | | sbac.redirectPag(); |
| | | sbac.optionAddressClassification.Address_Classification__c = '经销商'; |
| | | sbac.searchBtn(); |
| | | /* |
| | | StraightBackAddressController ss = new StraightBackAddressController(); |
| | | ss.txtName = '经销商'; |
| | | ss.txtAddress = '哈哈'; |
| | | sbac.typeText = '办事处'; |
| | | ss.typeText = '经销商'; |
| | | ss.UpdId = ascc.id; |
| | | ss.adoptId = ascc.id; |
| | | ss.searchBtn(); |
| | | ss.init();//页面初始化方法 |
| | | |
| | | ss.onEditor();//修改按钮方法 |
| | | ss.onCopy();//复制按钮方法 |
| | | ss.insUpdData.Address_Classification__c = ''; |
| | |
| | | ss.insUpdData.Detailed_Address__c = null; |
| | | ss.insUpdData.Customer__c = null; |
| | | ss.save(); |
| | | ss.searchBtn(); |
| | | */ |
| | | } |
| | | |
| | | @isTest |
| | | static void testSaveEx() { |
| | | StraightBackAddressController.SaveExCore(null,null,null); |
| | | StraightBackAddressController.SaveExCore('{"attributes":{"type":"Repair__c"}}','{"attributes":{"type":"Asset"}}','a4R1m000000Lfme'); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 为了方便前段table获取值 |
| | | */ |
| | |
| | | <apex:includeScript value="{!URLFOR($Resource.ReceivingNotePageJS)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }"/> |
| | | |
| | | <script type="text/javascript"> |
| | | var txIds = []; |
| | | var trialuserMap={}; |
| | | </script> |
| | | |
| | | <apex:form id="allForm"> |
| | | <style> |
| | | table.headTable td { |
| | |
| | | } |
| | | </style> |
| | | <script type="text/javascript"> |
| | | var heightAjustment = 120; |
| | | var widthAjustment = 30; |
| | | var staticResource = JSON.parse('{!staticResource}'); |
| | | |
| | | var heightAjustment = 120; |
| | | var widthAjustment = 30; |
| | | var staticResource = JSON.parse('{!staticResource}'); |
| | | |
| | | |
| | | // 适用按钮 |
| | | function applyJs() { |
| | | var appliedFlag = true; |
| | | var selectFlag = true; |
| | | var isCheckFlag = false; |
| | | var ShowDemonstration = j$(escapeVfId('allPage:allForm:searchBlock:ShowDemonstration')).val(); // 展示/演示 |
| | | var OperationType = j$(escapeVfId('allPage:allForm:searchBlock:OperationType')).val(); // 术式类别 |
| | | var ConsumStartDate = j$(escapeVfId('allPage:allForm:searchBlock:ConsumStartDate')).val(); // 预计使用日 |
| | | var CaseOrAnimalOrgan = j$(escapeVfId('allPage:allForm:searchBlock:CaseOrAnimalOrgan')).val(); // 病例/动物脏器 |
| | | var TrialUser= j$(escapeVfId('allPage:allForm:searchBlock:TrialUser')).val(); // 试用者 |
| | | var FollowerUserid = j$(escapeVfId('allPage:allForm:searchBlock:FollowerUser_lkid')).val(); // 跟台者Id |
| | | var FollowerUsername = j$(escapeVfId('allPage:allForm:searchBlock:FollowerUser_lkold')).val(); // 跟台者Name |
| | | // 适用按钮 |
| | | function applyJs() { |
| | | var appliedFlag = true; |
| | | var selectFlag = true; |
| | | var isCheckFlag = false; |
| | | var ShowDemonstration = j$(escapeVfId('allPage:allForm:searchBlock:ShowDemonstration')).val(); // 展示/演示 |
| | | var OperationType = j$(escapeVfId('allPage:allForm:searchBlock:OperationType')).val(); // 术式类别 |
| | | var ConsumStartDate = j$(escapeVfId('allPage:allForm:searchBlock:ConsumStartDate')).val(); // 预计使用日 |
| | | var CaseOrAnimalOrgan = j$(escapeVfId('allPage:allForm:searchBlock:CaseOrAnimalOrgan')).val(); // 病例/动物脏器 |
| | | var TrialUser= j$(escapeVfId('allPage:allForm:searchBlock:TrialUser')).val(); // 试用者 |
| | | var FollowerUserid = j$(escapeVfId('allPage:allForm:searchBlock:FollowerUser_lkid')).val(); // 跟台者Id |
| | | var FollowerUsername = j$(escapeVfId('allPage:allForm:searchBlock:FollowerUser_lkold')).val(); // 跟台者Name |
| | | |
| | | var ShowDemonstrations = []; // 展示/演示 |
| | | j$("td.intf.dataCellBorder1.Show_demonstration__c").each(function() { |
| | | ShowDemonstrations.push(j$(this)); |
| | | }); |
| | | var OperationTypes = []; // 术式类别 |
| | | j$("td.intf.dataCellBorder1.Operation_Type__c").each(function() { |
| | | OperationTypes.push(j$(this)); |
| | | }); |
| | | var ConsumStartDates = []; // 备品预计使用日 |
| | | j$("td.intf.dataCellBorder1.Consum_Start_Date__c").each(function() { |
| | | ConsumStartDates.push(j$(this)); |
| | | }); |
| | | var CaseOrAnimalOrgans = []; // 病例/动物脏器 |
| | | j$("td.intf.dataCellBorder1.Case_OR_animal_organ__c").each(function() { |
| | | CaseOrAnimalOrgans.push(j$(this)); |
| | | }); |
| | | var ShowDemonstrations = []; // 展示/演示 |
| | | j$("td.intf.dataCellBorder1.Show_demonstration__c").each(function() { |
| | | ShowDemonstrations.push(j$(this)); |
| | | }); |
| | | var OperationTypes = []; // 术式类别 |
| | | j$("td.intf.dataCellBorder1.Operation_Type__c").each(function() { |
| | | OperationTypes.push(j$(this)); |
| | | }); |
| | | var ConsumStartDates = []; // 备品预计使用日 |
| | | j$("td.intf.dataCellBorder1.Consum_Start_Date__c").each(function() { |
| | | ConsumStartDates.push(j$(this)); |
| | | }); |
| | | var CaseOrAnimalOrgans = []; // 病例/动物脏器 |
| | | j$("td.intf.dataCellBorder1.Case_OR_animal_organ__c").each(function() { |
| | | CaseOrAnimalOrgans.push(j$(this)); |
| | | }); |
| | | |
| | | var TrialUsers = []; // 试用者 |
| | | j$("td.intf.dataCellBorder1.Trial_User__c").each(function() { |
| | | TrialUsers.push(j$(this)); |
| | | }); |
| | | var TrialUsers = []; // 试用者 |
| | | j$("td.intf.dataCellBorder1.Trial_User__c").each(function() { |
| | | TrialUsers.push(j$(this)); |
| | | }); |
| | | |
| | | var FollowerUsers = []; // 跟台者: |
| | | j$("td.intf.dataCellBorder1.Follower_User__c").each(function() { |
| | | FollowerUsers.push(j$(this)); |
| | | }); |
| | | var FollowerUsers = []; // 跟台者: |
| | | j$("td.intf.dataCellBorder1.Follower_User__c").each(function() { |
| | | FollowerUsers.push(j$(this)); |
| | | }); |
| | | |
| | | var currentPageRecordCount = j$(escapeVfId('allPage:allForm:dataBlock:currentPageRecordCnt')).val(); |
| | | for (var i = 0; i < currentPageRecordCount; i++) { |
| | | var checkBox = j$(escapeVfId('allPage:allForm:dataBlock:dataline_L:' + i + ':rowCheck')); |
| | | if (checkBox.prop('checked') == true) { |
| | | isCheckFlag = true; |
| | | // 'x'时不适用 |
| | | if (ShowDemonstration != 'x') { |
| | | ShowDemonstrations[i].find("select").val(ShowDemonstration); |
| | | appliedFlag = false; |
| | | } |
| | | if (OperationType != 'x') { |
| | | OperationTypes[i].find("select").val(OperationType); |
| | | appliedFlag = false; |
| | | } |
| | | if (ConsumStartDate != null && ConsumStartDate != '' && typeof(ConsumStartDate) != "undefined") { |
| | | ConsumStartDates[i].find("input").val(ConsumStartDate); |
| | | appliedFlag = false; |
| | | } |
| | | if (CaseOrAnimalOrgan != 'x') { |
| | | CaseOrAnimalOrgans[i].find("select").val(CaseOrAnimalOrgan); |
| | | appliedFlag = false; |
| | | } |
| | | var currentPageRecordCount = j$(escapeVfId('allPage:allForm:dataBlock:currentPageRecordCnt')).val(); |
| | | for (var i = 0; i < currentPageRecordCount; i++) { |
| | | var checkBox = j$(escapeVfId('allPage:allForm:dataBlock:dataline_L:' + i + ':rowCheck')); |
| | | if (checkBox.prop('checked') == true) { |
| | | isCheckFlag = true; |
| | | // 'x'时不适用 |
| | | if (ShowDemonstration != 'x') { |
| | | ShowDemonstrations[i].find("select").val(ShowDemonstration); |
| | | appliedFlag = false; |
| | | } |
| | | if (OperationType != 'x') { |
| | | OperationTypes[i].find("select").val(OperationType); |
| | | appliedFlag = false; |
| | | } |
| | | if (ConsumStartDate != null && ConsumStartDate != '' && typeof(ConsumStartDate) != "undefined") { |
| | | ConsumStartDates[i].find("input").val(ConsumStartDate); |
| | | appliedFlag = false; |
| | | } |
| | | if (CaseOrAnimalOrgan != 'x') { |
| | | CaseOrAnimalOrgans[i].find("select").val(CaseOrAnimalOrgan); |
| | | appliedFlag = false; |
| | | } |
| | | |
| | | if (TrialUser != null && TrialUser != '' && typeof(TrialUser) != "undefined") { |
| | | TrialUsers[i].find("input").val(TrialUser); |
| | | appliedFlag = false; |
| | | } |
| | | if (TrialUser != null && TrialUser != '' && typeof(TrialUser) != "undefined") { |
| | | TrialUsers[i].find("input").val(TrialUser); |
| | | appliedFlag = false; |
| | | } |
| | | |
| | | // if (equipmentTypes[i].find("select").val() != productCategory && productCategory != '') { |
| | | if (FollowerUserid != null && parseInt(FollowerUserid) != 0 && typeof(FollowerUserid) != "undefined" |
| | | && FollowerUsername != null && FollowerUsername != 'null' && typeof(FollowerUsername) != "undefined") { |
| | | // setChangeFlg(); |
| | | // if (equipmentTypes[i].find("select").val() != productCategory && productCategory != '') { |
| | | if (FollowerUserid != null && parseInt(FollowerUserid) != 0 && typeof(FollowerUserid) != "undefined" |
| | | && FollowerUsername != null && FollowerUsername != 'null' && typeof(FollowerUsername) != "undefined") { |
| | | // setChangeFlg(); |
| | | |
| | | var inputs = FollowerUsers[i].find("input"); |
| | | for (var j = 0; j < inputs.length; j++) { |
| | | if(inputs[j].name.endsWith('_lkid')) { |
| | | inputs[j].value = FollowerUserid; |
| | | } |
| | | else if (inputs[j].name.endsWith('_lkold') |
| | | || inputs[j].name.endsWith('inputField')) { |
| | | inputs[j].value = FollowerUsername; |
| | | } |
| | | var inputs = FollowerUsers[i].find("input"); |
| | | for (var j = 0; j < inputs.length; j++) { |
| | | if(inputs[j].name.endsWith('_lkid')) { |
| | | inputs[j].value = FollowerUserid; |
| | | } |
| | | appliedFlag = false; |
| | | else if (inputs[j].name.endsWith('_lkold') |
| | | || inputs[j].name.endsWith('inputField')) { |
| | | inputs[j].value = FollowerUsername; |
| | | } |
| | | } |
| | | appliedFlag = false; |
| | | } |
| | | } |
| | | j$(escapeVfId('allPage:allForm:pageBlockButton1:clearApplyFlagId')).val(false); |
| | | // var clearApplyFlag = false; |
| | | window.setTimeout(function () { |
| | | if (ConsumStartDate == null |
| | | && TrialUser == null |
| | | && (FollowerUserid== null || FollowerUsername == null)) { // 适用入力框全为空 |
| | | // alert('适用区输入框为空,请输入适用值。'); |
| | | var applyMsg = '适用区输入框为空,请输入适用值。'; |
| | | //passApplyMsgToController(applyMsg, 'Fail'); |
| | | return; |
| | | } |
| | | if (isCheckFlag == false) { |
| | | // alert('未勾选任何待适用数据。'); |
| | | var applyMsg = '未勾选任何待适用数据。'; |
| | | //passApplyMsgToController(applyMsg, 'Fail'); |
| | | return; |
| | | } |
| | | } |
| | | j$(escapeVfId('allPage:allForm:pageBlockButton1:clearApplyFlagId')).val(false); |
| | | // var clearApplyFlag = false; |
| | | window.setTimeout(function () { |
| | | if (ConsumStartDate == null |
| | | && TrialUser == null |
| | | && (FollowerUserid== null || FollowerUsername == null)) { // 适用入力框全为空 |
| | | // alert('适用区输入框为空,请输入适用值。'); |
| | | var applyMsg = '适用区输入框为空,请输入适用值。'; |
| | | //passApplyMsgToController(applyMsg, 'Fail'); |
| | | return; |
| | | } |
| | | if (isCheckFlag == false) { |
| | | // alert('未勾选任何待适用数据。'); |
| | | var applyMsg = '未勾选任何待适用数据。'; |
| | | //passApplyMsgToController(applyMsg, 'Fail'); |
| | | return; |
| | | } |
| | | |
| | | if (selectFlag) { |
| | | if (!appliedFlag) { |
| | | var alertMsg = "适用完了 \r\n"; |
| | | if (ConsumStartDate != null && typeof(ConsumStartDate) != "undefined") { |
| | | var alertMsg1 = "已将打勾数据中的 " + "备品预计使用日" + " 适用为 " + ConsumStartDate + " \r\n"; |
| | | alertMsg += alertMsg1; |
| | | } |
| | | if (TrialUser != null && typeof(TrialUser) != "undefined") { |
| | | var alertMsg1 = "已将打勾数据中的 " + "试用者" + " 适用为 " + TrialUser + " \r\n"; |
| | | alertMsg += alertMsg1; |
| | | } |
| | | if (FollowerUserid != null && typeof(FollowerUserid) != "undefined" |
| | | && FollowerUsername != null && typeof(FollowerUsername) != "undefined") { |
| | | var alertMsg2 = "已将打勾数据中的 " + "跟台者:" + " 适用为 " + FollowerUsername + " \r\n"; |
| | | alertMsg += alertMsg2; |
| | | } |
| | | // alert(alertMsg); |
| | | // clearApplyFlag = true; |
| | | j$(escapeVfId('allPage:allForm:pageBlockButton1:clearApplyFlagId')).val(true); |
| | | //passApplyMsgToController(alertMsg, 'Success'); |
| | | if (selectFlag) { |
| | | if (!appliedFlag) { |
| | | var alertMsg = "适用完了 \r\n"; |
| | | if (ConsumStartDate != null && typeof(ConsumStartDate) != "undefined") { |
| | | var alertMsg1 = "已将打勾数据中的 " + "备品预计使用日" + " 适用为 " + ConsumStartDate + " \r\n"; |
| | | alertMsg += alertMsg1; |
| | | } |
| | | if (TrialUser != null && typeof(TrialUser) != "undefined") { |
| | | var alertMsg1 = "已将打勾数据中的 " + "试用者" + " 适用为 " + TrialUser + " \r\n"; |
| | | alertMsg += alertMsg1; |
| | | } |
| | | if (FollowerUserid != null && typeof(FollowerUserid) != "undefined" |
| | | && FollowerUsername != null && typeof(FollowerUsername) != "undefined") { |
| | | var alertMsg2 = "已将打勾数据中的 " + "跟台者:" + " 适用为 " + FollowerUsername + " \r\n"; |
| | | alertMsg += alertMsg2; |
| | | } |
| | | // alert(alertMsg); |
| | | // clearApplyFlag = true; |
| | | j$(escapeVfId('allPage:allForm:pageBlockButton1:clearApplyFlagId')).val(true); |
| | | //passApplyMsgToController(alertMsg, 'Success'); |
| | | } |
| | | } else { |
| | | if (!appliedFlag) { |
| | | var alertMsg = "适用完了 \r\n"; |
| | | if (ConsumStartDate != null && typeof(ConsumStartDate) != "undefined") { |
| | | var alertMsg1 = "已将打勾数据中的 " + "备品预计使用日" + " 适用为 " + ConsumStartDate + " \r\n"; |
| | | alertMsg += alertMsg1; |
| | | } |
| | | if (TrialUser != null && typeof(TrialUser) != "undefined") { |
| | | var alertMsg1 = "已将打勾数据中的 " + " 试用者" + " 适用为 " + TrialUser + " \r\n"; |
| | | alertMsg += alertMsg1; |
| | | } |
| | | if (FollowerUserid != null && typeof(FollowerUserid) != "undefined" |
| | | && FollowerUsername != null && typeof(FollowerUsername) != "undefined") { |
| | | var alertMsg2 = "已将打勾数据中的 " + "跟台者:" + " 适用为 " + FollowerUsername + " \r\n"; |
| | | alertMsg += alertMsg2; |
| | | } |
| | | //passApplyMsgToController(alertMsg, 'Success'); |
| | | j$(escapeVfId('allPage:allForm:pageBlockButton1:clearApplyFlagId')).val(true); |
| | | } else { |
| | | if (!appliedFlag) { |
| | | var alertMsg = "适用完了 \r\n"; |
| | | if (ConsumStartDate != null && typeof(ConsumStartDate) != "undefined") { |
| | | var alertMsg1 = "已将打勾数据中的 " + "备品预计使用日" + " 适用为 " + ConsumStartDate + " \r\n"; |
| | | alertMsg += alertMsg1; |
| | | } |
| | | if (TrialUser != null && typeof(TrialUser) != "undefined") { |
| | | var alertMsg1 = "已将打勾数据中的 " + " 试用者" + " 适用为 " + TrialUser + " \r\n"; |
| | | alertMsg += alertMsg1; |
| | | } |
| | | if (FollowerUserid != null && typeof(FollowerUserid) != "undefined" |
| | | && FollowerUsername != null && typeof(FollowerUsername) != "undefined") { |
| | | var alertMsg2 = "已将打勾数据中的 " + "跟台者:" + " 适用为 " + FollowerUsername + " \r\n"; |
| | | alertMsg += alertMsg2; |
| | | } |
| | | //passApplyMsgToController(alertMsg, 'Success'); |
| | | j$(escapeVfId('allPage:allForm:pageBlockButton1:clearApplyFlagId')).val(true); |
| | | } else { |
| | | var alertMsg = "其他选项: " + otherSelectOptionText +"中无此选项值" + otherSelectOptionValue + ",无法更新。"; |
| | | //passApplyMsgToController(alertMsg, 'Fail'); |
| | | } |
| | | var alertMsg = "其他选项: " + otherSelectOptionText +"中无此选项值" + otherSelectOptionValue + ",无法更新。"; |
| | | //passApplyMsgToController(alertMsg, 'Fail'); |
| | | } |
| | | }, 5); |
| | | } |
| | | |
| | | function clearApplyValue() { |
| | | var clearApplyValueFlag = j$(escapeVfId('allPage:allForm:pageBlockButton1:clearApplyFlagId')).val(); |
| | | if(clearApplyValueFlag) { |
| | | j$(escapeVfId('{!$Component.stockId}')).val(''); |
| | | j$(escapeVfId('{!$Component.applyEquipmentTypeId}')).val(''); |
| | | j$(escapeVfId('{!$Component.applyAssetTypeListId}')).val(''); |
| | | j$(escapeVfId('{!$Component.otherSelectionId}')).val(''); |
| | | } |
| | | j$(escapeVfId('allPage:allForm:pageBlockButton1:clearApplyFlagId')).val(false); |
| | | } |
| | | }, 5); |
| | | } |
| | | |
| | | function checkSavingJs() { |
| | | var isSavingSuccess = j$(escapeVfId('isSavingSuccessId')).val(); |
| | | // alert(isSavingSuccess); |
| | | if (isSavingSuccess != 'false') { |
| | | //setSaveSuccessMsg(); |
| | | function clearApplyValue() { |
| | | var clearApplyValueFlag = j$(escapeVfId('allPage:allForm:pageBlockButton1:clearApplyFlagId')).val(); |
| | | if(clearApplyValueFlag) { |
| | | j$(escapeVfId('{!$Component.stockId}')).val(''); |
| | | j$(escapeVfId('{!$Component.applyEquipmentTypeId}')).val(''); |
| | | j$(escapeVfId('{!$Component.applyAssetTypeListId}')).val(''); |
| | | j$(escapeVfId('{!$Component.otherSelectionId}')).val(''); |
| | | } |
| | | j$(escapeVfId('allPage:allForm:pageBlockButton1:clearApplyFlagId')).val(false); |
| | | } |
| | | |
| | | function checkSavingJs() { |
| | | var isSavingSuccess = j$(escapeVfId('isSavingSuccessId')).val(); |
| | | // alert(isSavingSuccess); |
| | | if (isSavingSuccess != 'false') { |
| | | //setSaveSuccessMsg(); |
| | | } |
| | | } |
| | | |
| | | function resetMove(d, up, len) { |
| | | var line = j$(escapeVfId(d)).find('input')[0].value; |
| | | resetMoveUpDown(up, parseInt(line), len); |
| | | } |
| | | |
| | | function moveToTop(d, up, len) { |
| | | var line = j$(escapeVfId(d)).find('input')[0].value; |
| | | console.log(line); |
| | | var isSuccessful = true; |
| | | if (up) { |
| | | for(var i = parseInt(line) ; i > 1 && isSuccessful; i-- ) { |
| | | isSuccessful = resetMoveUpDown(up, i, len); |
| | | } |
| | | } |
| | | |
| | | function resetMove(d, up, len) { |
| | | var line = j$(escapeVfId(d)).find('input')[0].value; |
| | | resetMoveUpDown(up, parseInt(line), len); |
| | | else { |
| | | for(var i = parseInt(line) ; i < len && isSuccessful; i++ ) { |
| | | isSuccessful = resetMoveUpDown(up, i, len); |
| | | } |
| | | } |
| | | unblockUI(); |
| | | } |
| | | |
| | | function moveToTop(d, up, len) { |
| | | var line = j$(escapeVfId(d)).find('input')[0].value; |
| | | console.log(line); |
| | | var isSuccessful = true; |
| | | if (up) { |
| | | for(var i = parseInt(line) ; i > 1 && isSuccessful; i-- ) { |
| | | isSuccessful = resetMoveUpDown(up, i, len); |
| | | function resetMoveUpDown(up, line, len) { |
| | | |
| | | var items = j$(".dataCellBorder2"); |
| | | var item1 = j$("td.intf.dataCellBorder1.Degree_Of_Importance__c"); |
| | | var item2 = j$("td.dataCellBorder1.col_Fixture_Model_No__c"); |
| | | var currentPageRecordCount = j$(escapeVfId('allPage:allForm:dataBlock:currentPageRecordCnt')).val(); |
| | | var isSuccessful = false; |
| | | // alert(item1); |
| | | var i = line - 1; |
| | | var i1 = line + 1; |
| | | // var tr = j$('#tableData').find('tbody').find('tr:eq(' + (i) + ')'); |
| | | if (up == true){ |
| | | var tr = j$('#tableData').find('tbody').find('tr:eq(' + (i) + ')'); |
| | | var trL = j$('#tableData_L').find('tbody').find('tr:eq(' + (i) + ')'); |
| | | if(line != 1) { |
| | | var model1 = j$(item2[i - 1]).find("span").text(); |
| | | var model2 = j$(item2[i]).find("span").text(); |
| | | if (model1 != model2) { |
| | | unblockUI(); |
| | | return; |
| | | } |
| | | |
| | | var v1 = j$(item1[i - 1]).find("input").val(); |
| | | var v2 = j$(item1[i]).find("input").val(); |
| | | setChangeFlg(i-1); |
| | | setChangeFlg(i); |
| | | j$(items[i - 1]).children('.ordernocls').val(line); |
| | | j$(items[i]).children('.ordernocls').val(line - 1); |
| | | j$(item1[i - 1]).find("input").val(v2); |
| | | j$(item1[i]).find("input").val(v1); |
| | | |
| | | isSuccessful = true; |
| | | // j$(item1[i - 1]).children('.ordernocls').val('' + line); |
| | | // j$(item1[i]).children('.ordernocls').val('' + i); |
| | | } |
| | | else { |
| | | for(var i = parseInt(line) ; i < len && isSuccessful; i++ ) { |
| | | isSuccessful = resetMoveUpDown(up, i, len); |
| | | } |
| | | j$(items[i]).children('.ordernocls').val(line); |
| | | } |
| | | unblockUI(); |
| | | var tr1 = j$(items[i]).parents("tr"); |
| | | tr.prev().before(tr); |
| | | trL.prev().before(trL); |
| | | } |
| | | |
| | | function resetMoveUpDown(up, line, len) { |
| | | |
| | | var items = j$(".dataCellBorder2"); |
| | | var item1 = j$("td.intf.dataCellBorder1.Degree_Of_Importance__c"); |
| | | var item2 = j$("td.dataCellBorder1.col_Fixture_Model_No__c"); |
| | | var currentPageRecordCount = j$(escapeVfId('allPage:allForm:dataBlock:currentPageRecordCnt')).val(); |
| | | var isSuccessful = false; |
| | | // alert(item1); |
| | | var i = line - 1; |
| | | var i1 = line + 1; |
| | | // var tr = j$('#tableData').find('tbody').find('tr:eq(' + (i) + ')'); |
| | | if (up == true){ |
| | | else { |
| | | if(line < currentPageRecordCount) { |
| | | var model1 = j$(item2[i]).find("span").text(); |
| | | var model2 = j$(item2[line]).find("span").text(); |
| | | if (model1 != model2) { |
| | | unblockUI(); |
| | | return; |
| | | } |
| | | var tr = j$('#tableData').find('tbody').find('tr:eq(' + (i) + ')'); |
| | | var trL = j$('#tableData_L').find('tbody').find('tr:eq(' + (i) + ')'); |
| | | if(line != 1) { |
| | | var model1 = j$(item2[i - 1]).find("span").text(); |
| | | var model2 = j$(item2[i]).find("span").text(); |
| | | if (model1 != model2) { |
| | | unblockUI(); |
| | | return; |
| | | } |
| | | |
| | | var v1 = j$(item1[i - 1]).find("input").val(); |
| | | var v2 = j$(item1[i]).find("input").val(); |
| | | setChangeFlg(i-1); |
| | | setChangeFlg(i); |
| | | j$(items[i - 1]).children('.ordernocls').val(line); |
| | | j$(items[i]).children('.ordernocls').val(line - 1); |
| | | j$(item1[i - 1]).find("input").val(v2); |
| | | j$(item1[i]).find("input").val(v1); |
| | | |
| | | isSuccessful = true; |
| | | // j$(item1[i - 1]).children('.ordernocls').val('' + line); |
| | | // j$(item1[i]).children('.ordernocls').val('' + i); |
| | | } |
| | | else { |
| | | j$(items[i]).children('.ordernocls').val(line); |
| | | } |
| | | var v1 = j$(item1[i]).find("input").val(); |
| | | var v2 = j$(item1[i + 1]).find("input").val(); |
| | | setChangeFlg(i); |
| | | setChangeFlg(i + 1); |
| | | j$(items[i]).children('.ordernocls').val(line + 1); |
| | | j$(items[i + 1]).children('.ordernocls').val(line); |
| | | j$(item1[i]).find("input").val(v2); |
| | | j$(item1[line]).find("input").val(v1); |
| | | var tr1 = j$(items[i]).parents("tr"); |
| | | tr.prev().before(tr); |
| | | trL.prev().before(trL); |
| | | tr.next().after(tr); |
| | | trL.next().after(trL); |
| | | isSuccessful = true; |
| | | } |
| | | else { |
| | | if(line < currentPageRecordCount) { |
| | | var model1 = j$(item2[i]).find("span").text(); |
| | | var model2 = j$(item2[line]).find("span").text(); |
| | | if (model1 != model2) { |
| | | unblockUI(); |
| | | return; |
| | | } |
| | | var tr = j$('#tableData').find('tbody').find('tr:eq(' + (i) + ')'); |
| | | var trL = j$('#tableData_L').find('tbody').find('tr:eq(' + (i) + ')'); |
| | | var v1 = j$(item1[i]).find("input").val(); |
| | | var v2 = j$(item1[i + 1]).find("input").val(); |
| | | setChangeFlg(i); |
| | | setChangeFlg(i + 1); |
| | | j$(items[i]).children('.ordernocls').val(line + 1); |
| | | j$(items[i + 1]).children('.ordernocls').val(line); |
| | | j$(item1[i]).find("input").val(v2); |
| | | j$(item1[line]).find("input").val(v1); |
| | | var tr1 = j$(items[i]).parents("tr"); |
| | | tr.next().after(tr); |
| | | trL.next().after(trL); |
| | | isSuccessful = true; |
| | | } |
| | | else { |
| | | j$(items[i]).children('.ordernocls').val(line); |
| | | } |
| | | j$(items[i]).children('.ordernocls').val(line); |
| | | } |
| | | unblockUI(); |
| | | return isSuccessful; |
| | | } |
| | | unblockUI(); |
| | | return isSuccessful; |
| | | } |
| | | |
| | | function refopener() { |
| | | window.opener.location.href = '/apex/ConsumTrial?id={!parId}'; |
| | | function refopener() { |
| | | window.opener.location.href = '/apex/ConsumTrial?id={!parId}'; |
| | | } |
| | | |
| | | if (window.history.pushState) { |
| | | if (window.location.href.indexOf('&saveType=1') > -1) { |
| | | refopener(); |
| | | } |
| | | window.history.pushState({}, "", window.location.href.replace('&saveType=1', '')); |
| | | } |
| | | |
| | | if (window.history.pushState) { |
| | | if (window.location.href.indexOf('&saveType=1') > -1) { |
| | | refopener(); |
| | | } |
| | | window.history.pushState({}, "", window.location.href.replace('&saveType=1', '')); |
| | | //2022 02 24 张华建 display PI Data start |
| | | var rowBList; |
| | | var TrialUser = {}; |
| | | var ids = []; |
| | | |
| | | function HasError(){ |
| | | // let e = document.getElementById("allPage:allForm:message"); |
| | | |
| | | // if (!e) { |
| | | // return false; |
| | | // } |
| | | |
| | | // let divs = j$(e).find("div.message"); |
| | | // for (let i = 0; i < divs.length; i++) { |
| | | // for (let j = 0; j < divs[i].classList.length; j++) { |
| | | // for(let cls in divs[i].classList){ |
| | | // console.log('cls = ' + cls); |
| | | // if (cls.indexOf('error')>-1) { |
| | | // return true; |
| | | // } |
| | | // } |
| | | |
| | | // } |
| | | |
| | | // } |
| | | // return false; |
| | | |
| | | if(document.getElementById("allPage:allForm:message").children[0] && document.getElementById("allPage:allForm:message").children[0].children[0].className == 'message errorM3'){ |
| | | return true; |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | //2022 02 24 张华建 display PI Data start |
| | | var rowBList; |
| | | var TrialUser = {}; |
| | | var ids = []; |
| | | |
| | | queryUser(); |
| | | |
| | | function q1(){ |
| | | var p = new Promise(function(resolve, reject){ |
| | | rowBList = JSON.parse('{!rowListString}') |
| | | var x = 0; |
| | | var y = 0; |
| | | let searchCallBack = function searchCallBack(result){ |
| | | let contacts = result.object; |
| | | if(contacts == null){ |
| | | return; |
| | | } |
| | | let temp = {} |
| | | temp.trialUser = contacts.trialUser; |
| | | TrialUser[contacts.dataId] = temp; |
| | | x++; |
| | | }; |
| | | for(var i=0;i<rowBList.length;i++){ |
| | | if(rowBList[i].rnd.AWS_Data_Id__c ){ |
| | | y++; |
| | | ids.push(rowBList[i].rnd.AWS_Data_Id__c + '_' + rowBList[i].rnd.Id); |
| | | AWSService.query(staticResource.queryUrl,rowBList[i].rnd.AWS_Data_Id__c,searchCallBack,staticResource.token); |
| | | } |
| | | } |
| | | var id = setInterval(function(){ |
| | | if(x == y){ |
| | | console.log('success') |
| | | resolve('success'); |
| | | clearInterval(id); |
| | | } |
| | | },500); |
| | | }); |
| | | return p; |
| | | function isError(){ |
| | | if(HasError()){ |
| | | alert('xxxx'); |
| | | } |
| | | } |
| | | |
| | | function q2(value){ |
| | | var p = new Promise(function(resolve, reject){ |
| | | console.log('进入q2'+value) |
| | | for(var i=0;i<ids.length;i++){ |
| | | console.log('i = '+i); |
| | | document.getElementById(ids[i]).children[0].children[0].children[0].value = TrialUser[ids[i].substring(0,18)].trialUser; |
| | | console.log('i = '+i); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function queryUser(){ |
| | | |
| | | |
| | | queryUser(); |
| | | |
| | | function q1(){ |
| | | var p = new Promise(function(resolve, reject){ |
| | | rowBList = JSON.parse('{!rowListString}') |
| | | console.log('pageB.fixMode = '+'{!pageB.fixMode}') |
| | | if('{!pageB.fixMode}' == 'true'){ |
| | | q1().then(function(data){ |
| | | return q2(data); |
| | | }) |
| | | unblockUI(); |
| | | }else{ |
| | | blockme(); |
| | | console.log(rowBList) |
| | | let searchCallBack = function searchCallBack(result){ |
| | | let contacts = result.object; |
| | | if(contacts == null){ |
| | | return; |
| | | } |
| | | let temp = {} |
| | | temp.trialUser = contacts.trialUser; |
| | | TrialUser[contacts.dataId] = temp; |
| | | }; |
| | | for(var i=0;i<rowBList.length;i++){ |
| | | var x = 0; |
| | | var y = 0; |
| | | let searchCallBack = function searchCallBack(result){ |
| | | let contacts = result.object; |
| | | if(contacts == null){ |
| | | return; |
| | | } |
| | | let temp = {} |
| | | temp.trialUser = contacts.trialUser; |
| | | TrialUser[contacts.dataId] = temp; |
| | | x++; |
| | | }; |
| | | for(var i=0;i<rowBList.length;i++){ |
| | | if(rowBList[i].rnd.AWS_Data_Id__c ){ |
| | | y++; |
| | | ids.push(rowBList[i].rnd.AWS_Data_Id__c + '_' + rowBList[i].rnd.Id); |
| | | AWSService.query(staticResource.queryUrl,rowBList[i].rnd.AWS_Data_Id__c,searchCallBack,staticResource.token); |
| | | } |
| | | unblockUI(); |
| | | } |
| | | } |
| | | |
| | | function showPIDiv(awsDataId){ |
| | | if(awsDataId.length == 0){ |
| | | return |
| | | } |
| | | if(TrialUser[awsDataId.substring(0,18)] == null){ |
| | | return |
| | | } |
| | | console.log('awsDataId Value:'+awsDataId); |
| | | let parentNode = document.getElementById(awsDataId); |
| | | let createDiv = document.createElement("div"); |
| | | createDiv.id = awsDataId+"_PI"; |
| | | let piInformation = TrialUser[awsDataId.substring(0,18)].trialUser |
| | | //let piInformation = 'Name:'+contact['943114607025717249'].lastName +'\n' +'Phone:'+contact['943114607025717249'].phone |
| | | createDiv.innerText = piInformation; |
| | | let x=window.event.x; |
| | | let y=window.event.y; |
| | | createDiv.style.left=x; |
| | | createDiv.style.top=y; |
| | | createDiv.style.background="#dddddd"; |
| | | createDiv.style.position = "absolute"; |
| | | parentNode.appendChild(createDiv); |
| | | parentNode.style.position = "relative"; |
| | | } |
| | | |
| | | function hidePIDiv(awsDataId){ |
| | | if(awsDataId.length == 0){ |
| | | return |
| | | } |
| | | if(TrialUser[awsDataId.substring(0,18)] == null){ |
| | | return |
| | | } |
| | | document.getElementById(awsDataId+'_PI').remove(); |
| | | } |
| | | |
| | | function q3(){ |
| | | var p = new Promise(function(resolve, reject){ |
| | | console.log('saveRecordJS') |
| | | |
| | | var a = 0; |
| | | var b = 0; |
| | | let newCallBack = function newCallBack(result,indexNumber){ |
| | | |
| | | console.log('result = '+JSON.stringify(result)) |
| | | //赋值dataId和trialUser |
| | | document.getElementById('allPage:allForm:dataBlock:dataline_R_aws:'+indexNumber+':EditAWSDataId').value = result.object[0].dataId; |
| | | document.getElementById('allPage:allForm:dataBlock:dataline_R:'+indexNumber+':inputField:6:inputField').value = result.object[0].trialUser; |
| | | let transParameters = { |
| | | txId: result.txId, |
| | | isSuccess: 1 |
| | | }; |
| | | let confirmCallBack = function confirmCallBack(result){ |
| | | console.log('confirmCallBack = '+JSON.stringify(result)) |
| | | } |
| | | b++; |
| | | AWSService.confirmTrans(staticResource.transactionUrl,JSON.stringify(transParameters),confirmCallBack,staticResource.token) |
| | | }; |
| | | for(var i=0;i<rowBList.length;i++){ |
| | | if(document.getElementById('allPage:allForm:dataBlock:dataline_L:'+i+':rowCheck').checked == true){ |
| | | a++; |
| | | } |
| | | var id = setInterval(function(){ |
| | | if(x == y){ |
| | | console.log('success') |
| | | resolve('success'); |
| | | clearInterval(id); |
| | | } |
| | | debugger |
| | | for(var i=0;i<rowBList.length;i++){ |
| | | if(document.getElementById('allPage:allForm:dataBlock:dataline_L:'+i+':rowCheck').checked == true){ |
| | | //加密试用者 |
| | | var trialUser = document.getElementById('allPage:allForm:dataBlock:dataline_R:'+i+':inputField:6:j_id86').children[0].children[0].value |
| | | let consumApplyPayloadList = []; |
| | | let consumApplyPIData = new Object(); |
| | | consumApplyPIData.trialUser = trialUser; |
| | | consumApplyPIData.sfRecordId = ''; |
| | | consumApplyPayloadList.push(consumApplyPIData); |
| | | AWSService.postConsumTrial(staticResource.newUrl,i,JSON.stringify(consumApplyPayloadList),newCallBack,staticResource.token); |
| | | } |
| | | } |
| | | var id = setInterval(function(){ |
| | | if(a == b){ |
| | | console.log('a==b success') |
| | | resolve('success'); |
| | | clearInterval(id); |
| | | } |
| | | },500); |
| | | }); |
| | | return p; |
| | | } |
| | | },500); |
| | | }); |
| | | return p; |
| | | } |
| | | |
| | | function q4(){ |
| | | debugger |
| | | saveRecord(); |
| | | } |
| | | function saveRecordJS(){ |
| | | if('{!pageB.fixMode}' != 'true'){ |
| | | return |
| | | function q2(value){ |
| | | var p = new Promise(function(resolve, reject){ |
| | | console.log('进入q2'+value) |
| | | for(var i=0;i<ids.length;i++){ |
| | | console.log('i = '+i); |
| | | document.getElementById(ids[i]).children[0].children[0].children[0].value = TrialUser[ids[i].substring(0,18)].trialUser; |
| | | console.log('i = '+i); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function queryUser(){ |
| | | rowBList = JSON.parse('{!rowListString}') |
| | | console.log('pageB.fixMode = '+'{!pageB.fixMode}') |
| | | if('{!pageB.fixMode}' == 'true'){ |
| | | q1().then(function(data){ |
| | | return q2(data); |
| | | }) |
| | | unblockUI(); |
| | | }else{ |
| | | blockme(); |
| | | console.log(rowBList) |
| | | let searchCallBack = function searchCallBack(result){ |
| | | let contacts = result.object; |
| | | if(contacts == null){ |
| | | return; |
| | | } |
| | | q3().then(function(data){ |
| | | return q4(data); |
| | | }) |
| | | let temp = {} |
| | | temp.trialUser = contacts.trialUser; |
| | | TrialUser[contacts.dataId] = temp; |
| | | }; |
| | | for(var i=0;i<rowBList.length;i++){ |
| | | ids.push(rowBList[i].rnd.AWS_Data_Id__c + '_' + rowBList[i].rnd.Id); |
| | | AWSService.query(staticResource.queryUrl,rowBList[i].rnd.AWS_Data_Id__c,searchCallBack,staticResource.token); |
| | | } |
| | | unblockUI(); |
| | | } |
| | | //2022 02 24 张华建 display PI Data end |
| | | </script> |
| | | <apex:pageMessages /> |
| | | } |
| | | |
| | | function showPIDiv(awsDataId){ |
| | | if(awsDataId.length == 0){ |
| | | return |
| | | } |
| | | if(TrialUser[awsDataId.substring(0,18)] == null){ |
| | | return |
| | | } |
| | | console.log('awsDataId Value:'+awsDataId); |
| | | let parentNode = document.getElementById(awsDataId); |
| | | let createDiv = document.createElement("div"); |
| | | createDiv.id = awsDataId+"_PI"; |
| | | let piInformation = TrialUser[awsDataId.substring(0,18)].trialUser |
| | | //let piInformation = 'Name:'+contact['943114607025717249'].lastName +'\n' +'Phone:'+contact['943114607025717249'].phone |
| | | createDiv.innerText = piInformation; |
| | | let x=window.event.x; |
| | | let y=window.event.y; |
| | | createDiv.style.left=x; |
| | | createDiv.style.top=y; |
| | | createDiv.style.background="#dddddd"; |
| | | createDiv.style.position = "absolute"; |
| | | parentNode.appendChild(createDiv); |
| | | parentNode.style.position = "relative"; |
| | | } |
| | | |
| | | function hidePIDiv(awsDataId){ |
| | | if(awsDataId.length == 0){ |
| | | return |
| | | } |
| | | if(TrialUser[awsDataId.substring(0,18)] == null){ |
| | | return |
| | | } |
| | | document.getElementById(awsDataId+'_PI').remove(); |
| | | } |
| | | |
| | | |
| | | function q3(){ |
| | | var p = new Promise(function(resolve, reject){ |
| | | console.log('saveRecordJS') |
| | | txIds = []; |
| | | trialuserMap = {}; |
| | | var a = 0; |
| | | var b = 0; |
| | | debugger |
| | | let newCallBack = function newCallBack(result,indexNumber){ |
| | | //赋值dataId和trialUser |
| | | document.getElementById('allPage:allForm:dataBlock:dataline_R_aws:'+indexNumber+':EditAWSDataId').value = result.object[0].dataId; |
| | | document.getElementById('allPage:allForm:dataBlock:dataline_R_aws:'+indexNumber+':TrialUserEncrypt').value = result.object[0].trialUserEncrypt; |
| | | document.getElementById('allPage:allForm:dataBlock:dataline_R:'+indexNumber+':inputField:6:inputField').value = result.object[0].trialUser; |
| | | // let transParameters = { |
| | | // txId: result.txId, |
| | | // isSuccess: 1 |
| | | // }; |
| | | // let confirmCallBack = function confirmCallBack(result){ |
| | | // console.log('confirmCallBack = '+JSON.stringify(result)) |
| | | // } |
| | | b++; |
| | | txIds.push(result.txId) |
| | | //AWSService.confirmTrans(staticResource.transactionUrl,JSON.stringify(transParameters),confirmCallBack,staticResource.token) |
| | | }; |
| | | for(var i=0;i<rowBList.length;i++){ |
| | | if(document.getElementById('allPage:allForm:dataBlock:dataline_L:'+i+':rowCheck').checked == true){ |
| | | a++; |
| | | } |
| | | } |
| | | for(var i=0;i<rowBList.length;i++){ |
| | | if(document.getElementById('allPage:allForm:dataBlock:dataline_L:'+i+':rowCheck').checked == true){ |
| | | //加密试用者 |
| | | let e = document.getElementById('allPage:allForm:dataBlock:dataline_R:'+i+':inputField:6:j_id86').children[0].children[0]; |
| | | var trialUser = e.value; |
| | | trialuserMap['allPage:allForm:dataBlock:dataline_R:'+i+':inputField:6:j_id86'] = trialUser; |
| | | let consumApplyPayloadList = []; |
| | | let consumApplyPIData = new Object(); |
| | | consumApplyPIData.trialUser = trialUser; |
| | | consumApplyPIData.sfRecordId = ''; |
| | | consumApplyPayloadList.push(consumApplyPIData); |
| | | AWSService.postConsumTrial(staticResource.newUrl,i,JSON.stringify(consumApplyPayloadList),newCallBack,staticResource.token); |
| | | } |
| | | } |
| | | var id = setInterval(function(){ |
| | | if(a == b){ |
| | | console.log('a==b success') |
| | | resolve('success'); |
| | | clearInterval(id); |
| | | } |
| | | },500); |
| | | }); |
| | | return p; |
| | | } |
| | | |
| | | function q4(){ |
| | | debugger |
| | | saveRecord(); |
| | | } |
| | | |
| | | function Trans(){ |
| | | if(HasError()){ |
| | | unblockUI(); |
| | | for(var e in trialuserMap){ |
| | | document.getElementById(e).children[0].children[0].value = trialuserMap[e]; |
| | | } |
| | | return; |
| | | } |
| | | var x = 0; |
| | | let confirmCallBack = function confirmCallBack(result){ |
| | | console.log('confirmCallBack = '+JSON.stringify(result)) |
| | | x++; |
| | | if(x == txIds.length){ |
| | | refopener(); |
| | | unblockUI(); |
| | | window.location.href='/apex/ConsumTrial?id=' + '{!parId}' + '&canedit=true&saveType=1'; |
| | | } |
| | | } |
| | | for(var i=0;i<txIds.length;i++){ |
| | | let transParameters = { |
| | | txId: txIds[i], |
| | | isSuccess: 1 |
| | | }; |
| | | AWSService.confirmTrans(staticResource.transactionUrl,JSON.stringify(transParameters),confirmCallBack,staticResource.token) |
| | | } |
| | | } |
| | | |
| | | function saveRecordJS(){ |
| | | if('{!pageB.fixMode}' != 'true'){ |
| | | return |
| | | } |
| | | q3().then(function(data){ |
| | | return q4(data); |
| | | }) |
| | | unblockUI(); |
| | | } |
| | | //2022 02 24 张华建 display PI Data end |
| | | </script> |
| | | <apex:pageMessages id="message"/> |
| | | <!-- oncomplete="clearApplyValue(); return false;" --> |
| | | <apex:actionFunction name="passApplyMsgToController" action="{!showApplyMsg}" rerender="allForm"> |
| | | <apex:param name="applyMsg" value="" /> |
| | |
| | | <apex:actionFunction name="sendEmail" action="{!sendEmail}" rerender="allForm" oncomplete="unblockUI();"> |
| | | <apex:param name="emailBody" value="" /> |
| | | </apex:actionFunction> |
| | | <apex:actionFunction name="saveRecord" action="{!saveRecord}" oncomplete="refopener();unblockUI();" rerender="allForm"/> |
| | | <apex:actionFunction name="saveRecord" action="{!saveRecord}" oncomplete="Trans();" rerender="allForm"/> |
| | | <apex:inputHidden id="clearApplyFlagId" /> |
| | | <apex:outputPanel id="pageallPanel"> |
| | | <apex:pageBlock id="searchBlock"> |
| | |
| | | </div> |
| | | <apex:repeat id="dataline_R_aws" value="{!pageB.rowBList}" var="var"> |
| | | <apex:inputHidden value="{!var.rnd.AWS_Data_Id__c}" id="EditAWSDataId"/> |
| | | <apex:inputHidden value="{!var.rnd.Trial_User_Encrypt__c}" id="TrialUserEncrypt"/> |
| | | </apex:repeat> |
| | | <div id="in_Div" style="overflow:auto;"> |
| | | <table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableData"> |
| | |
| | | <apex:page applyHtmlTag="false" Controller="FixtureRentalPDFController" showHeader="false" sidebar="false" id="allPage" action="{!init}" ><!-- renderAs="pdf" --> |
| | | <apex:page applyHtmlTag="false" Controller="FixtureRentalPDFController" showHeader="false" sidebar="false" id="allPage" action="{!init}"> |
| | | <!-- renderAs="pdf" --> |
| | | <html> |
| | | <head> |
| | | <style type="text/css" media="print"> |
| | | @page { |
| | | size: A4; |
| | | margin: 1mm 2.5mm 0mm 2.5mm; |
| | | } |
| | | |
| | | /*td{ |
| | | <head> |
| | | <style type="text/css" media="print"> |
| | | @page { |
| | | size: A4; |
| | | margin: 1mm 2.5mm 0mm 2.5mm; |
| | | } |
| | | |
| | | /*td{ |
| | | height: 23px; |
| | | }*/ |
| | | |
| | | </style> |
| | | <style> |
| | | body{margin: 0 auto; |
| | | width: 780px;} |
| | | #title1{height: 30px;} |
| | | #title2{height: 110px;} |
| | | </style> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> |
| | | <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> |
| | | <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.jspdf)}"/> |
| | | <apex:includeScript value="{!URLFOR($Resource.html2canvas)}"/> |
| | | |
| | | </head> |
| | | |
| | | </style> |
| | | <style> |
| | | body { |
| | | margin: 0 auto; |
| | | width: 780px; |
| | | } |
| | | |
| | | <body style="font-family: Arial Unicode MS; page-break-inside: auto;font-size: 14px"> |
| | | <div id="pdf-wrapper"> |
| | | <apex:outputPanel id="showhidden" rendered="true"> |
| | | .title1 { |
| | | height: 35px; |
| | | } |
| | | |
| | | .title2 { |
| | | height: 110px; |
| | | } |
| | | </style> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> |
| | | <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> |
| | | <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}" /> |
| | | <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}" /> |
| | | <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}" /> |
| | | <apex:includeScript value="{!URLFOR($Resource.jspdf)}" /> |
| | | <apex:includeScript value="{!URLFOR($Resource.html2canvas)}" /> |
| | | |
| | | </head> |
| | | |
| | | |
| | | <body style="font-family: Arial Unicode MS; page-break-inside: auto;font-size: 14px"> |
| | | <div id="pdf-wrapper"> |
| | | <apex:outputPanel id="showhidden" rendered="true"> |
| | | |
| | | <div class="pdf-page"> |
| | | <div class="title1"></div> |
| | | <!-- 20201119 LJH OCSM_BP5-61 update start 现地管理和现地管理的主单不显示--> |
| | | <!-- <apex:outputText style="float:left;font-size:22px;margin-top: 25px;" value="{!centreAddress}" /> --> |
| | | <apex:outputText style="float:left;font-size:22px;margin-top: 25px;" value="{!IF(IsShowLU,centreAddress,'')}" /> |
| | |
| | | </colgroup> |
| | | <tr> |
| | | <th style="text-align:center;" colspan="2" height="38">奥林巴斯备品签收单 |
| | | <!-- <img style="float: right; width: 35px; height: 35px;padding: 0px;margin-top: -7px;" src="{!'/servlet/servlet.FileDownload?file=' + ApplyHeadShow.QRId__c}" /> --> |
| | | <!-- <img style="float: right; width: 35px; height: 35px;padding: 0px;margin-top: -7px;" src="{!qrcode}" /> --> |
| | | </th> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;border-right-style: none;">★填写完整后请自发货日起10天内上传SFDC</td> |
| | | <td style="text-align:right;border-left-style: none;">备品管理中心申请单号:<apex:outputText value="{!ApplyHeadShow.Name}" /></td> |
| | | <td style="text-align:right;border-left-style: none;">备品管理中心申请单号: |
| | | <apex:outputText value="{!ApplyHeadShow.Name}" /> |
| | | </td> |
| | | </tr> |
| | | <!-- <tr style="background-color:#003399;color:white"> |
| | | <th style="text-align:center;" height="40">发货信息</th> |
| | | </tr> --> |
| | | <th style="text-align:center;" height="40">发货信息</th> |
| | | </tr> --> |
| | | <!-- <tr> |
| | | <td style="text-align:left;font-size:12px"> |
| | | 1、本发货确认单共两页。首页中到货确认部分为现场必填项目,填写完整后请回传至备品中心(传真或扫描件即可);<br /> |
| | | 末页中清洗消毒灭菌确认栏为现场必填项目,备品回寄时请将此页随备品一同寄回备品中心。<br /> |
| | | 2、请对产品进行清洗消毒或灭菌后再使用。<br /> |
| | | 3、在使用备品前,敬请仔细阅读背面“备品使用须知”,请明确申请人及申请方责任与义务。 |
| | | </td> |
| | | </tr> --> |
| | | <td style="text-align:left;font-size:12px"> |
| | | 1、本发货确认单共两页。首页中到货确认部分为现场必填项目,填写完整后请回传至备品中心(传真或扫描件即可);<br /> |
| | | 末页中清洗消毒灭菌确认栏为现场必填项目,备品回寄时请将此页随备品一同寄回备品中心。<br /> |
| | | 2、请对产品进行清洗消毒或灭菌后再使用。<br /> |
| | | 3、在使用备品前,敬请仔细阅读背面“备品使用须知”,请明确申请人及申请方责任与义务。 |
| | | </td> |
| | | </tr> --> |
| | | </table> |
| | | <table border="1px" width="100%" style="border-collapse: collapse;"> |
| | | <colgroup> |
| | |
| | | <th style="text-align:center;" colspan="5" height="25">发货信息</th> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;">使用目的</td> <td style="text-align:left;font-size: 13px" colspan="4"><apex:outputText value="{!ApplyHeadShow.Demo_purpose1__c}" /></td> |
| | | <td style="text-align:left;">使用目的</td> |
| | | <td style="text-align:left;font-size: 13px" colspan="4"> |
| | | <apex:outputText value="{!ApplyHeadShow.Demo_purpose1__c}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;" rowspan="2">申请人信息</td> |
| | | <td style="text-align:left;">所属本部名</td> <td style="text-align:left;font-size: 13px"> <apex:outputText value="{!ApplyHeadShow.Salesdept__c}" /></td> |
| | | <td style="text-align:left;" >所属办事处名</td> <td style="text-align:left;font-size: 13px"> <apex:outputText value="{!ApplyHeadShow.WorkPlace__c}" /></td> |
| | | <td style="text-align:left;">所属本部名</td> |
| | | <td style="text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Salesdept__c}" /> |
| | | </td> |
| | | <td style="text-align:left;">所属办事处名</td> |
| | | <td style="text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.WorkPlace__c}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;" >姓名 </td> <td style="text-align:left;font-size: 13px"> <apex:outputText value="{!ApplyHeadShow.Person_In_Charge__r.name}" /></td> |
| | | <td style="text-align:left;" colspan="1">联系电话</td> <td style="text-align:left;font-size: 13px"> <apex:outputText value="{!ApplyHeadShow.ApplyPerson_Phone__c}" /></td> |
| | | <td style="text-align:left;">姓名 </td> |
| | | <td style="text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Person_In_Charge__r.name}" /> |
| | | </td> |
| | | <td style="text-align:left;" colspan="1">联系电话</td> |
| | | <td style="text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.ApplyPerson_Phone__c}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;" >医疗机构信息</td> |
| | | <td style="text-align:left;" >医疗机构名</td> <td style="text-align:left;font-size: 13px"> <apex:outputText value="{!HospitalName}" /></td> |
| | | <td style="text-align:left;" >科室名</td> <td style="text-align:left;font-size: 13px"><apex:outputText value="{!ApplyHeadShow.Account__r.Department_Name__c}" /></td> |
| | | <td style="text-align:left;">医疗机构信息</td> |
| | | <td style="text-align:left;">医疗机构名</td> |
| | | <td style="text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!HospitalName}" /> |
| | | </td> |
| | | <td style="text-align:left;">科室名</td> |
| | | <td style="text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Account__r.Department_Name__c}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;" rowspan="3" >发货地址</td> <td colspan="2" rowspan="3" style="text-align:left;font-size: 13px"> <apex:outputText styleClass="Shippmentadress" value="{!Shippmentadress}" /></td> |
| | | <td style="text-align:left;" colspan="1">邮编</td> <td style="text-align:left;"> <apex:outputText value="{!IF(ApplyHeadShow.Shipment_address__r.Post_Code__c==null,ApplyHeadShow.Post_Code__c,ApplyHeadShow.Shipment_address__r.Post_Code__c)}" /></td> |
| | | <td style="text-align:left;" rowspan="3">发货地址</td> |
| | | <td colspan="2" rowspan="3" style="text-align:left;font-size: 13px"> |
| | | <apex:outputText styleClass="Shippmentadress" value="{!Shippmentadress}" /> |
| | | </td> |
| | | <td style="text-align:left;" colspan="1">邮编</td> |
| | | <td style="text-align:left;"> |
| | | <apex:outputText value="{!IF(ApplyHeadShow.Shipment_address__r.Post_Code__c==null,ApplyHeadShow.Post_Code__c,ApplyHeadShow.Shipment_address__r.Post_Code__c)}" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;" colspan="1">接收人姓名</td> <td style="text-align:left;font-size: 13px"> <apex:outputText value="{!ApplyHeadShow.Loaner_received_staff__c}" /></td> |
| | | <td style="text-align:left;" colspan="1">接收人姓名</td> |
| | | <td style="text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Loaner_received_staff__c}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;" colspan="1">接收人电话</td> <td style="text-align:left;font-size: 13px"> <apex:outputText value="{!ApplyHeadShow.Loaner_received_staff_phone__c}" /></td> |
| | | <td style="text-align:left;" colspan="1">接收人电话</td> |
| | | <td style="text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Loaner_received_staff_phone__c}" /> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <table border="1" width="100%" style="border-collapse: collapse;"> |
| | |
| | | </table> |
| | | <table border="1" width="100%" style="border-collapse: collapse;"> |
| | | <colgroup> |
| | | |
| | | |
| | | <col width="19%" /> |
| | | <col width="29%" /> |
| | | <col width="29%" /> |
| | | <col width="23%" /> |
| | | </colgroup> |
| | | <tr> |
| | | <th style="text-align:center;" colspan="4" height="40"> 奥林巴斯备品借用申请・安装人填写栏<small>(必填)</small><br/>到货确认部分为奥林巴斯员工必填项目</th> |
| | | <th style="text-align:center;" colspan="4" height="40"> 奥林巴斯备品借用申请・安装人填写栏 |
| | | <small>(必填)</small> |
| | | <br/>到货确认部分为奥林巴斯员工必填项目</th> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;" >签收者姓名</td> <td style="text-align:left;"></td> |
| | | <td style="text-align:left;">备品安装者姓名</td> <td style="text-align:left;"></td> |
| | | <td style="text-align:left;">签收者姓名</td> |
| | | <td style="text-align:left;"></td> |
| | | <td style="text-align:left;">备品安装者姓名</td> |
| | | <td style="text-align:left;"></td> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;">签收日期</td> <td style="text-align:left;"></td> |
| | | <td style="text-align:left;">安装及安装说明日期</td> <td style="text-align:left;"> </td> |
| | | <td style="text-align:left;">签收日期</td> |
| | | <td style="text-align:left;"></td> |
| | | <td style="text-align:left;">安装及安装说明日期</td> |
| | | <td style="text-align:left;"> </td> |
| | | </tr> |
| | | </table> |
| | | <table border="1" width="100%" style="border-collapse: collapse;"> |
| | | <colgroup> |
| | | |
| | | |
| | | <col width="19%" /> |
| | | <col width="29%" /> |
| | | <col width="29%" /> |
| | | <col width="29%" /> |
| | | <col width="23%" /> |
| | | </colgroup> |
| | | <tr> |
| | | <th style="text-align:center;" colspan="4" height="40"> 医疗机构签收填写栏<small>(必填)</small><br/>敬请使用备品前仔细阅读下方“奥林巴斯备品借用须知”,以明确使用方的责任与义务</th> |
| | | |
| | | <th style="text-align:center;" colspan="4" height="40"> 医疗机构签收填写栏 |
| | | <small>(必填)</small> |
| | | <br/>敬请使用备品前仔细阅读下方“奥林巴斯备品借用须知”,以明确使用方的责任与义务</th> |
| | | |
| | | </tr> |
| | | <!--根据OLY_OCM-260记载,先注释掉(OLY_OCM-251取消注释) --> |
| | | <tr><th style="text-align:center;" height="25" colspan="4">《奥林巴斯备品发货清单》所列备品悉数收到, |
| | | 共计主机{!mainCnt}件,附属品{!accessoryCnt}件;并已接受产品使用说明和了解借用须知。</th></tr> |
| | | <tr> |
| | | <td style="text-align:left;" >签收者姓名</td> <td style="text-align:left;"></td> |
| | | <th style="text-align:center;" height="25" colspan="4">《奥林巴斯备品发货清单》所列备品悉数收到, 共计主机{!mainCnt}件,附属品{!accessoryCnt}件;并已接受产品使用说明和了解借用须知。 |
| | | </th> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;">签收者姓名</td> |
| | | <td style="text-align:left;"></td> |
| | | <td style="text-align:left;" rowspan="2">接收单位(科室)章 </td> |
| | | <td style="text-align:left;" rowspan="2"> </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;">签收日期</td> <td style="text-align:left;"></td> |
| | | |
| | | <td style="text-align:left;">签收日期</td> |
| | | <td style="text-align:left;"></td> |
| | | |
| | | </tr> |
| | | </table> |
| | | <table border="1" width="100%" style="border-collapse: collapse;"> |
| | |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;font-size: 12px"> |
| | | 1,备品:本须知所指的备品,是指本签收单附件《奥林巴斯备品发货清单》所列的由奥林巴斯(北京)销售服务有限公司(以下简称奥林<br/>巴斯)在规定期限内免费提供给借用单位为实施医疗行为或培训等所使用的设备包括产品及相关附属品,附件是本须知有效组成部分,与本<br/>须知具有同等法律效力。<br/> |
| | | 2,备品所有权:备品所有权归属于奥林巴斯公司。未经奥林巴斯公司书面同意,借用单位不得以任何理由向任何第三方转借、转让附件所<br/>列备品,或将附件所列备品作为担保抵押给任何第三方。<br/> |
| | | 3,备品使用权:借用期限内,借用单位对出借的备品享有独立合理的使用权利。若在使用过程中存在不确定情况时,借用单位应及时通知<br/>奥林巴斯公司,奥林巴斯公司将到场给予指导和协助,借用单位不应擅自处理。<br/> |
| | | 4,备品之日常使用与维护:借用单位在使用备品过程中应按照奥林巴斯公司的要求(“产品使用说明书”)内容尽审慎义务正确操作使用、<br/>爱护使用。备品使用前后都应进行必要的清洗消毒(灭菌)及日常检测工作,以确保备品的正常运作。<br/> |
| | | 5,备品损坏、遗失之赔偿责任:附件所列备品若因正常损耗而产生的维修或维护费用,由奥林巴斯公司承担;若因借用单位使用不当或超<br/>期借用等原因造成的备品损坏,借用单位应承担相关维修费用。当备品借用中发生故障需要维修时,应联系奥林巴斯进行检测和维修,不得<br/>擅自将相关备品交由任何第三方维修。若因借用单位原因造成备品遗失时,则借用单位应负赔偿责任。<br/> |
| | | 6,医疗责任事故:备品是符合国家质量标准并经检验合格的医疗器械产品,借用单位应独立依靠其医疗专业水平和能力利用备品进行医疗<br/>活动或培训。借用单位使用备品时所发生的任何问题均由借用单位自行负责、处理。<br/> |
| | | 7,备品返还:借用单位应按照本单注明的使用期限履行按时返还备品的承诺。返回前,借用单位应对备品进行清洗消毒或灭菌,以保证所<br/>有备品接触者的健康安全,同时借用单位有义务为奥林巴斯公司回收备品提供必要协助。<br/> |
| | | 8,借用单位知悉且同意,此次备品出借基于正当合理的理由,而非通过出借备品对借用单位购买、推荐奥林巴斯公司产品、服务等产生任<br/>何不正当影响。<br/> |
| | | 9,借用单位应严格按本单所载使用目的使用备品,禁止将备品用于本单所载使用目的以外的其他用途。<br/> |
| | | 10,若借用单位选择以加盖实际接收备品的借用单位内部部门章或签收者签名方式确认以上内容,实际接收备品的借用单位内部部门或签<br/>收者确认其具备相应资格代表借用单位进行签收和确认。<br/> |
| | | 11,其它:其它未尽事宜,双方应本着友好合作的原则进行协商解决。 |
| | | 1,备品:本须知所指的备品,是指本签收单附件《奥林巴斯备品发货清单》所列的由奥林巴斯(北京)销售服务有限公司(以下简称奥林 |
| | | <br/>巴斯)在规定期限内免费提供给借用单位为实施医疗行为或培训等所使用的设备包括产品及相关附属品,附件是本须知有效组成部分,与本 |
| | | <br/>须知具有同等法律效力。 |
| | | <br/> 2,备品所有权:备品所有权归属于奥林巴斯公司。未经奥林巴斯公司书面同意,借用单位不得以任何理由向任何第三方转借、转让附件所 |
| | | <br/>列备品,或将附件所列备品作为担保抵押给任何第三方。 |
| | | <br/> 3,备品使用权:借用期限内,借用单位对出借的备品享有独立合理的使用权利。若在使用过程中存在不确定情况时,借用单位应及时通知 |
| | | <br/>奥林巴斯公司,奥林巴斯公司将到场给予指导和协助,借用单位不应擅自处理。 |
| | | <br/> 4,备品之日常使用与维护:借用单位在使用备品过程中应按照奥林巴斯公司的要求(“产品使用说明书”)内容尽审慎义务正确操作使用、 |
| | | <br/>爱护使用。备品使用前后都应进行必要的清洗消毒(灭菌)及日常检测工作,以确保备品的正常运作。 |
| | | <br/> 5,备品损坏、遗失之赔偿责任:附件所列备品若因正常损耗而产生的维修或维护费用,由奥林巴斯公司承担;若因借用单位使用不当或超 |
| | | <br/>期借用等原因造成的备品损坏,借用单位应承担相关维修费用。当备品借用中发生故障需要维修时,应联系奥林巴斯进行检测和维修,不得 |
| | | <br/>擅自将相关备品交由任何第三方维修。若因借用单位原因造成备品遗失时,则借用单位应负赔偿责任。 |
| | | <br/> 6,医疗责任事故:备品是符合国家质量标准并经检验合格的医疗器械产品,借用单位应独立依靠其医疗专业水平和能力利用备品进行医疗 |
| | | <br/>活动或培训。借用单位使用备品时所发生的任何问题均由借用单位自行负责、处理。 |
| | | <br/> 7,备品返还:借用单位应按照本单注明的使用期限履行按时返还备品的承诺。返回前,借用单位应对备品进行清洗消毒或灭菌,以保证所 |
| | | <br/>有备品接触者的健康安全,同时借用单位有义务为奥林巴斯公司回收备品提供必要协助。 |
| | | <br/> 8,借用单位知悉且同意,此次备品出借基于正当合理的理由,而非通过出借备品对借用单位购买、推荐奥林巴斯公司产品、服务等产生任 |
| | | <br/>何不正当影响。 |
| | | <br/> 9,借用单位应严格按本单所载使用目的使用备品,禁止将备品用于本单所载使用目的以外的其他用途。 |
| | | <br/> 10,若借用单位选择以加盖实际接收备品的借用单位内部部门章或签收者签名方式确认以上内容,实际接收备品的借用单位内部部门或签 |
| | | <br/>收者确认其具备相应资格代表借用单位进行签收和确认。 |
| | | <br/> 11,其它:其它未尽事宜,双方应本着友好合作的原则进行协商解决。 |
| | | </td> |
| | | <!-- 20211008 ljh SFDC-C7L4ED 增加8,9,10--> |
| | | <!-- 20211008 ljh SFDC-C7L4ED 增加8,9,10--> |
| | | </tr> |
| | | <tr> |
| | | <td style="text-align:left;font-size:12px;border-collapse: collapse;" colspan="2" height="80"> |
| | | 奥林巴斯 北京备品中心地址:北京市朝阳区酒仙桥路10号恒通商务园B12C座西门1F<br /> |
| | | 邮编:100015 TEL:010-59756006-1871 FAX: 010-59756534<br /> |
| | | 奥林巴斯 广州备品中心地址:广州市番禺区东环街番禺大道北537号番山创业中心3号楼1F<br /> |
| | | 邮编:511400 TEL:020-39198888-8876 FAX:020-39198848<br /> |
| | | 奥林巴斯 上海备品中心地址:上海市浦东新区金吉路778号3号楼1F<br /> |
| | | 邮编:201206 TEL:021-60391318-8877 FAX:021-60391316<br /> |
| | | 奥林巴斯 北京备品中心地址:北京市朝阳区酒仙桥路10号恒通商务园B12C座西门1F |
| | | <br /> 邮编:100015 TEL:010-59756006-1871 FAX: 010-59756534 |
| | | <br /> 奥林巴斯 广州备品中心地址:广州市番禺区东环街番禺大道北537号番山创业中心3号楼1F |
| | | <br /> 邮编:511400 TEL:020-39198888-8876 FAX:020-39198848 |
| | | <br /> 奥林巴斯 上海备品中心地址:上海市浦东新区金吉路778号3号楼1F |
| | | <br /> 邮编:201206 TEL:021-60391318-8877 FAX:021-60391316 |
| | | <br /> |
| | | </td> |
| | | <!-- 20210812 SFDC-C5CC5S 修改地址--> |
| | | </tr> |
| | | </table> |
| | | <apex:outputPanel layout="none"> |
| | | <div style="page-break-after: always;"/> |
| | | <div style="page-break-after: always;"></div> |
| | | </apex:outputPanel> |
| | | |
| | | </div> |
| | | <apex:variable value="{!1}" var="pNcnt" /> |
| | | <apex:variable value="{!1}" var="pcnt" /> |
| | | <apex:repeat value="{!records}" var="record"> |
| | | <div style="{position:absolute;width:100%;height:15px"> </div> |
| | | <!-- 20201119 LJH OCSM_BP5-61 update start 主单是显示办事处和备品中心分来显示且内容不同 --> |
| | | <!-- <apex:outputText style="float:left;font-size:22px;margin-top: 15px;" value="{!centreAddress}"/> --> |
| | | <!-- height: 15mm; --> |
| | | <table border="0" width="100%" style="border-collapse: collapse;margin: 0;"> |
| | | <apex:outputPanel layout="none" rendered="{!IF(!IsShowLU , true, false)}"> |
| | | <tr> |
| | | <td style="font-size:22px;"><apex:outputText value="{!IF(record.isAgencyOrCenter,record.AgencyAddressName,centreAddress)}"/></td> |
| | | <td rowspan="2"> |
| | | <img style="float: right; width: 55px; height: 55px;padding: 0px;margin-top: 0mm;" src="{!'/servlet/servlet.FileDownload?file=' + ApplyHeadShow.QRId__c}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="font-size:15px;"><c:PDFWbr targetStr="{!IF(record.AgencyOrCenterAddress=='BeiJingCenter','北京市朝阳区酒仙桥路10号恒通商务园B12C座西门1F 电话:010-59756006-1871',IF(record.AgencyOrCenterAddress=='ShangHaiCenter','上海市浦东新区唐镇创业路183号2幢1F 电话:021-60391318-8877',IF(record.AgencyOrCenterAddress=='GuangZhouCenter','广州市番禺区东环街番禺大道北537号番山创业中心3号楼1F 电话:020-39198888-8876',record.AgencyOrCenterAddress)))}"/></td> |
| | | </tr> |
| | | </apex:outputPanel> |
| | | <apex:outputPanel layout="none" rendered="{!IF(IsShowLU , true, false)}"> |
| | | <tr> |
| | | <td style="font-size:22px;height: 55px;line-height: 55px;"><apex:outputText value="{!centreAddress}"/> |
| | | </td> |
| | | <td> |
| | | <img style="float: right; width: 55px; height: 55px;padding: 0px;margin-top: 0mm;" src="{!'/servlet/servlet.FileDownload?file=' + ApplyHeadShow.QRId__c}" /> |
| | | </td> |
| | | </tr> |
| | | </apex:outputPanel> |
| | | </table> |
| | | <!-- 20201119 LJH OCSM_BP5-61 update end 主单是显示办事处和备品中心分来显示且内容不同 --> |
| | | <!-- margin-top: 15mm; --> |
| | | <table border="1" width="100%" style="border-collapse: collapse;"> |
| | | <tr> |
| | | <th style="box-sizing: border-box;text-align:center;font-size:24px;font-weight:900;" height="40">奥林巴斯备品发货清单 |
| | | <!-- <img style="float: right; width: 35px; height: 35px;padding: 0px;" src="{!'/servlet/servlet.FileDownload?file=' + ApplyHeadShow.QRId__c}" /> --> |
| | | <!-- <td align="right" valign="top"><apex:outputField value="{!ApplyHeadShow.QRImg__c}" /></td> --> |
| | | </th> |
| | | </tr> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:right;font-size:13px;" >备品管理中心申请单号:<apex:outputText value="{!ApplyHeadShow.Name}" /></td> <!-- {!RentalApplyName} 20201119 LJH OCSM_BP5-61 update--> |
| | | </tr> |
| | | <tr style="background-color:white;"> |
| | | <td style="box-sizing: border-box;text-align:right;font-size:13px;">本单附件第( {!pNcnt})页/共( {!pageCnt})页</td> |
| | | </tr> |
| | | <tr> |
| | | <th style="box-sizing: border-box;text-align:center;font-size:16px;"> |
| | | ※提示 |
| | | </th> |
| | | </tr> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:left;font-size:12.3px;">本《奥林巴斯备品发货清单》一式两份,由奥林巴斯备品借用申请人(备品安装人)和医疗机构借用方各执一份,作为出借和归还时双方进<br/>行清点确认凭证 |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | <div class="pdf-page"> |
| | | <div class="title1"> </div> |
| | | <!-- 20201119 LJH OCSM_BP5-61 update start 主单是显示办事处和备品中心分来显示且内容不同 --> |
| | | <!-- <apex:outputText style="float:left;font-size:22px;margin-top: 15px;" value="{!centreAddress}"/> --> |
| | | <!-- height: 15mm; --> |
| | | <table border="0" width="100%" style="border-collapse: collapse;margin: 0;"> |
| | | <apex:outputPanel layout="none" rendered="{!IF(!IsShowLU , true, false)}"> |
| | | <tr> |
| | | |
| | | <td style="font-size:22px;"> |
| | | <!-- 20220413 ljh 抬头显示 update start --> |
| | | <!-- <apex:outputText value="{!IF(record.isAgencyOrCenter,record.AgencyAddressName,centreAddress)}" /> --> |
| | | <apex:outputText value="{!IF(isAgencyOrCenter,AgencyAddressName,centreAddress)}" /> |
| | | <!-- 20220413 ljh 抬头显示 update end --> |
| | | </td> |
| | | |
| | | <td rowspan="2"> |
| | | <img style="float: right; width: 55px; height: 55px;padding: 0px;margin-top: 0mm;" src="{!qrcode}" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="font-size:15px;"> |
| | | <!-- 20220413 ljh 抬头显示 update start --> |
| | | <!-- <c:PDFWbr targetStr="{!IF(record.AgencyOrCenterAddress=='BeiJingCenter','北京市朝阳区酒仙桥路10号恒通商务园B12C座西门1F 电话:010-59756006-1871',IF(record.AgencyOrCenterAddress=='ShangHaiCenter','上海市浦东新区唐镇创业路183号2幢1F 电话:021-60391318-8877',IF(record.AgencyOrCenterAddress=='GuangZhouCenter','广州市番禺区东环街番禺大道北537号番山创业中心3号楼1F 电话:020-39198888-8876',record.AgencyOrCenterAddress)))}" |
| | | /> --> |
| | | <c:PDFWbr targetStr="{!IF(AgencyOrCenterAddress=='BeiJingCenter','北京市朝阳区酒仙桥路10号恒通商务园B12C座西门1F 电话:010-59756006-1871',IF(AgencyOrCenterAddress=='ShangHaiCenter','上海市浦东新区金吉路778号3号楼1F 电话:021-60391318-8877',IF(AgencyOrCenterAddress=='GuangZhouCenter','广州市番禺区东环街番禺大道北537号番山创业中心3号楼1F 电话:020-39198888-8876',AgencyOrCenterAddress)))}" |
| | | /> |
| | | <!-- 20220413 ljh 抬头显示 update start --> |
| | | </td> |
| | | </tr> |
| | | </apex:outputPanel> |
| | | <apex:outputPanel layout="none" rendered="{!IF(IsShowLU , true, false)}"> |
| | | <tr> |
| | | <td style="font-size:22px;height: 55px;line-height: 55px;"> |
| | | <apex:outputText value="{!centreAddress}" /> |
| | | </td> |
| | | <td> |
| | | <img style="float: right; width: 55px; height: 55px;padding: 0px;margin-top: 0mm;" src="{!qrcode}" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | </apex:outputPanel> |
| | | </table> |
| | | <!-- 20201119 LJH OCSM_BP5-61 update end 主单是显示办事处和备品中心分来显示且内容不同 --> |
| | | <!-- margin-top: 15mm; --> |
| | | <table border="1" width="100%" style="border-collapse: collapse;"> |
| | | <tr> |
| | | <th style="box-sizing: border-box;text-align:center;font-size:24px;font-weight:900;" height="40">奥林巴斯备品发货清单 |
| | | <!-- <img style="float: right; width: 35px; height: 35px;padding: 0px;" src="{!qrcode}" /> --> |
| | | <!-- <td align="right" valign="top"><apex:outputField value="{!ApplyHeadShow.QRImg__c}" /></td> --> |
| | | </th> |
| | | </tr> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:right;font-size:13px;">备品管理中心申请单号: |
| | | <apex:outputText value="{!ApplyHeadShow.Name}" /> |
| | | </td> |
| | | <!-- {!RentalApplyName} 20201119 LJH OCSM_BP5-61 update--> |
| | | </tr> |
| | | <tr style="background-color:white;"> |
| | | <td style="box-sizing: border-box;text-align:right;font-size:13px;">本单附件第( {!pNcnt})页/共( {!pageCnt})页</td> |
| | | </tr> |
| | | <tr> |
| | | <th style="box-sizing: border-box;text-align:center;font-size:16px;"> |
| | | ※提示 |
| | | </th> |
| | | </tr> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:left;font-size:12.3px;">本《奥林巴斯备品发货清单》一式两份,由奥林巴斯备品借用申请人(备品安装人)和医疗机构借用方各执一份,作为出借和归还时双方进 |
| | | <br/>行清点确认凭证 |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <table border="1" width="100%" style="border-collapse: collapse;"> |
| | | <colgroup> |
| | | <col width="4%" /> |
| | | <col width="8%" /> |
| | | <col width="20%" /> |
| | | <col width="11%" /> |
| | | <col width="29%" /> |
| | | <col width="9%" /> |
| | | <col width="9%" /> |
| | | <col width="7%" /> |
| | | </colgroup> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;height: 16px;" colspan="2">申请人</td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Person_In_Charge__r.name}" /> |
| | | </td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;border-left: solid 1px;" rowspan="2">医疗机构</td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH update colspan="4" --> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px;" colspan="5" rowspan="2"> |
| | | <apex:outputText value="{!HospitalName}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;" colspan="2">使用目的</td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px;border-right: solid 1px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Demo_purpose1__c}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;height: 16px;" colspan="2">收件者姓名</td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Loaner_received_staff__c}" /> |
| | | </td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;border-left: solid 1px;" rowspan="2">发货地址</td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH update colspan="4" --> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px;" colspan="5" rowspan="2"> |
| | | <apex:outputText styleClass="address" value="{!if(isblank(ApplyHeadShow.Shippment_adress_detail__c), ApplyHeadShow.direct_shippment_address__c, ApplyHeadShow.Shippment_adress_detail__c)}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;" colspan="2">收件者电话</td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px;border-right: solid 1px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Loaner_received_staff_phone__c}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <!-- 20220124 ljh SFDC-C4U3PH update colspan="8" --> |
| | | <th style="text-align:center;font-size:13px;height: 7pt;" colspan="9" >借用备品发货清单</th> |
| | | </tr> |
| | | <tr> |
| | | <td rowspan="2" style="box-sizing: border-box;text-align:center;font-size: 11px;">序号</td> |
| | | <td rowspan="2" style="box-sizing: border-box;text-align:center;font-size: 11px;">管理编号</td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH update colspan="6" --> |
| | | <td colspan="7" style="box-sizing: border-box;text-align:center;font-size: 11px;">明细</td> |
| | | </tr> |
| | | <tr> |
| | | <!-- <td style="text-align:center;">序号</td> |
| | | <table border="1" width="100%" style="border-collapse: collapse;"> |
| | | <colgroup> |
| | | <col width="4%" /> |
| | | <col width="8%" /> |
| | | <col width="20%" /> |
| | | <col width="11%" /> |
| | | <col width="29%" /> |
| | | <col width="9%" /> |
| | | <col width="9%" /> |
| | | <col width="7%" /> |
| | | </colgroup> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;height: 16px;" colspan="2">申请人</td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Person_In_Charge__r.name}" /> |
| | | </td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;border-left: solid 1px;" rowspan="2">医疗机构</td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH update colspan="4" --> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px;" colspan="5" rowspan="2"> |
| | | <apex:outputText value="{!HospitalName}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;" colspan="2">使用目的</td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px;border-right: solid 1px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Demo_purpose1__c}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;height: 16px;" colspan="2">收件者姓名</td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Loaner_received_staff__c}" /> |
| | | </td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;border-left: solid 1px;" rowspan="2">发货地址</td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH update colspan="4" --> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px;" colspan="5" rowspan="2"> |
| | | <apex:outputText styleClass="address" value="{!if(isblank(ApplyHeadShow.Shippment_adress_detail__c), ApplyHeadShow.direct_shippment_address__c, ApplyHeadShow.Shippment_adress_detail__c)}" |
| | | /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:center;font-size:13px;" colspan="2">收件者电话</td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 13px;border-right: solid 1px"> |
| | | <apex:outputText value="{!ApplyHeadShow.Loaner_received_staff_phone__c}" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <!-- 20220124 ljh SFDC-C4U3PH update colspan="8" --> |
| | | <th style="text-align:center;font-size:13px;height: 7pt;" colspan="9">借用备品发货清单</th> |
| | | </tr> |
| | | <tr> |
| | | <td rowspan="2" style="box-sizing: border-box;text-align:center;font-size: 11px;">序号</td> |
| | | <td rowspan="2" style="box-sizing: border-box;text-align:center;font-size: 11px;">管理编号</td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH update colspan="6" --> |
| | | <td colspan="7" style="box-sizing: border-box;text-align:center;font-size: 11px;">明细</td> |
| | | </tr> |
| | | <tr> |
| | | <!-- <td style="text-align:center;">序号</td> |
| | | <td style="text-align:center;">备品set型号</td> |
| | | <td style="text-align:center;">管理编号</td> |
| | | <td style="text-align:center;">产品型号</td> |
| | | <td style="text-align:center;">机身号</td> |
| | | <td style="text-align:center;">附属品明细</td> --> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 11px;">明细型号</td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 11px;" colspan="2">中文名称</td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 11px;">机身号</td> |
| | | <td style="text-align:center;font-size: 11px;">固定资产号</td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 11px;">货位号</td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH add start --> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 11px;">备注</td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH add end --> |
| | | <!-- <td style="text-align:center;">二维码</td> --> |
| | | </tr> |
| | | <apex:repeat value="{!record.lineList}" var="line"> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 10px;height:30px;padding: 0px;"><c:PDFWbr targetStr="{!line.index}" /></td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"><c:PDFWbr targetStr="{!line.dManagementnumber}" /></td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"><c:PDFWbr targetStr="{!line.dModelNo}" /></td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;" colspan="2"><c:PDFWbr targetStr="{!line.dChinaName}" /></td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"><c:PDFWbr targetStr="{!line.dSerialNumber}" /></td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"><c:PDFWbr targetStr="{!line.dLoaner_asset_no}" /></td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"><c:PDFWbr targetStr="{!line.wh_location}" /></td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 11px;">明细型号</td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 11px;" colspan="2">中文名称</td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 11px;">机身号</td> |
| | | <td style="text-align:center;font-size: 11px;">固定资产号</td> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 11px;">货位号</td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH add start --> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"><c:PDFWbr targetStr="" /></td> |
| | | <!-- {!line.Received_ng_detail} --> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 11px;min-width:30px">备注</td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH add end --> |
| | | <!-- <td style="text-align:center;font-size: 10px"><c:PDFWbr targetStr="{!line.dQRCode}" /></td> --> |
| | | <!-- <td style="text-align:center;">二维码</td> --> |
| | | </tr> |
| | | <apex:repeat value="{!record.lineList}" var="line"> |
| | | <tr> |
| | | <td style="box-sizing: border-box;text-align:center;font-size: 10px;height:30px;padding: 0px;"> |
| | | <c:PDFWbr targetStr="{!line.index}" /> |
| | | </td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"> |
| | | <c:PDFWbr targetStr="{!line.dManagementnumber}" /> |
| | | </td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"> |
| | | <c:PDFWbr targetStr="{!line.dModelNo}" /> |
| | | </td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;" colspan="2"> |
| | | <c:PDFWbr targetStr="{!line.dChinaName}" /> |
| | | </td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"> |
| | | <c:PDFWbr targetStr="{!line.dSerialNumber}" /> |
| | | </td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"> |
| | | <c:PDFWbr targetStr="{!line.dLoaner_asset_no}" /> |
| | | </td> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"> |
| | | <c:PDFWbr targetStr="{!line.wh_location}" /> |
| | | </td> |
| | | <!-- 20220124 ljh SFDC-C4U3PH add start --> |
| | | <td style="box-sizing: border-box;text-align:left;font-size: 10px;padding: 0px;"> |
| | | <c:PDFWbr targetStr="" /> |
| | | </td> |
| | | <!-- {!line.Received_ng_detail} --> |
| | | <!-- 20220124 ljh SFDC-C4U3PH add end --> |
| | | <!-- <td style="text-align:center;font-size: 10px"><c:PDFWbr targetStr="{!line.dQRCode}" /></td> --> |
| | | |
| | | <!-- <td style="text-align:left;font-size: 13px"><apex:outputText value="{!IF(pcnt < AllSum +1,pcnt,'')}" /></td> --> |
| | | <!-- <td style="text-align:left;font-size: 13px"><apex:outputText value="{!line.index}" /></td> |
| | | <!-- <td style="text-align:left;font-size: 13px"><apex:outputText value="{!IF(pcnt < AllSum +1,pcnt,'')}" /></td> --> |
| | | <!-- <td style="text-align:left;font-size: 13px"><apex:outputText value="{!line.index}" /></td> |
| | | <td style="text-align:left;font-size: 13px"><apex:outputText value="{!line.setName}" /></td> |
| | | <td style="text-align:left;font-size: 13px"><apex:outputText value="{!line.name1}" /></td> |
| | | <td style="text-align:left;font-size: 13px"><apex:outputText value="{!line.LoanerCode}" /></td> |
| | | <td style="text-align:left;font-size: 13px"><apex:outputText value="{!line.serialNumber1}" /></td> |
| | | <td style="text-align:left;font-size: 13px"><apex:outputText value="{!line.AssetModelNo}" /></td> --> |
| | | </tr> |
| | | <apex:variable value="{!pcnt + 1}" var="pcnt" /> |
| | | </apex:repeat> |
| | | </table> |
| | | <!-- 20211209 ljh SFDC-C923SR 条形码 --> |
| | | <img style="float:left;position:absolute;z-index: 99;" src="{!barcode}" /> |
| | | </tr> |
| | | <apex:variable value="{!pcnt + 1}" var="pcnt" /> |
| | | </apex:repeat> |
| | | </table> |
| | | <!-- 20211209 ljh SFDC-C923SR 条形码 --> |
| | | <img style="float:left;position:absolute;z-index: 99;" src="{!barcode}" /> |
| | | <div style="height:30px"></div> |
| | | <!-- 20211209 ljh SFDC-C923SR 条形码 --> |
| | | <div style="{position:absolute;width:100%;height:20px"> </div> |
| | | <apex:outputPanel rendered="{!pNcnt < pageCnt}" layout="none"> |
| | | <!-- <div style="{position:absolute;width:100%;height:30px"> </div> |
| | | <div style="{position:absolute;width:100%;height:30px"> </div>--> |
| | | <div style="page-break-after: always;"/> |
| | | </apex:outputPanel> |
| | | <apex:variable value="{!pNcnt+1}" var="pNcnt" /> |
| | | <!-- 20211209 ljh SFDC-C923SR 条形码 --> |
| | | <div style="{position:absolute;width:100%;height:20px"> </div> |
| | | <apex:outputPanel rendered="{!pNcnt < pageCnt}" layout="none"> |
| | | <!-- <div style="{position:absolute;width:100%;height:30px"> </div> |
| | | <div style="{position:absolute;width:100%;height:30px"> </div>--> |
| | | <div style="page-break-after: always;" /> |
| | | </apex:outputPanel> |
| | | <apex:variable value="{!pNcnt+1}" var="pNcnt" /> |
| | | </div> |
| | | </apex:repeat> |
| | | |
| | | </apex:outputPanel> |
| | | </div> |
| | | </body> |
| | | <script> |
| | | console.log('----start----') |
| | | console.log('----{!ApplyHeadShow.AWS_Data_Id__c}----') |
| | | AWSService.sfSessionId = '{!GETSESSIONID()}'; |
| | | //sforce.connection.sessionId = '{!GETSESSIONID()}'; |
| | | var staticResources = JSON.parse('{!staticResource}'); |
| | | //blockme(); |
| | | document.body.onload = function(){ |
| | | console.log('document.body.onload') |
| | | if ({!addFlag} || !'{!ApplyHeadShow.Shippment_adress_detail__c}') { |
| | | AWSService.query(staticResources.queryUrl, '{!ApplyHeadShow.AWS_Data_Id__c}', function(data){ |
| | | console.log('data----------') |
| | | console.log(data); |
| | | //unblockUI(); |
| | | if ({!addFlag}) { |
| | | jQuery(".Shippmentadress").html(data.object.directShippmentAddress); |
| | | } |
| | | //document.getElementById("Caller_phone__c").innerHTML = data.object.callerPhone; |
| | | if (!'{!ApplyHeadShow.Shippment_adress_detail__c}') { |
| | | jQuery(".address").html(data.object.directShippmentAddress); |
| | | //document.getElementById("allPage:address").innerHTML = data.object.directShippmentAddress; |
| | | } |
| | | jsPdfDownload(); |
| | | }, staticResources.token); |
| | | }else{ |
| | | jsPdfDownload(); |
| | | } |
| | | </apex:outputPanel> |
| | | </div> |
| | | </body> |
| | | <script> |
| | | console.log('----start----') |
| | | console.log('----{!ApplyHeadShow.AWS_Data_Id__c}----') |
| | | AWSService.sfSessionId = '{!GETSESSIONID()}'; |
| | | //sforce.connection.sessionId = '{!GETSESSIONID()}'; |
| | | var staticResources = JSON.parse('{!staticResource}'); |
| | | //blockme(); |
| | | document.body.onload = function () { |
| | | console.log('document.body.onload') |
| | | if ({!addFlag |
| | | } || !'{!ApplyHeadShow.Shippment_adress_detail__c}') { |
| | | AWSService.query(staticResources.queryUrl, '{!ApplyHeadShow.AWS_Data_Id__c}', function (data) { |
| | | console.log('data----------') |
| | | console.log(data); |
| | | //unblockUI(); |
| | | if ({!addFlag |
| | | }) { |
| | | jQuery(".Shippmentadress").html(data.object.directShippmentAddress); |
| | | } |
| | | //document.getElementById("Caller_phone__c").innerHTML = data.object.callerPhone; |
| | | if (!'{!ApplyHeadShow.Shippment_adress_detail__c}') { |
| | | jQuery(".address").html(data.object.directShippmentAddress); |
| | | //document.getElementById("allPage:address").innerHTML = data.object.directShippmentAddress; |
| | | } |
| | | jsPdfDownload(); |
| | | }, staticResources.token); |
| | | }else { |
| | | jsPdfDownload(); |
| | | } |
| | | |
| | | |
| | | } |
| | | function jsPdfDownload(){ |
| | | let pdfName = "测试"; |
| | | let id = "pdf-wrapper"; |
| | | var target = document.getElementById(id); |
| | | target.style.background = "#FFFFFF"; |
| | | if(pdfName==''||pdfName==undefined) pdfName= getNowFormatDate(); |
| | | |
| | | html2canvas(target, { |
| | | function jsPdfDownload() { |
| | | |
| | | let jtargets = jQuery("#pdf-wrapper .pdf-page"); |
| | | let j_arr = new Array(jtargets.length + 1).join(0).split('').map(function () { return false }); |
| | | let landscape = false; |
| | | let pw = 595.28; |
| | | let ph = 841.89; |
| | | const marginw = 40; |
| | | |
| | | let orientation = ''; |
| | | if (landscape) { |
| | | pw += ph; ph = pw - ph; pw = pw - ph; |
| | | orientation = 'l'; |
| | | } |
| | | var pdf = new jsPDF(orientation, 'pt', 'a4');// 第一个参数填字母l,注意不是数字1,为横向pdf |
| | | jtargets.each(function (i, e) { |
| | | e.style.background = "#FFFFFF"; |
| | | }) |
| | | |
| | | let rei = 0; |
| | | let recursion = null; |
| | | recursion = function (i) { |
| | | if (i >= jtargets.length) { |
| | | Fun(pdf); |
| | | return; |
| | | } |
| | | e = jtargets[i]; |
| | | html2canvas(e, { |
| | | scale: 2, |
| | | onrendered:function(canvas) { |
| | | onrendered: function (canvas) { |
| | | |
| | | let canvas_max_page_num = 1; |
| | | let canvas_current_page_num = 0; |
| | | var contentWidth = canvas.width; |
| | | var contentHeight = canvas.height; |
| | | |
| | | |
| | | //一页pdf显示html页面生成的canvas高度; |
| | | var pageHeight = contentWidth / 592.28 * 841.89; |
| | | var pageHeight = contentWidth / pw * ph; |
| | | //未生成pdf的html页面高度 |
| | | var leftHeight = contentHeight; |
| | | //页面偏移 |
| | | var position = 0; |
| | | //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高 |
| | | var imgWidth = 565.28;//595.28//左右边距20 |
| | | var imgHeight = 605.28/contentWidth * contentHeight;//左右边距20 |
| | | |
| | | var imgWidth = pw - 2 * marginw;//595.28//左右边距20 |
| | | var imgHeight = imgWidth / contentWidth * contentHeight;//左右边距20 |
| | | |
| | | var pageData = canvas.toDataURL('image/jpeg', 1.0); |
| | | |
| | | var pdf = new jsPDF('', 'pt', 'a4'); |
| | | |
| | | |
| | | |
| | | if (i) { |
| | | pdf.addPage(); |
| | | } |
| | | //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89) |
| | | //当内容未超过pdf一页显示的范围,无需分页 |
| | | if (leftHeight < pageHeight) { |
| | | pdf.addImage(pageData, 'JPEG', 15, 0, imgWidth, imgHeight );//左右边距7.5 |
| | | pdf.addImage(pageData, 'JPEG', marginw, 0, imgWidth, imgHeight);//左右边距20 |
| | | } else { |
| | | while(leftHeight > 0) { |
| | | pdf.addImage(pageData, 'JPEG', 15, position, imgWidth, imgHeight)//左右边距7.5 |
| | | while (leftHeight > 0) { |
| | | |
| | | |
| | | canvas_current_page_num++; |
| | | pdf.addImage(pageData, 'JPEG', marginw, position, imgWidth, imgHeight)//左右边距20 |
| | | leftHeight -= pageHeight; |
| | | position -= 841.89; |
| | | position -= ph; |
| | | |
| | | if (canvas_max_page_num > 0 && canvas_current_page_num >= canvas_max_page_num) { |
| | | break; |
| | | } |
| | | |
| | | //避免添加空白页 |
| | | if(leftHeight > 0) { |
| | | if (leftHeight > 0) { |
| | | pdf.addPage(); |
| | | } |
| | | } |
| | | } |
| | | Fun(pdf); |
| | | |
| | | recursion(i + 1); |
| | | } |
| | | }) |
| | | } |
| | | var staticResourceFile = JSON.parse('{!staticResourceFile}'); |
| | | function Fun(pdf){ |
| | | var form = jQuery("<form method='post'></form>"); |
| | | jQuery(document.body).append(form); |
| | | let href = window.location.href |
| | | let arr = href.split('/') |
| | | form.attr({"action":staticResourceFile.viewUnifiedContactUrl+"?from="+encodeURIComponent(href)+"&fileName="+encodeURIComponent(arr[arr.length-1].split('?')[0])}); |
| | | // form.attr({"action":"http://127.0.0.1:8080/a/d?from="+encodeURIComponent(window.location.href)}); |
| | | let input = jQuery("<input type='hidden'/>"); |
| | | input.attr({"name":"base64Str"}); |
| | | input.val(pdf.output('datauristring').substr(28)); |
| | | form.append(input); |
| | | form.submit(); |
| | | } |
| | | </script> |
| | | }; |
| | | recursion(rei); |
| | | |
| | | |
| | | |
| | | } |
| | | var staticResourceFile = JSON.parse('{!staticResourceFile}'); |
| | | function Fun(pdf) { |
| | | |
| | | var form = jQuery("<form method='post'></form>"); |
| | | jQuery(document.body).append(form); |
| | | let href = window.location.href |
| | | let arr = href.split('/') |
| | | form.attr({ "action": staticResourceFile.viewUnifiedContactUrl + "?from=" + encodeURIComponent(href) + "&fileName=" + encodeURIComponent(arr[arr.length - 1].split('?')[0]) }); |
| | | // form.attr({"action":"http://127.0.0.1:8080/a/d?from="+encodeURIComponent(window.location.href)}); |
| | | let input = jQuery("<input type='hidden'/>"); |
| | | input.attr({ "name": "base64Str" }); |
| | | input.val(pdf.output('datauristring').substr(28)); |
| | | form.append(input); |
| | | form.submit(); |
| | | |
| | | // jQuery("body > *").each(function(){ |
| | | // jQuery(this).css('display','none'); |
| | | // }) |
| | | // jQuery("body").append('<embed style="position:absolute; left: 0; top: 0;" width="100%" height="100%" src="'+pdf.output('datauristring')+'" type="application/pdf"/>') |
| | | |
| | | } |
| | | </script> |
| | | |
| | | </html> |
| | | </apex:page> |
| | |
| | | var staticResourceFile = JSON.parse('{!staticResourceFile}'); |
| | | function Fun(pdf){ |
| | | |
| | | var form = jQuery("<form method='post'></form>"); |
| | | jQuery(document.body).append(form); |
| | | let href = window.location.href |
| | | let arr = href.split('/') |
| | | form.attr({"action":staticResourceFile.viewUnifiedContactUrl+"?from="+encodeURIComponent(href)+"&fileName="+encodeURIComponent(arr[arr.length-1].split('?')[0])}); |
| | | // form.attr({"action":"http://127.0.0.1:8080/a/d?from="+encodeURIComponent(window.location.href)}); |
| | | let input = jQuery("<input type='hidden'/>"); |
| | | input.attr({"name":"base64Str"}); |
| | | input.val(pdf.output('datauristring').substr(28)); |
| | | form.append(input); |
| | | form.submit(); |
| | | // var form = jQuery("<form method='post'></form>"); |
| | | // jQuery(document.body).append(form); |
| | | // let href = window.location.href |
| | | // let arr = href.split('/') |
| | | // form.attr({"action":staticResourceFile.viewUnifiedContactUrl+"?from="+encodeURIComponent(href)+"&fileName="+encodeURIComponent(arr[arr.length-1].split('?')[0])}); |
| | | // // form.attr({"action":"http://127.0.0.1:8080/a/d?from="+encodeURIComponent(window.location.href)}); |
| | | // let input = jQuery("<input type='hidden'/>"); |
| | | // input.attr({"name":"base64Str"}); |
| | | // input.val(pdf.output('datauristring').substr(28)); |
| | | // form.append(input); |
| | | // form.submit(); |
| | | |
| | | // jQuery("body > *").each(function(){ |
| | | // jQuery(this).css('display','none'); |
| | | // }) |
| | | // jQuery("body").append('<embed style="position:absolute; left: 0; top: 0;" width="100%" height="100%" src="'+pdf.output('datauristring')+'" type="application/pdf"/>') |
| | | jQuery("body > *").each(function(){ |
| | | jQuery(this).css('display','none'); |
| | | }) |
| | | jQuery("body").append('<embed style="position:absolute; left: 0; top: 0;" width="100%" height="100%" src="'+pdf.output('datauristring')+'" type="application/pdf"/>') |
| | | |
| | | } |
| | | |
| | |
| | | <!-- |
| | | @description : |
| | | @author : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | @group : |
| | | @last modified on : 03-23-2022 |
| | | @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | --> |
| | | <apex:page standardController="ASEActivity__c" extensions="NewAndEditASEActivityController" id="page"> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> |
| | | <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> |
| | |
| | | |
| | | //payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | }, |
| | |
| | | |
| | | function ProcessPI(sobjJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(sobjJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(sobjJson, payloadForNewPI) |
| | |
| | | function validateFieldValueFormate() { |
| | | let error_msg = ''; |
| | | // let textEmail = "[data-id='Email']"; |
| | | let textPhone = "[data-id='CustomerTel__c']"; |
| | | //let textPhone = "[data-id='CustomerTel__c']"; |
| | | // //Email |
| | | // let email = document.querySelector(textEmail); |
| | | // if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | // error_msg += ';邮件格式错误'; |
| | | // } |
| | | let phone = document.querySelector(textPhone); |
| | | // let phone = document.querySelector(textPhone); |
| | | |
| | | if(phone ){ |
| | | if(phone.value){ |
| | | if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | }else{ |
| | | if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | } |
| | | } |
| | | // if(phone ){ |
| | | // if(phone.value){ |
| | | // if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | // error_msg += ';电话号码错误'; |
| | | // } |
| | | // }else{ |
| | | // if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ |
| | | // error_msg += ';电话号码错误'; |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | let es = document.getElementsByTagName('select') |
| | | for(let ei in es){ |
| | |
| | | } else { |
| | | result[field_api_name] = ele.value; |
| | | } |
| | | } |
| | | if(document.getElementById(api_id_map['Purpose_Type__c'])){ |
| | | result['Purpose_Type__c'] = document.getElementById(api_id_map['Purpose_Type__c']).value!='_\x01_'?document.getElementById(api_id_map['Purpose_Type__c']).value:''; |
| | | } |
| | | return result; |
| | | } |
| | |
| | | <div class="ptBody"> |
| | | <div class="content"> |
| | | <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> |
| | | <span class="titleSeparatingColon">:</span> |
| | | </h1> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <div class="blank"> </div> |
| | | </div> |
| | | <div class="links"> |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!ASEActivity__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!ASEActivity__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!ASEActivity__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!ASEActivity__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | </apex:pageBlockSection> |
| | | </apex:repeat> |
| | | <script> |
| | | var init_nodes = document.getElementsByClassName("PIBackApi"); |
| | | var api_id_map={}; |
| | | for(let ei in init_nodes){ |
| | | let e = init_nodes[ei]; |
| | | if(IsFormElement(e)){ |
| | | if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ |
| | | api_id_map[GetEleApiName(e)] = e.id; |
| | | } |
| | | |
| | | } |
| | | } |
| | | console.log(api_id_map); |
| | | var init_nodes = document.getElementsByClassName("PIBackApi"); |
| | | var api_id_map={}; |
| | | for(let ei in init_nodes){ |
| | | let e = init_nodes[ei]; |
| | | if(IsFormElement(e)){ |
| | | if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ |
| | | api_id_map[GetEleApiName(e)] = e.id; |
| | | } |
| | | |
| | | } |
| | | } |
| | | console.log(api_id_map); |
| | | |
| | | |
| | | sfdcPage.appendToOnloadQueue(function () { |
| | |
| | | //Replace Vlookup Field |
| | | replaceSearchContactLookup(); |
| | | document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | jQuery('a[data-id="OwnerId"]').remove(); |
| | | /* |
| | | jQuery(".lookupInput").each(function(i,e){ |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | <!-- |
| | | @description : |
| | | @author : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | @group : |
| | | @last modified on : 03-23-2022 |
| | | @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | --> |
| | | <apex:page standardController="Address__c" extensions="NewAndEditAddressController" id="page"> |
| | | <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> |
| | |
| | | var VLookUpFields = new Set(['Contacts__c', 'Province__c', 'City__c', 'Customer__c']); |
| | | function ProcessPI(addressJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(addressJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(addressJson, payloadForNewPI) |
| | |
| | | if(phone ){ |
| | | if(phone.value){ |
| | | if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | error_msg += ';电话号码错误'; |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | }else{ |
| | | if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ |
| | |
| | | |
| | | let nodelist = document.querySelectorAll("[data-id]"); |
| | | let result = {} |
| | | result.RecordTypeId = '{!rtTypeId}'; |
| | | //result.RecordTypeId = '{!rtTypeId}'; |
| | | for (let index = 0; index < nodelist.length; index++) { |
| | | if (VLookUpFields.has(nodelist[index].getAttribute("data-id"))) { |
| | | console.log(nodelist[index].id.indexOf('lkwgt')); |
| | |
| | | payloadJson.Detailed_Address_Encrypted__c = r.object[0].detailedAddressEncrypt; |
| | | //payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | } |
| | |
| | | //1. Check account value |
| | | let accountNodeId = document.querySelector("[data-id='Customer__c']").id + '_lkid'; |
| | | let accountValue = document.getElementById(accountNodeId).value; |
| | | let searchContactKeyWord = document.querySelector("[data-id='Customer__c']").value; |
| | | let searchContactKeyWord = document.querySelector("[data-id='Contacts__c']").value; |
| | | console.log(accountValue); |
| | | if (accountValue != '000000000000000') { |
| | | let baseUrl = "/apex/SearchContactPage"; |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">收货地址编辑</h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveAddressProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveAddressProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Address__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Address__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Address__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Address__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | replaceSearchContactLookup(); |
| | | //3. Set Readonly Attribute |
| | | // document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | /* |
| | | jQuery(".lookupInput").each(function(i,e){ |
| | | let je =jQuery(e).find('input'); |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveAddressProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveAddressProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | //payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | }, |
| | |
| | | } |
| | | |
| | | var staticResources = JSON.parse('{!staticResource}'); |
| | | var staticResourceAWSContact = JSON.parse('{!staticResourceAWSContact}'); |
| | | |
| | | var requiredFieldAPIList = JSON.parse('{!requiredFieldAPIListStr}'); |
| | | var fieldAPIToLabelMap = JSON.parse('{!fieldAPIToLabelMapStr}'); |
| | | console.log('{!staticResource}'); |
| | | var VLookUpFields = {! VLookUpFieldsJson}; |
| | | function ProcessPI(sobjJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | NewPIToAWS(sobjJson, payloadForNewPI) |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(sobjJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(sobjJson, payloadForNewPI) |
| | | } |
| | |
| | | } |
| | | return ['input','select','textarea'].indexOf(tag_name.toLowerCase())>-1; |
| | | } |
| | | |
| | | function IsFormElement(e){ |
| | | |
| | | function IsFormElement(e){ |
| | | return IsFormTag(e.tagName); |
| | | } |
| | | |
| | |
| | | let contactsInfo = JSON.parse('{!LookUpOverrideFieldsMapJson}'); |
| | | let dataId = contactsInfo[sfId]; |
| | | |
| | | AWSService.query(staticResourcesContact.queryUrl,dataId,function(result){ |
| | | if(result.object){ |
| | | document.querySelector("[data-id='Contact__c']").value = result.object.lastName; |
| | | } |
| | | |
| | | },staticResources.token); |
| | | if(dataId){ |
| | | AWSService.query(staticResourceAWSContact.queryUrl,dataId,function(result){ |
| | | if(result.object){ |
| | | document.querySelector("[data-id='Contact__c']").value = result.object.lastName; |
| | | } |
| | | |
| | | },staticResources.token); |
| | | } |
| | | |
| | | } |
| | | |
| | | </script> |
| | |
| | | <div class="ptBody"> |
| | | <div class="content"> |
| | | <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> |
| | | <span class="titleSeparatingColon">:</span> |
| | | </h1> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <div class="blank"> </div> |
| | | </div> |
| | | <div class="links"> |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Agency_Contact__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Agency_Contact__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Agency_Contact__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | </apex:pageBlockSection> |
| | | </apex:repeat> |
| | | <script> |
| | | var init_nodes = document.getElementsByClassName("PIBackApi"); |
| | | var init_nodes = document.getElementsByClassName("PIBackApi"); |
| | | var api_id_map={}; |
| | | for(let ei in init_nodes){ |
| | | let e = init_nodes[ei]; |
| | |
| | | } |
| | | console.log(api_id_map); |
| | | sfdcPage.appendToOnloadQueue(function () { |
| | | jQuery('option').each(function(i,e){ |
| | | jQuery('option').each(function(i,e){ |
| | | if(e.value == '_\x01_'){ |
| | | e.value = ''; |
| | | } |
| | |
| | | } |
| | | jQuery('a[data-id="OwnerId"]').remove(); |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | /* |
| | | jQuery(".lookupInput").each(function(i,e){ |
| | | let je =jQuery(e).find('input'); |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | }, |
| | | queryBack:function (data) { |
| | |
| | | function ProcessPI(sobjJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | NewPIToAWS(sobjJson, payloadForNewPI) |
| | | NewPIToAWS(sobjJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(sobjJson, payloadForNewPI) |
| | | } |
| | |
| | | |
| | | function validateFieldValueFormate() { |
| | | let error_msg = ''; |
| | | let textEmail = "[data-id='Email']"; |
| | | let textPhone = "[data-id='Phone']"; |
| | | //Email |
| | | let email = document.querySelector(textEmail); |
| | | if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | error_msg += ';邮件格式错误'; |
| | | } |
| | | let phone = document.querySelector(textPhone); |
| | | // let textEmail = "[data-id='Email']"; |
| | | // let textPhone = "[data-id='Phone']"; |
| | | // //Email |
| | | // let email = document.querySelector(textEmail); |
| | | // if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | // error_msg += ';邮件格式错误'; |
| | | // } |
| | | // let phone = document.querySelector(textPhone); |
| | | |
| | | if(phone && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | // if(phone && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | // error_msg += ';电话号码错误'; |
| | | // } |
| | | |
| | | for(let e of document.getElementsByTagName('select')){ |
| | | for(let op of e.options){ |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!CampaignMember__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!CampaignMember__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!CampaignMember__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!CampaignMember__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | if (!{!isNewMode}) { |
| | | QuerySobjectFromAWS(); |
| | | } |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | }); |
| | | </script> |
| | | <div class="pbBottomButtons"> |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | //判断insert or update |
| | | function ProcessPI(caseJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(caseJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(caseJson, payloadForNewPI) |
| | |
| | | console.log(nodelist[index].id.indexOf('lkwgt')); |
| | | if (nodelist[index].id.indexOf('lkwgt') == -1) { |
| | | let vlookUpNodeId = nodelist[index].id + '_lkid'; |
| | | if (nodelist[index].getAttribute("data-id") == 'Field1_staff__c') { |
| | | vlookUpNodeId = nodelist[index].id.substring(0,nodelist[index].id.length-4) + '_lkid'; |
| | | } |
| | | let vlookUpNodeValue = document.getElementById(vlookUpNodeId).value; |
| | | result[nodelist[index].getAttribute("data-id")] = vlookUpNodeValue; |
| | | } |
| | |
| | | index++; |
| | | } |
| | | } |
| | | //针对id的手动添加 |
| | | if (document.getElementById("page:form:block:j_id31:0:j_id32:j_id33:1:j_id34_lkid") && (!result.hasOwnProperty("Field1_staff__c") || !result["Field1_staff__c"])){ |
| | | if(document.getElementById("page:form:block:j_id31:0:j_id32:j_id33:1:j_id34_lkid").value != '000000000000000'){ |
| | | result["Field1_staff__c"] = document.getElementById("page:form:block:j_id31:0:j_id32:j_id33:1:j_id34_lkid").value; |
| | | } |
| | | } |
| | | |
| | | return result; |
| | | } |
| | |
| | | //需要解密字段 |
| | | var queryBack = function queryBack(data) { |
| | | console.log('data = ' + data); |
| | | document.querySelector("[data-id='cic_telephone__c']").value = data.object.cicTelephone; |
| | | document.querySelector("[data-id='CASE_CUSTOMER__c']").value = data.object.caseCustomer; |
| | | document.querySelector("[data-id='Customer_manual__c']").value = data.object.customerManual; |
| | | if (document.querySelector("[data-id='cic_telephone__c']")) { |
| | | document.querySelector("[data-id='cic_telephone__c']").value = data.object.cicTelephone; |
| | | } |
| | | if (document.querySelector("[data-id='CASE_CUSTOMER__c']")) { |
| | | document.querySelector("[data-id='CASE_CUSTOMER__c']").value = data.object.caseCustomer; |
| | | } |
| | | if (document.querySelector("[data-id='Customer_manual__c']")) { |
| | | document.querySelector("[data-id='Customer_manual__c']").value = data.object.customerManual; |
| | | } |
| | | }; |
| | | |
| | | var insertOrUpdateBack = function insertOrUpdateBack(payloadJson, result, isNewMode) { |
| | |
| | | payloadJson.Customer_manual_Encrypted__c = r.object[0].customerManualEncrypt; |
| | | //payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | } |
| | |
| | | //1. Get Case Information from Form |
| | | let caseJson = getCaseInformation(); |
| | | //2. Validate the Case field value formate, for example the email formate or phone formate |
| | | /* |
| | | let validationResultMessage = validateFieldValueFormate(); |
| | | console.log(validationResultMessage); |
| | | if (!validationResultMessage) { |
| | |
| | | alertErrorMessage('手机格式输入有误,请重新输入!'); |
| | | return |
| | | } |
| | | */ |
| | | // Check Required Field |
| | | let checkRequiredFieldMsgResult = checkRequiredFieldMsg(caseJson); |
| | | if (checkRequiredFieldMsgResult) { |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">CIC编辑</h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveCaseProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并关闭" onclick="saveCaseProcess('SaveAndClose')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveCaseProcess('SaveAndNew')" /> |
| | |
| | | <apex:pageBlockSection title="{!layoutSection.name}" showHeader="{!layoutSection.useHeader}" collapsible="{!layoutSection.allowCollapse}" columns="{!layoutSection.columns}"> |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Case[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Case[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" required="{!layoutField.isRequired}" /> |
| | | <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Case[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" required="{!layoutField.isRequired}" /> |
| | | <apex:outputField html-data-id="{!layoutField.fieldAPI}" value="{!Case[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" /> |
| | | |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | for (let n = 0; n < layoutSection.length; n++) { |
| | | let layoutField = layoutSection[n]; |
| | | if (layoutField.fieldAPI != '' && document.querySelector("[data-id='"+layoutField.fieldAPI+"']") != null) { |
| | | document.querySelector("[data-id='"+layoutField.fieldAPI+"']").disabled = !(layoutField.editableField); |
| | | let e = document.querySelector("[data-id='"+layoutField.fieldAPI+"']"); |
| | | e.disabled = !(layoutField.editableField); |
| | | /* |
| | | if (!(layoutField.editableField)) { |
| | | if (e.getAttribute("multiple") && e.getAttribute("multiple") == 'multiple') { |
| | | e.parentNode.classList.add("disabledbutton"); |
| | | }else if (e.tagName == 'DIV') { |
| | | e.classList.add("disabledbutton"); |
| | | }else if (VLookUpFields.indexOf(layoutField.fieldAPI) >= 0) { |
| | | e.parentNode.classList.add("disabledbutton"); |
| | | } |
| | | } |
| | | */ |
| | | } |
| | | } |
| | | } |
| | |
| | | //3. Set Readonly Attribute |
| | | document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); |
| | | document.querySelector("[data-id='RecordTypeId']").classList.add("disabledbutton"); |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | //需要隐藏 |
| | | // document.querySelector("[data-id='SuppliedEmail']").classList.add("displayblock"); |
| | | |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButton" id="bottomButtonRow"> |
| | | <td class="pbButton" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveCaseProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并关闭" onclick="saveCaseProcess('SaveAndClose')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveCaseProcess('SaveAndNew')" /> |
| | |
| | | |
| | | //payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | |
| | | var VLookUpFields = {! VLookUpFieldsJson}; |
| | | function ProcessPI(sobjJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(sobjJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(sobjJson, payloadForNewPI) |
| | |
| | | |
| | | function validateFieldValueFormate() { |
| | | let error_msg = ''; |
| | | let textEmail = "[data-id='Email']"; |
| | | let textPhone = "[data-id='Phone']"; |
| | | //Email |
| | | let email = document.querySelector(textEmail); |
| | | if(email ){ |
| | | if(email.value){ |
| | | if(!/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | error_msg += ';邮件格式错误'; |
| | | } |
| | | }else{ |
| | | if(email.previousSibling && email.previousSibling.className.indexOf('requiredBlock')>-1){ |
| | | error_msg += ';邮件格式错误'; |
| | | } |
| | | } |
| | | } |
| | | let phone = document.querySelector(textPhone); |
| | | // let textEmail = "[data-id='Email']"; |
| | | // let textPhone = "[data-id='Phone']"; |
| | | // //Email |
| | | // let email = document.querySelector(textEmail); |
| | | // if(email ){ |
| | | // if(email.value){ |
| | | // if(!/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | // error_msg += ';邮件格式错误'; |
| | | // } |
| | | // }else{ |
| | | // if(email.previousSibling && email.previousSibling.className.indexOf('requiredBlock')>-1){ |
| | | // error_msg += ';邮件格式错误'; |
| | | // } |
| | | // } |
| | | // } |
| | | // let phone = document.querySelector(textPhone); |
| | | |
| | | if(phone && false ){ |
| | | if(phone.value){ |
| | | if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | }else{ |
| | | if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | } |
| | | } |
| | | // if(phone && false ){ |
| | | // if(phone.value){ |
| | | // if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | // error_msg += ';电话号码错误'; |
| | | // } |
| | | // }else{ |
| | | // if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ |
| | | // error_msg += ';电话号码错误'; |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | let es = document.getElementsByTagName('select') |
| | | for(let ei in es){ |
| | |
| | | <div class="ptBody"> |
| | | <div class="content"> |
| | | <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> |
| | | <span class="titleSeparatingColon">:</span> |
| | | </h1> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <div class="blank"> </div> |
| | | </div> |
| | | <div class="links"> |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Contact[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Contact[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Contact[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Contact[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | oi.value = '{!CurrentUserId}' |
| | | } |
| | | } |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | |
| | | jQuery('a[data-id="OwnerId"]').remove(); |
| | | |
| | | /* |
| | | jQuery(".lookupInput").each(function(i,e){ |
| | | let je =jQuery(e).find('input'); |
| | | je.attr("readonly",""); |
| | | je.css("background","unset"); |
| | | |
| | | let dataid = je.attr('data-id'); |
| | | if(['Hospital_Name__c','Department_Class__c','OwnerId'].indexOf(dataid) > -1) return; |
| | | jQuery(e).children(":last-child").before('<img class="closeIcon" data-id="'+dataid+'" generate="" alt="Clear" src="/s.gif" style="display: inline-block;">'); |
| | | }) |
| | | |
| | | jQuery(".lookupInput").on("mouseenter","img[generate]",function(e){ |
| | | this.className = "closeIconOn"; |
| | | }); |
| | | |
| | | jQuery(".lookupInput").on("mouseleave","img[generate]",function(e){ |
| | | this.className = "closeIcon" |
| | | }); |
| | | |
| | | jQuery(".lookupInput").on("click","img[generate]",function(e){ |
| | | let id = jQuery("input[data-id='"+jQuery(this).attr("data-id")+ "']").attr("id"); |
| | | let input = document.getElementById(id); |
| | | if(input){ |
| | | input.value = ''; |
| | | let hidden = document.getElementById(id+'_lkid'); |
| | | if(hidden){ |
| | | hidden.value = ''; |
| | | } |
| | | } |
| | | });*/ |
| | | |
| | | var layoutSections = JSON.parse('{!layoutSectionsStr}'); |
| | | for (let m = 0; m < layoutSections.length; m++) { |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | //payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | }, |
| | |
| | | var VLookUpFields = {! VLookUpFieldsJson}; |
| | | function ProcessPI(sobjJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(sobjJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(sobjJson, payloadForNewPI) |
| | |
| | | |
| | | function validateFieldValueFormate() { |
| | | let error_msg = ''; |
| | | let textEmail = "[data-id='Email__c']"; |
| | | let textPhone = "[data-id='Phone__c']"; |
| | | if (document.querySelector("[data-id='Email__c']").value != "" && document.querySelector("[data-id='Email__c']").value != null) { |
| | | //Email |
| | | let email = document.querySelector(textEmail); |
| | | if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | error_msg += ';邮件格式错误'; |
| | | } |
| | | } |
| | | // let textEmail = "[data-id='Email__c']"; |
| | | // let textPhone = "[data-id='Phone__c']"; |
| | | // if (document.querySelector("[data-id='Email__c']").value != "" && document.querySelector("[data-id='Email__c']").value != null) { |
| | | // //Email |
| | | // let email = document.querySelector(textEmail); |
| | | // if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | // error_msg += ';邮件格式错误'; |
| | | // } |
| | | // } |
| | | |
| | | if (document.querySelector("[data-id='Phone__c']").value != "" && document.querySelector("[data-id='Phone__c']").value != null) { |
| | | let phone = document.querySelector(textPhone); |
| | | if(phone && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | } |
| | | // if (document.querySelector("[data-id='Phone__c']").value != "" && document.querySelector("[data-id='Phone__c']").value != null) { |
| | | // let phone = document.querySelector(textPhone); |
| | | // if(phone && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | // error_msg += ';电话号码错误'; |
| | | // } |
| | | // } |
| | | |
| | | for(let ei in document.getElementsByTagName('select')){ |
| | | let e = document.getElementsByTagName('select')[ei]; |
| | |
| | | } else if (ele.type == 'checkbox') { |
| | | result[field_api_name] = ele.checked; |
| | | } else if (ele.type == 'select-multiple') { |
| | | //field_api_name |
| | | let multiple = field_api_name; |
| | | let targets = ""; |
| | | //InquiryForm特殊处理 |
| | | if(multiple == "Product1__c"){ |
| | | targets = GetEleByClass(config.ApiPrefix+'_'+field_api_name).parentNode.children[1].rows[1].cells[2].innerText; |
| | | }else if(multiple == "Request1__c"){ |
| | | targets = GetEleByClass(config.ApiPrefix+'_'+field_api_name).parentNode.children[2].rows[1].cells[2].innerText; |
| | | }else{ |
| | | targets = GetEleByClass(config.ApiPrefix+'_'+field_api_name).parentNode.children[1].children[0].children[1].children[2].children[0].innerText; |
| | | //After Update By zhj 20220411 Start |
| | | let multiple = nodelist[index].getAttribute("data-id"); |
| | | let targets = document.querySelector("[data-id=" + multiple + "]").options; |
| | | let selValues = []; |
| | | for(i=0; i < targets.length; i++){ |
| | | if(targets[i].selected){ |
| | | selValues.push(targets[i].value); |
| | | } |
| | | } |
| | | targets = targets.replace(/\n/g, ";"); |
| | | console.log('targets = ' + targets); |
| | | result[field_api_name] = targets; |
| | | let setValuesStr = JSON.stringify(selValues); |
| | | setValuesStr = setValuesStr.substring(1,setValuesStr.length-1); |
| | | if(setValuesStr){ |
| | | setValuesStr = setValuesStr.replace(/"/g,""); |
| | | if(setValuesStr.indexOf(',')!=-1){ |
| | | setValuesStr = setValuesStr.replace(/,/g,";"); |
| | | } |
| | | } |
| | | console.log('targets = ' + setValuesStr); |
| | | result[nodelist[index].getAttribute("data-id")] = setValuesStr; |
| | | //After Update By zhj 20220411 end |
| | | } else { |
| | | result[field_api_name] = ele.value; |
| | | } |
| | |
| | | function replaceSearchContactLookup() { |
| | | let lookUpNode = htmlToElement(contactHtmlString); |
| | | console.log(lookUpNode); |
| | | let eleContactValue = document.querySelector("[data-id='Contact_Name__c']").parentNode.parentNode.children[1].value; |
| | | let eleContactValue = document.querySelector("[data-id='Contact_Name__c']").parentNode.parentNode.children[0].value; |
| | | if (eleContactValue) { |
| | | if (!{!isNewMode} || (eleContactValue != '000000000000000')) { |
| | | //1. Query Contact from AWS by AWSDataId |
| | |
| | | <div class="ptBody"> |
| | | <div class="content"> |
| | | <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> |
| | | <span class="titleSeparatingColon">:</span> |
| | | </h1> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <div class="blank"> </div> |
| | | </div> |
| | | <div class="links"> |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inquiry_form__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inquiry_form__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inquiry_form__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inquiry_form__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | replaceSearchLeadLookup(); |
| | | document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); |
| | | // document.querySelectorAll("[data-id='OwnerId']")[1].classList.add("disabledbutton"); |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | jQuery('a[data-id="OwnerId"]').remove(); |
| | | |
| | | //Updated by Li Jun 20220322 Start |
| | |
| | | }) |
| | | }) |
| | | |
| | | // jQuery(".lookupInput").on("click","img.closeIconOn",function(){ |
| | | // if (jQuery(this).siblings("input").attr("data-id") == 'Hospital_Name__c'){ |
| | | // clearVlookup('Department_Class__c'); |
| | | // clearVlookup('Hospital__c'); |
| | | // } |
| | | // }); |
| | | |
| | | jQuery("body").on("change","input[data-id='Hospital_Name__c']",function(){ |
| | | setTimeout(() => { |
| | | console.log(document.getElementById(this.id+'_lkid').value); |
| | |
| | | JSON.stringify(lookups), lookup_id, |
| | | function (result, event) { |
| | | console.log("result = " + result); |
| | | if (result != null ){ |
| | | if (result != null && result != '{}'){ |
| | | var obj = JSON.parse(result.replaceAll('&'+'quot;','"')); |
| | | for (let i = 0; i < lookups.length; i++) { |
| | | let lookup = lookups[i]; |
| | |
| | | } |
| | | |
| | | } |
| | | } |
| | | }else { |
| | | clearVlookup('Department_Class__c'); |
| | | clearVlookup('Hospital__c'); |
| | | } |
| | | }, |
| | | { escape: true } |
| | | ); |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | //payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | }, |
| | |
| | | var VLookUpFields = {! VLookUpFieldsJson}; |
| | | function ProcessPI(sobjJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(sobjJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(sobjJson, payloadForNewPI) |
| | |
| | | |
| | | function validateFieldValueFormate() { |
| | | let error_msg = ''; |
| | | let textEmail = "[data-id='Email']"; |
| | | let textPhone = "[data-id='Phone']"; |
| | | //Email |
| | | let email = document.querySelector(textEmail); |
| | | if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | error_msg += ';邮件格式错误'; |
| | | } |
| | | let phone = document.querySelector(textPhone); |
| | | // let textEmail = "[data-id='Email']"; |
| | | // let textPhone = "[data-id='Phone']"; |
| | | // //Email |
| | | // let email = document.querySelector(textEmail); |
| | | // if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | // error_msg += ';邮件格式错误'; |
| | | // } |
| | | // let phone = document.querySelector(textPhone); |
| | | |
| | | if(phone && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | // if(phone && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | // error_msg += ';电话号码错误'; |
| | | // } |
| | | |
| | | for(let e of document.getElementsByTagName('select')){ |
| | | for(let op of e.options){ |
| | |
| | | |
| | | return error_msg; |
| | | } |
| | | |
| | | function getCKEinstance(api_name){ |
| | | let t = jQuery("label[for$='textAreaDelegate_"+api_name+"']").parent().next().find("textarea")[0]; |
| | | if(t && t.id){ |
| | | return CKEDITOR.instances[t.id] |
| | | |
| | | } |
| | | return null; |
| | | } |
| | | function getSobjectInformation() { |
| | | |
| | | let nodelist = document.getElementsByClassName(config.ApiPrefix); |
| | |
| | | } |
| | | //赋值富文本区域 |
| | | //科室负责人签字 |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id51:0:j_id52:j_id53:5:j_id54:textAreaDelegate_ResponsiblePerson_Sign__c']")){ |
| | | result.ResponsiblePerson_Sign__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id51:0:j_id52:j_id53:5:j_id54:textAreaDelegate_ResponsiblePerson_Sign__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | |
| | | if(getCKEinstance('ResponsiblePerson_Sign__c')){ |
| | | result.ResponsiblePerson_Sign__c = getCKEinstance('ResponsiblePerson_Sign__c').getData() |
| | | } |
| | | if(document.querySelector("[data-id='Reporter__c']")){ |
| | | result['Reporter__c'] = document.getElementById(document.querySelector("[data-id='Reporter__c']").children[7].children[0].id + '_lkid').value; |
| | |
| | | <div class="ptBody"> |
| | | <div class="content"> |
| | | <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> |
| | | <span class="titleSeparatingColon">:</span> |
| | | </h1> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <div class="blank"> </div> |
| | | </div> |
| | | <div class="links"> |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inspection_Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inspection_Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inspection_Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Inspection_Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | } |
| | | |
| | | //Replace Contact Vlookup Field |
| | | replaceSearchContactLookup(); |
| | | //replaceSearchContactLookup(); |
| | | //Replace Lead Vlookup Field |
| | | replaceSearchLeadLookup(); |
| | | document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); |
| | | //replaceSearchLeadLookup(); |
| | | //document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); |
| | | // document.querySelectorAll("[data-id='OwnerId']")[1].classList.add("disabledbutton"); |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | |
| | | jQuery('a[data-id="OwnerId"]').remove(); |
| | | |
| | |
| | | // clearVlookup('Hospital__c'); |
| | | // } |
| | | // }); |
| | | |
| | | /* |
| | | jQuery("body").on("change","input[data-id='Hospital_Name__c']",function(){ |
| | | setTimeout(() => { |
| | | console.log(document.getElementById(this.id+'_lkid').value); |
| | |
| | | clearVlookup('Hospital__c'); |
| | | } |
| | | }, 50); |
| | | }); |
| | | }); |
| | | */ |
| | | }); |
| | | |
| | | </script> |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | var VLookUpFields = new Set(['Hospital_Name__c', 'Department_Class__c', 'Contact_Name__c', 'Campaign__c', 'Lead_Inquiry_form__c', 'Opp_Name_Search__c']); |
| | | function ProcessPI(leadJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode |
| | | }) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(leadJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(leadJson, payloadForNewPI) |
| | |
| | | } else if (nodelist[index].type == 'checkbox') { |
| | | result[nodelist[index].getAttribute("data-id")] = nodelist[index].checked; |
| | | } else if (nodelist[index].type == 'select-multiple') { |
| | | //nodelist[index].getAttribute("data-id") |
| | | //After Update By zhj 20220411 Start |
| | | let multiple = nodelist[index].getAttribute("data-id"); |
| | | let targets = document.querySelector("[data-id=" + multiple + "]").parentNode.children[1].children[0].children[1].children[2].children[0].innerText; |
| | | targets = targets.replace(/\n/g, ";"); |
| | | console.log('targets = ' + targets); |
| | | result[nodelist[index].getAttribute("data-id")] = targets; |
| | | let targets = document.querySelector("[data-id=" + multiple + "]").options; |
| | | let selValues = []; |
| | | for(i=0; i < targets.length; i++){ |
| | | if(targets[i].selected){ |
| | | selValues.push(targets[i].value); |
| | | } |
| | | } |
| | | let setValuesStr = JSON.stringify(selValues); |
| | | setValuesStr = setValuesStr.substring(1,setValuesStr.length-1); |
| | | if(setValuesStr){ |
| | | setValuesStr = setValuesStr.replace(/"/g,""); |
| | | if(setValuesStr.indexOf(',')!=-1){ |
| | | setValuesStr = setValuesStr.replace(/,/g,";"); |
| | | } |
| | | } |
| | | console.log('targets = ' + setValuesStr); |
| | | result[nodelist[index].getAttribute("data-id")] = setValuesStr; |
| | | //After Update By zhj 20220411 end |
| | | } else { |
| | | result[nodelist[index].getAttribute("data-id")] = nodelist[index].value; |
| | | } |
| | |
| | | payloadJson.Email_Encrypted__c = r.object[0].emailEncrypt; |
| | | //payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | } |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">意向编辑</h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveLeadProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveLeadProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Lead[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <!-- <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Lead[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" required="{!layoutField.isRequired}" /> |
| | | <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Lead[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&layoutField.fieldAPI!='RecordTypeId'}" required="{!layoutField.isRequired}" /> |
| | | <apex:outputField html-data-id="{!layoutField.fieldAPI}" value="{!Lead[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&layoutField.fieldAPI=='RecordTypeId'}" /> --> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Lead[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Lead[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Lead[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | document.querySelector("[data-id='Status']").value = '未跟进' |
| | | //会议询问单 |
| | | if ('{!ifc.Id}') |
| | | document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:15:j_id37_lkid').value = '{!ifc.Id}' |
| | | document.getElementById(document.querySelector("[data-id='Lead_Inquiry_form__c']").id+'_lkid').value = '{!ifc.Id}' |
| | | if ('{!ifc.Name}') |
| | | document.querySelector("[data-id='Lead_Inquiry_form__c']").value = '{!ifc.Name}' |
| | | //客户姓名 |
| | |
| | | document.getElementById(document.querySelector("[data-id='Contact_Name__c']").id + '_lkid').value = '{!ifc.Contact_Id__c}' |
| | | //医院 |
| | | if ('{!ifc.Hospital_Name__c}') |
| | | document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:2:j_id37_lkold').value = '{!ifc.Hospital_Name__c}' |
| | | document.getElementById(document.querySelector("[data-id='Hospital_Name__c']").id+'_lkold').value = '{!ifc.Hospital_Name__c}' |
| | | if ('{!ifc.Hospital_ID__c}') |
| | | document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:2:j_id37_lkid').value = '{!ifc.Hospital_ID__c}' |
| | | document.getElementById(document.querySelector("[data-id='Hospital_Name__c']").id+'_lkid').value = '{!ifc.Hospital_ID__c}' |
| | | //战略科室分类 |
| | | if ('{!ifc.Department_Class__c}') |
| | | document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:4:j_id37_lkold').value = '{!ifc.Department_Class__c}' |
| | | document.getElementById(document.querySelector("[data-id='Department_Class__c']").id+'_lkold').value = '{!ifc.Department_Class__c}' |
| | | if ('{!ifc.Department_ID__c}') |
| | | document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:4:j_id37_lkid').value = '{!ifc.Department_ID__c}' |
| | | document.getElementById(document.querySelector("[data-id='Department_Class__c']").id+'_lkid').value = '{!ifc.Department_ID__c}' |
| | | //已有询价名称 |
| | | if ('{!ifc.Opp_Name_Search__c}') |
| | | //document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:12:j_id37_lkold').value = '{!ifc.Opp_Name_Search__c}' |
| | | document.getElementById(document.querySelector("[data-id='Opp_Name_Search__c']").id + '_lkold').value = '{!ifc.Opp_Name_Search__c}' |
| | | if ('{!ifc.Opp_Name_Search_ID__c}') |
| | | document.getElementById(document.querySelector("[data-id='Opp_Name_Search__c']").id + '_lkid').value = '{!ifc.Opp_Name_Search_ID__c}' |
| | | //主要学会 |
| | | if ('{!ifc.Campaign__c}') |
| | | document.getElementById('page:form:block:j_id34:1:j_id35:j_id36:3:j_id37_lkold').value = '{!ifc.Campaign__c}' |
| | | document.getElementById(document.querySelector("[data-id='Campaign__c']").id +'_lkold').value = '{!ifc.Campaign__c}' |
| | | if ('{!ifc.Campaign_ID__c}') |
| | | document.getElementById('page:form:block:j_id34:1:j_id35:j_id36:3:j_id37_lkid').value = '{!ifc.Campaign_ID__c}' |
| | | document.getElementById(document.querySelector("[data-id='Campaign__c']").id +'_lkid').value = '{!ifc.Campaign_ID__c}' |
| | | //取消原因 |
| | | if ('{!ifc.Cancel_Reason__c}') |
| | | document.querySelector("[data-id='Cancel_Reason__c']").value = '{!ifc.Cancel_Reason__c}' |
| | |
| | | |
| | | unblockUI(); |
| | | } |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | let previous_value = {}; |
| | | jQuery(".lookupInput input").each(function(i,e){ |
| | | let je =jQuery(e); |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButton" id="bottomButtonRow"> |
| | | <td class="pbButton" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveLeadProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveLeadProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | //payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | }, |
| | |
| | | var VLookUpFields = {! VLookUpFieldsJson}; |
| | | function ProcessPI(sobjJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(sobjJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(sobjJson, payloadForNewPI) |
| | |
| | | return error_msg; |
| | | } |
| | | |
| | | function getCKEinstance(api_name){ |
| | | let t = jQuery("label[for$='textAreaDelegate_"+api_name+"']").parent().next().find("textarea")[0]; |
| | | if(t && t.id){ |
| | | return CKEDITOR.instances[t.id] |
| | | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | function getSobjectInformation() { |
| | | //api_id_map |
| | | //let nodelist = document.getElementsByClassName(config.ApiPrefix); |
| | |
| | | } else { |
| | | result[field_api_name] = ele.value; |
| | | //关闭QIS理由为无时 |
| | | if(field_api_name == 'Cancel_QIS_Reason__c' && ele.value == '_\x01_'){ |
| | | result[field_api_name] = ''; |
| | | } |
| | | // if(field_api_name == 'Cancel_QIS_Reason__c' && ele.value == '_\x01_'){ |
| | | // result[field_api_name] = ''; |
| | | // } |
| | | } |
| | | |
| | | // let e1 = document.getElementById(api_id_map[field_api_name]); |
| | |
| | | // } |
| | | } |
| | | //赋值富文本区域 |
| | | //问题内容描述(图片)-FSE-OCSM-OSH |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:4:j_id51:j_id52:15:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.problem_detail_photo__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:4:j_id51:j_id52:15:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | if(getCKEinstance('problem_detail_photo__c')){ |
| | | result.problem_detail_photo__c = getCKEinstance('problem_detail_photo__c').getData() |
| | | } |
| | | //问题内容描述(图片)-OSH回答完毕-现场结案-final |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:5:j_id51:j_id52:15:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.problem_detail_photo__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:5:j_id51:j_id52:15:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | |
| | | if(getCKEinstance('Photo_1__c')){ |
| | | result.Photo_1__c = getCKEinstance('Photo_1__c').getData() |
| | | |
| | | } |
| | | //照片1 - OCSM-现场结案-final |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:14:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_1__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:14:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | if(getCKEinstance('Photo_2__c')){ |
| | | result.Photo_2__c = getCKEinstance('Photo_2__c').getData() |
| | | } |
| | | //照片2-OCSM-现场结案-final |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:14:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_2__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:14:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | if(getCKEinstance('Photo_3__c')){ |
| | | result.Photo_3__c = getCKEinstance('Photo_3__c').getData() |
| | | } |
| | | //照片3 -OCSM-现场结案-final |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:14:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_3__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:14:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | if(getCKEinstance('Photo_4__c')){ |
| | | result.Photo_4__c = getCKEinstance('Photo_4__c').getData() |
| | | } |
| | | //照片4 -OCSM-现场结案-final |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:14:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_4__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:14:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | |
| | | if(getCKEinstance('Photo_OSH_1__c')){ |
| | | result.Photo_OSH_1__c = getCKEinstance('Photo_OSH_1__c').getData() |
| | | } |
| | | //照片OSH1 - OCSM |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:19:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_1__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:19:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | if(getCKEinstance('Photo_OSH_2__c')){ |
| | | result.Photo_OSH_2__c = getCKEinstance('Photo_OSH_2__c').getData() |
| | | } |
| | | //照片OSH2-OCSM |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:19:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_2__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:19:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | if(getCKEinstance('Photo_OSH_3__c')){ |
| | | result.Photo_OSH_3__c = getCKEinstance('Photo_OSH_3__c').getData() |
| | | } |
| | | //照片OSH3 -OCSM |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:19:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_3__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:19:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH4 -OCSM |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:19:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_4__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:19:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH1 - OSH回答完毕 |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:18:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_1__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:18:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH2-OSH回答完毕 |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:18:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_2__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:18:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH3 -OSH回答完毕 |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:18:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_3__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:18:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH4 -OSH回答完毕 |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:18:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_4__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:18:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片1 - OSH |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:13:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_1__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:13:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片2-OSH |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:13:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_2__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:13:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片3 -OSH |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:13:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_3__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:13:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片4 -OSH |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:13:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_4__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:13:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH1 - OSH |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:16:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_1__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:16:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH2-OSH |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:16:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_2__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:16:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH3 -OSH |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:16:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_3__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:16:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH4 -OSH |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:16:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_4__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:16:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH1 -现场结案-final |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:17:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_1__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:17:j_id51:j_id52:0:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH2-现场结案-final |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:17:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_2__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:17:j_id51:j_id52:1:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH3 -现场结案-final |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:17:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_3__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:17:j_id51:j_id52:2:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片OSH4 -现场结案-final |
| | | if(document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:17:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']")){ |
| | | result.Photo_OSH_4__c = document.querySelector("[title = 'RTF 編輯器, page:form:block:j_id50:17:j_id51:j_id52:3:j_id53:textAreaDelegate_problem_detail_photo__c']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | if(getCKEinstance('Photo_OSH_4__c')){ |
| | | result.Photo_OSH_4__c = getCKEinstance('Photo_OSH_4__c').getData() |
| | | } |
| | | return result; |
| | | } |
| | |
| | | <div class="ptBody"> |
| | | <div class="content"> |
| | | <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> |
| | | <span class="titleSeparatingColon">:</span> |
| | | </h1> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <div class="blank"> </div> |
| | | </div> |
| | | <div class="links"> |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!QIS_Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!QIS_Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!QIS_Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!QIS_Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | } |
| | | console.log(api_id_map); |
| | | sfdcPage.appendToOnloadQueue(function () { |
| | | jQuery('option').each(function(i,e){ |
| | | if(e.value == '_\x01_'){ |
| | | e.value = ''; |
| | | } |
| | | }) |
| | | //判断是否为只读选项 |
| | | var layoutSections = JSON.parse('{!layoutSectionsStr}'); |
| | | for (let m = 0; m < layoutSections.length; m++) { |
| | |
| | | oi.value = '{!CurrentUserId}' |
| | | } |
| | | } |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | }); |
| | | </script> |
| | | <div class="pbBottomButtons"> |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | <!-- |
| | | @description : |
| | | @author : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | @group : |
| | | @last modified on : 03-23-2022 |
| | | @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | --> |
| | | <apex:page standardController="RepairSubOrder__c" extensions="NewAndEditRepairSubOrderController" id="page"> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> |
| | | <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script> |
| | |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | }, |
| | |
| | | function validateFieldValueFormate() { |
| | | let error_msg = ''; |
| | | // let textEmail = "[data-id='Email']"; |
| | | let textPhone = "[data-id='RepairApplicantTel__c']"; |
| | | //let textPhone = "[data-id='RepairApplicantTel__c']"; |
| | | //Email |
| | | // let email = document.querySelector(textEmail); |
| | | // if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | // error_msg += ';邮件格式错误'; |
| | | // } |
| | | let phone = document.querySelector(textPhone); |
| | | // let phone = document.querySelector(textPhone); |
| | | |
| | | if(phone ){ |
| | | if(phone.value){ |
| | | if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | }else{ |
| | | if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | } |
| | | } |
| | | // if(phone ){ |
| | | // if(phone.value){ |
| | | // if(!/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | // error_msg += ';电话号码错误'; |
| | | // } |
| | | // }else{ |
| | | // if(phone.previousSibling && phone.previousSibling.className.indexOf('requiredBlock')>-1){ |
| | | // error_msg += ';电话号码错误'; |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | let es = document.getElementsByTagName('select') |
| | | for(let ei in es){ |
| | |
| | | } else { |
| | | result[field_api_name] = ele.value; |
| | | } |
| | | } |
| | | if(api_id_map['AssetType__c']){ |
| | | result.AssetType__c= document.getElementById(api_id_map['AssetType__c']).value!='_\x01_'?document.getElementById(api_id_map['AssetType__c']).value:''; |
| | | } |
| | | return result; |
| | | } |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!RepairSubOrder__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!RepairSubOrder__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!RepairSubOrder__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!RepairSubOrder__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | <script> |
| | | var init_nodes = document.getElementsByClassName("PIBackApi"); |
| | | var api_id_map={}; |
| | | for(let ei in init_nodes){ |
| | | let e = init_nodes[ei]; |
| | | if(IsFormElement(e)){ |
| | | if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ |
| | | api_id_map[GetEleApiName(e)] = e.id; |
| | | } |
| | | |
| | | } |
| | | } |
| | | console.log(api_id_map); |
| | | for(let ei in init_nodes){ |
| | | let e = init_nodes[ei]; |
| | | if(IsFormElement(e)){ |
| | | if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ |
| | | api_id_map[GetEleApiName(e)] = e.id; |
| | | } |
| | | |
| | | } |
| | | } |
| | | console.log(api_id_map); |
| | | |
| | | sfdcPage.appendToOnloadQueue(function () { |
| | | var layoutSections = JSON.parse('{!layoutSectionsStr}'); |
| | |
| | | replaceSearchContactLookup(); |
| | | //3. Set Readonly Attribute |
| | | document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | jQuery('a[data-id="OwnerId"]').remove(); |
| | | /* |
| | | jQuery(".lookupInput").each(function(i,e){ |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | var redirectMode = 'Save';//1. Save 2. SaveAndNew |
| | | var requiredFieldAPIList = JSON.parse('{!requiredFieldAPIListStr}'); |
| | | var fieldAPIToLabelMap = JSON.parse('{!fieldAPIToLabelMapStr}'); |
| | | var VLookUpFields = new Set(['Hospital_Reference__c', 'Department_Class_Ref__c', 'Daily_Report__c', 'OwnerId','Hospital_Department__c', |
| | | var VLookUpFields = new Set(['Hospital_Reference__c','Consum_Apply__c','Department_Class_Ref__c', 'Daily_Report__c', 'OwnerId','Hospital_Department__c', |
| | | 'Competition_Company_Name__c','Report_OPDPlan__c','Loaner_request_no1__c','Practitioner1__c','Practitioner2__c','Practitioner3__c','Practitioner4__c', |
| | | 'Practitioner5__c','Opportunity1__c', |
| | | 'Opportunity2__c','Product01__c','Product1__c','Product2__c','Product3__c','Product4__c','Product5__c','Order_No__c','Person_In_Charge__c']); |
| | |
| | | errorMsgNode.className = ''; |
| | | } |
| | | |
| | | function getCKEinstance(api_name){ |
| | | let t = jQuery("label[for$='textAreaDelegate_"+api_name+"']").parent().next().find("textarea")[0]; |
| | | if(t && t.id){ |
| | | return CKEDITOR.instances[t.id] |
| | | |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | //1。获取所有字段值 |
| | | function getReportInformation() { |
| | | let nodelist = document.querySelectorAll("[data-id]"); |
| | |
| | | result[nodelist[index].getAttribute("data-id")] = nodelist[index].checked; |
| | | } else if (nodelist[index].type == 'select-multiple') { |
| | | //nodelist[index].getAttribute("data-id") |
| | | //let targets = document.querySelector("[data-id=" + multiple + "]").nextSibling.children[0].children[1].children[2].innerText; |
| | | //Before Update By Li Jun 20220411 |
| | | // let targets = document.querySelector("[data-id=" + multiple + "]").parentNode.children[2].children[0].children[1].children[2].children[0].innerText; |
| | | // targets = targets.replace(/\n/g, ";"); |
| | | // console.log('targets = ' + targets); |
| | | // result[nodelist[index].getAttribute("data-id")] = targets; |
| | | //Before Update By Li Jun 20220411 |
| | | |
| | | //After Update By Li Jun 20220411 Start |
| | | let multiple = nodelist[index].getAttribute("data-id"); |
| | | let targets = document.querySelector("[data-id=" + multiple + "]").nextSibling.children[0].children[1].children[2].innerText; |
| | | targets = targets.replace(/\n/g, ";"); |
| | | console.log('targets = ' + targets); |
| | | result[nodelist[index].getAttribute("data-id")] = targets; |
| | | let targets = document.querySelector("[data-id=" + multiple + "]").options; |
| | | let selValues = []; |
| | | for(i=0; i < targets.length; i++){ |
| | | if(targets[i].selected){ |
| | | selValues.push(targets[i].value); |
| | | } |
| | | } |
| | | let setValuesStr = JSON.stringify(selValues); |
| | | setValuesStr = setValuesStr.substring(1,setValuesStr.length-1); |
| | | if(setValuesStr){ |
| | | setValuesStr = setValuesStr.replace(/"/g,""); |
| | | if(setValuesStr.indexOf(',')!=-1){ |
| | | setValuesStr = setValuesStr.replace(/,/g,";"); |
| | | } |
| | | } |
| | | console.log('targets = ' + setValuesStr); |
| | | result[nodelist[index].getAttribute("data-id")] = setValuesStr; |
| | | //After Update By Li Jun 20220411 End |
| | | |
| | | |
| | | } else { |
| | | result[nodelist[index].getAttribute("data-id")] = nodelist[index].value; |
| | | } |
| | |
| | | } |
| | | } |
| | | //手术分类1 |
| | | result.Technical_Category1__c = document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:2:j_id38')!=null?document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:2:j_id38').value:''; |
| | | if(api_id_map['Technical_Category1__c']){ |
| | | result.Technical_Category1__c = document.getElementById(api_id_map['Technical_Category1__c']).value!='_\x01_'?document.getElementById(api_id_map['Technical_Category1__c']).value:''; |
| | | } |
| | | //result.Technical_Category1__c = document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:2:j_id38')!=null?document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:2:j_id38').value:''; |
| | | //手术分类2 |
| | | result.Technical_Category2__c = document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:4:j_id38')!=null?document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:4:j_id38').value:''; |
| | | if(api_id_map['Technical_Category2__c']){ |
| | | result.Technical_Category2__c = document.getElementById(api_id_map['Technical_Category2__c']).value!='_\x01_'?document.getElementById(api_id_map['Technical_Category2__c']).value:''; |
| | | } |
| | | //result.Technical_Category2__c = document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:4:j_id38')!=null?document.getElementById('page:form:j_id5:j_id35:4:j_id36:j_id37:4:j_id38').value:''; |
| | | //目的2 |
| | | if(document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38')){ |
| | | result.Purpose2__c = document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38').value; |
| | | if(api_id_map['Purpose2__c']){ |
| | | result.Purpose2__c = document.getElementById(api_id_map['Purpose2__c']).value; |
| | | } |
| | | // if(document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38')){ |
| | | // result.Purpose2__c = document.getElementById('page:form:j_id5:j_id35:2:j_id36:j_id37:1:j_id38').value; |
| | | // } |
| | | //富文本框赋值 |
| | | if(getCKEinstance('Customer_sigh_photo__c')){ |
| | | result.Customer_sigh_photo__c = getCKEinstance('Customer_sigh_photo__c').getData() |
| | | } |
| | | if(getCKEinstance('Photo1__c')){ |
| | | result.Photo1__c = getCKEinstance('Photo1__c').getData() |
| | | } |
| | | if(getCKEinstance('Photo2__c')){ |
| | | result.Photo2__c = getCKEinstance('Photo2__c').getData() |
| | | } |
| | | if(getCKEinstance('Photo3__c')){ |
| | | result.Photo3__c = getCKEinstance('Photo3__c').getData() |
| | | } |
| | | if(getCKEinstance('VOC_follow_up_result__c')){ |
| | | result.VOC_follow_up_result__c = getCKEinstance('VOC_follow_up_result__c').getData() |
| | | } |
| | | if(getCKEinstance('VOC_follow_up_result1__c')){ |
| | | result.VOC_follow_up_result1__c = getCKEinstance('VOC_follow_up_result1__c').getData() |
| | | } |
| | | //用户签字的照片 |
| | | if(document.querySelector("[aria-describedby = 'cke_34']")){ |
| | | result.Customer_sigh_photo__c = document.querySelector("[aria-describedby = 'cke_34']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片1 Photo1__c |
| | | if(document.querySelector("[aria-describedby = 'cke_42']")){ |
| | | result.Photo1__c = document.querySelector("[aria-describedby = 'cke_42']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片2 Photo2__c |
| | | if(document.querySelector("[aria-describedby = 'cke_75']")){ |
| | | result.Photo2__c = document.querySelector("[aria-describedby = 'cke_75']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //照片3 Photo3__c |
| | | if(document.querySelector("[aria-describedby = 'cke_108']")){ |
| | | result.Photo3__c = document.querySelector("[aria-describedby = 'cke_108']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //对应结果 VOC_follow_up_result__c cke_38 |
| | | if(document.querySelector("[aria-describedby = 'cke_38']")){ |
| | | result.VOC_follow_up_result__c = document.querySelector("[aria-describedby = 'cke_38']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | //对应结果第一次 VOC_follow_up_result1__c cke_71 |
| | | if(document.querySelector("[aria-describedby = 'cke_71']")){ |
| | | result.VOC_follow_up_result1__c = document.querySelector("[aria-describedby = 'cke_71']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | } |
| | | // if(document.querySelector("[aria-describedby = 'cke_34']")){ |
| | | // result.Customer_sigh_photo__c = document.querySelector("[aria-describedby = 'cke_34']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | // } |
| | | // //照片1 Photo1__c |
| | | // if(document.querySelector("[aria-describedby = 'cke_42']")){ |
| | | // result.Photo1__c = document.querySelector("[aria-describedby = 'cke_42']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | // } |
| | | // //照片2 Photo2__c |
| | | // if(document.querySelector("[aria-describedby = 'cke_75']")){ |
| | | // result.Photo2__c = document.querySelector("[aria-describedby = 'cke_75']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | // } |
| | | // //照片3 Photo3__c |
| | | // if(document.querySelector("[aria-describedby = 'cke_108']")){ |
| | | // result.Photo3__c = document.querySelector("[aria-describedby = 'cke_108']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | // } |
| | | // //对应结果 VOC_follow_up_result__c cke_38 |
| | | // if(document.querySelector("[aria-describedby = 'cke_38']")){ |
| | | // result.VOC_follow_up_result__c = document.querySelector("[aria-describedby = 'cke_38']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | // } |
| | | // //对应结果第一次 VOC_follow_up_result1__c cke_71 |
| | | // if(document.querySelector("[aria-describedby = 'cke_71']")){ |
| | | // result.VOC_follow_up_result1__c = document.querySelector("[aria-describedby = 'cke_71']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | // } |
| | | if(result.From__c){ |
| | | result.From__c = result.From__c.replace(/\//g, '-')+':00'; |
| | | } |
| | |
| | | function validateFieldValueFormate() { |
| | | //VOC_Informer_Contact__c,Caller_phone_c__c |
| | | let error_msg = ''; |
| | | let textEmail = "[data-id=' Follow_staff_email__c']"; |
| | | let textPhone1 = "[data-id='VOC_Informer_Contact__c']"; |
| | | let textPhone2 = "[data-id='Caller_phone_c__c']"; |
| | | //Email |
| | | let email = document.querySelector(textEmail); |
| | | if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | error_msg += ';对应者(邮箱)格式错误'; |
| | | } |
| | | // let textEmail = "[data-id=' Follow_staff_email__c']"; |
| | | // let textPhone1 = "[data-id='VOC_Informer_Contact__c']"; |
| | | // let textPhone2 = "[data-id='Caller_phone_c__c']"; |
| | | // //Email |
| | | // let email = document.querySelector(textEmail); |
| | | // if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | // error_msg += ';对应者(邮箱)格式错误'; |
| | | // } |
| | | |
| | | let phone1 = document.querySelector(textPhone1); |
| | | if(phone1 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone1.value)){ |
| | | error_msg += ';信息提供人联系方式(电话)号码错误'; |
| | | } |
| | | // let phone1 = document.querySelector(textPhone1); |
| | | // if(phone1 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone1.value)){ |
| | | // error_msg += ';信息提供人联系方式(电话)号码错误'; |
| | | // } |
| | | |
| | | let phone2 = document.querySelector(textPhone2); |
| | | if(phone2 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone2.value)){ |
| | | error_msg += ';联系电话号码错误'; |
| | | } |
| | | // let phone2 = document.querySelector(textPhone2); |
| | | // if(phone2 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone2.value)){ |
| | | // error_msg += ';联系电话号码错误'; |
| | | // } |
| | | |
| | | for(let e of document.getElementsByTagName('select')){ |
| | | for(let op of e.options){ |
| | |
| | | return blankRequiredFields; |
| | | } |
| | | |
| | | var GetEleByClass = function(class_name){ |
| | | let eles = document.getElementsByClassName(class_name); |
| | | if(eles.length > 0) return eles[0]; |
| | | return null; |
| | | } |
| | | |
| | | var GetEleApiName = function(ele){ |
| | | for(let ci in ele.classList){ |
| | | let c = ele.classList[ci]; |
| | | if(c.indexOf('{!ApiPrefix}'+'_')>-1){ |
| | | return c.replace('{!ApiPrefix}'+'_',''); |
| | | } |
| | | } |
| | | return ''; |
| | | } |
| | | |
| | | function IsFormTag(tag_name){ |
| | | if (!tag_name) { |
| | | return false; |
| | | } |
| | | return ['input','select','textarea'].indexOf(tag_name.toLowerCase())>-1; |
| | | } |
| | | |
| | | function IsFormElement(e){ |
| | | return IsFormTag(e.tagName); |
| | | } |
| | | |
| | | //4.获取要加密的字段 |
| | | function getPIPayload(reportJson) { |
| | | let reportPayloadList = []; |
| | |
| | | //5.新建或编辑 |
| | | function ProcessPI(reportJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | if ({!isNewMode} || {!isCloneMode} || !'{!AWSDataId}') {//Add by Li Jun for PIPL 20220413 |
| | | NewPIToAWS(reportJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(reportJson, payloadForNewPI) |
| | |
| | | payloadJson.age_Encrypted__c = result.object[0].ageEncrypt; |
| | | payloadJson.Medical_History_Encrypted__c = result.object[0].medicalHistoryEncrypt; |
| | | payloadJson.sex_Encrypted__c = result.object[0].sexEncrypt; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}||!'{!AWSDataId}') {//Add by Li Jun for PIPL 20220413 |
| | | payloadJson.AWS_Data_Id__c = result.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by Li Jun for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | } |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">报告书编辑</h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveReportProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveReportProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField html-data-id="{!layoutField.fieldAPI}" styleClass="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <!-- <apex:inputField html-title="{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | required="{!layoutField.isRequired}" /> --> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | </apex:pageBlockSection> |
| | | </apex:repeat> |
| | | <script> |
| | | var init_nodes = document.getElementsByClassName("PIBackApi"); |
| | | var api_id_map={}; |
| | | for(let ei in init_nodes){ |
| | | let e = init_nodes[ei]; |
| | | if(IsFormElement(e)){ |
| | | if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ |
| | | api_id_map[GetEleApiName(e)] = e.id; |
| | | } |
| | | |
| | | } |
| | | } |
| | | console.log(api_id_map); |
| | | sfdcPage.appendToOnloadQueue(function () { |
| | | //判断是否为只读选项 |
| | | var layoutSections = JSON.parse('{!layoutSectionsStr}'); |
| | |
| | | if('{!no1Name}' != '' && '{!no1Id}' != ''){ |
| | | console.log('name = '+'{!no1Name}') |
| | | console.log('Id = '+'{!no1Id}') |
| | | document.querySelector("[data-id='Loaner_request_no1__c']").value = '{!no1Name}' |
| | | document.getElementById(document.querySelector("[data-id='Loaner_request_no1__c']").id + '_lkid').value = '{!no1Id}' |
| | | if(document.querySelector("[data-id='Loaner_request_no1__c']")){ |
| | | document.querySelector("[data-id='Loaner_request_no1__c']").value = '{!no1Name}' |
| | | document.getElementById(document.querySelector("[data-id='Loaner_request_no1__c']").id + '_lkid').value = '{!no1Id}' |
| | | } |
| | | } |
| | | |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | |
| | | let previous_value = {}; |
| | | jQuery(".lookupInput input").each(function(i,e){ |
| | | let je =jQuery(e); |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveReportProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveReportProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | //payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | }, |
| | |
| | | var VLookUpFields = {! VLookUpFieldsJson}; |
| | | function ProcessPI(sobjJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode}) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(sobjJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(sobjJson, payloadForNewPI) |
| | |
| | | |
| | | function validateFieldValueFormate() { |
| | | let error_msg = ''; |
| | | let textEmail = "[data-id='Email']"; |
| | | let textPhone = "[data-id='Phone']"; |
| | | //Email |
| | | let email = document.querySelector(textEmail); |
| | | if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | error_msg += ';邮件格式错误'; |
| | | } |
| | | let phone = document.querySelector(textPhone); |
| | | // let textEmail = "[data-id='Email']"; |
| | | // let textPhone = "[data-id='Phone']"; |
| | | // //Email |
| | | // let email = document.querySelector(textEmail); |
| | | // if(email && !/^[\w-]{3,12}@[\da-zA-Z]{2,16}\.[a-zA-Z]+$/.test(email.value)){ |
| | | // error_msg += ';邮件格式错误'; |
| | | // } |
| | | // let phone = document.querySelector(textPhone); |
| | | |
| | | if(phone && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | error_msg += ';电话号码错误'; |
| | | } |
| | | // if(phone && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone.value)){ |
| | | // error_msg += ';电话号码错误'; |
| | | // } |
| | | |
| | | for(let e of document.getElementsByTagName('select')){ |
| | | for(let op of e.options){ |
| | |
| | | <div class="ptBody"> |
| | | <div class="content"> |
| | | <img src="/img/s.gif" alt="{! SobjectLabel}" class="pageTitleIcon" title="{! SobjectLabel}" /> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText> |
| | | <h1 class="pageType">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText> |
| | | <span class="titleSeparatingColon">:</span> |
| | | </h1> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <h2 class="pageDescription"> <apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText>{! SobjectLabel}</h2> |
| | | <div class="blank"> </div> |
| | | </div> |
| | | <div class="links"> |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | <h2 class="mainTitle">{! SobjectLabel}<apex:outputText rendered="{!isNewMode || isCloneMode}">{!$Label.New}</apex:outputText><apex:outputText rendered="{!not(isNewMode || isCloneMode)}">{!$Label.Edit}</apex:outputText></h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess(1)" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Tender_information__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Tender_information__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Tender_information__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Tender_information__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | } |
| | | } |
| | | //Replace Contact Vlookup Field |
| | | replaceSearchContactLookup(); |
| | | //replaceSearchContactLookup(); |
| | | //Replace Lead Vlookup Field |
| | | replaceSearchLeadLookup(); |
| | | //replaceSearchLeadLookup(); |
| | | document.querySelectorAll("[data-id='OwnerId']")[0].classList.add("disabledbutton"); |
| | | // document.querySelectorAll("[data-id='OwnerId']")[1].classList.add("disabledbutton"); |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | |
| | | jQuery('a[data-id="OwnerId"]').remove(); |
| | | |
| | |
| | | // clearVlookup('Hospital__c'); |
| | | // } |
| | | // }); |
| | | |
| | | /* |
| | | jQuery("body").on("change","input[data-id='Hospital_Name__c']",function(){ |
| | | setTimeout(() => { |
| | | console.log(document.getElementById(this.id+'_lkid').value); |
| | |
| | | clearVlookup('Hospital__c'); |
| | | } |
| | | }, 50); |
| | | }); |
| | | }); |
| | | */ |
| | | }); |
| | | |
| | | |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="{!$Label.Save}" onclick="saveSobjectProcess()" /> |
| | | <input class="btn" type="Button" value="{!$Label.SaveAndNew}" onclick="saveSobjectProcess()" /> |
| | | <apex:commandButton action="{!cancel}" value="{!$Label.Cancel}" /> |
| | |
| | | payloadJson.Phone_Number_Encrypt__c = r.object[0].phoneNumberEncrypt; |
| | | payloadJson.Direct_Shippment_Address_Encrypt__c = r.object[0].directShippmentAddressEncrypt; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | } |
| | |
| | | // New Or Edit |
| | | function ProcessPI(consumApplyJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode |
| | | }) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(consumApplyJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(consumApplyJson, payloadForNewPI) |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">耗材备品申请编辑</h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveConsumApplyProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveConsumApplyProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Consum_Apply__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Consum_Apply__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Consum_Apply__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Consum_Apply__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | //Replace Vlookup Field |
| | | replaceSearchContactLookup(); |
| | | document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | |
| | | let previous_value = {}; |
| | | jQuery(".lookupInput input").each(function(i,e){ |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveConsumApplyProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveConsumApplyProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | <!-- |
| | | @description : |
| | | @author : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | @group : |
| | | @last modified on : 03-18-2022 |
| | | @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | --> |
| | | <apex:page standardController="Consum_Apply_Equipment_Set_Detail__c" extensions="NewConsumApplyEquipSetDetailController" id="page"> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> |
| | | <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> |
| | |
| | | } |
| | | </style> |
| | | <script> |
| | | AWSService.sfSessionId = '{!GETSESSIONID()}'; |
| | | //Initial Required Information |
| | | var staticResources = JSON.parse('{!staticResource}'); |
| | | var requiredFieldAPIList = JSON.parse('{!requiredFieldAPIListStr}'); |
| | |
| | | payloadJson.Trial_User__c = r.object[0].trialUser; |
| | | payloadJson.Trial_User_Encrypt__c = r.object[0].trialUserEncrypt; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | debugger |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | } |
| | | |
| | | // New Or Edit |
| | | function ProcessPI(consumApplyJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode |
| | | }) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(consumApplyJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(consumApplyJson, payloadForNewPI) |
| | |
| | | console.log(nodelist[index].id.indexOf('lkwgt')); |
| | | if (nodelist[index].id.indexOf('lkwgt') == -1) { |
| | | let vlookUpNodeId = nodelist[index].id + '_lkid'; |
| | | let vlookUpNodeValue = document.getElementById(vlookUpNodeId).value; |
| | | result[nodelist[index].getAttribute("data-id")] = vlookUpNodeValue; |
| | | if(document.getElementById(vlookUpNodeId)!=null){ |
| | | let vlookUpNodeValue = document.getElementById(vlookUpNodeId).value; |
| | | result[nodelist[index].getAttribute("data-id")] = vlookUpNodeValue; |
| | | } |
| | | } |
| | | } else if (nodelist[index].type == 'checkbox') { |
| | | result[nodelist[index].getAttribute("data-id")] = nodelist[index].checked; |
| | |
| | | result[userVLookUpFields[i]] = userVlookUpNodeValue; |
| | | } |
| | | } |
| | | result.Consum_Apply_Equipment_Set__c = document.querySelector('[data-id=Consum_Apply_Equipment_Set__c]').textContent; |
| | | console.log(JSON.stringify(result)); |
| | | return result; |
| | | } |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">耗材备品配套一览明细编辑</h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveConsumApplyProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveConsumApplyProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!Consum_Apply_Equipment_Set_Detail__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Consum_Apply_Equipment_Set_Detail__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Consum_Apply_Equipment_Set_Detail__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Consum_Apply_Equipment_Set_Detail__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | <script> |
| | | //Append Page |
| | | sfdcPage.appendToOnloadQueue(function () { |
| | | //判断是否为只读选项 |
| | | var layoutSections = JSON.parse('{!layoutSectionsStr}'); |
| | | for (let m = 0; m < layoutSections.length; m++) { |
| | | let layoutSection = layoutSections[m].layoutFields; |
| | | for (let n = 0; n < layoutSection.length; n++) { |
| | | let layoutField = layoutSection[n]; |
| | | if (layoutField.fieldAPI != '' && document.querySelector("[data-id='"+layoutField.fieldAPI+"']") != null) { |
| | | document.querySelector("[data-id='"+layoutField.fieldAPI+"']").disabled = !(layoutField.editableField); |
| | | for (let m = 0; m < layoutSections.length; m++) { |
| | | let layoutSection = layoutSections[m].layoutFields; |
| | | for (let n = 0; n < layoutSection.length; n++) { |
| | | let layoutField = layoutSection[n]; |
| | | if (layoutField.fieldAPI != '' && document.querySelector("[data-id='"+layoutField.fieldAPI+"']") != null) { |
| | | let e = document.querySelector("[data-id='"+layoutField.fieldAPI+"']"); |
| | | e.disabled = !(layoutField.editableField); |
| | | if (!(layoutField.editableField)) { |
| | | if (e.getAttribute("multiple") && e.getAttribute("multiple") == 'multiple') { |
| | | e.parentNode.classList.add("disabledbutton"); |
| | | } |
| | | if (e.tagName == 'DIV') { |
| | | e.classList.add("disabledbutton"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //2. Query AWS Data by dataId |
| | | console.log('Mode for consumApply Page:' + {!isNewMode}); |
| | | if (!{!isNewMode}) { |
| | | blockme(); |
| | | QueryConsumApplyFromAWS(); |
| | | }; |
| | | document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); |
| | | |
| | | jQuery(".lookupInput").each(function(i,e){ |
| | | let je =jQuery(e).find('input'); |
| | | je.attr("readonly",""); |
| | | je.css("background","unset"); |
| | | //document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | //zhj 2022/04/11 start |
| | | // jQuery(".lookupInput").each(function(i,e){ |
| | | // let je =jQuery(e).find('input'); |
| | | // je.attr("readonly",""); |
| | | // je.css("background","unset"); |
| | | |
| | | let dataid = je.attr('data-id'); |
| | | if(['Hospital_Name__c','Department_Class__c','OwnerId'].indexOf(dataid) > -1) return; |
| | | jQuery(e).children(":last-child").before('<img class="closeIcon" data-id="'+dataid+'" generate="" alt="Clear" src="/s.gif" style="display: inline-block;">'); |
| | | }) |
| | | // let dataid = je.attr('data-id'); |
| | | // if(['Hospital_Name__c','Department_Class__c','OwnerId'].indexOf(dataid) > -1) return; |
| | | // jQuery(e).children(":last-child").before('<img class="closeIcon" data-id="'+dataid+'" generate="" alt="Clear" src="/s.gif" style="display: inline-block;">'); |
| | | // }) |
| | | |
| | | jQuery(".lookupInput").on("mouseenter","img[generate]",function(e){ |
| | | this.className = "closeIconOn"; |
| | | }); |
| | | // jQuery(".lookupInput").on("mouseenter","img[generate]",function(e){ |
| | | // this.className = "closeIconOn"; |
| | | // }); |
| | | |
| | | jQuery(".lookupInput").on("mouseleave","img[generate]",function(e){ |
| | | this.className = "closeIcon" |
| | | }); |
| | | // jQuery(".lookupInput").on("mouseleave","img[generate]",function(e){ |
| | | // this.className = "closeIcon" |
| | | // }); |
| | | |
| | | jQuery(".lookupInput").on("click","img[generate]",function(e){ |
| | | let id = jQuery("input[data-id='"+jQuery(this).attr("data-id")+ "']").attr("id"); |
| | | let input = document.getElementById(id); |
| | | if(input){ |
| | | input.value = ''; |
| | | let hidden = document.getElementById(id+'_lkid'); |
| | | if(hidden){ |
| | | hidden.value = ''; |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // jQuery(".lookupInput").on("click","img[generate]",function(e){ |
| | | // let id = jQuery("input[data-id='"+jQuery(this).attr("data-id")+ "']").attr("id"); |
| | | // let input = document.getElementById(id); |
| | | // if(input){ |
| | | // input.value = ''; |
| | | // let hidden = document.getElementById(id+'_lkid'); |
| | | // if(hidden){ |
| | | // hidden.value = ''; |
| | | // } |
| | | // } |
| | | // }); |
| | | //zhj 2022/04/11 end |
| | | }); |
| | | </script> |
| | | <div class="pbBottomButtons"> |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveConsumApplyProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveConsumApplyProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | <!-- |
| | | @description : |
| | | @author : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | @group : |
| | | @last modified on : 03-24-2022 |
| | | @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | --> |
| | | <apex:page standardController="On_Call__c" extensions="OnCallController" id="page"> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> |
| | | <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> |
| | |
| | | var queryBack = function queryBack(data) { |
| | | console.log('data = ' + data); |
| | | //document.querySelector("[id='page:form:pageBlock:pageBlockSection:j_id1:0:j_id2']").value = data.object.callerPhone; |
| | | document.querySelector("[id='page:form:block:j_id34:0:j_id35:j_id36:5:j_id37']").value = data.object.callerPhone; //20220404 By Chen Yanan |
| | | document.getElementById(api_id_map['Caller_phone__c']).value = data.object.callerPhone; //20220404 By Chen Yanan |
| | | document.querySelector("[data-id='Responsible_Person_HP__c']").value = data.object.responsiblePersonHP; |
| | | unblockUI(); |
| | | }; |
| | |
| | | payloadJson.Caller_Phone_Encrypt__c = r.object[0].callerPhoneEncrypt; |
| | | payloadJson.Responsible_PersonHP_Encrypt__c = r.object[0].responsiblePersonHPEncrypt; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if (isNewMode|| {!isCloneMode} ||!'{!AWSDataId}') {//Add by Li Jun for PIPL 20220413 |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | debugger |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | } |
| | | |
| | | // New Or Edit |
| | | function ProcessPI(onCallJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode |
| | | }) { |
| | | if ({!isNewMode} || {!isCloneMode} ||!'{!AWSDataId}') {//Add by Li Jun for PIPL 20220413 |
| | | NewPIToAWS(onCallJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(onCallJson, payloadForNewPI) |
| | |
| | | errorMsgNode.innerText = ''; |
| | | errorMsgNode.className = ''; |
| | | } |
| | | var GetEleApiName = function(ele){ |
| | | for(let ci in ele.classList){ |
| | | let c = ele.classList[ci]; |
| | | if(c.indexOf('PIBackApi'+'_')>-1){ |
| | | return c.replace('PIBackApi'+'_',''); |
| | | } |
| | | } |
| | | return ''; |
| | | } |
| | | |
| | | function IsFormTag(tag_name){ |
| | | if (!tag_name) { |
| | | return false; |
| | | } |
| | | return ['input','select','textarea'].indexOf(tag_name.toLowerCase())>-1; |
| | | } |
| | | |
| | | function IsFormElement(e){ |
| | | return IsFormTag(e.tagName); |
| | | } |
| | | </script> |
| | | <div class="bPageTitle"> |
| | | <div class="ptBody"> |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">OnCall编辑</h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveOnCallProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveOnCallProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField html-data-id="{!layoutField.fieldAPI}" value="{!On_Call__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!On_Call__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!On_Call__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!On_Call__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | </apex:pageBlockSection> |
| | | </apex:repeat> |
| | | <script> |
| | | var init_nodes = document.getElementsByClassName("PIBackApi"); |
| | | var api_id_map={}; |
| | | for(let ei in init_nodes){ |
| | | let e = init_nodes[ei]; |
| | | if(IsFormElement(e)){ |
| | | if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ |
| | | api_id_map[GetEleApiName(e)] = e.id; |
| | | } |
| | | |
| | | } |
| | | } |
| | | //Append Page |
| | | sfdcPage.appendToOnloadQueue(function () { |
| | | var layoutSections = JSON.parse('{!layoutSectionsStr}'); |
| | |
| | | QueryOnCallFromAWS(); |
| | | }; |
| | | document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | |
| | | jQuery(".lookupInput").each(function(i,e){ |
| | | let je =jQuery(e).find('input'); |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveOnCallProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveOnCallProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | <!-- |
| | | @description : |
| | | @author : Dennis |
| | | @group : |
| | | @last modified on : 04-01-2022 |
| | | @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc |
| | | --> |
| | | <apex:page standardController="Rental_Apply__c" extensions="RentalApplyController" id="page"> |
| | | <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/> |
| | | <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" /> |
| | |
| | | document.querySelector("[data-id='Phone_number__c']").value = data.object.phoneNumber; |
| | | document.querySelector("[data-id='direct_shippment_address__c']").value = data.object.directShippmentAddress; |
| | | unblockUI(); |
| | | enableButtonStatus();//Add by Li Jun 20220418 |
| | | }; |
| | | |
| | | //Check If Insert Or Update |
| | |
| | | payloadJson.Phone_Number_Encrypt__c = r.object[0].phoneNumberEncrypt; |
| | | payloadJson.Direct_Shippment_Address_Encrypt__c = r.object[0].directShippmentAddressEncrypt; |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | if (isNewMode) { |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by Li Jun for Record Type Issue 20220419 |
| | | } |
| | | |
| | | if (isNewMode || {!isCloneMode}) { |
| | | payloadJson.AWS_Data_Id__c = r.object[0].dataId; |
| | | delete payloadJson.OwnerId; |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | debugger |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | } |
| | | //Add Button status start 20220418 |
| | | function enableButton(obj) { |
| | | obj.classList.remove("btnDisabled"); |
| | | } |
| | | |
| | | function disableButton(obj) { |
| | | obj.classList.add("btnDisabled"); |
| | | } |
| | | |
| | | function disableButtonStatus() { |
| | | let btnList = document.getElementsByClassName('btn'); |
| | | for (let i = 0; i < btnList.length; i++) { |
| | | disableButton(btnList[i]); |
| | | } |
| | | } |
| | | |
| | | function enableButtonStatus() { |
| | | let btnList = document.getElementsByClassName('btn'); |
| | | for (let i = 0; i < btnList.length; i++) { |
| | | enableButton(btnList[i]); |
| | | } |
| | | } |
| | | disableButtonStatus(); |
| | | //Add Button status end 20220418 |
| | | // New Or Edit |
| | | function ProcessPI(rentalApplyJson, payloadForNewPI) { |
| | | blockme(); |
| | | if ({!isNewMode |
| | | }) { |
| | | if ({!isNewMode} || {!isCloneMode}) { |
| | | NewPIToAWS(rentalApplyJson, payloadForNewPI) |
| | | }else { |
| | | UpdatePIToAWS(rentalApplyJson, payloadForNewPI) |
| | |
| | | } |
| | | return ['input','select','textarea'].indexOf(tag_name.toLowerCase())>-1; |
| | | } |
| | | |
| | | function IsFormElement(e){ |
| | | |
| | | function IsFormElement(e){ |
| | | return IsFormTag(e.tagName); |
| | | } |
| | | |
| | |
| | | // } |
| | | // result.HP_received_sign_rich__c = CKEDITOR.instances["page:form:block:j_id34:12:j_id35:j_id36:1:j_id37:textAreaDelegate_HP_received_sign_rich__c"].getData(); |
| | | // if(document.querySelector("[aria-describedby = 'cke_71']")){ |
| | | // result. Extension_List_RentalApply__c = document.querySelector("[aria-describedby = 'cke_71']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | // result. Extension_List_RentalApply__c = document.querySelector("[aria-describedby = 'cke_71']").contentWindow.document.getElementsByTagName('body')[0].innerHTML |
| | | // } |
| | | for (let index = 0; index < nodelist.length; index++) { |
| | | if (VLookUpFields.has(nodelist[index].getAttribute("data-id"))) { |
| | | console.log(nodelist[index].id.indexOf('lkwgt')); |
| | | if (nodelist[index].id.indexOf('lkwgt') == -1) { |
| | | let vlookUpNodeId = nodelist[index].id + '_lkid'; |
| | | let vlookUpNodeValue = document.getElementById(vlookUpNodeId).value; |
| | | result[nodelist[index].getAttribute("data-id")] = vlookUpNodeValue; |
| | | if(document.getElementById(vlookUpNodeId)){ |
| | | let vlookUpNodeValue = document.getElementById(vlookUpNodeId).value; |
| | | result[nodelist[index].getAttribute("data-id")] = vlookUpNodeValue; |
| | | } |
| | | } |
| | | } else if (nodelist[index].type == 'checkbox') { |
| | | result[nodelist[index].getAttribute("data-id")] = nodelist[index].checked; |
| | |
| | | } |
| | | } |
| | | } |
| | | if(document.querySelector("[id='page:form:block:j_id34:2:j_id35:j_id36:2:j_id37']")!=null){ |
| | | result.demo_purpose2__c = document.querySelector("[id='page:form:block:j_id34:2:j_id35:j_id36:2:j_id37']").value; |
| | | if(api_id_map['demo_purpose2__c']){ |
| | | result.demo_purpose2__c = document.getElementById(api_id_map['demo_purpose2__c']).value!='_\x01_'?document.getElementById(api_id_map['demo_purpose2__c']).value:''; |
| | | } |
| | | if(document.querySelector("[id='page:form:block:j_id34:0:j_id35:j_id36:18:j_id37']")!=null){ |
| | | result.ToAgency__c = document.querySelector("[id='page:form:block:j_id34:0:j_id35:j_id36:18:j_id37']").value; |
| | | if(api_id_map['ToAgency__c']){ |
| | | result.ToAgency__c = document.getElementById(api_id_map['ToAgency__c']).value!='_\x01_'?document.getElementById(api_id_map['ToAgency__c']).value:''; |
| | | } |
| | | //document.querySelector("[id='page:form:block:j_id34:0:j_id35:j_id36:18:j_id37']").disabled =true; // Commented By Li Jun 20220304 |
| | | if(document.querySelector("[id='page:form:block:j_id34:13:j_id35:j_id36:1:j_id37']")!=null){ |
| | | result.Loaner_cancel_reason__c = document.querySelector("[id='page:form:block:j_id34:13:j_id35:j_id36:1:j_id37']").value; |
| | | }else{ |
| | | if(document.querySelector("[id='page:form:block:j_id34:11:j_id35:j_id36:1:j_id37']")!=null){ |
| | | result.Loaner_cancel_reason__c = document.querySelector("[id='page:form:block:j_id34:11:j_id35:j_id36:1:j_id37']").value; |
| | | } |
| | | if(api_id_map['Loaner_cancel_reason__c']){ |
| | | result.Loaner_cancel_reason__c = document.getElementById(api_id_map['Loaner_cancel_reason__c']).value!='_\x01_'?document.getElementById(api_id_map['Loaner_cancel_reason__c']).value:''; |
| | | } |
| | | // else{ |
| | | // if(document.querySelector("[id='page:form:block:j_id34:11:j_id35:j_id36:1:j_id37']")!=null){ |
| | | // result.Loaner_cancel_reason__c = document.querySelector("[id='page:form:block:j_id34:11:j_id35:j_id36:1:j_id37']").value; |
| | | // } |
| | | // } |
| | | // //格式化时间 |
| | | // if(result.HP_received_sign_day__c){ |
| | | // result.HP_received_sign_day__c = result.HP_received_sign_day__c.replace(/\//g, '-')+':00'; |
| | |
| | | if(e){ |
| | | result.Extension_List_RentalApply__c = e.getData(); |
| | | } |
| | | if(document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:13:j_id37' + '_lkid')!=null){ |
| | | if(document.getElementById(api_id_map['Office_Assistant1__c'] + '_lkid')!=null){ |
| | | // result.ToAgency__c = document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:18:j_id37').value; |
| | | result.Office_Assistant1__c = document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:13:j_id37' + '_lkid').value; |
| | | result.Office_Assistant1__c = document.getElementById(api_id_map['Office_Assistant1__c'] + '_lkid').value; |
| | | } |
| | | if(document.getElementById(api_id_map['Office_Assistant2__c'] + '_lkid')!=null){ |
| | | // result.ToAgency__c = document.getElementById('page:form:block:j_id34:0:j_id35:j_id36:18:j_id37').value; |
| | | result.Office_Assistant2__c = document.getElementById(api_id_map['Office_Assistant2__c'] + '_lkid').value; |
| | | } |
| | | console.log(JSON.stringify(result)); |
| | | return result; |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">备品借出申请编辑</h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveRentalApplyProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveRentalApplyProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Rental_Apply__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Rental_Apply__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Rental_Apply__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Rental_Apply__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){ |
| | | api_id_map[GetEleApiName(e)] = e.id; |
| | | } |
| | | |
| | | }else{ |
| | | let eid = jQuery(e).find(".lookupInput input").attr("id") |
| | | if(eid){ |
| | | eid += '_lkid'; |
| | | if(document.getElementById(eid)){ |
| | | api_id_map[GetEleApiName(e)] = eid; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | console.log(api_id_map); |
| | |
| | | var onlyReadFields = ['ExtensionStatus__c','ExtensionApplicationTime_Initial__c','ExtensionApprovalTime_Initial__c','ExtensionApplicationTime_Final__c','ExtensionApprovalTime_Final__c','ExtensionSuccessTimes__c','ZongjianApprovalManager__c','BuchangApprovalManager__c','JingliApprovalManager__c','BuchangApprovalManagerSales__c','SalesManager__c']; |
| | | console.log(onlyReadFields); |
| | | for(let i=0;i<onlyReadFields.length;i++){ |
| | | document.querySelector('[data-id='+onlyReadFields[i]+']').parentNode.remove(); |
| | | if(document.querySelector('[data-id='+onlyReadFields[i]+']')){ |
| | | document.querySelector('[data-id='+onlyReadFields[i]+']').parentNode.remove(); |
| | | } |
| | | } |
| | | |
| | | //2. Query AWS Data by dataId |
| | |
| | | if (!{!isNewMode}) { |
| | | blockme(); |
| | | QueryRentalApplyFromAWS(); |
| | | }else{ |
| | | enableButtonStatus();//Add by Li Jun 20220418 |
| | | }; |
| | | //Replace Vlookup Field |
| | | replaceSearchContactLookup(); |
| | | document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); |
| | | |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | |
| | | let previous_value = {}; |
| | | jQuery(".lookupInput input").each(function(i,e){ |
| | | let je =jQuery(e); |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveRentalApplyProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveRentalApplyProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | //Redirect Required Parameter |
| | | var redirectCallBack = function redirectCallBack(sfId, errorMessage) { |
| | | if (sfId) { |
| | | if (redirectMode == 'Save') { |
| | | window.open('/' + sfId, '_self'); |
| | | } else if (redirectMode == 'SaveAndNew') { |
| | | window.open('/setup/ui/recordtypeselect.jsp?ent=' + '{!sobjectId}' + '&retURL=/' + '{!sobjectPrefix}' + '/o&save_new_url=/' + '{!sobjectPrefix}' + '/e?retURL=%2F' + '{!sobjectPrefix}' + '%2Fo', '_self'); |
| | | } |
| | | } else { |
| | | // alert(errorMessage); |
| | | if(sfId){ |
| | | Visualforce.remoting.Manager.invokeAction( |
| | | 'NewRepairController.EncryptUpdate', // example |
| | | sfId, |
| | | function (result, event) { |
| | | console.log(result); |
| | | if(result.message){ |
| | | alert(result.message); |
| | | } |
| | | if (redirectMode == 'Save') { |
| | | window.open('/' + sfId, '_self'); |
| | | } else if (redirectMode == 'SaveAndNew') { |
| | | window.open('/setup/ui/recordtypeselect.jsp?ent=' + '{!sobjectId}' + '&retURL=/' + '{!sobjectPrefix}' + '/o&save_new_url=/' + '{!sobjectPrefix}' + '/e?retURL=%2F' + '{!sobjectPrefix}' + '%2Fo', '_self'); |
| | | } |
| | | |
| | | }, |
| | | { escape: true } |
| | | ); |
| | | |
| | | }else{ |
| | | alertErrorMessage(errorMessage); |
| | | } |
| | | } |
| | |
| | | } else { |
| | | payloadJson.AWS_Data_Id__c = '{!AWSDataId}'; |
| | | } |
| | | debugger |
| | | if('{!rtTypeId}'){ |
| | | payloadJson.RecordTypeId = '{!rtTypeId}';//Add by zhj for Record Type Issue 20220421 |
| | | } |
| | | return payloadJson; |
| | | } |
| | | |
| | |
| | | if(e){ |
| | | result.Repair_Determine_result_ConfirmationUser__c = e.value; |
| | | } |
| | | //未修理归还理由 |
| | | if(api_id_map['Return_Without_Repair_Reason__c']){ |
| | | result.Return_Without_Repair_Reason__c = document.getElementById(api_id_map['Return_Without_Repair_Reason__c']).value!='_\x01_'?document.getElementById(api_id_map['Return_Without_Repair_Reason__c']).value:''; |
| | | } |
| | | console.log(JSON.stringify(result)); |
| | | return result; |
| | | } |
| | |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> |
| | | <h2 class="mainTitle">修理编辑</h2> |
| | | </td> |
| | | <td class="pbButton" id="topButtonRow"> |
| | | <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveRepairProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveRepairProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | |
| | | <!--Each section has layoutFields, let's iterate them as well--> |
| | | <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField"> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Repair__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}" |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Repair__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Repair__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}" |
| | | required="{!layoutField.isRequired}" /> |
| | | <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Repair__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&¬(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}" |
| | | /> |
| | | <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}"> |
| | | </apex:pageblocksectionitem> |
| | | </apex:repeat> |
| | |
| | | unblockUI(); |
| | | }; |
| | | if(document.querySelector("[data-id='OwnerId']") != null) |
| | | document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); |
| | | document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton"); |
| | | |
| | | document.getElementById('topButtonRow').style = ''; |
| | | document.getElementById('bottomButtonRow').style = ''; |
| | | |
| | | let previous_value = {}; |
| | | jQuery(".lookupInput input").each(function(i,e){ |
| | |
| | | } |
| | | }) |
| | | }) |
| | | |
| | | //维修中心 |
| | | if('{!workLocationSelect}' != ''){ |
| | | let wlNode = document.getElementById(api_id_map['work_location_select__c']); |
| | | if(wlNode){ |
| | | wlNode.removeAttribute("disabled") |
| | | var o = new Option() |
| | | o.text = '{!workLocationSelect}' |
| | | wlNode.options.add(o) |
| | | wlNode.value = '{!workLocationSelect}' |
| | | } |
| | | } |
| | | |
| | | //如果从报修子单过来,需要解密报修人 |
| | | if('{!RepairSubOrderAWSDataId}' != ''){ |
| | | var staticResourceRepairSubOrder = JSON.parse('{!staticResourceRepairSubOrder}'); |
| | | let queryBackRepairSubOrder = function queryBackRepairSubOrder(data) { |
| | | document.querySelector("[data-id='RepairApplicant__c']").value = data.object.repairApplicantName; |
| | | }; |
| | | AWSService.query(staticResourceRepairSubOrder.queryUrl, '{!RepairSubOrderAWSDataId}', queryBackRepairSubOrder, staticResourceRepairSubOrder.token); |
| | | } |
| | | |
| | | // jQuery(".lookupInput").each(function(i,e){ |
| | | // let je =jQuery(e).find('input'); |
| | |
| | | <tr> |
| | | <td class="pbTitle"> |
| | | <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" /> </td> |
| | | <td class="pbButtonb" id="bottomButtonRow"> |
| | | <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;"> |
| | | <input class="btn" type="Button" value="保存" onclick="saveRepairProcess('Save')" /> |
| | | <input class="btn" type="Button" value="保存并新建" onclick="saveRepairProcess('SaveAndNew')" /> |
| | | <apex:commandButton action="{!cancel}" value="取消" /> |
| | |
| | | for (let i = 0; i < divs.length; i++) { |
| | | for (let j = 0; j < divs[i].classList.length; j++) { |
| | | for(let clsi in divs[i].classList){let cls=divs[i].classList[clsi]; |
| | | if (cls.indexOf('error')>-1) { |
| | | if (typeof cls == 'string' && cls.indexOf('error')>-1) { |
| | | return true; |
| | | } |
| | | } |
| | |
| | | /* 20220221 PI改造 by 徐亮 start */ |
| | | body{margin: 0 auto; |
| | | width: 780px;} |
| | | #title1{height: 30px;} |
| | | #title2{height: 110px;} |
| | | .title1{height: 30px;} |
| | | .title2{height: 110px;} |
| | | /* 20220221 PI改造 by 徐亮 end */ |
| | | |
| | | |
| | |
| | | |
| | | <body style="font-family: MS Gothic;"> |
| | | <div id="pdf-wrapper"> |
| | | <div id="title1"></div> |
| | | <div class="pdf-page"> |
| | | |
| | | <table width="100%" border="0"> |
| | | <tr> |
| | | <td width="25%"> |
| | |
| | | </tr> |
| | | </table> |
| | | |
| | | <div style="page-break-after: always;"></div> |
| | | |
| | | <div id="title2"></div> |
| | | </div> |
| | | <div style="page-break-after: always;"></div> |
| | | <div class="pdf-page"> |
| | | |
| | | <table width="100%" border="0"> |
| | | <tr> |
| | | <td width="25%"> |
| | |
| | | <br/> |
| | | <table width="100%" border="1" cellspacing="2" style="font-size: 8pt;"> |
| | | <tr> |
| | | <td> |
| | | <table width="100%" border="1" cellspacing="0"> |
| | | <tr><td style="height:300px; text-align: center;"><apex:image value="{!qr.Photo_1_Text__c}" width="80%" rendered="{!NOT(ISBLANK(qr.Photo_1_Text__c))}" /></td></tr> |
| | | <td style="width:50%"> |
| | | <table width="100%" border="0" cellspacing="0"> |
| | | <tr><td style="height:300px; text-align: center;"><apex:image id="Photo_1_Text" value="{!Photo_1_Text}" width="80%" rendered="{!NOT(ISBLANK(qr.Photo_1_Text__c))}" /></td></tr> |
| | | <tr><td style="height:40px;"></td></tr> |
| | | </table> |
| | | </td> |
| | | <td style="border-left-color: white;"> |
| | | <table width="100%" border="1" cellspacing="0"> |
| | | <tr><td style="height:300px; text-align: center;"><apex:image value="{!qr.Photo_2_Text__c}" width="80%" rendered="{!NOT(ISBLANK(qr.Photo_2_Text__c))}" /></td></tr> |
| | | <table width="100%" border="0" cellspacing="0"> |
| | | <tr><td style="height:300px; text-align: center;"><apex:image value="{!Photo_2_Text}" width="80%" rendered="{!NOT(ISBLANK(qr.Photo_2_Text__c))}" /></td></tr> |
| | | <tr><td style="height:40px;"></td></tr> |
| | | </table> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td style="border-top-color: white;"> |
| | | <table width="100%" border="1" cellspacing="0"> |
| | | <tr><td style="height:300px; text-align: center;"><apex:image value="{!qr.Photo_3_Text__c}" width="80%" rendered="{!NOT(ISBLANK(qr.Photo_3_Text__c))}" /></td></tr> |
| | | <table width="100%" border="0" cellspacing="0"> |
| | | <tr><td style="height:300px; text-align: center;"><apex:image value="{!Photo_3_Text}" width="80%" rendered="{!NOT(ISBLANK(qr.Photo_3_Text__c))}" /></td></tr> |
| | | <tr><td style="height:40px;"></td></tr> |
| | | </table> |
| | | </td> |
| | | <td style="border-left-color: white; border-top-color: white;"> |
| | | <table width="100%" border="1" cellspacing="0"> |
| | | <tr><td style="height:300px; text-align: center;"><apex:image value="{!qr.Photo_4_Text__c}" width="80%" rendered="{!NOT(ISBLANK(qr.Photo_4_Text__c))}" /></td></tr> |
| | | <table width="100%" border="0" cellspacing="0"> |
| | | <tr><td style="height:300px; text-align: center;"><apex:image value="{!Photo_4_Text}" width="80%" rendered="{!NOT(ISBLANK(qr.Photo_4_Text__c))}" /></td></tr> |
| | | <tr><td style="height:40px;"></td></tr> |
| | | </table> |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | |
| | | </div> |
| | | </body> |
| | | |
| | |
| | | AWSService.sfSessionId = '{!GETSESSIONID()}'; |
| | | var staticResources = JSON.parse('{!staticResource}'); |
| | | var staticResourceFile = JSON.parse('{!staticResourceFile}'); |
| | | function Fun(pdf){ |
| | | function Fun(pdf) { |
| | | |
| | | var form = jQuery("<form method='post'></form>"); |
| | | jQuery(document.body).append(form); |
| | | let href = window.location.href |
| | | let arr = href.split('/') |
| | | form.attr({"action":staticResourceFile.viewUnifiedContactUrl+"?from="+encodeURIComponent(href)+"&fileName="+encodeURIComponent(arr[arr.length-1].split('?')[0])}); |
| | | form.attr({ "action": staticResourceFile.viewUnifiedContactUrl + "?from=" + encodeURIComponent(href) + "&fileName=" + encodeURIComponent(arr[arr.length - 1].split('?')[0]) }); |
| | | // form.attr({"action":"http://127.0.0.1:8080/a/d?from="+encodeURIComponent(window.location.href)}); |
| | | let input = jQuery("<input type='hidden'/>"); |
| | | input.attr({"name":"base64Str"}); |
| | | input.attr({ "name": "base64Str" }); |
| | | input.val(pdf.output('datauristring').substr(28)); |
| | | form.append(input); |
| | | form.submit(); |
| | |
| | | |
| | | let id = "pdf-wrapper"; |
| | | var target = document.getElementById(id); |
| | | function jsPdfDownload(){ |
| | | let pdfName = "测试"; |
| | | let id = "pdf-wrapper"; |
| | | var target = document.getElementById(id); |
| | | target.style.background = "#FFFFFF"; |
| | | if(pdfName==''||pdfName==undefined) pdfName= getNowFormatDate(); |
| | | |
| | | html2canvas(target, { |
| | | scale: 2, |
| | | onrendered:function(canvas) { |
| | | var contentWidth = canvas.width; |
| | | var contentHeight = canvas.height; |
| | | |
| | | //一页pdf显示html页面生成的canvas高度; |
| | | var pageHeight = contentWidth / 592.28 * 841.89; |
| | | //未生成pdf的html页面高度 |
| | | var leftHeight = contentHeight; |
| | | //页面偏移 |
| | | var position = 0; |
| | | //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高 |
| | | var imgWidth = 515.28;//595.28//左右边距20 |
| | | var imgHeight = 515.28/contentWidth * contentHeight;//左右边距20 |
| | | |
| | | var pageData = canvas.toDataURL('image/jpeg', 1.0); |
| | | |
| | | var pdf = new jsPDF('', 'pt', 'a4'); |
| | | |
| | | //有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89) |
| | | //当内容未超过pdf一页显示的范围,无需分页 |
| | | if (leftHeight < pageHeight) { |
| | | pdf.addImage(pageData, 'JPEG', 40, 0, imgWidth, imgHeight );//左右边距20 |
| | | } else { |
| | | while(leftHeight > 0) { |
| | | pdf.addImage(pageData, 'JPEG', 40, position, imgWidth, imgHeight)//左右边距20 |
| | | leftHeight -= pageHeight; |
| | | position -= 841.89; |
| | | //避免添加空白页 |
| | | if(leftHeight > 0) { |
| | | pdf.addPage(); |
| | | } |
| | | } |
| | | } |
| | | Fun(pdf); |
| | | } |
| | | }) |
| | | } |
| | | // 把imageDta转换成url |
| | | // page_height:一页的高度 |
| | | function ImageDataToUrl(img_data,page_height){ |
| | | let cvs = document.createElement("CANVAS"); |
| | | cvs.width = img_data.width; |
| | | cvs.height = page_height; |
| | | var ctx= cvs.getContext("2d"); |
| | | ctx.fillStyle="white"; |
| | | ctx.fillRect(0,0,cvs.width,cvs.height);// 填充canvas所有区域为白色 |
| | | ctx.putImageData(img_data,0,0); |
| | | return cvs.toDataURL('image/jpeg', 1.0); |
| | | } |
| | | function jsPdfDownload() { |
| | | |
| | | //blockme(); |
| | | document.body.onload = function(){ |
| | | |
| | | AWSService.query(staticResources.queryUrl, '{!qr.AWS_Data_Id__c}', function(data){ |
| | | //unblockUI(); |
| | | document.getElementById("Responsible_Person_HP__c").innerHTML = data.object.responsiblePersonHP; |
| | | document.getElementById("Caller_phone__c").innerHTML = data.object.callerPhone; |
| | | let jtargets = jQuery("#pdf-wrapper .pdf-page"); |
| | | let j_arr = new Array(jtargets.length + 1).join(0).split('').map(function () { return false }); |
| | | let landscape = false; |
| | | let pw = 595.28; |
| | | let ph = 841.89; |
| | | const marginw = 40; |
| | | const marginh = 40; |
| | | |
| | | let orientation = ''; |
| | | if (landscape) { |
| | | pw += ph; ph = pw - ph; pw = pw - ph; |
| | | orientation = 'l'; |
| | | } |
| | | var pdf = new jsPDF(orientation, 'pt', 'a4');// 第一个参数填字母l,注意不是数字1,为横向pdf |
| | | jtargets.each(function (i, e) { |
| | | e.style.background = "#FFFFFF"; |
| | | }) |
| | | |
| | | let rei = 0; |
| | | let recursion = null; |
| | | recursion = function (i) { |
| | | if (i >= jtargets.length) { |
| | | Fun(pdf); |
| | | return; |
| | | } |
| | | e = jtargets[i]; |
| | | html2canvas(e, { |
| | | scale: 2, |
| | | onrendered: function (canvas) { |
| | | /** |
| | | 本方法需要做几个事情 |
| | | 1.需要把canvas的内容分页显示到pdf的页中 |
| | | 2.canvas的宽高需要和pdf的宽高进行映射 |
| | | 3.截取到的内容需要放进一页宽高的canvas里面,并对其余区域刷白 |
| | | */ |
| | | var ctx = canvas.getContext("2d"); |
| | | let canvas_max_page_num = 9; |
| | | let canvas_current_page_num = 0; |
| | | var contentWidth = canvas.width; |
| | | var contentHeight = canvas.height; |
| | | |
| | | |
| | | //未生成pdf的html页面高度 |
| | | var leftHeight = contentHeight; |
| | | //页面偏移 |
| | | var position = 0; |
| | | |
| | | //a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高 |
| | | var outputWidth = pw - 2 * marginw;//595.28//左右边距20 |
| | | let rate = outputWidth / 780;//输出宽度和内容宽度的比例 |
| | | var outputHeight = ph - 2 * marginh;//左右边距20 |
| | | let onePdfPageInCanvasHeight = contentWidth/outputWidth*outputHeight;//一页pdf在canvas中的高度; |
| | | //var pageData = canvas.toDataURL('image/jpeg', 1.0); |
| | | var pageData = null; |
| | | var imgData = null; |
| | | |
| | | var captureHeight = null;// 截取的当前canvas页的高度 |
| | | |
| | | let j = i; |
| | | while(position < contentHeight){ |
| | | |
| | | if (j++) { |
| | | pdf.addPage(); |
| | | } |
| | | |
| | | if(position+onePdfPageInCanvasHeight>contentHeight){ |
| | | captureHeight = contentHeight-position; |
| | | }else{ |
| | | captureHeight = onePdfPageInCanvasHeight; |
| | | } |
| | | |
| | | imgData = ctx.getImageData(0,position,contentWidth,captureHeight); |
| | | pageData = ImageDataToUrl(imgData,onePdfPageInCanvasHeight); |
| | | pdf.addImage(pageData, 'JPEG', marginw, marginh, outputWidth, outputHeight);//左右边距20,被输出的图片会被拉伸为outputWidth,outputHeight的宽高 |
| | | canvas_current_page_num++; |
| | | position += onePdfPageInCanvasHeight; |
| | | if (canvas_max_page_num > 0 && canvas_current_page_num >= canvas_max_page_num) { |
| | | break; |
| | | } |
| | | } |
| | | |
| | | recursion(i + 1); |
| | | } |
| | | }) |
| | | }; |
| | | recursion(rei); |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | //blockme(); |
| | | document.body.onload = function(){ |
| | | |
| | | jsPdfDownload(); |
| | | }, staticResources.token); |
| | | AWSService.query(staticResources.queryUrl, '{!qr.AWS_Data_Id__c}', function(data){ |
| | | //unblockUI(); |
| | | document.getElementById("Responsible_Person_HP__c").innerHTML = data.object.responsiblePersonHP; |
| | | document.getElementById("Caller_phone__c").innerHTML = data.object.callerPhone; |
| | | if(confirm("PDF已加载完毕,是否显示?")){ |
| | | jsPdfDownload(); |
| | | } |
| | | }, staticResources.token); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | </script> |
| | | <!-- 20220221 PI改造 by 徐亮 end --> |
| | | </html> |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | function showPITR(obj){ |
| | | var awsDataId = obj.childNodes[1].childNodes[2].value; |
| | | if(awsDataId.length == 1){ |
| | | let sfId = j$(escapeVfId('Page:mainForm:idSearchVisitor:idAddVisitor:' + awsDataId + ':idAddHiddenId')).val() |
| | | awsDataId = sfIdToAWSIdMapValue.get(sfId); |
| | | } |
| | | if(contactInfo[awsDataId]){ |
| | | document.getElementById(obj.childNodes[1].childNodes[0].id).innerText = contactInfo[awsDataId].lastName; |
| | | document.getElementById(obj.childNodes[3].childNodes[0].id).innerText = contactInfo[awsDataId].doctorDivision1; |
| | | document.getElementById(obj.childNodes[4].childNodes[0].id).innerText = contactInfo[awsDataId].phone; |
| | | } |
| | | } |
| | | |
| | | function hidePIDiv(obj){ |
| | | document.getElementById(obj.id+'_PI').remove(); |
| | | } |
| | |
| | | <tr> |
| | | <td> |
| | | <div id="iframelike"> |
| | | <apex:pageBlockTable id="idRezultVisitor" value="{!scwl}" var="scw" border="1" columns="8" columnsWidth="47px,90px,,90px,180x,90px,40px,200px"> |
| | | <apex:pageBlockTable id="idRezultVisitor" value="{!scwl}" var="scw" onRowMouseOver="showPITR(this)" border="1" columns="8" columnsWidth="47px,90px,,90px,180x,90px,40px,200px"> |
| | | <apex:column > |
| | | <apex:facet name="header">{!$Label.Selected}</apex:facet> |
| | | <input type="button" id="idSlt" value="{!$Label.Selected}" onclick="sltContact('{!scw.index}');" class="btn" style="width:40px"/> |
| | |
| | | <apex:facet name="header">{!$Label.Visitor_Name}</apex:facet> |
| | | <apex:outputLink onmouseover="showPIDiv('{!scw.con.AWS_Data_Id__c}',this)" onmouseout="hidePIDiv(this)" value="/{!scw.con.Id}" id="idName" target="_blank">{!scw.con.Name}</apex:outputLink> |
| | | <apex:inputText id="idHiddenId" value="{!scw.conid}" style="display:none" /> |
| | | <apex:inputText id="AWSDataId" value="{!scw.con.AWS_Data_Id__c}" style="display:none" /> |
| | | </apex:column> |
| | | <apex:column > |
| | | <apex:facet name="header">{!$Label.Department_Name}</apex:facet> |
| | |
| | | <tr> |
| | | <td> |
| | | <div id="iframelike2"> |
| | | <apex:pageBlockTable id="idAddVisitor" value="{!acwl}" var="acw" border="1" columns="7" columnsWidth="47px,90px,,90px,180x,90px,40px"> |
| | | <apex:pageBlockTable id="idAddVisitor" value="{!acwl}" var="acw" border="1" columns="7" onRowMouseOver="showPITR(this)" columnsWidth="47px,90px,,90px,180x,90px,40px"> |
| | | <apex:column > |
| | | <apex:facet name="header">{!$Label.Back}</apex:facet> |
| | | <input type="button" id="idDel" value="{!$Label.Back}" onclick="delContact('{!acw.index}');" class="btn" style="width:40px"/> |
| | |
| | | <!-- <apex:outputText id="idAddName" value="{!IF(acw.con.Name==null,' ',acw.con.Name)}" /> --> |
| | | <apex:outputLink onmouseover="showPIDiv('{!acw.index}',this)" onmouseout="hidePIDiv(this)" value="/{!acw.conid}" id="idAddName" target="_blank">{!IF(acw.con.Name==null,' ',acw.con.Name)}</apex:outputLink> |
| | | <apex:inputText id="idAddHiddenId" value="{!acw.conid}" style="display:none" /> |
| | | <apex:inputText id="AWSDataId" value="{!acw.index}" style="display:none" /> |
| | | </apex:column> |
| | | <apex:column > |
| | | <apex:facet name="header">{!$Label.Department_Name}</apex:facet> |
| | |
| | | selectedIndexContact=myselect.selectedIndex |
| | | } |
| | | function preparePayloadForSearchContact() { |
| | | let accountId = document.getElementById('Page:mainForm:idDayEdit:idDep').value; |
| | | if (accountId != '--无--') { |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 start |
| | | // let accountId = document.getElementById('Page:mainForm:idDayEdit:idDep').value; |
| | | // if (accountId != '--无--') { |
| | | // blockme(); |
| | | // console.log('accountId:' + accountId); |
| | | // //query contact |
| | | // sforce.connection.sessionId = '{!GETSESSIONID()}'; |
| | | // let result = sforce.connection.query("SELECT Id,Name,AWS_Data_Id__c from Contact where AccountId='" + accountId + "'");//sfid,awsdataId |
| | | // let dataIds = []; |
| | | // let records = result.getArray("records"); |
| | | // for (let i = 0; i < records.length; i++) { |
| | | // dataIds.push(records[i].AWS_Data_Id__c) |
| | | // } |
| | | // let searchPayload = new Object(); |
| | | // searchPayload.dataIds = dataIds; |
| | | // searchPayload.contactName = ''; |
| | | // AWSService.search(staticResources.searchUrl, JSON.stringify(searchPayload), queryBack, staticResources.token); |
| | | // } |
| | | let contactId = document.getElementById('Page:mainForm:idDayEdit:idCon').value; |
| | | if (contactId != undefined) { |
| | | blockme(); |
| | | console.log('accountId:' + accountId); |
| | | console.log('contactId:' + contactId); |
| | | //query contact |
| | | sforce.connection.sessionId = '{!GETSESSIONID()}'; |
| | | let result = sforce.connection.query("SELECT Id,Name,AWS_Data_Id__c from Contact where AccountId='" + accountId + "'");//sfid,awsdataId |
| | | let result = sforce.connection.query("SELECT Id,Name,AWS_Data_Id__c from Contact where Id='" + contactId + "'");//sfid,awsdataId |
| | | let dataIds = []; |
| | | let records = result.getArray("records"); |
| | | for (let i = 0; i < records.length; i++) { |
| | |
| | | searchPayload.contactName = ''; |
| | | AWSService.search(staticResources.searchUrl, JSON.stringify(searchPayload), queryBack, staticResources.token); |
| | | } |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 end |
| | | } |
| | | |
| | | var queryBack = function queryBack(result) { |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 start |
| | | let select = document.getElementById('Page:mainForm:idDayEdit:idCon'); |
| | | //清除select里面的值 |
| | | for (var i = select.childNodes.length - 1; i >= 1; i--) { |
| | | select.removeChild(select.childNodes[i]); |
| | | } |
| | | if (select.options[0] == undefined) { |
| | | let blankValue = new Option(); |
| | | blankValue.value = '--无--'; |
| | | blankValue.text = '--无--'; |
| | | select.options.add(blankValue); |
| | | } |
| | | // if (select.options[0] == undefined) { |
| | | // let blankValue = new Option(); |
| | | // blankValue.value = '--无--'; |
| | | // blankValue.text = '--无--'; |
| | | // select.options.add(blankValue); |
| | | // } |
| | | for (var i = 0; i < result.object.length; i++) { |
| | | if (result.object[i].sfRecordId) { |
| | | let a = new Option(); |
| | |
| | | var myselect=document.getElementById("Page:mainForm:idDayEdit:idCon").options |
| | | myselect[selectedIndexContact].selected = true; |
| | | } |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 end |
| | | unblockUI(); |
| | | } |
| | | //2021/02/21 张华建 查找客户人员 end |
| | | |
| | | function requiredCheck() { |
| | | var val = document.getElementById('Page:mainForm:idDayEdit:idDep').selectedIndex; |
| | | if (val == 0) { |
| | | //「診療科名を選択してください。」 |
| | | alert('{!$Label.StartTrading_Alert}'); |
| | | } |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 start |
| | | // var val = document.getElementById('Page:mainForm:idDayEdit:idDep').selectedIndex; |
| | | // if (val == 0) { |
| | | // //「診療科名を選択してください。」 |
| | | // alert('{!$Label.StartTrading_Alert}'); |
| | | // } |
| | | // 2022-04-13 ssm 紧急应对 科室和客户人员必填 end |
| | | } |
| | | </script> |
| | | <style> |
| | |
| | | <td> |
| | | <apex:selectList value="{!sltDep}" multiselect="false" size="1" id="idDep" style="width:400px;" > |
| | | <apex:selectOptions value="{!depList}" ></apex:selectOptions> |
| | | <apex:actionSupport event="onchange" onsubmit="" onbeforedomupdate="" action="{!depChange}" rerender="idCon" oncomplete="preparePayloadForSearchContact()"> |
| | | <!-- 2022-04-13 ssm 紧急应对 科室和客户人员必填 start --> |
| | | <!-- <apex:actionSupport event="onchange" onsubmit="" onbeforedomupdate="" action="{!depChange}" rerender="idCon" oncomplete="preparePayloadForSearchContact()"> |
| | | <apex:param name="sltD" value="{!sltDep}" /> |
| | | </apex:actionSupport> |
| | | </apex:actionSupport> --> |
| | | <!-- 2022-04-13 ssm 紧急应对 科室和客户人员必填 end --> |
| | | </apex:selectList> |
| | | </td> |
| | | </tr> |
| | |
| | | <!-- 担当者 --> |
| | | <td>{!$ObjectType.Contact.Label}</td> |
| | | <td> |
| | | <apex:selectList value="{!sltCon}" onchange="setSelectedIndex()" multiselect="false" size="1" id="idCon" style="width:200px;"> |
| | | <!-- 2022-04-13 ssm 紧急应对 科室和客户人员必填 start --> |
| | | <!-- <apex:selectList value="{!sltCon}" onchange="setSelectedIndex()" multiselect="false" size="1" id="idCon" style="width:200px;"> --> |
| | | <!-- 2022-04-13 ssm 紧急应对 科室和客户人员必填 end --> |
| | | <apex:selectList value="{!sltCon}" multiselect="false" size="1" id="idCon" style="width:200px;"> |
| | | <apex:selectOptions value="{!conList}" /> |
| | | </apex:selectList> |
| | | <script> |
| | |
| | | rc.address_ZipCode__c=addressAwsData[address.AWS_Data_Id__c].zipCode; |
| | | } |
| | | |
| | | let GetAsset = function(){ |
| | | let ast = new sforce.SObject('Asset'); |
| | | ast.Id = '{!pc.Delivered_Product__c}', |
| | | ast.address_Contacts__c= contactsName, |
| | | ast.address_ZipCode__c = address.ZipCode__c, |
| | | ast.address_City__c = cityName, |
| | | ast.address_Telephone__c = address.Telephone__c, |
| | | ast.address_Contacts_Name__c = ContactPerson, |
| | | ast.Detailed_Address__c= address_str |
| | | if (addressAwsData.hasOwnProperty(address.AWS_Data_Id__c)) { |
| | | ast.address_ZipCode__c=addressAwsData[address.AWS_Data_Id__c].zipCode; |
| | | ast.address_Telephone__c=addressAwsData[address.AWS_Data_Id__c].telephone; |
| | | } |
| | | return ast; |
| | | } |
| | | |
| | | //保存数据到保有设备表中 |
| | | let UpdateAsset = function(){ |
| | | let ast = GetAsset(); |
| | | let result = sforce.connection.update([ast]); |
| | | let b = result[0].getBoolean('success'); |
| | | return b; |
| | | } |
| | | |
| | | let UpdateRepair = function(callback){ |
| | | AWSService.post(staticResourceRepair.updateUrl,[{ |
| | | dataId:'{!pc.AWS_Data_Id__c}', |
| | |
| | | rc.Detailed_Address__c = data.object[0].detailedAddress; |
| | | rc.Detailed_Address_Encrypt__c = data.object[0].detailedAddressEncrypt; |
| | | |
| | | UpdateSobject(staticResourceRepair,rc,data.txId,callback); |
| | | //UpdateSobject(staticResourceRepair,rc,data.txId,callback); |
| | | Visualforce.remoting.Manager.invokeAction( |
| | | 'StraightBackAddressController.SaveEx', |
| | | JSON.stringify(rc), JSON.stringify(GetAsset()), address.Id, |
| | | function (result, event) { |
| | | |
| | | let message = ''; |
| | | if (event.status) { |
| | | if (result) { |
| | | message = result; |
| | | }else{ |
| | | } |
| | | }else{ |
| | | } |
| | | let tobj = { |
| | | txId: data.txId |
| | | }; |
| | | if(message) { |
| | | console.log('call sf to insert log'); |
| | | tobj.isSuccess = 0; |
| | | }else { |
| | | console.log('call sf Log Id: ' + rc.id); |
| | | tobj.sfRecordId = rc.id; |
| | | tobj.isSuccess = 1; |
| | | } |
| | | |
| | | AWSService.post(staticResource.transactionUrl,tobj,function(data){ |
| | | if (message) { |
| | | ub(); |
| | | alert(message); |
| | | }else{ |
| | | window.location.href = '/{!RepairId}'; |
| | | } |
| | | },staticResource.token); |
| | | }, |
| | | { escape: true } |
| | | ); |
| | | }else{ |
| | | alert('AWS更新修理失败'); |
| | | ub(); |
| | |
| | | },staticResourceRepair.token) |
| | | } |
| | | |
| | | //保存数据到保有设备表中 |
| | | let UpdateAsset = function(){ |
| | | let ast = new sforce.SObject('Asset'); |
| | | ast.Id = '{!pc.Delivered_Product__c}', |
| | | ast.address_Contacts__c= contactsName, |
| | | ast.address_ZipCode__c = address.ZipCode__c, |
| | | ast.address_City__c = cityName, |
| | | ast.address_Telephone__c = address.Telephone__c, |
| | | ast.address_Contacts_Name__c = ContactPerson, |
| | | ast.Detailed_Address__c= address_str |
| | | if (addressAwsData.hasOwnProperty(address.AWS_Data_Id__c)) { |
| | | ast.address_ZipCode__c=addressAwsData[address.AWS_Data_Id__c].zipCode; |
| | | ast.address_Telephone__c=addressAwsData[address.AWS_Data_Id__c].telephone; |
| | | } |
| | | let result = sforce.connection.update([ast]); |
| | | let b = result[0].getBoolean('success'); |
| | | return b; |
| | | } |
| | | |
| | | |
| | | |
| | | let UpdateAddress = function(){ |
| | |
| | | } |
| | | |
| | | b(); |
| | | UpdateRepair(); |
| | | /* |
| | | UpdateRepair(function(data){ |
| | | if (data.isSuccess) { |
| | | let b = UpdateAsset(); |
| | |
| | | ub(); |
| | | alert('SF更新修理失败'); |
| | | } |
| | | }) |
| | | })*/ |
| | | |
| | | //页面重定向 |
| | | //return redirectPag(); |
| | |
| | | <apex:param name="addressDataIds" assignTo="{!addressDataIds}" value=""></apex:param> |
| | | </apex:actionFunction> |
| | | <!-- 采用方法 --> |
| | | <apex:actionFunction name="adoptSave" action="{!adoptSave}" rerender="oppBlock2,message" onComplete="ub();"> |
| | | <!--<actionFunction name="adoptSave" action="{!adoptSave}" rerender="oppBlock2,message" onComplete="ub();"> |
| | | <apex:param name="adoptId" assignTo="{!adoptId}" value="" /> |
| | | <apex:param name="isUpload" assignTo="{!isUpload}" value="" /> |
| | | </apex:actionFunction> |
| | | </actionFunction>--> |
| | | <!-- 保存和修改方法 --> |
| | | <apex:actionFunction name="save" action="{!save}" rerender="oppBlock2,message" onComplete="ub();Trans()"></apex:actionFunction> |
| | | <!-- 点击修改按钮获取修改数据方法 --> |
| | |
| | | searchPayload.contactName = ''; |
| | | return JSON.stringify(searchPayload); |
| | | } |
| | | |
| | | function refreshContactAll(){ |
| | | let contactIdsFromSF = []; |
| | | // let allSizeForAct =document.getElementById('Page:mainForm:idDayEdit:AllSize').value; |
| | | let allSizeForAct = j$(escapeVfId('idActSize')).value(); |
| | | console.log('allSizeForAct:'+allSizeForAct); |
| | | for(let i=0;i<allSizeForAct;i++){ |
| | | for(let j=1;j<6;j++){ |
| | | let contactIdForVis = document.getElementById("Page:mainForm:idDayEdit:idActivities:"+i+":idVisitor"+j+"_IdHidden").value; |
| | | contactIdsFromSF.push(contactIdForVis); |
| | | } |
| | | }; |
| | | sforce.connection.sessionId = '{!GETSESSIONID()}'; |
| | | var condition = ''; |
| | | for(var i=0;i<contactIdsFromSF.length;i++){ |
| | | if(contactIdsFromSF[i] != ''){ |
| | | condition += "," + "\'"+contactIdsFromSF[i]+"\'"; |
| | | } |
| | | } |
| | | condition = condition.substr(1); |
| | | console.log('condition = ' + condition); |
| | | var record = sforce.connection.query("select AWS_Data_Id__c from Contact where id in("+condition+")"); |
| | | var records = record.getArray("records"); |
| | | for(var i =0;i<records.length;i++){ |
| | | contactAWSIds.push(records[i].AWS_Data_Id__c); |
| | | } |
| | | searchContactAll(); |
| | | } |
| | | function searchContactAll(){ |
| | | let data = preparePayloadForSearchContact(); |
| | | let searchCallBack = function searchCallBack(result){ |
| | |
| | | } |
| | | } |
| | | console.log('AWS Result:'+JSON.stringify(sfIdToContactInfo)); |
| | | let allSizeForAct =document.getElementById('Page:mainForm:idDayEdit:AllSize').value; |
| | | // let allSizeForAct =document.getElementById('Page:mainForm:idDayEdit:AllSize').value; |
| | | let allSizeForAct = j$(escapeVfId('idActSize')).value(); |
| | | console.log('Act size:'+allSizeForAct); |
| | | for(let i=0;i<allSizeForAct;i++){ |
| | | for(let j=1;j<6;j++){ |
| | |
| | | if(sfIdToContactInfo.hasOwnProperty(contactIdForVis)){ |
| | | document.getElementById("Page:mainForm:idDayEdit:idActivities:"+i+":idVisitor"+j).value = sfIdToContactInfo[contactIdForVis].lastName; |
| | | } |
| | | } |
| | | }else{ |
| | | document.getElementById("Page:mainForm:idDayEdit:idActivities:"+i+":idVisitor"+j).value = ''; |
| | | } |
| | | } |
| | | } |
| | | }; |
| | |
| | | <td> </td> |
| | | <td><apex:commandButton value="{!$Label.Add_Line}" id="idAddAct" action="{!addActivity}" |
| | | reRender="Activities,idAddActPanel" onClick="blockme();" |
| | | onComplete="bindAllDoubleTap();setVisitorPlaceDisabled();unblockUI();initSetPage();" |
| | | onComplete="bindAllDoubleTap();setVisitorPlaceDisabled();unblockUI();initSetPage();refreshContactAll();" |
| | | style="width:100px;display:{!IF(actSize>14,'none','')}"/></td> |
| | | <th> </th> |
| | | <td> </td> |