binxie
2024-01-18 b1d36ea3e6653e59bd767aa192c688ee0d9d4c58
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
import { LightningElement, track, wire, api } from 'lwc';
import { CurrentPageReference } from 'lightning/navigation';
import { NavigationMixin } from 'lightning/navigation';
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { CloseActionScreenEvent } from 'lightning/actions';
 
import initRepair from '@salesforce/apex/lexRepairAgainAnController.initRepair';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {loadStyle} from 'lightning/platformResourceLoader';
 
export default class lexRepairReturnAnalysis extends NavigationMixin(LightningElement) {
 
    @api recordId;
 
    @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)
        ]);
         initRepair({
             recordId: this.recordId
         }).then(res=>{
             console.log('init====='+JSON.stringify(res));
             if(res){
                 if(res.repairAgainAnLength > 0){
                     this.showToast('该修理已存在再修理分析,不能新建','warning');
                     return;
                 }
 
                 if(res.sAPServiceRepairNo == '' || res.sAPServiceRepairNo==null){
                     this.showToast('该修理还没有上传SAP,不能够新建再修理分析','warning');
                     return;
                 }
                 this.showNewObject()
             }
         })
     }
 
    showNewObject(){
         console.log('showNewObject==');
         const defaultFieldValues = encodeDefaultFieldValues({
             Repair__c: this.recordId,
             Name: '*'
         });
 
         this[NavigationMixin.Navigate]({
             type: 'standard__objectPage',
              attributes: {
                objectApiName: 'RepairAgainAn__c',
                actionName: 'new',
                RecordType:''
            },
            state: {
                nooverride: '1',
                defaultFieldValues: defaultFieldValues
            }
         })
         this.dispatchEvent(new CloseActionScreenEvent());
     }
 
     showToast(msg,type) {
        if(type == 'success'){
            const event = new ShowToastEvent({
                message: msg,
                variant: type
            });
            this.updateRecordView(this.recordId);
            this.dispatchEvent(event);
            this.dispatchEvent(new CloseActionScreenEvent());
        }else{
            const event = new ShowToastEvent({
                message: msg,
                variant: type,
                mode: 'sticky'
            });
            this.dispatchEvent(event);
            this.dispatchEvent(new CloseActionScreenEvent());
        }
    }
 
}