|
|
@@ -2,32 +2,42 @@ Ext.define('school.view.basic.class.ClassInfoController', {
|
|
|
extend: 'Ext.app.ViewController',
|
|
|
alias: 'controller.basic-class-classinfo',
|
|
|
|
|
|
- onItemMouseEnter: function(tree, record, item, index, e, eOpts) {
|
|
|
- var icons = item.getElementsByClassName('action-icon');
|
|
|
- if(record.data.leaf) {
|
|
|
- icons[1].classList.remove('x-hidden');
|
|
|
- return;
|
|
|
- }
|
|
|
+ onAfterRender: function() {
|
|
|
+ let me = this,
|
|
|
+ view = me.getView(),
|
|
|
+ viewModel = me.getViewModel();
|
|
|
|
|
|
- if(record.data.id == 'root') {
|
|
|
- icons[0].classList.remove('x-hidden');
|
|
|
- return;
|
|
|
- }
|
|
|
+ viewModel.get('store_grade').load();
|
|
|
+ },
|
|
|
|
|
|
- icons[0].classList.remove('x-hidden');
|
|
|
- icons[1].classList.remove('x-hidden');
|
|
|
+ onItemMouseEnter: function(tree, record, item, index, e, eOpts) {
|
|
|
+ let icons = item.getElementsByClassName('action-icon');
|
|
|
+ let addIcon = icons[0],
|
|
|
+ editIcon = icons[1],
|
|
|
+ deleteIcon = icons[2];
|
|
|
+ if(record.data.type == 'SCHOOL') {
|
|
|
+ addIcon.classList.remove('x-hidden');
|
|
|
+ }else if(record.data.type == 'GRADE') {
|
|
|
+ addIcon.classList.remove('x-hidden');
|
|
|
+ editIcon.classList.remove('x-hidden');
|
|
|
+ deleteIcon.classList.remove('x-hidden');
|
|
|
+ }else if(record.data.type == 'CLASS') {
|
|
|
+ // addIcon.classList.remove('x-hidden');
|
|
|
+ editIcon.classList.remove('x-hidden');
|
|
|
+ deleteIcon.classList.remove('x-hidden');
|
|
|
+ }
|
|
|
},
|
|
|
|
|
|
onItemMouseLeave: function(tree, record, item, index, e, eOpts) {
|
|
|
- var icons = item.getElementsByClassName('action-icon');
|
|
|
+ let icons = item.getElementsByClassName('action-icon');
|
|
|
|
|
|
- for(var x = 0; x < icons.length; x++) {
|
|
|
+ for(let x = 0; x < icons.length; x++) {
|
|
|
icons[x].classList.add('x-hidden');
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- onItemclick: function(tree, record, item, index, e, eOpts) {
|
|
|
- var me = this,
|
|
|
+ onItemClick: function(tree, record, item, index, e, eOpts) {
|
|
|
+ let me = this,
|
|
|
refs = me.getReferences(),
|
|
|
listCard = refs.listcard;
|
|
|
|
|
|
@@ -35,8 +45,24 @@ Ext.define('school.view.basic.class.ClassInfoController', {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ onItemBeforeDrop: function(node, data, overModel, dropPosition, dropHandlers) {
|
|
|
+ let cdata = data.records[0].data;
|
|
|
+ let tdata = overModel.data;
|
|
|
+ dropHandlers.wait = true;
|
|
|
+
|
|
|
+ if(cdata.type == tdata.type && dropPosition != 'append') {
|
|
|
+ dropHandlers.processDrop();
|
|
|
+ }else {
|
|
|
+ dropHandlers.cancelDrop();
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ onItemDrop: function() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
onToggleTree: function() {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
viewModel = me.getViewModel(),
|
|
|
refs = me.getReferences(),
|
|
|
treeList = refs.treelist,
|
|
|
@@ -59,7 +85,7 @@ Ext.define('school.view.basic.class.ClassInfoController', {
|
|
|
},
|
|
|
|
|
|
onTreeUp: function() {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
viewModel = me.getViewModel(),
|
|
|
refs = me.getReferences(),
|
|
|
treeList = refs.treelist,
|
|
|
@@ -78,49 +104,77 @@ Ext.define('school.view.basic.class.ClassInfoController', {
|
|
|
},
|
|
|
|
|
|
onTreeAddClick: function(tree, row, col, item, e, eOpts, tr) {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
store = tree.store,
|
|
|
record = store.getAt(row);
|
|
|
|
|
|
- me.showTreeAddWin(record.data);
|
|
|
+ me.showTreeAddWin(record.data, record);
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ onTreeEditClick: function(tree, row, col, item, e, eOpts, tr) {
|
|
|
+ let me = this,
|
|
|
+ store = tree.store,
|
|
|
+ record = store.getAt(row);
|
|
|
|
|
|
+ me.showTreeEditWin(record.data, true);
|
|
|
},
|
|
|
|
|
|
onTreeDeleteClick: function(tree, row, col, item, e, eOpts, tr) {
|
|
|
- var me = this,
|
|
|
+ let me = this,
|
|
|
refs = me.getReferences(),
|
|
|
listCard = refs.listcard,
|
|
|
treeList = refs.treelist,
|
|
|
store = treeList.store,
|
|
|
record = store.getAt(row),
|
|
|
rootNode = treeList.getRootNode(),
|
|
|
+ _id = record.data._id,
|
|
|
id = record.data.id,
|
|
|
+ type = record.data.type,
|
|
|
currentNode = rootNode.findChild('id', id, true),
|
|
|
parentNode = currentNode.parentNode;
|
|
|
|
|
|
- treeList.setSelection(parentNode);
|
|
|
- currentNode.remove();
|
|
|
-
|
|
|
- listCard.showNode(parentNode);
|
|
|
+ let url;
|
|
|
+
|
|
|
+ if(type == 'GRADE') {
|
|
|
+ // url = 'http://10.1.80.47:9560/grade/delete'
|
|
|
+ url = '/api/school/grade/delete'
|
|
|
+ }else {
|
|
|
+ // url = 'http://10.1.80.47:9560/grade/deleteClass'
|
|
|
+ url = '/api/school/grade/deleteClass'
|
|
|
+ }
|
|
|
+
|
|
|
+ school.util.BaseUtil.request({
|
|
|
+ url: url + '/' + _id,
|
|
|
+ method: 'POST'
|
|
|
+ }).then(function(res) {
|
|
|
+ treeList.setSelection(parentNode);
|
|
|
+ currentNode.remove();
|
|
|
+ listCard.showNode(parentNode);
|
|
|
+ }).catch(function(e) {
|
|
|
+ school.util.BaseUtil.showErrorToast(e.message);
|
|
|
+ });
|
|
|
},
|
|
|
|
|
|
- showTreeAddWin: function(data) {
|
|
|
- var me = this,
|
|
|
+ showTreeAddWin: function(data, record) {
|
|
|
+ let me = this,
|
|
|
view = me.getView(),
|
|
|
refs = me.getReferences(),
|
|
|
treeList = refs.treelist,
|
|
|
listCard = refs.listcard,
|
|
|
win = refs.treeaddwin,
|
|
|
id = data.id,
|
|
|
- type = data.type;
|
|
|
+ _id = data._id,
|
|
|
+ type = data.type,
|
|
|
+ childCount = record.childNodes.length;
|
|
|
|
|
|
- var title = type == 'SCHOOL' ? '新增年级' : '新增班级';
|
|
|
- var sumType = type == 'SCHOOL' ? 'GRADE' : 'CLASS';
|
|
|
+ let title = type == 'SCHOOL' ? '新增年级' : '新增班级';
|
|
|
+ let sumType = type == 'SCHOOL' ? 'GRADE' : 'CLASS';
|
|
|
if(!win) {
|
|
|
win = Ext.create('Ext.window.Window', {
|
|
|
width: 300,
|
|
|
height: 180,
|
|
|
- renderTo: Ext.getBody(),
|
|
|
+ constrain: true,
|
|
|
references: 'treeaddwin',
|
|
|
modal: true,
|
|
|
bodyPadding: 10,
|
|
|
@@ -142,26 +196,141 @@ Ext.define('school.view.basic.class.ClassInfoController', {
|
|
|
text: '确定',
|
|
|
formBind: true,
|
|
|
handler: function() {
|
|
|
- var form = this.up('form');
|
|
|
- var text = form.getValues().text;
|
|
|
- var rootNode = treeList.getRootNode();
|
|
|
- var currentNode;
|
|
|
- var childNode = {
|
|
|
+ let form = this.up('form');
|
|
|
+ let text = form.getValues().text;
|
|
|
+ let rootNode = treeList.getRootNode();
|
|
|
+ let currentNode;
|
|
|
+ let childNode = {
|
|
|
text: text,
|
|
|
type: sumType
|
|
|
};
|
|
|
- if(id == 'root') {
|
|
|
+ let url, params, headers;
|
|
|
+ if(type == 'SCHOOL') {
|
|
|
currentNode = rootNode;
|
|
|
childNode.leaf = false;
|
|
|
childNode.children = [];
|
|
|
+ // url = 'http://10.1.80.47:9560/grade/save';
|
|
|
+ url = '/api/school/grade/save';
|
|
|
+ params = {
|
|
|
+ grade: text,
|
|
|
+ no: childCount
|
|
|
+ };
|
|
|
+ headers = {
|
|
|
+ "Content-Type": 'application/x-www-form-urlencoded; charset=UTF-8'
|
|
|
+ }
|
|
|
}else {
|
|
|
currentNode = rootNode.findChild('id', id, true);
|
|
|
childNode.leaf = true;
|
|
|
+ // url = 'http://10.1.80.47:9560/grade/addClass';
|
|
|
+ url = '/api/school/grade/addClass';
|
|
|
+ params = JSON.stringify({
|
|
|
+ grade_id: _id,
|
|
|
+ clazz_name: text,
|
|
|
+ no: childCount
|
|
|
+ });
|
|
|
}
|
|
|
-
|
|
|
- currentNode.appendChild(childNode);
|
|
|
- listCard.showNode(currentNode);
|
|
|
- win.close();
|
|
|
+
|
|
|
+ view.setLoading(true);
|
|
|
+ school.util.BaseUtil.request({
|
|
|
+ url: url,
|
|
|
+ method: 'POST',
|
|
|
+ params: params,
|
|
|
+ headers: headers
|
|
|
+ }).then(function(res) {
|
|
|
+ view.setLoading(false);
|
|
|
+ childNode._id = res.data.id;
|
|
|
+ currentNode.appendChild(childNode);
|
|
|
+ listCard.showNode(currentNode);
|
|
|
+ win.close();
|
|
|
+ }).catch(function(e) {
|
|
|
+ view.setLoading(false);
|
|
|
+ school.util.BaseUtil.showErrorToast(e.message);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ }]
|
|
|
+ });
|
|
|
+ view.add(win);
|
|
|
+ }
|
|
|
+ win.setTitle(title);
|
|
|
+ win.show();
|
|
|
+ },
|
|
|
+
|
|
|
+ showTreeEditWin: function(data) {
|
|
|
+ let me = this,
|
|
|
+ view = me.getView(),
|
|
|
+ refs = me.getReferences(),
|
|
|
+ treeList = refs.treelist,
|
|
|
+ listCard = refs.listcard,
|
|
|
+ win = refs.treeaddwin,
|
|
|
+ _id = data._id,
|
|
|
+ id = data.id,
|
|
|
+ type = data.type;
|
|
|
+
|
|
|
+ let title = type == 'GRADE' ? '修改年级' : '修改班级';
|
|
|
+ if(!win) {
|
|
|
+ win = Ext.create('Ext.window.Window', {
|
|
|
+ width: 300,
|
|
|
+ height: 180,
|
|
|
+ references: 'treeaddwin',
|
|
|
+ constrain: true,
|
|
|
+ modal: true,
|
|
|
+ bodyPadding: 10,
|
|
|
+ layout: 'fit',
|
|
|
+ items: [{
|
|
|
+ xtype: 'form',
|
|
|
+ layout: 'column',
|
|
|
+ defaults: {
|
|
|
+ columnWidth: 1
|
|
|
+ },
|
|
|
+ items: [{
|
|
|
+ xtype: 'textfield',
|
|
|
+ name: 'text',
|
|
|
+ emptyText: '名称',
|
|
|
+ value: data.text,
|
|
|
+ allowBlank: false
|
|
|
+ }],
|
|
|
+ buttonAlign: 'center',
|
|
|
+ buttons: [{
|
|
|
+ text: '确定',
|
|
|
+ formBind: true,
|
|
|
+ handler: function() {
|
|
|
+ let form = this.up('form');
|
|
|
+ let text = form.getValues().text;
|
|
|
+ let rootNode = treeList.getRootNode();
|
|
|
+ let currentNode = rootNode.findChild('id', id, true);
|
|
|
+ let url, params, headers;
|
|
|
+ if(type == 'GRADE') {
|
|
|
+ // url = 'http://10.1.80.47:9560/grade/update';
|
|
|
+ url = '/api/school/grade/update';
|
|
|
+ params = JSON.stringify({
|
|
|
+ grade_id: _id,
|
|
|
+ grade_name: text
|
|
|
+ });
|
|
|
+ }else {
|
|
|
+ // url = 'http://10.1.80.47:9560/grade/updateClass';
|
|
|
+ url = '/api/school/grade/updateClass';
|
|
|
+ params = JSON.stringify({
|
|
|
+ clazz_id: _id,
|
|
|
+ clazz_name: text
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ view.setLoading(true);
|
|
|
+ school.util.BaseUtil.request({
|
|
|
+ url: url,
|
|
|
+ method: 'POST',
|
|
|
+ params: params,
|
|
|
+ headers: headers
|
|
|
+ }).then(function(res) {
|
|
|
+ view.setLoading(false);
|
|
|
+ currentNode.set('text', text);
|
|
|
+ currentNode.commit();
|
|
|
+ win.close();
|
|
|
+ }).catch(function(e) {
|
|
|
+ view.setLoading(false);
|
|
|
+ school.util.BaseUtil.showErrorToast(e.message);
|
|
|
+ });
|
|
|
}
|
|
|
}]
|
|
|
}]
|