liuyn
2024-03-11 a87f1c3df03078814ee97ad0c8ac200a232419e9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/*
 * @Date: 2024-02-21 14:12:06
 * @Author: @zyh
 * @LastEditTime: 2024-02-28 15:37:49
 * @Descripttion: 
 */
import { LightningElement,api, track, wire } from 'lwc';
import {CurrentPageReference} from 'lightning/navigation';
import { CloseActionScreenEvent } from 'lightning/actions';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { NavigationMixin } from 'lightning/navigation';
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {loadStyle} from 'lightning/platformResourceLoader';
const event1 = new ShowToastEvent({
                    message:
                    "科室状态为无效,不允许新建OPD计划",
                    variant : "error" ,
                    mode : 'sticky'
});
import init  from '@salesforce/apex/LexOPDSupplementaryController.initNewOPDButton';
export default class lexNewOPDButtonAccount extends NavigationMixin(LightningElement) {
 
    @api recordId;
    IsLoading=true;
    Account;
 
 
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
        debugger;
        if (currentPageReference) {
          const urlValue = currentPageReference.state.recordId;
            console.log('currentPageReference',currentPageReference);
            console.log('currentPageReference',currentPageReference.state);
            console.log('currentPageReference.attributes',currentPageReference.attributes.recordId);
            console.log('urlValue',urlValue);
        if (urlValue) {
            let str = `${urlValue}`;
            this.recordId = str;
          }else{
            const urlValue = currentPageReference.attributes.recordId;
            if (urlValue) {
                let str = `${urlValue}`;
                this.recordId = str;
            }
          }
        }
        console.log(this.recordId);
    }
 
    connectedCallback(){
        debugger;    
        Promise.all([
            loadStyle(this, lwcCSS)
        ]);
        debugger;    
        init({recordId:this.recordId}).then(res=>{
            debugger;    
            if (res!=null) {
                debugger;    
                this.Account=res;
                console.log(res);
                this.newOPDButtonAccount().then(res=>{
                    this.IsLoading=false;
                    debugger;    
                    this.dispatchEvent(new CloseActionScreenEvent());
                    debugger;        
                });    
            }
            else{
                debugger;    
                const eventInItError = new dispatchEvent({
                    message : '页面初始化错误,请联系管理员',
                    variant : 'error',
                    mode : 'sticky'
                });
                debugger;
                this.dispatchEvent(eventInItError);
                return;
            }
 
        });
    }
 
 
    async newOPDButtonAccount(){
        var AccLab_active=this.Account.Is_Active__c;
        if(AccLab_active =="無効"){
        this.dispatchEvent(event1);
        return;
        }
        const defaultValues = encodeDefaultFieldValues({
               Account_Laboratory__c: this.recordId,
            OPDType__c: '科室',
            Name : '*'
        });
        this.IsLoading=false;
        this.dispatchEvent(new CloseActionScreenEvent());
        debugger;        
        this[NavigationMixin.Navigate]({
            type: 'standard__objectPage',
            attributes: {
                objectApiName: 'OPDPlan__c',
                actionName: 'new'
            },
            state: {
                // nooverride: '1',
                defaultFieldValues: defaultValues,
            }
        });    
 
    }
 
}