zhangqian
2023-07-04 586d34ae6c5a292e04fcf8ca1df711b6ea5204bf
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
import { LightningElement,wire,track,api} from 'lwc';
import { CurrentPageReference, NavigationMixin} from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import  init  from '@salesforce/apex/LexConsumApply_FromQISCtl.init';
import  rentalApp  from '@salesforce/apex/LexConsumApply_FromQISCtl.rentalApp';
import  fieldDefineApp  from '@salesforce/apex/LexConsumApply_FromQISCtl.fieldDefineApp';
import UserInfo_Owner from '@salesforce/apex/LexConsumApply_FromQISCtl.UserInfo_Owner';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { encodeDefaultFieldValues } from 'lightning/pageReferenceUtils';
 
// 新建耗材备品申请(QIS)
export default class LexConsumApply_FromQIS extends NavigationMixin(LightningElement) {
 
    @api recordId;
    IsLoading = true;
 
    @wire(CurrentPageReference)
    getStateParameters(currentPageReference) {
            console.log(111);
            console.log(currentPageReference);
 
        if (currentPageReference) {
          const urlValue = currentPageReference.state.recordId;
          if (urlValue) {
            let str = `${urlValue}`;
            console.log("str");
            console.log(str);
            this.recordId = str;
          }
        }
    }
 
    connectedCallback(){
        console.log(this.recordId);
        rentalApp({
            recordId: this.recordId
        }).then(result => {
            console.log('rentalApp============',result);
            if(result.lenth > 0){
                const evt = new ShowToastEvent({
                    title : 'Error',
                    message : '同一个QIS记录不能重复申请备品',
                    variant : 'error'
                });
                this.dispatchEvent(evt);
                return;
            }
            init({
                recordId: this.recordId
            }).then(result => {
                console.log('init============',result);
                this.IsLoading = false;
                if (result != null) {
                    if(result.nextAction=='送回'){
                        this.showToast('QIS对应方法为“送回”,不能申请','error');
                        return;
                    }
                    if(result.qISStatus=='草案中'){
                        this.showToast('QIS状态为草案中,不能申请','error');
                        return;
                    }
                    if(result.qISStatus=='FSE填写完毕'){
                        this.showToast('QIS状态为FSE填写完毕,不能申请','error');
                        return;
                    }
                    if(result.qISStatus=='取消'){
                        this.showToast('QIS状态为取消,不能申请','error');
                        return;
                    }
                    // if('{!$User.isFormal_Stuff__c}'=='true'){
                    //     alert('试用期内,不能申请');
                    //     }else{
                    //     var url = "/a0t/e?retURL=%2F{!URLENCODE(QIS_Report__c.Id)}&CF00N10000003Mp1d={!URLENCODE(QIS_Report__c.Hospital__c)}&CF00N10000003Mp1d_lkid={!URLENCODE(QIS_Report__c.HospitalId__c)}&CF00N10000003O3V6={!URLENCODE(QIS_Report__c.Department_Class__c)}&CF00N10000003O3V6_lkid={!URLENCODE(QIS_Report__c.Department_ClassId__c)}&CF00N10000003Mp2R={!URLENCODE(QIS_Report__c.Hospital_Department__c)}&CF00N10000003Mp2R_lkid={!URLENCODE(QIS_Report__c.Hospital_DepartmentId__c)}&00N10000003Msk0={!URLENCODE('维修代用')}&00N10000003Msk5={!URLENCODE('索赔QIS')}&Name={!URLENCODE('*')}&CF00N10000005HzRr={!URLENCODE($User.LastName&' '&$User.FirstName)}&CF00N10000005HzRr_lkid={!URLENCODE($User.Id)}&CF00N10000005HzRz={!URLENCODE($User.LastName&' '&$User.FirstName)}&CF00N10000005HzRz_lkid={!URLENCODE($User.Id)}&00N10000003OJzc={!URLENCODE($User.LastName&' '&$User.FirstName)}&CF00N10000004o2Mg={!URLENCODE(QIS_Report__c.Name)}&CF00N10000004o2Mg_lkid={!URLENCODE(QIS_Report__c.Id)}&CF00N10000008r73m={!URLENCODE( QIS_Report__c.Repair__c)}&CF00N10000008r73m_lkid={!URLENCODE( QIS_Report__c.RepairId__c )}&";
                    //     window.top.location.href=url;
                    //     }
                    UserInfo_Owner({}).then(res=>{
                        if(res.isFormalStuff == 'true'){
                            this.showToast('试用期内,不能申请','error');
                            return;
                        }else{
                            // var query = "Select QualifiedApiName, EntityDefinition.KeyPrefix, DurableId From FieldDefinition WHERE EntityDefinition.QualifiedApiName = 'Consum_Apply__c'";
                            // var records = sforce.connection.query(query).getArray('records');
                            // var prefix = records[0].EntityDefinition.KeyPrefix.toString();
                            // var fieldmap = new Map();
 
                            // for (var i=0; i< records.length; i++) {
                            //     var record = records[i];
                            //     fieldmap.set(record.QualifiedApiName,record.DurableId.toString().split('.')[1]);
                            // }
 
                            fieldDefineApp({}).then(resp=>{
                                var fieldmap = new Map();
                                for (var i=0; i< resp.length; i++) {
                                    var record = resp[i];
                                    fieldmap.set(record.QualifiedApiName,record.DurableId.toString().split('.')[1]);
                                }
 
                            })
                            .catch(e=>{console.log(e)})
 
                            const defaultValues = encodeDefaultFieldValues({
                                Hospital__c: result.hospital,
                                Strategic_dept__c: result.departmentClass,
                                Account__c:result.hospitalDepartment,
                                demo_purpose2__c:'索赔QIS',
                                Name:'*',
                                Person_In_Charge__c:res.id,
                                applyUser__c:res.id,
                                QIS_number__c:result.qisReportId
                            });
                            console.log('init============',result);
                            console.log('init============',defaultValues);
                            this[NavigationMixin.Navigate]({
                                type: 'standard__objectPage',
                                attributes: {
                                    objectApiName: 'Consum_Apply__c',
                                    actionName: 'new'
                                },
                                state:{
                                    defaultFieldValues: defaultValues
                                }
                            });
                        }
                    })
                    this.dispatchEvent(new CloseActionScreenEvent());
                    // window.location.reload();
                }
            }).catch(error => {
                console.log("error");
                console.log(error);
            });
        }).catch(error => {
            console.log("error");
            console.log(error);
        });        
    }
 
    showToast(message, type) {
        const evt = new ShowToastEvent({
            title: '',
            message: message,
            variant: type
        });
        this.dispatchEvent(evt);
        this.dispatchEvent(new CloseActionScreenEvent());
    }
 
}