|
|
@@ -0,0 +1,147 @@
|
|
|
+/**
|
|
|
+ * 学校通知
|
|
|
+ */
|
|
|
+Ext.define('school.view.interaction.notice.List', {
|
|
|
+ extend: 'school.view.core.base.BasePanel',
|
|
|
+ xtype: 'interaction-notice-list',
|
|
|
+
|
|
|
+ dataUrl: '/api/school/notice/list',
|
|
|
+ _title: '学校通知',
|
|
|
+
|
|
|
+ initComponent: function() {
|
|
|
+ var me = this;
|
|
|
+ Ext.apply(this, {
|
|
|
+ searchField: [{
|
|
|
+ xtype: 'textfield',
|
|
|
+ name: 'creator',
|
|
|
+ fieldLabel: '发布人'
|
|
|
+ }, {
|
|
|
+ xtype: 'datefield',
|
|
|
+ name: 'createTime',
|
|
|
+ fieldLabel: '发布时间'
|
|
|
+ }, {
|
|
|
+ xtype: 'textfield',
|
|
|
+ name: 'keyword',
|
|
|
+ fieldLabel:'关键字'
|
|
|
+ }],
|
|
|
+
|
|
|
+ gridConfig: {
|
|
|
+ addTitle: '学校通知',
|
|
|
+ addXtype: 'interaction-notice-schoolnotice',
|
|
|
+ idField: 'teacher_id',
|
|
|
+ codeField: 'teacher_number',
|
|
|
+ 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: '添加',
|
|
|
+ handler: function() {
|
|
|
+ school.util.BaseUtil.openTab('interaction-notice-schoolnotice', '新增学校通知', 'interaction-notice-schoolnotice-add');
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ xtype: 'button',
|
|
|
+ text: '删除'
|
|
|
+ }],
|
|
|
+ columns : [{
|
|
|
+ text: 'id',
|
|
|
+ dataIndex: 'stu_id',
|
|
|
+ hidden: true
|
|
|
+ }, {
|
|
|
+ text: '发布人',
|
|
|
+ dataIndex: 'stu_number',
|
|
|
+ width: 150
|
|
|
+ }, {
|
|
|
+ text: '发布时间',
|
|
|
+ dataIndex: 'stu_name',
|
|
|
+ width: 120
|
|
|
+ }, {
|
|
|
+ text: '标题',
|
|
|
+ dataIndex: 'stu_sex',
|
|
|
+ width: 120,
|
|
|
+ }, {
|
|
|
+ text: '内容',
|
|
|
+ dataIndex: 'grade',
|
|
|
+ width: 300
|
|
|
+ }, {
|
|
|
+ text: '通知人',
|
|
|
+ dataIndex: 'class'
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ });
|
|
|
+ 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;
|
|
|
+ },
|
|
|
+});
|