KKbes
2023-07-26 1e5b643e4cb4871781c729311a8e2caa69ef39ed
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
import { LightningElement ,api, track, wire } from 'lwc';
 
import { CurrentPageReference } from "lightning/navigation";
import { getRecord } from 'lightning/uiRecordApi';
import USER_ID from '@salesforce/user/Id';
import USERPROFILE_ID from '@salesforce/schema/User.ProfileId';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import init from'@salesforce/apex/LexNoReportApplicationController.initGetOpdData';
import getProfileIdByName from'@salesforce/apex/LexNoReportApplicationController.getProfileIdByName';
import { CloseActionScreenEvent } from 'lightning/actions';
 
 const event = new ShowToastEvent({
            title: '检查状态',
            message:
                '只有状态为待提交报告的OPD计划才能进行无报告申请',
        });
export default class lexNoReportApplication extends LightningElement {
 
 
    @api recordId;
    IsLoading=true;
    OPDPlan__c;
    currentUserProfileId;
    error;
    NotSupportProfileId;
 
 
 
 
    @wire(getRecord, { recordId: USER_ID, fields: [USERPROFILE_ID]}) 
         userDetails({error, data}) {
            if (data) {
                this.currentUserProfileId = data.fields.ProfileId.value;
               
            } else if (error) {
                this.error = error ;
            }
    }
 
    @wire(CurrentPageReference)
     getStateParameters(currentPageReference) {
         if (currentPageReference) {
           const urlValue = currentPageReference.state.recordId;
           if (urlValue) {
             let str = `${urlValue}`;
             this.recordId = str;
 
           }
         }
     }
 
    
 
    async connectedCallback(){
        await init({
            recordId: this.recordId
        }).then(result=>{
            this.OPDPlan__c=result;
            this.NoReportApplication().then(result=>{
                this.IsLoading=false;
                this.dispatchEvent(new CloseActionScreenEvent());
            });
        }).catch(error=>{
            const eventError = new ShowToastEvent({
                title: '页面初始化错误',
                message:
                error.message,
            });
            this.dispatchEvent(eventError);
        });
    }
 
 
 
    async NoReportApplication() {
        //OPD计划状态
        var status = this.OPDPlan__c.Status__c;
        this.NotSupportProfileId= await getProfileIdByName({Name : "系统管理员"});
        //当前用户简档id
        var ProfileId = this.currentUserProfileId;
        //跳过系统管理员
        if(status !='待提交报告'&& ProfileId != this.NotSupportProfileId){
            this.dispatchEvent(event);    
            return;
        }
        else{
            window.open ('/apex/OPDNoReportApplication?id='+this.OPDPlan__c.Id+'&name='+this.OPDPlan__c.Name, '无报告申请',
            'height=400, width=700, top=200, left=400, toolbar=no, menubar=no, scrollbars=no, location=no, status=no');
        
        }
    }
 
}