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 = '