liuyn
2024-03-22 e8be4d964c6b336ed39dba5900b1b9a8f3181b96
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
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) {
        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(res=>{
            if (res!=null) {
                this.Account=res;
                console.log(res);
                this.newOPDButtonAccount().then(res=>{
                    this.IsLoading=false;
                    this.dispatchEvent(new CloseActionScreenEvent());        
                });    
            }
            else{
                const eventInItError = new dispatchEvent({
                    message : '页面初始化错误,请联系管理员',
                    variant : 'error',
                    mode : 'sticky'
                });
                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());
        this[NavigationMixin.Navigate]({
            type: 'standard__objectPage',
            attributes: {
                objectApiName: 'OPDPlan__c',
                actionName: 'new'
            },
            state: {
                // nooverride: '1',
                defaultFieldValues: defaultValues,
            }
        });    
 
    }
 
}