Example #1
0
        "_renderCpt":function(){
            var elEl=this.element,
                rangeEl=$('.range-sb',elEl),
                sdEl=$('.start-date',elEl),
                edEl=$('.end-date',elEl);
            var contactData=util.getContactData();
            var rangeSb=new SelectBar({
                "element": rangeEl,
                "data": [{
                    "title": "同事",
                    "type": "p",
                    "list": contactData["p"]
                },{
                    "title": "部门",
                    "type": "g",
                    "list": contactData["g"]
                }],
                "title": "请选择同事范围",
                "autoCompleteTitle": "请输入姓名或拼音",
                "acInitData":util.getPublishRange()
            }),sd=new DateSelect({
                "element": sdEl,
                "placeholder": "选择日期",
                "formatStr":"YYYY年MM月DD日(dddd)"
            }),ed=new DateSelect({
                "element": edEl,
                "placeholder": "选择日期",
                "formatStr":"YYYY年MM月DD日(dddd)"
            });

            this.sb=rangeSb;
            this.sd=sd;
            this.ed=ed;
        },
Example #2
0
 "_renderCpt":function(){
     var elEl=this.element,
         rangeEl=$('.range-sb',elEl),
         yearSelectEl=$('.year-select',elEl),
         monthSelectEl=$('.month-select',elEl);
     var contactData=util.getContactData(),
         nowYear=moment().year(),
         nowMonth=moment().month(),
         htmlStr='';
     var rangeSb=new SelectBar({
         "element": rangeEl,
         "data": [{
             "title": "同事",
             "type": "p",
             "list": contactData["p"]
         },{
             "title": "部门",
             "type": "g",
             "list": contactData["g"]
         }],
         "title": "请选择同事范围",
         "autoCompleteTitle": "请输入姓名或拼音",
         "acInitData":util.getPublishRange()
     });
     this.sb=rangeSb;
     yearSelectEl.html('<option value="'+(nowYear-1)+'">'+(nowYear-1)+'年</option><option value="'+nowYear+'" selected="selected">'+nowYear+'年</option>');
     for (var i = 1; i <=12; i++) {
         htmlStr+='<option value="'+i+'">'+(i<10?('0'+i):i)+'月</option>';
     }
     monthSelectEl.html(htmlStr).val(nowMonth+1);
 },
Example #3
0
 "_renderCpt": function () {
     var elEl = this.element,
         rangeEl = $('.range-sb', elEl);
     var rangeSb = new SelectBar({
         "element": rangeEl,
         "data": [
             {
                 "title": "部门",
                 "type": "g",
                 "list": contactData["g"],
                 "unitSuffix": "个部门"
             }
         ],
         "acInitData":util.getPublishRange('circle'),
         "title": "选择可查阅该话题的范围",
         "autoCompleteTitle": "请输入姓名或拼音"
     });
     this.sb = rangeSb;
 },
Example #4
0
 "_rangeSelectBar": function () { //修改审批人加选人组件
     var elEl = this.element;
     var rangeselectbarEl = $('.selectbar', elEl);
     var circles = this.circles;
     var sb = new SelectBar({
         "element": rangeselectbarEl, //容器
         "data": [
             {
                 "title": "部门", //选项卡标题文字
                 "type": "g", //p是人 g是部门
                 "list": contactData["g"], //数据来源通过contactData获取
                 "unitSuffix": "个部门"
             }
         ],
         "singleCked": false, //单选吗?
         "title": "选择可查阅该话题的范围", //默认文字内容
         "acInitData":util.getPublishRange('circle'),
         "autoCompleteTitle": "请输入部门名称的拼音"
     });
     this.rangeSelectSb = sb; //保存起来,为了避免多次渲染
 },
