Parcourir la source

数据网格导入导出

unknown il y a 5 ans
Parent
commit
e8d9bc7ae0

+ 7 - 0
o2web/source/x_component_process_FormDesigner/Module/Datagrid$Title/datagrid$Title.html

@@ -28,6 +28,13 @@
                     <input class="editTableRadio" name="isShow" text{($.isShow==false)?'checked':''} type="radio" value="false"/>隐藏该列 <br/>
                 </td>
             </tr>
+            <tr>
+                <td class="editTableTitle">导入导出:</td>
+                <td class="editTableValue">
+                    <input class="editTableRadio" name="isImpExp" text{($.isImpExp!==false)?'checked':''} type="radio" value="true"/>允许 <br/>
+                    <input class="editTableRadio" name="isImpExp" text{($.isImpExp==false)?'checked':''} type="radio" value="false"/>不允许 <br/>
+                </td>
+            </tr>
         </table>
 
         <div class="MWFMaplist" name="styles" title="样式"></div>

+ 6 - 0
o2web/source/x_component_process_FormDesigner/Module/Datagrid/datagrid.html

@@ -78,6 +78,12 @@
         </table>
         <div id="text{$.pid}impexpArea" style="display: text{($.impexpType && $.impexpType!=='none')?'block':'none'};">
             <table width="100%" border="0" cellpadding="5" cellspacing="0" class="editTable">
+                <tr>
+                    <td class="editTableTitle"></td>
+                    <td class="editTableValue">
+                        注:序号、图片、附件和隐藏列不能导入导出。
+                    </td>
+                </tr>
                 <tr>
                     <td class="editTableTitle">按钮位置:</td>
                     <td class="editTableValue">

+ 1 - 1
o2web/source/x_component_process_Xform/Attachment.js

