username@email.com
2025-04-27 15eb82df2d6ec539e9d4245bfe08d531e8eb6379
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
 
initData = function () {
    if (window.sysid === '') {
        $.ajax({
            url: "/AskForLeave/InitData", async: false, cache: false, dataType: "json",
            success: function (data) {
                var $data = data.children;
                for (var name in data) {
                    if (name !== "children") {
                        var $value = data[name];
                        if ($value != null && $value !== '') {
                            var $control = $(".main [field='" + name + "']");
                            var $controltype = $control.prop("tagName");
                            if ($controltype != null && $controltype !== '') {
 
                                var $type = $control.attr("type");
                                if ($type !== "radio" && $type !== "checkbox") {
                                    $(".main [field='" + name + "']").val($value);
                                }
                                if ($type === "radio") {
                                    $(".main [field='" + name + "'][value='" + $value + "']").attr("checked", "checked");
                                }
                                if ($type === "checkbox") {
                                    var $items = $(".main [field='" + name + "']");
                                    var $arr = $value.split(",");
                                    $.each($items, function (index, obj) {
                                        var value = $(obj).attr("value");
                                        if (contains($arr, value))
                                            $(obj).attr("checked", "checked");
                                    });
                                }
                            }
                        }
                    }
                }
                if ($data != null && $data.length > 0) {
                    renderGirdtableByData($children, $data.length);
                }
                $("#oa_askforleave_LeaveType option:first").prop('selected', 'selected');
            }
        });
        compute();
    }
    $("#oa_askforleave_EmployeeUserName").attr("disabled", "disabled");
 
 
    ///处理请年假的方法
    $("#oa_askforleave_LeaveType").parent().on("change", changeleavetype);
    var html = '<div id="xq" style="display:none;"><ul id="njxq" ></ul></div> ';
    $("body").after(html);
    $(this).parent().css('position','relative');
    var str = '<span id="xjqk" style="display:none; position:absolute; top:1px; right:80px; z-index:99;">休<a href="#javascript:void(0)" onclick="show()" id="xnjts">0</a>天/共<span id="znjts">0</span>天<span>';
    $("#oa_askforleave_LeaveType").after(str);
 
}
 
$("input[name='oa_askforleave.BeginAmOrPm']").on("click", function () {
    compute();
});
 
$("input[name='oa_askforleave.EndAmOrPm']").on("click", function () {
    compute();
});
 
/*请假天数计算*/
compute = function () {
    var url = "/AskForLeave/Compute";
    var beginAmPm = $("input[name='oa_askforleave.BeginAmOrPm']:checked").val();//从上午或下午开始
    var endAmPm = $("input[name='oa_askforleave.EndAmOrPm']:checked").val();//到上午或下午结束
    var begindate = $("input[name='oa_askforleave.BegionDate']").val();//开始时间
    var enddate = $("input[name='oa_askforleave.EndDate']").val();//结束时间
    var LeaveType = $("#oa_askforleave_LeaveType").val();//结束时间
 
    if (begindate != null && begindate !== "" && enddate != null && enddate !== "" && beginAmPm != null && beginAmPm !== "" && endAmPm != null && endAmPm !== "") {
        var form = new FormData();
        form.append("begindate", begindate);
        form.append("enddate", enddate);
        form.append("beginampm", beginAmPm);
        form.append("endampm", endAmPm);
        form.append("LeaveType", LeaveType);
 
        window.$.ajax({
            url: url,
            type: "post",
            data: form,
            dataType: "json",
            processData: false,
            contentType: false,
            success: function (response) {
                if (response.status === 1 && taskid === '') {
                    $("[name='oa_askforleave.Days']").val(response.data);
                    //$("[name='oa_askforleave.Days']").removeAttr("disabled");
                }
                if (response.status === 0) {
                    window.layer.closeAll();
                }
            }
        });
    }
}
//请假类型修改到年假时显示内容
var changeleavetype = function () { 
    if ($("#oa_askforleave_LeaveType").parent().parent().find(".chosen-single").find("span").html() == "年假") {
        $.ajax({
            url: '/OA/AskForLeave/GetLeave',
            dataType: 'json', //服务器返回json格式数据
            type: 'get', //HTTP请求类型
            success: function (resp) {
                console.log(JSON.stringify(resp));
                    $("#xnjts").html(resp.yxleave);
                    $("#znjts").html(resp.totalleave);
                    if (resp.yxleave != 0) {
                        $("#xnjts").css("color", "blue");
                        var item = resp.listleave;
                        var arry = [];
                        for (var i = 0; i < item.length; i++) {
                            if (item[i].BeginAmOrPm == "am") {
                                item[i].BeginAmOrPm = "上午";
                            } else {
                                item[i].BeginAmOrPm = "下午";
                            };
                            if (item[i].EndAmOrPm == "am") {
                                item[i].EndAmOrPm = "上午";
                            } else {
                                item[i].EndAmOrPm = "下午";
                            };
                            var html = '<li>';
                            html += '' + ChangeStatus(item[i].BegionDate) + '' + item[i].BeginAmOrPm + '至' + ChangeStatus(item[i].EndDate) + '' + item[i].EndAmOrPm + '</br>共 ' + item[i].Days + '天';
                            html += '</li>';
                            arry.push(html);
                        };
                        if (arry.length == 0) {
                            $("#njxq").html('<li class="mui-table-view-cell">未查询到数据</li>');
                        } else {
                            $("#njxq").html(arry);
                        }
                    } else {
                        $("#njxq").html('<li class="mui-table-view-cell">未查询到数据</li>');
                        $("#xnjts").css("color", "black");
                    }
                    $("#xjqk").show();
            },
            error: function () {
 
            },
            complete: function () {
            }
        });
    } else {
        $("#oa_askforleave_LeaveType").parent().parent().find("#oa_askforleave_LeaveType_chosen").css("width", "100%");
        $("#xjqk").hide();
    }
 
    compute();
}
 
var show = function () {
    console.log($("#xq").html());
    layer.open({
        type: 1,
        skin: 'layui-layer-rim', //加上边框
        area: ['420px', '240px'], //宽高
        content: $("#xq").html()
    });
}
 
var ChangeStatus = function (time) {
    var datastarttime = time;
    if (datastarttime != '') {
        var date = new Date(parseInt(datastarttime.replace("/Date(", "").replace(")/", ""), 10));
        var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
        var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
        var dataStr = date.getFullYear() + "-" + month + "-" + currentDate;
        return dataStr;
    }
}