123
chenjingwu
2024-04-11 8d006ac357a60d77f086c37f2ae7338530a607f2
force-app/main/default/lwc/lexRequestDB/lexRequestDB.js
@@ -4,8 +4,11 @@
import init  from '@salesforce/apex/OpportunityLightingButtonController.initForRequestDBButton';
import { updateRecord } from 'lightning/uiRecordApi';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
export default class LexRequestDB extends LightningElement {
import { NavigationMixin } from 'lightning/navigation';
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {loadStyle} from 'lightning/platformResourceLoader';
export default class LexRequestDB extends NavigationMixin(LightningElement) {
    @api recordId;
    stageName;
    sapSendOK;
@@ -18,6 +21,10 @@
    salesAssistantName;
    salesAssistantID;
    profileId;
    systemProfileId;
    s1ProfileId;
    s4ProfileId;
    recordTypeId;
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
            console.log(111);
@@ -34,34 +41,42 @@
        }
    }
    connectedCallback(){
        Promise.all([
            loadStyle(this, lwcCSS)
           ]);
        init({
            recordId: this.recordId
        }).then(result=>{
            this.stageName = result.stageName;
            this.sapSendOK = result.sapSendOK;
            this.cntLostCancelReport = result.cntLostCancelReport;
            this.cntLostCancelDraft = result.cntLostCancelDraft;
            this.agency1 = result.agency1;
            this.agency1Id = result.agency1Id;
            this.name = result.name;
            this.bidPlannedDate = result.bidPlannedDate;
            this.salesAssistantName = result.salesAssistantName;
            this.salesAssistantID = result.salesAssistantID;
            this.profileId = result.profileId;
            console.log(result);
            this.stageName = result.stageName == undefined ? '' : result.stageName;
            this.sapSendOK = result.sapSendOK == undefined ? '' : result.sapSendOK;
            this.cntLostCancelReport = result.cntLostCancelReport == undefined ? '' : result.cntLostCancelReport;
            this.cntLostCancelDraft = result.cntLostCancelDraft == undefined ? '' : result.cntLostCancelDraft;
            this.agency1 = result.agency1 == undefined ? '' : result.agency1;
            this.agency1Id = result.agency1Id == undefined ? '' : result.agency1Id;
            this.name = result.name == undefined ? '' : result.name;
            this.bidPlannedDate = result.bidPlannedDate == undefined ? '' : result.bidPlannedDate.replace(/-/g, '/');;
            this.salesAssistantName = result.salesAssistantName == undefined ? '' : result.salesAssistantName;
            this.salesAssistantID = result.salesAssistantID == undefined ? '' : result.salesAssistantID;
            this.profileId = result.profileId == undefined ? '' : result.profileId;
            this.systemProfileId = result.systemProfileId == undefined ? '' : result.systemProfileId;
            this.s1ProfileId = result.s1ProfileId == undefined ? '' : result.s1ProfileId;
            this.s4ProfileId = result.s4ProfileId == undefined ? '' : result.s4ProfileId;
            this.recordTypeId = result.recordTypeId == undefined ? '' : result.recordTypeId;
            this.requestDB();
        })
    }
    requestDB(){
        var profileId = this.profileId;
        if (profileId != '00e10000000Y3o5' && profileId != '00e10000000xnp2' &&
        profileId != '00e10000000xnpH') {
        if (profileId != this.systemProfileId && profileId != this.s1ProfileId &&
        profileId != this.s4ProfileId) {
            this.showToast("您没有授权委托的权限。请联系系统管理员。","error");
        }
        // jsの場合、翻訳された値がでるので、要注意
        else if (this.stageName != '引合'
        && this.stageName != '询价'
        ) {
            this.showToast("状态1:" + this.stageName + "、不能做授权申请!","");
            this.showToast("状态1:" + this.stageName + "、不能做授权申请!","error");
        }
        else if (this.sapSendOK == '1') {
            this.showToast("已经上传SAP、不能做授权申请了!","error");
@@ -70,36 +85,65 @@
            this.showToast("询价已经有取消/失单报告了!","error");
        }
        else {
        location.href = '/a2C/e?retURL=%2F' +
            encodeURI(this.recordId) +
            '&RecordType=01210000000RNXi' +
            '&CF00N10000006QdJz=' +
            encodeURI(this.agency1) +
            '&CF00N10000006QdJz_lkid=' +
            encodeURI(this.agency1Id) +
            '&CF00N10000006QdKn=' +
            encodeURI(this.name) +
            '&CF00N10000006QdKn_lkid=' +
            encodeURI(this.recordId) +
            '&00N10000006QdK4=' +
            encodeURI(this.name) +
            '&00N10000006QdYB=' +
            encodeURI(this.bidPlannedDate) +
            '&CF00N10000006QdZT=' +
            encodeURI(this.salesAssistantName) +
            '&CF00N10000006QdZT_lkid=' +
            encodeURI(this.salesAssistantID) +
            '';
        };
        // location.href = '/a2C/e?retURL=%2F' +
        //     encodeURI(this.recordId) +
        //     '&RecordType=01210000000RNXi' +
        //     '&CF00N10000006QdJz=' +
        //     encodeURI(this.agency1) +
        //     '&CF00N10000006QdJz_lkid=' +
        //     encodeURI(this.agency1Id) +
        //     '&CF00N10000006QdKn=' +
        //     encodeURI(this.name) +
        //     '&CF00N10000006QdKn_lkid=' +
        //     encodeURI(this.recordId) +
        //     '&00N10000006QdK4=' +
        //     encodeURI(this.name) +
        //     '&00N10000006QdYB=' +
        //     encodeURI(this.bidPlannedDate) +
        //     '&CF00N10000006QdZT=' +
        //     encodeURI(this.salesAssistantName) +
        //     '&CF00N10000006QdZT_lkid=' +
        //     encodeURI(this.salesAssistantID) +
        //     '';
            const defaultValues = encodeDefaultFieldValues({
                Bid_distributor__c: this.agency1Id,
                Prospect_name__c: this.recordId,
                Product_discription__c: this.name,
                Tedner_date__c: this.bidPlannedDate,
                Request_target__c: this.salesAssistantID
            });
            this[NavigationMixin.Navigate]({
                type: 'standard__objectPage',
                attributes: {
                    objectApiName: 'Request_tedner_doc__c',
                    actionName: 'new'
                },
                state: {
                    nooverride: '1',
                    defaultFieldValues: defaultValues,
                    RecordTypeId: this.recordTypeId,
                }
            });
        }
        this.dispatchEvent(new CloseActionScreenEvent());
    }
    showToast(msg,type) {
      const event = new ShowToastEvent({
          title: '',
          message: msg,
          variant: type
      });
      this.dispatchEvent(event);
        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 }});