dever 2 years ago
parent
commit
9a94e0f148
1 changed files with 138 additions and 3 deletions
  1. 138 3
      assets/lib/manage/main.js

+ 138 - 3
assets/lib/manage/main.js

@@ -808,7 +808,12 @@ function menuGroup(id, e)
 function inputShow(e,n,t)
 {
 	$(".show_" + n).hide();
-	var v = e.val();
+	if (e.attr('v')) {
+		var v = e.attr('v');
+	} else {
+		var v = e.val();
+	}
+	
 	
 	if (t == 'input') {
 		var item = e.parent().find('input');
@@ -2511,11 +2516,12 @@ function fastEdit(e, url, title, col, index, type)
 		}
 		layui.use(['form'], function(){
 			layui.form.render();
+			/*
 			$('select').each(function() {
 		        if ($(this).attr('xm-select')) {
 					layui.formSelects.render($(this).attr('xm-select'));
 				}
-		    });
+		    });*/
 		  });
 		init(560);
 	});
@@ -2591,7 +2597,12 @@ function addChangeAction(url, id, self)
 
 function loadChange(e, load)
 {
-	var val = e.val();
+	if (e.attr('v')) {
+		var val = e.attr('v');
+	} else {
+		var val = e.val();
+	}
+	
 	showLoad(load, [val]);
 }
 
@@ -3285,6 +3296,7 @@ var dever_update =
 		initPic();
 		initDate();
 
+		/*
 		layui.use(['formSelects'], function(){
 			$('#' + id + " select").each(function()
 			{
@@ -3293,6 +3305,7 @@ var dever_update =
 				}
 			})
 		});
+		*/
 	},
 
 	add : function(e)
@@ -3503,10 +3516,132 @@ function append(self, id)
 	id = 'update_' + id + '_c_' + total;
 	parent.append('<tr id="'+id+'">' + html + '</tr>');
 	form.render();
+	/*
 	$('#' + id + " select").each(function()
 	{
 		if ($(this).attr('xm-select')) {
 			layui.formSelects.render($(this).attr('xm-select'));
 		}
 	});
+	*/
+	initDate();
+}
+
+function init_xm(xm_id, xm_radio, xm_tips, xm_url, xm_data, xm_value, xm_on)
+{
+	if (!xm_on) {
+		xm_on = function(){};
+	}
+	var xm = xmSelect.render({
+	    el: "#" + xm_id, 
+	    data: xm_data,
+	    tips:xm_tips,
+	    name:xm_id,
+	    initValue: xm_value,
+	    radio:xm_radio,
+	    clickClose: xm_radio,
+	    layVerify: "required",
+	    layVerType: "msg",
+	    autoRow: true,
+	    toolbar: { show: false },
+	    model: xm_radio ? { label: { type: 'text' } } : {},
+	    filterable: true,
+	    autoRow: true,
+	    height: 'auto',
+	    paging: xm_url ? true : false,
+	    remoteSearch: xm_url ? true : false,
+	    on: xm_on,
+	    //direction: 'down',
+	});
+	var xm_table = xm_id + '_table';
+	xm.update({
+		remoteMethod: function(val, cb, show, pageIndex) {
+	    	if (!pageIndex) {
+	    		pageIndex = 1;
+	    	}
+	        if(!val){
+	           //return cb([]);
+	        }
+	        if (!xm_url) {
+	            return cb(xm_data);
+	        }
+	        var data = {
+	        	id: xm_table,
+                keyword: val,
+                pg: pageIndex
+            };
+	        if (xm_url.indexOf('{') != -1) {
+	            var start = xm_url.split('{');
+	            var end = start[1].split('}');
+	            xm_url = start[0] + end[1];
+	            if (end[0].indexOf(',')) {
+	                var param = end[0].split(',');
+	            } else {
+	                var param = [];
+	                param[0] = end[0];
+	            }
+	            
+	            for (var i in param) {
+	                if (typeof(param[i]) == 'string') {
+	                    var e = $('#update_'+param[i]);
+	                    if (e.length > 1) {
+	                        e.each(function() {
+	                            if ($(this).get(0).checked) {
+	                                data[param[i]] = $(this).val();
+	                            }
+	                        })
+	                    } else {
+	                        data[param[i]] = e.val();
+	                    }
+	                }
+	            }
+	        }
+	        $.ajax({
+	            type: "get",
+	            url: xm_url,
+	            data: data,
+	            success : function success(response) {
+	                if (typeof response == "string") {
+	                    response = JSON.parse(response);
+	                }
+	                if (response.status == 2) {
+	                	cb([]);
+	                	return;
+	                }
+	                if (response.page && response.page.total) {
+	                	cb(response.data.list, response.page.total)
+	                } else {
+	                	cb(response.data.list)
+	                }
+	                if (response.data.table) {
+	                	xm.update({
+	                		content: response.data.table,
+	                	});
+	                	layui.table.init(xm_table, response.data.table_config).on('row('+xm_table+')', function(obj) {
+							var values = xm.getValue();
+							var item = obj.data;
+							var has = values.find(function(i){
+								return i.value === item.value
+							});
+							var send = {};
+							send.arr = [ item ];
+							if (has) {
+								xm.delete(send.arr);
+							} else if (xm_radio) {
+								xm.setValue(send.arr);
+								xm.closed();
+							} else {
+								xm.append(send.arr);
+							}
+							
+							xm_on && xm_on(send)
+						})
+	                }
+	            },
+	            error : function error(err) {
+	                cb([]);
+	            }
+	        });
+	    },
+	});
 }