Пример #1
0
    exports.init=function(){
        var tplEl = exports.tplEl,
            tplName=exports.tplName;
		
		//settings input click
		//var settingsInput=$('.settings-input'),
		//settingsTextarea=$('.settings-textarea');
		var formEl=$('.personalsetting-form',tplEl),
			inputEl=$('.settings-input,.settings-textarea',formEl),
			settingsTextarea=$('.settings-textarea',formEl);

		var userFullName=$('#user-fullname'),
			userName=$('#user-name'),
		    userAccount=$('#user-account'),
			userGenderM=$('#s-sex-male'),
			userGenderF=$('#s-sex-female'),
			userDepartment=$('#user-department'),
			userPost=$('#user-post'),
			userQq=$('#user-qq'),
			userMsn=$('#user-msn'),
			userEmail=$('#user-email'),
			userTel=$('#user-tel'),
			userDescription=$('#user-description');	
		//禁止输入中文
		formEl.on('keyup','#user-qq,#user-msn,#user-email,#user-tel',function(){
			var meEl=$(this);
			meEl.val(meEl.val().replace(/[^\x00-\xff]/ig,''));
		});	
		var getRequestData=function(){
			var requestData={};
			requestData.employeeID=currentUserData.id;
			requestData.account=userAccount.val();
			requestData.name=userName.val();
			requestData.tel=userTel.val();
			requestData.department=userDepartment.val();
			requestData.post=userPost.val();
			requestData.qq=userQq.val();
			requestData.msn=userMsn.val();
			requestData.email=userEmail.val();
			if(userGenderM.is(':checked'))
			{
				requestData.gender="M";
			}else if(userGenderF.is(':checked')){
				requestData.gender="F";
			}
			requestData.description=userDescription.val();
			return requestData;	
		};
		var isValid=function(){
			var isPassed=true;
			var accountValue=userAccount.val(),
				userDepartmentVal= _.str.trim(userDepartment.val()),
				userPostVal= _.str.trim(userPost.val()),
				userQqVal= _.str.trim(userQq.val()),
				userMsnVal= _.str.trim(userMsn.val()),
				userEmailVal= _.str.trim(userEmail.val()),
				userTelVal= _.str.trim(userTel.val()),
                userDescriptionVal= _.str.trim(userDescription.val());
			if(accountValue.length==0){
				isPassed=false;	
			}
			/*if(userDepartmentVal.length>50){
                util.alert('请控制部门在50字内,目前已超出<em>'+(userDepartmentVal.length-50)+'</em>个字');
                isPassed=false;
            }
			if(userPostVal.length>50){
                util.alert('请控制职务在50字内,目前已超出<em>'+(userPostVal.length-50)+'</em>个字');
                isPassed=false;
            }
			if(userQqVal.length>20){
                util.alert('请控制QQ在20字内,目前已超出<em>'+(userQqVal.length-20)+'</em>个字');
                isPassed=false;
            }
			if(userMsnVal.length>50){
                util.alert('请控制MSN在50字内,目前已超出<em>'+(userMsnVal.length-50)+'</em>个字');
                isPassed=false;
            }
			if(userEmailVal.length>50){
                util.alert('请控制工作邮箱在50字内,目前已超出<em>'+(userEmailVal.length-50)+'</em>个字');
                isPassed=false;
            }
			if(userTelVal.length>20){
                util.alert('请控制办公电话在20字内,目前已超出<em>'+(userTelVal.length-20)+'</em>个字');
                isPassed=false;
            }*/
            if(userDescriptionVal.length>500){
                util.alert('请控制工作介绍在500字内,目前已超出<em>'+(userDescriptionVal.length-500)+'</em>个字');
                isPassed=false;
            }
			
			return isPassed; 	
		};
		var clear=function(){
				
		};
		formEl.on('click','.settings-input,.settings-textarea',function(evt){
			var meEl=$(this);
			inputEl.each(function(){
				var inputEl=$(this);
				inputEl.removeClass('settings-input-on');
				inputEl.next().hide();		
			});
			meEl.addClass('settings-input-on');
			meEl.next().show();
			evt.stopPropagation();		
		}).on('click','.save-success-btn',function(evt){
			var requestData;
			if(isValid()){
				requestData=getRequestData();
				util.api({
					"type":"post",
					"url":"/Account/SaveCurrentUser/",
					"data":requestData,
					"success":function(responseData){
						if(responseData.success){
							//clear();	
							tplCommon.saveSuccessAnimated(tplEl,tplName);
						}		
					}	
				});	
			}
			
			evt.preventDefault();		
		});
        //设置默认页面数据
        util.api({
            "type":"get",
            "data":{"employeeID":currentUserData.id},
            "url":"/Account/GetEmployeeByID",
            "success":function(responseData){
                var dataRoot;
                if(responseData.success){
                    dataRoot=responseData.value;
                    userFullName.val(dataRoot.fullName);
                    userName.val(dataRoot.name);
                    userAccount.val(dataRoot.account);
                    if(dataRoot.gender=="M")
                    {
                        userGenderM.prop("checked",true);
                    }else if(dataRoot.gender=="F"){
                        userGenderF.prop("checked",true);
                    }
                    userDepartment.val(dataRoot.department);
                    userPost.val(dataRoot.post);
                    userQq.val(dataRoot.qq);
                    userMsn.val(dataRoot.msn);
                    userEmail.val(dataRoot.email);
                    userTel.val(dataRoot.tel);
                    userDescription.val(dataRoot.description);

                }
            }
        });
		util.regGlobalClick(inputEl,function(){
			inputEl.each(function(){
				var inputEl=$(this);
				inputEl.removeClass('settings-input-on');
				inputEl.next().hide();		
			});		
		});
		
		//tab部分
		tplCommon.init(tplEl,tplName);
    };