Example #5
0
    exports.init=function(){
        var tplEl=exports.tplEl,
            tplName=exports.tplName;
        var listEl=$('.feed-list',tplEl),
            searchBarEl=$('.search-bar',tplEl),
            pagEl=$('.feed-list-pagination',tplEl),
            filterEl=$('.tpl-filter',tplEl),
            approveTypeEl=$('.approve-type',filterEl),
            queryEl=$('.query',filterEl),   //搜索框
            sendFilterEl=$('.send-field',filterEl),
            sendStartDateEl=$('.start-date',sendFilterEl),
            sendEndDateEl=$('.end-date',sendFilterEl),
            approveFilterEl=$('.approve-field',filterEl),
            approveStartDateEl=$('.start-date',approveFilterEl),
            approveEndDateEl=$('.end-date',approveFilterEl),
            rangeEl=$('.range-sb',filterEl),    //同事筛选范围
            sysNoEl=$('.sys-no',filterEl),
            subEl=$('.f-sub',filterEl), //查询按钮
            exportMonthEl=$('.export-month-l',tplEl),   //月度考勤统计
            exportApproveEl=$('.export-approve-l',tplEl);   //汇总统计

        //公共处理
        tplCommon.init(tplEl,tplName);
        //组件初始化
        var sendSd=new DateSelect({
            "element": sendStartDateEl,
            "placeholder": "选择日期"
        }),sendEd=new DateSelect({
            "element": sendEndDateEl,
            "placeholder": "选择日期"
        }),approveSd=new DateSelect({
            "element": approveStartDateEl,
            "placeholder": "选择日期"
        }),approveEd=new DateSelect({
            "element": approveEndDateEl,
            "placeholder": "选择日期"
        }),rangeSb=new SelectBar({
            "element": rangeEl,
            "data": [{
                "title": "同事",
                "type": "p",
                "list": contactData["p"]
            },{
                "title": "部门",
                "type": "g",
                "list": contactData["g"]
            }],
            "title": "请选择同事范围",
            "acInitData":util.getPublishRange(),
            "autoCompleteTitle": "请输入姓名或拼音"
        }),searchField=new SearchInput({
            "element":queryEl
        });
        //清空field
        filterEl.on('click','.clear-h',function(evt){
            var meEl=$(this),
                fieldEl=meEl.closest('.f-field');
            if(fieldEl.hasClass('send-field')){
                sendSd.clear();
                sendEd.clear();
            }
            if(fieldEl.hasClass('approve-field')){
                approveSd.clear();
                approveEd.clear();
            }
            if(fieldEl.hasClass('sys-no-field')){
                sysNoEl.val("");
            }
            evt.preventDefault();
        }).on('click','.approve-type',function(evt){
            approveTypeEl.removeClass('depw-tabs-aon');
            $(this).addClass('depw-tabs-aon');
            evt.preventDefault();
        });
        subEl.click(function(evt){
            if(isValid()){
                feedList.pagination.reset();
                feedList.reload();
            }
        });
        searchBarEl.on('click','.return-back-l',function(evt){
            clear();
            searchBarEl.hide();
            feedList.reload();
            evt.preventDefault();
        });
        var isValid=function(){
            var sysNo=_.str.trim(sysNoEl.val());
            if(sysNo.length>0){
                if(isNaN(parseInt(sysNo))){
                    util.alert("请输入合法的系统编号");
                    return false;
                }
            }
            return true;
        };
        var getRequestData=function(){
            var approveType=approveTypeEl.filter('.depw-tabs-aon').attr('approvetype');
            var sbData=rangeSb.getSelectedData();
            var sendSdValue=sendSd.getValue(true),
                sendEdValue=sendEd.getValue(true),
                approveSdValue=approveSd.getValue(true),
                approveEdValue=approveEd.getValue(true);
            var queryParams = util.getTplQueryParams(); //传给模板的参数
            var aType = queryParams ? queryParams.atype : 0; //获取atype
            aType=parseInt(aType);
            if(aType==1){   //人事approve type==2
                approveType=2;
            }
            return {
                "feedId": parseInt(_.str.trim(sysNoEl.val()))||0,
                "approveType":approveType,
                "circleIds": (sbData['g']||[]).join(','),
                "employeeIds":(sbData['p']||[]).join(','),
                "sendApprovalBeginTime":sendSdValue?sendSdValue.unix():0,
                "sendApprovalEndTime":sendEdValue?sendEdValue.add('days', 1).subtract('seconds', 1).unix():0,
                "replyApprovalBeginTime":approveSdValue?approveSdValue.unix():0,
                "replyApprovalEndTime":approveEdValue?approveEdValue.add('days', 1).subtract('seconds', 1).unix():0,
                "keyword":searchField.getValue()
            };
        };
        var isInSearchModel=function(requestData){
            if(requestData["circleIds"].length==0&&requestData["employeeIds"].length==0&&requestData["sendApprovalBeginTime"]==0&&requestData["sendApprovalEndTime"]==0&&requestData["replyApprovalBeginTime"]==0&&requestData["replyApprovalEndTime"]==0&&requestData["keyword"].length==0){
                return false;
            }
            return true;
        };
        var clear=function(){
            rangeSb.removeAllItem();
            approveTypeEl.removeClass('depw-tabs-aon').eq(0).addClass('depw-tabs-aon');
            //关键词清理
            searchField.clear();
            //调用其他field清理
            $('.clear-h',filterEl).click();
            //feedlist清理
            feedList.empty();
            feedList.pagination.hide();
        };

        var feedList=new FeedList({
            "element":listEl, //list selector
            "pagSelector":pagEl, //pagination selector
            "pagOpts":{ //分页配置项
                "pageSize":20,
                "visiblePageNums":7
            },
            "listPath":"/FeedApprove/GetApprovalsForApproveManagement",
            "defaultRequestData":function(){
                return getRequestData();
            },
            "listSuccessCb":function(responseData,requestData){
                var totalCount;
                if(responseData.success){
                    totalCount=responseData.value.totalCount;
                    $('.result-num',searchBarEl).text(totalCount);
                    if(isInSearchModel(requestData)){
                        searchBarEl.show();
                    }else{
                        searchBarEl.hide();
                    }
                }
            },
            "listEmptyText":"没有审批"
        });
        //切换到当前模板后重新加载feedlist
        var firstRender=true;
        //密码验证
        var allApproveValid=new AllApproveValid({
            "successCb":function(responseData){
                if(responseData.success){
                    //刷新主列表
                    if(firstRender){
                        feedList.load();
                        firstRender=false;
                    }else{
                        feedList.reload();
                    }
                }
            }
        });
        //导出月度考勤统计
        var exportMonthDialog=new MonthWorkDialog();
        exportMonthEl.click(function(evt){
            exportMonthDialog.show();
            evt.preventDefault();
        });
        //导出汇总统计
        var compDialog=new CompDialog();
        exportApproveEl.click(function(evt){
            compDialog.show();
            evt.preventDefault();
        });

        tplEvent.on('switched', function (tplName2, tplEl) {
            if(tplName2==tplName){
                var queryParams = util.getTplQueryParams(); //传给模板的参数
                var aType = queryParams ? queryParams.atype : 0; //获取atype
                var functionPermissions;
                aType=parseInt(aType);
                if(aType==0){   //财务管理
                    $('.staffing-title',tplEl).hide();
                    $('.finance-title',tplEl).show();
                    $('.approve-type-field',tplEl).show();
                    $('.export-approve-field',tplEl).show();
                    allApproveValid.set('defaultRequestData',function(){
                        return {
                            "functionNo":3
                        };
                    });
                }else if(aType==1){  //人事管理
                    $('.staffing-title',tplEl).show();
                    $('.finance-title',tplEl).hide();
                    $('.approve-type-field',tplEl).hide();
                    $('.export-approve-field',tplEl).hide();
                    allApproveValid.set('defaultRequestData',function(){
                        return {
                            "functionNo":4
                        };
                    });
                }
                //如果权限和请求地址不匹配,修正跳转地址
                functionPermissions=contactData["u"].functionPermissions;
                if(_.some(functionPermissions,function(permission){
                    return permission.value==3;
                })){   //先判断财务管理
                    tpl.navRouter.navigate('#approve/allapproves/=/atype-0', {
                        trigger: true
                    });
                }else{
                    //在不是财务管理的情况下再判断是否是人事管理员
                    if(_.some(functionPermissions,function(permission){
                        return permission.value==4;
                    })){
                        tpl.navRouter.navigate('#approve/allapproves/=/atype-1', {
                            trigger: true
                        });
                    }else{
                        tpl.navRouter.navigate('#stream', {
                            trigger: true
                        });
                    }
                }
                allApproveValid.show();
            }else{
                clear();
            }
        });
    };