/* * @Description: * @version: * @Author: chen jing wu * @Date: 2023-04-20 15:04:03 * @LastEditors: chen jing wu * @LastEditTime: 2024-01-25 14:21:55 */ let columns2=[]; let columns22=[]; const productClassOptions = [ { label: '--无--', value: '' }, { label: '主机', value: '主机' }, { label: '镜子', value: '镜子' }, { label: '洗消机', value: '洗消机' }, { label: '小镜种', value: '小镜种' }, { label: '能量', value: '能量' }, { label: '光源', value: '光源' }, { label: '其他', value: '其他' } ]; const productCategoryOptions = [ { label: '--无--', value: '' } ]; const columns3 = [ {label : "失单品牌",fieldName : "LostBrandName__c"}, {label : "失单对手型号",fieldName : "productName"}, {label : "失单数量",fieldName : "Quantity__c",type : "number"}, {label : "失单对手型号(手动)",fieldName : "LostProductMannual__c"}, {label : "失单产品类别",fieldName : "ProductClass__c"}, {label : "失单产品区分",fieldName : "ProductCategory__c"} ]; const reasonOptions = [ { label: '--无--', value: '' }, { label: '特约与客户关系不好', value: '特约与客户关系不好' }, { label: '特约与二级合作问题', value: '特约与二级合作问题' }, { label: '特约覆盖不足', value: '特约覆盖不足' }, { label: '特约推广活动不力', value: '特约推广活动不力' }, { label: '二级选择问题', value: '二级选择问题' }, { label: '二级价格高', value: '二级价格高' }, { label: '医院指定二级', value: '医院指定二级' } ]; const RecordTypeOptions = [ { label: '--无--', value: '' }, { label: '失单', value: '失单' }, { label: '部分失单', value: '部分失单' } ]; import { api, wire,track,LightningElement } from 'lwc'; import { CurrentPageReference } from "lightning/navigation"; import dataEntry from '@salesforce/apex/lexPCLLostReportLwcController.dataEntry'; import init from '@salesforce/apex/lexPCLLostReportLwcController.init'; import multiSelectCombobox from 'c/multiSelectCombobox' import searchBrands from '@salesforce/apex/lexPCLLostReportLwcController.searchBrands'; import getNewLostBrand from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostBrand'; import getNewLostProduct from '@salesforce/apex/lexPCLLostReportLwcController.getNewLostProduct'; import getPickList from '@salesforce/apex/lexPCLLostReportLwcController.getPickList'; import { NavigationMixin } from 'lightning/navigation'; import submit from '@salesforce/apex/lexPCLLostReportLwcController.submit'; import searchBatchIfForProduct from '@salesforce/apex/lexPCLLostReportLwcController.searchBatchIfForProduct'; import {CloseActionScreenEvent} from 'lightning/actions'; import lexLookupLwc from 'c/lexLookupLwc'; import searchProduct from '@salesforce/apex/lexPCLLostReportLwcController.searchProduct'; import { updateRecord,getRecord } from 'lightning/uiRecordApi'; import { refreshApex } from '@salesforce/apex'; import submitForApproval from '@salesforce/apex/lexPCLLostReportLwcController.submitForApproval'; import reassignStep from '@salesforce/apex/lexPCLLostReportLwcController.reassignStep'; import getUserProfileId from '@salesforce/apex/lexPCLLostReportLwcController.getUserProfileId'; import PCLReportProfileId from '@salesforce/label/c.PCLReportProfileId'; import lwcCSS from '@salesforce/resourceUrl/lwcCSS'; import lexButtonCss from '@salesforce/resourceUrl/lexButtonCss'; import systemProfileId from '@salesforce/label/c.ProfileId_SystemAdmin'; import {loadStyle} from 'lightning/platformResourceLoader'; import { RefreshEvent } from "lightning/refresh"; import { getObjectInfo } from 'lightning/uiObjectInfoApi'; import LOSTPRODUCT from '@salesforce/schema/PCLLostProduct__c'; import LOSTBRAND from '@salesforce/schema/PCLLostBrand__c'; import { getPicklistValuesByRecordType } from 'lightning/uiObjectInfoApi'; import GuoChanZhengCe from '@salesforce/label/c.GuoChanZhengCe'; import QuDaoYinSu from '@salesforce/label/c.QuDaoYinSu'; import JinKouToGuoChan from '@salesforce/label/c.JinKouToGuoChan'; import { updateXmd } from 'lightning/analyticsWaveApi'; export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) { //***************************************************** */ //存储controlling picklist的所有的值 @track masterValues = []; //存储dependent picklist的所有的值 @track controllingValues = []; //选择的controlling picklist 的值 @track selectedMasterValue; //选择的dependent picklist的值 @track selectedControllingValue; @track error; //用来记录master picklist中的 value -> valid for的列表集合 master2ValidForValues; //用来记录controlling picklist的value以及valid for等信息的列表集合 controllingValuesWithValidFor = []; // 获取account 的schema info @wire(getObjectInfo, { objectApiName: LOSTPRODUCT }) objectInfo; //chenjingwu 20231225 start functionOptions; //chenjingwu 20231225 end // 获取 control picklist的值并且组装dependent picklist @wire(getPicklistValuesByRecordType, { objectApiName: LOSTPRODUCT, recordTypeId: '$objectInfo.data.defaultRecordTypeId'}) countryPicklistValues({error, data}) { console.log('start'); if(data) { this.error = null; let masterOptions = []; data.picklistFieldValues.ProductClass__c.values.forEach(key => { masterOptions.push({ label : key.label, value: key.value }) }); //chenjingwu 20231225 start let masterOptions1 = []; data.picklistFieldValues.Function__c.values.forEach(key => { masterOptions1.push({ label : key.label, value: key.value }) }); this.functionOptions = masterOptions1; //chenjingwu 20231225 end this.masterValues = masterOptions; console.log(this.masterValues); let controllingOptions = []; this.master2ValidForValues = data.picklistFieldValues.ProductCategory__c.controllerValues; //用来记录controlling picklist的value以及valid for等信息的列表集合 Picklist values this.controllingValuesWithValidFor = data.picklistFieldValues.ProductCategory__c.values; this.controllingValuesWithValidFor.forEach(key => { controllingOptions.push({ label : key.label, value: key.value }) }); this.controllingValues = controllingOptions; console.log(this.controllingValues); console.log('end'); } else if(error) { this.error = JSON.stringify(error); } } handleMasterPicklistChange(event) { //set selected master Value this.selectedMasterValue = event.target.value; this.selectedControllingValue = ''; let controllingList = []; if(this.selectedMasterValue) { //通过valid for进行mapping,匹配的放进controlling list中 this.controllingValuesWithValidFor.forEach(conValues => { if(conValues.validFor.some(item => item === this.master2ValidForValues[this.selectedMasterValue])) { controllingList.push({ label: conValues.label, value: conValues.value }) } }) this.controllingValues = controllingList; } } //***************************************************** */ @track visible = false; @wire(CurrentPageReference) pageRef; @api oppId; @track columns2s=columns22; @track status = { pageStatus: 'Create' } @track newActorId = null; newReport; action; isLookup; modalsubmitLabel; @track isPop; @track message; @track isSuccess; @track LostReport = { LostBrands: [ ], lostReport: {} } editStatus; //chenjingwu 20231108 Start @track isPartOfLost = false; justOne = 0; //chenjingwu 20231108 End //chenjingwu 20240116 Start @track isManger = false; //chenjingwu 20240116 End reasonOptions = reasonOptions; @track brandOptions = []; @track isInit = false; lostType = '失单'; submitFlag = ''; flag; tableflag = 0; @api reportId; @api pageStatus; newProduct; productOptionsList; productClassOptions = productClassOptions; productCategoryOptions = productCategoryOptions; columns3 = columns3; //失单类型 RecordTypeOptions = RecordTypeOptions; isSubmit = false; deleteBrandIdList = []; deleteProductIdList = []; IsLoading; newApprovalHistorys; userProfileId; userId; allowUserId; submitUserId; specProFlg; loadingFlg; @track isSubmitUser = false; @track isAllowUser = false; @wire(getPicklistValuesByRecordType, { objectApiName: LOSTBRAND, recordTypeId: '$objectInfo.data.defaultRecordTypeId'}) getBrandPicklistValues({error, data}) { console.log('start'); if(data) { this.error = null; let masterOptions = []; let masterOptions1 = []; data.picklistFieldValues.Lost_reason_main__c.values.forEach(key => { masterOptions.push({ label : key.label, value: key.value }) }); for(var i = 0;i{ // if(brand.lostBrand.Name){ // searchBatchIfForProduct({ // productName: brand.lostBrand.Name // }).then(result=>{ // if(result == '进口'){ // brand.reasonOptions = columns22; // }else{ // brand.reasonOptions = columns2; // } // }); // }else{ // brand.reasonOptions = columns2; // } // console.log('brand'); // console.log(columns2); // console.log(brand); // }); // } // this.columns2s = columns22; } } handleCustomButtonClick(event) { try { var index1 = event.target.title; var index2 = event.target.name; var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + index1 + '"]'); var elements2 = this.template.querySelectorAll('.ProductCategory[data-id="' + index1 + '"]'); this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c = null; //chenjingwu 20231114 Start this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.isSpec__c = false; this.LostReport.LostBrands[index1].LostProducts[index2].productName = ''; //chenjingwu 20231114 End elements1[index2].readOnly = false; elements2[index2].readOnly = false; this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductClass__c=null; this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductCategory__c=null; //chenjingwu 20240124 start this.LostReport.LostBrands[index1].LostProducts[index2].gongNengFlag = false; this.LostReport.LostBrands[index1].brandGongNengFlag = false; this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Function__c = null; this.LostReport.LostBrands[index1].LostProducts.forEach(pro=>{ if(pro.gongNengFlag){ this.LostReport.LostBrands[index1].brandGongNengFlag = true; } }); //chenjingwu 20240124 end this.LostReport.LostBrands[index1].LostProducts[index2].bool=false; elements2[index2].readOnly = true; } catch (error) { console.log('error'); } } getQueryVariable(variable,location) { //id字符串 debugger var query = window.location.search.substring(1); if(!query){ query = location; } var vars = query.split("&"); for (var i = 0; i < vars.length; i++) { var pair = vars[i].split("="); if (pair[0] == variable) { return pair[1]; } } return ''; } connectedCallback(){ Promise.all([ loadStyle(this, lwcCSS), loadStyle(this, lexButtonCss) ]); // this.columns2s = columns2; this.pageStatus = this.getQueryVariable('pageStatus',this.location); this.oppId = this.getQueryVariable('oppId',this.location); this.reportId = this.getQueryVariable('reportId',this.location); this.lostType = decodeURI(this.getQueryVariable('lostType',this.location)); this.status.pageStatus = this.pageStatus; init({ oppId1: this.oppId, lostReportId1: this.reportId, pageStatus1: this.status.pageStatus, lostType1: this.lostType, submitFlag1: this.submitFlag }).then(result=>{ if(result.message != null){ if(result.message == '提交成功!'){ this.showToast(result.message,"success"); this.LostReport = result.LostReport; }else{ this.showToast(result.message,"error"); setTimeout(() => { // window.location = '/lightning/r/Opportunity/' + this.oppId + '/view'; // this.remoteUrl(); window.location = '/lightning/r/Opportunity/' + this.oppId + '/view'; }, 2000); } }else{ this.allowUserId = result.allowUserId; this.userId = result.userId; this.submitUserId = result.submitUserId; this.userProfileId = result.userProfileId; console.log('allowUserId' + this.allowUserId); console.log('userId' + this.userId); console.log('submitUserId' + this.submitUserId); console.log('userProfileId' + this.userProfileId); console.log('systemProfileId' + systemProfileId); console.log(result); if(this.userId == this.submitUserId || this.userProfileId == systemProfileId){ this.isSubmitUser = true; } if(this.userId == this.allowUserId || this.userProfileId == systemProfileId){ this.isAllowUser = true; } if(result.LostReport.lostReport.Report_Status__c == '申请中'){ this.editStatus = '申请中'; console.log('shenqingzhong'); }else if(result.LostReport.lostReport.Report_Status__c == '批准'){ this.editStatus = '批准'; console.log('pizhun'); } var report = result.LostReport; this.LostReport = report; //chenjingwu 20231108 Start if(this.LostReport.isPartOfLost){ this.isPartOfLost = this.LostReport.isPartOfLost; } //chenjingwu 20231108 End //chenjingwu 20240116 Start if(this.LostReport.isManger){ this.isManger = this.LostReport.isManger; } //chenjingwu 20240116 End // this.LostReport.LostBrands.forEach(brand=>{ // if(brand.lostBrand.Lost_Reason_Sub__c == '行政决策' || brand.lostBrand.Lost_reason_main__c == '行政决策'){ // this.template.querySelectorAll(); // } // }); // for(var i=0;i < this.LostReport.LostBrands.length;i++){ // if(this.LostReport.LostBrands[i].lostBrand.Lost_Reason_Sub__c == '行政决策' || this.LostReport.LostBrands[i].lostBrand.Lost_reason_main__c == '行政决策'){ // } // } if(!this.LostReport.lostReport.LostTotalAmount__c){ this.LostReport.lostReport.LostTotalAmount__c = 0.0; } if(!this.LostReport.lostReport.InclusionUltrasound__c){ this.LostReport.lostReport.InclusionUltrasound__c = '0'; } this.newProduct = JSON.parse(JSON.stringify(this.LostReport.LostBrands[0].LostProducts[0])); if(this.newProduct.LostProductss.Id){ delete this.newProduct.LostProductss.Id; } this.newProduct.LostProductss.LostBrandName__c = ''; this.newProduct.LostProductss.LostProduct__r = ''; this.newProduct.LostProductss.Quantity__c = ''; this.newProduct.LostProductss.LostProductMannual__c = ''; this.newProduct.LostProductss.ProductClass__c = ''; this.newProduct.LostProductss.ProductCategory__c = ''; // this.newProduct.LostProductss.Id = ''; this.newApprovalHistorys = JSON.parse(JSON.stringify(this.LostReport.approvalHistorys)); console.log(this.LostReport); console.log(this.LostReport.approvalHistorys.length); if(this.LostReport.approvalHistorys.length > 0){ for(var i=0;i < this.LostReport.approvalHistorys.length;i++){ console.log('123'); var date = new Date(this.LostReport.approvalHistorys[i].CreatedDate); this.LostReport.approvalHistorys[i].CreatedDate = date.toLocaleString(); if(this.LostReport.approvalHistorys[i].StepStatus == 'Approved'){ this.LostReport.approvalHistorys[i].StepStatus = '已批准'; this.LostReport.approvalHistorys[i].isApproved = true; }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Fault'){ }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Pending'){ this.LostReport.approvalHistorys[i].StepStatus = '待处理'; this.LostReport.approvalHistorys[i].isPending = true; }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Held'){ }else if(this.LostReport.approvalHistorys[i].StepStatus == 'NoResponse'){ }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Reassigned'){ this.LostReport.approvalHistorys[i].StepStatus = '已重新分配'; }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Rejected'){ this.LostReport.approvalHistorys[i].StepStatus = '已拒绝'; this.LostReport.approvalHistorys[i].isRejected = true; }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Removed'){ this.LostReport.approvalHistorys[i].StepStatus = '已撤回'; this.LostReport.approvalHistorys[i].isRemoved = true; }else if(this.LostReport.approvalHistorys[i].StepStatus == 'Started'){ this.LostReport.approvalHistorys[i].StepStatus = '已提交'; } // this.LostReport.approvalHistorys.push(JSON.parse(JSON.stringify(result.approvalHistorys[i]))); console.log('321'); } this.submitFlag = true; if(this.LostReport.lostReport.Report_Status__c == '批准'){ this.submitFlag = false; } } console.log(PCLReportProfileId.includes(this.userProfileId)); console.log(PCLReportProfileId); console.log(this.userProfileId); getUserProfileId().then(result1=>{ this.userProfileId = result1; if(this.pageStatus == 'Edit' && !(this.LostReport.lostReport.Report_Status__c == '草案' || this.userProfileId == '00e10000000Y3o5AAC' || (this.LostReport.lostReport.Report_Status__c == '批准' && PCLReportProfileId.includes(this.userProfileId)))){ this.status.pageStatus = 'View'; } this.isInit = true; }); // if(this.LostReport.LostBrands){ // this.LostReport.LostBrands.forEach(brand=>{ // if(brand.lostBrand.Name){ // searchBatchIfForProduct({ // productName: brand.lostBrand.Name // }).then(result=>{ // if(result == '进口'){ // brand.reasonOptions = columns22; // }else{ // brand.reasonOptions = columns2; // } // }); // }else{ // brand.reasonOptions = columns2; // } // console.log('brand'); // console.log(columns2); // console.log(brand); // }); // } } }).catch(error=>{ console.log("error"); console.log(error); }); searchBrands().then(result=>{ this.brandOptions = JSON.parse(result); const multiComboboxs = this.template.querySelectorAll('c-multi-select-combobox'); multiComboboxs.forEach(multiCombobox=>{ multiCombobox.refreshOptions(this.brandOptions); }); }).catch(error=>{ console.log("error"); console.log(error); }); // getPickList({ // objectName: 'PCLLostProduct__c', // fieldName: 'ProductCategory__c' // }).then(result=>{ // this.productOptionsList = JSON.parse(result); // this.LostReport.LostBrands.forEach(brand=>{ // brand.LostProducts.forEach(product=>{ // product.productOptions = this.productOptionsList['全部']; // }); // }); // this.LostReport = JSON.parse(JSON.stringify(this.LostReport)); // console.log(this.LostReport.approvalHistorys.length + 'size'); // }).catch(error=>{ // console.log('error'); // console.log(error); // }); } isqita(){ } justOne1 = 0; renderedCallback(){ // var ele1 = this.template.querySelectorAll('.ProductClass'); // var ele2 = this.template.querySelectorAll('.ProductCategory'); console.log(this.status.pageStatus); if(this.status.pageStatus != 'View'){ var q = 0; var w = 0; this.LostReport.LostBrands.forEach(brand=>{ brand.LostProducts.forEach(product=>{ console.log('==================================='); console.log(product.LostProductss.LostProduct__c); console.log(product.LostProductss.ProductCategory__c); console.log(product.LostProductss.ProductClass__c); console.log('==================================='); //chenjingwu 20231114 Start if(product.LostProductss.LostProduct__c != undefined && product.LostProductss.LostProduct__c != null&&product.LostProductss.LostProduct__c != '' && product.LostProductss.ProductCategory__c != ''&& product.LostProductss.ProductCategory__c != undefined&& product.LostProductss.ProductCategory__c != null && product.LostProductss.ProductClass__c != ''&& product.LostProductss.ProductClass__c != undefined&& product.LostProductss.ProductClass__c != null && (product.LostProductss.isSpec__c == '' || product.LostProductss.isSpec__c == undefined || product.LostProductss.isSpec__c == null)){ product.LostProductss.isSpec__c = false; } if(product.LostProductss.LostProduct__c != undefined && product.LostProductss.LostProduct__c != null&&product.LostProductss.LostProduct__c != '' && product.LostProductss.ProductCategory__c != ''&& product.LostProductss.ProductCategory__c != undefined&& product.LostProductss.ProductCategory__c != null && product.LostProductss.ProductClass__c != ''&& product.LostProductss.ProductClass__c != undefined&& product.LostProductss.ProductClass__c != null && (product.LostProductss.isSpec__c == false || product.LostProductss.isSpec__c == '' || product.LostProductss.isSpec__c == undefined || product.LostProductss.isSpec__c == null)){ //chenjingwu 20231114 End var ele1 = this.template.querySelectorAll('.ProductClass[data-id="' + q + '"]'); var ele2 = this.template.querySelectorAll('.ProductCategory[data-id="' + q + '"]'); if(ele1[w]){ ele1[w].readOnly = true; ele2[w].readOnly = true; } }else if(product.LostProductss.ProductClass__c != ''&& product.LostProductss.ProductClass__c != undefined&& product.LostProductss.ProductClass__c != null){ var ele1 = this.template.querySelectorAll('.ProductClass[data-id="' + q + '"]'); var ele2 = this.template.querySelectorAll('.ProductCategory[data-id="' + q + '"]'); if(ele1[w]){ ele1[w].readOnly = false; ele2[w].readOnly = false; } }else if((product.LostProductss.ProductClass__c == ''|| product.LostProductss.ProductClass__c == undefined&& product.LostProductss.ProductClass__c == null) && (product.LostProductss.ProductCategory__c == ''|| product.LostProductss.ProductCategory__c == undefined|| product.LostProductss.ProductClass__c == null)){ var ele1 = this.template.querySelectorAll('.ProductClass[data-id="' + q + '"]'); var ele2 = this.template.querySelectorAll('.ProductCategory[data-id="' + q + '"]'); if(ele1[w]){ ele1[w].readOnly = false; ele2[w].readOnly = true; } } w++; }); w = 0; q++; }); } const sections = this.template.querySelectorAll('lightning-accordion-section'); sections.forEach(section=>{ section.active = true; }); var qwe = this.template.querySelectorAll('c-lex-lookup-lwc'); var produtList = []; this.LostReport.LostBrands.forEach(brand=>{ brand.LostProducts.forEach(pro=>{ if(pro.LostProductss.LostProduct__c != undefined && pro.LostProductss.LostProduct__c != null && pro.LostProductss.LostProduct__c != ''){ produtList.push(pro.productName); }else{ produtList.push(''); } }); }); var e = 0; qwe.forEach(section=>{ console.log('qiunile'); // section.innerText = '123123'; if((section.initValue == '' || section.initValue == null || section.initValue == undefined) && (produtList[e] != null || produtList[e] != undefined || produtList[e] != '')){ section.initValue = produtList[e]; } section.refresh(); e++; }); var elements = this.template.querySelectorAll('lightning-combobox'); elements.forEach(element=>{ if(element.value == GuoChanZhengCe){ element.options = columns2; } }); var elements1 = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]'); var i = 0; console.log('elements1=> ' + elements1[i]); this.LostReport.LostBrands.forEach(brand=>{ // if(this.justOne == 0){ // brand.LostProducts.forEach(product=>{ // product.productOptions = JSON.parse(JSON.stringify(this.controllingValues)); // }); // } if(brand.lostBrand.Lost_By_Company__c == '其他' && elements1.length > 0 ){ console.log('val=> ' + elements1[i].value); if(elements1[i].value){ elements1[i].disabled = false; elements1[i].required = true; } } }); if(this.LostReport.LostBrands.length > 0 && this.justOne == 0){ this.LostReport.LostBrands.forEach(brand=>{ if(brand.lostBrand.Name){ searchBatchIfForProduct({ productName: brand.lostBrand.Name }).then(result=>{ console.log('ooooooooooooo'); console.log(result); console.log('ooooooooooooo'); if(result == '进口'){ brand.isGuoChan = false; brand.reasonOptions = columns22; }else{ brand.isGuoChan = true; brand.reasonOptions = columns2; } }); }else{ brand.reasonOptions = columns2; } console.log('brand'); console.log(columns2); console.log(brand); console.log('ceshi'); this.justOne = 1; }); } if(this.justOne1 == 0 && this.LostReport.LostBrands.length > 0){ this.LostReport.LostBrands.forEach(brand=>{ brand.LostProducts.forEach(product=>{ // chenjingwu 20240125 start var selectedMasterValue1 = product.LostProductss.ProductClass__c; let controllingList = []; if(selectedMasterValue1) { //通过valid for进行mapping,匹配的放进controlling list中 this.controllingValuesWithValidFor.forEach(conValues => { if(conValues.validFor.some(item => item === this.master2ValidForValues[selectedMasterValue1])) { controllingList.push({ label: conValues.label, value: conValues.value }) } }) } product.productOptions = JSON.parse(JSON.stringify(controllingList)); // chenjingwu 20240125 end }); }); this.justOne1 = 1; } // if(this.pageStatus = 'Edit' && this.loadingFlg == false){ // var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + 0 + '"]'); // var elements2 = this.template.querySelectorAll('.ProductCategory[data-id="' + 0 + '"]'); // console.log('lnm'); // console.log(elements1); // console.log(elements2); // console.log('lnm'); // console.log('in=>'); // this.loadingFlg = true; // var j = 0; // var i = 0; // this.LostReport.LostBrands.forEach(brand=>{ // brand.LostProducts.forEach(product=>{ // if(product.LostProductss.LostProduct__r !=undefined){ // if(product.LostProductss.LostProduct__r.ProductClass__c ==undefined && product.LostProductss.LostProduct__r.ProductCategory__c ==undefined){ // console.log('cnm'); // console.log(elements1[i]); // console.log(elements2[i]); // console.log('cnm'); // elements1[i].readOnly = false; // elements2[i].readOnly = false; // } // } // i++; // }); // j++; // }); // }else if(this.pageStatus = 'View'){ // this.loadingFlg = false; // } // if((value == '' || value == null) && this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c == '其他'){ // var elements = // elements[index].disabled = false; // } // this.LostReport = JSON.parse(JSON.stringify(this.LostReport)); } brandStyle = []; brandTitle = ['失单品牌1','失单品牌2','失单品牌3','失单品牌4','失单品牌5','失单品牌6']; location; @wire(CurrentPageReference) getStateParameters(currentPageReference) { console.log(111); console.log(currentPageReference); if (currentPageReference) { const urlValue = currentPageReference.state.fragment; if (urlValue) { this.location = urlValue; } } } closeAction(){ this.visible = false; } get haveApprovalHistorys(){ console.log(this.LostReport.approvalHistorys.length + 'size'); if(this.LostReport.approvalHistorys.length > 1){ return true; }else{ return false; } } get isCanSubmit(){ if(this.LostReport.lostReport.Report_Status__c == '草案' || this.LostReport.lostReport.Report_Status__c == '批准'){ return true; }else{ return false; } } get isCanEdit(){ if(this.LostReport.lostReport.Report_Status__c == '草案' || this.userProfileId == '00e10000000Y3o5AAC' || (this.LostReport.lostReport.Report_Status__c == '批准' && PCLReportProfileId.includes(this.userProfileId))){ return true; }else{ return false; } } showToast(msg,type) { try { if(type == 'success'){ this.isSuccess = true; }else{ this.isSuccess = false; } this.message = msg; this.visible = true; let delay = 5000; console.log(this.message); console.log('1'); // setTimeout(() => { // this.visible = false; // }, delay ); } catch (error) { console.log(error); } // const event = new ShowToastEvent({ // title: '', // message: msg, // variant: type // }); // this.dispatchEvent(event); } updateRecordView(recordId) { updateRecord({fields: { Id: recordId }}); } // get isInit(){ // if(this.LostReport.LostBrands[0].LostProducts[0].productOptions == undefined){ // return false; // }else{ // return true; // } // } get getData(){ var newLostReport = JSON.parse(JSON.stringify(this.LostReport)); var products = newLostReport.LostBrands[this.tableflag].LostProducts; var productList = []; products.forEach(product=>{ var newProduct = product; newProduct.LostProductss.productName = newProduct.productName; productList.push(newProduct.LostProductss); }); this.tableflag++; return productList; } get isBrandCount2(){ var flag = true; if(this.LostReport.LostBrands.length > 1){ flag = false; } return flag; } get isView(){ if(this.status.pageStatus == 'View'){ return true; } return false; } get isCreateOrEdit(){ if(this.status.pageStatus == 'Create' || this.status.pageStatus == 'Edit'){ return true; } return false; } get isCaoAn(){ if(this.LostReport.lostReport.Report_Status__c == '草案' || this.LostReport.lostReport.Report_Status__c == '批准'){ return true; }else{ return false; } } get isCaoAn1(){ if(this.LostReport.lostReport.Report_Status__c == '草案'){ return true; }else{ return false; } } get isEdit(){ if(this.status.pageStatus == 'Edit'){ return true; } return false; } get isSubmit(){ if(this.submitFlag){ return true; } return false; } addBrandJs() { //chenjingwu 20231108 Start this.justOne = 0; //chenjingwu 20231108 End getNewLostBrand({ lineNo: this.LostReport.LostBrands.length }).then(result=>{ this.LostReport.LostBrands.push(result); // 获取 lightning-accordion 的 DOM 元素 setTimeout(() => { const accordion = this.template.querySelector('.example-accordion'); console.log(accordion); console.log('1'); accordion.activeSectionName = this.brandTitle; }, 200); }); } addRow(event){ var index = event.target.name; getNewLostProduct({ lineNo2: this.LostReport.LostBrands[index].LostProducts.length }).then(result=>{ if(this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c == '其他' && (this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c != null && this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c != undefined && this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c != '')){ result.LostProductss.LostBrandName__c = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c; }else{ result.LostProductss.LostBrandName__c = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c; } var pro = JSON.parse(JSON.stringify(this.LostReport.LostBrands[index].LostProducts)); pro.push(result); this.LostReport.LostBrands[index].LostProducts = pro; console.log('***'); console.log(this.LostReport); }); } submitJs() { console.log('1'); this.IsLoading = true; submit({ reportStatus: this.LostReport.lostReport.Report_Status__c, modifyAfterApproval: this.LostReport.lostReport.ModifyAfterApproval__c, reportId: this.LostReport.lostReport.Id }).then(result=>{ if(result.error){ this.showToast(result.error,"error"); }else{ console.log(result); console.log(this.LostReport); for(var i=0;i < result.approvalHistorys.length;i++){ console.log('123'); var date = new Date(result.approvalHistorys[i].CreatedDate); result.approvalHistorys[i].CreatedDate = date.toLocaleString(); if(result.approvalHistorys[i].StepStatus == 'Approved'){ result.approvalHistorys[i].StepStatus = '已批准'; result.approvalHistorys[i].isApproved = true; }else if(result.approvalHistorys[i].StepStatus == 'Fault'){ }else if(result.approvalHistorys[i].StepStatus == 'Pending'){ result.approvalHistorys[i].StepStatus = '待处理'; result.approvalHistorys[i].isPending = true; }else if(result.approvalHistorys[i].StepStatus == 'Held'){ }else if(result.approvalHistorys[i].StepStatus == 'NoResponse'){ }else if(result.approvalHistorys[i].StepStatus == 'Reassigned'){ result.approvalHistorys[i].StepStatus = '已重新分配'; }else if(result.approvalHistorys[i].StepStatus == 'Rejected'){ result.approvalHistorys[i].isRejected = '已拒绝'; result.approvalHistorys[i].isApproved = true; }else if(result.approvalHistorys[i].StepStatus == 'Removed'){ result.approvalHistorys[i].isRemoved = '已撤回'; result.approvalHistorys[i].isApproved = true; }else if(result.approvalHistorys[i].StepStatus == 'Started'){ result.approvalHistorys[i].StepStatus = '已提交'; } this.LostReport.approvalHistorys.push(JSON.parse(JSON.stringify(result.approvalHistorys[i]))); console.log('321'); } this.submitFlag = JSON.parse(JSON.stringify(result.submitFlag)); console.log(this.LostReport); // this.updateRecordView(this.reportId); this.showToast('提交成功!','success'); setTimeout(() => { this.remoteUrl(); }, 2000); } this.IsLoading = false; }).catch(error=>{ console.log("error"); console.log(error); }); } remoteUrl(){ var url = '/lightning/n/PCLLostReportPageLwc#pageStatus=View&reportId=' + this.LostReport.lostReport.Id; var urlStatus = this.getQueryVariable('pageStatus',this.location); if(urlStatus == 'View'){ console.log('viewpage'); window.location.reload(); }else{ console.log('editpage'); window.location = url; window.location.reload(); } } onApproveChange(event){ // var approvalId; // for(var i=0;i < this.LostReport.approvalHistorys.length;i++){ // if(this.LostReport.approvalHistorys[i].StepStatus == '待处理'){ // approvalId = this.LostReport.approvalHistorys[i].Id; // } // } // window.open('/lightning/r/ProcessInstanceStep/'+ approvalId + '/view?0.source=alohaHeader'); this.isPop = true; } onApproveChange1(){ window.open('/lightning/r/' + this.LostReport.lostReport.Id + '/related/ProcessSteps/view?0.source=alohaHeader'); } deleteBrandJs(event){ var str = event.target.name; if(this.LostReport.LostBrands[str].lostBrand.Id){ this.deleteBrandIdList.push(this.LostReport.LostBrands[str].lostBrand.Id); } this.LostReport.LostBrands.splice(str,1); console.log(this.LostReport); this.deleteBrandIdList.forEach(brandId=>{ console.log(brandId); }); this.setLostTotalAmount(); } // add tcm 20211118 end setLostTotalAmount() { var tempLostAmount = 0.0; this.LostReport.LostBrands.forEach(brand=>{ tempLostAmount = tempLostAmount + parseFloat(brand.lostBrand.LostPrice__c); }); this.LostReport.lostReport.LostTotalAmount__c = tempLostAmount; } setBrandMannualName(event) { var index = event.target.name; const payload = event.detail.payload; const payloadType = event.detail.payloadType; if(this.LostReport.LostBrands[index].lostBrand.Id){ this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ if(product.LostProductss.Id){ var productId = product.LostProductss.Id this.deleteProductIdList.push(productId); } }); console.log(this.deleteProductIdList); } this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c = payload.value; // this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = ''; // this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = ''; // this.LostReport.LostBrands[index].lostBrand.ChannelSpecificReasons__c = ''; // this.LostReport.LostBrands[index].reasonFlag = false; searchBatchIfForProduct({ productName: this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c }).then(result=>{ console.log(result); if(result == '进口'){ this.LostReport.LostBrands[index].isGuoChan = false; if(this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c == GuoChanZhengCe){ this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = ''; // this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = ''; } if(this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c == GuoChanZhengCe){ this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = ''; // this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = ''; } this.LostReport.LostBrands[index].reasonOptions = columns22; // this.columns2s = this.columns2s = columns22; }else{ this.LostReport.LostBrands[index].isGuoChan = true; this.LostReport.LostBrands[index].reasonOptions = columns2; // this.columns2s = this.columns2s = columns2; } if(payloadType === 'multi-select'){ this.clearProducts(payload.value,index); // this.setDefaultBrand(payload.value,index); this.clearBrandMannualName(payload.value,index); } }); } setDefaultBrand(value,index){ var newProducts = []; getNewLostProduct({ lineNo2: this.LostReport.LostBrands[index].LostProducts.length }).then(result=>{ this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ result.LostProductss.LostBrandName__c = value; newProducts.push(result); this.LostReport.LostBrands[index].LostProducts = newProducts; }); }); // this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ // this.newProduct.LostProductss.LostBrandName__c = value; // newProducts.push(JSON.parse(JSON.stringify(this.newProduct))); // }); // this.LostReport.LostBrands[index].LostProducts = newProducts; } setDefaultBrand1(value,index){ var newProducts = []; getNewLostProduct({ lineNo2: this.LostReport.LostBrands[index].LostProducts.length }).then(result=>{ this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ result.LostProductss.LostBrandName__c = value; newProducts.push(JSON.parse(JSON.stringify(result))); this.LostReport.LostBrands[index].LostProducts = newProducts; }); }); // this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ // this.newProduct.LostProductss.LostBrandName__c = value; // newProducts.push(JSON.parse(JSON.stringify(this.newProduct))); // }); // this.LostReport.LostBrands[index].LostProducts = newProducts; } clearProducts(value,index){ var cc = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c; console.log('cc=' + cc) if (value == '其他' && (cc != null && cc != '' && cc != undefined)) { return; }else if(value != '其他'){ this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c = null; console.log('wqeer1'); } var newProducts = []; console.log(this.newProduct); getNewLostProduct({ lineNo2: this.LostReport.LostBrands[index].LostProducts.length }).then(result=>{ console.log('wqeer2'); //chenjingwu 20231108 Start // this.LostReport.LostBrands[index].LostProducts.forEach(product=>{ // result.LostProductss.LostBrandName__c = value; // newProducts.push(result); // }); //chenjingwu 20231108 End result.LostProductss.LostBrandName__c = value; newProducts.push(result); console.log('wqeer3'); var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + index + '"]'); elements1.forEach(element=>{ element.readOnly = false; }); console.log('wqeer4'); var elements2 = this.template.querySelectorAll('.Product[data-id="' + index + '"]'); elements2.forEach(element=>{ element.clearSelection(); }); console.log('wqeer5'); this.LostReport.LostBrands[index].LostProducts = newProducts; console.log('wqeer'); console.log(this.LostReport); }).catch(error=>{ console.log('error'); console.log(error); }); } // 失单品牌不等于其他时,失单品牌(手动)清空并且不允许填写,失单品牌等于其他时,失单对手型号不可用 thh 2022-01-13 start clearBrandMannualName(value,index){ if (value == '其他') { var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]'); elements[index].disabled = false; elements[index].required = true; var elements1 = this.template.querySelectorAll('.Product[data-id="' + index + '"]'); elements1.forEach(element=>{ element.letDisabledTrue(); }); } else { var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]'); this.brandFlag = false; elements[index].value = ''; elements[index].disabled = true; elements[index].required = false; var elements1 = this.template.querySelectorAll('.Product[data-id="' + index + '"]'); elements1.forEach(element=>{ element.letDisabledFalse(); }); } } cancel() { // Navigate to the specified opportunity page using the NavigationMixin // this[NavigationMixin.Navigate]({ // type: 'standard__recordPage', // attributes: { // recordId: this.oppId, // actionName: 'view' // } // }); window.location = '/lightning/r/Opportunity/' + this.LostReport.lostReport.Opportunity__c + '/view'; } removeFieldsWithR(obj) { if (Array.isArray(obj)) { // 如果属性是数组,遍历数组元素 for (var i = 0; i < obj.length; i++) { // 递归调用函数处理数组元素 this.removeFieldsWithR(obj[i]); } } else if (typeof obj === 'object' && obj !== null) { // 如果属性是对象,则遍历对象属性 for (var key in obj) { if (key.includes('__r') || key === 'approvalHistorys') { // 如果属性名以 '__r' 结尾,删除它 console.log(key); delete obj[key]; }else if (typeof obj[key] === 'object' && obj[key] !== null) { // 如果属性是对象,则递归调用该函数 this.removeFieldsWithR(obj[key]); } } } } flag1 = false; saveBrandJs(event) { var isFlog = false; this.IsLoading = true; this.dataCheck(); if(!this.flag){ this.IsLoading = false; return; } this.LostReport.LostBrands.forEach(brand=>{ brand.LostProducts.forEach(pro=>{ if(brand.lostBrand.Lost_By_Company__c == '其他' && brand.lostBrand.Lost_By_Company_Mannual__c != pro.LostProductss.LostBrandName__c){ isFlog = true; return; } }); }); if(isFlog){ this.IsLoading = false; return; } console.log(this.LostReport); this.newReport = JSON.parse(JSON.stringify(this.LostReport)); this.newReport.approvalHistorys = this.newApprovalHistorys; console.log(JSON.stringify(this.newReport)); this.removeFieldsWithR(this.newReport); console.log(JSON.stringify(this.newReport)); var flagList = []; this.newReport.LostBrands.forEach(brand=>{ var flagss = false; brand.LostProducts.forEach(pro=>{ console.log(); if(!pro.isJinKou && (brand.lostBrand.Lost_reason_main__c == GuoChanZhengCe || brand.lostBrand.Lost_Reason_Sub__c == GuoChanZhengCe) && (pro.LostProductss.LostProductMannual__c == '' || pro.LostProductss.LostProductMannual__c == null || pro.LostProductss.LostProductMannual__c == undefined)){ flagss = true; }else if(brand.lostBrand.Lost_reason_main__c != GuoChanZhengCe && brand.lostBrand.Lost_Reason_Sub__c != GuoChanZhengCe){ flagss = true; }else if(brand.lostBrand.Lost_By_Company__c == '其他'){ flagss = true; }else if(brand.isGuoChan && !JinKouToGuoChan.includes(brand.lostBrand.Lost_By_Company__c)){ flagss = true; } console.log(JinKouToGuoChan); console.log(brand.lostBrand.Lost_By_Company__c); console.log(!JinKouToGuoChan.includes(brand.lostBrand.Lost_By_Company__c)); }); flagList.push(flagss); }); this.flag1 = true; flagList.forEach(f=>{ console.log(f); if(!f){ this.flag1 = false; } }); if(!this.flag1){ this.IsLoading = false; this.showToast('进口型号失单原因不允许选择国产政策','error'); return; } //chenjingwu 20231226 start var FunFlag = false; this.newReport.LostBrands.forEach(brand=>{ brand.LostProducts.forEach(pro=>{ if(pro.LostProductss.ProductCategory__c == 'SP主机' && (pro.LostProductss.Function__c == undefined || this.isBlank(pro.LostProductss.Function__c))){ FunFlag = true; } }); }); if(FunFlag){ this.IsLoading = false; this.showToast('请填写SP主机类型','error'); return; } //chenjingwu 20231226 end dataEntry({ report1 : JSON.stringify(this.newReport), deleteBrandIdList: this.deleteBrandIdList, deleteProductIdList: this.deleteProductIdList }).then(result=>{ console.log(result); this.deleteBrandIdList.splice(0,this.deleteBrandIdList.length); this.deleteProductIdList.splice(0,this.deleteProductIdList.length); if(result.error){ this.showToast(result.error,"error"); }else{ // var report = JSON.parse(result.LostReport); // var index1 = 0; // this.LostReport.LostBrands.forEach(brand=>{ // brand.lostBrand.Id = report.LostBrands[index1].lostBrand.Id; // var index2 = 0; // brand.LostProducts.forEach(product=>{ // product.LostProductss.Id = report.LostBrands[index1].LostProducts[index2].LostProductss.Id; // index2++; // }); // index1++; // }); var newLostReport = JSON.parse(result.LostReport); if(newLostReport.approvalHistorys.length > 0){ for(var i=0;i < newLostReport.approvalHistorys.length;i++){ console.log('123'); var date = new Date(newLostReport.approvalHistorys[i].CreatedDate); newLostReport.approvalHistorys[i].CreatedDate = date.toLocaleString(); if(newLostReport.approvalHistorys[i].StepStatus == 'Approved'){ newLostReport.approvalHistorys[i].StepStatus = '已批准'; newLostReport.approvalHistorys[i].isApproved = true; }else if(newLostReport.approvalHistorys[i].StepStatus == 'Fault'){ }else if(newLostReport.approvalHistorys[i].StepStatus == 'Pending'){ newLostReport.approvalHistorys[i].StepStatus = '待处理'; newLostReport.approvalHistorys[i].isPending = true; }else if(newLostReport.approvalHistorys[i].StepStatus == 'Held'){ }else if(newLostReport.approvalHistorys[i].StepStatus == 'NoResponse'){ }else if(newLostReport.approvalHistorys[i].StepStatus == 'Reassigned'){ newLostReport.approvalHistorys[i].StepStatus = '已重新分配'; }else if(newLostReport.approvalHistorys[i].StepStatus == 'Rejected'){ newLostReport.approvalHistorys[i].StepStatus = '已拒绝'; newLostReport.approvalHistorys[i].isRejected = true; }else if(newLostReport.approvalHistorys[i].StepStatus == 'Removed'){ newLostReport.approvalHistorys[i].StepStatus = '已撤回'; newLostReport.approvalHistorys[i].isRemoved = true; }else if(newLostReport.approvalHistorys[i].StepStatus == 'Started'){ newLostReport.approvalHistorys[i].StepStatus = '已提交'; } } } // this.LostReport.LostBrands.forEach(brand1=>{ // newLostReport.LostBrands.forEach(brand2=>{ // brand1.LostProducts.forEach(pro1=>{ // brand2.LostProducts.forEach(pro2=>{ // if(pro1.LostProductss.LostProduct__c == pro2.LostProductss.LostProduct__c){ // pro2.isJinKou = pro1.isJinKou; // } // }); // }); // }); // }); this.status.pageStatus = 'View'; this.LostReport = newLostReport; this.reportId = result.reportId; // this.LostReport.lostReport.Id = result.reportId; // console.log(this.LostReport); this.tableflag = 0; this.showToast('保存成功','success'); console.log(this.LostReport); this.LostReport.LostBrands.forEach(brand=>{ if(brand.lostBrand.Id){ this.updateRecordView(brand.lostBrand.Id); } }); } this.flag1 = false; this.IsLoading = false; }).catch(error=>{ console.log("error"); console.log(error); }); } editJs(){ this.status.pageStatus = 'Edit'; this.LostReport.LostBrands.forEach(brand=>{ if(brand.lostBrand.Name){ searchBatchIfForProduct({ productName: brand.lostBrand.Name }).then(result=>{ console.log('ooooooooooooo'); console.log(result); console.log('ooooooooooooo'); if(result == '进口'){ brand.isGuoChan = false; brand.reasonOptions = columns22; }else{ brand.isGuoChan = true; brand.reasonOptions = columns2; } }); }else{ brand.reasonOptions = columns2; } console.log('brand'); console.log(columns2); console.log(brand); console.log('ceshi'); this.justOne = 1; }); // var elements = this.template.querySelectorAll('lightning-combobox'); // console.log('elements=>' + elements.length); // elements.forEach(element=>{ // if(element.value == '行政决策'){ // element.options = columns2; // } // }); } dataCheck(){ this.flag = true; if(this.LostReport.lostReport.LostType__c == undefined || this.isBlank(this.LostReport.lostReport.LostType__c)) { this.flag = false; this.showToast('必须填写失单类型!','error'); } console.log(this.LostReport); this.LostReport.LostBrands.forEach(tempLostBrand=>{ if(tempLostBrand.lostBrand.Lost_By_Company__c == undefined || this.isBlank(tempLostBrand.lostBrand.Lost_By_Company__c)) { this.flag = false; this.showToast('请填写失单品牌!','error'); }// fy SWAG-CCC6F6 start else if(tempLostBrand.lostBrand.Lost_By_Company__c == '其他' && (tempLostBrand.lostBrand.Lost_By_Company_Mannual__c == undefined || this.isBlank(tempLostBrand.lostBrand.Lost_By_Company_Mannual__c))){ this.flag = false; this.showToast('请填写失单品牌(手动)!','error'); }// fy SWAG-CCC6F6 end if(tempLostBrand.lostBrand.LostPrice__c == undefined || this.isBlank(tempLostBrand.lostBrand.LostPrice__c)) { this.flag = false; this.showToast('失单金额必填!','error'); } if(tempLostBrand.lostBrand.Lost_reason_main__c == undefined || this.isBlank(tempLostBrand.lostBrand.Lost_reason_main__c)) { this.flag = false; this.showToast('失单理由(主)必填!','error'); } if((tempLostBrand.lostBrand.Lost_reason_main__c == QuDaoYinSu || tempLostBrand.lostBrand.Lost_Reason_Sub__c == QuDaoYinSu) && (tempLostBrand.lostBrand.ChannelSpecificReasons__c == undefined || this.isBlank(tempLostBrand.lostBrand.ChannelSpecificReasons__c))) { this.flag = false; this.showToast('请填写渠道具体原因!','error'); } if(tempLostBrand.lostBrand.Agency__c == undefined || this.isBlank(tempLostBrand.lostBrand.Agency__c)) { this.flag= false; this.showToast('中标经销商必填!','error'); } // 检查是否有超过1个有数的产品 var productCount = 0; console.log('}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}'); console.log(tempLostBrand); console.log('{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{'); tempLostBrand.LostProducts.forEach(temlostProduct=>{ if ((temlostProduct.LostProductss.LostProduct__c != undefined && !this.isBlank(temlostProduct.LostProductss.LostProduct__c)) || (temlostProduct.LostProductss.LostProductMannual__c != undefined && !this.isBlank(temlostProduct.LostProductss.LostProductMannual__c))) { productCount ++; } // update tcm 20211123 start if(((temlostProduct.LostProductss.LostProduct__c!= undefined && !this.isBlank(temlostProduct.LostProductss.LostProduct__c)) || (temlostProduct.LostProductss.LostProductMannual__c!=undefined && !this.isBlank(temlostProduct.LostProductss.LostProductMannual__c)))&&(temlostProduct.LostProductss.Quantity__c==undefined || this.isBlank(temlostProduct.LostProductss.Quantity__c) || temlostProduct.LostProductss.Quantity__c ==0)) { this.flag = false; this.showToast('请填写失单数量!','error'); } if(((temlostProduct.LostProductss.LostProduct__c!=undefined && !this.isBlank(temlostProduct.LostProductss.LostProduct__c)) || (temlostProduct.LostProductss.LostProductMannual__c!=undefined && !this.isBlank(temlostProduct.LostProductss.LostProductMannual__c)))&&(temlostProduct.LostProductss.ProductCategory__c==undefined || this.isBlank(temlostProduct.LostProductss.ProductCategory__c))) { this.flag = false; if (temlostProduct.LostProductss.ProductClass__c==undefined || this.isBlank(temlostProduct.LostProductss.ProductClass__c)) { this.showToast('失单产品类别必填!','error'); this.showToast('失单产品必填!','error'); }else { this.showToast('失单产品必填!','error'); } } // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 start if (((temlostProduct.LostProductss.LostProduct__c==undefined || this.isBlank(temlostProduct.LostProductss.LostProduct__c)) && (temlostProduct.LostProductss.LostProductMannual__c==undefined || this.isBlank(temlostProduct.LostProductss.LostProductMannual__c)))&&((temlostProduct.LostProductss.ProductCategory__c!=undefined && !this.isBlank(temlostProduct.LostProductss.ProductCategory__c))||(temlostProduct.LostProductss.Quantity__c!=undefined && !this.isBlank(temlostProduct.LostProductss.Quantity__c)))) { this.flag = false; if(tempLostBrand.lostBrand.Lost_By_Company__c != '其他'){ this.showToast('失单对手型号或失单对手型号(手动)必填!','error'); } else{ this.showToast('失单对手型号或失单对手型号(手动)必填!','error'); } } if((temlostProduct.LostProductss.LostProduct__c==undefined || this.isBlank(temlostProduct.LostProductss.LostProduct__c)) && (temlostProduct.LostProductss.LostProductMannual__c==undefined || this.isBlank(temlostProduct.LostProductss.LostProductMannual__c)) && (temlostProduct.LostProductss.Quantity__c==undefined || this.isBlank(temlostProduct.LostProductss.Quantity__c)) && (temlostProduct.LostProductss.ProductClass__c==undefined || this.isBlank(temlostProduct.LostProductss.ProductClass__c)) && (temlostProduct.LostProductss.ProductCategory__c==undefined || this.isBlank(temlostProduct.LostProductss.ProductCategory__c)) ){ this.flag = false; this.showToast('请勿录入空的失单对手型号信息!','error'); } // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 end // update tcm 20211123 end }); // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 start if (productCount == 0 && (tempLostBrand.LostProducts != undefined && !this.isBlank(tempLostBrand.LostProducts)) && tempLostBrand.LostProducts.length > 0) { this.flag = false; if(tempLostBrand.lostBrand.Lost_By_Company__c != '其他'){ this.showToast('至少录入1条失单对手型号信息!','error'); }else{ this.showToast('至少录入1条失单对手型号信息!','error'); } } // 当失单品牌名为其他时,报错字段为失单对手型号(手动) thh 2022-01-17 end }); } isBlank(str) { return /^\s*$/.test(str); } removeRow(event){ var index1 = event.target.name; var index2 = event.target.value; var deleteButtons = this.template.querySelectorAll('.iconButton[data-id="' + index1 + '"]'); console.log(deleteButtons.length + ' chen1'); if(deleteButtons.length == 1){ return; } if(this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Id){ var productId = this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Id; this.deleteProductIdList.push(productId); } var delete1 = this.template.querySelectorAll('c-lex-lookup-lwc[data-id="' + index1 + '"]'); console.log(delete1.length); // delete1[index2].clearSelection(); var newPro = JSON.parse(JSON.stringify(this.LostReport.LostBrands[index1].LostProducts)); newPro.splice(index2,1); this.LostReport.LostBrands[index1].LostProducts = newPro; // chenjingwu 20240122 start this.LostReport.LostBrands[index1].brandGongNengFlag = false; this.LostReport.LostBrands[index1].LostProducts.forEach(pro=>{ if(pro.gongNengFlag){ this.LostReport.LostBrands[index1].brandGongNengFlag = true; } }); // chenjingwu 20240122 end console.log('this.deleteProductIdList'); console.log(this.LostReport); console.log('this.deleteProductIdList'); } isLanjie; search(topNum,secondNum){ //chenjingwu 20231114 Start this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.isSpec__c = false; //chenjingwu 20231114 End console.log('12345'); var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + topNum + '"]'); var elements2 = this.template.querySelectorAll('.ProductCategory[data-id="' + topNum + '"]'); if (this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c==null) { console.log('element1' + elements1[secondNum]); console.log('element2' + elements2[secondNum]); elements1[secondNum].readOnly = false; elements2[secondNum].readOnly = false; this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null; this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=null; this.LostReport.LostBrands[topNum].LostProducts[secondNum].bool=false; this.LostReport.LostBrands[topNum].LostProducts[secondNum].isJinKou = false; // elements1[secondNum].readOnly = true; // elements2[secondNum].readOnly = true; }else { searchProduct({ lostProduct : this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c }).then(result=>{ console.log(result.isDomestic__c); console.log(this.LostReport.LostBrands[topNum].lostBrand.Lost_reason_main__c); console.log(this.LostReport.LostBrands[topNum].lostBrand.Lost_reason_main__c); console.log(result); var prd = JSON.parse(result); //chenjingwu 20231116 Start // if(prd.ImportedDomesticProduct__c == '进口' || prd.ImportedDomesticProduct__c == undefined || prd.ImportedDomesticProduct__c == null || prd.ImportedDomesticProduct__c == ''){ // this.LostReport.LostBrands[topNum].LostProducts[secondNum].isJinKou = true; // }else{ // this.LostReport.LostBrands[topNum].LostProducts[secondNum].isJinKou = false; // } if(prd.isDomestic__c == false){ this.LostReport.LostBrands[topNum].LostProducts[secondNum].isJinKou = true; }else{ this.LostReport.LostBrands[topNum].LostProducts[secondNum].isJinKou = false; } //chenjingwu 20231116 End this.selectedMasterValue = prd.ProductClass__c; this.selectedControllingValue = ''; let controllingList = []; if(this.selectedMasterValue) { //通过valid for进行mapping,匹配的放进controlling list中 this.controllingValuesWithValidFor.forEach(conValues => { if(conValues.validFor.some(item => item === this.master2ValidForValues[this.selectedMasterValue])) { controllingList.push({ label: conValues.label, value: conValues.value }) } }) this.controllingValues = controllingList; } this.LostReport.LostBrands[topNum].LostProducts[secondNum].productOptions = JSON.parse(JSON.stringify(this.controllingValues)); if (prd.ProductCategory__c!=null) { console.log('element1' + elements1[secondNum]); console.log('element2' + elements2[secondNum]); if(elements1[secondNum]!=undefined){ elements1[secondNum].readOnly = false; } elements2[secondNum].readOnly = false; this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=prd.ProductClass__c; console.log(prd.ProductClass__c + ' ' + prd.ProductCategory__c); if(prd.ProductClass__c == '其他' && (prd.ProductCategory__c == '' || prd.ProductCategory__c == null || prd.ProductCategory__c == undefined)){ this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c = '其他'; }else{ this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=prd.ProductCategory__c; } //chenjingwu 20231226 start if(this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c == 'SP主机'){ this.LostReport.LostBrands[topNum].LostProducts[secondNum].gongNengFlag = true; this.LostReport.LostBrands[topNum].brandGongNengFlag = true; }else{ this.LostReport.LostBrands[topNum].LostProducts[secondNum].gongNengFlag = false; this.LostReport.LostBrands[topNum].brandGongNengFlag = false; this.LostReport.LostBrands[topNum].LostProducts.forEach(pro=>{ if(pro.gongNengFlag){ this.LostReport.LostBrands[topNum].brandGongNengFlag = true; } }); this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.Function__c = ''; } //chenjingwu 20231226 end // console.log('sbsbsbsbsbsbsbsbsbsbsb'); // console.log(elements1.length); // console.log('sbsbsbsbsbsbsbsbsbsbsb'); if(this.pageStatus == 'Create' && elements1[secondNum]!=undefined && this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c!=undefined){ elements1[secondNum].readOnly = true; } elements2[secondNum].readOnly = true; }else { if(elements1[secondNum]!=undefined){ elements1[secondNum].readOnly = false; } elements2[secondNum].readOnly = false; this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=null; this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=null; if(this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c != undefined && this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c!= '' && this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.LostProduct__c != null){ this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.isSpec__c = true; } // elements1[secondNum].readOnly = true; elements2[secondNum].readOnly = true; } }).catch(error=>{ console.log("error"); console.log(error); }); } } handleModalCancel(){ this.isPop = false; } handleModalSubmit(){ this.IsLoading = true; const comment = this.template.querySelector('.textAreaBody'); console.log(this.isLookup == true && this.newActorId == null); if(this.isLookup == true && this.newActorId == null){ this.showToast('请填入新分配人','error'); this.IsLoading = false; return; } this.isPop = false; if(this.newActorId){ reassignStep({ recordId: this.LostReport.lostReport.Id, newActorId: this.newActorId }).then(result=>{ if(result){ this.showToast('您无权重新分配','error'); this.IsLoading = false; }else{ // window.location = '/' + this.LostReport.lostReport.Id; this.remoteUrl(); } }); }else{ console.log('1nm'); console.log(this.LostReport.lostReport.Id); console.log(comment.value); console.log(this.action); console.log('1nm'); submitForApproval({ recordId: this.LostReport.lostReport.Id, comments: comment.value, action: this.action }).then(result=>{ console.log('sb'); console.log(result); if(result){ if(this.action == 'Approve'){ this.showToast('您无权批准','error'); }else if(this.action == 'Reject'){ this.showToast('您无权拒绝','error'); }else if(this.action == 'Removed'){ this.showToast('您无权撤回','error'); } this.IsLoading = false; }else{ // window.location = '/' + this.LostReport.lostReport.Id; this.remoteUrl(); } }).catch(error=>{ console.log('error'); console.log(error); }); } } handleSubmitApp(){ this.modalsubmitLabel = '批准'; this.isPop = true; this.action = 'Approve'; this.isLookup = false; this.newActorId = null; } handleReStartApp(){ this.modalsubmitLabel = '分配'; for(var i=0;i < this.LostReport.approvalHistorys.length;i++){ if(this.LostReport.approvalHistorys[i].StepStatus == '待处理'){ console.log('xqc'); this.newActorId = this.LostReport.approvalHistorys[i].Actor.Id; } } this.isPop = true; this.isLookup = true; } ser(userId){ return '/lightning/r/User/' + userId + '/view'; } handleNoApp(){ this.modalsubmitLabel = '拒绝'; this.isPop = true; this.action = 'Reject'; this.isLookup = false; this.newActorId = null; } handleCancelApp(){ this.modalsubmitLabel = '撤回'; this.isPop = true; this.action = 'Removed'; this.isLookup = false; this.newActorId = null; } handleClear(event){ console.log('ssss'); } handleSelected(event) { console.log('54321'); var index1 = event.target.title; var index2 = event.target.name; this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c = event.detail.Id; this.LostReport.LostBrands[index1].LostProducts[index2].productName = event.detail.Name; this.search(index1,index2); } handleLostTypeChange(event){ var value = event.target.value; this.LostReport.lostReport.LostType__c = value; } handleChannelSpecificReasonChange(event){ var value = event.target.value; var index = event.target.name; this.LostReport.LostBrands[index].lostBrand.ChannelSpecificReasons__c = value; } handleLostReasonMainChange(event){ var index = event.target.name; var value = event.target.value; this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c = value; if(value == QuDaoYinSu){ this.LostReport.LostBrands[index].reasonFlag = true; }else if(this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c != QuDaoYinSu && this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c != QuDaoYinSu){ this.LostReport.LostBrands[index].reasonFlag = false; this.LostReport.LostBrands[index].lostBrand.ChannelSpecificReasons__c = ''; } // if(this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c != '行政决策' && this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c != '行政决策'){ // this.LostReport.LostBrands[index].LostProducts.forEach(pro=>{ // pro.isJinKou = false; // }); // } } handleLostReasonSubChange(event){ var index = event.target.name; var value = event.target.value; this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = value; if(value == QuDaoYinSu){ this.LostReport.LostBrands[index].reasonFlag = true; }else if(this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c != QuDaoYinSu && this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c != QuDaoYinSu){ this.LostReport.LostBrands[index].reasonFlag = false; this.LostReport.LostBrands[index].lostBrand.ChannelSpecificReasons__c = ''; } // if(this.LostReport.LostBrands[index].lostBrand.Lost_reason_main__c != '行政决策' && this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c != '行政决策'){ // this.LostReport.LostBrands[index].LostProducts.forEach(pro=>{ // pro.isJinKou = false; // }); // } } handleLostByCompanyMannualChange(event){ try { var index = event.target.name; var value = event.target.value; this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c = value; this.setDefaultBrand1(value,index); // if((value == '' || value == null) && this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c == '其他'){ // var elements = this.template.querySelectorAll('[data-id="Lost_By_Company_Mannual"]'); // elements[index].disabled = false; // } } catch (error) { console.log('error'); console.log(error); } // var elements = this.template.querySelectorAll('.Product[data-id="' + index + '"]'); // if(value == '' || value == null){ // elements.forEach(element=>{ // element.letDisabledTrue(); // }); // }else{ // elements.forEach(element=>{ // element.letDisabledFalse(); // }); // } } handleLostPriceOutChange(event){ var index = event.target.name; var value = event.target.value; this.LostReport.LostBrands[index].lostBrand.LostPrice__c = value; this.setLostTotalAmount(); } handleAgencyOutChange(event){ var index = event.target.name; var value = event.target.value; this.LostReport.LostBrands[index].lostBrand.Agency__c = value; } handleAgencyMannualOutChange(event){ var index = event.target.name; var value = event.target.value; this.LostReport.LostBrands[index].lostBrand.AgencyMannual__c = value; } handleLostBrandNameChange(event){ var index1 = event.target.title; var index2 = event.target.name; this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostBrandName__c = event.target.value; } handleLostProductChange(event){ var index1 = event.target.title; var index2 = event.target.name; this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c = event.target.value; } handleQuantityChange(event){ var index1 = event.target.title; var index2 = event.target.name; this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Quantity__c = event.target.value; } handleLostProductMannualChange(event){ var index1 = event.target.title; var index2 = event.target.name; this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProductMannual__c = event.target.value; } handleProductClassChange(event){ var index1 = event.target.title; var index2 = event.target.name; this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductClass__c = event.target.value; // chenjingwu 20240119 start this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductCategory__c = ''; this.LostReport.LostBrands[index1].LostProducts[index2].gongNengFlag = false; this.LostReport.LostBrands[index1].brandGongNengFlag = false; this.LostReport.LostBrands[index1].LostProducts.forEach(pro=>{ if(pro.gongNengFlag){ this.LostReport.LostBrands[index1].brandGongNengFlag = true; } }); // chenjingwu 20240119 end var val = event.target.value; this.selectedMasterValue = event.target.value; this.selectedControllingValue = ''; let controllingList = []; if(this.selectedMasterValue) { //通过valid for进行mapping,匹配的放进controlling list中 this.controllingValuesWithValidFor.forEach(conValues => { if(conValues.validFor.some(item => item === this.master2ValidForValues[this.selectedMasterValue])) { controllingList.push({ label: conValues.label, value: conValues.value }) } }) this.controllingValues = controllingList; } if(val == ''){ var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]'); temps1[index2].readOnly = true; temps1[index2].value = ''; }else{ var temps1 =this.template.querySelectorAll('.ProductCategory[data-id="'+ index1 +'"]'); temps1[index2].readOnly = false; this.LostReport.LostBrands[index1].LostProducts[index2].productOptions = JSON.parse(JSON.stringify(this.controllingValues)); if(this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c){ searchProduct({ lostProduct:this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.LostProduct__c }).then(result=>{ var prd = JSON.parse(result); if(prd.ProductClass__c == undefined && prd.ProductCategory__c == undefined){ this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.isSpec__c = true; } }); } } } handleActorChange(event){ this.newActorId = event.target.value; } //chenjingwu 20231225 start handleFunctionChange(event){ var index1 = event.target.title; var index2 = event.target.name; var val = event.target.value; this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Function__c = val; } //chenjingwu 20231225 end handleProductCategoryChange(event){ var index1 = event.target.title; var index2 = event.target.name; var val = event.target.value; var categorys = this.template.querySelectorAll('.ProductCategory'); var flag = false; categorys.forEach(category=>{ if(category.value == '超声主机'){ flag = true; } }); if(flag){ this.LostReport.lostReport.InclusionUltrasound__c = '1'; }else{ this.LostReport.lostReport.InclusionUltrasound__c = '0'; } //chenjingwu 20231226 start if(val == 'SP主机'){ this.LostReport.LostBrands[index1].LostProducts[index2].gongNengFlag = true; this.LostReport.LostBrands[index1].brandGongNengFlag = true; }else{ this.LostReport.LostBrands[index1].LostProducts[index2].gongNengFlag = false; this.LostReport.LostBrands[index1].brandGongNengFlag = false; this.LostReport.LostBrands[index1].LostProducts.forEach(pro=>{ if(pro.gongNengFlag){ this.LostReport.LostBrands[index1].brandGongNengFlag = true; } }); this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.Function__c = ''; } //chenjingwu 20231226 end this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductCategory__c = val; } }