123
chenjingwu
2024-04-15 5d4f265aab8e9813eaa2a9d6eb6247955218f8ef
force-app/main/default/lwc/lexSubmitSolutionForApproval/lexSubmitSolutionForApproval.js
@@ -4,19 +4,25 @@
 * @Author: chen jing wu
 * @Date: 2023-06-20 14:37:24
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-06-20 17:50:52
 * @LastEditTime: 2023-10-11 16:54:13
 */
import { api, wire,LightningElement } from 'lwc';
import { api, wire,LightningElement, track } from 'lwc';
import { CurrentPageReference } from "lightning/navigation";
import { CloseActionScreenEvent } from 'lightning/actions';
import updateSubmitSolutionForApprovalButton  from '@salesforce/apex/lexSolutionProjectRequirementsController.updateSubmitSolutionForApprovalButton';
import init  from '@salesforce/apex/lexSolutionProjectRequirementsController.initSubmitSolutionForApprovalButton';
import queryForAttachments  from '@salesforce/apex/lexSolutionProjectRequirementsController.queryForAttachments';
import { updateRecord } from 'lightning/uiRecordApi';
import { updateRecord,getRecord } from 'lightning/uiRecordApi';
import STATUS_FIELD from "@salesforce/schema/SolutionProjectRequirements__c.Status__c";
import { refreshApex } from '@salesforce/apex';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import LightningConfirm from 'lightning/confirm';
import lwcCSS from '@salesforce/resourceUrl/lwcCSS';
import {loadStyle} from 'lightning/platformResourceLoader';
export default class LexSubmitSolutionForApproval extends LightningElement {
    @wire(getRecord, { recordId: '$recordId', fields: [STATUS_FIELD] })
    record;
    @api recordId;
    status;
    submitDateYouWant;
@@ -41,12 +47,22 @@
        }
    }
    showToast(msg,type) {
        const event = new ShowToastEvent({
            title: '',
            message: msg,
            variant: type
        });
        this.dispatchEvent(event);
        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());
        }
    }
@@ -55,16 +71,25 @@
    }
    connectedCallback(){
        Promise.all([
            loadStyle(this, lwcCSS)
        ]);
        init({
            recordId: this.recordId
        }).then(result=>{
            this.status = result.status;
            this.submitDateYouWant = result.submitDateYouWant;
            this.createdDate = result.createdDate;
            this.departmentClassId = result.departmentClassId;
            this.userId = result.userId;
            this.userName = result.userName;
            this.submitSolutionForApproval();
            console.log(result);
            if(result.res){
                this.status = result.res.status;
                this.submitDateYouWant = new Date(result.res.submitDateYouWant);
                // this.createdDate = result.res.createdDate;
                this.createdDate = new Date(result.res.createdDate);
                this.productLeader = result.res.productLeader;
                this.departmentClassId = result.res.departmentClassId;
                this.userId = result.res.userId;
                this.userName = result.res.userName;
                this.submitSolutionForApproval();
            }
        });
    }
@@ -74,7 +99,8 @@
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
        }
        if(this.submitDateYouWant < this.createdDate + 3){
        this.createdDate.setDate(this.createdDate.getDate() + 3);
        if(this.submitDateYouWant.getTime() < this.createdDate.getTime()){
            this.showToast('希望提交日期不得小于三天,如紧急需求请邮件联络Solution担当','error');
            this.dispatchEvent(new CloseActionScreenEvent());
            return;
@@ -82,16 +108,17 @@
        queryForAttachments({
            Id: this.departmentClassId
        }).then(result=>{
            console.log("start");
            var records = result;
            var header = this.productLeader;
            var usrname = this.userName;
            var rtn = '';
            if(header.contains(usrname.replaceAll(' ', ''))){
            console.log("start");
            if(header != undefined && header != null && header != '' && header.includes(usrname)){
                rtn = 'Y';
            }else{
                rtn = 'N';
            }
            if(records.length > 0){
                if(rtn != 'Y' && this.userId != records[0].Department_Class__r.OwnerId && this.userId != records[0].Department_Class__r.Owner.SalesManager__c){
                    this.showToast('只允其战略科室主担、产品担当及省经理提交solution项目需求!','error');
@@ -99,8 +126,6 @@
                    return;
                }
            }
            //111111111111111111111111111111111111111111
            this.handleConfirmClick('一旦提交此记录以待批准,根据您的设置您可能不再能够编辑此记录或将他从批准过程中调回。是否继续?');
            
        });
@@ -112,7 +137,7 @@
        const result = await LightningConfirm.open({
            message: msg,
            variant: 'headerless',
            label: 'this is the aria-label value',
            label: 'this is the aria-label value'
        });
        console.log(result);
        if(result){
@@ -123,7 +148,13 @@
                   if(results){
                        this.showToast(results,"error");
                        this.dispatchEvent(new CloseActionScreenEvent());
                   }
                   } else{
                        setTimeout(() => {
                            refreshApex(this.record);
                            this.dispatchEvent(new CloseActionScreenEvent());
                        }, 1000);
                   }
                } catch (error) {
                    if(err.faultstring !=undefined && err.faultstring.indexOf('INVALID_SESSION_ID') != -1) {
                        this.showToast('当前网页已登出,请您重新登录后刷新该网页!','error');
@@ -134,7 +165,6 @@
                    }
                    return;
                }
                this.updateRecordView(this.recordId);
            });
            // isopd.Id = "{!SolutionProjectRequirements__c.Id}";
            // isopd.Submint_TF__c = true;