import { LightningElement,wire,api,track } from 'lwc';
|
import { CurrentPageReference } from 'lightning/navigation';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import { NavigationMixin } from 'lightning/navigation';
|
import init from '@salesforce/apex/LexArriveGoodsMainController.init';
|
import searchConsumableorderdetails from '@salesforce/apex/LexArriveGoodsMainController.searchConsumableorderdetails';
|
import initTotalNum from '@salesforce/apex/LexConsumableGoodsInfo.initTotalNum';
|
import initArrDet from '@salesforce/apex/LexConsumableGoodsInfo.initArrDet';
|
import initArrDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initArrDetAll';
|
import initDeliveryDet from '@salesforce/apex/LexConsumableGoodsInfo.initDeliveryDet';
|
import initDeliveryDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initDeliveryDetAll';
|
import initNotArrDet from '@salesforce/apex/LexConsumableGoodsInfo.initNotArrDet';
|
import initNotArrDetAll from '@salesforce/apex/LexConsumableGoodsInfo.initNotArrDetAll';
|
import initMoreThan7 from '@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7';
|
import initMoreThan7All from '@salesforce/apex/LexConsumableGoodsInfo.initMoreThan7All';
|
//table css
|
import { loadStyle } from "lightning/platformResourceLoader";
|
import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable";
|
|
export default class LexArriveGoodsMain extends NavigationMixin(LightningElement) {
|
//页面基础变量
|
@track agencyProType;
|
@track category1;
|
@track cate2;
|
// @track eSetId;
|
@track accountId;
|
@track title = [];
|
@track raesList = [];
|
@track recordList = [];
|
@track userWorkLocation;
|
@track totalNum;
|
@track orderNumberArrived;
|
@track deliveryDetailCount;
|
@track orderNumberNotarrive;
|
@track moreThanSevenDays;
|
@track showSpinner = true;
|
@track showPage = false;
|
@track showPop = false;
|
@track popTitle;
|
stylesLoaded = false;
|
//是否一直显示提示
|
@track isNoteStay = true;
|
|
@track colms = [
|
// {label:'消耗品订单名称',fieldName:'Name'},
|
// {label:'订单总数',fieldName:'Total_num__c'},
|
// {label:'已到货数量',fieldName:'OrderNumber_arrived__c'},
|
// {label:'待系统操作入库数量',fieldName:'Delivery_detail_count__c'},
|
// {label:'还没发货数量',fieldName:'OrderNumber_notarrive__c'},
|
// {label:'发货七天还未到货数',fieldName:'More_than_seven_days__c'},
|
{label:'消耗品订单名称',
|
type: "customOutputGood",
|
typeAttributes: {
|
outputValue: { fieldName: "Name" },
|
type: 'Title',
|
recordId: { fieldName: "Id" }
|
},
|
hideDefaultActions: true,initialWidth:200},
|
{label:'SAP合同号',fieldName:'ContractNo__c',hideDefaultActions: true},
|
{label:'订单总数',
|
type: "customOutputGood",
|
typeAttributes: {
|
outputValue: { fieldName: "Total_num__c" },
|
type: 'TotalNum',
|
recordId: { fieldName: "Id" }
|
},
|
hideDefaultActions: true, initialWidth: 100},
|
{label:'已到货数量',
|
type: "customOutputGood",
|
typeAttributes: {
|
outputValue: { fieldName: "OrderNumber_arrived__c" },
|
type: 'ArrDet',
|
recordId: { fieldName: "Id" }
|
},
|
hideDefaultActions: true, initialWidth: 110},
|
{label:'待系统操作入库数量',
|
type: "customOutputGood",
|
typeAttributes: {
|
outputValue: { fieldName: "Delivery_detail_count__c" },
|
type: 'DeliveryDet',
|
recordId: { fieldName: "Id" }
|
},
|
hideDefaultActions: true, initialWidth: 180},
|
{label:'还没发货数量',
|
type: "customOutputGood",
|
typeAttributes: {
|
outputValue: { fieldName: "OrderNumber_notarrive__c" },
|
type: 'NotArrDet',
|
recordId: { fieldName: "Id" }
|
},
|
hideDefaultActions: true, initialWidth: 120},
|
{label:'发货七天还未到货数',
|
type: "customOutputGood",
|
typeAttributes: {
|
outputValue: { fieldName: "More_than_seven_days__c" },
|
type: 'MoreThan7',
|
recordId: { fieldName: "Id" }
|
},
|
hideDefaultActions: true, initialWidth: 180},
|
{label:'最新发货日期',fieldName:'Shipment_date__c',hideDefaultActions: true, initialWidth: 140},
|
{label:'首次发货日期',fieldName:'First_Delivery__c',hideDefaultActions: true, initialWidth: 140}
|
];
|
|
@track colms2 = [
|
{label:'产品型号',fieldName:'prodModel',hideDefaultActions: true},
|
{label:'数量',fieldName:'recordCount',hideDefaultActions: true,initialWidth: 100}
|
];
|
|
//获取参数
|
// @wire(CurrentPageReference)
|
// getStateParameters(currentPageReference) {
|
// console.log('CurrentPageReference');
|
// if (currentPageReference) {
|
// this.eSetId = currentPageReference.state?.ESetid;
|
// }
|
// }
|
|
renderedCallback(){
|
if (!this.stylesLoaded) {
|
Promise.all([loadStyle(this, WrappedHeaderTable)])
|
.then(() => {
|
console.log("Custom styles loaded");
|
this.stylesLoaded = true;
|
})
|
.catch((error) => {
|
console.error("Error loading custom styles");
|
});
|
}
|
}
|
|
//初始化
|
connectedCallback(){
|
init()
|
.then(result=>{
|
this.isNoteStay = result.isNoteStay;
|
if(result.result == 'Success'){
|
this.agencyProType = result.agencyProType;
|
this.accountId = result.accountId;
|
this.title = result.title;
|
this.userWorkLocation = result.userWorkLocation;
|
this.totalNum = result.totalNum;
|
this.orderNumberArrived = result.orderNumberArrived;
|
this.deliveryDetailCount = result.deliveryDetailCount;
|
this.orderNumberNotarrive = result.orderNumberNotarrive;
|
this.moreThanSevenDays = result.moreThanSevenDays;
|
this.raesList = result.raesList;
|
this.raesList.push({Id:'1',Name:'订单明细汇总',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays});
|
this.showSpinner = false;
|
this.showPage = true;
|
}else{
|
this.showSpinner = false;
|
console.log("Error:"+result.errorMsg);
|
this.showMyToast('初始化页面失败',result.errorMsg,'error');
|
}
|
})
|
}
|
|
//点击链接
|
clickLick(event){
|
var outputValue = event.detail.data.value;
|
var outputType = event.detail.data.type;
|
var recordId = event.detail.data.recordId;
|
console.log("click:"+outputValue+"---"+outputType+"---"+recordId);
|
if(outputType == 'Title'){
|
const config = {
|
type: 'standard__webPage',
|
attributes: {
|
url: '/lexarrivegoods?ESetId='+recordId
|
}
|
};
|
this[NavigationMixin.Navigate](config);
|
}else if(outputType == 'TotalNum'){
|
this.popTitle = '所有产品一览';
|
initTotalNum({ordId:recordId, type:'all'})
|
.then(result=>{
|
if(result.result == 'Success'){
|
// this.recordList = result.recordList;
|
var dataStr = JSON.stringify(result.recordList);
|
this.recordList = JSON.parse(dataStr);
|
console.log('data:'+JSON.stringify(this.recordList));
|
this.showPop = true;
|
}else{
|
this.showMyToast('加载所有产品一览页面失败',result.errorMsg,'error');
|
}
|
})
|
}else if(outputType == 'ArrDet'){
|
if(recordId == '1'){
|
this.popTitle = '所有已到货产品一览';
|
initArrDetAll({type:'all'})
|
.then(result=>{
|
if(result.result == 'Success'){
|
// this.recordList = result.recordList;
|
var dataStr = JSON.stringify(result.recordList);
|
this.recordList = JSON.parse(dataStr);
|
console.log('data:'+JSON.stringify(this.recordList));
|
this.showPop = true;
|
}else{
|
this.showMyToast('加载所有已到货产品一览页面失败',result.errorMsg,'error');
|
}
|
})
|
}else{
|
this.popTitle = '已到货产品一览';
|
initArrDet({orderId:recordId})
|
.then(result=>{
|
if(result.result == 'Success'){
|
this.recordList = result.recordList;
|
console.log('data:'+JSON.stringify(this.recordList));
|
this.showPop = true;
|
}else{
|
this.showMyToast('加载已到货产品一览页面失败',result.errorMsg,'error');
|
}
|
})
|
}
|
}else if(outputType == 'DeliveryDet'){
|
if(recordId == '1'){
|
this.popTitle = '所有已发货还没到货产品一览';
|
initDeliveryDetAll({type:'all'})
|
.then(result=>{
|
if(result.result == 'Success'){
|
this.recordList = result.recordList;
|
console.log('data:'+JSON.stringify(this.recordList));
|
this.showPop = true;
|
}else{
|
this.showMyToast('加载所有已发货还没到货产品一览页面失败',result.errorMsg,'error');
|
}
|
})
|
}else{
|
this.popTitle = '未到货产品一览';
|
initDeliveryDet({orderId:recordId})
|
.then(result=>{
|
if(result.result == 'Success'){
|
this.recordList = result.recordList;
|
console.log('data:'+JSON.stringify(this.recordList));
|
this.showPop = true;
|
}else{
|
this.showMyToast('加载未到货产品一览页面失败',result.errorMsg,'error');
|
}
|
})
|
}
|
}else if(outputType == 'NotArrDet'){
|
if(recordId == '1'){
|
this.popTitle = '所有还没发货产品一览';
|
initNotArrDetAll({type:'all'})
|
.then(result=>{
|
if(result.result == 'Success'){
|
this.recordList = result.recordList;
|
console.log('data:'+JSON.stringify(this.recordList));
|
this.showPop = true;
|
}else{
|
this.showMyToast('加载所有还没发货产品一览页面失败',result.errorMsg,'error');
|
}
|
})
|
}else{
|
this.popTitle = '还没发货数量';
|
initNotArrDet({orderId:recordId})
|
.then(result=>{
|
if(result.result == 'Success'){
|
this.recordList = result.recordList;
|
console.log('data:'+JSON.stringify(this.recordList));
|
this.showPop = true;
|
}else{
|
this.showMyToast('加载还没发货数量页面失败',result.errorMsg,'error');
|
}
|
})
|
}
|
|
}else if(outputType == 'MoreThan7'){
|
if(recordId == '1'){
|
this.popTitle = '所有发货七天还未到货数';
|
initMoreThan7All({type:'all'})
|
.then(result=>{
|
if(result.result == 'Success'){
|
this.recordList = result.recordList;
|
console.log('data:'+JSON.stringify(this.recordList));
|
this.showPop = true;
|
}else{
|
this.showMyToast('加载所有发货七天还未到货数页面失败',result.errorMsg,'error');
|
}
|
})
|
}else{
|
this.popTitle = '发货七天还未到货数';
|
initMoreThan7({orderId:recordId})
|
.then(result=>{
|
if(result.result == 'Success'){
|
this.recordList = result.recordList;
|
console.log('data:'+JSON.stringify(this.recordList));
|
this.showPop = true;
|
}else{
|
this.showMyToast('加载发货七天还未到货数页面失败',result.errorMsg,'error');
|
}
|
})
|
}
|
}
|
}
|
|
//关闭弹窗
|
closePop(){
|
this.showPop = false;
|
}
|
|
//消耗品订单名称变更
|
category1Change(event){
|
this.category1 = event.detail.value;
|
}
|
|
//最新发货日期变更
|
cate2Change(event){
|
this.cate2 = event.detail.value;
|
}
|
|
//检索
|
search(){
|
this.showSpinner = true;
|
searchConsumableorderdetails({
|
category1Str:this.category1,
|
cate2Str:this.cate2,
|
accountidStr:this.accountId,
|
userWorkLocationStr:this.userWorkLocation,
|
agencyProTypeStr:this.agencyProType})
|
.then(result=>{
|
this.showSpinner = false;
|
if(result.result == 'Success'){
|
this.raesList = result.raesList;
|
this.raesList.push({Id:'1',Name:'订单明细汇总',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays});
|
if(this.raesList.length > 1){
|
var count = this.raesList.length - 1;
|
this.showMyToast('搜索成功','共搜索到'+count+'条数据','success');
|
}else{
|
this.showMyToast('未搜索到数据','','error');
|
}
|
}else{
|
this.showMyToast('搜索失败',result.errorMsg,'error');
|
}
|
})
|
}
|
|
//清空搜索框
|
clear(){
|
this.showSpinner = true;
|
this.category1 = '';
|
this.cate2 = null;
|
searchConsumableorderdetails({
|
category1Str:this.category1,
|
cate2Str:this.cate2,
|
accountidStr:this.accountId,
|
userWorkLocationStr:this.userWorkLocation,
|
agencyProTypeStr:this.agencyProType})
|
.then(result=>{
|
this.showSpinner = false;
|
if(result.result == 'Success'){
|
this.raesList = result.raesList;
|
this.raesList.push({Id:'1',Name:'订单明细汇总',Total_num__c:this.totalNum,OrderNumber_arrived__c:this.orderNumberArrived,Delivery_detail_count__c:this.deliveryDetailCount,OrderNumber_notarrive__c:this.orderNumberNotarrive,More_than_seven_days__c:this.moreThanSevenDays});
|
if(this.raesList.length > 1){
|
var count = this.raesList.length - 1;
|
this.showMyToast('搜索成功','共搜索到'+count+'条数据','success');
|
}else{
|
this.showMyToast('未搜索到数据','','error');
|
}
|
}else{
|
this.showMyToast('搜索失败',result.errorMsg,'error');
|
}
|
})
|
}
|
|
//入库
|
orderArrive(){
|
const config = {
|
type: 'standard__webPage',
|
attributes: {
|
url: '/lexarrivegoods?ArrType=Arr'
|
}
|
};
|
this[NavigationMixin.Navigate](config);
|
}
|
|
//返品
|
orderReturn(){
|
const config = {
|
type: 'standard__webPage',
|
attributes: {
|
url: '/lexarrivegoods?ArrType=ReG'
|
}
|
};
|
this[NavigationMixin.Navigate](config);
|
}
|
|
showMyToast(title, message, variant) {
|
console.log('show custom message');
|
var iconName = '';
|
var content = '';
|
if(variant == 'success'){
|
iconName = 'utility:check';
|
}else{
|
iconName = 'utility:error';
|
}
|
if(message != ''){
|
content = '<h2><strong>'+title+'<strong/></h2><h5>'+message+'</h5>';
|
}else{
|
content = '<h2><strong>'+title+'<strong/></h2>';
|
}
|
this.template.querySelector('c-common-toast').
|
showToast(variant,content,iconName,10000);
|
// var mode;
|
// if(this.isNoteStay){
|
// mode ='sticky';
|
// }else{
|
// mode = 'dismissable';
|
// }
|
// const evt = new ShowToastEvent({
|
// title: title,
|
// message: message,
|
// variant: variant,
|
// mode: mode
|
// });
|
// this.dispatchEvent(evt);
|
}
|
}
|