workfill.js 14.1 KB
/**
 * Created by mac on 18/7/25.
 */
var weekOfday = Number(moment().format('E'));//计算今天是这周第几天
var clicknum = 0;//定义上下周点击次数
var fun = {
    init:function () {
        //debugger;

        //初始化项目
        $('.work-projectName').selectpicker('render');
        //获取本周时间
        $('#time-opr-show').text(moment().subtract('days', weekOfday-1).format('YYYY/MM/DD')+' - '+moment().subtract('days', 0).format('YYYY/MM/DD'));
        // 获取今天时间
        var todaytime  = moment().subtract('days', 0).format('YYYY/MM/DD');
        $('#time-opr-nowtime').text(todaytime);
        $('#querytime').text(moment().subtract('days', weekOfday-1).format('YYYY-MM-DD'));
        //
        fun.logout();
        //获取项目
        fun.getAsraProject();
        fun.getAsraDailyListMsg();
    },
    listToggle:function (ele) {
        var text = ele.find('.slide-text').text();
        ele.parent().siblings().find('.slide-text').text('全部展开');
        if(text == '全部展开'){
            ele.find('.slide-text').text('全部折叠')
        }else{
            ele.find('.slide-text').text('全部展开')
        };
        ele.parent().siblings().find('.slide-icon').removeClass('slide-icon-active');
        ele.find('.slide-icon').toggleClass('slide-icon-active');


        ele.parent().siblings().find('.workquery-list-container').slideUp();
        ele.parent().find('.workquery-list-container').slideToggle();
    },
    timeoprprevbtn:function () {
        $('#time-opr-nextbtn').removeClass('display-none');
        clicknum ++;
        console.log(clicknum)
        var start = weekOfday+7*clicknum-1;
        var end = weekOfday+ clicknum*7-7;
        $('#time-opr-show').text(moment().subtract('days', start).format('YYYY/MM/DD')+' - '+moment().subtract('days',end).format('YYYY/MM/DD'));
        $('#querytime').text(moment().subtract('days', start).format('YYYY-MM-DD'));
    },
    timeoprnextbtn:function () {

        clicknum --;
        console.log(clicknum)
        if(clicknum == 0){
            $('#time-opr-show').text(moment().subtract('days', weekOfday-1).format('YYYY/MM/DD')+' - '+moment().subtract('days', 0).format('YYYY/MM/DD'));
            $('#querytime').text(moment().subtract('days', weekOfday-1).format('YYYY-MM-DD'));
            $('#time-opr-nextbtn').addClass('display-none');
        }else{
            var start = weekOfday+7*clicknum-1;
            var end = weekOfday+ clicknum*7-7;
            $('#time-opr-show').text(moment().subtract('days', start).format('YYYY/MM/DD')+' - '+moment().subtract('days',end).format('YYYY/MM/DD'));
            $('#querytime').text(moment().subtract('days', start).format('YYYY-MM-DD'));
        }


    },
    //退出
    logout:function(){
        documentBindFunc.on('click','#logoutId',function(){
            debugger;
           fn.loginOut();
       });
    },
    /***获取项目下拉框.*/
    getAsraProject:function(){
        // debugger;
         fn.getAsraProject("",function(data){
            var html="";
            $.each(data,function(index,row){
                html+='<option value="'+row.id+'">'+row.projecName+'</option>';
            });
            if(html != null && html != ""){
                for(var i=1;i<8;i++){
                    $("#work-projectName"+i).empty();
                    $("#work-projectName"+i).append(html);
                    $("#work-projectName"+i).selectpicker('refresh');

                }
            }
        });
    },
    /*获取查询参数*/
    getQueryParam: function () {
        /**员工名字*/
        var dailyDate = $("#querytime").text()+" 00:00:00";

        var req = {
            dailyDate: dailyDate
        };

        return req;
    },
    queryAsraDailyList:function(callBack){
        // debugger;
        var req = fun.getQueryParam();
        //设置请求参数
        req.sysCode = sysComm.sysCode;
        var opt = {
            method: 'post',
            url: dataUrl.util.queryAsraDailyList(),
            data: JSON.stringify(req),
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (res) {
                if (res.success == true) {
                    console.log(res.data);
                    callBack(res.data);
                }
            }
        };
        sysAjax(opt);
    },
    /***获取日报信息.*/
    getAsraDailyListMsg:function(){
        // debugger;
        fun.queryAsraDailyList(function(data){
            /**先进性初始化*/
            for(var i=1;i<8;i++){
                if($("#weekday" + i).next().hasClass("commited-icon")) {
                    $("#weekday" + i).next().removeClass("commited-icon");
                    $("#weekday" + i).next().addClass("nocommited-icon");
                    $("#weekday" + i).next().html("未填写");
                }
                $("#weekday"+i).parent().parent().show();
                $("#btn-commit"+i).html('提交');
                $("#work-projectName"+i).selectpicker('val','');
                $("#work-projectName"+i).selectpicker('refresh');
                $("#daily-report"+i).html("");
                //如果不是本周则隐藏按钮
                if(clicknum >= 1) {
                    $("#btn-commit" + i).attr("style", "display:none;");
                    $("#daily-report" + i).attr("contenteditable", "false");
                    $("#btn-commit" + i).parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon').addClass('display-none');
                    var projectName = $("#btn-commit" + i).parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon .work-projectName').find("option:selected").text();
                    $("#btn-commit" + i).parent().parent().find('.workfill-list-projectnamewrap .workfill-list-projectname').removeClass('display-none');
                    $("#btn-commit" + i).parent().parent().find('.workfill-list-projectnamewrap .workfill-list-projectname').text(projectName);

                     var ele = $("#weekday" + i).parent();
                     ele.find('.slide-text').text('全部展开')
                     ele.parent().siblings().find('.slide-icon').removeClass('slide-icon-active');
                     ele.find('.slide-icon').addClass('slide-icon-active');
                     ele.parent().siblings().find('.workquery-list-container').slideUp();
                     ele.parent().find('.workquery-list-container').slideUp();
                }else if(clicknum == 0){
                    //日期回填
                    var date = moment().subtract('days', weekOfday-i).format('YYYY-MM-DD 01:00:00');
                    $("#weekday"+i).attr("data-date",date);
                    if(weekOfday-i < 0){
                        $("#btn-commit"+i).attr("style","display:none;");
                        $("#weekday"+i).parent().parent().hide();
                    }else if(weekOfday-i == 0){
                        if(weekOfday-i == 0){
                            var ele = $("#weekday"+i).parent();
                            fun.listToggle(ele);
                        }
                        $("#btn-commit"+i).attr("style","display:block;");
                    }
                    //展示变更
                    $("#daily-report"+i).attr("contenteditable","true");
                    if($("#btn-commit"+i).parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon').hasClass('display-none')) {
                        $("#btn-commit"+i).parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon').removeClass('display-none');
                        var projectName=$("#btn-commit"+i).parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon .work-projectName').find("option:selected").text();
                        $("#btn-commit"+i).parent().parent().find('.workfill-list-projectnamewrap .workfill-list-projectname').addClass('display-none');
                        $("#btn-commit"+i).parent().parent().find('.workfill-list-projectnamewrap .workfill-list-projectname').text(projectName);
                    }
                }
            }
            /**回填数据*/
            $.each(data,function(index,row){
                if($("#weekday" + row.weeksNum).next().hasClass("nocommited-icon")) {
                    $("#weekday" + row.weeksNum).next().removeClass("nocommited-icon");
                    $("#weekday" + row.weeksNum).next().addClass("commited-icon");
                    $("#weekday" + row.weeksNum).next().html("已填写");
                }

                $("#weekday"+row.weeksNum).attr("data-id",row.id);
                $("#daily-report"+row.weeksNum).html(row.dailyContent);
                $("#work-projectName"+row.weeksNum).selectpicker('val',row.projectId);
                $("#work-projectName"+row.weeksNum).selectpicker('refresh');

                $("#btn-commit"+row.weeksNum).html('编辑');
                $("#daily-report"+row.weeksNum).attr("contenteditable","false");
                $("#btn-commit"+row.weeksNum).parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon').addClass('display-none');
                var projectName=$("#btn-commit"+row.weeksNum).parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon .work-projectName').find("option:selected").text();
                $("#btn-commit"+row.weeksNum).parent().parent().find('.workfill-list-projectnamewrap .workfill-list-projectname').removeClass('display-none');
                $("#btn-commit"+row.weeksNum).parent().parent().find('.workfill-list-projectnamewrap .workfill-list-projectname').text(projectName);
            });
        });
    },
    //工时信息提交
    dailyReportCommit:function (id,_this) {
        console.log(id);
        var arsaId  = $("#weekday"+id).attr("data-id");
        var projectId = $("#work-projectName"+id).find("option:selected").val();
        var dailyDate  = $("#weekday"+id).attr("data-date");
        var dailyContent = $("#daily-report"+id).text();
        if(dailyContent==''){
            $('.ITD-alertmodel-contentmsg').text('工作内容不能为空!');
            $('#ITD-tipsmodel').modal('show');
            setTimeout(function () {
                $('.ITD-alertmodel-contentmsg').text('');
                $('#ITD-tipsmodel').modal('hide');
            },3000);
            _this.removeAttr("disabled");
            return false;
        }else{
            var req= {
                id:arsaId,
                projectId:projectId,
                dailyDate:dailyDate,
                dailyContent:dailyContent,
                sysCode:sysComm.sysCode
            };
            var editAreaBlok= {
                method: "post",
                url: dataUrl.util.saveOrUpdateAsraDaily(),
                data: JSON.stringify(req),
                contentType: 'application/json; charset=utf-8',
                dataType:'json',
                success: function(res){
                    if(res.success == true){
                        var asraId = res.data;
                        $("#weekday"+id).attr("data-id",asraId);
                        _this.html('编辑');
                        _this.parent().next().attr("contenteditable","false");
                        _this.parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon').addClass('display-none');
                        var projectName=_this.parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon .work-projectName').find("option:selected").text();
                        _this.parent().parent().find('.workfill-list-projectnamewrap .workfill-list-projectname').removeClass('display-none');
                        _this.parent().parent().find('.workfill-list-projectnamewrap .workfill-list-projectname').text(projectName);
                        _this.removeAttr("disabled");

                        if($("#weekday" + id).next().hasClass("nocommited-icon")) {
                            $("#weekday" + id).next().removeClass("nocommited-icon");
                            $("#weekday" + id).next().addClass("commited-icon");
                            $("#weekday" + id).next().html("已填写");
                        }


                    }else{
                        $('.ITD-alertmodel-contentmsg').text('提交失败!');
                        $('#ITD-tipsmodel').modal('show');
                        setTimeout(function () {
                            $('.ITD-alertmodel-contentmsg').text('');
                            $('#ITD-tipsmodel').modal('hide');
                        },3000);
                        _this.removeAttr("disabled");
                        return false;
                    }
                }
            };
            sysAjax(editAreaBlok);
        }



    }
};
fun.init();
// 上一周点击time-opr-prevbtn
documentBindFunc.on('click','#time-opr-prevbtn',function () {
    fun.timeoprprevbtn();
    fun.getAsraDailyListMsg();
});
// 下一周点击time-opr-nextbtn
documentBindFunc.on('click','#time-opr-nextbtn',function () {
    fun.timeoprnextbtn();
    fun.getAsraDailyListMsg();
});

//提交事件
documentBindFunc.on('click','.workfill-list-btn',function () {
    var _this=$(this);
    if(_this.parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon').hasClass('display-none')){
        _this.html('提交');
        _this.parent().next().attr("contenteditable","true");
        _this.parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon').toggleClass('display-none');
        var projectName=_this.parent().parent().find('.workfill-list-projectnamewrap .workfill-projectCon .work-projectName').find("option:selected").text();
        _this.parent().parent().find('.workfill-list-projectnamewrap .workfill-list-projectname').toggleClass('display-none');
        _this.parent().parent().find('.workfill-list-projectnamewrap .workfill-list-projectname').text(projectName);

    }else {
        _this.attr("disabled","disabled");
        var commitId = _this.attr("id");
        var id = commitId.substring(10,11);
        fun.dailyReportCommit(id,_this);

    }


});

$('#workquery-list-wrap').delegate('.workquery-list-title','click',function () {
    var ele = $(this);
    fun.listToggle(ele);
});