|
|
@@ -1,18 +1,19 @@
|
|
|
-Ext.define('school.view.core.base.ImportWindow', {
|
|
|
+Ext.define('school.view.core.button.import.Window', {
|
|
|
extend: 'Ext.window.Window',
|
|
|
xtype: 'importwindow',
|
|
|
- layout:'fit',
|
|
|
+
|
|
|
+ layout: 'fit',
|
|
|
|
|
|
requires: [
|
|
|
'Ext.form.field.File',
|
|
|
'Ext.container.ButtonGroup'
|
|
|
],
|
|
|
|
|
|
- bbar:['->',{
|
|
|
- hidden:true,
|
|
|
- name:'prev',
|
|
|
- text:'上一步',
|
|
|
- handler:function(b){
|
|
|
+ bbar: ['->', {
|
|
|
+ hidden: true,
|
|
|
+ name: 'prev',
|
|
|
+ text: '上一步',
|
|
|
+ handler: function (b) {
|
|
|
var p = this.ownerCt.ownerCt.items.items[0];
|
|
|
var tbar = p.dockedItems.items[0];
|
|
|
//first
|
|
|
@@ -40,10 +41,10 @@ Ext.define('school.view.core.base.ImportWindow', {
|
|
|
p.down('[name=detail]').show();
|
|
|
p.down('[name=message]').hide();
|
|
|
}
|
|
|
- },{
|
|
|
- name:'next',
|
|
|
- text:'下一步',
|
|
|
- handler:function(b){
|
|
|
+ }, {
|
|
|
+ name: 'next',
|
|
|
+ text: '下一步',
|
|
|
+ handler: function (b) {
|
|
|
var p = this.ownerCt.ownerCt.items.items[0];
|
|
|
var tbar = p.dockedItems.items[0];
|
|
|
//first
|
|
|
@@ -71,41 +72,42 @@ Ext.define('school.view.core.base.ImportWindow', {
|
|
|
p.down('[name=detail]').hide();
|
|
|
p.down('[name=message]').show();
|
|
|
}
|
|
|
- },{
|
|
|
- hidden:true,
|
|
|
- name:'over',
|
|
|
- text:'完成',
|
|
|
- disabled:true,
|
|
|
- handler:function(b){
|
|
|
+ }, {
|
|
|
+ hidden: true,
|
|
|
+ name: 'over',
|
|
|
+ text: '完成',
|
|
|
+ disabled: true,
|
|
|
+ handler: function (b) {
|
|
|
+ var win = b.up('window');
|
|
|
var form = b.ownerCt.ownerCt;
|
|
|
var id = form.importId;
|
|
|
- if(id){
|
|
|
+ if (id) {
|
|
|
form.setLoading(true);
|
|
|
Ext.Ajax.request({
|
|
|
- url: '/api/document/'+form.ownerCt.caller.toLocaleLowerCase()+'/saveToFormal',//这里是填写需要跨域访问的URL
|
|
|
+ // url: '/api/document/'+form.ownerCt.caller.toLocaleLowerCase()+'/saveToFormal',//这里是填写需要跨域访问的URL
|
|
|
+ // url: 'http://10.1.80.47:9560/' + win.pathKey + '/saveToFormal', //这里是填写需要跨域访问的URL
|
|
|
+ url: '/api/school/' + win.pathKey + '/saveToFormal', //这里是填写需要跨域访问的URL
|
|
|
method: 'post',
|
|
|
headers: {
|
|
|
'Access-Control-Allow-Origin': '*',
|
|
|
- 'Authorization': school.util.State.get('session').token,
|
|
|
+ 'Authorization': school.util.State.get('session').token,
|
|
|
"Content-Type": 'application/x-www-form-urlencoded;charset=UTF-8'
|
|
|
},
|
|
|
- params:{
|
|
|
- id:id,
|
|
|
- update:false
|
|
|
+ params: {
|
|
|
+ id: id,
|
|
|
+ update: false
|
|
|
},
|
|
|
success: function (response, opts) {
|
|
|
form.setLoading(false);
|
|
|
var res = Ext.decode(response.responseText);
|
|
|
- if(!res.success){
|
|
|
+ if (!res.success) {
|
|
|
var upload = form.down('[name=upload]');
|
|
|
upload.reset();
|
|
|
form.dockedItems.items[1].down('[name=over]').setDisabled(true);
|
|
|
form.down('[name=messagedetail]').setHtml(res.message + '</br></br><span style="color:#ff0000">请修改后重新上传</span>');
|
|
|
- }else{
|
|
|
- //刷新界面
|
|
|
- var g = form.ownerCt.down('grid');
|
|
|
- g.store.loadPage(g.store.currentPage);
|
|
|
- form.close();
|
|
|
+ } else {
|
|
|
+ win.onSuccess(res);
|
|
|
+ win.close();
|
|
|
}
|
|
|
},
|
|
|
failure: function (response, opts) {
|
|
|
@@ -115,97 +117,98 @@ Ext.define('school.view.core.base.ImportWindow', {
|
|
|
form.dockedItems.items[1].down('[name=over]').setDisabled(true);
|
|
|
var res = Ext.decode(response.responseText);
|
|
|
school.util.BaseUtil.showErrorToast('导入数据失败: ' + res.message);
|
|
|
-
|
|
|
+ win.onFailure(response);
|
|
|
}
|
|
|
});
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
form.close();
|
|
|
}
|
|
|
}
|
|
|
- },{
|
|
|
- name:'close',
|
|
|
- text:'关闭',
|
|
|
- handler:function(b){
|
|
|
+ }, {
|
|
|
+ name: 'close',
|
|
|
+ text: '关闭',
|
|
|
+ handler: function (b) {
|
|
|
b.ownerCt.ownerCt.close()
|
|
|
}
|
|
|
}],
|
|
|
|
|
|
- initComponent: function() {
|
|
|
+ initComponent: function () {
|
|
|
var me = this;
|
|
|
Ext.apply(me, {
|
|
|
- items:[{
|
|
|
- cls:'x-panel-import',
|
|
|
- padding:'10px 100px 10px 100px',
|
|
|
- xtype:'panel',
|
|
|
- layout:'vbox',
|
|
|
- tbar:['->',{
|
|
|
- name:'first',
|
|
|
- cls:'x-btn-import-first',
|
|
|
- style:'background: #34baf6;border-color: #35baf6; opacity: 1;',
|
|
|
- focusable:false,
|
|
|
- disabled:true,
|
|
|
- width:300,
|
|
|
- text:'下载模板并填写',
|
|
|
- },{
|
|
|
- name:'middle',
|
|
|
- disabled:true,
|
|
|
- focusable:false,
|
|
|
- style:'width: 20px;margin: 0px;margin-left: -16px;border-width: 1px 0px;min-width: 0px;border-style: solid;border-color: rgb(53, 186, 246); opacity: 1; background-color: #fff;',
|
|
|
- width:20,
|
|
|
- cls:'x-btn-import-middle'
|
|
|
- },{
|
|
|
- name:'last',
|
|
|
- disabled:true,
|
|
|
- cls:'x-btn-import-last',
|
|
|
- style:'border-left-width: 0px;background: #fff;border-color: #35baf6;opacity:1;background-color: #fff;',
|
|
|
- focusable:false,
|
|
|
- margin:'0 0 0 -1',
|
|
|
- width:300,
|
|
|
- text:'上传导入文件',
|
|
|
- },'->'],
|
|
|
- items:[{
|
|
|
- margin:'15px 0 0 0',
|
|
|
+ items: [{
|
|
|
+ cls: 'x-panel-import',
|
|
|
+ padding: '10px 100px 10px 100px',
|
|
|
+ xtype: 'panel',
|
|
|
+ layout: 'vbox',
|
|
|
+ tbar: ['->', {
|
|
|
+ name: 'first',
|
|
|
+ cls: 'x-btn-import-first',
|
|
|
+ style: 'background: #34baf6;border-color: #35baf6; opacity: 1;',
|
|
|
+ focusable: false,
|
|
|
+ disabled: true,
|
|
|
+ width: 300,
|
|
|
+ text: '下载模板并填写',
|
|
|
+ }, {
|
|
|
+ name: 'middle',
|
|
|
+ disabled: true,
|
|
|
+ focusable: false,
|
|
|
+ style: 'width: 20px;margin: 0px;margin-left: -16px;border-width: 1px 0px;min-width: 0px;border-style: solid;border-color: rgb(53, 186, 246); opacity: 1; background-color: #fff;',
|
|
|
+ width: 20,
|
|
|
+ cls: 'x-btn-import-middle'
|
|
|
+ }, {
|
|
|
+ name: 'last',
|
|
|
+ disabled: true,
|
|
|
+ cls: 'x-btn-import-last',
|
|
|
+ style: 'border-left-width: 0px;background: #fff;border-color: #35baf6;opacity:1;background-color: #fff;',
|
|
|
+ focusable: false,
|
|
|
+ margin: '0 0 0 -1',
|
|
|
+ width: 300,
|
|
|
+ text: '上传导入文件',
|
|
|
+ }, '->'],
|
|
|
+ items: [{
|
|
|
+ margin: '15px 0 0 0',
|
|
|
width: 240,
|
|
|
- labelWidth:160,
|
|
|
- buttonOnly:true,
|
|
|
- fieldLabel:'导入模板下载',
|
|
|
- name:'download',
|
|
|
+ labelWidth: 160,
|
|
|
+ buttonOnly: true,
|
|
|
+ fieldLabel: '导入模板下载',
|
|
|
+ name: 'download',
|
|
|
xtype: 'filefield',
|
|
|
buttonText: '下载模板',
|
|
|
- buttonConfig:{
|
|
|
- xtype:'button',
|
|
|
- handler:function(b){
|
|
|
- var caller = b.ownerCt.ownerCt.ownerCt.ownerCt.caller;
|
|
|
+ buttonConfig: {
|
|
|
+ xtype: 'button',
|
|
|
+ handler: function (b) {
|
|
|
//获取模版
|
|
|
var serverOptions = Ext.manifest.server;
|
|
|
- window.location.href = (serverOptions.basePath.https?serverOptions.basePath.https:serverOptions.basePath) + '/api/commons/excel/import/templet?caller='+caller;
|
|
|
+ // window.location.href = (serverOptions.basePath.https?serverOptions.basePath.https:serverOptions.basePath) + '/api/commons/excel/import/templet?caller='+me.caller;
|
|
|
+ // window.location.href = 'http://10.1.80.47:9560/' + 'excel/import/templet?caller=' + me.caller;
|
|
|
+ window.location.href = '/api/school/' + 'excel/import/templet?caller=' + me.caller;
|
|
|
}
|
|
|
}
|
|
|
- },{
|
|
|
- margin:'10px 0 0 45px',
|
|
|
+ }, {
|
|
|
+ margin: '10px 0 0 45px',
|
|
|
xtype: 'fieldset',
|
|
|
title: '导入说明',
|
|
|
- name:'detail',
|
|
|
+ name: 'detail',
|
|
|
collapsible: false,
|
|
|
items: [{
|
|
|
- xtype : 'fieldcontainer',
|
|
|
- html: '1.下载模板后打开</br>2.查看模板内说明、并修改模板内容,保存后点击下一步按钮</br>3.上传Excel文件,此时会校验文件的字段格式,有问题则需要修改错误数据后再次上传文件</br>4.校验成功后'+
|
|
|
- '点击完成按钮将数据进行数据库校验'
|
|
|
+ xtype: 'fieldcontainer',
|
|
|
+ html: '1.下载模板后打开</br>2.查看模板内说明、并修改模板内容,保存后点击下一步按钮</br>3.上传Excel文件,此时会校验文件的字段格式,有问题则需要修改错误数据后再次上传文件</br>4.校验成功后' +
|
|
|
+ '点击完成按钮将数据进行数据库校验'
|
|
|
}]
|
|
|
- },{
|
|
|
- hidden:true,
|
|
|
- margin:'15px 0 0 0',
|
|
|
- labelWidth:100,
|
|
|
- allowBlank : true,
|
|
|
- width:180,
|
|
|
- buttonOnly:true,
|
|
|
- fieldLabel:'上传文件',
|
|
|
+ }, {
|
|
|
+ hidden: true,
|
|
|
+ margin: '15px 0 0 0',
|
|
|
+ labelWidth: 100,
|
|
|
+ allowBlank: true,
|
|
|
+ width: 180,
|
|
|
+ buttonOnly: true,
|
|
|
+ fieldLabel: '上传文件',
|
|
|
xtype: 'filefield',
|
|
|
- name:'upload',
|
|
|
+ name: 'upload',
|
|
|
buttonText: '选择文件',
|
|
|
- createFileInput : function() {
|
|
|
- var me = this;
|
|
|
- me.fileInputEl = me.button.el.createChild({
|
|
|
+ createFileInput: function () {
|
|
|
+ var me = this;
|
|
|
+ me.fileInputEl = me.button.el.createChild({
|
|
|
name: me.getName(),
|
|
|
cls: Ext.baseCSSPrefix + 'form-file-input',
|
|
|
tag: 'input',
|
|
|
@@ -214,13 +217,13 @@ Ext.define('school.view.core.base.ImportWindow', {
|
|
|
}).on('change', me.onFileChange, me);
|
|
|
},
|
|
|
listeners: {
|
|
|
- change: function(field){
|
|
|
+ change: function (field) {
|
|
|
var form = field.ownerCt.ownerCt;
|
|
|
var myForm = field.ownerCt;
|
|
|
var fileEl = field.fileInputEl.dom;
|
|
|
var file = fileEl.files[0];
|
|
|
- var type = file.name.substring(file.name.lastIndexOf('.'),file.name.length);
|
|
|
- if(type.indexOf('xlsx')<0||type.indexOf('xls')<0){
|
|
|
+ var type = file.name.substring(file.name.lastIndexOf('.'), file.name.length);
|
|
|
+ if (type.indexOf('xlsx') < 0 || type.indexOf('xls') < 0) {
|
|
|
school.util.BaseUtil.showErrorToast('文件格式不正确,只能选择xlsx或xls格式的文件进行上传');
|
|
|
field.reset();
|
|
|
return;
|
|
|
@@ -244,14 +247,14 @@ Ext.define('school.view.core.base.ImportWindow', {
|
|
|
// school.util.BaseUtil.showErrorToast('上传失败:没有 导入 权限');
|
|
|
// return false;
|
|
|
// }
|
|
|
-
|
|
|
+
|
|
|
var fd = new FormData();
|
|
|
fd.append('file', fileEl.files[0]);
|
|
|
- fd.append('caller', 'GradeAndCLass');
|
|
|
+ fd.append('caller', me.caller);
|
|
|
form.setLoading(true);
|
|
|
- debugger
|
|
|
Ext.Ajax.request({
|
|
|
- url: '/excel/import/parse',//这里是填写需要跨域访问的URL
|
|
|
+ // url: 'http://10.1.80.47:9560/excel/import/parse', //这里是填写需要跨域访问的URL
|
|
|
+ url: '/api/school/excel/import/parse', //这里是填写需要跨域访问的URL
|
|
|
cors: true,
|
|
|
useDefaultXhrHeader: false,
|
|
|
method: 'post',
|
|
|
@@ -260,22 +263,22 @@ Ext.define('school.view.core.base.ImportWindow', {
|
|
|
'Access-Control-Allow-Origin': '*',
|
|
|
//'Authorization': school.util.State.get('session').token,
|
|
|
//"Content-Type": 'multipart/form-data' //文件上传的格式,
|
|
|
- "Content-Type":null
|
|
|
+ "Content-Type": null
|
|
|
},
|
|
|
success: function (response, opts) {
|
|
|
form.setLoading(false);
|
|
|
var res = Ext.decode(response.responseText);
|
|
|
- if(res.success){
|
|
|
+ if (res.success) {
|
|
|
var id = res.data;
|
|
|
- if(id){
|
|
|
+ if (id) {
|
|
|
field.ownerCt.down('[name=messagedetail]').setHtml('文件名: ' + file.name + ' 导入格式校验成功!</br></br>请点击 <span style="color:#35baf6">完成</span> 执行数据库校验');
|
|
|
form.importId = id;
|
|
|
field.ownerCt.ownerCt.dockedItems.items[1].down('[name=over]').setDisabled(false)
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
field.reset();
|
|
|
school.util.BaseUtil.showErrorToast('上传失败:后台未返回信息');
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
field.reset();
|
|
|
field.ownerCt.down('[name=messagedetail]').setHtml(res.message + '</br><span style="color:#ff0000">请修改后重新上传</span>');
|
|
|
}
|
|
|
@@ -289,22 +292,25 @@ Ext.define('school.view.core.base.ImportWindow', {
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- },{
|
|
|
- hidden:true,
|
|
|
- margin:'10px 0 0 45px',
|
|
|
+ }, {
|
|
|
+ hidden: true,
|
|
|
+ margin: '10px 0 0 45px',
|
|
|
xtype: 'fieldset',
|
|
|
title: '导入详情',
|
|
|
- name:'message',
|
|
|
+ name: 'message',
|
|
|
collapsible: false,
|
|
|
items: [{
|
|
|
- name:'messagedetail',
|
|
|
- xtype : 'fieldcontainer',
|
|
|
- html:'暂无导入信息'
|
|
|
+ name: 'messagedetail',
|
|
|
+ xtype: 'fieldcontainer',
|
|
|
+ html: '暂无导入信息'
|
|
|
}]
|
|
|
}]
|
|
|
}]
|
|
|
});
|
|
|
me.callParent(arguments);
|
|
|
- }
|
|
|
+ },
|
|
|
+
|
|
|
+ onSuccess: Ext.emptyFn,
|
|
|
+ onFailure: Ext.emptyFn
|
|
|
|
|
|
});
|