/*
|
* @Description:
|
* @version:
|
* @Author: chen jing wu
|
* @Date: 2023-04-20 15:04:03
|
* @LastEditors: chen jing wu
|
* @LastEditTime: 2023-09-13 13:45:33
|
*/
|
let columns2=[
|
{ label: '--无--', value: '' },
|
{ label: '无信息,跟进不及时', value: '无信息,跟进不及时' },
|
{ label: '价格', value: '价格' },
|
{ label: '医生偏好', value: '医生偏好' },
|
{ label: '服务不到位', value: '服务不到位' },
|
{ label: '行政决策', value: '行政决策' },
|
{ label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' },
|
{ label: '渠道因素', value: '渠道因素' },
|
{ label: '某种产品缺失', value: '某种产品缺失' },
|
{ label: '采购平衡', value: '采购平衡' }
|
];
|
let columns22=[
|
{ label: '--无--', value: '' },
|
{ label: '无信息,跟进不及时', value: '无信息,跟进不及时' },
|
{ label: '价格', value: '价格' },
|
{ label: '医生偏好', value: '医生偏好' },
|
{ label: '服务不到位', value: '服务不到位' },
|
{ label: '竞品原有基础上增添设备', value: '竞品原有基础上增添设备' },
|
{ label: '渠道因素', value: '渠道因素' },
|
{ label: '某种产品缺失', value: '某种产品缺失' },
|
{ label: '采购平衡', value: '采购平衡' }
|
];
|
const productClassOptions = [
|
{ 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 } from 'lightning/uiRecordApi';
|
export default class LexPCLLostReportPage extends NavigationMixin(LightningElement) {
|
@track visible = false;
|
@wire(CurrentPageReference) pageRef;
|
@api oppId;
|
@track columns2s=columns22;
|
@track status = {
|
pageStatus: 'Create'
|
}
|
@track message;
|
@track isSuccess;
|
@track LostReport = {
|
LostBrands: [
|
],
|
lostReport: {}
|
}
|
@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;
|
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;
|
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;
|
this.LostReport.LostBrands[index1].LostProducts[index2].bool=false;
|
elements2[index2].readOnly = true;
|
} catch (error) {
|
console.log('error');
|
}
|
}
|
|
connectedCallback(){
|
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");
|
}
|
}else{
|
var report = result.LostReport;
|
this.LostReport = report;
|
this.LostReport.lostReport.LostTotalAmount__c = 0.0;
|
this.LostReport.lostReport.InclusionUltrasound__c = '0';
|
|
this.newProduct = JSON.parse(JSON.stringify(this.LostReport.LostBrands[0].LostProducts[0]));
|
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 = '已批准';
|
}else if(this.LostReport.approvalHistorys[i].StepStatus == 'Fault'){
|
|
}else if(this.LostReport.approvalHistorys[i].StepStatus == 'Pending'){
|
this.LostReport.approvalHistorys[i].StepStatus = '待处理';
|
}else if(this.LostReport.approvalHistorys[i].StepStatus == 'Held'){
|
|
}else if(this.LostReport.approvalHistorys[i].StepStatus == 'NoResponse'){
|
|
}else if(this.LostReport.approvalHistorys[i].StepStatus == 'Reassigned'){
|
|
}else if(this.LostReport.approvalHistorys[i].StepStatus == 'Rejected'){
|
resthis.LostReportult.approvalHistorys[i].StepStatus = '已拒绝';
|
}else if(this.LostReport.approvalHistorys[i].StepStatus == 'Removed'){
|
|
}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;
|
}
|
this.isInit = true;
|
}
|
}).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);
|
}).catch(error=>{
|
console.log('error');
|
console.log(error);
|
});
|
|
}
|
renderedCallback(){
|
const sections = this.template.querySelectorAll('lightning-accordion-section');
|
sections.forEach(section=>{
|
console.log(section);
|
section.active = 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.oppId = str;
|
}
|
}
|
}
|
|
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 isEdit(){
|
if(this.status.pageStatus == 'Edit'){
|
return true;
|
}
|
return false;
|
}
|
get isSubmit(){
|
if(this.submitFlag){
|
return true;
|
}
|
return false;
|
}
|
|
addBrandJs() {
|
getNewLostBrand({
|
lineNo: this.LostReport.LostBrands.length
|
}).then(result=>{
|
this.LostReport.LostBrands.push(result);
|
});
|
}
|
addRow(event){
|
var index = event.target.name;
|
getNewLostProduct({
|
lineNo2: this.LostReport.LostBrands[index].LostProducts.length
|
}).then(result=>{
|
result.LostProductss.LostBrandName__c = this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c;
|
this.LostReport.LostBrands[index].LostProducts.push(result);
|
});
|
}
|
submitJs() {
|
console.log('1');
|
this.IsLoading = true;
|
submit({
|
report1: JSON.stringify(this.LostReport),
|
reportId: this.reportId
|
}).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 = '已批准';
|
}else if(result.approvalHistorys[i].StepStatus == 'Fault'){
|
|
}else if(result.approvalHistorys[i].StepStatus == 'Pending'){
|
result.approvalHistorys[i].StepStatus = '待处理';
|
}else if(result.approvalHistorys[i].StepStatus == 'Held'){
|
|
}else if(result.approvalHistorys[i].StepStatus == 'NoResponse'){
|
|
}else if(result.approvalHistorys[i].StepStatus == 'Reassigned'){
|
|
}else if(result.approvalHistorys[i].StepStatus == 'Rejected'){
|
result.approvalHistorys[i].StepStatus = '已拒绝';
|
}else if(result.approvalHistorys[i].StepStatus == 'Removed'){
|
|
}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.LostReport.lostReport.Report_Status__c = '申请中';
|
}
|
this.IsLoading = false;
|
}).catch(error=>{
|
console.log("error");
|
console.log(error);
|
});
|
}
|
onApproveChange(event){
|
window.open('/lightning/r/ProcessInstanceStep/'+ this.LostReport.approvalHistorys[0].Id + '/view?0.source=alohaHeader');
|
// this[NavigationMixin.Navigate]({
|
// type: 'standard__recordPage',
|
// attributes: {
|
// recordId: this.LostReport.approvalHistorys[0].Id,
|
// actionName: 'view'
|
// }
|
// });
|
}
|
|
|
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 = '';
|
searchBatchIfForProduct({
|
productName: this.LostReport.LostBrands[index].lostBrand.Lost_By_Company__c
|
}).then(result=>{
|
console.log(result);
|
if(result == '进口'){
|
this.columns2s = columns22;
|
}else{
|
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 = [];
|
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 newProducts = [];
|
this.LostReport.LostBrands[index].LostProducts.forEach(product=>{
|
this.newProduct.LostProductss.LostBrandName__c = value;
|
newProducts.push(JSON.parse(JSON.stringify(this.newProduct)));
|
});
|
var elements1 = this.template.querySelectorAll('.ProductClass[data-id="' + index + '"]');
|
elements1.forEach(element=>{
|
element.readOnly = false;
|
});
|
var elements2 = this.template.querySelectorAll('.Product[data-id="' + index + '"]');
|
elements2.forEach(element=>{
|
element.clearSelection();
|
});
|
this.LostReport.LostBrands[index].LostProducts = newProducts;
|
}
|
|
|
// 失单品牌不等于其他时,失单品牌(手动)清空并且不允许填写,失单品牌等于其他时,失单对手型号不可用 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 = '/' +this.oppId;
|
}
|
|
saveBrandJs(event) {
|
this.IsLoading = true;
|
this.dataCheck();
|
if(!this.flag){
|
this.IsLoading = false;
|
return;
|
}
|
console.log(this.LostReport);
|
var newLostReport = JSON.parse(JSON.stringify(this.LostReport));
|
newLostReport.approvalHistorys = this.newApprovalHistorys;
|
dataEntry({
|
report1 : JSON.stringify(newLostReport),
|
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 = '已批准';
|
}else if(newLostReport.approvalHistorys[i].StepStatus == 'Fault'){
|
|
}else if(newLostReport.approvalHistorys[i].StepStatus == 'Pending'){
|
newLostReport.approvalHistorys[i].StepStatus = '待处理';
|
}else if(newLostReport.approvalHistorys[i].StepStatus == 'Held'){
|
|
}else if(newLostReport.approvalHistorys[i].StepStatus == 'NoResponse'){
|
|
}else if(newLostReport.approvalHistorys[i].StepStatus == 'Reassigned'){
|
|
}else if(newLostReport.approvalHistorys[i].StepStatus == 'Rejected'){
|
newLostReport.approvalHistorys[i].StepStatus = '已拒绝';
|
}else if(newLostReport.approvalHistorys[i].StepStatus == 'Removed'){
|
|
}else if(newLostReport.approvalHistorys[i].StepStatus == 'Started'){
|
newLostReport.approvalHistorys[i].StepStatus = '已提交';
|
}
|
}
|
}
|
|
this.LostReport = newLostReport;
|
this.reportId = result.reportId;
|
// this.LostReport.lostReport.Id = result.reportId;
|
// console.log(this.LostReport);
|
this.status.pageStatus = 'View';
|
this.tableflag = 0;
|
this.showToast('保存成功','success');
|
console.log(this.LostReport);
|
}
|
this.IsLoading = false;
|
}).catch(error=>{
|
console.log("error");
|
console.log(error);
|
});
|
}
|
editJs(){
|
this.status.pageStatus = 'Edit';
|
}
|
|
dataCheck(){
|
this.flag = true;
|
if(this.LostReport.lostReport.LostType__c == undefined || this.isBlank(this.LostReport.lostReport.LostType__c))
|
{
|
this.flag = false;
|
this.showToast('必须填写失单类型!','error');
|
|
}
|
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.Agency__c == undefined || this.isBlank(tempLostBrand.lostBrand.Agency__c)) {
|
this.flag= false;
|
this.showToast('中标经销商必填!','error');
|
|
}
|
// 检查是否有超过1个有数的产品
|
var productCount = 0;
|
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');
|
}
|
|
}
|
// 当失单品牌名为其他时,报错字段为失单对手型号(手动) 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('.deleteButton[data-id="' + index1 + '"]');
|
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);
|
}
|
this.LostReport.LostBrands[index1].LostProducts.splice(index2,1);
|
console.log(this.deleteProductIdList);
|
}
|
search(topNum,secondNum){
|
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) {
|
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;
|
// 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);
|
var prd = JSON.parse(result);
|
this.LostReport.LostBrands[topNum].LostProducts[secondNum].productOptions = this.productOptionsList[prd.ProductClass__c];
|
if (prd.ProductCategory__c!=null) {
|
elements1[secondNum].readOnly = false;
|
elements2[secondNum].readOnly = false;
|
this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductClass__c=prd.ProductClass__c;
|
this.LostReport.LostBrands[topNum].LostProducts[secondNum].LostProductss.ProductCategory__c=prd.ProductCategory__c;
|
elements1[secondNum].readOnly = true;
|
elements2[secondNum].readOnly = true;
|
}else {
|
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;
|
elements1[secondNum].readOnly = true;
|
elements2[secondNum].readOnly = true;
|
}
|
}).catch(error=>{
|
console.log("error");
|
console.log(error);
|
});
|
|
}
|
}
|
|
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;
|
this.LostReport.lostReport.LostType__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 == '渠道因素'){
|
|
}
|
}
|
|
handleLostReasonSubChange(event){
|
var index = event.target.name;
|
var value = event.target.value;
|
this.LostReport.LostBrands[index].lostBrand.Lost_Reason_Sub__c = value;
|
}
|
|
handleLostByCompanyMannualChange(event){
|
var index = event.target.name;
|
var value = event.target.value;
|
this.LostReport.LostBrands[index].lostBrand.Lost_By_Company_Mannual__c = value;
|
this.setDefaultBrand(value,index);
|
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;
|
var val = event.target.value;
|
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 = this.productOptionsList[val];
|
}
|
|
}
|
|
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';
|
}
|
this.LostReport.LostBrands[index1].LostProducts[index2].LostProductss.ProductCategory__c = val;
|
}
|
|
}
|