buli
2023-04-21 43fdbff49764d55c7b3a19a1d6e7d8aeb62072ef
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
import { LightningElement, track,api } from 'lwc';
import Product_Number_FIELD from '@salesforce/schema/Dealer_Stock__c.Product_Code__c';
import ONE_FIELD from '@salesforce/schema/Dealer_Stock__c.Product_Code__c';
import TWO_FIELD from '@salesforce/schema/Dealer_Stock__c.Product_Code__c';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
export default class InventoryEditingLWC extends LightningElement {
    // @track invRecord = {ProductNumber : Product_Number_FIELD,Inventory1: ONE_FIELD,Inventory2 : TWO_FIELD,key : Math.random().toString(36).substring(2, 15)};
    @track invRecord = {ProductNumber : Product_Number_FIELD,Inventory1: ONE_FIELD,Inventory2 : TWO_FIELD,key : Math.random().toString(36).substring(2, 15)};
    @track invRecords = [];
    toSaveLabel = 'Save';
 
    connectedCallback(){
        console.log('  === connectedCallback === ');
        this.inventoryTempRecords();
    }
    inventoryTempRecords(){
        console.log('===>初始化');
        this.invRecord = [];
        // for(var i=0; i < 1 ; i++){
        //     this.invRecords.push({ProductNumber : Product_Number_FIELD,Inventory1: ONE_FIELD,Inventory2 : TWO_FIELD,key : Math.random().toString(36).substring(2, 15)});
        // }
    }
 
    addRow(){
        console.log('=====>进入行项目');
        const len = this.invRecords.length;
        this.invRecords.push({ProductNumber : Product_Number_FIELD,Inventory1: ONE_FIELD,Inventory2 : TWO_FIELD,key : Math.random().toString(36).substring(2, 15)});
    }
    removeRow(event){
        const indexPos = event.currentTarget.name;
        let remList = [];
        remList = this.invRecords;
        remList.splice(indexPos,1);
        this.invRecords = remList;
    }
    handleClick(){
        console.log('保存');
        this.toSaveLabel = 'Saving...'
        let toSaveList = this.invRecords.slice(0);;
        toSaveList.forEach((element, index) => {
            console.log( index + ' ==> ' + JSON.stringify(element.Name));
            let eleType = typeof element.Name;
            console.log( 'typeof ==> ' + eleType);
            if(element.Name === '' || eleType=='object'){
                toSaveList.splice(index);
            }
        });
        // refreshApex(this.invRecord);
         
        this.inventoryTempRecords();
        console.log( 'Save ==> ' + JSON.stringify(toSaveList));
    }
 
    handleProductChange(event){   
 
        let foundelement = this.invRecords.find(ele => ele.key == event.target.dataset.id);
        console.log('=====>foundelement'+foundelement);
        foundelement.productNumber = event.target.value;
        this.accRecords = [this.accRecords];
        console.log(' ==>第一行' +  JSON.stringify(this.invRecords));
    }
    handleinv1Change(event){
        let foundelement = this.invRecords.find(ele => ele.key == event.target.dataset.id);
        foundelement.inventory1 = event.target.value;
        this.accRecords = [this.accRecords];
        console.log(' ==> 第二' +  JSON.stringify(this.invRecords));
    }
 
    handleinv2Change(event){
        let foundelement = this.invRecords.find(ele => ele.key == event.target.dataset.id);
        foundelement.inventory2 = event.target.value;
        this.accRecords = [this.accRecords];
        console.log(' ==>第三' +  JSON.stringify(this.invRecords));
    }
   
}