From 8badb57ea2c82557850ad5b39281c3e8714eb119 Mon Sep 17 00:00:00 2001
From: liuyan <liuyan@prec-tech.com>
Date: 星期四, 24 十一月 2022 10:08:31 +0800
Subject: [PATCH] 科室信息漏传SPO问题
---
force-app/main/default/pages/NewAndEditReport.page | 164 +++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 124 insertions(+), 40 deletions(-)
diff --git a/force-app/main/default/pages/NewAndEditReport.page b/force-app/main/default/pages/NewAndEditReport.page
index 16baa76..e380866 100644
--- a/force-app/main/default/pages/NewAndEditReport.page
+++ b/force-app/main/default/pages/NewAndEditReport.page
@@ -3,7 +3,7 @@
<apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
<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 {
@@ -19,7 +19,7 @@
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']);
@@ -31,17 +31,30 @@
// console.log('娌℃湁CKEDITOR')
// }
+ 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");
+ }
+ }
//閿欒鎻愮ず
function alertErrorMessage(errorMsg) {
- let errorMsgNode = document.getElementById("page:form:j_id5:msgContent");
+ let errorMsgNode = document.getElementById("page:form:pageBlock:msgContent");
errorMsg = '閿欒锛氭棤鏁堟暟鎹��'+'\n' + errorMsg;
errorMsgNode.innerText = errorMsg;
errorMsgNode.className = 'pbError';
unblockUI();
+ EditButton(false);
}
function hiddenErrorMsgNode() {
- let errorMsgNode = document.getElementById("page:form:j_id5:msgContent");
+ let errorMsgNode = document.getElementById("page:form:pageBlock:msgContent");
errorMsgNode.innerText = '';
errorMsgNode.className = '';
}
@@ -72,7 +85,6 @@
result[nodelist[index].getAttribute("data-id")] = nodelist[index].checked;
} else if (nodelist[index].type == 'select-multiple') {
//nodelist[index].getAttribute("data-id")
- let 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;
@@ -82,6 +94,7 @@
//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 + "]").options;
let selValues = [];
for(i=0; i < targets.length; i++){
@@ -111,13 +124,22 @@
}
}
//鎵嬫湳鍒嗙被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:'';
- //鎵嬫湳鍒嗙被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:'';
- //鐩殑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['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
+ 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(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()
@@ -157,7 +179,7 @@
// 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
+ // //瀵瑰簲缁撴灉绗竴娆� 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
// }
@@ -174,24 +196,24 @@
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){
@@ -212,7 +234,9 @@
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 == ''){
@@ -224,6 +248,33 @@
}
}
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.鑾峰彇瑕佸姞瀵嗙殑瀛楁
@@ -254,7 +305,7 @@
//5.鏂板缓鎴栫紪杈�
function ProcessPI(reportJson, payloadForNewPI) {
blockme();
- if ({!isNewMode} || {!isCloneMode}) {
+ if ({!isNewMode} || {!isCloneMode} || !'{!AWSDataId}') {//Add by Li Jun for PIPL 20220413
NewPIToAWS(reportJson, payloadForNewPI)
}else {
UpdatePIToAWS(reportJson, payloadForNewPI)
@@ -264,7 +315,7 @@
//鏂板缓
function NewPIToAWS(reportJson, payloadForNewPI) {
let controllerSaveMethod = '{!$RemoteAction.NewAndEditReportController.saveReport}';
- AWSService.insert(staticResources.newUrl, reportJson, payloadForNewPI, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, true, insertOrUpdateBack, redirectCallBack);
+ AWSService.insert(staticResources.newUrl, reportJson, payloadForNewPI, controllerSaveMethod, staticResources.token, staticResources.transactionUrl, {!isNewMode}, insertOrUpdateBack, redirectCallBack);
}
//缂栬緫
@@ -491,10 +542,17 @@
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 || {!isCloneMode}) {
+ 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('{!sfRecordIdForEdit}'){
+ payloadJson.Id = '{!sfRecordIdForEdit}';
+ }
+ if('{!rtTypeId}'){
+ payloadJson.RecordTypeId = '{!rtTypeId}';//Add by Li Jun for Record Type Issue 20220421
}
return payloadJson;
}
@@ -514,6 +572,8 @@
//鐐瑰嚮淇濆瓨鎸夐挳
function saveReportProcess(saveMode) {
+ EditButton(true);
+
redirectMode = saveMode;
console.log('redirectMode' + redirectMode);
hiddenErrorMsgNode();
@@ -567,7 +627,7 @@
<!-- <apex:outputPanel id="errorMsg">
<apex:pageMessages id="msgContent" escape="false" />
</apex:outputPanel> -->
- <apex:pageblock >
+ <apex:pageblock id="pageBlock">
<div class="pbHeader">
<table cellspacing="0" cellpadding="0" border="0">
<tbody>
@@ -576,7 +636,7 @@
<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="鍙栨秷" />
@@ -599,8 +659,14 @@
<!--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>
@@ -608,6 +674,18 @@
</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}');
@@ -640,16 +718,22 @@
//Replace Vlookup Field
replaceSearchContactLookup();
//3. Set Readonly Attribute
- document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton");
+ if(document.querySelector("[data-id='OwnerId']"))
+ document.querySelector("[data-id='OwnerId']").classList.add("disabledbutton");
//濡傛灉鏄疧PD璁″垝杩囨潵鐨�
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);
@@ -705,7 +789,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="saveReportProcess('Save')" />
<input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveReportProcess('SaveAndNew')" />
<apex:commandButton action="{!cancel}" value="鍙栨秷" />
--
Gitblit v1.9.1