buli
2023-07-11 0c4796706fc9473d069b620321a54b20a119906c
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
116
117
118
119
120
121
import { LightningElement,wire,track,api} from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import { NavigationMixin } from 'lightning/navigation';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import init  from '@salesforce/apex/QISReportController.initForlexSendQISButton';
import sendSPO  from '@salesforce/apex/QISReportController.updateQisForSendQIS';
import UserInfo_Owner from '@salesforce/apex/TaskFeedbackController.UserInfo_Owner';
import { updateRecord } from 'lightning/uiRecordApi';
 
export default class lexSendQIS extends LightningElement {
    @api recordId;
    str;
    err;
    IsLoading = true;
    qisReportId;
    qisRecordTypeId;
    qisRecordName;
    ProfileName;
    IsSendQIS;
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
        if (currentPageReference) {
            const urlValue = currentPageReference.state.recordId;
            if (urlValue) {
                let str = `${urlValue}`;
                this.recordId = str;
            }
        }
    }
 
    connectedCallback() {
        console.log(this.recordId);
        init({
            recordId: this.recordId
        }).then(result => {
            console.log(result);
                this.IsLoading = false;
                this.qisRecordTypeId = result.qisRecordTypeId;
                this.qisReportId = result.Id;
                this.qisRecordName = result.qisRecordName;
                this.ProfileName = result.profileName;
                this.IsSendQIS = result.isSendQIS;
                if (this.qisRecordName == '2.OCSM') {
                    const evt = new ShowToastEvent({
                            title : '不能提交到SPO',
                            message: '记录类型为'+this.qisRecordName,
                            variant: 'error'
                        });
                        this.dispatchEvent(evt);
                        this.dispatchEvent(new CloseActionScreenEvent());
                        return;
                }
 
                if (!(this.ProfileName == '系统管理员' || this.ProfileName == '2F4_技术推进部' || this.ProfileName == '2F1_服务窗口')) {
                    const evt = new ShowToastEvent({
                            title : '没有权限提交,请联系系统管理员',
                            message: '',
                            variant: 'error'
                        });
                        this.dispatchEvent(evt);
                        this.dispatchEvent(new CloseActionScreenEvent());
                        return;
                }
 
                if (this.IsSendQIS) {
                    const evt = new ShowToastEvent({
                            title : '已提交到SPO,请不要重复提交',
                            message: '',
                            variant: 'error'
                        });
                        this.dispatchEvent(evt);
                        this.dispatchEvent(new CloseActionScreenEvent());
                        return;
                }
                this.send2SPO();
        }).catch(error => {
            console.log(error.getMessage());
        }).finally(() => {
 
        });
    }
    updateRecordView(recordId) {
        updateRecord({fields: { Id: recordId }});
    }
 
    send2SPO(){
            sendSPO({
                 recordId: this.recordId
                }).then(result =>{
                    console.log('result'+result);
                     this.err = result;
                    if (result!='成功') {
                        const evt = new ShowToastEvent({
                            title : '更新失败',
                            message: this.err,
                            variant: 'error'
                        });
                        this.dispatchEvent(evt);
                        this.dispatchEvent(new CloseActionScreenEvent());
                        return;
                    }else{
                        const evt = new ShowToastEvent({
                            title : '提交成功!请在SPO系统中完成退换货申请',
                            message: '',
                            variant: 'success'
                        });
                        this.dispatchEvent(evt);   
                        this.dispatchEvent(new CloseActionScreenEvent());
                        this.updateRecordView(this.recordId);
                        window.location.replace("https://olympus.sharepoint.cn/sites/GSPWF/SitePages/HomePage.aspx");
                    }
                
                }).catch(error => {
            console.log('error='+error);
        }).finally(() => {
            
        });
    }
 
}