Browse Source

附件bug修复

zhuth 6 years ago
parent
commit
4b8a990ffe

+ 12 - 4
frontend/pc-web/app/view/core/form/field/FileField.js

@@ -124,9 +124,15 @@ Ext.define('school.view.core.form.field.FileField', {
 						});
 						me.add(field);
 						var oldValue = me.value;
-						var arr = oldValue ? oldValue.replace(/[ \[ | \" | \" | \] ]/g, '').split(',') : [];
+						var arr = oldValue ? oldValue.replace(/[ \[ | \" | \] ]/g, '').split(',') : [];
+						// 去掉空字符串等无效记录
+						for(let i = arr.length - 1;i >= 0; i--) {
+							if(!arr[i]) {
+								arr.splice(i, 1);
+							}
+						}
 						arr.push(data.accessPath);
-						var val = '["' + arr.join(',') + '"]';
+						var val = '["' + arr.join('","') + '"]';
 						me.setValue(val);
 					}
 					field.reset();
@@ -149,13 +155,14 @@ Ext.define('school.view.core.form.field.FileField', {
 	download: function(paths,name){
 		var me = this;
 		me.clearAll();
-		var files = new Array();	
+		var files = new Array();
+		var accessPath = paths.replace(/[ \[ | \" | \" | \] ]/g, '');
 		Ext.Ajax.request({
 			// url : 'http://10.1.80.101:9520/api/file/info',
 			url : '/api/file/info',
 			async: false,
 			params: {
-				accessPath:  paths.replace(/[ \[ | \" | \" | \] ]/g, '')
+				accessPath: accessPath
 			},
 			method : 'GET',
 			callback : function(options,success,response){
@@ -177,6 +184,7 @@ Ext.define('school.view.core.form.field.FileField', {
 				readOnly: false,
 				editable: false,
 				filepath: f.fullPath,
+				accessPath: f.accessPath,
 				filesize: f.size,
 				_id:f.id,
 				fieldStyle: 'background:#E0EEEE;'

+ 15 - 2
frontend/pc-web/app/view/core/form/field/TrashField.js

@@ -24,9 +24,22 @@ Ext.define('school.view.core.form.field.TrashField', {
 				var me = this;
 				school.util.BaseUtil.warnMsg('确定删除' + me.value, function(btn){
 					if(btn == 'yes'){
-						var v = me.ownerCt.value.replace(me._id+';','')
+						var arr = me.ownerCt.value.replace(/[ \[ | \" | \] ]/g, '').split(',');
+						var val;
+						for(let i = 0; i < arr.length; i++) {
+							if(arr[i] == me.accessPath) {
+								arr.splice(i,1);
+								break;
+							}
+						}
+						if(arr.length > 0) {
+							val = '["' + arr.join('","') + '"]';
+						}else{
+							val = '[]'
+						}
+						
 						
-						me.ownerCt.setValue(v);
+						me.ownerCt.setValue(val);
 						// if(v == '') {
 						// 	me.ownerCt.dirty = false;
 						// }