Reply_wev8.js 3.33 KB
define(['mUtil', "Component"],function(mUtil, Component) {
	var Reply = function(options) {
		Component.super(this, options);
		
		this.type = "Reply";
		this.tpl = this.type + "_html";
		this.css = this.type + "_css";

		var vm = this.viewModel = {
			btnName : "",//按钮名称
			isShow : true,//是否显示
			autoSave : true,//自动保存
			actionUrl : "",//手动保存提交url
			tablename : "",
			datasource : "",
			placeholder : "",
			modelid : "",
			params : [],
			callback : null
		};
		
		this.mounted = function(){
			var that = this;
			var type = this.type;
			var $abbr = this.$el,
				$page = this.$container,
				$comp = $abbr.children(".wev-comp-" + type);

			this.$once("moveComponent", function() {
                var $pageFooter = $page.children(".page-footer"),
                    $pageContent = $page.children(".page-content");

                if (!$pageFooter.length) {
                    $pageFooter = $("<div class=\"page-footer\"></div>");
                    $pageContent.after($pageFooter);
                }

                if (!$abbr.parent().hasClass("page-footer")) {
                    $abbr.find("script").remove();
                    $pageFooter.append($abbr).show();
                }

                if (vm.isShow == true) {// 默认显示
                    $comp.show();
                }

                if ($pageFooter.height()) {
                    $pageFooter.attr("footer-height", $pageFooter.height());
                    $pageContent.css("bottom", $pageFooter.height() + "px");
                } else {
                    if ($pageFooter.attr("footer-height")) {
                        $pageContent.css("bottom", $pageFooter.attr("footer-height") + "px");
                    } else {
                        $pageContent.css("bottom", "0px");
                    }
                }
            });

            var $btn = $(".wev-reply-btn", $comp);
			$btn.click(function(e){
				if (!$(".wev-reply-content", $comp).val()){
					mUtil.getLabel(5284, "内容不能为空",function(msg){
						Mobile_NS.msg(msg);
	                });
					return;
				} 
				if($btn.hasClass("disabled")) return;
				
				var $form = $(".wev-reply-form", $comp);
				var actionUrl = vm.autoSave ? mUtil.getActionUrl(type, {action : "saveReplyData"}, that.pageid) : vm.actionUrl;
				var data = $form.serialize();

				$btn.addClass("disabled");
				mUtil.getJSON(actionUrl, data, function(res) {
					$form[0].reset();
					vm.callback && mUtil.eval(vm.callback, that.pageid);
					$btn.removeClass("disabled");
			    }, function(errMsg) {
			    	mUtil.getLabel(4710, "保存失败",function(msg){
			    		Mobile_NS.msg(errMsg || msg);
	                });
					
					$btn.removeClass("disabled");
				});
				
				e.stopPropagation();
	        });
		};
		
		/*先暂时不要这三个方法。
		Mobile_NS.replyPageHide = function(){
			$comp.hide();
		};
		
		Mobile_NS.replyPageShow = function(callbackFn, jsonObj){
			_callback = callbackFn;
			if(jsonObj) Mobile_NS.replyDataSet(jsonObj);
			$comp.show();
		};
		
		Mobile_NS.replyDataSet = function(jsonObj){
	        var $form = $(".wev-reply-form", $comp);
			for(var key in jsonObj){
				var value = jsonObj[key];
				$input = $("input[paramkey="+key+"]", $form);
				if($input.length > 0){
					$input[0].value = value;
				}
			}
		};
		*/
    };
    
    return Component.init(Reply);
});