From a37d440d24d0c7da466183f68fdd706689c81b90 Mon Sep 17 00:00:00 2001
From: CJJ <Administrator@USER-20180117QL>
Date: 星期一, 24 十二月 2018 11:13:25 +0800
Subject: [PATCH] xiugai

---
 gx_tieta/WebRoot/pages/js/mylayui.js |  278 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 277 insertions(+), 1 deletions(-)

diff --git a/gx_tieta/WebRoot/pages/js/mylayui.js b/gx_tieta/WebRoot/pages/js/mylayui.js
index b760837..91ecfb3 100644
--- a/gx_tieta/WebRoot/pages/js/mylayui.js
+++ b/gx_tieta/WebRoot/pages/js/mylayui.js
@@ -112,4 +112,280 @@
 // 璁剧疆鍏辨湁澶氬皯椤�
 TblPage.prototype._setNum = function() {
 	this.num = Math.ceil(this.all/this.size);
-}
\ No newline at end of file
+}
+
+// 瀹氫箟椤甸潰涓垎椤靛厓绱犵殑瀵硅薄
+var PagePage = function(opts) {
+	this.search = '';		// 鏌ヨ
+	this.home = '';				// 棣栭〉
+	this.pre = '';				// 涓婁竴椤�
+	this.next = '';				// 涓嬩竴椤�
+	this.last = '';				// 灏鹃〉
+	this.size = '';				// 姣忛〉鏄剧ず鏉℃暟
+	this.num = '';				// 璺宠浆鐨勯〉鏁�
+	this.go = '';				// 椤甸潰璺宠浆
+	this.current = '';			// 褰撳墠椤�/鎬婚〉鏁�
+	this.total = '';			// 鏁版嵁鎬婚噺
+	this.page = opts.page;		// 鍒嗛〉淇℃伅
+	this._initDom(opts);
+	this.callback = "";
+}
+
+// 璁剧疆PagePage鐨勬柟娉�
+PagePage.prototype = {
+	_initDom: function(opts) {
+		this.search = this._getEle(opts.search);
+		this.home = this._getEle(opts.home);
+		this.pre = this._getEle(opts.pre);
+		this.next = this._getEle(opts.next);
+		this.last = this._getEle(opts.last);
+		this.num = this._getEle(opts.num);
+		this.go = this._getEle(opts.go);
+		this.current = this._getEle(opts.current);
+		this.total = this._getEle(opts.total);
+		this.size = this._getEle(opts.size);
+		//console.log(this.search);
+		this.addEvent();
+	}
+	,_getEle: function(ele) {
+		//console.log(ele);
+		var len = ele?ele.length:0;
+		//console.log(len);
+		var rsEle = len?ele:$('#PagePageTmp');
+		return rsEle;
+	}
+	,addEvent: function() {
+		var _this = this;
+		
+		//  鐐瑰嚮鏌ヨ
+		this.search.off('click.PagePage.event').on('click.PagePage.event', function() {
+			if(_this._checkCallback()) {
+				_this.callback();
+			} 
+		});
+		
+		// 鐐瑰嚮棣栭〉
+		this.home.off('click.PagePage.event').on('click.PagePage.event', function() {
+			var Page = _this.page;
+			if(Page.curr != 1){
+				Page.setCurr(1);
+				_this.callback();
+			}
+		});
+		
+		// 鐐瑰嚮涓婁竴椤�
+		this.pre.off('click.PagePage.event').on('click.PagePage.event', function() {
+			var Page = _this.page;
+			if(Page.curr > 1){
+				Page.setCurr(Page.curr-1);
+				_this.callback();
+			}
+		});
+		
+		// 鐐瑰嚮涓嬩竴椤�
+		this.next.off('click.PagePage.event').on('click.PagePage.event', function() {
+			var Page = _this.page;
+			if(Page.num > Page.curr){
+				Page.setCurr(Page.curr+1);
+				_this.callback();
+			}
+		});
+		
+		// 璁剧疆姣忛〉鏄剧ず鏉℃暟
+		this.size.off('blur.PagePage.event').on('blur.PagePage.event', function() {
+			var Page = _this.page;
+			var value= $(this).val();
+			//褰撹緭鍏ョ殑鏁板ぇ浜�0鏃�
+			if(value>0){
+				if(value != Page.size){
+					Page.setSize(parseInt(value));
+					Page.setCurr(1);
+				}
+			}else{
+				//褰撹緭鍏ラ潪娉曟暟瀛楁椂
+				alert("璇疯緭鍏ュ悎娉曠殑鏁板瓧");						/* 璇疯緭鍏ュ悎娉曠殑鏁存暟 */
+				$(this).val(Page.size);					
+			}
+		});
+		
+		// 灏鹃〉
+		this.last.off('click.PagePage.event').on('click.PagePage.event', function() {
+			var Page = _this.page;
+			if(Page.curr < Page.num){
+				Page.setCurr(Page.num);
+				_this.callback();
+			}
+		});
+		
+		// 璺宠浆
+		this.go.off('click.PagePage.event').on('click.PagePage.event', function() {
+			var Page = _this.page;
+			var tarpage= _this.num.val();
+			if(tarpage > Page.num){
+				Page.setCurr(Page.num);
+			}else if(tarpage > 0 && tarpage!= Page.curr){
+				Page.setCurr(parseInt(tarpage));
+			}
+			_this.callback();
+		});
+		
+	}
+	,setCallback:function(callback) {
+		this.callback = callback;
+	}
+	,setPage: function(page) {
+		this.page = page;
+	}
+	,init:function(page, callback) {
+		this.setPage(page);
+		this.setCallback(callback);
+		this.setVal();
+	}
+	,setVal: function() {
+		this.current.text(this.page.curr+'/'+this.page.num);
+		this.total.text(this.page.all);
+		this.size.val(this.page.size);
+	}
+	,_checkCallback: function() {
+		return typeof this.callback === 'function';
+	}
+};
+
+// 鐪�-甯�-鍖鸿仈鍔�
+var LinkAge = function(url, province, city, county, callback) {
+    this.province = province;
+    this.city = city;
+    this.county = county;
+    this.url = url;
+    this.callback= callback;
+    this.data = {};
+    this._init();
+};
+LinkAge.prototype = {
+    _init: function() {
+    	// 璁剧疆鍥炶皟鍑芥暟
+    	if(typeof this.callback === 'function') {
+            this.callback = this.callback;
+        }else {
+            this.callback = function() {};
+        }
+    	
+        this._setData();
+        this._updateDom();
+        // this._addEvent();
+    }
+    ,_setData: function() {
+        var _this = this;
+        // 璇锋眰json鏁版嵁
+        $.ajax({
+            type: 'post'
+            ,async: false
+            ,url: this.url
+            ,data: null
+            ,dataType: 'json'
+            ,success: function(res) {
+                _this.data = res;
+            },
+            error: function(res) {
+                console.log(res)
+            }
+        });
+    }
+    ,_getProvinces: function() {
+        var provinces = this._analyseData(this.data);
+        return provinces;
+    }
+    ,_getCities: function(province) {
+        var cities = this.data[province].child;
+        var rsCities = this._analyseData(cities);
+        return rsCities;
+    }
+    ,_getCounty: function(province, city) {
+        var cities = this.data[province].child;
+        var counties = cities[city].child;
+        var rsCounties = this._analyseData(counties);
+        return rsCounties;
+    }
+    ,_analyseData: function(data) {
+        var rsData = [];
+        // 瑙f瀽鏁版嵁
+        Object.keys(data).forEach(function(key) {
+            var _data = data[key];
+            if(_data)
+            var tmp = {
+                id: key
+                ,name: _data.name
+            };
+
+            if(!_data.child && _data == '甯傝緰鍖�') {
+
+            }else {
+                tmp.id = key;
+                tmp.name = _data.child?_data.name:_data;
+                rsData.push(tmp);
+            }
+            
+        });
+
+        return rsData;
+    }
+    ,_updateDom: function() {
+        // 鐪�
+        var proData = this._getProvinces();
+        var proOptions = this._createDom(proData);
+        this.province.html(proOptions);
+        
+        // 甯�
+        var citiesData = this._getCities(this.province.find('option:selected').attr('num'));
+        var citiesOptions = this._createDom(citiesData);
+        this.city.html(citiesOptions);
+
+        // 鍖�/鍘�
+        var countiesData = this._getCounty(this.province.find('option:selected').attr('num'), this.city.find('option:selected').attr('num'));
+        var countiesOptions = this._createDom(countiesData);
+        this.county.html(countiesOptions);
+        
+        this.callback();
+    }
+    ,_createDom: function(data) {
+        var options = '';
+        for(var i=0; i<data.length; i++) {
+            var _data = data[i];
+            options += '<option num="'+_data.id+'" value="'+_data.name+'">'+_data.name+'</option>';
+        }
+
+        return options;
+    }
+    ,_addEvent: function() {
+        var _this = this;
+        // 鍒囨崲鐪佽皟鏁村競鍜屽尯/鍘�
+        this.province.off('change.LinkAge.event').on('change.LinkAge.event', function() {
+            var val = $(this).find('option:selected').attr('num');
+            console.log(val);
+            // 甯�
+            var citiesData = _this._getCities(val);
+            var citiesOptions = _this._createDom(citiesData);
+            _this.city.html(citiesOptions);
+
+
+            // 鍖�/鍘�
+            var countiesData = _this._getCounty(val, _this.city.find('option:selected').attr('num'));
+            var countiesOptions = _this._createDom(countiesData);
+            _this.county.html(countiesOptions);
+            
+            _this.callback();
+        });
+
+        // 鍒囨崲甯�
+        this.city.off('change.LinkAge.event').on('change.LinkAge.event', function() {
+            var val = $(this).find('option:selected').attr('num');
+            console.log(val);
+            // 鍖�/鍘�
+            var countiesData = _this._getCounty(_this.province.find('option:selected').attr('num'), val);
+            var countiesOptions = _this._createDom(countiesData);
+            _this.county.html(countiesOptions);
+            _this.callback();
+        });
+    }
+};
+

--
Gitblit v1.9.1