From 072169e3c5446f94e2cf4e570e5c7952bb5b15b9 Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期二, 27 七月 2021 14:47:44 +0800
Subject: [PATCH] 今日开发 考勤规则里增加 公司安排加班 调整请假时间计算 加班日考勤计算
---
zhengcaioa/DTO/AdmAttendanceRuleDTO.cs | 4
zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs | 35 ++
zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs | 540 ++++++++++++++++++++++++++++++--------------
zhengcaioa/zhengcaioa/Views/Signin/AttendanceRule.cshtml | 123 +++++++--
4 files changed, 495 insertions(+), 207 deletions(-)
diff --git a/zhengcaioa/DTO/AdmAttendanceRuleDTO.cs b/zhengcaioa/DTO/AdmAttendanceRuleDTO.cs
index 21ba245..2db522d 100644
--- a/zhengcaioa/DTO/AdmAttendanceRuleDTO.cs
+++ b/zhengcaioa/DTO/AdmAttendanceRuleDTO.cs
@@ -46,6 +46,10 @@
public string[] rest_s { get; set; }
public string[] rest_e { get; set; }
+
+
+ public string[] jiaban_s { get; set; }
+ public string[] jiaban_e { get; set; }
public List<AdmAttendanceRulesDtlDTO> admAttendanceRulesDtlDTOs { get; set; }
}
diff --git a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs
index 1fce48e..beae1d7 100644
--- a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs
@@ -441,6 +441,8 @@
var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList();
+ var jiabanri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiabanri").ToList();
+
//姣忓ぉ鐨勮�冨嫟鏃堕棿鐐�
string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.');
int WorkingStarthour = int.Parse(WorkingStart[0]);
@@ -551,7 +553,8 @@
{
//鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝�
- if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+ if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)
+ || jiabanri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
{
if (StratTime <= StratTimeWorkingStart)
{
@@ -647,7 +650,8 @@
{
//鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝�
- if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
+ if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date)
+ || jiabanri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
{
if (EndTime >= EndTimeOffworkEnd)
{
@@ -709,7 +713,8 @@
{
//鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝�
- if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+ if (tiaoxiuri.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date)
+ || jiabanri.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date))
{
LavehTime += shangbanshijian;
}
@@ -738,7 +743,8 @@
else
{
//鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝�
- if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+ if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)
+ || jiabanri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
{
LavehTime -= shangbanshijian;
}
@@ -1060,6 +1066,27 @@
}
+
+ for (int i = 0; i < dto.jiaban_s.Length; i++)
+ {
+ if (!String.IsNullOrEmpty(dto.jiaban_s[i]) && !String.IsNullOrEmpty(dto.jiaban_e[i]))
+ {
+ AdmAttendanceRulesDtlDTO admAttendanceRulesDtlDTO = new AdmAttendanceRulesDtlDTO();
+ admAttendanceRulesDtlDTO.Pid = dto.Id;
+ admAttendanceRulesDtlDTO.ValueStart = DateTime.Parse(dto.jiaban_s[i]);
+ admAttendanceRulesDtlDTO.ValueEnd = DateTime.Parse(dto.jiaban_e[i]);
+ admAttendanceRulesDtlDTO.Name = "jiabanri";
+ admAttendanceRulesDtlDTO.RecStatus = "A";
+ admAttendanceRulesDtlDTO.Creater = curentuser.Id;
+ admAttendanceRulesDtlDTO.Createtime = DateTime.Now;
+ admAttendanceRulesDtlDTO.Modifier = admAttendanceRulesDtlDTO.Creater;
+ admAttendanceRulesDtlDTO.Modifytime = admAttendanceRulesDtlDTO.Createtime;
+ resultEntity = _attendanceRuleService.saveDtl(admAttendanceRulesDtlDTO);
+ }
+
+
+ }
+
scope.Complete();
}
diff --git a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
index 92bc0d5..1444423 100644
--- a/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
+++ b/zhengcaioa/zhengcaioa/Timer/TimedBackgroundService.cs
@@ -48,6 +48,7 @@
private readonly IDtChannelArticleNewsService _dtChannelArticleNewsService;
private readonly IConfiguration _configuration;
private readonly IHttpClientFactory _clientFactory;
+ private readonly IAskService _askService;
private readonly decimal jiabangongzibiaozhun = new decimal(21.5);
public TimedBackgroundService(ILogger<TimedBackgroundService> logger, IServiceScopeFactory factory)
@@ -79,6 +80,7 @@
_dtChannelArticleNewsService = factory.CreateScope().ServiceProvider.GetRequiredService<IDtChannelArticleNewsService>();
_configuration = factory.CreateScope().ServiceProvider.GetRequiredService<IConfiguration>();
_clientFactory = factory.CreateScope().ServiceProvider.GetRequiredService<IHttpClientFactory>();
+ _askService= factory.CreateScope().ServiceProvider.GetRequiredService<IAskService>();
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
@@ -208,6 +210,7 @@
AdmAttendanceRuleDTO admAttendanceRuleDTO = _attendanceRuleService.Get("");
var jiejiari = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiejiari").ToList();
var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList();
+ var jiabanri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiabanri").ToList();
//姣忓ぉ鐨勮�冨嫟鏃堕棿鐐�
string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.');
@@ -737,245 +740,423 @@
//璁$畻鍔犵彮鏃堕棿
if (admSignInDTO != null && admSignInDTO.OvertimeIn.HasValue && admSignInDTO.OvertimeOut.HasValue)
{
- DateTime overdate = admSignInDTO.OvertimeIn.Value;
- if (admSignInDTO.OvertimeIn.Value< StratTimeOffworkEnd)
+ var admAskovertimeDTO = _askService.GetAskovertimeByUeridAndjiabantime(userList[a].Id, dateminkaoqin);
+ if(admAskovertimeDTO!=null&& !string.IsNullOrEmpty(admAskovertimeDTO.Id))
{
- overdate = StratTimeOffworkEnd;
+ DateTime overdate = admSignInDTO.OvertimeIn.Value;
+ if (admSignInDTO.OvertimeIn.Value < StratTimeOffworkEnd)
+ {
+ overdate = StratTimeOffworkEnd;
+ }
+ TimeSpan jiaban = admSignInDTO.OvertimeOut.Value.Subtract(overdate);
+ decimal jiabanshijian = jiaban.Hours;
+ if(new decimal(jiaban.Hours) > admAskovertimeDTO.Overtime.Value)
+ {
+ jiabanshijian = admAskovertimeDTO.Overtime.Value;
+ }
+
+
+
+
+ Jiaban += Math.Round(jiabanshijian * 60 / shangbanshijian, 2);
}
- TimeSpan jiaban = admSignInDTO.OvertimeOut.Value.Subtract(overdate);
-
- Jiaban += Math.Round((decimal)(jiaban.Hours * 60) / (decimal)shangbanshijian, 2);
+
+
+
}
}
else
{
-
- //鍒ゆ柇鑰冨嫟鏃堕棿鐨勮繛缁��
-
- //鍒ゆ柇鏃╀笂鏄惁杩熷埌,鍒ゆ柇鏃╀笂鏄惁鏃╅��锛屾棭閫�鐭垮伐澶勭悊
- DateTime? starttime = null;
- DateTime? endttime = null;
- bool kuanggong = false;
- List<DateBiJiaoDTO> dateBiJiaoDTOs = new List<DateBiJiaoDTO>();
- if (admSignInDTO != null && admSignInDTO.MorningIn.HasValue && admSignInDTO.MorningOut.HasValue)
+ //鍒ゆ柇浠婂ぉ鏄惁鍏徃瑕佹眰鍔犵彮
+ var shifoujiaban = jiabanri.Exists(x => x.ValueStart <= dateminkaoqin && x.ValueEnd >= dateminkaoqin);
+ if (shifoujiaban)
{
- DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
- dateBiJiaoDTO.StartTime = admSignInDTO.MorningIn;
- dateBiJiaoDTO.EndTime = admSignInDTO.MorningOut;
- dateBiJiaoDTOs.Add(dateBiJiaoDTO);
- }
- var jiabanbuka = admAskLeaveOffDTOMin.Where(x => x.Lavetype == "3").ToList();
- foreach (var admAskLeaveOff in jiabanbuka)
- {
- if (admAskLeaveOff.StratTime < StratTimeWorkingEnd)
+
+ //鍒ゆ柇鑰冨嫟鏃堕棿鐨勮繛缁��
+
+ //鍒ゆ柇鏃╀笂鏄惁杩熷埌,鍒ゆ柇鏃╀笂鏄惁鏃╅��锛屾棭閫�鐭垮伐澶勭悊
+ DateTime? starttime = null;
+ DateTime? endttime = null;
+ bool kuanggong = false;
+ List<DateBiJiaoDTO> dateBiJiaoDTOs = new List<DateBiJiaoDTO>();
+ if (admSignInDTO != null && admSignInDTO.MorningIn.HasValue && admSignInDTO.MorningOut.HasValue)
{
DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
- dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
- dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
+ dateBiJiaoDTO.StartTime = admSignInDTO.MorningIn;
+ dateBiJiaoDTO.EndTime = admSignInDTO.MorningOut;
dateBiJiaoDTOs.Add(dateBiJiaoDTO);
}
-
- }
-
-
- dateBiJiaoDTOs = dateBiJiaoDTOs.OrderBy(x => x.StartTime).ToList();
- if (dateBiJiaoDTOs.Count == 0)
- {
- Kuanggongtianshu += new decimal(0.5);
- }
- else
- {
- //鍒ゆ柇涓婂崍鑰冨嫟鏃堕棿鏄惁鍏ㄨ鐩�
- for (int i = 0; i < dateBiJiaoDTOs.Count; i++)
+ foreach (var admAskLeave in admAskLeaveDTOMin)
{
- if (i == 0)
+ if (admAskLeave.StratTime < StratTimeWorkingEnd)
{
- starttime = dateBiJiaoDTOs[i].StartTime;
- endttime = dateBiJiaoDTOs[i].EndTime;
+ DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+ dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
+ dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
+ dateBiJiaoDTOs.Add(dateBiJiaoDTO);
}
- else
- {
- if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
- {
- kuanggong = true;
- break;
- }
- else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
- {
- endttime = dateBiJiaoDTOs[i].EndTime;
- }
- }
+
}
- if (kuanggong)
+
+ foreach (var admAskLeaveOff in admAskLeaveOffDTOMin)
{
+ if (admAskLeaveOff.StratTime < StratTimeWorkingEnd)
+ {
+ DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+ dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
+ dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
+ dateBiJiaoDTOs.Add(dateBiJiaoDTO);
+ }
+
+ }
+
+
+ dateBiJiaoDTOs = dateBiJiaoDTOs.OrderBy(x => x.StartTime).ToList();
+ if (dateBiJiaoDTOs.Count == 0)
+ {
+ Kuanggong += new decimal(0.5);
Kuanggongtianshu += new decimal(0.5);
}
else
{
- decimal shangwukuanggong = 0;
- if (starttime > StratTimeWorkingStart)
+ //鍒ゆ柇涓婂崍鑰冨嫟鏃堕棿鏄惁鍏ㄨ鐩�
+ for (int i = 0; i < dateBiJiaoDTOs.Count; i++)
{
- TimeSpan chidao = starttime.Value.Subtract(StratTimeWorkingStart);
- if (chidao.Days > 0 || (chidao.Hours * 60 + chidao.Minutes) > admAttendanceRuleDTO.Absenteeism)
+ if (i == 0)
{
- if (shangwukuanggong == 0)
- {
- Kuanggongtianshu += new decimal(0.5);
- }
-
+ starttime = dateBiJiaoDTOs[i].StartTime;
+ endttime = dateBiJiaoDTOs[i].EndTime;
}
else
{
- Chidao += 1;
- Shangwuchidaofenzhong = chidao.Hours * 60 + chidao.Minutes;
- }
- }
- if (shangwukuanggong == 0 && endttime < StratTimeWorkingEnd)
- {
- TimeSpan zaotui = StratTimeWorkingEnd.Subtract(endttime.Value);
- if (zaotui.Days > 0 || (zaotui.Hours * 60 + zaotui.Minutes) > admAttendanceRuleDTO.Absenteeism)
- {
- if (shangwukuanggong == 0)
+ if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
{
- Kuanggongtianshu += new decimal(0.5);
+ kuanggong = true;
+ break;
}
-
+ else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+ {
+ endttime = dateBiJiaoDTOs[i].EndTime;
+ }
}
- else
- {
- Zaotui += 1;
- Shangwuzaotuifenzhong = zaotui.Hours * 60 + zaotui.Minutes;
- }
-
}
- Kuanggongtianshu += shangwukuanggong;
- }
- }
-
-
-
- //鍒ゆ柇涓嬪崍鏄惁杩熷埌,鍒ゆ柇涓嬪崍鏄惁鏃╅��锛屾棭閫�鐭垮伐澶勭悊
-
-
- starttime = null;
- endttime = null;
- kuanggong = false;
- dateBiJiaoDTOs = new List<DateBiJiaoDTO>();
- if (admSignInDTO != null && admSignInDTO.AfternoonIn.HasValue && admSignInDTO.AfternoonOut.HasValue)
- {
- DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
- dateBiJiaoDTO.StartTime = admSignInDTO.AfternoonIn;
- dateBiJiaoDTO.EndTime = admSignInDTO.AfternoonOut;
- dateBiJiaoDTOs.Add(dateBiJiaoDTO);
- }
- var jiabanbukaxiawu = admAskLeaveOffDTOMin.Where(x => x.Lavetype == "3").ToList();
- foreach (var admAskLeaveOff in jiabanbukaxiawu)
- {
- if (admAskLeaveOff.EndTime > StratTimeOffworkStart)
- {
- DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
- dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
- dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
- dateBiJiaoDTOs.Add(dateBiJiaoDTO);
- }
-
- }
-
- dateBiJiaoDTOs = dateBiJiaoDTOs.OrderBy(x => x.StartTime).ToList();
- if (dateBiJiaoDTOs.Count == 0)
- {
- //Kuanggong += new decimal(0.5);
- Kuanggongtianshu += new decimal(0.5);
- }
- else
- {
- //鍒ゆ柇涓婂崍鑰冨嫟鏃堕棿鏄惁鍏ㄨ鐩�
- for (int i = 0; i < dateBiJiaoDTOs.Count; i++)
- {
- if (i == 0)
+ if (kuanggong)
{
- starttime = dateBiJiaoDTOs[i].StartTime;
- endttime = dateBiJiaoDTOs[i].EndTime;
+ Kuanggong += new decimal(0.5);
+ Kuanggongtianshu += new decimal(0.5);
}
else
{
- if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+ decimal shangwukuanggong = 0;
+ if (starttime > StratTimeWorkingStart)
{
- kuanggong = true;
- break;
+ TimeSpan chidao = starttime.Value.Subtract(StratTimeWorkingStart);
+ if (chidao.Days > 0 || (chidao.Hours * 60 + chidao.Minutes) > admAttendanceRuleDTO.Absenteeism)
+ {
+ if (shangwukuanggong == 0)
+ {
+ shangwukuanggong += new decimal(0.5);
+ Kuanggong += new decimal(0.5);
+ }
+
+ }
+ else
+ {
+ Chidao += 1;
+ Shangwuchidaofenzhong = chidao.Hours * 60 + chidao.Minutes;
+ }
}
- else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+ if (shangwukuanggong == 0 && endttime < StratTimeWorkingEnd)
{
- endttime = dateBiJiaoDTOs[i].EndTime;
+ TimeSpan zaotui = StratTimeWorkingEnd.Subtract(endttime.Value);
+ if (zaotui.Days > 0 || (zaotui.Hours * 60 + zaotui.Minutes) > admAttendanceRuleDTO.Absenteeism)
+ {
+ if (shangwukuanggong == 0)
+ {
+ shangwukuanggong += new decimal(0.5);
+ Kuanggong += new decimal(0.5);
+ }
+
+ }
+ else
+ {
+ Zaotui += 1;
+ Shangwuzaotuifenzhong = zaotui.Hours * 60 + zaotui.Minutes;
+ }
+
}
+ Kuanggongtianshu += shangwukuanggong;
}
}
- if (kuanggong)
+
+
+
+ //鍒ゆ柇涓嬪崍鏄惁杩熷埌,鍒ゆ柇涓嬪崍鏄惁鏃╅��锛屾棭閫�鐭垮伐澶勭悊
+
+
+ starttime = null;
+ endttime = null;
+ kuanggong = false;
+ dateBiJiaoDTOs = new List<DateBiJiaoDTO>();
+ if (admSignInDTO != null && admSignInDTO.AfternoonIn.HasValue && admSignInDTO.AfternoonOut.HasValue)
{
- //Kuanggong += new decimal(0.5);
+ DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+ dateBiJiaoDTO.StartTime = admSignInDTO.AfternoonIn;
+ dateBiJiaoDTO.EndTime = admSignInDTO.AfternoonOut;
+ dateBiJiaoDTOs.Add(dateBiJiaoDTO);
+ }
+ foreach (var admAskLeave in admAskLeaveDTOMin)
+ {
+ if (admAskLeave.EndTime > StratTimeOffworkStart)
+ {
+ DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+ dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
+ dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
+ dateBiJiaoDTOs.Add(dateBiJiaoDTO);
+ }
+
+ }
+ foreach (var admAskLeaveOff in admAskLeaveOffDTOMin)
+ {
+ if (admAskLeaveOff.EndTime > StratTimeOffworkStart)
+ {
+ DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+ dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
+ dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
+ dateBiJiaoDTOs.Add(dateBiJiaoDTO);
+ }
+
+ }
+
+ dateBiJiaoDTOs = dateBiJiaoDTOs.OrderBy(x => x.StartTime).ToList();
+ if (dateBiJiaoDTOs.Count == 0)
+ {
+ Kuanggong += new decimal(0.5);
Kuanggongtianshu += new decimal(0.5);
}
else
{
- decimal xiawuwukuanggong = 0;
- if (starttime > StratTimeOffworkStart)
+ //鍒ゆ柇涓婂崍鑰冨嫟鏃堕棿鏄惁鍏ㄨ鐩�
+ for (int i = 0; i < dateBiJiaoDTOs.Count; i++)
{
- TimeSpan chidao = starttime.Value.Subtract(StratTimeOffworkStart);
- if (chidao.Days > 0 || (chidao.Hours * 60 + chidao.Minutes) > admAttendanceRuleDTO.Absenteeism)
+ if (i == 0)
{
- if (xiawuwukuanggong == 0)
- {
- xiawuwukuanggong += new decimal(0.5);
- //Kuanggong += new decimal(0.5);
- }
-
+ starttime = dateBiJiaoDTOs[i].StartTime;
+ endttime = dateBiJiaoDTOs[i].EndTime;
}
else
{
- Chidao += 1;
- Xiawuchidaofenzhong = chidao.Hours * 60 + chidao.Minutes;
+ if (dateBiJiaoDTOs[i].StartTime > dateBiJiaoDTOs[i - 1].EndTime)
+ {
+ kuanggong = true;
+ break;
+ }
+ else if (dateBiJiaoDTOs[i].EndTime > dateBiJiaoDTOs[i - 1].EndTime)
+ {
+ endttime = dateBiJiaoDTOs[i].EndTime;
+ }
}
}
- if (xiawuwukuanggong == 0 && endttime < StratTimeOffworkEnd)
+ if (kuanggong)
{
- TimeSpan zaotui = StratTimeOffworkEnd.Subtract(endttime.Value);
- if (zaotui.Days > 0 || (zaotui.Hours * 60 + zaotui.Minutes) > admAttendanceRuleDTO.Absenteeism)
+ Kuanggong += new decimal(0.5);
+ Kuanggongtianshu += new decimal(0.5);
+ }
+ else
+ {
+ decimal xiawuwukuanggong = 0;
+ if (starttime > StratTimeOffworkStart)
{
- if (xiawuwukuanggong == 0)
+ TimeSpan chidao = starttime.Value.Subtract(StratTimeOffworkStart);
+ if (chidao.Days > 0 || (chidao.Hours * 60 + chidao.Minutes) > admAttendanceRuleDTO.Absenteeism)
{
- xiawuwukuanggong += new decimal(0.5);
- //Kuanggong += new decimal(0.5);
+ if (xiawuwukuanggong == 0)
+ {
+ xiawuwukuanggong += new decimal(0.5);
+ Kuanggong += new decimal(0.5);
+ }
+
+ }
+ else
+ {
+ Chidao += 1;
+ Xiawuchidaofenzhong = chidao.Hours * 60 + chidao.Minutes;
+ }
+ }
+ if (xiawuwukuanggong == 0 && endttime < StratTimeOffworkEnd)
+ {
+ TimeSpan zaotui = StratTimeOffworkEnd.Subtract(endttime.Value);
+ if (zaotui.Days > 0 || (zaotui.Hours * 60 + zaotui.Minutes) > admAttendanceRuleDTO.Absenteeism)
+ {
+ if (xiawuwukuanggong == 0)
+ {
+ xiawuwukuanggong += new decimal(0.5);
+ Kuanggong += new decimal(0.5);
+ }
+
+ }
+ else
+ {
+ Zaotui += 1;
+ Xiawuzaotuifenzhong = zaotui.Hours * 60 + zaotui.Minutes;
}
}
- else
- {
- Zaotui += 1;
- Xiawuzaotuifenzhong = zaotui.Hours * 60 + zaotui.Minutes;
- }
-
+ Kuanggongtianshu += xiawuwukuanggong;
}
- Kuanggongtianshu += xiawuwukuanggong;
}
+
+
+ //璁$畻褰撳ぉ璇峰亣
+ List<DateBiJiaoDTO> qingjias = new List<DateBiJiaoDTO>();
+
+ var feichuqinjia = admAskLeaveDTOMin.Where(x => x.Lavetype != "4").ToList();
+ foreach (var admAskLeave in feichuqinjia)
+ {
+
+ DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+ dateBiJiaoDTO.StartTime = admAskLeave.StratTime;
+ dateBiJiaoDTO.EndTime = admAskLeave.EndTime;
+ qingjias.Add(dateBiJiaoDTO);
+
+ }
+
+ var feichuqinxiaojia = admAskLeaveOffDTOMin.Where(x => x.Lavetype == "2").ToList();
+ foreach (var admAskLeaveOff in feichuqinxiaojia)
+ {
+
+ DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+ dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
+ dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
+ qingjias.Add(dateBiJiaoDTO);
+
+ }
+
+
+ foreach (var qingjia in qingjias)
+ {
+ if (qingjia.StartTime < StratTimeWorkingStart)
+ {
+ qingjia.StartTime = StratTimeWorkingStart;
+ }
+ if (qingjia.StartTime > StratTimeWorkingEnd && qingjia.StartTime < StratTimeOffworkStart)
+ {
+ qingjia.StartTime = StratTimeOffworkStart;
+ }
+
+
+ if (qingjia.EndTime > StratTimeWorkingEnd && qingjia.EndTime < StratTimeOffworkStart)
+ {
+ qingjia.EndTime = StratTimeWorkingEnd;
+ }
+
+
+ if (qingjia.EndTime > StratTimeOffworkEnd)
+ {
+ qingjia.EndTime = StratTimeOffworkEnd;
+ }
+ TimeSpan qingjiashiijan = qingjia.EndTime.Value.Subtract(qingjia.StartTime.Value);
+ if (qingjia.StartTime <= StratTimeWorkingEnd && qingjia.EndTime >= StratTimeOffworkStart)
+ {
+ TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd);
+ dangtianqingjia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes - wuxiushijian.Hours * 60 - wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2);
+ }
+ else
+ {
+ dangtianqingjia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2);
+ }
+
+
+
+ }
+
+ Qingjia += dangtianqingjia;
+ //璁$畻褰撳ぉ鍑哄嫟澶╂暟
+ Jiaban += (1 - Kuanggongtianshu - dangtianqingjia);
+
+
+ //璁$畻閿�鍋囷紙鍑哄樊锛岃ˉ鍗★級
+ List<DateBiJiaoDTO> xiaojias = new List<DateBiJiaoDTO>();
+
+ var xiaojiala = admAskLeaveOffDTOMin.Where(x => x.Lavetype != "2").ToList();
+ foreach (var admAskLeaveOff in xiaojiala)
+ {
+
+ DateBiJiaoDTO dateBiJiaoDTO = new DateBiJiaoDTO();
+ dateBiJiaoDTO.StartTime = admAskLeaveOff.StratTime;
+ dateBiJiaoDTO.EndTime = admAskLeaveOff.EndTime;
+ xiaojias.Add(dateBiJiaoDTO);
+
+ }
+
+ foreach (var xiaojia in xiaojias)
+ {
+ if (xiaojia.StartTime < StratTimeWorkingStart)
+ {
+ xiaojia.StartTime = StratTimeWorkingStart;
+ }
+ if (xiaojia.StartTime > StratTimeWorkingEnd && xiaojia.StartTime < StratTimeOffworkStart)
+ {
+ xiaojia.StartTime = StratTimeOffworkStart;
+ }
+
+
+ if (xiaojia.EndTime > StratTimeWorkingEnd && xiaojia.EndTime < StratTimeOffworkStart)
+ {
+ xiaojia.EndTime = StratTimeWorkingEnd;
+ }
+
+
+ if (xiaojia.EndTime > StratTimeOffworkEnd)
+ {
+ xiaojia.EndTime = StratTimeOffworkEnd;
+ }
+ TimeSpan qingjiashiijan = xiaojia.EndTime.Value.Subtract(xiaojia.StartTime.Value);
+ if (xiaojia.StartTime <= StratTimeWorkingEnd && xiaojia.EndTime >= StratTimeOffworkStart)
+ {
+ TimeSpan wuxiushijian = StratTimeOffworkStart.Subtract(StratTimeWorkingEnd);
+ dangtianxiaojia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes - wuxiushijian.Hours * 60 - wuxiushijian.Minutes)) / ((decimal)shangbanshijian), 2);
+ }
+ else
+ {
+ dangtianxiaojia += Math.Round(((decimal)(qingjiashiijan.Hours * 60 + qingjiashiijan.Minutes)) / ((decimal)shangbanshijian), 2);
+ }
+
+
+
+ }
+
+ Xiaojia += dangtianxiaojia;
}
+
- //璁$畻褰撳ぉ鍔犵彮澶╂暟
- Jiaban += (1 - Kuanggongtianshu );
- Kuanggongtianshu = 0;
//鍔犵彮
//璁$畻鍔犵彮鏃堕棿
if (admSignInDTO != null && admSignInDTO.OvertimeIn.HasValue && admSignInDTO.OvertimeOut.HasValue)
{
- DateTime overdate = admSignInDTO.OvertimeIn.Value;
- if (admSignInDTO.OvertimeIn.Value < StratTimeOffworkEnd)
+ var admAskovertimeDTO = _askService.GetAskovertimeByUeridAndjiabantime(userList[a].Id, dateminkaoqin);
+ if (admAskovertimeDTO != null && !string.IsNullOrEmpty(admAskovertimeDTO.Id))
{
- overdate = StratTimeOffworkEnd;
- }
- TimeSpan jiaban = admSignInDTO.OvertimeOut.Value.Subtract(overdate);
+ //濡傛灉褰撳ぉ鏄叕鍙歌姹傚姞鐝�,鍒欒嚜宸辩敵璇风殑鍔犵彮浠庝笅鐝紑濮嬬畻
+ DateTime overdate = admSignInDTO.OvertimeIn.Value;
+ if (shifoujiaban && admSignInDTO.OvertimeIn.Value < StratTimeOffworkEnd)
+ {
+ overdate = StratTimeOffworkEnd;
+ }
+ TimeSpan jiaban = admSignInDTO.OvertimeOut.Value.Subtract(overdate);
+ decimal jiabanshijian = jiaban.Hours;
+ if (new decimal(jiaban.Hours) > admAskovertimeDTO.Overtime.Value)
+ {
+ jiabanshijian = admAskovertimeDTO.Overtime.Value;
+ }
- Jiaban += Math.Round((decimal)(jiaban.Hours * 60) / (decimal)shangbanshijian, 2);
+
+
+
+ Jiaban += Math.Round(jiabanshijian * 60 / shangbanshijian, 2);
+ }
}
@@ -3401,6 +3582,10 @@
}
hrSalaryDTO.Yufagongziheji += (hrSalaryDTO.Daozhanggongzi- hrSalaryDTO.Yufagongzi);
+ if (hrSalaryDTO.Daozhanggongzi < hrSalaryDTO.Yufagongzi)
+ {
+ hrSalaryDTO.Daozhanggongzi = hrSalaryDTO.Yufagongzi;
+ }
}
hrSalaryDTO.RecStatus = "A";
hrSalaryDTO.Islock = "D";
@@ -3448,6 +3633,8 @@
var jiejiari = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiejiari").ToList();
var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList();
+
+ var jiabanri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiabanri").ToList();
//姣忓ぉ鐨勮�冨嫟鏃堕棿鐐�
string[] WorkingStart = admAttendanceRuleDTO.WorkingStart.Split('.');
@@ -3557,9 +3744,11 @@
}
else
{
+
//鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝�
- if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+ if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)
+ || jiabanri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
{
if (StratTime <= StratTimeWorkingStart)
{
@@ -3655,7 +3844,8 @@
{
//鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝�
- if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
+ if (tiaoxiuri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date)
+ || jiabanri.Exists(x => x.ValueStart <= EndTime.Date && x.ValueEnd >= EndTime.Date))
{
if (EndTime >= EndTimeOffworkEnd)
{
@@ -3717,7 +3907,8 @@
{
//鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝�
- if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+ if (tiaoxiuri.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date)
+ || jiabanri.Exists(x => x.ValueStart <= dateTimenow.Date && x.ValueEnd >= dateTimenow.Date))
{
LavehTime += shangbanshijian;
}
@@ -3746,7 +3937,8 @@
else
{
//鏄惁璋冧紤鏃� 璋冧紤鏃ラ渶瑕佷笂鐝�
- if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
+ if (tiaoxiuri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date)
+ || jiabanri.Exists(x => x.ValueStart <= StratTime.Date && x.ValueEnd >= StratTime.Date))
{
LavehTime -= shangbanshijian;
}
diff --git a/zhengcaioa/zhengcaioa/Views/Signin/AttendanceRule.cshtml b/zhengcaioa/zhengcaioa/Views/Signin/AttendanceRule.cshtml
index 69abc8f..f066608 100644
--- a/zhengcaioa/zhengcaioa/Views/Signin/AttendanceRule.cshtml
+++ b/zhengcaioa/zhengcaioa/Views/Signin/AttendanceRule.cshtml
@@ -9,6 +9,8 @@
var tiaoxiuri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "tiaoxiuri").ToList();
+ var jiabanri = admAttendanceRulesDtlDTOs.Where(x => x.Name == "jiabanri").ToList();
+
}
<!DOCTYPE html>
@@ -109,9 +111,9 @@
<h5 style="color:cornflowerblue;">宸ヤ綔鏃�:</h5>
<div class="clearfix layer-area" style="padding-bottom:15px;">
<div class="col-sm-6 col-md-6">
- 鍛� <input type="number" value="@Model.WeekStart" name="WeekStart" id="WeekStart" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)" > -
- 鍛� <input type="number" value="@Model.WeekEnd" name="WeekEnd" id="WeekEnd" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)" >
- <input type="hidden" value="@Model.Id" id="Id" name="Id" >
+ 鍛� <input type="number" value="@Model.WeekStart" name="WeekStart" id="WeekStart" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)"> -
+ 鍛� <input type="number" value="@Model.WeekEnd" name="WeekEnd" id="WeekEnd" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
+ <input type="hidden" value="@Model.Id" id="Id" name="Id">
</div>
</div>
@@ -119,8 +121,8 @@
<h5 style="color:cornflowerblue;">涓婄彮鏃堕棿:</h5>
<div class="clearfix layer-area" style="padding-bottom:15px;">
<div class="col-sm-6 col-md-6">
- <span>涓婂崍锛�</span><input type="number" value="@Model.WorkingStart" name="WorkingStart" id="WorkingStart"style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">-
- <input type="number" value="@Model.WorkingEnd" name="WorkingEnd" id="WorkingEnd" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
+ <span>涓婂崍锛�</span><input type="number" value="@Model.WorkingStart" name="WorkingStart" id="WorkingStart" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">-
+ <input type="number" value="@Model.WorkingEnd" name="WorkingEnd" id="WorkingEnd" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
</div>
</div>
@@ -128,18 +130,18 @@
<div class="clearfix layer-area" style="padding-bottom:15px;">
<div class="col-sm-6 col-md-6">
- <span>涓嬪崍锛�</span><input type="number" value="@Model.OffworkStart" name="OffworkStart" id="OffworkStart" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">-
- <input type="number" value="@Model.OffworkEnd" name="OffworkEnd" id="OffworkEnd" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
+ <span>涓嬪崍锛�</span><input type="number" value="@Model.OffworkStart" name="OffworkStart" id="OffworkStart" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">-
+ <input type="number" value="@Model.OffworkEnd" name="OffworkEnd" id="OffworkEnd" style="width:100px;" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">
</div>
</div>
@*<div class="clearfix layer-area" style="padding-bottom:15px;">
- <div class="col-sm-6 col-md-6">
- <span>鍏ㄥ嫟濂�</span>
- <input type="number" value="@Model.FullAttendance" name="FullAttendance" id="FullAttendance" style="width:150px" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">鍏�
- </div>
- </div>*@
+ <div class="col-sm-6 col-md-6">
+ <span>鍏ㄥ嫟濂�</span>
+ <input type="number" value="@Model.FullAttendance" name="FullAttendance" id="FullAttendance" style="width:150px" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">鍏�
+ </div>
+ </div>*@
<h5 style="color:cornflowerblue;">杩熷埌鎵f:</h5>
<div class="clearfix layer-area" style="padding-bottom:15px;">
@@ -156,7 +158,7 @@
<div class="clearfix layer-area" style="padding-bottom:15px;">
<div class="col-sm-6 col-md-6">
<span>杩熷埌</span><input style="width:150px" type="number" min="0" step="1" max="999999" value="@Model.Absenteeism" name="Absenteeism" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">鍒嗛挓璁颁负鏃峰伐
- <span>鏃峰伐鎵f</span><input style="width:150px" type="number" min="0.01" step="0.01" max="999999" value="@Model.AbsenteeismPayment1" name="AbsenteeismPayment1" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">鍊嶅伐璧�
+ <span>鏃峰伐鎵f</span><input style="width:150px" type="number" min="0.01" step="0.01" max="999999" value="@Model.AbsenteeismPayment1" name="AbsenteeismPayment1" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">鍊嶅伐璧�
@*<span>1澶�</span><input style="width:150px" type="number" min="0.01" step="0.01" max="999999" value="@Model.AbsenteeismPayment2" name="AbsenteeismPayment2" oninput="if(value.length>8)value=value.slice(0,18)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)">鍏�*@
</div>
</div>
@@ -206,11 +208,11 @@
}
else
{
- <div class="setSelect">
- <input type="text" value="@jiejiari[i].ValueStart.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control holiday_s" id="@("holiday_s"+(i+1))" name="holiday_s" style="width:150px;" onfocus='laydate({elem:"#holiday_s1",format:"YYYY-MM-DD",theme:"#fdd5004"})' /> -
- <input type="text" value="@jiejiari[i].ValueEnd.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control holiday_e" id="@("holiday_e"+(i+1))" name="holiday_e" style="width:150px;" onfocus='laydate({elem:"#holiday_e1",format:"YYYY-MM-DD",theme:"#fdd5004"})' />
- <button type="button" class="addBtn" onclick="delBtn(this,0,'holiday')" data-type="1">-</button>
- </div>
+ <div class="setSelect">
+ <input type="text" value="@jiejiari[i].ValueStart.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control holiday_s" id="@("holiday_s"+(i+1))" name="holiday_s" style="width:150px;" onfocus='laydate({elem:"#holiday_s1",format:"YYYY-MM-DD",theme:"#fdd5004"})' /> -
+ <input type="text" value="@jiejiari[i].ValueEnd.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control holiday_e" id="@("holiday_e"+(i+1))" name="holiday_e" style="width:150px;" onfocus='laydate({elem:"#holiday_e1",format:"YYYY-MM-DD",theme:"#fdd5004"})' />
+ <button type="button" class="addBtn" onclick="delBtn(this,0,'holiday')" data-type="1">-</button>
+ </div>
}
@@ -246,11 +248,11 @@
}
else
{
- <div class="setSelect">
- <input type="text" value="@tiaoxiuri[i].ValueStart.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control rest_s" id="@("rest_s"+(i+1))" name="rest_s" style="width:150px;" onfocus='laydate({elem:"#rest_s1",format:"YYYY-MM-DD",theme:"#fdd5004"})' /> -
- <input type="text" value="@tiaoxiuri[i].ValueEnd.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control rest_e" id="@("rest_e"+(i+1))" name="rest_e" style="width:150px;" onfocus='laydate({elem:"#rest_e1",format:"YYYY-MM-DD",theme:"#fdd5004"})' />
- <button type="button" class="addBtn" onclick="delBtn(this,0,'rest')" data-type="1">-</button>
- </div>
+ <div class="setSelect">
+ <input type="text" value="@tiaoxiuri[i].ValueStart.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control rest_s" id="@("rest_s"+(i+1))" name="rest_s" style="width:150px;" onfocus='laydate({elem:"#rest_s1",format:"YYYY-MM-DD",theme:"#fdd5004"})' /> -
+ <input type="text" value="@tiaoxiuri[i].ValueEnd.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control rest_e" id="@("rest_e"+(i+1))" name="rest_e" style="width:150px;" onfocus='laydate({elem:"#rest_e1",format:"YYYY-MM-DD",theme:"#fdd5004"})' />
+ <button type="button" class="addBtn" onclick="delBtn(this,0,'rest')" data-type="1">-</button>
+ </div>
}
}
@@ -258,6 +260,46 @@
</div>
</div>
+
+ <h5 style="color:red;">鍔犵彮鏃�:</h5>
+ <div class="clearfix layer-area" style="padding-bottom:15px;">
+ <div class="col-sm-3 col-md-3">
+ @if (jiabanri == null || jiabanri.Count == 0)
+ {
+ <div class="setSelect">
+ <input type="text" value="" class="layui-input layer-date ldate form-control jiaban_s" id="jiaban_s1" name="jiaban_s" style="width:150px;" onfocus='laydate({elem:"#jiaban_s1",format:"YYYY-MM-DD",theme:"#fdd5004"})' /> -
+ <input type="text" value="" class="layui-input layer-date ldate form-control jiaban_e" id="jiaban_e1" name="jiaban_e" style="width:150px;" onfocus='laydate({elem:"#jiaban_e1",format:"YYYY-MM-DD",theme:"#fdd5004"})' />
+ <button type="button" class="addBtn" style="padding-bottom:10px;" onclick="addjiabanBtn(this)" data-type="1">+</button>
+ </div>
+ }
+ else
+ {
+ for (int i = 0; i < jiabanri.Count; i++)
+ {
+ if (i == 0)
+ {
+ <div class="setSelect">
+ <input type="text" value="@jiabanri[i].ValueStart.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control jiaban_s" id="@("jiaban_s"+(i+1))" name="jiaban_s" style="width:150px;" onfocus='laydate({elem:"#jiaban_s1",format:"YYYY-MM-DD",theme:"#fdd5004"})' /> -
+ <input type="text" value="@jiabanri[i].ValueEnd.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control jiaban_e" id="@("jiaban_e"+(i+1))" name="jiaban_e" style="width:150px;" onfocus='laydate({elem:"#jiaban_e1",format:"YYYY-MM-DD",theme:"#fdd5004"})' />
+ <button type="button" class="addBtn" style="padding-bottom:10px;" onclick="addjiabanBtn(this)" data-type="1">+</button>
+ </div>
+ }
+ else
+ {
+ <div class="setSelect">
+ <input type="text" value="@jiabanri[i].ValueStart.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control jiaban_s" id="@("jiaban_s"+(i+1))" name="jiaban_s" style="width:150px;" onfocus='laydate({elem:"#jiaban_s1",format:"YYYY-MM-DD",theme:"#fdd5004"})' /> -
+ <input type="text" value="@jiabanri[i].ValueEnd.ToString("yyyy-MM-dd")" class="layui-input layer-date ldate form-control jiaban_e" id="@("jiaban_e"+(i+1))" name="jiaban_e" style="width:150px;" onfocus='laydate({elem:"#jiaban_e1",format:"YYYY-MM-DD",theme:"#fdd5004"})' />
+ <button type="button" class="addBtn" onclick="delBtn(this,0,'jiaban')" data-type="1">-</button>
+ </div>
+ }
+
+ }
+ }
+
+ </div>
+ </div>
+
+
<h5 style="color:cornflowerblue;">鍔犵彮琛ュ姪:</h5>
<div class="clearfix layer-area" style="padding-bottom:15px;height:45px;">
@@ -267,11 +309,11 @@
1鍊�
@if (Model.Gala == 1)
{
- <input name="Gala" type="radio" value="1" class="type_b" checked="checked">
+ <input name="Gala" type="radio" value="1" class="type_b" checked="checked">
}
else
- {
- <input name="Gala" type="radio" value="1" class="type_b" >
+ {
+ <input name="Gala" type="radio" value="1" class="type_b">
}
@@ -328,11 +370,11 @@
2鍊�
@if (Model.Weekend1 == 2)
{
- <input name="Weekend1" type="radio" checked="checked" value="2" class="type_b">
+ <input name="Weekend1" type="radio" checked="checked" value="2" class="type_b">
}
else
{
- <input name="Weekend1" type="radio" value="2" class="type_b">
+ <input name="Weekend1" type="radio" value="2" class="type_b">
}
</label>
@@ -374,7 +416,7 @@
<div class="col-sm-6 col-md-6">
<span></span>
@*<input name="holiday" value="" type="hidden" id="holiday">
- <input name="rest" value="" type="hidden" id="rest">*@
+ <input name="rest" value="" type="hidden" id="rest">*@
</div>
</div>
</div>
@@ -584,6 +626,29 @@
};
+
+
+ function addjiabanBtn(obj) {
+ var int = $('.jiaban_s').length - 1;
+ var id = $('.jiaban_s').eq(int).attr('id');
+ var jiaban_ss = parseInt(id.replace("jiaban_s", "")) + 1;
+
+ var int1 = $('.jiaban_e').length - 1
+ var id1 = $('.jiaban_e').eq(int1).attr('id');
+ var jiaban_ee = parseInt(id1.replace("jiaban_e", "")) + 1;
+
+ var html = ' <div class="setSelect">\n' +
+ ' <span></span>\n' +
+ ' <input type="text" value="" class="layui-input layer-date ldate form-control jiaban_s" id="jiaban_s' + jiaban_ss + '" name="jiaban_s" style="width:150px;" onfocus=\'laydate({elem:"#jiaban_s' + jiaban_ss + '",format:"YYYY-MM-DD",theme:"#fdd5004"})\' /> -\n' +
+ ' <input type="text" value="" class="layui-input layer-date ldate form-control jiaban_e" id="jiaban_e' + jiaban_ee + '" name="jiaban_e" style="width:150px;" onfocus=\'laydate({elem:"#jiaban_e' + jiaban_ee + '",format:"YYYY-MM-DD",theme:"#fdd5004"})\' />\n' +
+ ' <button type="button" class="addBtn" onclick="delBtn(this,0,\'jiaban\')" data-type="1">-</button>\n' +
+ ' </div>'
+
+ $(obj).parent('div').parent('div').append(html);
+
+
+ };
+
function delBtn(obj, id, tb) {
//if (id > 0) {
// var url = "/index.php/home/white/del.html"
--
Gitblit v1.9.1