Ext.define('EditProblem',{
extend:'CommonModule',
config:{
Store:null,
Date:null
},
constructor:function(cfg){
this.initConfig(cfg);
},
init:function(){
var me=this;
return me._createPanel();
},
createEditForm:function(){
var me=this;
me.createCategoryStore(); //调用store()
me.createBigStore();
me.createLitterStore();
var editForm = Ext.create('Ext.form.Panel',{
api:{
submit: DirectService.update
},
defaultType: 'textfield',
items: [{ name:'category',
hiddenName:'category',
width: 230,
xtype : 'combobox',
displayField : 'name', //显示的字段
valueField : 'code', //背后的值
queryMode : 'local', //注意是本地,最好写local
editable:false,
fieldLabel:'问题类别',
allowBlank: false,
blankText:'问题类别不能为空!',
store : me.categoryStore, // 调用store
value:me.getProblemDate().category, //富默认值
listeners:{
select:function(itemSelect){
editForm.getForm().findField('type1').setValue(''); //孩子设置为空
editForm.getForm().findField("type1").clearValue(); //清除孩子store
editForm.getForm().findField("type2").clearValue(); //清除孙子store
me.bigTypeStore.load({params:{parentId:editForm.getForm().findField('category').getValue(),level:2}}); //load 孩子的store
}
} },{
xtype: 'fieldcontainer',
layout: 'hbox',
defaultType: 'textfield',
items: [{
name:'type1',
hiddenName:'type1',
width: 230,
xtype : 'combobox',
displayField : 'name',
valueField : 'code',
queryMode : 'local',
editable:false,
fieldLabel:'大类',
allowBlank: false,
blankText:'大类不能为空!',
store :me.bigTypeStore, //调用孩子的store
value:me.getProblemDate().type1, //富默认值给孩子
listeners:{
select:function(itemSelect){
editForm.getForm().findField('type2').setValue(''); // 给孙子清空选择
editForm.getForm().findField("type2").clearValue(); //给孙子清空内容
me.litterTypeStore.load({params:{parentId:editForm.getForm().findField('type1').getValue(),level:3}}); //load 孙子的store
}
}
},{
name:'type2',
hiddenName:'type2',
width: 230,
xtype : 'combobox',
displayField : 'name',
valueField : 'code',
queryMode : 'local',
editable:false,
fieldLabel:'小类',
allowBlank: false,
blankText:'小类不能为空!',
store : me.litterTypeStore, //调用孙子的store
value:me.getProblemDate().type2 // 给孙子富默认值
}]
});
me.editForm=editForm;
return editForm;
},
createCategoryStore:function(){
var me=this;
var categoryStore = Ext.create("Ext.data.Store", {
fields : ['code', 'name','parent_code','level_', 'time_limit'],
autoLoad : true,
proxy : {
reader : {
root : 'records'
},
type : 'direct',
directFn:'DirectProblemService.listProblemType'
}
});
categoryStore.on('beforeload',function(store,options){
store.proxy.extraParams.parentId =0;
store.proxy.extraParams.level=1;
});
me.categoryStore=categoryStore;
},
createBigStore:function(){
var me=this;
var bigTypeStore = Ext.create("Ext.data.Store", {
fields : ['code', 'name','parent_code','level_','time_limit'],
proxy : {
reader : {
root : 'records'
},
type : 'direct',
directFn:'DirectProblemService.listProblemType'
}
});
bigTypeStore.load({params:{parentId:me.getProblemDate().category,level:2}}); //注意孩子load store一定要这样 me.getProblemDate().category (这个是爷爷的值) 这个是传过来的值
me.bigTypeStore=bigTypeStore;
},
createLitterStore:function(){
var me=this;
var litterTypeStore = Ext.create("Ext.data.Store", {
fields : ['code', 'name','parent_code','level_','time_limit'],
proxy : {
reader : {
root : 'records'
},
type : 'direct',
directFn:'DirectProblemService.listProblemType'
}
});
litterTypeStore.load({params:{parentId:me.getProblemDate().type1,level:3}});//注意孙子load store一定要这样 me.getProblemDate().type1 (这个是孩子的值) 这个是传过来的值
me.litterTypeStore=litterTypeStore;
},
});