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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
import {
    LightningElement,
    wire,
    api
} from 'lwc';
import {
    CurrentPageReference
} from "lightning/navigation";
import {
    CloseActionScreenEvent
} from 'lightning/actions';
import init from '@salesforce/apex/otherButtonMaintenanceContractCtl.init';
import updateColunm from '@salesforce/apex/otherButtonMaintenanceContractCtl.updateColunm';
import up2sap from '@salesforce/apex/LexOtherButtonMc.up2sap';
import {
    ShowToastEvent
} from 'lightning/platformShowToastEvent';
import LightningConfirm from 'lightning/confirm';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {loadStyle} from 'lightning/platformResourceLoader';
 
 
export default class LexUploadToRecognitionModel extends LightningElement {
    @api recordId;
    str;
    IsLoading = true;
    Id;
    ContractQuotationOrNotC;
    oldIsRecognitionModelC;
    MaintenanceContractNoC;
    uploadToRMTimeC;
    uploadToSapTimeC;
    PaymentPlanSumFirstC;
    MaintanceContractPackC;
 
    @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)
        ]);
        console.log(this.recordId);
        init({
            recordId: this.recordId
        }).then(result => {
            console.log(result);
            if (result != null) {
                this.IsLoading = false;
                this.Id = result.Id;
                this.ContractQuotationOrNotC = result.ContractQuotationOrNotC;
                this.oldIsRecognitionModelC = result.oldIsRecognitionModelC;
                this.MaintenanceContractNoC = result.MaintenanceContractNoC;
                this.uploadToSapTimeC = result.uploadToSapTimeC;
                this.uploadToRMTimeC = result.uploadToRMTimeC;
                this.PaymentPlanSumFirstC = result.PaymentPlanSumFirstC;
                this.MaintanceContractPackC = result.MaintanceContractPackC;
 
                this.uploadToRecognitionModel();
            }
        }).catch(error => {
            console.log(error);
        })
    }
 
    // 上传认款合同
    uploadToRecognitionModel() {
       if(this.MaintanceContractPackC) {
            this.ShowToastEvent('当前服务合同属于打包合同,请在打包合同上上传认款合同。', "error");
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        }
        if (this.ContractQuotationOrNotC == '还没做报价') {
            this.ShowToastEvent("您还没有做合同报价,不能上传认款合同。", "error");
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        } else if (this.MaintenanceContractNoC == undefined) {
            this.ShowToastEvent('合同号码为空,不能上传认款合同。', "error");
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        } else if (this.uploadToSapTimeC != undefined) {
            this.ShowToastEvent('已经上传SAP,不能再次上传认款合同。', "error");
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        } else if (this.uploadToRMTimeC != undefined) {
            this.ShowToastEvent('已经上传认款合同,不能再次上传认款合同。', "error");
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        } else {
            if (!this.oldIsRecognitionModelC) {
                this.ShowToastEvent('经销商为空或经销商不是先款对象,不需要上传认款合同。', "error");
                this.dispatchEvent(new CloseActionScreenEvent());
                return;
            } else if (this.PaymentPlanSumFirstC == undefined) {
                this.ShowToastEvent('第一次计划付款金额不能为空。', "error");
                this.dispatchEvent(new CloseActionScreenEvent());
                return;
            } else {
                this.handleConfirmClick('请确认是否要上传认款合同。');
            }
        }
    }
 
    async ll() {
        await updateColunm({
            mcid: this.Id
        }).then(result => {
            if (result != '1') {
                this.ShowToastEvent('上传认款合同失败,因为 来年合同相关信息修改失败', "error");
                this.dispatchEvent(new CloseActionScreenEvent());
                window.reload();
            }
        })
        await up2sap({
            mcid: this.Id
        }).then(rtn => {
            if (rtn == '1') {
                this.ShowToastEvent("上传认款合同成功", "success");
                this.dispatchEvent(new CloseActionScreenEvent());
                window.reload();
            } else {
                this.ShowToastEvent(rtn, "error");
                this.dispatchEvent(new CloseActionScreenEvent());
                return;
            }
        })
    }
 
    // 弹窗
    ShowToastEvent(msg, type) {
        if(type == 'success'){
            const event = new ShowToastEvent({
                message: msg,
                variant: type
            });
            this.dispatchEvent(event);
        }else{
            const event = new ShowToastEvent({
                message: msg,
                variant: type,
                mode: 'sticky'
            });
            this.dispatchEvent(event);
        }
    }
 
    async handleConfirmClick(msg) {
        const result = await LightningConfirm.open({
            message: msg,
            variant: 'headerless',
            label: 'this is the aria-label value'
        });
 
        if (result) {
            this.ll();
        } else {
            this.dispatchEvent(new CloseActionScreenEvent());
        }
    }
}