import { LightningElement, wire, api, track } from 'lwc';
|
import oninit from '@salesforce/apex/LexProductLimitEditController.init';
|
import save from '@salesforce/apex/LexUpAccountProLimit.upAccount';
|
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
|
import { NavigationMixin } from 'lightning/navigation';
|
export default class LexProductLimitEdit extends NavigationMixin(
|
LightningElement
|
) {
|
@track invRecords = [];
|
@track accountid;
|
@track upstring = '';
|
@track userPro_Type;
|
@track showSpinner = true;
|
//获取链接参数
|
getQueryString(name) {
|
console.log('getQueryString name ' + name);
|
let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
|
let r = window.location.search.substr(1).match(reg);
|
if (r != null) {
|
return decodeURIComponent(r[2]);
|
}
|
return null;
|
}
|
|
connectedCallback() {
|
this.showSpinner = true;
|
console.log(' === connectedCallback === ');
|
//获取accountid userPro_Type
|
this.accountid = this.getQueryString('accountid');
|
this.accountid = this.accountid == null ? '' : this.accountid;
|
this.userPro_Type = this.getQueryString('userPro_Type');
|
this.userPro_Type = this.userPro_Type == null ? '' : this.userPro_Type;
|
//获取数据
|
oninit({
|
accountid: this.accountid,
|
userPro_Type: this.userPro_Type
|
})
|
.then((result) => {
|
result = JSON.parse(JSON.stringify(result));
|
console.log('result' + JSON.stringify(result));
|
if (result.status == 'Success') {
|
console.log('11===>' + result.entity.product_Limit);
|
console.log('11===>' + typeof result.entity.product_Limit);
|
let str = result.entity.product_Limit;
|
var arr = str.split(',');
|
console.log('arr==>' + arr);
|
console.log('arr==>' + arr.length);
|
console.log('arr==>' + typeof arr);
|
for (var i in arr) {
|
var arry = arr[i].split('|');
|
this.invRecords.push({
|
productNumber: arry[0],
|
inventory1: arry[1],
|
inventory2: arry[2]
|
});
|
}
|
this.showSpinner = false;
|
console.log(
|
'this.invRecords' + JSON.stringify(this.invRecords)
|
);
|
} else {
|
this.showSpinner = false;
|
console.log('error = ' + JSON.stringify(error));
|
}
|
})
|
.catch((error) => {
|
this.showSpinner = false;
|
console.log('error = ' + JSON.stringify(error));
|
});
|
// this.inventoryTempRecords();
|
}
|
|
addRow() {
|
let objRow = {
|
productNumber: '',
|
inventory1: '',
|
inventory2: '',
|
id: ++this.keyIndex
|
};
|
this.invRecords = [...this.invRecords, Object.create(objRow)];
|
}
|
removeRow(event) {
|
const indexPos = event.currentTarget.name;
|
let remList = [];
|
remList = this.invRecords;
|
remList.splice(indexPos, 1);
|
this.invRecords = remList;
|
}
|
|
handleClick() {
|
this.showSpinner = true;
|
console.log('保存');
|
console.log('this.invRecords' + JSON.stringify(this.invRecords));
|
for (var i in this.invRecords) {
|
console.log('inven1' + this.invRecords[i]['inventory1']);
|
console.log('数字1' + this.isNum(this.invRecords[i]['inventory1']));
|
console.log('inven2' + this.invRecords[i]['inventory2']);
|
console.log('数字2' + this.isNum(this.invRecords[i]['inventory2']));
|
if (
|
this.invRecords[i]['inventory1'] == '' ||
|
this.invRecords[i]['inventory1'] == null ||
|
this.invRecords[i]['inventory2'] == null ||
|
this.invRecords[i]['inventory2'] == ''
|
) {
|
this.showMyToast(
|
'保存失败',
|
'输入格式不正确,请输入数字',
|
'error'
|
);
|
this.showSpinner = false;
|
return;
|
}
|
if (
|
this.isNum(this.invRecords[i]['inventory1']) == false ||
|
this.isNum(this.invRecords[i]['inventory2']) == false
|
) {
|
this.showMyToast(
|
'保存失败',
|
'输入格式不正确,请输入数字',
|
'error'
|
);
|
this.showSpinner = false;
|
return;
|
}
|
if (
|
Number(this.invRecords[i]['inventory1']) >
|
Number(this.invRecords[i]['inventory2'])
|
) {
|
this.showMyToast(
|
'保存失败',
|
this.invRecords[i]['productNumber'] + '库存下限大于上限',
|
'error'
|
);
|
this.showSpinner = false;
|
return;
|
}
|
}
|
let dataStr = '';
|
for (var i in this.invRecords) {
|
dataStr =
|
dataStr +
|
this.invRecords[i]['productNumber'] +
|
'|' +
|
this.invRecords[i]['inventory1'] +
|
'|' +
|
this.invRecords[i]['inventory2'] +
|
',';
|
}
|
console.log('dataStr==>' + dataStr);
|
this.upstring = dataStr.substring(0, dataStr.lastIndexOf(','));
|
console.log('upstring' + this.upstring);
|
save({
|
accountId: this.accountid,
|
productLimit: this.upstring,
|
userPro_Type: this.userPro_Type
|
})
|
.then((result) => {
|
result = JSON.parse(JSON.stringify(result));
|
console.log('result===>' + JSON.stringify(result));
|
if (result.status == 'Success') {
|
this.showMyToast('保存成功', '', 'success');
|
this.showSpinner = false;
|
// setTimeout(this.toLexToppage(),5000 );
|
setTimeout(() => {
|
this.toLexToppage();
|
}, 500);
|
} else {
|
this.showMyToast('保存失败', result.msg, 'error');
|
this.showSpinner = false;
|
}
|
})
|
.catch((error) => {
|
console.log('error = ' + JSON.stringify(error));
|
this.showSpinner = false;
|
});
|
|
this.inventoryTempRecords();
|
console.log('Save ==> ' + JSON.stringify(toSaveList));
|
}
|
|
handleProductChange(event) {
|
if (event.target.name == 'productNumber') {
|
this.invRecords[event.currentTarget.dataset.index].productNumber =
|
event.target.value;
|
console.log('===>invrecords' + JSON.stringify(this.invRecords));
|
} else if (event.target.name == 'inventory1') {
|
this.invRecords[event.currentTarget.dataset.index].inventory1 =
|
event.target.value;
|
console.log('===>invrecords' + JSON.stringify(this.invRecords));
|
} else if (event.target.name == 'inventory2') {
|
this.invRecords[event.currentTarget.dataset.index].inventory2 =
|
event.target.value;
|
console.log('===>invrecords' + JSON.stringify(this.invRecords));
|
}
|
}
|
|
//数字验证
|
isNum(num) {
|
var reNum = /^[0-9]+$/;
|
return reNum.test(num);
|
}
|
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);
|
}
|
toLexToppage() {
|
this[NavigationMixin.Navigate]({
|
type: 'standard__webPage',
|
attributes: {
|
url: '/lextoppage'
|
}
|
});
|
}
|
}
|