import { LightningElement, wire, api, track } from 'lwc';
|
import init from '@salesforce/apex/LexOverdueStockController.init';
|
import barcodeEntry from '@salesforce/apex/LexOverdueStockController.searchorderBean';
|
import save from '@salesforce/apex/LexOverdueStockController.save';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import { NavigationMixin } from 'lightning/navigation';
|
//table css
|
import { loadStyle } from "lightning/platformResourceLoader";
|
import WrappedHeaderTable from "@salesforce/resourceUrl/lexdatatable";
|
|
|
//过期库存一览
|
const columns = [
|
{
|
label: '是否销存',
|
fieldName: 'iscount',
|
type: 'checkbox',
|
hideDefaultActions: true,
|
initialWidth: 80,
|
},
|
{
|
label: '消耗品名称',
|
fieldName: 'prodname',
|
type: 'prodname',
|
wrapText: true,
|
initialWidth: 350,
|
|
hideDefaultActions: true
|
|
},
|
{
|
label: '单位',
|
fieldName: 'boxPiece',
|
hideDefaultActions: true,
|
// initialWidth: 250,
|
|
},
|
{
|
label: '过期数量',
|
fieldName: 'overlimitCount',
|
hideDefaultActions: true,
|
cellAttributes: { alignment: 'right' }
|
|
// initialWidth: 250,
|
|
},
|
{
|
label: '销存数量',
|
fieldName: 'pandian',
|
hideDefaultActions: true,
|
cellAttributes: { alignment: 'right' }
|
// initialWidth: 250,
|
// cellAttributes: { alignment: 'center' }
|
}
|
];
|
//销存明细
|
const column = [
|
|
{
|
label: '消耗品名称',
|
fieldName: 'Name__c',
|
type: 'Name',
|
// initialWidth : 300,
|
hideDefaultActions: true,
|
cellAttributes: { alignment: 'left' }
|
},
|
{
|
label: '单位',
|
fieldName: 'Box_Piece__c',
|
initialWidth : 80,
|
hideDefaultActions: true
|
},
|
{
|
label: 'BarCode',
|
fieldName: 'Bar_Code__c',
|
wrapText: true,
|
hideDefaultActions: true,
|
initialWidth : 500,
|
},
|
{
|
label: '使用期限',
|
fieldName: 'Sterilization_limit__c',
|
hideDefaultActions: true,
|
// initialWidth : 250
|
}
|
,
|
{
|
label: '销存原因',
|
fieldName: 'diffReason',
|
hideDefaultActions: true,
|
initialWidth: 160
|
}
|
];
|
|
|
export default class LexOverdueStock extends NavigationMixin (LightningElement ){
|
columns = columns
|
column = column
|
@track data =[];
|
@track overduePageRecords = [];
|
@track iSinventory = false
|
|
|
//加载框
|
// @track casesSpinner = true;
|
@track showSpinner =true;
|
//显示口
|
@track showbutton = false
|
@track showTable = false;
|
@track showTables = false;
|
//销存一览数据
|
@track accountName;
|
@track agencyProType;
|
@track userWorkLocation;
|
@track barcode = ''
|
@track orderDetZaiku
|
@track selectedRows = [];
|
@track codPageRecordsLWC;
|
@track Id;
|
@track overdueList = [];
|
|
|
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() {
|
console.log('初始化');
|
this.showSpinner = true;
|
|
init().then((result) => {
|
result = JSON.parse(JSON.stringify(result));
|
console.log('result ='+JSON.stringify(result));
|
console.log('result 1='+result.entity.codPageRecords);
|
if(result.status = 'Success'){
|
this.data = JSON.parse(result.entity.codPageRecords);
|
this.codPageRecordsLWC = result.entity.codPageRecords;
|
console.log('this.data'+this.data);
|
this.accountName = result.entity.accountName;
|
this.agencyProType = result.entity.agencyProType;
|
this.userWorkLocation = result.entity.userWorkLocation;
|
this.showTable = true;
|
// this.casesSpinner = false;
|
this.showSpinner = false;
|
}else {
|
this.showMyToast('初始化失败',result.msg,'error');
|
this.showSpinner = false;
|
}
|
}).catch((error) => {
|
console.log('error = ' + JSON.stringify(error));
|
});
|
}
|
//barcode录入
|
barcodeEntrys(){
|
this.showSpinner = true;
|
this.showTable = false;
|
console.log('code'+this.barcode);
|
console.log(' this.accountName'+ this.accountName);
|
console.log(' this.barcode'+ this.barcode);
|
|
if(this.barcode == ''||this.barcode==null){
|
this.showMyToast('获取失败','请输入BarCode号','error');
|
this.showSpinner = false;
|
}
|
barcodeEntry({
|
accountNameLWC: this.accountName,
|
agencyProTypeLWC: this.agencyProType,
|
userWorkLocationLWC:this.userWorkLocation,
|
barcodeLWC:this.barcode,
|
codPageRecordsLWC:this.codPageRecordsLWC
|
}).then((result)=>{
|
result = JSON.parse(JSON.stringify(result));
|
if (result.status == 'Success') {
|
this.overduePageRecords = JSON.parse(result.entity.overduePageRecords);
|
this.overdueList = result.entity.overdueList;
|
this.iSinventory = result.entity.iSinventory;
|
console.log('result录入'+JSON.stringify( result));
|
console.log('overdueList==>'+JSON.stringify( this.overdueList));
|
for(let i in this.overduePageRecords){
|
if(this.overduePageRecords[i].Prod!=null){
|
this.overduePageRecords[i]['Name__c'] = this.overduePageRecords[i].Prod.Name__c;
|
|
}
|
this.overduePageRecords[i]['Bar_Code__c'] = this.overduePageRecords[i].orderdetails2.Bar_Code__c;
|
this.overduePageRecords[i]['Box_Piece__c'] = this.overduePageRecords[i].orderdetails2.Box_Piece__c;
|
this.overduePageRecords[i]['Sterilization_limit__c'] = this.overduePageRecords[i].orderdetails2.Sterilization_limit__c;
|
}
|
this.data = JSON.parse(result.entity.codPageRecords);
|
console.log(' this.data'+ JSON.stringify(this.data));
|
for (var i in this.data) {
|
if (this.data[i]['check']) {
|
this.selectedRows.push(this.data[i].prodid);
|
console.log('selectedRows:' + this.selectedRows);
|
}
|
}
|
this.showSpinner = false;
|
// this.showTables = true;
|
this.showTable = true;
|
}else{
|
this.showMyToast('获取失败',result.msg,'error');
|
this.showSpinner = false;
|
}
|
|
}).catch((error) => {
|
console.log('error = ' + JSON.stringify(error));
|
});
|
|
}
|
//获取当前输入值
|
handleChange(event) {
|
let value = event.detail.value;
|
console.log('value' + value);
|
this.barcode = value;
|
console.log('this.barcode'+this.barcode);
|
}
|
getSelectedRows(event) {
|
console.log('打勾');
|
const selectedRows = event.detail.selectedRows;
|
console.log('this.selectedRows = ' + this.selectedRows);
|
for (var i in this.data) {
|
this.data[i]['check'] = false;
|
}
|
for (var i in this.data) {
|
for (var j in selectedRows) {
|
console.log('this.selectedRows111 = ' + selectedRows[j].prodid);
|
console.log('this.selectedRows1112 = ' + this.data[i].prodid );
|
if (this.data[i].prodid == selectedRows[j].prodid) {
|
this.data[i]['check'] = true;
|
}
|
}
|
}
|
}
|
//保存
|
saveConfirm() {
|
console.log('进入销存确认');
|
this.showSpinner = true;
|
var el = this.template.querySelector('c-lex-custom-lightning-datatable');
|
var selected = el.getSelectedRows();
|
this.selectedData = selected;
|
console.log('选中数据' + JSON.stringify(this.selectedData));
|
console.log('this.overdueList'+this.overdueList);
|
save({
|
iSinventory: this.iSinventory,
|
saveCodPageRecords: JSON.stringify(this.selectedData),
|
// saveoverdueList:JSON.stringify(this.overdueList)
|
saveoverdueList:this.overdueList
|
}).then((result) => {
|
result = JSON.parse(JSON.stringify(result));
|
console.log('result保存 = ' + JSON.stringify(result));
|
if (result.status == 'Success') {
|
this[NavigationMixin.Navigate]({
|
type: 'standard__recordPage',
|
attributes: {
|
recordId:result.entity.Id,
|
objectApiName: 'Consumable_order__c',
|
actionName: 'view'
|
}
|
});
|
this.showSpinner = false;
|
} else {
|
this.showMyToast('销存失败',result.msg,'error');
|
this.showSpinner = false;
|
}
|
})
|
.catch((error) => {
|
console.log('error = ' + JSON.stringify(error));
|
this.showSpinner = false;
|
});
|
}
|
|
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);
|
}
|
|
}
|