<!--
|
@description :
|
@author : ChangeMeIn@UserSettingsUnder.SFDoc
|
@group :
|
@last modified on : 03-30-2022
|
@last modified by : ChangeMeIn@UserSettingsUnder.SFDoc
|
-->
|
<apex:page controller="StraightBackAddressController" action="{!init}" showHeader="false" sidebar="true" id="allPage" title="直返收货地址">
|
<apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
|
<apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
|
<apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
|
<apex:includeScript value="{!URLFOR($Resource.CommonUtilJs)}"/>
|
<apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
|
<apex:includeScript value="/soap/ajax/40.0/connection.js"/>
|
<script type="text/javascript">
|
var checkedTrue;
|
var tableDataStr = '';
|
var staticResource = JSON.parse('{!staticResource}');
|
var staticResourceContact = JSON.parse('{!staticResourceContact}');
|
var staticResourceRepair = JSON.parse('{!staticResourceRepair}');
|
|
var PIData = {};
|
var contactDataIds = [];
|
var ObjIdDecrypt = '';
|
var closeField = '';
|
var add_aws_result = '';
|
var con_aws_result = '';
|
var isAddCon = false;
|
var contactInfoStr = '';
|
|
var addressAwsData = {};
|
|
//替换vlookup
|
var newSearchContactWindow = null;
|
window.onload = function () {
|
document.getElementById("tab01").style.height = screen.availHeight*0.07+'px';
|
document.getElementById("tab02").style.height = screen.availHeight*0.53+'px';
|
document.getElementById("tab03").style.height = screen.availHeight*0.25+'px';
|
}
|
//编辑按钮
|
function onEditorJs(ObjId){
|
ObjIdDecrypt = ObjId;
|
onEditor(ObjId);
|
}
|
//复制按钮
|
function onCopyJs(ObjId){
|
ObjIdDecrypt = ObjId;
|
if(ObjId == ''){
|
onCopy('空');//设置为空,便于后端做数据处理
|
}else{
|
onCopy(ObjId);
|
}
|
}
|
//aws 确认
|
function Trans(){
|
let b = HasError();
|
if(b){
|
//清空电话地址邮编
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value=''
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value=''
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value=''
|
}
|
AWSService.post(staticResource.transactionUrl, JSON.stringify({
|
"txId":add_aws_result.txId,
|
"isSuccess":b ? 0 : 1
|
}), function(result){
|
if(isAddCon){
|
AWSService.post(staticResourceContact.transactionUrl, JSON.stringify({
|
"txId":con_aws_result.txId,
|
"isSuccess":b ? 0 : 1
|
}), function(result){
|
if(!b)
|
window.location.reload();
|
}, staticResourceContact.token);
|
}else{
|
if(!b)
|
window.location.reload();
|
}
|
}, staticResource.token);
|
|
}
|
|
function HasError(){
|
// if (IsAddmessage) {
|
// return true;
|
// }
|
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){
|
if (cls.indexOf('error')>-1) {
|
return true;
|
}
|
}
|
|
}
|
|
}
|
|
|
return false;
|
}
|
//解密
|
function decrypt(){
|
if(PIData[ObjIdDecrypt] == null){
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c').value = '';
|
//document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:contactIdValue').value = '000000000000000';
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value = '';
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value = '';
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value = '';
|
}else{
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c').value = PIData[ObjIdDecrypt].lastName!=null?PIData[ObjIdDecrypt].lastName:'';
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value = PIData[ObjIdDecrypt].telephone;
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value = PIData[ObjIdDecrypt].zipCode;
|
document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value = PIData[ObjIdDecrypt].detailedAddress;
|
}
|
}
|
function getPIPayload() {
|
let leadPayloadList = [];
|
var telePhone = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Telephone__c').value;
|
var zipCode = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c').value;
|
var detailedAddress = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c').value;
|
let leadPIData = new Object();
|
leadPIData.telePhone = telePhone;
|
leadPIData.zipCode = zipCode;
|
leadPIData.detailedAddress = detailedAddress;
|
leadPIData.sfRecordId = '';
|
leadPayloadList.push(leadPIData);
|
console.log(JSON.stringify(leadPayloadList));
|
return JSON.stringify(leadPayloadList);
|
}
|
//保存方法
|
function savaJs(){
|
//blockme();
|
if(document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c').value != ''){
|
isAddCon = true;
|
}
|
document.getElementById("errorMsg").innerHTML = '';
|
|
if(!document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Contacts__c").value&&!document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c").value){
|
document.getElementById("errorMsg").innerHTML = '<strong>【联系人】和【联系人(新建)】不能同时为空!</strong> ';
|
return;
|
}else if(document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Contacts__c").value&&document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c").value){
|
document.getElementById("errorMsg").innerHTML = '<strong>【联系人】和【联系人(新建)】不能同时有值!</strong> ';
|
return;
|
}
|
blockme();
|
console.log('{!insUpdData}')
|
if(document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c").value){
|
//new contact
|
ProcessPI({},GetEditObj('contact'),'contact',function(){
|
//new address
|
ProcessPI({},
|
GetEditObj('address'),'address',function(){
|
save();
|
});
|
});
|
}else{
|
//new address
|
ProcessPI({},GetEditObj('address'),'address',function(){
|
save();
|
});
|
}
|
}
|
|
function ProcessPI(sobjJson, payloadForNewPI,type,callback) {
|
var sr = ''
|
if(type == 'contact'){
|
sr = staticResourceContact
|
}
|
if(type == 'address'){
|
sr = staticResource
|
}
|
let url = sr.newUrl
|
/*if (now_edit_id) {
|
url = sr.updateUrl
|
}*/
|
AWSService.post(url, payloadForNewPI, function(result){
|
if(type == 'contact'){
|
con_aws_result = result
|
}if(type == 'address'){
|
add_aws_result = result
|
}
|
SetEditObj(type);
|
if(callback){
|
callback();
|
}
|
}, sr.token);
|
}
|
function SetEditObj(type){
|
let obj = GetAWSResultObj(type);
|
if(obj){
|
if(type=='contact'){
|
document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Con_AWS_Data_Id__c").value = obj.dataId;
|
document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c").value = obj.lastName;
|
document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:LastName_Encrypted__c").value = obj.lastNameEncrypt;
|
}
|
if(type=='address'){
|
document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Add_AWS_Data_Id__c").value = obj.dataId;
|
document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Telephone__c").value = obj.telephone;
|
document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Telephone_Encrypted__c").value = obj.telephoneEncrypt;
|
document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c").value = obj.zipCode;
|
document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ZipCode_Encrypted__c").value = obj.zipCodeEncrypt;
|
document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c").value = obj.detailedAddress;
|
document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address_Encrypted__c").value = obj.detailedAddressEncrypt;
|
}
|
}
|
|
}
|
function GetAWSResultObj(type){
|
if(type == 'contact'){
|
if(con_aws_result && con_aws_result.object && con_aws_result.object.length > 0){
|
return con_aws_result.object[0];
|
}
|
}
|
if(type == 'address'){
|
if(add_aws_result && add_aws_result.object && add_aws_result.object.length > 0){
|
return add_aws_result.object[0];
|
}
|
}
|
return null;
|
}
|
function GetEditObj(type){
|
if(type=='contact'){
|
//new contact
|
return JSON.stringify([{
|
lastName : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Create_Contacts__c").value,
|
dataId : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Con_AWS_Data_Id__c").value,
|
}]);
|
}
|
if(type == 'address'){
|
//new address
|
return JSON.stringify([{
|
dataId : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Add_AWS_Data_Id__c").value,
|
telephone : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Telephone__c").value,
|
zipCode : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:ZipCode__c").value,
|
detailedAddress : document.getElementById("allPage:allForm:oppBlock2:UpdAddressId:Detailed_Address__c").value,
|
}]);
|
}
|
|
}
|
|
//复选框选中触发事件
|
//obj 当前对象 checkIndex 当前点击的第几行
|
function onCheckBoxJd(obj,checkIndex){
|
//如果为true,那么其他的所有复选框必须为不选择状态
|
if(obj.checked){
|
checkedTrue = checkIndex;
|
var lawtable = document.getElementById("tableHeader_L");//获取id为tableHeader_L的table
|
var rows = lawtable.rows;//获取所有行
|
for(var i=1; i < rows.length; i++){
|
var InputObj = rows[i].cells[0].getElementsByTagName("input")[0];
|
if(obj != InputObj){
|
InputObj.checked = false;
|
}
|
}
|
}else{
|
checkedTrue = null;
|
}
|
}
|
function searchBtnJs(){
|
blockme();
|
var addressDataIds = '';
|
//查询地址
|
if(document.getElementById('allPage:allForm:searchBlock:txtAddressId').value != ''){
|
//发送aws请求,然后再发送给controller
|
new Promise(function(resolve, reject){
|
let queryBack = function queryBack(result){
|
if(result.object==null || result.object.length==0){
|
searchBtn('\''+addressName+'\'');
|
return
|
}else{
|
|
for(var i=0;i<result.object.length;i++){
|
addressDataIds += ',\''+ result.object[i].dataId + '\'';
|
addressAwsData[result.object[i].dataId] = result.object[i];
|
}
|
addressDataIds = addressDataIds.substring(1);
|
resolve('success');
|
}
|
};
|
var addressName = document.getElementById('allPage:allForm:searchBlock:txtAddressId').value;
|
AWSService.queryAddress('https://sfpi-mebg-test.olympuschina.com/api/address/search',addressName.trim(),queryBack,staticResource.token);
|
}).then(function(data){
|
console.log('data = '+data)
|
console.log('addressDataIds = '+addressDataIds)
|
searchBtn(addressDataIds);
|
});
|
}else{
|
searchBtn(addressDataIds);
|
}
|
}
|
//加密客户名字段
|
// function encryptCustomer(e){
|
// let obj = JSON.parse(payloadForNewPI);
|
// let payloadForNewPIJson = JSON.stringify(obj);
|
// let payloadForNewPI = jQuery(e.target).closest("tr").find("a.cusmer__c");
|
// AWSService.update(staticResources.updateUrl, '', payloadForNewPI, updateMethod, staticResources.token, staticResources.transactionUrl, false, insertOrUpdateBack, redirectCallBack);
|
// },
|
|
sforce.connection.sessionId = '{!GETSESSIONID()}';
|
function UpdateSobject(staticResource,sobj,transId,callback){
|
|
let result = sforce.connection.update([sobj]);
|
let tobj = {
|
txId: transId
|
};
|
let b = result[0].getBoolean('success');
|
if(b) {
|
console.log('call sf Log Id: ' + result[0].id);
|
tobj.sfRecordId = result[0].id;
|
tobj.isSuccess = 1;
|
|
//return result[0].id;
|
}else {
|
console.log('call sf to insert log');
|
tobj.isSuccess = 0;
|
//return '';
|
}
|
|
AWSService.post(staticResource.transactionUrl,tobj,function(data){
|
if (callback) {
|
data.isSuccess = b;
|
callback(data)
|
}
|
},staticResource.token);
|
}
|
|
|
|
function adoptSaveJs(address){
|
//由于要把采用时间记录到地址表中,所以新建一个地址对象
|
// Address__c DatetimeUpdate = new Address__c();
|
// DatetimeUpdate = tableData[i].address;
|
//详细地址
|
let address_str = address.Detailed_Address__c.trim();addressAwsData
|
let cityName = '';//市
|
//市不为空,因为要使用 __r.Name 如果为空,会报错
|
if(address.City__c){
|
cityName = address.City__r.Name.trim();
|
//省 同上
|
if(address.Province__c){
|
let ProvinceCity = address.Province__r.name.trim()+cityName;
|
//防止详细地址里面带着省份和市
|
if(address_str.indexOf(ProvinceCity) < 0){
|
address_str = ProvinceCity + address_str;
|
}
|
}
|
}
|
//联系人
|
let contactsName = '';
|
if(address.Contacts__c){
|
contactsName = address.Contacts__r.Name;
|
}
|
//客户
|
let ContactPerson = '';
|
if(address.Customer__c){
|
ContactPerson = address.Customer__r.Name;
|
}
|
try{
|
//保存数据到修理表中
|
let rc = new sforce.SObject('Repair__c');
|
rc.Id='{!RepairId}';
|
rc.address_Contacts__c=contactsName;
|
rc.address_ZipCode__c = address.ZipCode__c;
|
rc.address_City__c = cityName;
|
rc.address_Contacts_Name__c = ContactPerson;
|
//isUpload:是否上传SAP FSEApplyForRepairTime:SAP修理申请时间
|
if({!isUpload} && pc.SAP_Transfer_time__c){
|
rc.Address_type__c = 'X';
|
rc.Address_Type_Index__c = rc.Address_Type_Index__c+1;
|
}
|
rc.address_Telephone__c=address.Telephone__c;
|
rc.Detailed_Address__c=address_str;
|
|
let UpdateRepair = function(callback){
|
AWSService.post(staticResourceRepair.updateUrl,[{
|
dataId:'{!pc.AWS_Data_Id__c}',
|
addressContactsName:rc.address_Contacts_Name__c,
|
detailedAddress:rc.Detailed_Address__c
|
}],function(data){
|
if(data && data.object){
|
console.log(data);
|
rc.address_Contacts__c = data.object[0].addressContactsName;
|
rc.Detailed_Address__c = data.object[0].detailedAddress;
|
UpdateSobject(staticResourceRepair,data.txId,callback);
|
}else{
|
alert('更新修理失败');
|
unblockUI();
|
}
|
},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
|
let result = sforce.connection.update([ast]);
|
let b = result[0].getBoolean('success');
|
return b;
|
}
|
|
|
let UpdateAddress = function(){
|
let add = new sforce.SObject('Address__c');
|
add.Id = address.Id;
|
//最后把当前时间保存到地址表中,作为采用时间
|
add.Using_Datetime__c = new Date();
|
let result = sforce.connection.update([add]);
|
let b = result[0].getBoolean('success');
|
return b;
|
}
|
|
UpdateAddress
|
//页面重定向
|
//return redirectPag();
|
}catch( e){
|
//失败提示
|
//ApexPages.addMessages(e);
|
}
|
}
|
//采用按钮
|
function onAdoptJs(e, address){
|
|
//判断当前修理单是否已经申请修理
|
var uploadTime = '{!FSEApplyForRepairTime}';
|
if(uploadTime != 'null'){
|
var prompt = '由于当前修理单已申请修理,请问是否采用并上传数据到SAP?';
|
if(confirm(prompt)){
|
adoptSaveJs(address);
|
}
|
}else{
|
adoptSaveJs(address);
|
}
|
|
}
|
/* function onAdoptJs(){
|
if(checkedTrue != null){
|
blockme();
|
var lawtable = document.getElementById("tableHeader_L");//获取id为tableHeader_L的table
|
var rows = lawtable.rows;//获取所有行
|
var InputObj = rows[checkedTrue].cells[0].getElementsByTagName("input")[0];
|
if(InputObj.checked){
|
//判断当前修理单是否已经申请修理
|
var uploadTime = '{!FSEApplyForRepairTime}';
|
if(uploadTime != null){
|
var prompt = '由于当前修理单已申请修理,请问是否采用并上传数据到SAP?';
|
if(confirm(prompt)){
|
adoptSave(InputObj.value+"",true);
|
}else{
|
adoptSave(InputObj.value+"",false);
|
}
|
}else{
|
adoptSave(InputObj.value+"",false);
|
}
|
}
|
}else{
|
alert('请选中你要采用的地址!');
|
return false;
|
}
|
}*/
|
//返回父页面
|
function sendBackJs(){
|
redirectPag();
|
}
|
//刷新当前页面
|
function refreshJs(){
|
window.location.reload();
|
}
|
|
//2022 02 28 张华建 display PI Data start
|
|
//queryPI();
|
function q1(){
|
var index = 0;
|
var correct = 0;
|
var p = new Promise(function(resolve, reject){
|
//查询地址的PI数据
|
let searchCallBack = function searchCallBack(result,Id,awsDataId){
|
index++;
|
let contacts = result.object;
|
if(contacts == null){
|
console.log('contacts == null')
|
return;
|
}
|
let temp = {}
|
temp.telephone = result.object.telephone;
|
temp.zipCode = result.object.zipCode;
|
temp.detailedAddress = result.object.detailedAddress;
|
temp.awsDataId = awsDataId;
|
PIData[Id] = temp;
|
};
|
for(var i=0;i<tableDataStr.length;i++){
|
if(tableDataStr[i].address.AWS_Data_Id__c){
|
correct++;
|
AWSService.queryRepair(staticResource.queryUrl,
|
tableDataStr[i].address.AWS_Data_Id__c,
|
tableDataStr[i].address.Id,
|
tableDataStr[i].address.Contacts__r.AWS_Data_Id__c,
|
searchCallBack,
|
staticResource.token);
|
}
|
}
|
var interval=self.setInterval(function (){
|
console.log('setInterval index= ' + index);
|
if(index == correct){
|
console.log('PIDATA = ' + JSON.stringify(PIData))
|
resolve('success')
|
clearInterval(interval)
|
}
|
},1000);
|
});
|
return p;
|
}
|
|
function q2(){
|
sforce.connection.sessionId = '{!GETSESSIONID()}';
|
var p = new Promise(function(resolve, reject){
|
//查询联系人的数据
|
let queryBack = function queryBack(result) {
|
let contacts = result.object;
|
if(contacts == null){
|
return;
|
}
|
for(var i=0;i<result.object.length;i++){
|
for(let key in PIData){
|
if(result.object[i].dataId == PIData[key].awsDataId){
|
PIData[key].lastName = result.object[i].lastName;
|
}
|
}
|
}
|
}
|
var condition = ''
|
for(var i=0;i<tableDataStr.length;i++){
|
if(tableDataStr[i].address.Contacts__c){
|
condition += "," + "\'"+tableDataStr[i].address.Contacts__c+"\'";
|
}
|
}
|
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++){
|
if(records[i].AWS_Data_Id__c){
|
contactDataIds.push(records[i].AWS_Data_Id__c);
|
}
|
}
|
let searchPayload = new Object();
|
searchPayload.dataIds = contactDataIds;
|
searchPayload.contactName = '';
|
console.log('contactDataIds = ' + contactDataIds);
|
AWSService.search(staticResourceContact.searchUrl, JSON.stringify(searchPayload), queryBack, staticResourceContact.token);
|
});
|
}
|
//查询敏感字段
|
function queryPI(){
|
//blockme();
|
tableDataStr = JSON.parse(document.getElementById('allPage:allForm:tableValueFrontEnd').value);
|
PIData = {};
|
contactDataIds = [];
|
console.log(tableDataStr)
|
q1().then(function(data){
|
return q2(data);
|
})
|
//unblockUI();
|
}
|
|
|
function showPIDiv(awsDataId){
|
if(awsDataId.length == 0 || PIData[awsDataId]==null){
|
return
|
}
|
console.log('awsDataId Value:'+awsDataId);
|
let parentNode = document.getElementById(awsDataId);
|
let createDiv = document.createElement("div");
|
createDiv.id = awsDataId+"_PI";
|
let piInformation = '';
|
|
if(PIData[awsDataId].lastName){
|
piInformation = '联系人: '+PIData[awsDataId].lastName+
|
'\n电话: '+PIData[awsDataId].telephone+
|
'\n邮编: '+PIData[awsDataId].zipCode+
|
'\n详细地址: '+PIData[awsDataId].detailedAddress
|
}else{
|
piInformation = '联系人: null'+
|
'\n电话: '+PIData[awsDataId].telephone+
|
'\n邮编: '+PIData[awsDataId].zipCode+
|
'\n详细地址: '+PIData[awsDataId].detailedAddress
|
}
|
//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.height='100px';
|
createDiv.style.width='100px';
|
createDiv.style.background="#dddddd";
|
createDiv.style.position = "absolute";
|
parentNode.appendChild(createDiv);
|
parentNode.style.position = "relative";
|
}
|
|
function hidePIDiv(awsDataId){
|
if(awsDataId.length == 0 || PIData[awsDataId]==null){
|
return
|
}
|
document.getElementById(awsDataId+'_PI').remove();
|
}
|
|
function replaceSearchContactLookup() {
|
if(document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c') != null){
|
let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'allPage:allForm:contactId\',\'allPage:allForm:oppBlock2:UpdAddressId:Contacts__c\')" alt="Reference Document Number Lookup" class="lookupIcon" title="Reference Document Number Lookup (New Window)"/>';
|
let lookUpNode = htmlToElement(contactHtmlString);
|
console.log(lookUpNode);
|
let parentNode = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Contacts__c').parentNode;
|
parentNode.appendChild(lookUpNode);
|
if(contactInfoStr){
|
console.log('closePopup:'+contactInfoStr);
|
let contactInfo = JSON.parse(contactInfoStr);
|
let contactNodeId = 'allPage:allForm:oppBlock2:UpdAddressId:contactIdValue';
|
document.getElementById(contactNodeId).value = contactInfo.ContactId;
|
document.getElementById(closeField).value = contactInfo.Name;
|
}
|
}
|
}
|
|
function htmlToElement(html) {
|
var template = document.createElement('template');
|
html = html.trim(); // Never return a text node of whitespace as the result
|
template.innerHTML = html;
|
return template.content.firstChild;
|
}
|
|
//自定义lookup查询
|
function searchContact(contactNodeId,field){
|
closeField = field;
|
let accountValue = "";
|
if (document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Customer__r_Name')!=null) {
|
let accountNodeId = document.getElementById('allPage:allForm:oppBlock2:UpdAddressId:Customer__r_Name').id + '_lkid';
|
accountValue = document.getElementById(accountNodeId).value;
|
}
|
console.log(accountValue);
|
if(accountValue !='000000000000000'){
|
let baseUrl = "/apex/SearchContactPage";
|
let suffixUrl = "?contactId="+contactNodeId+"&accountId="+accountValue;
|
let newSearchContactParam = 'height=600,width=800,left=100,top=100,dialogHide=true,resizable=no,scrollbars=yes,toolbar=no,status=no';
|
newSearchContactWindow = window.open(baseUrl+suffixUrl, 'Popup', newSearchContactParam);
|
if (window.focus) {
|
newSearchContactWindow.focus();
|
}
|
return false;
|
}else{
|
console.log('请先选择客户再选择联系人')
|
}
|
}
|
|
function closePopupWindow() {
|
if (null != newSearchContactWindow) {
|
newSearchContactWindow.close();
|
}
|
contactInfoStr = document.getElementById('allPage:allForm:contactId').value;
|
console.log('closePopup:'+contactInfoStr);
|
let contactInfo = JSON.parse(contactInfoStr);
|
let contactNodeId = 'allPage:allForm:oppBlock2:UpdAddressId:contactIdValue';
|
document.getElementById(contactNodeId).value = contactInfo.ContactId;
|
document.getElementById(closeField).value = contactInfo.Name;
|
}
|
//2022 02 28 张华建 display PI Data end
|
</script>
|
<apex:form id="allForm">
|
<apex:inputHidden id="tableValueFrontEnd" value="{!tableDataStr}"/>
|
<apex:inputHidden value="{!contactId}" id="contactId"/>
|
<apex:inputHidden value="{!insUpdDataStr}" id="insUpdDataStr"/>
|
<div id="tab01">
|
<!-- 页面数据初始化方法 -->
|
<apex:actionFunction name="init" action="{!init}" rerender="oppBlock1,message,checEventFrame" onComplete="unblockUI();"></apex:actionFunction>
|
<!-- 检索数据查询方法 -->
|
<apex:actionFunction name="searchBtn" action="{!searchBtn}" rerender="oppBlock1,message,checEventFrame,tableValueFrontEnd" onComplete="unblockUI();">
|
<apex:param name="addressDataIds" assignTo="{!addressDataIds}" value=""></apex:param>
|
</apex:actionFunction>
|
<!-- 采用方法 -->
|
<apex:actionFunction name="adoptSave" action="{!adoptSave}" rerender="oppBlock2,message" onComplete="unblockUI();">
|
<apex:param name="adoptId" assignTo="{!adoptId}" value="" />
|
<apex:param name="isUpload" assignTo="{!isUpload}" value="" />
|
</apex:actionFunction>
|
<!-- 保存和修改方法 -->
|
<apex:actionFunction name="save" action="{!save}" rerender="oppBlock2,message" onComplete="unblockUI();{!IF(isSearchBtn,'searchBtnJs()',false)};Trans()"></apex:actionFunction>
|
<!-- 点击修改按钮获取修改数据方法 -->
|
<apex:actionFunction name="onEditor" action="{!onEditor}" rerender="oppBlock2,checEventFrame,insUpdDataStr" onComplete="decrypt();unblockUI();">
|
<apex:param name="UpdId" assignTo="{!UpdId}" value="" />
|
</apex:actionFunction>
|
<!-- 复制方法 -->
|
<apex:actionFunction name="onCopy" action="{!onCopy}" rerender="oppBlock2,checEventFrame," onComplete="decrypt();unblockUI();">
|
<apex:param name="UpdId" assignTo="{!UpdId}" value="" />
|
</apex:actionFunction>
|
<!-- 返回父页面 -->
|
<apex:actionFunction name="redirectPag" action="{!redirectPag}" rerender="true" onComplete="unblockUI();"></apex:actionFunction>
|
<apex:pageBlock id="searchBlock" tabStyle="Report">
|
<table style="border-bottom-width: 0px; font-size:12px;width:100%">
|
<tr>
|
<td style="width: 15%">
|
<font>类 型 </font>
|
<!-- <apex:selectList id="numtextA1Id" value="{!numtextA1}" size="1" style="width:110px">
|
<apex:selectOptions value="{!optionType}"/>
|
</apex:selectList> -->
|
<apex:inputField value="{!optionAddressClassification.Address_Classification__c}" id="AddressClassificationId"/>
|
</td>
|
<td style="width: 20%">
|
<font>客 户 名 </font>
|
<apex:inputText id="txtNameId" value="{!txtName}"/>
|
<a class="inlineEditUndoLink" title="清空" href="#" onclick="document.getElementById('allPage:allForm:searchBlock:txtNameId').value = '';document.getElementById('allPage:allForm:searchBlock:txtNameId').focus();" style="display: inline;">
|
<img width="16px" height="16px" src="/img/s.gif" alt="清空" class="inlineEditUndo"/>
|
</a>
|
</td>
|
<td style="width: 20%">
|
<font>地 址 </font>
|
<apex:inputText id="txtAddressId" value="{!txtAddress}"/>
|
<a class="inlineEditUndoLink" title="清空" href="#" onclick="document.getElementById('allPage:allForm:searchBlock:txtAddressId').value = '';document.getElementById('allPage:allForm:searchBlock:txtAddressId').focus(); " style="display: inline;">
|
<img width="16px" height="16px" src="/s.gif" alt="清空" class="inlineEditUndo"/>
|
</a>
|
</td>
|
<td style="width: 20%">
|
<apex:commandButton onclick="searchBtnJs();return false;" rendered="true" value="检索" style="width:60px;" onComplete="unblockUI();"/>
|
|
<!-- <apex:commandButton onclick="onAdoptJs();return false;" rendered="true" value="采用" style="width:60px;background:#98c1fbf7"/>
|
-->
|
<apex:commandButton onclick="sendBackJs();return false;" rendered="true" value="返回" style="width:60px;"/>
|
</td>
|
<td style="width: 25%">
|
|
</td>
|
</tr>
|
</table>
|
</apex:pageBlock>
|
|
</div>
|
<div>
|
<apex:outputPanel id="message">
|
<apex:pageMessages />
|
</apex:outputPanel>
|
</div>
|
<div id="tab02" style="overflow-x: auto; overflow-y: auto;">
|
<apex:pageBlock id="oppBlock1" tabStyle="Report">
|
<apex:pageblocksection title="地址列表" id="edmpdDetails" rendered="true" columns="1" >
|
<apex:outputPanel >
|
<table class="list" style="border-bottom-width: 0px; font-size:11px; border-spacing:0;" border="" id="tableHeader_L" >
|
<thead>
|
<tr class="headerRow" height="30px" align="center">
|
<!--标题 -->
|
<td style="">序号</td>
|
<td style="">类型</td>
|
<td style="">客户名</td>
|
<td style="">联系人</td>
|
<td style="">电话</td>
|
<td style="">邮编</td>
|
<td style="">省</td>
|
<td style="">市</td>
|
<td style="">详细地址</td>
|
<td style="" colspan="3">
|
操作
|
</td>
|
</tr>
|
</thead>
|
<tbody>
|
<apex:variable value="{!0}" var="cnt" />
|
<apex:repeat value="{!tableData}" var="or" id="oppTable">
|
<tr class="dataRow {!IF(MOD(cnt, 2)==0, 'odd', 'even')} {!IF(cnt==1, 'first', '')}" onmouseover="if (window.hiOn){hiOn(this);} " onmouseout="if (window.hiOff){hiOff(this);} " onblur="if (window.hiOff){hiOff(this);}" onfocus="if (window.hiOn){hiOn(this);}">
|
<td align="center" style="vertical-align: inherit;width:25px;border-width: 0px 1px 1px 0px;">
|
{!cnt+1}
|
</td>
|
<td align="center" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
|
<apex:outputText value="{!or.address.Address_Classification__c}" />
|
</td>
|
<td align="left" class="Customer__c" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
|
<apex:outputfield value="{!or.address.Customer__c}" />
|
</td>
|
<td align="left" class="address" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;" aws-data-id="{!or.address.AWS_Data_Id__c}">
|
<!-- <apex:outputfield value="{!or.address.Contacts__c}" id="{!or.address.Contacts__c}_{!or.address.Id}"/> -->
|
<a href="#" id="{!or.address.Id}" onmouseover="showPIDiv('{!or.address.Id}')" onmouseout="hidePIDiv('{!or.address.Id}')" aws-data-id="{!or.address.Contacts__r.AWS_Data_Id__c}">{!or.address.Contacts__r.Name}</a>
|
</td>
|
<td align="left" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
|
<apex:outputText value="{!or.address.Telephone__c}" />
|
</td>
|
<td align="left" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
|
<apex:outputText value="{!or.address.ZipCode__c}" />
|
</td>
|
<td align="center" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
|
<apex:outputfield value="{!or.address.Province__c}" />
|
</td>
|
<td align="center" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
|
<apex:outputfield value="{!or.address.City__c}" />
|
</td>
|
<td align="left" style="vertical-align: inherit;border-width: 0px 1px 1px 0px;">
|
<apex:outputText value="{!or.address.Detailed_Address__c}" />
|
</td>
|
<!-- <td align="center" style="vertical-align: inherit;width:30px;">
|
<apex:commandButton value=" 编辑 " onclick="onEditorJs('{!or.address.id}');return false;" style="background:#98c1fbf7;display:{!or.canEdit};"/>
|
</td> -->
|
<td align="center" style="vertical-align: inherit;width:30px;">
|
<apex:commandButton value=" 复制 " onclick="onCopyJs('{!or.address.id}');return false;" style="background: #98c1fbf7;display:{!or.canCopy};"/>
|
</td>
|
<td align="center" style="vertical-align: inherit;width:30px;">
|
<apex:commandButton value=" 采用 " onclick="onAdoptJs(event,JSON.parse('{!or.addressJson}'));return false;" style="background: #98c1fbf7;display:{!or.canAdopt};"/>
|
</td>
|
</tr>
|
<apex:variable value="{!cnt + 1}" var="cnt" />
|
</apex:repeat>
|
</tbody>
|
<script>
|
console.log('queryPI();')
|
queryPI();
|
</script>
|
</table>
|
</apex:outputPanel>
|
</apex:pageblocksection>
|
</apex:pageBlock>
|
|
</div>
|
<div id="tab03">
|
<apex:pageBlock id="oppBlock2" tabStyle="Report">
|
<apex:pageblocksection title="编辑地址" id="UpdAddressId" rendered="true" columns="4">
|
<apex:inputfield value="{!insUpdData.Address_Classification__c}" id="Address_Classification__c" />
|
<apex:inputfield value="{!insUpdData.Customer__c}" id="Customer__r_Name" required="false" />
|
<!-- Before PIPL 20220308 -->
|
<!-- <apex:inputfield value="{!insUpdData.Contacts__c}" id="Contacts__c" required="false"/> -->
|
<!-- Add By Li Jun for PIPL 20220308 Start -->
|
<apex:inputText label="联系人" disabled="true" value="{!contactNameValue}" id="Contacts__c">
|
</apex:inputText>
|
<apex:inputHidden id="contactIdValue" value="{!contactIdValue}"/>
|
<!-- Add By Li Jun for PIPL 20220308 End -->
|
<apex:inputfield value="{!insUpdData.Create_Contacts__c}" id="Create_Contacts__c" required="false"/>
|
|
<apex:inputfield value="{!insUpdData.Province__c}" id="Province__r_Name" style="" />
|
<apex:inputfield value="{!insUpdData.City__c}" id="City__r_name" />
|
<apex:inputfield value="{!insUpdData.Telephone__c}" id="Telephone__c" />
|
<apex:inputfield value="{!insUpdData.ZipCode__c}" id="ZipCode__c" />
|
<!-- <apex:pageblockSectionItem /> -->
|
<!-- <apex:inputTextarea value="{!insUpdData.Detailed_Address__c}" id="Detailed_Address__c" style="resize:vertical;width: 90%" rows="3" cols="3"/> -->
|
<apex:inputfield value="{!insUpdData.Detailed_Address__c}" id="Detailed_Address__c" style="resize:vertical;width: 98%"/>
|
|
<div id="errorMsg" class="errorMsg"></div>
|
|
<apex:inputHidden id="LastName_Encrypted__c" value="{!newCon.LastName_Encrypted__c}"/>
|
<apex:inputHidden id="Con_AWS_Data_Id__c" value="{!newCon.AWS_Data_Id__c}"/>
|
|
<apex:inputHidden id="Add_AWS_Data_Id__c" value="{!insUpdData.AWS_Data_Id__c}"/>
|
<apex:inputHidden id="Telephone_Encrypted__c" value="{!insUpdData.Telephone_Encrypted__c}"/>
|
<apex:inputHidden id="ZipCode_Encrypted__c" value="{!insUpdData.ZipCode_Encrypted__c}"/>
|
<apex:inputHidden id="Detailed_Address_Encrypted__c" value="{!insUpdData.Detailed_Address_Encrypted__c}"/>
|
</apex:pageblocksection>
|
|
<div style="text-align: center;">
|
<apex:commandButton immediate="true" value="保存" onclick="savaJs();" rerender="dummy" />
|
</div>
|
<script>
|
replaceSearchContactLookup();
|
</script>
|
</apex:pageBlock>
|
</div>
|
|
</apex:form>
|
<apex:outputPanel id="checEventFrame">
|
<script type="text/javascript">
|
j$("select option[value='办事处']")[1].remove();
|
let arr = [];
|
j$('td.address').each(function(i,e){
|
let did = j$(e).attr('aws-data-id');
|
if (did) {
|
arr.push(did);
|
}
|
})
|
if (arr.length) {
|
blockme();
|
AWSService.post(staticResource.searchUrl,{
|
dataIds:arr
|
},function(data){
|
unblockUI();
|
if(data && data.object && data.object.length > 0){
|
for (let di in data.object) {
|
if (data.object[di] && data.object[di].dataId) {
|
addressAwsData[data.object[di].dataId] = data.object[di];
|
}
|
}
|
|
}
|
},staticResource.token)
|
}
|
|
</script>
|
</apex:outputPanel>
|
<script type="javascript/text">
|
|
</script>
|
</apex:page>
|