import { LightningElement,api,track,wire } from 'lwc'; import { CurrentPageReference } from 'lightning/navigation'; import initData from '@salesforce/apex/LexNewAndEditInquiryPIPLController.initData'; import getAccountByHospitalName from '@salesforce/apex/LexNewAndEditInquiryPIPLController.getAccountByHospitalName'; import getContactById from '@salesforce/apex/LexNewAndEditInquiryPIPLController.getContactById'; import { NavigationMixin } from 'lightning/navigation'; //import { AWSService } from 'c/piUtils'; //deloitte-zhj 20231116 PIPL还原 import { ShowToastEvent } from 'lightning/platformShowToastEvent'; import { getObjectInfo } from 'lightning/uiObjectInfoApi'; import { decodeDefaultFieldValues } from "lightning/pageReferenceUtils"; import lexPIPLCustomStyle from '@salesforce/resourceUrl/lexPIPLCustomStyle' import { loadStyle } from 'lightning/platformResourceLoader'; import { conmentCancel } from "c/lexPIPLConmentMethods"; import INQUIRY from '@salesforce/schema/Inquiry_form__c'; // Add By Li Jun 20231025 Start import LexRecordNotCreateable from '@salesforce/label/c.LexRecordNotCreateable'; import LexNotCreateNote from '@salesforce/label/c.LexNotCreateNote'; import Agency_ID_c from '@salesforce/label/c.Agency_ID_c'; const customLabel = { LexRecordNotCreateable, LexNotCreateNote, }; // Add By Li Jun 20231025 End export default class LexNewAndEditInquiryPIPL extends NavigationMixin(LightningElement) { @track customLabel = customLabel;// Add By Li Jun 20231025 sobjectType = 'Inquiry_form__c'; modifyFieldArray = ['Contact_Name__c']; lookupFieldArray = ['Hospital__c', 'Department_Class__c']; @api recordId; @wire(CurrentPageReference) pageRef; @track layout = []; @track labelMap = {}; title; recordTypeId = '' //deloitte-zhj 20231116 PIPL还原 // staticResource; // AWSDataId = ''; txId = ''; hospitalId = ''; contactId = ''; contactAWSDataId = ''; practitioner = ''; isNewMode = false; isCloneMode = false; isEditMode = false; isLoading = false; isClone = false; isShowSearchAccount = false saveAndNew = false; sectionName = []; AWSToSobjectMap = {}; recordData = {}; //AWSService; //deloitte-zhj 20231116 PIPL还原 contactIdMap = {}; defaultValues = {}; //查询特殊lookup searchFieldArray; searchWhere; searchField = 'Name'; searchObjectType; @track iconName = ""; fieldLabel = {}; @track isInitSuccess = false; @wire(getObjectInfo, { objectApiName: INQUIRY }) getInquiryInfo({data,error}){ if(data){ this.fieldLabel = data.fields; this.labelMap ={ 'Contact_Name__c' : data.fields.Contact_Name__c.label, } } } connectedCallback(){ this.isLoading = true; loadStyle(this, lexPIPLCustomStyle); //this.AWSService = new AWSService(); //deloitte-zhj 20231116 PIPL还原 if (this.pageRef && this.pageRef.state) { this.recordTypeId = this.pageRef.state.recordTypeId; this.isClone = this.pageRef.state.c__isClone; // 获取从其他页面带来的参数 if (this.pageRef.state.defaultFieldValues) { this.defaultValues = decodeDefaultFieldValues( this.pageRef.state.defaultFieldValues ); console.log('this.contactAWSDataId = ' + this.contactAWSDataId); console.log('this.defaultValues = ' + this.defaultValues); } } if(this.recordId){ this.title = '编辑产品咨询单'; this.isEditMode = true; }else{ this.title = '新建产品咨询单'; if(this.isClone){ this.title = '克隆产品咨询单'; this.isCloneMode = true; }else{ this.isNewMode = true; } } setTimeout(() => { this.init(); }, 1000); } init(){ if(this.isCloneMode){ this.recordId = this.pageRef.state.c__recordId; } initData({ 'rid': this.recordId, 'recordTypeId': this.recordTypeId, 'sobjectType': this.sobjectType }).then((r) => { r = JSON.parse(JSON.stringify(r)); if (r.status == 'Success') { let layout = JSON.parse(r.entity.layout); this.layout = layout; this.recordData = r.entity.data; //deloitte-zhj 20231116 PIPL还原 // this.AWSToSobjectMap = JSON.parse(JSON.stringify(r.entity.AWSToSobjectNonEncryptedMap)); // this.staticResource = JSON.parse(r.entity.staticResource); // this.staticResourceContact = JSON.parse(r.entity.staticResourceContact); // if(r.entity.AWSDataId){ // this.AWSDataId = r.entity.AWSDataId; // } if(r.entity.recordTypeId){ this.recordTypeId = r.entity.recordTypeId; } this.sectionName = layout.map(s => s.label); layout = this.sortMetaLayouts(layout); layout.forEach(section =>{ section['showSection'] = false; if(section['editHeading']){ section['showSection'] = true; } section['showLabel'] = false; section.layoutColumns.forEach(column =>{ if(column.layoutItems.length != 0 && section['showLabel'] == false){ section['showLabel'] = true; } if(column.layoutItems){ column.layoutItems.forEach(item =>{ let filedName = item['field']; item['isModify'] = false; item['isDisable'] = item.behavior == 'Readonly' ? true : false; item['isRequired'] = item.behavior == 'Required' ? true : false; //特殊lookup字段,故采用自定义 //deloitte-zhj 20231116 PIPL还原 if(this.modifyFieldArray.includes(item['field'])){ item['isModify'] = true; item['isShowIcon'] = true; item['label'] = this.labelMap[filedName]; if(this.isEditMode || this.isCloneMode){ let lookupName = filedName.slice(0, -1) + 'r'; item['value'] = this.recordData[lookupName] == null ? '' : this.recordData[lookupName].lastName; this.contactIdMap[filedName] = this.recordData[filedName] == null ? '' : this.recordData[filedName]; //deloitte-zhj 20231116 PIPL还原 //this.contactAWSDataId = this.recordData[lookupName] == null ? '' : this.recordData[lookupName].AWS_Data_Id__c; //解密客户人员 //this.queryContactName(filedName); this.template.querySelector('[data-icon='+ filedName + ']').iconName = this.recordData[lookupName] == null ? 'utility:search' : 'utility:close'; } } if(item['field'] == 'Hospital_Name__c' && this.isEditMode){ this.hospitalId = this.recordData.Hospital_Name__c == null ? '' : this.recordData.Hospital_Name__c; } //recordTypeId字段都应该是不可编辑的 if(item['field'] == 'RecordTypeId'){ item['isDisable'] = true; } if(item['field'] == 'Name' && this.isNewMode){ item['value'] = '*'; } if (this.isNewMode && this.defaultValues && Object.keys(this.defaultValues).length != 0) { if(this.defaultValues[filedName]){ item["value"] = this.defaultValues[filedName]; } if(item['field'] == 'Contact_Name__c'){ //item['value'] = this.defaultValues['Family_Name__c'] + this.defaultValues['Last_Name__c']; item['value'] = this.defaultValues['Contact_Name__c'];//change by tiger 20240130 this.contactIdMap[filedName] = this.defaultValues[filedName]; //deloitte-zhj 20231116 PIPL还原 // //deloitte-zhj 20231031 // if(this.defaultValues['awsDataId']){ // item['value'] = this.defaultValues['Last_Name__c']; // this.contactIdMap[filedName] = this.defaultValues[filedName]; // this.contactAWSDataId = this.defaultValues['awsDataId']; // //解密客户人员 // this.queryContactNameEmailPhone(); // }else{ // //非PI客户人员 // item['value'] = this.defaultValues['Family_Name__c'] + this.defaultValues['Last_Name__c']; // this.contactIdMap[filedName] = this.defaultValues[filedName]; // } } if(item['field'] == 'Hospital_Name__c'){ this.hospitalId =this.defaultValues[filedName]; } } }) } }) }) //deloitte-zhj 20231116 PIPL还原 // //编辑 // if(this.isEditMode || this.isCloneMode){ // //解密意向的加密字段 // this.queryLeadFromAWSIFS(); // } this.isInitSuccess = true; } else { this.showToast('Error', r.msg); } if(this.isCloneMode){ this.recordId = ''; } //this.isLoading = false; }) } handleLoad() { console.log("handleLoad"); console.log("this.isInitSuccess = " + this.isInitSuccess); if (this.isInitSuccess) { let time = 1000; if (!this.isNewMode) { time = 2000; } let that = this; setTimeout(() => { that.isLoading = false; }, time); } } // 重新排版layout sortMetaLayouts(layout){ layout.forEach(s => { let c1 = (s.layoutColumns[0].layoutItems != null) ? s.layoutColumns[0].layoutItems : []; let c2 = []; if(s.layoutColumns.length > 1){ c2 = (s.layoutColumns[1].layoutItems != null) ? s.layoutColumns[1].layoutItems : []; } else{ s.layoutColumns.push({ "reserved": null, "layoutItems": [] }); } let emptySpaceItem = { "width": null, "showScrollbars": null, "showLabel": null, "scontrol": null, "reportChartComponent": null, "page_x": null, "height": null, "field": null, "emptySpace": true, "customLink": null, "component": null, "canvas": null, "behavior": null, "analyticsCloudComponent": null } let maxSize = 0 if(c1.length > c2.length){ maxSize = c1.length; for(let i = 0; i < maxSize; i++){ if(c2.length == maxSize){ break; } c2.push(emptySpaceItem); } }else{ maxSize = c2.length; for(let i = 0; i < maxSize; i++){ if(c1.length == maxSize){ break; } c1.push(emptySpaceItem); } } let tempList = []; let index = 0; for(let i = 0; i < maxSize; i++){ tempList.push(c1[i]); if(tempList.length == maxSize){ s.layoutColumns[index].layoutItems = tempList; tempList = []; tempList.push(c2[i]); index++; }else{ tempList.push(c2[i]); if(tempList.length == maxSize){ s.layoutColumns[index].layoutItems = tempList; tempList = []; index++; } } } }) layout = [...layout]; return layout; } //deloitte-zhj 20231116 PIPL还原 start // //解密客户人员 // queryContactName(filedName){ // var that = this; // this.AWSService.query(this.staticResourceContact.queryUrl,this.contactAWSDataId,function(data){ // console.log('data = ' + JSON.stringify(data)); // if (data.object) { // for (let s of that.layout) { // for (let lc of s.layoutColumns) { // if(lc.layoutItems){ // for (let c of lc.layoutItems) { // if(c['field'] == filedName){ // c['value'] = data.object.lastName; // } // } // } // } // } // } // },this.staticResourceContact.token) // } // //解密客户人员 // queryContactNameEmailPhone(){ // debugger // var that = this; // this.AWSService.query(this.staticResourceContact.queryUrl,this.contactAWSDataId,function(data){ // console.log('data = ' + JSON.stringify(data)); // if (data.object) { // for (let s of that.layout) { // for (let lc of s.layoutColumns) { // if(lc.layoutItems){ // for (let c of lc.layoutItems) { // if(c['field'] == 'Contact_Name__c'){ // c['value'] = data.object.lastName; // } // if(c['field'] == 'Email__c'){ // c['value'] = data.object.email; // } // if(c['field'] == 'Phone__c' && data.object.mobilePhone && !c['value']){ // c['value'] = data.object.mobilePhone; // } // if(c['field'] == 'Phone__c' && data.object.phone && !c['value']){ // c['value'] = data.object.phone; // } // } // } // } // } // } // },this.staticResourceContact.token) // } // //解密加密字段 // queryLeadFromAWSIFS(){ // var that = this; // debugger; // this.AWSService.query(this.staticResource.queryUrl,this.AWSDataId,function(data){ // console.log('queryLeadFromAWSIFS data = ' + JSON.stringify(data)); // if (data.object) { // for (let s of that.layout) { // for (let lc of s.layoutColumns) { // if(lc.layoutItems){ // for (let c of lc.layoutItems) { // for (let f in that.AWSToSobjectMap) { // if (data.object.hasOwnProperty(f) && c['field'] == that.AWSToSobjectMap[f]) { // c['value'] = data.object[f] == null ? '' : data.object[f]; // } // } // } // } // } // } // } // },this.staticResource.token) // } //deloitte-zhj 20231116 PIPL还原 end //取消 cancel() { // if(window.history.length == 1){ // window.close(); // return false; // } // if(JSON.stringify(this.defaultValues) != '{}'){ // window.history.go(-2); // }else{ // window.history.back(); // } // return false; conmentCancel(this.defaultValues); } //change事件 dataChange(event) { let fieldName = event.target.getAttribute("data-field"); let value = event.detail.value; console.log("fieldName = " + fieldName + " value = " + event.detail.value); if(fieldName == 'Hospital_Name__c'){ this.hospitalId = value[0]; if (value[0] != Agency_ID_c && value[0] != '' && value[0]) { this.hospitalId = value[0]; this.setVlookup(this.lookupFieldArray, value[0] + ''); } else { //清空战略科室分类 this.clearVlookup(); } } } // 重写保存按钮 clickSubmit(){ const btn = this.template.querySelector( ".hidden" ); if( btn ){ btn.click(); } } // 重写保存并新建按钮 clickSubmitAndNew(){ console.log('clickSubmitAndNew'); this.saveAndNew = true; const btn = this.template.querySelector(".hidden"); if (btn) { btn.click(); } } //战略科室分类和公司赋值 setVlookup(ls, hospitalId) { this.isLoading = true; console.log('ls = ' + JSON.stringify(ls)); console.log('hospitalId = ' + hospitalId); var that = this; getAccountByHospitalName({ hosName: hospitalId }).then((r) => { r = JSON.parse(JSON.stringify(r)); console.log('r = ' + JSON.stringify(r)); //deloitte-zhj 20231106 if(r.departmentInfo && r.departmentInfo.ParentId && r.departmentInfo.Parent.ParentId ){ for (let s of this.layout) { for (let c of s.layoutColumns) { if (c.layoutItems) { for (let item of c.layoutItems) { if (item['field'] == 'Department_Class__c') { item['value'] = r.departmentInfo.ParentId; this.contactIdMap['Department_Class__c'] = r.departmentInfo.ParentId; } if (item['field'] == 'Hospital__c') { item['value'] = r.departmentInfo.Parent.ParentId; this.contactIdMap['Hospital__c'] = r.departmentInfo.Parent.ParentId; } if (item['field'] == 'Hospital_Name__c') { item['value'] = hospitalId; this.contactIdMap['Hospital_Name__c'] = hospitalId; } } } } } }else{ this.contactIdMap['Hospital_Name__c'] = hospitalId; that.showMyToast('请填写正确的科室' , '' , 'error') } that.layout = [...that.layout]; //1.5秒后将会调用执行remind()函数 setTimeout(function () { that.isLoading = false; }, 1000); //this.isShowSpinner = false; }) } //清空战略科室分类 clearVlookup() { console.log('clearVlookup'); for (let s of this.layout) { for (let c of s.layoutColumns) { if (c.layoutItems) { for (let item of c.layoutItems) { if (item['field'] == 'Department_Class__c') { item['value'] = ''; this.contactIdMap['Department_Class__c'] = ''; } if (item['field'] == 'Hospital__c') { item['value'] = ''; this.contactIdMap['Hospital__c'] = ''; } } } } } this.layout = [...this.layout]; } //提交保存 handleSubmit(event) { this.isLoading = true; //1. Get Sobject Information from Form event.preventDefault(); var fields = event.detail.fields; if (fields.RecordTypeId) { fields["RecordTypeId"] = fields.RecordTypeId.substring(1,fields.RecordTypeId.length - 1); } this.modifyFieldArray.forEach(fieldname =>{ fields[fieldname] = this.contactIdMap[fieldname]; }) //保存到后端 console.log("submit = " + JSON.stringify(fields)); this.template.querySelector("lightning-record-edit-form").submit(fields); //Object.assign(fields, this.modifyObj); //deloitte-zhj 20231116 PIPL还原 // this.modifyFieldArray.forEach(fieldname =>{ // fields[fieldname] = this.contactIdMap[fieldname]; // }) // //2. select cannot actively select redaction option // let validationResultMessage = this.validateFieldValueFormate(fields); // console.log('validationResultMessage=' + validationResultMessage); // if (validationResultMessage) { // this.showMyToast(validationResultMessage , '' , 'error') // this.isLoading = false; // return; // } // //3. Check Required Field // let checkRequiredFieldMsgResult = this.checkRequiredFieldMsg(fields); // console.log('checkRequiredFieldMsgResult = ' + checkRequiredFieldMsgResult); // if (checkRequiredFieldMsgResult != '') { // this.showMyToast(checkRequiredFieldMsgResult + '需要进行填写' , '' , 'error') // this.isLoading = false; // return; // } // //4. Prepare the payload for New PI API To AWS - To Do // let payloadForNewPI = this.getPIPayload(fields); // console.log('payloadForNewPI = ' + payloadForNewPI); // //5. PI To AWS // //新建 // debugger // if(this.isNewMode || this.isCloneMode || this.AWSDataId == ''){ // this.NewPIToAWS(payloadForNewPI,fields); // } // //编辑 // if(this.isEditMode){ // this.UpdatePIToAWS(payloadForNewPI,fields); // } } // //新建保存ToAWS // NewPIToAWS(payloadForNewPI,fields){ // this.AWSService.post(this.staticResource.newUrl, payloadForNewPI, (result) => { // if (result && result.object) { // console.log('result = ' + JSON.stringify(result)); // for (let f in this.AWSToSobjectMap) { // if (result.object[0].hasOwnProperty(f)) { // fields[this.AWSToSobjectMap[f]] = result.object[0][f]; // console.log('this.AWSToSobjectMap[f] = ' + this.AWSToSobjectMap[f]); // console.log('fields[this.AWSToSobjectMap[f]] = ' + fields[this.AWSToSobjectMap[f]]); // } // else { // console.log(f + 'is not in result.object[0]'); // } // } // fields['AWS_Data_Id__c'] = result.object[0].dataId; // this.txId = result.txId; // console.log('this.txId = ' + this.txId); // console.log('PI After fields = ' + JSON.stringify(fields)); // if(fields.RecordTypeId){ // console.log('length = ' + JSON.stringify(fields.RecordTypeId.length)); // fields['RecordTypeId'] = fields.RecordTypeId.substring(1, fields.RecordTypeId.length - 1); // console.log('RecordTypeId = ' + JSON.stringify(fields['RecordTypeId'])); // } // //保存到后端 // this.template.querySelector('lightning-record-edit-form').submit(fields); // } else { // console.log('result = ' + JSON.stringify(result)); // } // }, this.staticResource.token); // } // //编辑保存ToAWS // UpdatePIToAWS(payloadForNewPI, fields) { // let obj = JSON.parse(payloadForNewPI); // if(this.AWSDataId){ // obj[0].dataId = this.AWSDataId; // }else{ // this.showMyToast("Error", '未找到该记录的AWS Id,请确认记录完整性', 'error'); // return; // } // obj[0].dataId = this.AWSDataId; // let payloadForNewPIJson = JSON.stringify(obj); // this.AWSService.post(this.staticResource.updateUrl, payloadForNewPIJson, (result) => { // if (result && result.object) { // console.log('result = ' + JSON.stringify(result)); // for (let f in this.AWSToSobjectMap) { // if (result.object[0].hasOwnProperty(f)) { // fields[this.AWSToSobjectMap[f]] = result.object[0][f]; // console.log('this.AWSToSobjectMap[f] = ' + this.AWSToSobjectMap[f]); // console.log('fields[this.AWSToSobjectMap[f]] = ' + fields[this.AWSToSobjectMap[f]]); // } // else { // console.log(f + 'is not in result.object[0]'); // } // } // if (this.isNewMode || this.isCloneMode) { // fields['AWS_Data_Id__c'] = result.object[0].dataId; // } else { // //更新 // fields['AWS_Data_Id__c'] = this.AWSDataId; // } // this.txId = result.txId; // console.log('this.txId = ' + this.txId); // console.log('PI After fields = ' + JSON.stringify(fields)); // if (fields.RecordTypeId) { // console.log('length = ' + JSON.stringify(fields.RecordTypeId.length)); // fields['RecordTypeId'] = fields.RecordTypeId.substring(1, fields.RecordTypeId.length - 1); // console.log('RecordTypeId = ' + JSON.stringify(fields['RecordTypeId'])); // } // //保存到后端 // console.log('update submit = ' + JSON.stringify(fields)); // this.template.querySelector('lightning-record-edit-form').submit(fields); // } else { // console.log('result = ' + JSON.stringify(result)); // } // }, this.staticResource.token); // } //提交保存成功 handleSuccess(event) { let updatedRecord = event.detail.id; console.log('onsuccess: ', updatedRecord); console.log('confirmTrans'); let that = this; //deloitte-zhj 20231116 PIPL还原 start if (this.saveAndNew) { this[NavigationMixin.Navigate]({ type: "standard__objectPage", attributes: { objectApiName: this.sobjectType, actionName: "new", }, state: { recordTypeId: this.recordTypeId, }, }); } else { this[NavigationMixin.Navigate]({ type: "standard__recordPage", attributes: { actionName: "view", recordId: updatedRecord, objectApiName: this.sobjectType, }, }); } // this.AWSService.confirm(true, updatedRecord, this.txId, this.staticResource.token, this.staticResource.transactionUrl, function (result) { // console.log('result = ' + JSON.stringify(result)) // that.showToast('Success', '保存成功'); // console.log('updatedRecord = ' + updatedRecord) // //that.navigate(updatedRecord); // if (that.saveAndNew) { // that[NavigationMixin.Navigate]({ // type: "standard__objectPage", // attributes: { // objectApiName: that.sobjectType, // actionName: "new", // }, // state: { // recordTypeId: that.recordTypeId, // }, // }); // } else { // that[NavigationMixin.Navigate]({ // type: "standard__recordPage", // attributes: { // actionName: "view", // recordId: updatedRecord, // objectApiName: that.sobjectType, // }, // }); // } // }); } // 保存成功后跳转页面 navigate(updatedRecord){ if(this.saveAndNew){ window.location.reload(true); }else{ let url = "/" + updatedRecord; parent.location.href = url } } //提交保存失败 handleError(event) { event.preventDefault(); event.stopImmediatePropagation(); console.log('event.detail = ' + JSON.stringify(event.detail)) if (event.detail.output && event.detail.output.fieldErrors && Object.keys(event.detail.output.fieldErrors).length != 0) { let msg = ''; for (let key in event.detail.output.fieldErrors) { msg += ',' + event.detail.output.fieldErrors[key][0].message; } msg = msg.substring(1); this.showMyToast("Error", event.detail.message + ' : ' + msg, 'error'); } else { //add by Li Jun 20231025 Start if(event.detail.message != '' && this.customLabel.LexRecordNotCreateable.indexOf(event.detail.message) != -1){ this.showMyToast("Error", this.customLabel.LexNotCreateNote, 'error'); }else{ this.showMyToast("Error", event.detail.message + ' : ' + event.detail.detail, 'error'); } //add by Li Jun 20231025 End } //deloitte-zhj 20231116 PIPL还原 // //add by Li Jun 20231025 Start // if(this.txId && this.staticResource){ // this.AWSService.confirm(false,'',this.txId,this.staticResource.token,this.staticResource.transactionUrl,function(result){ // console.log('result = ' + JSON.stringify(result)) // }); // } // //add by Li Jun 20231025 End } // 大段报错信息处理 showMyToast(title, message, variant) { console.log('show custom message'); var iconName = ''; var content = ''; if (variant == 'success') { iconName = 'utility:check'; } else { iconName = 'utility:error'; } if (message != '') { content = '

