From d3e4451e36fbe25da4427bccd4e6b41aefd473c8 Mon Sep 17 00:00:00 2001
From: binxie <137736985@qq.com>
Date: 星期一, 26 六月 2023 14:53:16 +0800
Subject: [PATCH] newclass0626formate
---
force-app/main/default/pages/NewOnCall.page | 138 ++++++++++++++++++++++++++++++++++++---------
1 files changed, 109 insertions(+), 29 deletions(-)
diff --git a/force-app/main/default/pages/NewOnCall.page b/force-app/main/default/pages/NewOnCall.page
index 98ab01f..11b0441 100644
--- a/force-app/main/default/pages/NewOnCall.page
+++ b/force-app/main/default/pages/NewOnCall.page
@@ -1,16 +1,9 @@
-<!--
- @description :
- @author : ChangeMeIn@UserSettingsUnder.SFDoc
- @group :
- @last modified on : 03-23-2022
- @last modified by : ChangeMeIn@UserSettingsUnder.SFDoc
--->
-<apex:page standardController="On_Call__c" extensions="OnCallController" id="page">
+<apex:page standardController="On_Call__c" extensions="OnCallController" id="page" lightningStylesheets="true">
<apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
- <script src="../../soap/ajax/53.0/connection.js" type="text/javascript"></script>
+ <apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
<style>
.disabledbutton {
pointer-events: none;
@@ -21,6 +14,9 @@
//Initial Required Information
AWSService.sfSessionId = '{!GETSESSIONID()}';
var staticResources = JSON.parse('{!staticResource}');
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ var staticResourcesV2 = JSON.parse('{!staticResourceV2}');
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
var requiredFieldAPIList = JSON.parse('{!requiredFieldAPIListStr}');
var fieldAPIToLabelMap = JSON.parse('{!fieldAPIToLabelMapStr}');
var VLookUpFields = new Set(['segment__c','Hospital__c','Oncall_Equipment__c','OwnerId']);
@@ -43,8 +39,11 @@
//Query Required Parameter
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("[data-id='Responsible_Person_HP__c']").value = data.object.responsiblePersonHP;
+ //document.querySelector("[id='page:form:pageBlock:pageBlockSection:j_id1:0:j_id2']").value = data.object.callerPhone;
+ if(document.getElementById(api_id_map['Caller_phone__c']))
+ document.getElementById(api_id_map['Caller_phone__c']).value = data.object.callerPhone; //20220404 By Chen Yanan
+ if(document.querySelector("[data-id='Responsible_Person_HP__c']"))
+ document.querySelector("[data-id='Responsible_Person_HP__c']").value = data.object.responsiblePersonHP;
unblockUI();
};
@@ -57,23 +56,30 @@
console.log('payloadJson=' + JSON.stringify(payloadJson));
payloadJson.Caller_phone__c = r.object[0].callerPhone;
payloadJson.Responsible_Person_HP__c = r.object[0].responsiblePersonHP;
- payloadJson.Caller_Phone_Encrypt__c = r.object[0].callerPhoneEncrypt;
- payloadJson.Responsible_PersonHP_Encrypt__c = r.object[0].responsiblePersonHPEncrypt;
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ // payloadJson.Caller_Phone_Encrypt__c = r.object[0].callerPhoneEncrypt;
+ // payloadJson.Responsible_PersonHP_Encrypt__c = r.object[0].responsiblePersonHPEncrypt;
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
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('{!sfRecordIdForEdit}'){
+ payloadJson.Id = '{!sfRecordIdForEdit}';
+ }
+ 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)
@@ -109,8 +115,14 @@
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;
+ let vlookUpNodeValue = document.getElementById(vlookUpNodeId);
+ let v = '';
+ if(vlookUpNodeValue){
+ v = vlookUpNodeValue.value;
+ }else{
+ v = nodelist[index].value;
+ }
+ result[nodelist[index].getAttribute("data-id")] = v;
}
} else if (nodelist[index].type == 'checkbox') {
result[nodelist[index].getAttribute("data-id")] = nodelist[index].checked;
@@ -144,20 +156,28 @@
let obj = JSON.parse(payloadForNewPI);
obj[0].dataId = '{!AWSDataId}';
let payloadForNewPIJson = JSON.stringify(obj);
- AWSService.update(staticResources.updateUrl, onCallJson, payloadForNewPIJson, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, false, insertOrUpdateBack, redirectCallBack);
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ //AWSService.update(staticResources.updateUrl, onCallJson, payloadForNewPIJson, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, false, insertOrUpdateBack, redirectCallBack);
+ AWSService.update(staticResourcesV2.updateUrl, onCallJson, payloadForNewPIJson, controllerSaveMethod, staticResources.token, staticResourcesV2.transactionUrl, false, insertOrUpdateBack, redirectCallBack);
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
}
//Insert Sensitive Information to AWS
function NewPIToAWS(onCallJson, payloadForNewPI) {
let controllerSaveMethod = '{!$RemoteAction.OnCallController.saveOnCall}';
- AWSService.insert(staticResources.newUrl, onCallJson, payloadForNewPI, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, true, insertOrUpdateBack, redirectCallBack);
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
+ //AWSService.insert(staticResources.newUrl, onCallJson, payloadForNewPI, controllerSaveMethod, staticResources.token, staticResources.transactionUrl,{!isNewMode}, insertOrUpdateBack, redirectCallBack);
+ AWSService.insert(staticResourcesV2.newUrl, onCallJson, payloadForNewPI, controllerSaveMethod, staticResourcesV2.token, staticResources.transactionUrl,{!isNewMode}, insertOrUpdateBack, redirectCallBack);
+ //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
}
//Check Required Fields
function checkRequiredFieldMsg(formData) {
let blankRequiredFields = '';
for (i = 0; i < requiredFieldAPIList.length; i++) {
- if (formData[requiredFieldAPIList[i]]) {
+ if (formData[requiredFieldAPIList[i]] && !VLookUpFields.has(requiredFieldAPIList[i])) {
+ continue;
+ }else if(VLookUpFields.has(requiredFieldAPIList[i]) && formData[requiredFieldAPIList[i]] != '000000000000000'){
continue;
} else {
if (blankRequiredFields == '') {
@@ -170,9 +190,21 @@
}
return blankRequiredFields;
}
+ function EditButton(isDisabled){
+ var topele = document.getElementById('topButtonRow');
+ var bottomele = document.getElementById('bottomButtonRow');
+ if (isDisabled) {
+ topele.classList.add("disabledbutton");
+ bottomele.classList.add("disabledbutton");
+ }else {
+ topele.classList.remove("disabledbutton");
+ bottomele.classList.remove("disabledbutton");
+ }
+ }
//Base Process
function saveOnCallProcess(saveMode) {
+ EditButton(true);
redirectMode = saveMode;
console.log('redirectMode' + redirectMode);
hiddenErrorMsgNode();
@@ -206,6 +238,7 @@
errorMsgNode.innerText = errorMsg;
errorMsgNode.className = 'pbError';
unblockUI();
+ EditButton(false);
}
//Hide Error Message
@@ -213,6 +246,26 @@
let errorMsgNode = document.getElementById("page:form:block:msgContent");
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">
@@ -245,7 +298,7 @@
<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="鍙栨秷" />
@@ -266,8 +319,12 @@
<!--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>
@@ -275,6 +332,17 @@
</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}');
@@ -283,7 +351,16 @@
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");
+ }
+ if (e.tagName == 'DIV') {
+ e.classList.add("disabledbutton");
+ }
+ }
}
}
}
@@ -294,6 +371,9 @@
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');
@@ -317,10 +397,10 @@
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');
+ input.value = '';
+ let hidden = document.getElementById(id+'_lkid');
if(hidden){
- hidden.value = '';
+ hidden.value = '';
}
}
});
@@ -332,7 +412,7 @@
<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="鍙栨秷" />
--
Gitblit v1.9.1