19626
2023-04-23 6282fd8bfbf802f4e80792b8cdbaf994f02f0357
force-app/main/default/lwc/lexPCLLostReportPage/lexPCLLostReportPage.js
@@ -4,7 +4,7 @@
 * @Author: chen jing wu
 * @Date: 2023-04-20 15:04:03
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-04-20 18:01:37
 * @LastEditTime: 2023-04-23 16:57:18
 */
/*
 * @Description: 
@@ -14,97 +14,102 @@
 * @LastEditors: chen jing wu
 * @LastEditTime: 2023-04-20 17:11:01
 */
import { LightningElement } from 'lwc';
import { api, wire,LightningElement } from 'lwc';
import save from '@salesforce/apex/lexPCLLostReportLwcController.save';
import jquery from '@salesforce/resourceUrl/jquery183minjs';
import blockUIcss from '@salesforce/resourceUrl/blockUIcss';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { loadStyle, loadScript } from 'lightning/platformResourceLoader';
import setBrand from '@salesforce/apex/lexPCLLostReportLwcController.setBrand';
import PleaseWaitDialog from '@salesforce/resourceUrl/PleaseWaitDialog';
import initForApex from '@salesforce/apex/lexPCLLostReportLwcController.initForApex';
export default class LexPCLLostReportPage extends LightningElement {
    connectedCallback(){
        Promise.all([
           loadScript(this,jquery),
           loadStyle(this,blockUIcss)
        ]).then(() =>{
            save().then(result=>{
                if(result){
                    this.showToast(result,"success");
                    window.unblockUI();
                    this.clearBrandMannualName();
                }
            setBrand({
    @api oppId;
    @api lostReportId;
    @api pageStatus;
    @api lostType;
    @api submitFlag;
    brandCount;
    constructor() {
        super();
            }).then({
            });
            })
        }).catch(error=>{
            console.log(error);
        });
        // Set the default values for properties using ternary operators
        this.oppId = this.getParamValue('oppId') || '';
        this.lostReportId = this.getParamValue('Id') || '';
        this.pageStatus = this.getParamValue('pageStatus') || '';
        this.lostType = this.getParamValue('lostType') || '';
        this.submitFlag = this.getParamValue('submitFlag') || '';
    }
    showToast(msg,type) {
        const event = new ShowToastEvent({
            title: '',
            message: msg,
            variant: type
        });
        this.dispatchEvent(event);
        this.dispatchEvent(new CloseActionScreenEvent());
    connectedCallback(){
    }
    getParamValue(paramName) {
        // Use the URLSearchParams API to get the value of a query parameter
        const params = new URLSearchParams(window.location.search);
        return params.get(paramName);
    }
    saveJs() {
        blockme();
        this.blockMyself();
        save();
    }
    addBrandJs() {
        blockme();
        this.blockMyself();
        addBrand();
    }
    submitJS() {
        blockme();
        this.blockMyself();
        submit();
    }
    addProductJs(number) {
        blockme();
        this.blockMyself();
        addProduct(number);
    }
    RemoveJs(number) {
        blockme();
        this.blockMyself();
        Remove(number);
    }
    // add tcm 20211118 start
    searchJs(topNum, secondNum) {
        blockme();
        this.blockMyself();
        search(topNum, secondNum);
    }
    blockMyself(){
        Promise.all([
            loadScript(this,PleaseWaitDialog),
            loadStyle(this,blockUIcss),
            loadScript(this, jquery)
            //loadScript(this, jq + "/dist/jquery.min.js")
        ]).then(() =>{
            blockme();
        }).catch(error => {
            console.log("321");
            console.log('Failed to load the JQuery : ' +error);
        });
    }
    // add tcm 20211118 end
    setLostTotalAmount() {
        //console.log('setLostTotalAmount start:');
        var totalAmount = document.getElementById("allPage:allForm:allBlock:EditPage:LostReport:lstReport:LostTotalAmountOut:LostTotalAmount");
        var totalAmountHidden = document.getElementById("allPage:allForm:allBlock:LostTotalAmount");
        var totalAmount = this.template.querySelector('[data-id="LostTotalAmount"]');
        var totalAmountHidden = this.template.querySelector('[data-id="LostTotalAmountHidden"]');
        var brandAmountObjects = this.template.querySelectorAll('[data-id^="BrandContent:LostPriceOut"]');
        var brandCompanyObjects = this.template.querySelectorAll('[data-id^="BrandContent:Lost_By_CompanyOut"]');
        if (!!totalAmount && !!totalAmountHidden) {
            var tempLostAmount = 0.0;
            var i = 0;
            var brandCount = parseInt("{!brandCount}");
            var brandCount = parseInt(this.brandCount);
            //console.log(brandCount);
            for (var i = 0; i < brandCount; i++) {
                var brandAmountObject =
                    document.getElementById("allPage:allForm:allBlock:EditPage:LostBrands:" +
                        i + ":LostBrand:BrandContent:LostPriceOut:LostPrice");
                var brandCompanyObject =
                    document.getElementById("allPage:allForm:allBlock:EditPage:LostBrands:" +
                        i + ":LostBrand:BrandContent:Lost_By_CompanyOut:Lost_By_Company");
                var brandAmountObject = brandAmountObjects[i];
                var brandCompanyObject = brandCompanyObjects[i];
                if (!!brandAmountObject && !!brandCompanyObject) {
                    var brandCompanyText = brandCompanyObject.innerText;
                    var brandCompanyValue = brandCompanyObject.value;
                    if (!!brandCompanyText && brandCompanyText != '--无--' && !!brandCompanyValue) {
                        var brandAmount = localParseFloat(brandAmountObject.value);
                        //console.log('brandAmount:'+brandAmount);
                    if (!!brandCompanyText && brandCompanyText !== '--无--' && !!brandCompanyValue) {
                        var brandAmount = parseFloat(brandAmountObject.value);
                        tempLostAmount = tempLostAmount + brandAmount;
                    }
                }
@@ -115,21 +120,30 @@
        //console.log('setLostTotalAmount end');
    }
    setBrandName(brandNumber) {
        blockme();
        this.blockMyself();
        setbrand(brandNumber);
    }
    setBrandMannualName(brandNumber) {
        blockme();
        this.blockMyself();
        setbrandmannual(brandNumber);
    }
    // 失单品牌不等于其他时,失单品牌(手动)清空并且不允许填写,失单品牌等于其他时,失单对手型号不可用  thh 2022-01-13 start
    clearBrandMannualName(){
        if(document.getElementById('allPage:allForm:allBlock:EditPage:LostBrands:0:LostBrand:BrandContent:Lost_By_CompanyOut:Lost_By_Company').value == '其他'){
            j$(escapeVfId('allPage:allForm:allBlock:EditPage:LostBrands:0:LostBrand:productTable:0:LostProduct')).attr("disabled", true);
        } else{
            document.getElementById('allPage:allForm:allBlock:EditPage:LostBrands:0:LostBrand:BrandContent:Lost_By_Company_MannualOut:Lost_By_Company_Mannual').value = '';
            j$(escapeVfId('allPage:allForm:allBlock:EditPage:LostBrands:0:LostBrand:BrandContent:Lost_By_Company_MannualOut:Lost_By_Company_Mannual')).attr("disabled", true);
        if (this.template.querySelector('[id$="Lost_By_CompanyOut"]').value === '其他') {
            this.template.querySelector('[id$="LostProduct"]').setAttribute('disabled', true);
        } else {
            this.template.querySelector('[id$="Lost_By_Company_MannualOut:Lost_By_Company_Mannual"]').value = '';
            this.template.querySelector('[id$="Lost_By_Company_MannualOut:Lost_By_Company_Mannual"]').setAttribute('disabled', true);
        }
    }
    // 失单品牌不等于其他时,失单品牌(手动)清空并且不允许填写,失单品牌等于其他时,失单对手型号不可用  thh 2022-01-13 end
    cancel() {
        // Navigate to the specified opportunity page using the NavigationMixin
        this[NavigationMixin.Navigate]({
            type: 'standard__recordPage',
            attributes: {
                recordId: this.oppId,
                actionName: 'view'
            }
        });
    }
}