Li Jun
2022-04-20 020af48ed24fb4c8e07746e3621f7e431c976220
force-app/main/default/pages/NewAndEditInquiryForm.page
@@ -65,6 +65,7 @@
                payloadJson.AWS_Data_Id__c = '{!AWSDataId}';
                if (isNewMode || {!isCloneMode}) {
                    payloadJson.AWS_Data_Id__c = r.object[0].dataId;
                    delete payloadJson.OwnerId;
                } else {
                    payloadJson.AWS_Data_Id__c = '{!AWSDataId}';
                }
@@ -161,22 +162,22 @@
        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];
@@ -228,20 +229,26 @@
                } 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;
                }
@@ -415,7 +422,7 @@
        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
@@ -549,7 +556,7 @@
                                <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" />
                                <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}" />
@@ -571,8 +578,9 @@
                    <!--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)&&not(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)&&not(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}"  />
                        <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}">
                        </apex:pageblocksectionitem>
                    </apex:repeat>
@@ -639,7 +647,8 @@
                    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
@@ -707,7 +716,7 @@
                        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];
@@ -730,7 +739,10 @@
                                    }
                                }
                            }
                            }else {
                               clearVlookup('Department_Class__c');
                                clearVlookup('Hospital__c');
                           }
                        },
                        { escape: true }
                    );
@@ -759,7 +771,7 @@
                        <tr>
                            <td class="pbTitle">
                                <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" />&nbsp;</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}" />