binxie
2024-01-20 e0de9222da210f9c8eb1a9f5400f936a14923e11
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
import { LightningElement,wire,track,api} from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import { updateRecord } from 'lightning/uiRecordApi';
import LightningConfirm from 'lightning/confirm';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import init from '@salesforce/apex/LexLostSubmitApprovalController.LexLostSubmitApprovalController';
import submit from '@salesforce/apex/LexLostSubmitApprovalController.submit';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {loadStyle} from 'lightning/platformResourceLoader';
 
// 遗失报告 提交待审核
export default class LexLostSubmitApproval extends LightningElement {
    @api recordId;
    IsLoading = true;
    reportDetailList;
    @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(){
        Promise.all([
          loadStyle(this, lwcCSS)
        ]);
        this.IsLoading = false;
        // this.submit();
        init({recordId:this.recordId})
        .then(result=>{
            console.log("LexConsumablesLost------>>>",result)
            this.reportDetailList = result.reportDetailList;
            if (result.statusTf == "填写完毕" ||  result.statusTf == "申请中" || result.statusTf == "已批准") {
              this.showToast('请确认遗失报告状态,已经提交过的申请,不能重复提交','error');
            }else if (!this.handleConfirmClick01("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")){
                return;
            }    
        })
        .catch(e=>{console.log(e)})
     }
 
     async funOne(){
      if (this.reportDetailList.length > 0) {
        var qianpinDate = new Date(this.reportDetailList[0].Rental_Apply_Equipment_Set_Detail__r.Lost_item_check_day__c);
        for (var i = 1; i < this.reportDetailList.length; i++) {
          var d = new Date(this.reportDetailList[i].Rental_Apply_Equipment_Set_Detail__r.Lost_item_check_day__c);
          if(d < qianpinDate){
            qianpinDate = d;
          }
        }
        qianpinDate.setDate(qianpinDate.getDate() + 90);
        var d = '' + qianpinDate.getFullYear()+'/' + (qianpinDate.getMonth()+1) + '/' + qianpinDate.getDate();
        if (!this.handleConfirmClick02("请您的上级领导于" + d + "前完成遗失报告审批,否则备品自动断念,遗失报告自动取消。")){
          return;
        }    
        // this.showToastNoupdate('请您的上级领导于' + d + '前完成遗失报告审批,否则备品自动断念,遗失报告自动取消。','success');
      }else{
        this.submitApproval();
      }
      
 
     }
 
 
     async submitApproval(){
      await submit({
        recordId: this.recordId
      }).then(result=>{
        console.log("LexConsumablesLost--submitApproval--result-->>>",result)
        if(result != '1'){
            // this.showToast('此记录不满足任何有效批准过程的项目条件或初始提交。请与您的管理员联系以获取帮助。','error');
            this.showToast(result,'error');
              return;
        }
        // this.updateRecordView(this.recordId);
        this.showToast("提交成功","success");
        this.dispatchEvent(new CloseActionScreenEvent());
        // window.location.reload();
      }).catch(e=>{
        console.log("submitApproval----eee------->>>>",e);
      })
   }
 
    async handleConfirmClick01(msg) {
      const result = await LightningConfirm.open({
        message: msg,
        variant: 'headerless',
        label: 'this is the aria-label value'
      });
      if (!result){
        this.dispatchEvent(new CloseActionScreenEvent());
        return;
      }else{
        this.funOne();
      }
      
    }
 
    async handleConfirmClick02(msg) {
      const result = await LightningConfirm.open({
        message: msg,
        variant: 'headerless',
        label: 'this is the aria-label value'
      });
      if (!result){
        this.dispatchEvent(new CloseActionScreenEvent());
        return;
      }else{
        this.submitApproval();
      }
      
    }
 
    showToastNoupdate(msg,type) {
      const event = new ShowToastEvent({
          message: msg,
          variant: type
      });
      this.dispatchEvent(event);
      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());
        }
    }
 
    updateRecordView(recordId) {
        updateRecord({fields: { Id: recordId }});
    }
}