' + title + '

' + message + '
'; } else { content = '

' + title + '

'; } this.template .querySelector('c-common-toast') .showToast(variant, content, iconName, 10000); this.isLoading = false; } //deloitte-zhj 20231116 PIPL还原 start // //验证字段 // validateFieldValueFormate(fields) { // let error_msg = ''; // let b = false; // for(var key in fields){ // if(fields[key] == "*****") // b = true; // } // if(b) // error_msg = '下拉框不能主动选择密文选项'; // return error_msg; // } // //验证required字段需要进行填写 // checkRequiredFieldMsg(fields) { // let msg = ''; // try { // for (let s of this.layout) { // for (let lc of s.layoutColumns) { // if (lc.layoutItems) { // for (let c of lc.layoutItems) { // if (!c.isDisable && c.isRequired && (fields[c.field] == null || fields[c.field] === '')) { // msg += ";" + this.fieldLabel[item.field].label ; // } // } // } // } // } // } catch (err) { // this.showToast('Error',err.message); // } // msg = msg.substring(1); // return msg; // } // //获取PI字段 // getPIPayload(sobjJsonLwc) { // console.log() // let leadPayloadList = []; // let leadPIData = {}; // for (let f in this.AWSToSobjectMap) { // if (sobjJsonLwc.hasOwnProperty(this.AWSToSobjectMap[f])) { // leadPIData[f] = sobjJsonLwc[this.AWSToSobjectMap[f]] // } // else { // console.log(this.AWSToSobjectMap[f] + 'is not in sobjJsonLwc'); // } // } // leadPIData.sfRecordId = ''; // console.log('Sobject PI Data x :' + leadPIData); // leadPayloadList.push(leadPIData); // console.log('leadPayloadList = ' + JSON.stringify(leadPayloadList)); // return JSON.stringify(leadPayloadList); // } //查询客户人员根据医院 searchHospitalNameModal(event){ this.practitioner = event.target.getAttribute("data-field"); if(this.modifyFieldArray.includes(this.practitioner)){ if(this.hospitalId == "000000000000000" || this.hospitalId == ''){ this.showToast('Error','请先选择医院名'); return } this.lookupFieldLabel = '客户名'; this.lookupTitle = '客户名'; this.searchObjectType = 'Contact' this.isShowSearchAccount = true; } } //选择客户人员后进行赋值 handleSelectContact(event){ this.isLoading = true; let fieldName = this.practitioner; const selectContact = event.detail; for (let s of this.layout) { for (let lc of s.layoutColumns) { if (lc.layoutItems) { for (let c of lc.layoutItems) { if(c['field'] == fieldName){ c['value'] = selectContact.data.medicalStaffFullName; this.contactIdMap[fieldName] = selectContact.data.sfRecordId; console.log('selectContact.data.sfRecordId = ' + selectContact.data.sfRecordId); console.log('c[value] = ' + c['value']); this.template.querySelector('[data-icon='+ fieldName + ']').iconName = "utility:close"; //this.dataChange() } if(c['field'] == 'Phone__c'){ let phone = ''; if(selectContact.data.mobilePhone){ phone = selectContact.data.mobilePhone; } if(typeof phone === "undefined" || phone === null || phone.trim() === ""){ phone = selectContact.data.phone; } c['value'] = phone; } if(c['field'] == 'Email__c'){ c['value'] = selectContact.data.email; } } } } } this.layout = [...this.layout]; this.isLoading = false; this.closeHospitalNameModal(); } //关闭客户人员根据医院模态框 closeHospitalNameModal(){ this.isShowSearchAccount = false; } //清空客户姓名 clearName(event) { let fieldname = event.target.getAttribute("data-icon") console.log("enter clearName"); if (this.contactIdMap[fieldname] != "") { this.contactIdMap[fieldname] = ""; for (let s of this.layout) { for (let c of s.layoutColumns) { if (c.layoutItems) { for (let item of c.layoutItems) { if (item["field"] == fieldname) { item["value"] = ""; //this.contactId = ""; } } } } } this.layout = [...this.layout]; this.template.querySelector('[data-icon='+ fieldname + ']').iconName = "utility:search"; } } //deloitte-zhj 20231116 PIPL还原 end showToast(type, msg) { this.isLoading = false; const event = new ShowToastEvent({ //title: msg, variant: type, message: msg }); this.dispatchEvent(event); } }