Ext JS 6.x JSON комплекс данных в модели - PullRequest
0 голосов
/ 27 февраля 2020

Я бы хотел смоделировать данные, полученные из магазина. Полученные данные имеют такую ​​структуру JSON:

{
    "idContractBor": 266,
    "idContract": 212,
    "dateFrom": "2015-01-01T00:00:00",
    "dateTo": "2015-12-31T00:00:00",
    "description": "Example1",
    "lines": [
        {
            "idContractBor": 266,
            "idContract": 212,   
            "amount": 18844.21,
            "accountingDate": "2015-01-01T00:00:00",
        },
        {
            "idContractBor": 266,
            "idContract": 213,   
            "amount": 500,
            "accountingDate": "2015-01-01T00:00:00",
        }
    ]
}

Я создал две модели:

Detail. js

Ext.define('example.model.contracts.Detail', {
    extend: 'Ext.data.Model',
    fields: [
        {name : 'idContractBor', type: 'number'},
        {name : 'idContract', type: 'number'},
        {name :'dateFrom', type: 'date'},
        {name :'dateTo', type: 'date'},
        {name :'description', type: 'string'}
    ],
    hasMany: {model: 'example.model.contracts.Lines', name: 'lines', associationKey: 'lines' },



Линии. js

Ext.define('example.model.contracts.Lines', {
    extend: 'Ext.data.Model',
    fields: [

        { name: 'idContractBor', type: 'number' },
        { name: 'idContract', type: 'number' },
        { name: 'amount', type: 'number' },
        { name: 'accountingDate', type: 'date' },



    ],

    belongsTo:'example.model.contracts.Detail'

});

И магазин, которым я пользуюсь. Это простой вызов ajax на сервер:

DetailStore. js

Ext.define('example.store.DetailStore', {
    extend: 'Ext.data.Store',
    storeId: 'DetailStore',
    model: 'example.model.contracts.Detail',
    alias: 'store.DetailStore',
    id:'detailStore',
    autoLoad: false,
    proxy: {
        type: 'ajax',
        url: './JsonService',
        paramsAsJson: true,
        actionMethods: {
            read   : 'POST', 
        },
        extraParams: { 
            type: 'SelectDetail'
        },
        reader: {
            type: 'json',       
            root  : '',

        },
        pageParam: false, 
        startParam: false, 
        limitParam: false,
    },



    listeners: {
        load:{
            fn: function(store, records, success, obj){

                if(success){
                    console.log("There u have")
                    [...............]  

                }            

            }
        }
    }
});

Проблема заключается в том, когда я отлаживаю в консоли разработчика I не вижу данных, смоделированных должным образом. деталь имеет правильную форму, но линии , кажется, не могут быть добавлены в модель Lines.

Все эти вещи имеют объект, который должен отображаться в сетка панели с формой выше.

Что-нибудь не хватает?,

Заранее спасибо

...