@@ -1710,7 +1710,7 @@ MWF.xApplication.process.Xform.Attachment = MWF.APPAttachment = new Class(
      */
     setData: function(data){
         this.attachmentController.clear();
-        data.each(function (att) {
+        ( data || [] ).each(function (att) {
             var attachment = this.form.businessData.attachmentList.find(function(a){
                 return a.id==att.id;
             });

+ 32 - 6
o2web/source/x_component_process_Xform/Checkbox.js

@@ -108,12 +108,15 @@ MWF.xApplication.process.Xform.Checkbox = MWF.APPCheckbox =  new Class(
         this.node.empty();
         this.setOptions();
     },
-    /**
-     * @summary 获取选择项数组.
-     * @example
-     * var array = this.form.get('fieldId').getOptions();
-     * @return {Array} 选择项数组,如果配置为脚本返回计算结果.
-     */
+        /**
+         * @summary 获取选择项。
+         * @return {Array} 返回选择项数组,如果使用选择项脚本,根据脚本返回决定,如:<pre><code class='language-js'>[
+         *  "女|female",
+         *  "男|male"
+         * ]</code></pre>
+         * @example
+         * this.form.get('fieldId').getOptions();
+         */
 	getOptions: function(){
 		if (this.json.itemType == "values"){
 			return this.json.itemValues;
@@ -123,6 +126,29 @@ MWF.xApplication.process.Xform.Checkbox = MWF.APPCheckbox =  new Class(
 		//return [];
 	},
 
+    /**
+     * @summary 获取整理后的选择项。
+     * @return {Object} 返回整理后的选择项,如:
+     * <pre><code class='language-js'>{"valueList": ["","female","male"], "textList": ["","女","男"]}
+     * </code></pre>
+     * @example
+     * var optionData = this.form.get('fieldId').getOptionsObj();
+     */
+    getOptionsObj : function(){
+        var textList = [];
+        var valueList = [];
+        var optionItems = this.getOptions();
+        if (!optionItems) optionItems = [];
+        if (o2.typeOf(optionItems)==="array"){
+            optionItems.each(function(item){
+                var tmps = item.split("|");
+                textList.push( tmps[0] );
+                valueList.push( tmps[1] || tmps[0] );
+            }.bind(this));
+        }
+        return { textList : textList, valueList : valueList };
+    },
+
     setOptions: function(){
         var optionItems = this.getOptions();
         this._setOptions(optionItems);

Fichier diff supprimé car celui-ci est trop grand
+ 1990 - 1695
o2web/source/x_component_process_Xform/DatagridPC.js


+ 34 - 6
o2web/source/x_component_process_Xform/Radio.js

@@ -126,12 +126,15 @@ MWF.xApplication.process.Xform.Radio = MWF.APPRadio =  new Class(
         this.node.empty();
         this.setOptions();
     },
-    /**
-     * @summary 获取选择项。
-     * @return {Array} 返回选择项数组,如果使用选择项脚本,根据脚本返回决定
-     * @example
-     * this.form.get('fieldId').getOptions();
-     */
+        /**
+         * @summary 获取选择项。
+         * @return {Array} 返回选择项数组,如果使用选择项脚本,根据脚本返回决定,如:<pre><code class='language-js'>[
+         *  "女|female",
+         *  "男|male"
+         * ]</code></pre>
+         * @example
+         * this.form.get('fieldId').getOptions();
+         */
 	getOptions: function(){
 		if (this.json.itemType == "values"){
 			return this.json.itemValues;
@@ -140,6 +143,30 @@ MWF.xApplication.process.Xform.Radio = MWF.APPRadio =  new Class(
 		}
 		return [];
 	},
+
+    /**
+     * @summary 获取整理后的选择项。
+     * @return {Object} 返回整理后的选择项,如:
+     * <pre><code class='language-js'>{"valueList": ["","female","male"], "textList": ["","女","男"]}
+     * </code></pre>
+     * @example
+     * var optionData = this.form.get('fieldId').getOptionsObj();
+     */
+    getOptionsObj : function(){
+        var textList = [];
+        var valueList = [];
+        var optionItems = this.getOptions();
+        if (!optionItems) optionItems = [];
+        if (o2.typeOf(optionItems)==="array"){
+            optionItems.each(function(item){
+                var tmps = item.split("|");
+                textList.push( tmps[0] );
+                valueList.push( tmps[1] || tmps[0] );
+            }.bind(this));
+        }
+        return { textList : textList, valueList : valueList };
+    },
+
     setOptions: function(){
         var optionItems = this.getOptions();
         this._setOptions(optionItems);
@@ -362,6 +389,7 @@ MWF.xApplication.process.Xform.Radio = MWF.APPRadio =  new Class(
     resetData: function(){
         this.setData(this.getValue());
     },
+
     /**
      * @summary 获取选中的Dom对象。
      * @return {Element} 返回选中的Dom对象

+ 28 - 23
o2web/source/x_component_process_Xform/Select.js

@@ -158,7 +158,10 @@ MWF.xApplication.process.Xform.Select = MWF.APPSelect =  new Class(
     },
 	/**
 	 * @summary 获取选择项。
-	 * @return {Array} 返回选择项数组,如果使用选择项脚本,根据脚本返回决定
+	 * @return {Array} 返回选择项数组,如果使用选择项脚本,根据脚本返回决定,如:<pre><code class='language-js'>[
+	 *  "女|female",
+	 *  "男|male"
+	 * ]</code></pre>
 	 * @example
 	 * this.form.get('fieldId').getOptions();
 	 */
@@ -170,6 +173,30 @@ MWF.xApplication.process.Xform.Select = MWF.APPSelect =  new Class(
 		}
 		return [];
 	},
+
+	/**
+	 * @summary 获取整理后的选择项。
+	 * @return {Object} 返回整理后的选择项,如:
+	 * <pre><code class='language-js'>{"valueList": ["","female","male"], "textList": ["","女","男"]}
+	 * </code></pre>
+	 * @example
+	 * var optionData = this.form.get('fieldId').getOptionsObj();
+	 */
+	getOptionsObj : function(){
+		var textList = [];
+		var valueList = [];
+		var optionItems = this.getOptions();
+		if (!optionItems) optionItems = [];
+		if (o2.typeOf(optionItems)==="array"){
+			optionItems.each(function(item){
+				var tmps = item.split("|");
+				textList.push( tmps[0] );
+				valueList.push( tmps[1] || tmps[0] );
+			}.bind(this));
+		}
+		return { textList : textList, valueList : valueList };
+	},
+
 	setOptions: function(){
 		var optionItems = this.getOptions();
 		this._setOptions(optionItems);
@@ -389,28 +416,6 @@ MWF.xApplication.process.Xform.Select = MWF.APPSelect =  new Class(
 
         this.setData(this.getValue());
     },
-	/**
-	 * @summary 获取整理后的选择项。
-	 * @return {Object} 返回整理后的选择项,如:
-	 * <pre><code class='language-js'>{"value": ["","female","male"], "text": ["","女","男"]}
-	 * </code></pre>
-	 * @example
-	 * var optionData = this.form.get('fieldId').getOptionsObj();
-	 */
-	getOptionsObj : function(){
-		var textList = [];
-		var valueList = [];
-		var optionItems = this.getOptions();
-		if (!optionItems) optionItems = [];
-		if (o2.typeOf(optionItems)==="array"){
-			optionItems.each(function(item){
-				var tmps = item.split("|");
-				textList.push( tmps[0] );
-				valueList.push( tmps[1] || tmps[0] );
-			}.bind(this));
-		}
-		return { textList : textList, valueList : valueList };
-	},
 
 	setData: function(data){
 		return this._setValue(data, "__setData");

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff