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';
|
|
|
//过期库存一览
|
const columns = [
|
{
|
label: '是否盘点',
|
fieldName: 'iscount',
|
type: 'checkbox',
|
hideDefaultActions: true,
|
initialWidth: 250,
|
},
|
{
|
label: '消耗品名称',
|
fieldName: 'prodname',
|
type: 'prodname',
|
initialWidth: 350,
|
hideDefaultActions: true
|
|
},
|
{
|
label: '单位',
|
fieldName: 'boxPiece',
|
hideDefaultActions: true,
|
initialWidth: 250,
|
|
},
|
{
|
label: '过期数量',
|
fieldName: 'overlimitCount',
|
hideDefaultActions: true,
|
initialWidth: 250,
|
|
},
|
{
|
label: '销存数量',
|
fieldName: 'pandian',
|
hideDefaultActions: true,
|
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 : 250,
|
hideDefaultActions: true
|
},
|
{
|
label: 'BarCode',
|
fieldName: 'Bar_Code__c',
|
hideDefaultActions: true,
|
initialWidth : 250
|
},
|
{
|
label: '使用期限',
|
fieldName: 'Sterilization_limit__c',
|
hideDefaultActions: true,
|
initialWidth : 250
|
}
|
,
|
{
|
label: '销存原因',
|
fieldName: 'diffReason',
|
hideDefaultActions: true,
|
initialWidth: 100
|
}
|
];
|
|
|
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
|
|
|
//初始化
|
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 {
|
console.log('Error:' + result.errorMsg);
|
const evt = new ShowToastEvent({
|
title: '解析失败',
|
message: result.errorMsg,
|
variant: 'error'
|
});
|
this.dispatchEvent(evt);
|
}
|
}).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);
|
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.iSinventory = result.entity.iSinventory;
|
console.log('result录入'+JSON.stringify( result));
|
console.log(JSON.stringify( this.overduePageRecords ));
|
for(let i in this.overduePageRecords){
|
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{
|
console.log('result.msg = ' + result.msg);
|
const evt = new ShowToastEvent({
|
title: '录入失败',
|
message: result.msg,
|
variant: 'error'
|
});
|
this.dispatchEvent(evt);
|
|
}
|
|
}).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('进入销存确认');
|
var el = this.template.querySelector('c-lex-custom-lightning-datatable');
|
var selected = el.getSelectedRows();
|
this.selectedData = selected;
|
console.log('选中数据' + JSON.stringify(this.selectedData));
|
save({
|
iSinventory: this.iSinventory,
|
saveCodPageRecords: JSON.stringify(this.selectedData)
|
}).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'
|
}
|
});
|
} else {
|
console.log('result.msg = ' + result.msg);
|
const evt = new ShowToastEvent({
|
title: '失败',
|
message: result.msg,
|
variant: 'error'
|
});
|
this.dispatchEvent(evt);
|
}
|
})
|
.catch((error) => {
|
console.log('error = ' + JSON.stringify(error));
|
});
|
}
|
|
|
|
|
|
|
|
}
|