123
chenjingwu
2024-04-19 5c79ed09628411b95f443ece77e63277e9752172
force-app/main/default/lwc/lexOpporSplite/lexOpporSplite.js
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-04-23 10:09:31
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-04-23 11:29:15
 * @LastEditTime: 2023-10-10 17:39:34
 */
import { api, wire,LightningElement } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
@@ -12,8 +12,12 @@
import { updateRecord } from 'lightning/uiRecordApi';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import init  from '@salesforce/apex/OpportunityLightingButtonController.initForOpporSpliteButton';
export default class LexOpporSplite extends LightningElement {
import initCopy from '@salesforce/apex/OpportunityLightingButtonController.initCopy';
import { NavigationMixin } from 'lightning/navigation';
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {loadStyle} from 'lightning/platformResourceLoader';
export default class LexOpporSplite extends NavigationMixin(LightningElement) {
    @api recordId;
    authorizedDBNo;
    estimationDecision;
@@ -37,50 +41,75 @@
        }
    }
    connectedCallback(){
        Promise.all([
            loadStyle(this, lwcCSS)
           ]);
        init({
            recordId: this.recordId
        }).then(result=>{
            console.log(result);
            this.authorizedDBNo = result.authorizedDBNo;
            this.estimationDecision = result.estimationDecision;
            this.siDecideID = result.siDecideID;
            this.name = result.name;
            this.opportunityNo = result.opportunityNo;
            this.isAuthorized = result.isAuthorized;
            this.authorizedDBNo = result.authorizedDBNo == undefined ? '' : result.authorizedDBNo;
            this.estimationDecision = result.estimationDecision == undefined ? '' : result.estimationDecision;
            this.siDecideID = result.siDecideID == undefined ? '' : result.siDecideID;
            this.name = result.name == undefined ? '' : result.name;
            this.opportunityNo = result.opportunityNo == undefined ? '' : result.opportunityNo;
            this.isAuthorized = result.isAuthorized == undefined ? '' : result.isAuthorized;
            this.opporSplite();
        })
    }
    opporSplite(){
        if(this.recordId == '已终止'){
            this.showToast("需求表已终止,不能拆单","error");
            this.dispatchEvent(new CloseActionScreenEvent());
        }else if(this.authorizedDBNo == ''){
            this.showToast("没有合同授权编码,不能拆单","error");
            this.dispatchEvent(new CloseActionScreenEvent());
        }else if(this.estimationDecision == true){
            this.showToast("报价已经Decided,不能拆单","error");
            this.dispatchEvent(new CloseActionScreenEvent());
        }else if(this.siDecideID == ''){
            this.showToast("需求表未批准,不能拆单","error");
            this.dispatchEvent(new CloseActionScreenEvent());
        }else if(this.recordId != '草案中' && this.recordId != '已提交' && this.recordId != '已终止'){
            window.open(
                    this.recordId
                    + "/e?clone=1&retURL=%2F"
                    + this.recordId + "&00N10000002Cbwh=*&CF00N10000006qHai="
                    + this.name + "&00Np0000001DOwi=***&00Np0000001CxmR="
                    + this.opportunityNo + "&CF00N10000006qHai_lkid="
                    + this.recordId + "&00N10000006qHav="
                    + this.opportunityNo + "&00N10000009Glvn="
                    + this.isAuthorized + "&00N10000008pnmd=1&00N10000002DXkZ=&00N10000002DXke=&00N10000002CmTf=&00N10000002Cb9P=&00N10000002DItz=&00N10000003O9oO=&00N10000003O9o4=&00N10000002CYHy=&00Np00000030gzb=&00Np0000002ajGe=&00Np00000034Qlb"
                );
            initCopy({
                recordId: this.recordId
            }).then(result=>{
                var changeData = 'Opportunity_No__c=*,Old_Opportunity_ID__c=' + this.recordId
                + ',old_Oppo_No__c=' + this.opportunityNo
                + ',IsAuthorized__c=' + this.isAuthorized
                + ',SeparateBillMark__c=1,Estimation_No__c=,Estimation_Name__c=,Estimation_List_Price__c=,NotesApprovedNo__c=,Assistant_Applied_Date__c=,Contract_DB_SalesDept_complite_day__c=,Contract_DB_complite_day__c=,Closing_Bid_Date__c=';
                this[NavigationMixin.Navigate]({
                    type: 'standard__objectPage',
                    attributes: {
                        actionName: 'new',
                        objectApiName: 'Opportunity'
                    },
                    state: {
                        defaultFieldValues: result + ',' + changeData
                    }
                });
                this.dispatchEvent(new CloseActionScreenEvent());
            });
        }
        this.dispatchEvent(new CloseActionScreenEvent());
    }
    showToast(msg,type) {
        const event = new ShowToastEvent({
            title: '',
            message: msg,
            variant: type
        });
        this.dispatchEvent(event);
        this.dispatchEvent(new CloseActionScreenEvent());
        if(type == 'success'){
            const event = new ShowToastEvent({
                message: msg,
                variant: type,
            });
            this.dispatchEvent(event);
            this.dispatchEvent(new CloseActionScreenEvent());
        }else{
            const event = new ShowToastEvent({
                message: msg,
                variant: type,
                mode: 'sticky'
            });
            this.dispatchEvent(event);
            this.dispatchEvent(new CloseActionScreenEvent());
        }
    }
    updateRecordView(recordId) {
        updateRecord({fields: { Id: recordId }});