فهرست منبع

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

liujiankang 5 سال پیش
والد
کامیت
7a9984b7c9
1فایلهای تغییر یافته به همراه30 افزوده شده و 14 حذف شده
  1. 30 14
      watero-rst-web/src/main/webapp/common/js/common/UnlimitedLevelContact.js

+ 30 - 14
watero-rst-web/src/main/webapp/common/js/common/UnlimitedLevelContact.js

@@ -90,12 +90,14 @@
             }
             if(falg){
                 if(ulc.ulcIsEmpty(node.ulcURL)){
+                    //使用URL连接查询数据
                     $.get(ulc.ulcCufte(ulc.options.urlPrefix) + node.ulcURL + id, function(result){
                         ulc.setVal(level,result);
                     }).fail(function () {   //要求jq 1.6以上
                         console.log("Query failed ...");
                     });
                 }else if(ulc.ulcIsEmpty(node.ulcReturnList)){
+                    //使用Array数据
                     ulc.setVal(level,node.ulcReturnList);
                 }else{
                     console.log("No data source ...");
@@ -104,6 +106,7 @@
             }
         },
         setVal:function(level,result){
+            //加载各个select的option
             var ulc = this;
             var node = ulc.options.ulcLevel[level];
             var res = node.repData(result);
@@ -190,6 +193,7 @@
         },
         setUlcById: function(){
             /**
+             * 设置ID改变option选择
              *  形参 1:level(级别)或者节点
              *  形参 2:id 传入id的值--数组
              */
@@ -238,6 +242,7 @@
         },
         setUlcByName: function(){
             /**
+             * 设置name来改变option的选择
              *  形参 1:level(级别)或者节点
              *  形参 2:名称 --数组
              */
@@ -349,10 +354,11 @@
             });
         },
         backData:function (level) {
-            /*绑定回调函数的值*/
+            //绑定过单个select的回调函数,该select的option值选中,会被调用,并返回填充该select值的集合
             this.options.ulcLevel[level].callback(this.options.data[level]);
         },
         allBackData:function () {
+            //绑定全局select的回调函数,只要有select的option值被选中,就会被调用,并返回所有填充该select值的集合,并且一直被存储
             var ulc = this;
             for (var i=0;i<ulc.options.ulcLevel.length;i++){
                 var node = ulc.options.ulcLevel[i];
@@ -368,14 +374,15 @@
             this.options.allCallback(ulc.options.data);
         },
         setUlcCallback:function (fun,level) {
-            //回调函数设置
+            //设置单个回调函数
             this.options.ulcLevel[level].callback = fun;
         },
         setUlcAllCallback:function (fun) {
+            //设置全局select值选中的回调函数
             this.options.allCallback = fun;
         },
         setUlcReturnList:function (level,returnList) {
-            //在无URL情况下,可以直接传入list集合,集合结构与其他节点一样
+            //在无URL情况下,可以直接传入list集合,集合结构与其他节点集合一样
             this.options.ulcLevel[level].ulcReturnList = returnList;
             ulc.reloadLevel(level);
         },
@@ -385,6 +392,7 @@
             ulc.initUlcHtml(level,this.options.ulcLevel[level].ulcId);
         },
         getIsNameCorrect:function (level) {
+            //调用此方法,可返回setUlcByName()和setUlcById()的设置值是否正确,
             var ulc = this;
             if(ulc.ulcIsEmpty(level)){
                 return ulc.options.ulcLevel[level].isGetNameCorrect;
@@ -430,19 +438,22 @@
             obj.isFristSelect = $ulc.attr("ulcIsFristSelect")==1?true:false;	//是否有“请选择项”  false:无
             obj.fristSelectMsg = $ulc.attr("ulcFristSelectMsg");
             obj.repData = function(res){ //res 即为原始返回的数据
-                return {
-                    "isFlag": 200, //code判断
-                    "code": res[$selectUlc.attr("code")], //解析接口状态
-                    "msg": res[$selectUlc.attr("msg")], //解析提示文本
-                    "data": res[$selectUlc.attr("data")][$ulc.attr("ulcList")] //解析数据列表
-                };
+                var result = new Object();
+                result.isFlag = 200; //code判断
+                result.code = res[$selectUlc.attr("code")]; //解析接口状态
+                result.msg = res[$selectUlc.attr("msg")]; //解析提示文本
+                result.data = res[$selectUlc.attr("data")];
+                if(ulc.ulcIsEmpty(result.data)){
+                    result.data = res[$selectUlc.attr("data")][$ulc.attr("ulcList")]    //解析数据列表
+                }
+                return result;
             };
             obj.parseData = function(data){ //res 即为原始返回的数据
-                return {
-                    "id": data[$ulc.attr("ulcValId")], //id
-                    "val": data[$ulc.attr("ulcValName")], //text
-                    "msg": data[$ulc.attr("ulcMsg")] //其他
-                };
+                var dataResult = new Object();
+                dataResult.id = data[$ulc.attr("ulcValId")];    //id
+                dataResult.val = data[$ulc.attr("ulcValName")];   //text
+                dataResult.msg = data[$ulc.attr("ulcMsg")];   //其他
+                return dataResult;
             };
             ulcLevel.push(obj);
         });
@@ -479,6 +490,7 @@ function init_ulc(node){
  * version : 2.1优化以名称的判断方式
  * version : 2.1增加设置值判断标志位,增加getIsNameCorrect()函数,可以查询加载完成之后,值是否设置成功;
  * version : 2.2优化设置值的方式
+ * version : 2.5更改加载方式,加入集合加载,加入设置集合的方法,优化查询出来空集合报错的情况
 
  *                   -------初始化-------
  * 有两种初始化,可自行选择,推荐使用b
@@ -592,5 +604,9 @@ function init_ulc(node){
 
  *getIsNameCorrect()();  调用此方法,可返回setUlcByName()和setUlcById()的设置值是否正确;
  *     return boolean   true为正确,false 有误
+ *
+ * setUlcReturnList(level,returnList) 设置使用集合去加载select的option
+ *
+ * reloadLevel(level) 重置level本节点的选中
  *                   -------方法END-------
  */