binxie
2024-01-16 1b08402678deb31bba4a347bfd388eba8360cbc1
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
import { LightningElement,wire,track,api} from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import updateForSubmitButton  from '@salesforce/apex/ReportController.updateForSubmitButton';
import { updateRecord } from 'lightning/uiRecordApi';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
 
import init from '@salesforce/apex/ISOpportunityDemand.initISOpportunityController';
import submit from '@salesforce/apex/ISOpportunityDemand.submit';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {loadStyle} from 'lightning/platformResourceLoader';
import LightningConfirm from 'lightning/confirm';
 
export default class LexSiSubmit extends 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(){
        Promise.all([
          loadStyle(this, lwcCSS)
        ]);
        this.IsLoading = false;
        // this.submit();
        LightningConfirm.open({
          message: "一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?",
          variant: 'headerless',
          label: '提示信息',
          // setting theme would have no effect
      }).then(okResul=>{
        if(!okResul) return this.dispatchEvent(new CloseActionScreenEvent());
        this.initViews();
      })
     }
 
     async initViews(){
      await init({recordId:this.recordId})
        .then(result=>{
            console.log("lexsubmit------>>>",result);
          if (result.checkTf !=true ) {
            this.showToast('请营业担当提交审批','error')
            return;
          }
          //状态为终止的不能提交审批
          if(result.sodStatus == '00 已终止'){
            this.showToast('需求表已终止不能提交审批','error')
            return;
          }
        })
        .catch(e=>{console.log(e)})
        await submit({recordId:this.recordId})
          .then( res=>{
            console.log("submit--res-->>>",res);
            if(res != "1"){
              var errMsg = '';
              if(res.faultstring !=undefined && res.faultstring.indexOf('INVALID_SESSION_ID') != -1) { 
                  errMsg = '当前网页已登出,请您重新登录后刷新该网页!'; 
              } else { 
                  errMsg = res;
              }
              console.log("submit--showToast-->>>",errMsg);
              this.showToast(errMsg,'error');
            }else{
              this.dispatchEvent(new CloseActionScreenEvent());
              // window.location.reload();
              //刷新当前页面
                  window.open("/"+this.recordId,'_self');
            }
            console.log("submit---->>>",res,errMsg);
          }).catch(err=>{
            console.log("submit--err-->>>",err);
          })
        
     }
 
 
     showToast(msg,type) {
      if(type == "success"){
        const event = new ShowToastEvent({
            // title: '',
            message: msg,
            variant: type
        });
        this.dispatchEvent(event);
      }else{
        const event = new ShowToastEvent({
            // title: '',
            message: msg,
            variant: type,
            mode:'sticky'
        });
        this.dispatchEvent(event);
      }
      this.dispatchEvent(new CloseActionScreenEvent());
    }
 
 
     updateRecordView(recordId) {
        updateRecord({fields: { Id: recordId }});
    }
 
     submit(){
        updateForSubmitButton({
          recordId: this.recordId
        }).then(result=>{
          this.updateRecordView(this.recordId);
          this.showToast("提交成功","success");
          this.dispatchEvent(new CloseActionScreenEvent());
        });
     }
}