Browse Source

附件添加value隐藏字段/头像组件添加readOnly设置方法

zhuth 6 years ago
parent
commit
f05525ec14

+ 1 - 1
frontend/pc-web/app/view/core/base/BasePanel.js

@@ -47,7 +47,7 @@ Ext.define('school.view.core.base.BasePanel', {
                 if(!gridConfig.disableDetail && !c.listeners['click']) {
                     // c.tdCls = c.tdCls ? (c.tdCls + ' x-detail-column') : 'x-detail-column'
                     c.listeners['click'] = function(view, td, row, col, e, record, tr, eOpts, event) {
-                        school.util.BaseUtil.openTab(gridConfig.addXtype, gridConfig.addTitle + '(' + record.get(gridConfig.codeField) + ')', gridConfig.addXtype + record.get(gridConfig.idField), {
+                        school.util.BaseUtil.openTab(gridConfig.addXtype, gridConfig.addTitle + '(' + record.get(gridConfig.codeField) + ')', gridConfig.addXtype + '-' +  record.get(gridConfig.idField), {
                             initId: record.get(gridConfig.idField)
                         });
                     };

+ 18 - 21
frontend/pc-web/app/view/core/form/field/FileField.js

@@ -27,6 +27,9 @@ Ext.define('school.view.core.form.field.FileField', {
 		bodyStyle: 'padding:2px;background:#f7f7f7',
 		layout: 'hbox',
 		items: [{
+			xtype: 'hidden',
+			name: 'value'
+		}, {
 			xtype: 'filefield',
 			name: 'file',
 			cls:'x-form-filefield',
@@ -36,17 +39,6 @@ Ext.define('school.view.core.form.field.FileField', {
 			buttonConfig:{
 				cls:'x-filefield-button'
 			},
-			createFileInput : function() {
-	            var me = this;
-	            me.fileInputEl = me.button.el.createChild({
-	            name: me.getName(),
-	            cls: Ext.baseCSSPrefix + 'form-file-input',
-	            tag: 'input',
-	            type: 'file',
-	            multiple:'multiple',
-	            size: 1
-	           }).on('change', me.onFileChange, me);
-	        },
 			listeners: {
 				change: function(field){
 					if(!!field.value){
@@ -58,12 +50,23 @@ Ext.define('school.view.core.form.field.FileField', {
 	}],
 	setValue: function(value){
 		this.value = value;
-		this.dirty = true;
+		this.getValueField().setValue(value);
 		this.publishState('value', value);
 	},
-	getValue: function (){
-		return this.down('hidden').value;
-	},
+	getValue: function() {
+        return this.getValueField().value;
+    },
+
+    getValueField: function () {
+        return this.items.items[0].items.items[0];
+    },
+
+    isValid: function () {
+        return this.getValueField().isValid();
+    },
+    isDirty: function () {
+        return this.getValueField().isDirty();
+    },
 	renderMF: function(f){
 		f.setHtml(null);
 		var form = f.ownerCt;			
@@ -228,11 +231,5 @@ Ext.define('school.view.core.form.field.FileField', {
 		var arr=['php','php2','php3', 'php5', 'phtml', 'asp', 'aspx', 'ascx', 'jsp', 'cfm', 'cfc', 'pl','pl','bat',  'dll', 'reg', 'cgi','war'];
 	    var suffix=fileName.substring(fileName.lastIndexOf(".")+1);
 	    return Ext.Array.contains(arr,suffix);
-	},
-	isValid:function(){
-		return true;
-	},
-	isDirty:function(){
-		return this.dirty;
 	}
 });

+ 7 - 1
frontend/pc-web/app/view/core/form/field/RemoteImgField.js

@@ -116,8 +116,14 @@ Ext.define('school.view.core.form.field.RemoteImgField', {
         return this.getValueField().isDirty();
     },
 
-    setReadOnly: function () {
+    setReadOnly: function (val) {
+        var me = this,
+        items = me.items.items,
+        imgPath = items[0],
+        fileField = items[2];
 
+        imgPath.setReadOnly(val);
+        fileField.button.setDisabled(val);
     },
 
     /**