From b329ab986e250bb27e46ace97cf208f3b26d145a Mon Sep 17 00:00:00 2001
From: FUYU <fuyu@prec-tech.com>
Date: 星期一, 18 十二月 2023 17:38:15 +0800
Subject: [PATCH] 修改复制(不带产品按钮)
---
force-app/main/default/classes/lexCopyToBaseController.cls-meta.xml | 5 +
force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.html | 9 +
force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.js | 134 ++++++++++++++++++++++++++
force-app/main/default/classes/lexCopyToBaseController.cls | 100 ++++++++++++++++++++
force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.js-meta.xml | 11 ++
5 files changed, 259 insertions(+), 0 deletions(-)
diff --git a/force-app/main/default/classes/lexCopyToBaseController.cls b/force-app/main/default/classes/lexCopyToBaseController.cls
new file mode 100644
index 0000000..fb1945c
--- /dev/null
+++ b/force-app/main/default/classes/lexCopyToBaseController.cls
@@ -0,0 +1,100 @@
+public with sharing class lexCopyToBaseController {
+ public lexCopyToBaseController() {
+
+ }
+ @AuraEnabled
+ public static String init(String recordId){
+ String s='';
+ try {
+ String objectName = 'Opportunity'; // 瑕佽幏鍙栧瓧娈电殑瀵硅薄鍚�
+ Map<String, Schema.SObjectType> globalDescribe = Schema.getGlobalDescribe();
+ Schema.SObjectType objType = globalDescribe.get(objectName);
+ if (objType != null) {
+ Schema.DescribeSObjectResult objDescribe = objType.getDescribe();
+ Map<String, Schema.SObjectField> fieldMap = objDescribe.fields.getMap();
+ s+='SELECT ';
+ // 鐜板湪锛宖ieldMap涓寘鍚簡瀵硅薄鐨勬墍鏈夊瓧娈典俊鎭�
+ for (String fieldName : fieldMap.keySet()) {
+ if(!fieldName.equals('id')
+ &&!fieldName.equals('Id'))
+ s+=fieldName+',';
+ }
+
+ s=s.removeEnd(',');
+ s+=' FROM Opportunity where id=\''+recordId+'\'';
+ system.debug('SQL:'+s);
+ List<Opportunity> opportunitys = Database.query(s);
+ s='';
+ if(opportunitys.size()>0){
+ system.debug('in!');
+ for (String fieldName : fieldMap.keySet()) {
+ String formaF=fieldMap.get(fieldName).getDescribe().getName();
+ if(opportunitys.get(0).get(fieldName)!=null&&!opportunitys.get(0).get(fieldName).equals('null')){
+ if(formaF.equals('Id')
+ ||formaF.equals('OwnerId')
+ ||formaF.equals('CreatedDate')
+ ||formaF.equals('CreatedById')
+ )
+ {
+ continue;
+ }
+ Object val=opportunitys.get(0).get(fieldName);
+ if(val instanceof Date ){
+ String str=String.valueOf(val);
+ str=str.replace(' ','T');
+ str+='.000Z';
+ s+=formaF+'='+str+',';
+ }else if (val instanceof DateTime){
+ String str=String.valueOf(val);
+ str=str.replace(' ','T');
+ str+='.000Z';
+ s+=formaF+'='+str+',';
+ }else{
+ s+=formaF+'='+opportunitys.get(0).get(fieldName)+',';
+ }
+
+ }
+ }
+ s=s.removeEnd(',');
+ return s;
+ }
+ }
+ return s;
+ } catch (Exception e) {
+ System.debug('lexCopyToBaseController init error:'+e.getMessage());
+ }
+ return s;
+ }
+ // public static getData(){
+
+ // }
+ public static String forma(String str){
+ String res='';
+ String stra='a';
+ Integer a=stra.charAt(0);
+ String strz='z';
+ Integer z=strz.charAt(0);
+ String strAa='A';
+ Integer bA=strAa.charAt(0);
+ String strZz='Z';
+ Integer bZ=strZz.charAt(0);
+ String strx='_';
+ Integer x=strx.charAt(0);
+ List<Integer> charArr = new List<Integer>();
+ Integer change=bA-a;
+ Integer st=(str.charAt(0)+change);
+ charArr.add(st);
+ for(Integer i=0;i<str.length()-2;i++){
+ Integer c=str.charAt(i);
+ Integer nextC=str.charAt(i+1);
+ if(c==x&&nextC>=a&&nextC<z&&i!=str.length()-2){
+ nextC+=change;
+ }
+ charArr.add(nextC);
+ }
+ res=String.fromCharArray(charArr);
+ res+=str.substring(str.length()-1,str.length());
+
+ return res;
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/classes/lexCopyToBaseController.cls-meta.xml b/force-app/main/default/classes/lexCopyToBaseController.cls-meta.xml
new file mode 100644
index 0000000..d75b058
--- /dev/null
+++ b/force-app/main/default/classes/lexCopyToBaseController.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+ <apiVersion>51.0</apiVersion>
+ <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.html b/force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.html
new file mode 100644
index 0000000..f3e1a60
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.html
@@ -0,0 +1,9 @@
+<template>
+ <div class="Holder" style="
+ position: relative;
+ width:100%;
+ height:200px;
+ --sds-c-progress-ring__stroke-color: #0070d2;">
+ <lightning-spinner alternative-text="Loading" size="medium" variant="brand"></lightning-spinner>
+ </div>
+</template>
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.js b/force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.js
new file mode 100644
index 0000000..ad5c1ea
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.js
@@ -0,0 +1,134 @@
+import { api, wire,LightningElement } from 'lwc';
+import { CurrentPageReference } from "lightning/navigation";
+import { CloseActionScreenEvent } from 'lightning/actions';
+import { updateRecord } from 'lightning/uiRecordApi';
+import { ShowToastEvent } from 'lightning/platformShowToastEvent';
+import { NavigationMixin } from 'lightning/navigation';
+import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
+import { getRecord } from 'lightning/uiRecordApi';
+import init from '@salesforce/apex/lexCopyToBaseController.init';
+import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
+import {loadStyle} from 'lightning/platformResourceLoader';
+export default class lexCopyToBase extends NavigationMixin(LightningElement) {
+ @api recordId;
+ dateF;
+ @wire(CurrentPageReference)
+ getStateParameters(currentPageReference) {
+ if (currentPageReference) {
+ const urlValue = currentPageReference.state.recordId;
+ if (urlValue) {
+ let str = `${urlValue}`;
+ this.recordId = str;
+ }
+ }
+ }
+ connectedCallback(){
+ Promise.all([
+ loadStyle(this, lwcCSS)
+ ]);
+ init({
+ recordId: this.recordId
+ }).then(result=>{
+ this.dateF = result;
+ this.createOPDFromRentalApply().then(res=>{
+ this.dispatchEvent(new CloseActionScreenEvent());
+ });
+ });
+ }
+ async createOPDFromRentalApply(){
+ let tt='dd';
+ const data = encodeDefaultFieldValues({
+ Lead_CreateBy__c:'',
+ Lead_CreateDate__c:'',
+ Estimation_No__c:'',
+ Estimation_Name__c:'',
+ Estimation_List_Price__c:'',
+ Agency1__c:'',
+ Sales_Contract_No__c:'',
+ Agency2__c:'',
+ Bid_Publish_Date__c:'',
+ Bidding_Company__c:'',
+ Bidding_No__c:'',
+ Bidding_Project_Name__c:'',
+ Bidding_Content__c:'',
+ Bid_Planned_Date__c:'',
+ Closing_Bid_Company__c:'',
+ Closing_Bid_Price__c:'',
+ Opp_Confirmation_Day__c:'',
+ Last_Follow_Up_Date__c:'',
+ Estimation_Proposal_Date__c:'',
+ Authorized_Date__c:'',
+ Autholization_Activated_Date__c:'',
+ Bid_Date__c:'',
+ Closing_Bid_Date__c:'',
+ Assistant_Applied_Date__c:'',
+ Contract_DB_SalesDept_complite_day__c:'',
+ Contract_DB_complite_day__c:'',
+ Agency_Contract_Date1__c:'',
+ SAP_Send_OK_Date__c:'',
+ Sales_Shop_Hospital_Contract__c:'',
+ Forecast_Collect_Money__c:'',
+ Contract_Invalid_Date__c:'',
+ Next_action__c:'',
+ Follow_up_comment__c:'',
+ Xin_Gross_Follow_Num__c:'',
+ OPD1__c:'',
+ Num_Of_OPD__c:'',
+ OPD_SIS_collect_evaluation_sight__c:'',
+ Detail_Suggestion__c:'',
+ Num_Of_NTC__c:'',
+ Deleted_Reason__c:'',
+ Lost_Opportunity_Date__c:'',
+ opp14:'',
+ Request_quotation_update__c:'',
+ old_Oppo_No__c:'',
+ Oppor_Number_Report__c:'',
+ Manager_name_text__c:'',
+ Sales_assistant_name_text__c:'',
+ Sales_window_text__c:'',
+ If_Authorizing__c:'',
+ Opportunity_No__c:'',
+ Collect_Customer_sign__c:'',
+ Estimation_Decision__c:'',
+ SAP_Send_OK__c:'',
+ Authorized_DB_No__c:'',
+ NotesApprovedNo__c:'',
+ is_CheckTarget_TF__c:'',
+ Whether_FALSE_order__c:'',
+ Stock_apply_status__c:'',
+ Stock_apply_time__c:'',
+ Stock_apply_passtime__c:'',
+ Stock_cancel_reason__c:'',
+ Stock_cancel_reason_text__c:'',
+ Stock_Confrim_Date__c:'',
+ Last_opportunity_file__c:'',
+ Application_Amount_Submit__c:'',
+ Agency_Opportunity__c:'',
+ Budget_Amount_Approval__c:'',
+ Hospital_Budget__c:'',
+ Key_tipics_last_update_day__c:'',
+ Lead_Num__c:'',
+ opp6:'',
+ opp17:'',
+ Other_Society__c:'',
+ Contract_DB_Finalcomplite_day__c:'',
+ Contract_Authorize_Lock__c:'',
+ Old_Opportunity_ID__c:'',
+ LeadSource:'',
+ Authorized_Finish_Sales__c:'',
+ IsAuthorized__c:'',
+ });
+ console.log(this.dateF+","+data);
+ this[NavigationMixin.Navigate]({
+ type: 'standard__objectPage',
+ attributes: {
+ objectApiName: 'Opportunity', // 瑕佹柊寤虹殑瀵硅薄API
+ actionName: 'new',
+ },
+ state:{
+ nooverride: '1',
+ defaultFieldValues:this.dateF+","+data
+ }
+ });
+ }
+}
\ No newline at end of file
diff --git a/force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.js-meta.xml b/force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.js-meta.xml
new file mode 100644
index 0000000..0bbf731
--- /dev/null
+++ b/force-app/main/default/lwc/lexCopyToBase/lexCopyToBase.js-meta.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata" fqn="lexCopyToBase">
+ <apiVersion>51.0</apiVersion>
+ <isExposed>true</isExposed>
+ <targets>
+ <target>lightning__AppPage</target>
+ <target>lightning__RecordPage</target>
+ <target>lightning__HomePage</target>
+ <target>lightning__RecordAction</target>
+ </targets>
+</LightningComponentBundle>
\ No newline at end of file
--
Gitblit v1.9.1