/** * 课程表 */ Ext.define('school.view.interaction.timetable.List', { extend: 'school.view.core.base.BasePanel', xtype: 'interaction-timetable-list', controller: 'interaction-timetable-list', // dataUrl: 'http://10.1.80.36:9520/api/school/curriculum/list', dataUrl: '/api/school/curriculum/list', initComponent: function() { var me = this; Ext.apply(this, { searchField: [{ xtype: 'textfield', name: 'term', fieldLabel: '学期' }, { xtype: 'textfield', name: 'grade', fieldLabel: '年级' }, { xtype: 'textfield', name: 'class', fieldLabel: '班级' }], caller: null, _formXtype: null, _title: null, _deleteUrl: null, _batchOpenUrl: null, _batchCloseUrl: null, _batchDeleteUrl: null, gridConfig: { addTitle: '课程表', addXtype: 'interaction-timetable-detail', idField: 'notify_id', codeField: null, detailField: 'notify_title', dataUrl: me.dataUrl, caller: null, rootProperty: 'data.list', totalProperty: 'data.total', actionColumn: [], selModel: { checkOnly:true, type:'checkboxmodel', mode : "MULTI" , ignoreRightMouseSelection : false }, hiddenTools: false, toolBtns: [{ xtype: 'button', text: '删除' }, { xtype: 'button', text: '新增', handler: 'onAddClick' }], columns : [{ text: '课表名称', dataIndex: 'name', width: 120, tdCls: 'x-detail-column', listeners: { click: function(view, td, row, col, e, record, tr, eOpts, event) { let gridConfig = me.gridConfig; school.util.BaseUtil.openTab(gridConfig.addXtype, gridConfig.addTitle + '(' + record.get('name') + ')', gridConfig.addXtype + record.get(gridConfig.idField), { initId: record.get(gridConfig.idField) }); } } }, { text: '年级', dataIndex: 'gradeName' }, { text: '班级', dataIndex: 'clazzName' }, { text: '学期', dataIndex: 'termName', width: 120 }, { text: '状态', dataIndex: 'status' }] }, }); this.callParent(arguments); }, /** * 处理部分字段值 */ getConditionValue: function (field, value) { var me = this, xtypes = field.getXTypes().split('/'), conditionValue; if (me.isContainsAny(xtypes, ['datefield'])) { conditionValue = Ext.Date.format(new Date(from), 'Y-m-d H:i:s'); } else if (me.isContainsAny(xtypes, ['conmonthfield'])) { var from = value.from, to = value.to; conditionValue = from + ',' + to; } else if (me.isContainsAny(xtypes, ['condatefield'])) { var from = value.from, to = value.to; conditionValue = Ext.Date.format(new Date(from), 'Y-m-d 00:00:00') + ',' + Ext.Date.format(new Date(to), 'Y-m-d 23:59:59'); } else if (me.isContainsAny(xtypes, ['dbfindtrigger'])) { conditionValue = value; } else if (me.isContainsAny(xtypes, ['combobox', 'combo'])) { conditionValue = value; } else if (me.isContainsAny(xtypes, ['multicombo'])) { conditionValue = value.map ? value.map(function (v) { return v.value; }).join(',') : ''; } else { conditionValue = value; } return conditionValue; }, getExtraParams: function(store, op, condition) { var temp = {}; for(let x = 0; x < condition.length; x++) { let c = condition[x]; if(c.field == 'keyword') { temp.keyword = c.value; }else if(c.field == 'date') { temp.fromDate = new Date(c.value.split(',')[0]).getTime(); temp.endDate = new Date(c.value.split(',')[1]).getTime(); }else if(c.field == 'quoted') { temp.quoted = c.value == 'all' ? null : c.value; }else if(c.field == 'closed') { // temp.endDate = c.value == 'all' ? null : ( // c.value == '0' ? // ); } } let obj = { pageNumber: store.exportNumber?store.exportNumber:op._page, pageSize: store.exportPageSize?store.exportPageSize:store.pageSize }; for(let k in temp) { if(!!temp[k]) { obj[k] = temp[k]; } } return obj; }, });