Jquery插件

(function($){
	function MyzTree(){}  class MyzTree{}
	MyzTree.defaults={}	private defaults 
	MyzTree.method={}	private method 
	MyzTree.prototype={	public dataTree
		dataTree:{}
	}
	
$.fn.extend(new MyzTree());
})($);
(function($){
    /**
     * dataTree   JQuery zTree 辅助插件
     * @param {Object} config  dataTree插件的一个配置的设置
     * version 1.1
     */
	//声明一个函数MyzTree,这是一个构造器函数,也是一个对象
    function MyzTree(){}
	
	/**
	 * 说明:在MyzTree对象上声明一个defaults属性,指向的是一个{}对象
	 * 作用:存储和共享本插件所有的数据和配置
	 * 作用域:私有属性,内部调用
	 * MyzTree.defaults对象的结构:
	 * 		ajax:该属性存储的是有关ajax请求的相关参数数据
	 * 		setting:该属性存储的是zTree插件需要的配置
	 * 		mySetting:该属性存储的是自己需要的相关属性
	 */	
    MyzTree.defaults = {
        ajax: {
			//ajax请求路径
            url: "",
			//请求参数
            data: null
        },
        setting: {
            isSimpleData: true,
            treeNodeKey: "id",
            treeNodeParentKey: "pid",
            showLine: true,
            root: {
                isRoot: true,
                nodes: []
            },
			//展开菜单需要触发的回调函数
            callback: {
            }
        },
        mySetting: {
			//true代表一次性加载所有菜单项
            allLoad: true,
			//用于存储自定义回调函数
            callback: ''
        }
    };
    /**
     * 说明:在MyzTree对象上声明一个method属性,指向的是一个{}对象
     * 作用:存储本插件内部调用的方法
     * 作用域:私有属性,内部调用
     * MyzTree.method对象的结构:
     * 		loadAllNode:该方法加载全部菜单项
     * 		loadSubNode:该方法加载指定pid的菜单项
     * 		loadData:该方法发出post请求请求数据
     */
    MyzTree.method = {
        loadAllNode: function(){
			//设置自定义回调函数   以便后面loadData方法调用
            MyzTree.defaults.mySetting.callback = function(data){
				//渲染zTree
                MyzTree.defaults.mySetting.me.zTree(MyzTree.defaults.setting, data);
            };
			//设置完回调之后,加载数据    loadData方法会自动调用上面自定义的回调函数渲染zTree
            MyzTree.method.loadData();
        },
        loadSubNode: function(event, treeId, treeNode){
			//如果pid为0说明是加载跟节点
            if (MyzTree.defaults.ajax.data.pid == 0) {
				//设置自定义回调函数   以便后面loadData方法调用
                MyzTree.defaults.mySetting.callback = function(data){
					//渲染zTree  并将zTree的返回值存储在MyzTree.defaults.mySetting.treePlugin这个属性上   以便addNodes子节点时使用
                    MyzTree.defaults.mySetting.treePlugin = MyzTree.defaults.mySetting.me.zTree(MyzTree.defaults.setting, data);
                };
            } else {
				//设置自定义回调函数   以便后面loadData方法调用
                MyzTree.defaults.mySetting.callback = function(data){
					//如果能进入else说明是展开了某个菜单   要判断    如果展开的节点下不存在子节点  则不addNodes
                    if (!MyzTree.defaults.mySetting.treePlugin.getNodeByParam("pid", treeNode.mid)) {
						//使用zTree的返回值 addNodes子节点
                        MyzTree.defaults.mySetting.treePlugin.addNodes(treeNode, data, true);
                    }
                };
            }
			//设置完回调之后,加载数据    loadData方法会自动调用上面自定义的回调函数渲染zTree或者渲染addNodes子节点
            MyzTree.method.loadData();
        },
        loadData: function(){
			//请求服务器数据
            $.post(MyzTree.defaults.ajax.url, MyzTree.defaults.ajax.data, function(data){
				//成功请求数据后  调用上面自定义的回调函数
                MyzTree.defaults.mySetting.callback(data);
            });
        }
    };
    
    /**
     * 说明:在MyzTree对象的原型上声明一个dataTree属性,指向的是一个function(config)
     * 作用域:公有属性,外部接口
     * @param {Object} config  该参数是接收用户配置的所有的数据 和MyzTree.defaults结构是一样的
     */
    MyzTree.prototype = {
		//该dataTree属性即是MyzTree原型上的属性也是将来要添加到jQuery原型上的属性   以便暴漏在外部
        dataTree: function(config){
			//将调用者传递进来的config对象赋值覆盖给MyzTree.defaults对象 true是深度覆盖
            $.extend(true, MyzTree.defaults, MyzTree.defaults, config);
			//this代表$("#tree")元素    将这个元素绑定到MyzTree.defaults.mySetting.me属性上
            MyzTree.defaults.mySetting.me = this;
			//若allLoad是true 则调用MyzTree.method.loadAllNode();方法
            if (MyzTree.defaults.mySetting.allLoad) {
                MyzTree.method.loadAllNode();
            } else {
				//否则就 设置zTree的回调函数   用来响应菜单的展开事件
				MyzTree.defaults.setting.callback.expand=function(event, treeId, treeNode){
					//设置ajax请求的pid为父节点的mid  用来在ajax请求的时间传递给后台来检索子节点数据
                    MyzTree.defaults.ajax.data.pid = treeNode.mid;
					//调用loadSubNode方法加载子节点了  这个是设置回调函数自己去调用加载子节点
                    MyzTree.method.loadSubNode(event, treeId, treeNode);
                };
				//调用loadSubNode方法加载子节点了   这个是第一次加载根节点要调用的
				MyzTree.method.loadSubNode(); 
            }
        }
    };
	//插件封装好之后   将MyzTree的实例挂载到jQuery的原型上    MyzTree的实例  <==>  new MyzTree()  <==>  MyzTree.prototype
    //把prototype挂到挂载到jQuery的原型上
	$.fn.extend(new MyzTree());
})($);

/**
 * 自动启动的功能
 */
$().ready(function(){

    $("#tree").dataTree({
        ajax: {
            url: "ajaxAction_showMenuitemsByUser.action",
            data: {
                pid: 0
            }
        },
        setting: {
            treeNodeKey: "mid"
        },
        mySetting: {
            allLoad: true
        }
    });
    
//    $("#tree").dataTree({
//        ajax: {
//            url: "menuitemAction_showAllMenuitem.action",
//            data: {
//                pid: 0
//            }
//        },
//        setting: {
//            treeNodeKey: "mid"
//        },
//        mySetting: {
//            allLoad: true
//        }
//    });
});


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本微信小程序医院挂号预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此微信小程序医院挂号预约系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。微信小程序医院挂号预约系统有管理员,用户两个角色。管理员功能有个人中心,用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理。微信小程序用户可以注册登录,查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。微信小程序医院挂号预约系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值