Пример #2
0
    exports.createCrmSettingLeftNav = function (tplEl, tplName) {
        var crmSettingLeftTpl = tabTplEl.filter('.crm-settings-left-tpl').html();  //crm 设置页左侧模板
        var tplLeftEl = $('.crm-tpl-l .tpl-inner', tplEl);
        var crmData = util.getCrmData(),
            tagData = crmData.tags;
        //渲染DOM
        tplLeftEl.html(_.template(crmSettingLeftTpl)({
            "tagData": _.map(tagData, function (itemData) {
                return {
                    "tagType": itemData.value,
                    "tagName": itemData.value1
                };
            })
        }));
        //绑定标签管理点击事件
        tplLeftEl.on('click', '.label-manage-l', function (evt) {
            var tagListEl = $('.label-manage-list', tplLeftEl);
            tagListEl.show();
            evt.preventDefault();
            evt.stopPropagation();
        });
        //绑定销售阶段设置点击事件
        tplLeftEl.on('click', '.label-salesstage-l', function (evt) {
            var tagListEl = $('.label-manage-list', tplLeftEl);
//            console.info(tagListEl)
            tagListEl.hide();
            salesStageDialog.load();//每次点击都load保持最新数据
            evt.preventDefault();
            evt.stopPropagation();
        });

        util.regGlobalClick($('.label-manage-list', tplLeftEl));
        //注册高亮导航
        util.regTplNav($('.tpl-nav-l', tplLeftEl), 'state-active');
        util.regTplNav($('.label-manage-list a', tplLeftEl), 'state-active');


        /**
         * 销售阶段设置的弹框
         * liuxf
         * 2014-04-22
         */
        var SalesStageDialog = Dialog.extend({
            "attrs": {
                width: 500,
                content: tabTplEl.filter('.crm-salesstagedialog-tpl').html(),
                className: 'dialog-createnewproductdialog'
            },
            "events": {
                'click .js-inuse': 'selectTr',
                'click .button-submit': 'submit',
                'click .button-cancel': 'hide'
            },
            //选择每行时事件
            selectTr: function (e) {
                var meEl = $(e.currentTarget);
                var trEl = meEl.closest('tr');
                var inputEl = trEl.find('td input');
                if (!meEl.parent().is('.mn-disabled-checkbox-box')) {//排除掉disabled的
                    // 选中
                    if (meEl.is('.mn-selected')) {
                        inputEl.prop("disabled", true); //表单置灰
                        meEl.data('value',false);
                    } else {
                        inputEl.prop("disabled", false); //取消表单置灰
                        meEl.data('value',true);
                    }
                } else {
                    e.preventDefault();
                    e.stopPropagation();
                }
            },
            load: function () {
                var that = this;
                util.api({
                    "url": '/SalesStage/GetAllSalesStages',
                    "type": 'get',
                    "dataType": 'json',
                    "success": function (responseData) {
                        if (responseData.success) {
                            var salesStages = responseData.value.salesStages;
                            var tabodyEl = $('.salesstagedialog-table tbody', that.element);
                            var trStr = '';
                            _.each(salesStages, function (salesStage) {
                                var salesStageNo = salesStage.salesStageNo;
                                var inUse = salesStage.inUse;
                                var name = salesStage.name;
                                var winRate = salesStage.winRate;
                                var inputDisabled = "";
                                var mnDisabled = "";
                                var mnSelected = "";
                                if (inUse) {
                                    mnSelected = 'mn-selected';
                                } else {
                                    inputDisabled = 'disabled="disabled"';
                                }
                                if (salesStageNo == 10 || salesStageNo == 11) {
                                    inputDisabled = 'disabled="disabled"';
                                    mnDisabled = 'mn-disabled-checkbox-box';
                                }
                                trStr += '<tr data-salesstageno="' + salesStageNo + '"> <td><div class="mn-checkbox-box checkbox-for-comtable ' + mnDisabled + '">&nbsp;&nbsp;<span class="mn-checkbox-item js-inuse ' + mnSelected + '" data-value="' + inUse + '"></span> </div></td> <td><input type="text" class="textfield input-name" value="' + name + '" ' + inputDisabled + '></td> <td><input type="text" class="textfield input-winrate" value="' + winRate + '" ' + inputDisabled + '></td> </tr>';
                            });
                            tabodyEl.html(trStr);
                            that.show();//拼好了再显示
                        }
                    }
                });
            },
            submit: function (e) {
                var that = this;
                var tabodyEl = $('.salesstagedialog-table tbody', that.element);
                var salesStagesJson = [];
                tabodyEl.find('tr').each(function () {
                    var salesStageNo = $(this).data('salesstageno');
                    var inUse = $(this).find('.js-inuse').data('value');
                    var name = $(this).find('.input-name').val();
                    var winRate = $(this).find('.input-winrate').val();
                    salesStagesJson.push(
                        {"inUse": inUse, "name": name, "salesStageNo": salesStageNo, "winRate": Number(winRate)}
                    );
                });

                util.confirm("您确定要保存您对销售阶段设置的修改吗?", "", function () {
                    util.api({
                        "url": '/SalesStage/SetSalesStages',
                        "type": 'post',
                        "data": {
                            salesStagesJson: salesStagesJson
                        },
                        "dataType": 'json',
                        "success": function (responseData) {
                            if (responseData.success) {
                                util.remind(1,"修改成功");
                                that.load();
                            }
                        }
                    });
                });

            }
        });
        var salesStageDialog = new SalesStageDialog();
        salesStageDialog.render();
    };
    exports.init=function(){
        var tplEl = exports.tplEl,
            tplName=exports.tplName;
			
		//settings input click
		var settingsInput=$('.settings-input',tplEl);

		var formEl=$('.resetpassword-form',tplEl),
			inputEl=$('.settings-input',formEl);
		formEl.on('click','.settings-input',function(evt){
			var meEl=$(this);
			inputEl.each(function(){
				var inputEl=$(this);
				inputEl.removeClass('settings-input-on');
				inputEl.next().hide();		
			});
			meEl.removeClass('settings-input-onerror');
			meEl.nextAll('.settings-input-error').hide();
			meEl.addClass('settings-input-on');
			meEl.next().show();
			meEl.next('.settings-input-prompt').show();
			evt.stopPropagation();		
		});

		util.regGlobalClick(inputEl,function(){
			inputEl.each(function(){
				var inputEl=$(this);
				inputEl.removeClass('settings-input-on');
				inputEl.next().hide();		
			});		
		});
		
		//验证密码
		var userAccount=$('#user-account',tplEl),
			newPwd=$('#new-pwd',tplEl),
			confirmNewPwd=$('#confirm-new-pwd',tplEl),
			userFullname=$('#user-fullname',tplEl);
		userAccount.blur(function(){
			var meEl=$(this);
			var errorHtml=meEl.nextAll('.settings-input-error').html();
			if(_.str.trim(meEl.val()) == '')
			{
				settingsInput.next('.settings-input-prompt').hide();
				meEl.addClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').show();
				errorHtml="请输入帐号";
			}else if(_.str.trim(meEl.val()).length < 2 || _.str.trim(meEl.val()).length > 50){
				settingsInput.next('.settings-input-prompt').hide();
				meEl.addClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').show();
				errorHtml="2-50个字符,英文或数字开头的英文、数字和下划线组合";
			}else{
			    meEl.removeClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').hide();	
			}
			meEl.nextAll('.settings-input-error').html(errorHtml);
		});	
		newPwd.blur(function(){
			var meEl=$(this);
			var errorHtml=meEl.nextAll('.settings-input-error').html();
			errorHtml="";
			if(_.str.trim(meEl.val()) == '')
			{
				settingsInput.next('.settings-input-prompt').hide();
				meEl.addClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').show();
				errorHtml="请输入新密码";
			}else if(_.str.trim(meEl.val()).length < 6 || _.str.trim(meEl.val()).length > 20){
				settingsInput.next('.settings-input-prompt').hide();
				meEl.addClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').show();
				errorHtml="此项应为6-20半角字符(字母、数字、符号)组成";
			}else{
			    meEl.removeClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').hide();	
			}
			meEl.nextAll('.settings-input-error').html(errorHtml);
		});
		confirmNewPwd.blur(function(){
			var meEl=$(this);
			var errorHtml=meEl.nextAll('.settings-input-error').html();
			errorHtml="";
			if(_.str.trim(meEl.val()) == '')
			{
				settingsInput.next('.settings-input-prompt').hide();
				meEl.addClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').show();
				errorHtml="请输入确认密码";
			}else if(_.str.trim(meEl.val()) !== _.str.trim(newPwd.val())){
				settingsInput.next('.settings-input-prompt').hide();
				meEl.addClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').show();
				errorHtml="两次输入的密码不一致,请重新输入";
			}else{
			    meEl.removeClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').hide();	
			}
			meEl.nextAll('.settings-input-error').html(errorHtml);
		});
		userFullname.blur(function(){
			var meEl=$(this);
			if(_.str.trim(meEl.val()) == '')
			{
				settingsInput.next('.settings-input-prompt').hide();
				meEl.addClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').show();
			}else{
			    meEl.removeClass('settings-input-onerror');
				meEl.nextAll('.settings-input-error').hide();	
			}
		});	
		
		var pwdSaveBtnEl=$('.pwd-save-btn',tplEl);
		pwdSaveBtnEl.click(function(evt){
			var passed=true;
			$('.settings-input',tplEl).blur();
			
			$('.settings-input',tplEl).each(function(){
				if($(this).hasClass('settings-input-onerror')){
					passed=false;
					return false;	
				}	
			});	
			if(passed){
				
				util.api({
					"type":"post",
					"data":{"newPwd":newPwd.val()},
					"url":"#",
					"success":function(responseData){
						if(responseData.success){
							//保存
							var saveSuccessEl=$('.save-success-apv',tplEl);
							saveSuccessEl.animate({top:'0px'},300,function(){
								setTimeout(function(){
									saveSuccessEl.animate({top:'54px'},300);
								},2000);		
							});	
						}
					}
				});
					
			}else{
				//alert('failed');	
			}
			evt.preventDefault();	
		});
		
		
		
    };