1
chenjingwu
2024-05-24 35910c355f74e736e2068a0ffb7f39ae9615d8e1
force-app/main/default/lwc/lexStockApply/lexStockApply.js
@@ -2,9 +2,17 @@
 * @Description: 
 * @version: 
 * @Author: chen jing wu
 * @Date: 2023-09-09 13:27:59
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-10-11 17:59:10
 */
/*
 * @Description:
 * @version:
 * @Author: chen jing wu
 * @Date: 2023-04-14 13:04:53
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-04-14 17:54:56
 * @LastEditTime: 2023-10-10 17:41:57
 */
import { api, wire,LightningElement } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
@@ -15,6 +23,10 @@
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { loadScript } from "lightning/platformResourceLoader";
import connection from '@salesforce/resourceUrl/connection20';
import submitProcess  from '@salesforce/apex/OpportunityLightingButtonController.submitProcess';
import LightningConfirm from 'lightning/confirm';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {loadStyle} from 'lightning/platformResourceLoader';
export default class LexStockApply extends LightningElement {
    @api recordId;
    stockApplyStatus;
@@ -35,7 +47,73 @@
          }
        }
    }
    async handleConfirmClick(msg) {
        const result = await LightningConfirm.open({
            message: msg,
            variant: 'headerless',
            label: 'this is the aria-label value',
        });
        console.log(result);
        if(result){
            try {
                updateForStockApplyButton({
                    recordId: this.recordId,
                    flag: true
                }).then(result=>{
                    if(result){
                        this.showToast(result,"error");
                        this.dispatchEvent(new CloseActionScreenEvent);
                        return;
                    }
                    // var request = new window.sforce.ProcessSubmitRequest();
                    // request.objectId = this.recordId;
                    // console.log("s");
                    // console.log(request);
                    // console.log("e");
                    // var processResults = window.sforce.Connection.prototype.process([request]);
                    // console.log(processResults);
                    submitProcess({
                        opportunityId: this.recordId
                    }).then(result=>{
                        if(result){
                            this.showToast(result,"error");
                            updateForStockApplyButton({
                                recordId: this.recordId,
                                flag: false
                            }).then(result=>{
                                if(result){
                                    this.showToast(result,"error");
                                    this.dispatchEvent(new CloseActionScreenEvent);
                                    return;
                                }
                                this.IsLoading = false;
                                this.updateRecordView(this.recordId);
                                this.dispatchEvent(new CloseActionScreenEvent);
                            })
                        }else{
                            this.showToast("成功","success");
                            this.updateRecordView(this.recordId);
                            this.dispatchEvent(new CloseActionScreenEvent);
                        }
                    })
                }).catch(error=>{
                    console.log(error);
                })
                } catch(e) {
                   console.log(e);
                }
        }else{
            this.dispatchEvent(new CloseActionScreenEvent);
            return;
        }
    }
    connectedCallback(){
        Promise.all([
            loadStyle(this, lwcCSS)
           ]);
        init({
            recordId: this.recordId
        }).then(result=>{
@@ -49,65 +127,36 @@
        var status = this.stockApplyStatus;
        if (status != '草案中' && status != '填写完毕' && status != '不批准' && status != '' && status != undefined) {
            this.showToast("备货申请状态不正确,不能提交备货申请。","error");
            this.dispatchEvent(new CloseActionScreenEvent);
            return;
        }
        var oppfile = this.lastOpportunityFileId;
        if (oppfile == undefined || oppfile == '') {
            this.showToast("请上传询价文件。","error");
            return;
        }
        if (!confirm("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?")) {
            this.dispatchEvent(new CloseActionScreenEvent);
            return;
        }
        updateForStockApplyButton({
            recordId: this.recordId,
            flag: true
        }).then(result=>{
            if(result){
                this.showToast(result,"error");
                return;
            }
            Promise.all([
               loadScript(this,connection)
            ]).then(() =>{
                var request = new window.sforce.ProcessSubmitRequest();
                request.objectId = this.recordId;
                console.log("s");
                console.log(request);
                console.log("e");
                var processResults = window.sforce.Connection.prototype.process([request]);
                console.log(processResults);
                if (processResults[0].errors != null) {
                    updateForStockApplyButton({
                        recordId: this.recordId,
                        flag: false
                    }).then(result=>{
                        if(result){
                            this.showToast(result,"error");
                            return;
                        }
                        this.IsLoading = false;
                        this.updateRecordView(this.recordId);
                        this.dispatchEvent(new CloseActionScreenEvent);
                    })
                }
            });
        }).catch(error=>{
            console.log(error);
        })
        this.handleConfirmClick("一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?");
    }
    showToast(msg,type) {
        const event = new ShowToastEvent({
            title: '',
            message: msg,
            variant: type
        });
        this.dispatchEvent(event);
        this.dispatchEvent(new CloseActionScreenEvent);
      }
        if(type == 'success'){
            const event = new ShowToastEvent({
                message: msg,
                variant: type,
            });
            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 }});
      }