Merge branch 'master' of http://47.108.235.38:8080/r/zhengcaioa
# Conflicts:
# zhengcaioa/IServices/IHrSalaryService.cs
# zhengcaioa/Services/HrSalaryService.cs
| | |
| | | public string Userid { get; set; } |
| | | public int Year { get; set; } |
| | | public int Month { get; set; } |
| | | |
| | | public string YearMonth { get { return Year + "-" + Month.ToString().PadLeft(2, '0'); } } |
| | | |
| | | public string Usernumber { get; set; } |
| | | public string UserName { get; set; } |
| | | public string DeptName { get; set; } |
| | | public decimal? Jibengongzi { get; set; } |
| | | public decimal? Baomifei { get; set; } |
| | | public decimal? Gongzuobutie { get; set; } |
| | | |
| | | public decimal? Jiabangongzi { get; set; } |
| | | |
| | | public decimal? Shebao { get; set; } |
| | | public decimal? Dianhuabutie { get; set; } |
| | | public decimal? Quanqinjiang { get; set; } |
| | |
| | | public decimal? Jixiaoticheng { get; set; } |
| | | public decimal? Jiangjin { get; set; } |
| | | public decimal? Bufagongzi { get; set; } |
| | | public decimal sum_fgz |
| | | { |
| | | get |
| | | { |
| | | return ( (Jibengongzi??0) + (Baomifei??0) + (Gongzuobutie??0) + (Jiabangongzi??0) + (Shebao??0) + |
| | | (Dianhuabutie??0) + (Quanqinjiang??0) + (Jiaotngbutie??0) + (Jixiaoticheng??0) + (Jiangjin??0) + (Bufagongzi??0)); |
| | | } |
| | | } |
| | | |
| | | public decimal? Shebaokou { get; set; } |
| | | public decimal? Geshui { get; set; } |
| | | public decimal? Dianhuafei { get; set; } |
| | | public decimal? Queqin { get; set; } |
| | | public decimal? Fakuan { get; set; } |
| | | public decimal? Peichang { get; set; } |
| | | public decimal? Jiucuo { get; set; } |
| | | public decimal? Jiucuo { get; set; } |
| | | public decimal sum_kgz |
| | | { |
| | | get |
| | | { |
| | | return (Shebaokou??0) + (Geshui?? 0) + (Dianhuafei ?? 0) + (Queqin ?? 0) + (Fakuan ?? 0) + (Peichang ?? 0) + (Jiucuo ?? 0); |
| | | } |
| | | } |
| | | |
| | | public decimal? Daozhanggongzi { get; set; } |
| | | public decimal? Yufagongzi { get; set; } |
| | | public decimal? Yufagongziheji { get; set; } |
| | |
| | | |
| | | |
| | | public string Islock { get; set; } |
| | | |
| | | public string IslockChs { get |
| | | { |
| | | string str = ""; |
| | | switch(Islock) |
| | | { |
| | | case "D": |
| | | str = "æªç¡®è®¤"; |
| | | break; |
| | | |
| | | case "S": |
| | | str = "ç³è¯"; |
| | | break; |
| | | |
| | | case "Q": |
| | | str = "已确认"; |
| | | break; |
| | | } |
| | | return str; |
| | | } |
| | | } |
| | | |
| | | public string RecStatus { get; set; } |
| | | public string Creater { get; set; } |
| | | public DateTime Createtime { get; set; } |
| | | public string Modifier { get; set; } |
| | | public DateTime Modifytime { get; set; } |
| | | |
| | | public string reason { get; set; } |
| | | public decimal amount { get; set; } |
| | | public string basis { get; set; } |
| | | |
| | | } |
| | | |
| | | public partial class HrSalaryDTOSearch : SearchEntity |
| | | { |
| | | public string searchDate { get; set; } |
| | | public string YearMonth { get; set; } |
| | | public string Usernumber { get; set; } |
| | | public string DeptId { get; set; } |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | |
| | | using zhengcaioa.Models; |
| | | |
| | | namespace IServices |
| | | { |
| | | public interface IHrSalaryService |
| | | { |
| | | |
| | | ResultEntity save(HrSalaryDTO dto); |
| | | |
| | | HrSalaryDTO Get(string id); |
| | |
| | | |
| | | List<HrSalaryDTO> GetList(); |
| | | |
| | | |
| | | HrSalaryDTO GetListByUser(string Userid,int year,int month); |
| | | |
| | | List<HrSalaryDTO> GetSalary(string userid, int year, int month); |
| | | |
| | | ResultEntity CheckOk(string id, string user); |
| | | |
| | | ResultEntity CheckAppea(HrSalaryAppeal model); |
| | | |
| | | HrSalaryAppeal GetAppeal(string id, string user); |
| | | |
| | | ResultDataEntity<HrSalaryDTO> SearchByPagingFinish(HrSalaryDTOSearch searchEntity); |
| | | |
| | | ResultDataEntity<HrSalaryDTO> SearchSalaryByPaging(HrSalaryDTOSearch searchEntity); |
| | | |
| | | ResultEntity SaveCheckSalary(HrSalaryDTO dto); |
| | | } |
| | | } |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.ComponentModel.DataAnnotations; |
| | | using System.ComponentModel.DataAnnotations.Schema; |
| | | |
| | | #nullable disable |
| | | |
| | |
| | | public string Modifier { get; set; } |
| | | public DateTime Modifytime { get; set; } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å·¥èµç³è¯è®°å½ |
| | | /// </summary> |
| | | [Table("t_salary_appeal")] |
| | | public class HrSalaryAppeal |
| | | { |
| | | [Key] |
| | | public int id { get; set; } |
| | | |
| | | public string salary_id { get; set; } |
| | | |
| | | public string reason { get; set; } |
| | | |
| | | public decimal amount { get; set; } |
| | | |
| | | public string basis { get; set; } |
| | | |
| | | public string sub_user { get; set; } |
| | | |
| | | public DateTime sub_time { get; set; } |
| | | |
| | | public string chk_user { get; set; } |
| | | |
| | | public DateTime? chk_time { get; set; } |
| | | |
| | | public string chk_result { get; set; } |
| | | |
| | | public string status { get; set; } |
| | | } |
| | | } |
| | |
| | | public virtual DbSet<SimBindView> SimBindView { get; set; } |
| | | public virtual DbSet<SimCost> SimCost { get; set; } |
| | | public virtual DbSet<SimCostView> SimCostView { get; set; } |
| | | public virtual DbSet<HrSalaryAppeal> HrSalaryAppeal { get; set; } |
| | | |
| | | public virtual DbSet<AdmAskLeave> AdmAskLeaves { get; set; } |
| | | public virtual DbSet<AdmAskLeaveOff> AdmAskLeaveOffs { get; set; } |
| | |
| | | return resultEntity; |
| | | } |
| | | |
| | | public ResultEntity SaveCheckSalary(HrSalaryDTO dto) |
| | | { |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | try |
| | | { |
| | | var updatepltRole = _context.HrSalaries.Where(c=>c.Id==dto.Id).SingleOrDefault(); |
| | | if(updatepltRole!=null) |
| | | { |
| | | var user = _context.PltUsers.Where(c => c.Id == updatepltRole.Userid).SingleOrDefault(); |
| | | |
| | | updatepltRole.Jiangjin = dto.Jiangjin; |
| | | updatepltRole.Bufagongzi = dto.Bufagongzi; |
| | | |
| | | var sum_f = ((updatepltRole.Jibengongzi ?? 0) + (updatepltRole.Baomifei ?? 0) + (updatepltRole.Gongzuobutie ?? 0) + |
| | | (updatepltRole.Jiabangongzi ?? 0) + (updatepltRole.Shebao ?? 0) + (updatepltRole.Dianhuabutie ?? 0) + |
| | | (updatepltRole.Quanqinjiang ?? 0) + (updatepltRole.Jiaotngbutie ?? 0) + (updatepltRole.Jixiaoticheng ?? 0) + |
| | | dto.Jiangjin + dto.Bufagongzi); |
| | | |
| | | updatepltRole.Peichang = dto.Peichang; |
| | | updatepltRole.Jiucuo = dto.Jiucuo; |
| | | |
| | | var sum_k= (updatepltRole.Shebaokou ?? 0) + (updatepltRole.Geshui ?? 0) + (updatepltRole.Dianhuafei ?? 0) + |
| | | (updatepltRole.Queqin ?? 0) + (updatepltRole.Fakuan ?? 0) + dto.Peichang + dto.Jiucuo; |
| | | |
| | | |
| | | //计ç®é¢åå·¥èµ |
| | | |
| | | //var lyear = updatepltRole.Year; |
| | | //var lmonth = updatepltRole.Month-1; |
| | | //if(lmonth==0) |
| | | //{ |
| | | // lyear = lyear - 1; |
| | | // lmonth = 12; |
| | | //} |
| | | //var sumyfhj = _context.HrSalaries.Where(c => c.Year == lyear && c.Month == lmonth && c.Userid == updatepltRole.Userid).SingleOrDefault(); |
| | | |
| | | if(DateTime.Today> user.ShiyongDateEnd) |
| | | { |
| | | if(string.IsNullOrEmpty(user.BasicPrice)) |
| | | { |
| | | updatepltRole.Daozhanggongzi = sum_f - sum_k; |
| | | updatepltRole.Yufagongzi = 0; |
| | | } |
| | | else |
| | | { |
| | | var pc = decimal.Parse(user.BasicPrice); |
| | | if (sum_f - sum_k > pc) |
| | | { |
| | | updatepltRole.Daozhanggongzi = sum_f - sum_k; |
| | | updatepltRole.Yufagongzi = 0; |
| | | updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji - (sum_f - sum_k - pc); |
| | | } |
| | | else |
| | | { |
| | | updatepltRole.Daozhanggongzi = pc; |
| | | updatepltRole.Yufagongzi = pc-(sum_f - sum_k); |
| | | updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji + updatepltRole.Yufagongzi; |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (user.ShiyongPrice.HasValue) |
| | | { |
| | | var pc = user.ShiyongPrice.Value; |
| | | if (sum_f - sum_k > pc) |
| | | { |
| | | updatepltRole.Daozhanggongzi = sum_f - sum_k; |
| | | updatepltRole.Yufagongzi = 0; |
| | | updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji - (sum_f - sum_k - pc); |
| | | } |
| | | else |
| | | { |
| | | updatepltRole.Daozhanggongzi = pc; |
| | | updatepltRole.Yufagongzi = pc - (sum_f - sum_k); |
| | | updatepltRole.Yufagongziheji = updatepltRole.Yufagongziheji + updatepltRole.Yufagongzi; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | updatepltRole.Daozhanggongzi = sum_f - sum_k; |
| | | updatepltRole.Yufagongzi = 0; |
| | | } |
| | | } |
| | | |
| | | updatepltRole.Islock = "Q"; |
| | | updatepltRole.Modifier = dto.Modifier; |
| | | updatepltRole.Modifytime =DateTime.Now; |
| | | var count= _context.SaveChanges(); |
| | | resultEntity.ReturnID = dto.Id; |
| | | resultEntity.Result = true; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | resultEntity.Result = false; |
| | | resultEntity.Message = "ä¿å失败ï¼è¯·è系管çå"; |
| | | } |
| | | return resultEntity; |
| | | } |
| | | |
| | | public HrSalaryDTO Get(string id) |
| | | { |
| | | var entity = _context.HrSalaries.Find(id); |
| | | var entity = (from a in _context.HrSalaries |
| | | join b in _context.PltUsers on a.Userid equals b.Id |
| | | join c in _context.HrDepts on b.DeptId equals c.Id |
| | | where a.RecStatus == "A" && a.Id == id |
| | | select new HrSalaryDTO() |
| | | { |
| | | Id = a.Id, |
| | | Userid = a.Userid, |
| | | Usernumber = b.Usernumber, |
| | | UserName = b.UserName, |
| | | DeptName = c.DeptName, |
| | | Year = a.Year, |
| | | Month = a.Month, |
| | | Jibengongzi = a.Jibengongzi, |
| | | Baomifei = a.Baomifei, |
| | | Gongzuobutie = a.Gongzuobutie, |
| | | Jiabangongzi = a.Jiabangongzi, |
| | | Shebao = a.Shebao, |
| | | Dianhuabutie = a.Dianhuabutie, |
| | | Quanqinjiang = a.Quanqinjiang, |
| | | Jiaotngbutie = a.Jiaotngbutie, |
| | | Jixiaoticheng = a.Jixiaoticheng, |
| | | Jiangjin = a.Jiangjin, |
| | | Bufagongzi = a.Bufagongzi, |
| | | Shebaokou = a.Shebaokou, |
| | | Geshui = a.Geshui, |
| | | Dianhuafei = a.Dianhuafei, |
| | | Queqin = a.Queqin, |
| | | Fakuan = a.Fakuan, |
| | | Peichang = a.Peichang, |
| | | Jiucuo = a.Jiucuo, |
| | | Daozhanggongzi = a.Daozhanggongzi, |
| | | Yufagongzi = a.Yufagongzi, |
| | | Yufagongziheji = a.Yufagongziheji |
| | | }).SingleOrDefault(); |
| | | |
| | | if (entity.RecStatus != "A") |
| | | if (entity==null) |
| | | { |
| | | entity = new HrSalary(); |
| | | entity = new HrSalaryDTO(); |
| | | } |
| | | var HrSalaryDTO = _mapper.Map<HrSalaryDTO>(entity); |
| | | return HrSalaryDTO; |
| | | else |
| | | { |
| | | var ss = _context.HrSalaryAppeal.Where(c => c.salary_id == id).SingleOrDefault(); |
| | | if(ss!=null) |
| | | { |
| | | entity.amount = ss.amount; |
| | | entity.basis = ss.basis; |
| | | entity.reason = ss.reason; |
| | | } |
| | | } |
| | | return entity; |
| | | } |
| | | |
| | | public ResultDataEntity<HrSalaryDTO> SearchByPaging(HrSalaryDTOSearch searchEntity) |
| | |
| | | int month = 0; |
| | | if (string.IsNullOrWhiteSpace(searchEntity.YearMonth)) |
| | | { |
| | | DateTime yearMonth = DateTime.Parse(searchEntity.YearMonth + "-01"); |
| | | DateTime yearMonth = DateTime.Now;//.Parse(searchEntity.YearMonth + "-01"); |
| | | year = yearMonth.Year; |
| | | month = yearMonth.Month; |
| | | } |
| | | var query = (from a in _context.HrSalaries//.Where(x => x.RecStatus == "A") |
| | | // join b in listCode.Where(x => x.CodeTable == "hr_jibengongzi" && x.CodeField == "dianhuabutie") |
| | | //on a.Dianhuabutie equals b.CodeSn |
| | | // into bsssss |
| | | // from bbb in bsssss.DefaultIfEmpty() |
| | | |
| | | join f in _context.PltUsers |
| | | on a.Userid equals f.Id |
| | | // into fsssss |
| | | //from fff in fsssss.DefaultIfEmpty() |
| | | |
| | | join g in _context.HrDepts |
| | | on f.DeptId equals g.Id |
| | | // into gsssss |
| | | //from ggg in gsssss.DefaultIfEmpty() |
| | | |
| | | where a.RecStatus == "A" && a.Islock != "Q" |
| | | && (string.IsNullOrWhiteSpace(searchEntity.Usernumber) || f.Usernumber == searchEntity.Usernumber.Trim()) |
| | | && (string.IsNullOrWhiteSpace(searchEntity.DeptId) || f.DeptId == searchEntity.DeptId.Trim()) |
| | | && (string.IsNullOrWhiteSpace(searchEntity.UserName) || f.UserName.Contains(searchEntity.UserName.Trim())) |
| | | && (string.IsNullOrWhiteSpace(searchEntity.YearMonth) || ( a.Year == year && a.Month == month )) |
| | | select new HrSalaryDTO |
| | | { |
| | | Id = a.Id, |
| | | |
| | | Userid = a.Userid, |
| | | Usernumber = f.Usernumber, |
| | | UserName = f.UserName, |
| | | DeptName = g.DeptName, |
| | | Year = a.Year, |
| | | Month = a.Month, |
| | | Jibengongzi = a.Jibengongzi, |
| | | Baomifei = a.Baomifei, |
| | | Gongzuobutie = a.Gongzuobutie, |
| | | Jiabangongzi = a.Jiabangongzi, |
| | | |
| | | Shebao = a.Shebao, |
| | | |
| | | Dianhuabutie = a.Dianhuabutie, |
| | | |
| | | Quanqinjiang = a.Quanqinjiang, |
| | | Jiaotngbutie = a.Jiaotngbutie, |
| | | Jixiaoticheng = a.Jixiaoticheng, |
| | | Jiangjin = a.Jiangjin, |
| | | Bufagongzi = a.Bufagongzi, |
| | | Shebaokou = a.Shebaokou, |
| | | Geshui = a.Geshui, |
| | | Dianhuafei = a.Dianhuafei, |
| | | Queqin = a.Queqin, |
| | | Fakuan = a.Fakuan, |
| | | Peichang = a.Peichang, |
| | | Jiucuo = a.Jiucuo, |
| | | Daozhanggongzi = a.Daozhanggongzi, |
| | | Yufagongzi = a.Yufagongzi, |
| | | Yufagongziheji = a.Yufagongziheji, |
| | | |
| | | JibengongziName = a.Jibengongzi.HasValue ? a.Jibengongzi.Value.ToString("F2") : "", |
| | | BaomifeiName = a.Baomifei.HasValue ? a.Baomifei.Value.ToString("F2") : "", |
| | | GongzuobutieName = a.Gongzuobutie.HasValue ? a.Gongzuobutie.Value.ToString("F2") : "", |
| | | JiabangongziName = a.Jiabangongzi.HasValue ? a.Jiabangongzi.Value.ToString("F2") : "", |
| | | ShebaoName = a.Shebao.HasValue ? a.Shebao.Value.ToString("F2") : "", |
| | | |
| | | DianhuabutieName = a.Dianhuabutie.HasValue ? a.Dianhuabutie.Value.ToString("F2") : "", |
| | | QuanqinjiangName = a.Quanqinjiang.HasValue ? a.Quanqinjiang.Value.ToString("F2") : "", |
| | | JiaotngbutieName = a.Jiaotngbutie.HasValue ? a.Jiaotngbutie.Value.ToString("F2") : "", |
| | | JixiaotichengName = a.Jixiaoticheng.HasValue ? a.Jixiaoticheng.Value.ToString("F2") : "", |
| | | JiangjinName = a.Jiangjin.HasValue ? a.Jiangjin.Value.ToString("F2") : "", |
| | | BufagongziName = a.Bufagongzi.HasValue ? a.Bufagongzi.Value.ToString("F2") : "", |
| | | ShebaokouName = a.Shebaokou.HasValue ? a.Shebaokou.Value.ToString("F2") : "", |
| | | GeshuiName = a.Geshui.HasValue ? a.Geshui.Value.ToString("F2") : "", |
| | | DianhuafeiName = a.Dianhuafei.HasValue ? a.Dianhuafei.Value.ToString("F2") : "", |
| | | QueqinName = a.Queqin.HasValue ? a.Queqin.Value.ToString("F2") : "", |
| | | FakuanName = a.Fakuan.HasValue ? a.Fakuan.Value.ToString("F2") : "", |
| | | PeichangName = a.Peichang.HasValue ? a.Peichang.Value.ToString("F2") : "", |
| | | JiucuoName = a.Jiucuo.HasValue ? a.Jiucuo.Value.ToString("F2") : "", |
| | | DaozhanggongziName = a.Daozhanggongzi.HasValue ? a.Daozhanggongzi.Value.ToString("F2") : "", |
| | | YufagongziName = a.Yufagongzi.HasValue ? a.Yufagongzi.Value.ToString("F2") : "", |
| | | YufagongzihejiName = a.Yufagongziheji.HasValue ? a.Yufagongziheji.Value.ToString("F2") : "", |
| | | |
| | | Islock = a.Islock, |
| | | RecStatus = a.RecStatus, |
| | | Creater = a.Creater, |
| | | Createtime = a.Createtime, |
| | | Modifier = a.Modifier, |
| | | Modifytime = a.Modifytime, |
| | | |
| | | }).OrderByDescending(x => x.Modifytime).ToList(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | if (searchEntity.totalrows == 0) |
| | | searchEntity.totalrows = query.Count(); |
| | | var rolelist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); |
| | | |
| | | data.LoadData(searchEntity, rolelist); |
| | | return data; |
| | | } |
| | | |
| | | public ResultDataEntity<HrSalaryDTO> SearchSalaryByPaging(HrSalaryDTOSearch searchEntity) |
| | | { |
| | | ResultDataEntity<HrSalaryDTO> data = new ResultDataEntity<HrSalaryDTO>(); |
| | | |
| | | //var listCode = (from a in _context.SysCodeDtls |
| | | // join b in _context.SysCodes |
| | | // on a.CodeId equals b.Id |
| | | // where a.RecStatus == "A" |
| | | // && b.RecStatus == "A" |
| | | // select new CodeDataEntity() |
| | | // { |
| | | // CodeId = b.Id, |
| | | // CodeTable = b.CodeTable, |
| | | // CodeField = b.CodeField, |
| | | // CodeSn = a.CodeSn, |
| | | // Comments = a.Comments, |
| | | // Contents = a.Contents, |
| | | // RecStatus = a.RecStatus, |
| | | // Sort = a.Sort |
| | | // } |
| | | // ); |
| | | |
| | | //int year = 0; |
| | | //int month = 0; |
| | | //if (string.IsNullOrWhiteSpace(searchEntity.YearMonth)) |
| | | //{ |
| | | // DateTime yearMonth = DateTime.Now;//.Parse(searchEntity.YearMonth + "-01"); |
| | | // year = yearMonth.Year; |
| | | // month = yearMonth.Month; |
| | | //} |
| | | var query = (from a in _context.HrSalaries//.Where(x => x.RecStatus == "A") |
| | | // join b in listCode.Where(x => x.CodeTable == "hr_jibengongzi" && x.CodeField == "dianhuabutie") |
| | | //on a.Dianhuabutie equals b.CodeSn |
| | |
| | | // into gsssss |
| | | //from ggg in gsssss.DefaultIfEmpty() |
| | | |
| | | where a.RecStatus == "A" |
| | | where a.RecStatus == "A" && a.Islock!="Q" |
| | | && (string.IsNullOrWhiteSpace(searchEntity.Usernumber) || f.Usernumber == searchEntity.Usernumber.Trim()) |
| | | && (string.IsNullOrWhiteSpace(searchEntity.DeptId) || f.DeptId == searchEntity.DeptId.Trim()) |
| | | && (string.IsNullOrWhiteSpace(searchEntity.UserName) || f.UserName.Contains(searchEntity.UserName.Trim())) |
| | | && (string.IsNullOrWhiteSpace(searchEntity.YearMonth) || ( a.Year == year && a.Month == month )) |
| | | //&& (string.IsNullOrWhiteSpace(searchEntity.YearMonth) || ( a.Year == year && a.Month == month )) |
| | | select new HrSalaryDTO |
| | | { |
| | | Id = a.Id, |
| | | |
| | | Userid = a.Userid, |
| | | Usernumber = f.Usernumber, |
| | | UserName = f.UserName, |
| | | DeptName = g.DeptName, |
| | | Year = a.Year, |
| | | Month = a.Month, |
| | | Jibengongzi = a.Jibengongzi, |
| | | Baomifei = a.Baomifei, |
| | | Gongzuobutie = a.Gongzuobutie, |
| | | Jiabangongzi = a.Jiabangongzi, |
| | | |
| | | Shebao = a.Shebao, |
| | | |
| | | Dianhuabutie = a.Dianhuabutie, |
| | | |
| | | Quanqinjiang = a.Quanqinjiang, |
| | | Jiaotngbutie = a.Jiaotngbutie, |
| | | Jixiaoticheng = a.Jixiaoticheng, |
| | | Jiangjin = a.Jiangjin, |
| | | Bufagongzi = a.Bufagongzi, |
| | | Shebaokou = a.Shebaokou, |
| | | Geshui = a.Geshui, |
| | | Dianhuafei = a.Dianhuafei, |
| | | Queqin = a.Queqin, |
| | | Fakuan = a.Fakuan, |
| | | Peichang = a.Peichang, |
| | | Jiucuo = a.Jiucuo, |
| | | Daozhanggongzi = a.Daozhanggongzi, |
| | | Yufagongzi = a.Yufagongzi, |
| | | Yufagongziheji = a.Yufagongziheji, |
| | | |
| | | JibengongziName = a.Jibengongzi.HasValue ? a.Jibengongzi.Value.ToString("F2") : "", |
| | | BaomifeiName = a.Baomifei.HasValue ? a.Baomifei.Value.ToString("F2") : "", |
| | | GongzuobutieName = a.Gongzuobutie.HasValue ? a.Gongzuobutie.Value.ToString("F2") : "", |
| | | JiabangongziName = a.Jiabangongzi.HasValue ? a.Jiabangongzi.Value.ToString("F2") : "", |
| | | ShebaoName = a.Shebao.HasValue ? a.Shebao.Value.ToString("F2") : "", |
| | | |
| | | DianhuabutieName = a.Dianhuabutie.HasValue ? a.Dianhuabutie.Value.ToString("F2") : "", |
| | | QuanqinjiangName = a.Quanqinjiang.HasValue ? a.Quanqinjiang.Value.ToString("F2") : "", |
| | | JiaotngbutieName = a.Jiaotngbutie.HasValue ? a.Jiaotngbutie.Value.ToString("F2") : "", |
| | | JixiaotichengName = a.Jixiaoticheng.HasValue ? a.Jixiaoticheng.Value.ToString("F2") : "", |
| | | JiangjinName = a.Jiangjin.HasValue ? a.Jiangjin.Value.ToString("F2") : "", |
| | | BufagongziName = a.Bufagongzi.HasValue ? a.Bufagongzi.Value.ToString("F2") : "", |
| | | ShebaokouName = a.Shebaokou.HasValue ? a.Shebaokou.Value.ToString("F2") : "", |
| | | GeshuiName = a.Geshui.HasValue ? a.Geshui.Value.ToString("F2") : "", |
| | | DianhuafeiName = a.Dianhuafei.HasValue ? a.Dianhuafei.Value.ToString("F2") : "", |
| | | QueqinName = a.Queqin.HasValue ? a.Queqin.Value.ToString("F2") : "", |
| | | FakuanName = a.Fakuan.HasValue ? a.Fakuan.Value.ToString("F2") : "", |
| | | PeichangName = a.Peichang.HasValue ? a.Peichang.Value.ToString("F2") : "", |
| | | JiucuoName = a.Jiucuo.HasValue ? a.Jiucuo.Value.ToString("F2") : "", |
| | | DaozhanggongziName = a.Daozhanggongzi.HasValue ? a.Daozhanggongzi.Value.ToString("F2") : "", |
| | | YufagongziName = a.Yufagongzi.HasValue ? a.Yufagongzi.Value.ToString("F2") : "", |
| | | YufagongzihejiName = a.Yufagongziheji.HasValue ? a.Yufagongziheji.Value.ToString("F2") : "", |
| | | |
| | | Islock =a.Islock, |
| | | RecStatus = a.RecStatus, |
| | | Creater = a.Creater, |
| | | Createtime = a.Createtime, |
| | | Modifier = a.Modifier, |
| | | Modifytime = a.Modifytime, |
| | | |
| | | }).OrderByDescending(x => x.Modifytime).ToList(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | if (searchEntity.totalrows == 0) |
| | | searchEntity.totalrows = query.Count(); |
| | | var rolelist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); |
| | | |
| | | data.LoadData(searchEntity, rolelist); |
| | | return data; |
| | | } |
| | | |
| | | public ResultEntity ModifyStatus(string id, string userid) |
| | | { |
| | | |
| | | ResultEntity result = new ResultEntity(); |
| | | result.Result = true; |
| | | |
| | | var model = _context.HrSalaries.Find(id); |
| | | if (model != null) |
| | | { |
| | | model.RecStatus = "D"; |
| | | model.Modifier = userid; |
| | | model.Modifytime = DateTime.Now; |
| | | _context.SaveChanges(); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// è·åææææè§è² |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<HrSalaryDTO> GetList() |
| | | { |
| | | |
| | | |
| | | var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A").ToList(); |
| | | |
| | | var list = _mapper.Map<List<HrSalaryDTO>>(listPosition); |
| | | return list; |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// è·åææææè§è² |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public HrSalaryDTO GetListByUser(string Userid, int year, int month) |
| | | { |
| | | |
| | | |
| | | var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A" && r.Userid == Userid && r.Year == year && r.Month == month).FirstOrDefault(); |
| | | |
| | | HrSalaryDTO hrSalaryDTO = null; |
| | | if (listPosition != null) |
| | | { |
| | | hrSalaryDTO = _mapper.Map<HrSalaryDTO>(listPosition); |
| | | } |
| | | |
| | | return hrSalaryDTO; |
| | | } |
| | | /// <summary> |
| | | /// å·¥èµæ ¸å¯¹ |
| | | /// </summary> |
| | | /// <param name="userid"></param> |
| | | /// <param name="year"></param> |
| | | /// <param name="month"></param> |
| | | /// <returns></returns> |
| | | public List<HrSalaryDTO> GetSalary(string userid,int year,int month) |
| | | { |
| | | var entity = (from a in _context.HrSalaries |
| | | join b in _context.PltUsers on a.Userid equals b.Id |
| | | join c in _context.HrDepts on b.DeptId equals c.Id |
| | | where a.RecStatus=="A" && a.Userid == userid && a.Year == year && a.Month==month |
| | | select new HrSalaryDTO() |
| | | { |
| | | Id = a.Id, |
| | | Userid = a.Userid, |
| | | Usernumber = b.Usernumber, |
| | | UserName = b.UserName, |
| | | DeptName = c.DeptName, |
| | | Year = a.Year, |
| | | Month = a.Month, |
| | | Jibengongzi = a.Jibengongzi, |
| | | Baomifei = a.Baomifei, |
| | | Gongzuobutie = a.Gongzuobutie, |
| | | Jiabangongzi = a.Jiabangongzi, |
| | | Shebao = a.Shebao, |
| | | Dianhuabutie = a.Dianhuabutie, |
| | | Quanqinjiang = a.Quanqinjiang, |
| | | Jiaotngbutie = a.Jiaotngbutie, |
| | | Jixiaoticheng = a.Jixiaoticheng, |
| | | Jiangjin = a.Jiangjin, |
| | | Bufagongzi = a.Bufagongzi, |
| | | Shebaokou = a.Shebaokou, |
| | | Geshui = a.Geshui, |
| | | Dianhuafei = a.Dianhuafei, |
| | | Queqin = a.Queqin, |
| | | Fakuan = a.Fakuan, |
| | | Peichang = a.Peichang, |
| | | Jiucuo = a.Jiucuo, |
| | | Daozhanggongzi = a.Daozhanggongzi, |
| | | Yufagongzi = a.Yufagongzi, |
| | | Yufagongziheji = a.Yufagongziheji, |
| | | Islock=a.Islock |
| | | }).ToList(); |
| | | |
| | | if (entity == null) |
| | | { |
| | | entity = new List<HrSalaryDTO>(); |
| | | } |
| | | return entity; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å·¥èµç¡®è®¤ |
| | | /// </summary> |
| | | /// <param name="id"></param> |
| | | /// <param name="user"></param> |
| | | /// <returns></returns> |
| | | public ResultEntity CheckOk(string id,string user) |
| | | { |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | try |
| | | { |
| | | var updatepltRole = _context.HrSalaries.Where(c=>c.Id==id && c.Userid==user).FirstOrDefault(); |
| | | |
| | | if(updatepltRole!=null) |
| | | { |
| | | updatepltRole.Islock = "Q"; |
| | | updatepltRole.Modifier = user; |
| | | updatepltRole.Modifytime = DateTime.Now; |
| | | |
| | | _context.SaveChanges(); |
| | | resultEntity.Result = true; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | resultEntity.Result = false; |
| | | resultEntity.Message = "ä¿å失败ï¼è¯·è系管çå"; |
| | | } |
| | | return resultEntity; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æäº¤ç³è¯ |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | public ResultEntity CheckAppea(HrSalaryAppeal model) |
| | | { |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | try |
| | | { |
| | | var salary = _context.HrSalaries.Where(c => c.Id == model.salary_id && c.RecStatus == "A" && c.Islock != "Q").SingleOrDefault(); |
| | | if (salary != null) |
| | | { |
| | | salary.Islock = "S"; |
| | | var temp = _context.HrSalaryAppeal.Where(e => e.salary_id == model.salary_id && e.sub_user==model.sub_user).SingleOrDefault(); |
| | | if (temp != null && temp.status == "A") |
| | | { |
| | | temp.reason = model.reason; |
| | | temp.amount = model.amount; |
| | | temp.basis = model.basis; |
| | | temp.sub_time = DateTime.Now; |
| | | } |
| | | else |
| | | { |
| | | model.sub_time = DateTime.Now; |
| | | model.status = "A"; |
| | | _context.HrSalaryAppeal.Add(model); |
| | | } |
| | | |
| | | var i= _context.SaveChanges(); |
| | | resultEntity.Result = true; |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | resultEntity.Result = false; |
| | | resultEntity.Message = "ä¿å失败ï¼è¯·è系管çå"; |
| | | ex.Message.ToString(); |
| | | } |
| | | return resultEntity; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// æ¥ç³è¯ä¿¡æ¯ |
| | | /// </summary> |
| | | /// <param name="id"></param> |
| | | /// <param name="user"></param> |
| | | /// <returns></returns> |
| | | public HrSalaryAppeal GetAppeal(string id,string user) |
| | | { |
| | | HrSalaryAppeal hd = new HrSalaryAppeal(); |
| | | try |
| | | { |
| | | hd = _context.HrSalaryAppeal.Where(e => e.salary_id == id && e.sub_user == user).SingleOrDefault(); |
| | | } |
| | | catch (Exception er) |
| | | { |
| | | throw; |
| | | } |
| | | return hd; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å·¥èµæ¥è¯¢ï¼æ¥å®æç¡®è®¤çï¼ |
| | | /// </summary> |
| | | /// <param name="searchEntity"></param> |
| | | /// <returns></returns> |
| | | public ResultDataEntity<HrSalaryDTO> SearchByPagingFinish(HrSalaryDTOSearch searchEntity) |
| | | { |
| | | ResultDataEntity<HrSalaryDTO> data = new ResultDataEntity<HrSalaryDTO>(); |
| | | |
| | | DateTime st = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date; |
| | | DateTime et = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1); |
| | | int month = 0; |
| | | if (!string.IsNullOrEmpty(searchEntity.searchDate)) |
| | | { |
| | | var times = searchEntity.searchDate.Split('|'); |
| | | if (times.Length == 2) |
| | | { |
| | | st = DateTime.Parse(times[0]); |
| | | et= DateTime.Parse(times[1]); |
| | | } |
| | | } |
| | | var query = (from a in _context.HrSalaries where a.Year >= st.Year && a.Month >= st.Month && a.Year <= et.Year && a.Month <= et.Month select a); |
| | | |
| | | var list = (from a in query |
| | | join f in _context.PltUsers on a.Userid equals f.Id |
| | | join g in _context.HrDepts on f.DeptId equals g.Id |
| | | where a.RecStatus == "A" && a.Islock=="Q" |
| | | && (string.IsNullOrWhiteSpace(searchEntity.Usernumber) || f.Usernumber == searchEntity.Usernumber.Trim()) |
| | | && (string.IsNullOrWhiteSpace(searchEntity.DeptId) || f.DeptId == searchEntity.DeptId.Trim()) |
| | | && (string.IsNullOrWhiteSpace(searchEntity.UserName) || f.UserName.Contains(searchEntity.UserName.Trim())) |
| | | select new HrSalaryDTO |
| | | { |
| | | Id = a.Id, |
| | |
| | | YufagongziName = a.Yufagongzi.HasValue ? a.Yufagongzi.Value.ToString("F2") : "", |
| | | YufagongzihejiName = a.Yufagongziheji.HasValue ? a.Yufagongziheji.Value.ToString("F2") : "", |
| | | |
| | | |
| | | |
| | | Islock =a.Islock, |
| | | Islock = a.Islock, |
| | | RecStatus = a.RecStatus, |
| | | Creater = a.Creater, |
| | | Createtime = a.Createtime, |
| | |
| | | }).OrderByDescending(x => x.Modifytime).ToList(); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | if (searchEntity.totalrows == 0) |
| | | searchEntity.totalrows = query.Count(); |
| | | var rolelist = query.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); |
| | | searchEntity.totalrows = list.Count(); |
| | | var rolelist = list.Skip((searchEntity.page - 1) * searchEntity.rows).Take(searchEntity.rows).ToList(); |
| | | |
| | | data.LoadData(searchEntity, rolelist); |
| | | return data; |
| | | } |
| | | |
| | | public ResultEntity ModifyStatus(string id, string userid) |
| | | { |
| | | |
| | | ResultEntity result = new ResultEntity(); |
| | | result.Result = true; |
| | | |
| | | var model = _context.HrSalaries.Find(id); |
| | | if (model != null) |
| | | { |
| | | model.RecStatus = "D"; |
| | | model.Modifier = userid; |
| | | model.Modifytime = DateTime.Now; |
| | | _context.SaveChanges(); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// è·åææææè§è² |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public List<HrSalaryDTO> GetList() |
| | | { |
| | | |
| | | |
| | | var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A").ToList(); |
| | | |
| | | var list = _mapper.Map<List<HrSalaryDTO>>(listPosition); |
| | | return list; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// è·åææææè§è² |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | public HrSalaryDTO GetListByUser(string Userid, int year, int month) |
| | | { |
| | | |
| | | |
| | | var listPosition = _context.HrSalaries.Where(r => r.RecStatus == "A" && r.Userid == Userid && r.Year == year && r.Month == month).FirstOrDefault(); |
| | | |
| | | HrSalaryDTO hrSalaryDTO = null; |
| | | if (listPosition != null) |
| | | { |
| | | hrSalaryDTO = _mapper.Map<HrSalaryDTO>(listPosition); |
| | | } |
| | | |
| | | return hrSalaryDTO; |
| | | } |
| | | } |
| | | } |
| | |
| | | ResultDataEntity<SimCostView> data = new ResultDataEntity<SimCostView>(); |
| | | try |
| | | { |
| | | var codedata = (from e in _context.SysCodes |
| | | join c in _context.SysCodeDtls |
| | | on e.Id equals c.CodeId |
| | | where e.RecStatus == "A" |
| | | && c.RecStatus == "A" |
| | | && e.CodeTable == "t_sim_bind" |
| | | && e.CodeField == "cardpro" |
| | | select c).OrderBy(x => x.Sort).ToList(); |
| | | //var codedata = (from e in _context.SysCodes |
| | | // join c in _context.SysCodeDtls |
| | | // on e.Id equals c.CodeId |
| | | // where e.RecStatus == "A" |
| | | // && c.RecStatus == "A" |
| | | // && e.CodeTable == "t_sim_bind" |
| | | // && e.CodeField == "cardpro" |
| | | // select c).OrderBy(x => x.Sort).ToList(); |
| | | |
| | | var dt = _context.SimCostView.OrderByDescending(c => c.accounted_time).ToList(); |
| | | if (!string.IsNullOrEmpty(searchEntity.searchtime)) |
| | | { |
| | | //dt = dt.Where(c => c.simcard.Contains(searchEntity.simcard)).ToList(); |
| | | var times = searchEntity.searchtime.Split('|'); |
| | | if(times.Length==2) |
| | | { |
| | | DateTime d1 = DateTime.Parse(times[0]); |
| | | DateTime d2 = DateTime.Parse(times[1]); |
| | | dt = dt.Where(c => c.accounted_time > d1 && c.accounted_time < d2).ToList(); |
| | | } |
| | | } |
| | | if (!string.IsNullOrEmpty(searchEntity.searchsim)) |
| | | { |
New file |
| | |
| | | using DTO; |
| | | using IServices; |
| | | using Microsoft.AspNetCore.Http; |
| | | using Microsoft.AspNetCore.Mvc; |
| | | using Microsoft.Extensions.Logging; |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Threading.Tasks; |
| | | using System.Transactions; |
| | | using zhengcaioa.Models; |
| | | |
| | | namespace zhengcaioa.Controllers.HR |
| | | { |
| | | public class SalaryCheckController : Controller |
| | | { |
| | | private readonly IHrDeptService _hrDeptService; |
| | | private readonly ILogger<SalaryCheckController> _logger; |
| | | private readonly IHrSalaryService _hrSalaryService; |
| | | |
| | | public SalaryCheckController(ILogger<SalaryCheckController> logger, IHrSalaryService hrSalaryService, IHrDeptService hrDeptService) |
| | | { |
| | | _logger = logger; |
| | | _hrDeptService = hrDeptService; |
| | | _hrSalaryService = hrSalaryService; |
| | | } |
| | | |
| | | public IActionResult Index() |
| | | { |
| | | List<ActionEntity> actionlist = new List<ActionEntity>(); |
| | | ActionEntity actionEntity = new ActionEntity(); |
| | | actionEntity.OpenType = 0; |
| | | actionEntity.ActionUrl = ""; |
| | | actionEntity.ActionFun = "Search"; |
| | | actionEntity.PageIco = "fa fa-search"; |
| | | actionEntity.ActionName = "æ¥è¯¢"; |
| | | actionlist.Add(actionEntity); |
| | | |
| | | ActionEntity actionEntity1 = new ActionEntity(); |
| | | actionEntity1.OpenType = 0; |
| | | actionEntity1.ActionUrl = ""; |
| | | actionEntity1.ActionFun = "Edit"; |
| | | actionEntity1.PageIco = "fa fa-plus"; |
| | | actionEntity1.ActionName = "æ ¸å"; |
| | | actionlist.Add(actionEntity1); |
| | | |
| | | ViewBag.editBtn = false; |
| | | |
| | | ViewData["ActionInfo"] = actionlist; |
| | | |
| | | ViewBag.dept = _hrDeptService.GetList().Select(x => new { code = x.Id, label = x.DeptName }).ToList(); |
| | | |
| | | return View(); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// å表å
容 |
| | | /// </summary> |
| | | /// <param name="search"></param> |
| | | /// <returns></returns> |
| | | public IActionResult GetList(HrSalaryDTOSearch search) |
| | | { |
| | | return new JsonResult(_hrSalaryService.SearchSalaryByPaging(search)); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ç¼è¾é¡µ |
| | | /// </summary> |
| | | /// <param name="id"></param> |
| | | /// <returns></returns> |
| | | public IActionResult Edit(string id) |
| | | { |
| | | HrSalaryDTO dto = new HrSalaryDTO(); |
| | | if (!string.IsNullOrEmpty(id)) |
| | | { |
| | | dto = _hrSalaryService.Get(id); |
| | | } |
| | | ViewData.Model = dto; |
| | | return View(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä¿å |
| | | /// </summary> |
| | | /// <param name="data"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult SaveCheck(HrSalaryDTO data) |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | { |
| | | data.Modifier = curentuser.Id; |
| | | resultEntity = _hrSalaryService.SaveCheckSalary(data); |
| | | scope.Complete(); |
| | | } |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | |
| | | #region å·¥èµæ ¸å¯¹ |
| | | |
| | | public IActionResult Employee() |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ViewBag.Employee = curentuser; |
| | | return View(); |
| | | } |
| | | |
| | | public JsonResult EmployeeSalary(string month) |
| | | { |
| | | ResultDataEntity<HrSalaryDTO> data = new ResultDataEntity<HrSalaryDTO>(); |
| | | HrSalaryDTOSearch searchEntity = new HrSalaryDTOSearch(); |
| | | searchEntity.page = 0; |
| | | searchEntity.rows = 10; |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | if (!string.IsNullOrEmpty(month)) |
| | | { |
| | | var dtime = DateTime.Parse(month); |
| | | var md = _hrSalaryService.GetSalary(curentuser.Id, dtime.Year,dtime.Month); |
| | | if (searchEntity.totalrows == 0) |
| | | searchEntity.totalrows =1; |
| | | data.LoadData(searchEntity, md ); |
| | | } |
| | | |
| | | return Json(data); |
| | | } |
| | | |
| | | [HttpPost] |
| | | public JsonResult SalaryCheckOk(string id) |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | if(!string.IsNullOrEmpty(id)) |
| | | { |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | { |
| | | resultEntity = _hrSalaryService.CheckOk(id, curentuser.Id); |
| | | scope.Complete(); |
| | | } |
| | | } |
| | | |
| | | return Json(resultEntity); |
| | | } |
| | | |
| | | |
| | | public IActionResult Appeal(string id) |
| | | { |
| | | HrSalaryAppeal dto = new HrSalaryAppeal(); |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | if (!string.IsNullOrEmpty(id)) |
| | | { |
| | | dto = _hrSalaryService.GetAppeal(id, curentuser.Id); |
| | | if(dto==null) |
| | | { |
| | | dto = new HrSalaryAppeal(); |
| | | dto.salary_id = id; |
| | | } |
| | | } |
| | | ViewData.Model = dto; |
| | | return View(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä¿åç³è¯ |
| | | /// </summary> |
| | | /// <param name="data"></param> |
| | | /// <returns></returns> |
| | | [HttpPost] |
| | | public IActionResult SaveAppeal(HrSalaryAppeal data) |
| | | { |
| | | var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); |
| | | ResultEntity resultEntity = new ResultEntity(); |
| | | using (TransactionScope scope = new TransactionScope()) |
| | | { |
| | | data.sub_user = curentuser.Id; |
| | | resultEntity = _hrSalaryService.CheckAppea(data); |
| | | scope.Complete(); |
| | | } |
| | | return new JsonResult(resultEntity); |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region å·¥èµæ¥è¯¢ |
| | | |
| | | public IActionResult SearchIndex() |
| | | { |
| | | List<ActionEntity> actionlist = new List<ActionEntity>(); |
| | | ActionEntity actionEntity = new ActionEntity(); |
| | | actionEntity.OpenType = 0; |
| | | actionEntity.ActionUrl = ""; |
| | | actionEntity.ActionFun = "Search"; |
| | | actionEntity.PageIco = "fa fa-search"; |
| | | actionEntity.ActionName = "æ¥è¯¢"; |
| | | actionlist.Add(actionEntity); |
| | | ViewData["ActionInfo"] = actionlist; |
| | | |
| | | ViewBag.dept = _hrDeptService.GetList().Select(x => new { code = x.Id, label = x.DeptName }).ToList(); |
| | | ViewBag.stime = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.ToString("yyyy-MM-dd"); |
| | | ViewBag.etime = DateTime.Now.AddDays(1 - DateTime.Now.Day).Date.AddMonths(1).AddSeconds(-1).ToString("yyyy-MM-dd"); |
| | | |
| | | return View(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// å表å
容 |
| | | /// </summary> |
| | | /// <param name="search"></param> |
| | | /// <returns></returns> |
| | | public IActionResult GetSearchList(HrSalaryDTOSearch search) |
| | | { |
| | | return new JsonResult(_hrSalaryService.SearchByPagingFinish(search)); |
| | | } |
| | | |
| | | #endregion |
| | | } |
| | | } |
| | |
| | | services.AddControllersWithViews(); |
| | | |
| | | services.AddScoped(typeof(ISimService), typeof(SimService)); |
| | | services.AddScoped(typeof(IHrSalaryService), typeof(HrSalaryService)); |
| | | |
| | | services.AddScoped(typeof(IUserService), typeof(UserService)); |
| | | services.AddScoped(typeof(ILiaotianService), typeof(LiaotianService)); |
New file |
| | |
| | | @model HrSalaryAppeal; |
| | | @using DTO; |
| | | @using zhengcaioa.Models; |
| | | @{ |
| | | Layout = null; |
| | | } |
| | | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> |
| | | <meta name="description" content=""> |
| | | <meta name="author" content="ThemeBucket"> |
| | | <link href="~/css/bootstrap.min.css" rel="stylesheet"> |
| | | <link href="~/css/font-awesome.min.css" rel="stylesheet"> |
| | | <link href="~/css/animate.min.css" rel="stylesheet"> |
| | | <link href="~/css/style.min.css" rel="stylesheet"> |
| | | <link href="~/css/plugins/chosen/chosen.css" rel="stylesheet"> |
| | | <link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet"> |
| | | <link href="~/css/style.min.css" rel="stylesheet"> |
| | | <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" /> |
| | | |
| | | <!-- jqgrid--> |
| | | <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script> |
| | | <script src="~/js/bootstrap.min.js"></script> |
| | | |
| | | <!--容å¨--> |
| | | <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script> |
| | | <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script> |
| | | <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script> |
| | | <script language="javascript" src="~/js/common-layout.js" type="text/javascript"></script> |
| | | <script src="~/js/plugins/layer/laydate/laydate.js" type="text/javascript"></script> |
| | | <script src="~/js/TUJS.js"></script> |
| | | |
| | | <style type="text/css"> |
| | | |
| | | div.clearfix > label { |
| | | padding-top: 8px; |
| | | } |
| | | |
| | | .col-md-1.control-label { |
| | | padding-right: 0px; |
| | | font-weight: 400; |
| | | } |
| | | </style> |
| | | |
| | | |
| | | </head> |
| | | |
| | | <body class="gray-bg" style="overflow:auto"> |
| | | <form id="fm" method="post"> |
| | | <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;"> |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="ibox float-e-margins"> |
| | | <div id="div_content" class="ibox-content" style="background-color:white;"> |
| | | <div class="row"> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-1 col-md-1 control-label">ç³è¯çç±<i class="red">*</i></label> |
| | | <div class="col-sm-2 col-md-2"> |
| | | <textarea class="form-control bt" id="ssly" name="reason" maxlength="4000" length="long" style="resize:none;overflow-y:hidden; height:80px;">@Model.reason</textarea> |
| | | </div> |
| | | </div> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-1 col-md-1 control-label">äºè®®éé¢<i class="red">*</i></label> |
| | | <div class="col-sm-2 col-md-2"> |
| | | <input class="form-control" id="zyje" name="amount" type="text" value="@Model.amount" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)"> |
| | | </div> |
| | | </div> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-1 col-md-1 control-label">å¶åº¦ä¾æ®<i class="red">*</i></label> |
| | | <div class="col-sm-2 col-md-2"> |
| | | <input type="hidden" name="salary_id" value="@Model.salary_id" /> |
| | | <input class="form-control" id="zdyj" name="basis" labtype="txt" addvisible="true" editvisible="true" type="text" value="@Model.basis"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content" id="top" style="z-index:100; position:fixed; height:50px; width:100%;bottom:0; text-align: right; padding-top:8px "> |
| | | <div class="" style="float:right;" data-bootstro-width="500px"> |
| | | <a class="btn btn-success" href="javascript:void(0)" onclick="_pageAutoClose();" style="margin-left:4px; border-radius:4px;"> |
| | | <i class="glyphicon glyphicon-remove"></i> <span class="bold">åæ¶</span> |
| | | </a> |
| | | <a class="btn btn-success" href="javascript:void(0)" onclick="saveSimCost();" style="margin-left:4px; border-radius:4px;"> |
| | | <i class="glyphicon glyphicon-ok"></i> <span class="bold">æäº¤</span> |
| | | </a> |
| | | </div> |
| | | </div> |
| | | |
| | | </form> |
| | | |
| | | <script type="text/javascript"> |
| | | |
| | | var hh = document.body.clientHeight - $("#top").height() * 2 - 50; |
| | | $("#div_content").height(hh); |
| | | |
| | | toastr.options = { |
| | | "closeButton": true, |
| | | "debug": false, |
| | | "progressBar": true, |
| | | "positionClass": "toast-bottom-right", |
| | | "onclick": null, |
| | | "showDuration": "300", |
| | | "hideDuration": "600", |
| | | "timeOut": "4500", |
| | | "extendedTimeOut": "600", |
| | | "showEasing": "swing", |
| | | "hideEasing": "linear", |
| | | "showMethod": "fadeIn", |
| | | "hideMethod": "fadeOut" |
| | | }; |
| | | |
| | | // ä¿å |
| | | function saveSimCost() { |
| | | |
| | | if ($("#ssly").val() == '') { |
| | | toastr.warning("ç³è¯çç±ä¸è½ä¸ºç©º"); |
| | | return; |
| | | } |
| | | if ($("#zyje").val() == '') { |
| | | toastr.warning("äºè®®éé¢ä¸è½ä¸ºç©º"); |
| | | return; |
| | | } |
| | | if ($("#zdyj").val() == '') { |
| | | toastr.warning("å¶åº¦ä¾æ®ä¸è½ä¸ºç©º"); |
| | | return; |
| | | } |
| | | |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "/SalaryCheck/SaveAppeal", |
| | | dataType: "json", |
| | | global: false, |
| | | data: $('#fm').serialize(), |
| | | success: function (data) { |
| | | |
| | | if (data.Result) { |
| | | parent.layer.msg('æäº¤æå', { icon: 6 }); |
| | | try { |
| | | _pageAutoClose();//èªå¨å
³é页颿¹æ³ |
| | | } |
| | | catch (err) { |
| | | parent._CloseTab1("/SalaryCheck/Appeal/"); |
| | | } |
| | | } |
| | | else { |
| | | parent.layer.msg(data.Message, { icon: 5 }); |
| | | } |
| | | |
| | | }, |
| | | error: function () { |
| | | parent.layer.msg('失败', { icon: 5 }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | function _pageAutoClose() { |
| | | parent.window._reloadPageData(); |
| | | var index = parent.layer.getFrameIndex(window.name); |
| | | parent.layer.isRefresh = true; |
| | | parent.layer.closeAll('loading'); |
| | | parent.layer.close(index); |
| | | return false; |
| | | } |
| | | </script> |
| | | </body> |
| | | </html> |
New file |
| | |
| | | @model HrSalaryDTO; |
| | | @using DTO; |
| | | @using zhengcaioa.Models; |
| | | @{ |
| | | Layout = null; |
| | | } |
| | | |
| | | <!DOCTYPE html> |
| | | <html> |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> |
| | | <meta name="description" content=""> |
| | | <meta name="author" content="ThemeBucket"> |
| | | <link href="~/css/bootstrap.min.css" rel="stylesheet"> |
| | | <link href="~/css/font-awesome.min.css" rel="stylesheet"> |
| | | <link href="~/css/animate.min.css" rel="stylesheet"> |
| | | <link href="~/css/style.min.css" rel="stylesheet"> |
| | | <link href="~/css/plugins/chosen/chosen.css" rel="stylesheet"> |
| | | <link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet"> |
| | | <link href="~/css/style.min.css" rel="stylesheet"> |
| | | <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" /> |
| | | |
| | | <!-- jqgrid--> |
| | | <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script> |
| | | <script src="~/js/bootstrap.min.js"></script> |
| | | |
| | | <!--容å¨--> |
| | | <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script> |
| | | <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script> |
| | | <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script> |
| | | <script language="javascript" src="~/js/common-layout.js" type="text/javascript"></script> |
| | | <script src="~/js/plugins/layer/laydate/laydate.js" type="text/javascript"></script> |
| | | <script src="~/js/TUJS.js"></script> |
| | | |
| | | <style type="text/css"> |
| | | |
| | | div.clearfix > label { |
| | | padding-top: 8px; |
| | | } |
| | | |
| | | .col-md-1.control-label { |
| | | padding-right: 0px; |
| | | font-weight: 400; |
| | | } |
| | | </style> |
| | | |
| | | |
| | | </head> |
| | | |
| | | <body class="gray-bg" style="overflow:auto"> |
| | | <form id="fm" method="post"> |
| | | <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;"> |
| | | <div class="row"> |
| | | <div class="col-sm-6 col-md-6"> |
| | | @*<div class="ibox float-e-margins"></div>*@ |
| | | <div id="div_content" class="ibox-content" style="background-color:white;"> |
| | | <div class="row"> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-3 col-md-3 control-label">åå·¥å§å</label> |
| | | <div class="col-sm-9 col-md-9"> |
| | | <input class="form-control" labtype="txt" addvisible="true" readonly="readonly" type="text" value="@Model.UserName"> |
| | | <input type="hidden" name="id" value="@Model.Id" /> |
| | | </div> |
| | | </div> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-3 col-md-3 control-label">å·¥ä½é¨é¨</label> |
| | | <div class="col-sm-9 col-md-9"> |
| | | <input class="form-control" labtype="txt" addvisible="true" readonly="readonly" type="text" value="@Model.DeptName"> |
| | | </div> |
| | | </div> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-3 col-md-3 control-label">å¥é</label> |
| | | <div class="col-sm-9 col-md-9"> |
| | | <input class="form-control" name="Jiangjin" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.Jiangjin" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)"> |
| | | </div> |
| | | </div> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-3 col-md-3 control-label">è¡¥åå·¥èµ</label> |
| | | <div class="col-sm-9 col-md-9"> |
| | | <input class="form-control" name="Bufagongzi" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.Bufagongzi" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)"> |
| | | </div> |
| | | </div> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-3 col-md-3 control-label">èµå¿</label> |
| | | <div class="col-sm-9 col-md-9"> |
| | | <input class="form-control" name="Peichang" labtype="txt" addvisible="true" editvisible="true" reg="" ismust="true" type="text" value="@Model.Peichang" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)"> |
| | | </div> |
| | | </div> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-3 col-md-3 control-label">çº é</label> |
| | | <div class="col-sm-9 col-md-9"> |
| | | <input class="form-control" label="èªèµå¾
é" name="Jiucuo" labtype="txt" addvisible="true" maxlength="500" editvisible="true" reg="" ismust="true" type="text" value="@Model.Jiucuo" oninput="if(value.length>10)value=value.slice(0,10)" onkeyup="value=value.toString().match(/^\d+(?:\.\d{0,2})?/)"> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="col-sm-6 col-md-6"> |
| | | <div class="panel panel-default" id="panelss" > |
| | | <div class="panel-heading"> |
| | | ç³è¯å
容 |
| | | </div> |
| | | <div class="panel-body"> |
| | | <div class="row"> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-3 col-md-3 control-label">ç³è¯çç±<i class="red">*</i></label> |
| | | <div class="col-sm-9 col-md-9"> |
| | | <textarea class="form-control bt" readonly="readonly" style="resize:none;overflow-y:hidden; height:150px;">@Model.reason</textarea> |
| | | </div> |
| | | </div> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-3 col-md-3 control-label">äºè®®éé¢<i class="red">*</i></label> |
| | | <div class="col-sm-9 col-md-9"> |
| | | <input class="form-control" type="text" value="@Model.amount" readonly="readonly"> |
| | | </div> |
| | | </div> |
| | | <div class="clearfix layer-area" style="padding-bottom:15px;"> |
| | | <label class="text-right col-sm-3 col-md-3 control-label">å¶åº¦ä¾æ®<i class="red">*</i></label> |
| | | <div class="col-sm-9 col-md-9"> |
| | | <input class="form-control" labtype="txt" type="text" readonly="readonly" value="@Model.basis"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="ibox-content" id="top" style="z-index:100; position:fixed; height:50px; width:100%;bottom:0; text-align: right; padding-top:8px "> |
| | | <div class="" style="float:right;" data-bootstro-width="500px" data-bootstro-content="åè½æé®ï¼âä¿åâï¼âåæ¶â"> |
| | | <a class="btn btn-success" href="javascript:void(0)" onclick="_pageAutoClose();" style="margin-left:4px; border-radius:4px;"> |
| | | <i class="glyphicon glyphicon-remove"></i> <span class="bold">åæ¶</span> |
| | | </a> |
| | | <a class="btn btn-success" href="javascript:void(0)" onclick="saveSimCost();" style="margin-left:4px; border-radius:4px;"> |
| | | <i class="glyphicon glyphicon-ok"></i> <span class="bold">æäº¤</span> |
| | | </a> |
| | | </div> |
| | | </div> |
| | | |
| | | </form> |
| | | |
| | | <script type="text/javascript"> |
| | | $(function () { |
| | | var pl = '@Model.reason'; |
| | | if (pl.length > 0) { |
| | | |
| | | } |
| | | else { |
| | | $("#panelss").hide(); |
| | | } |
| | | |
| | | }); |
| | | |
| | | var hh = document.body.clientHeight - $("#top").height() * 2 - 75; |
| | | $("#div_content").height(hh); |
| | | |
| | | toastr.options = { |
| | | "closeButton": true, |
| | | "debug": false, |
| | | "progressBar": true, |
| | | "positionClass": "toast-bottom-right", |
| | | "onclick": null, |
| | | "showDuration": "300", |
| | | "hideDuration": "600", |
| | | "timeOut": "4500", |
| | | "extendedTimeOut": "600", |
| | | "showEasing": "swing", |
| | | "hideEasing": "linear", |
| | | "showMethod": "fadeIn", |
| | | "hideMethod": "fadeOut" |
| | | }; |
| | | |
| | | // ä¿å |
| | | function saveSimCost() { |
| | | |
| | | if ($("#cbbCard").val() == '') { |
| | | toastr.warning("çµè¯å¡å·ä¸è½ä¸ºç©º"); |
| | | return; |
| | | } |
| | | if ($("#billamount").val() == '') { |
| | | toastr.warning("å®é
çµè¯è´¹ç¨ä¸è½ä¸ºç©º"); |
| | | return; |
| | | } |
| | | if ($("#acTime").val() == '') { |
| | | toastr.warning("è´¹ç¨è®°è´¦æ¥æä¸è½ä¸ºç©º"); |
| | | return; |
| | | } |
| | | |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "/SimCost/SaveSimCost2", |
| | | dataType: "json", |
| | | global: false, |
| | | data: $('#fm').serialize(), |
| | | success: function (data) { |
| | | |
| | | if (data.Result) { |
| | | parent.layer.msg('设置æå', { icon: 6 }); |
| | | try { |
| | | _pageAutoClose();//èªå¨å
³é页颿¹æ³ |
| | | } |
| | | catch (err) { |
| | | parent._CloseTab1("/SimCost/Edit/"); |
| | | } |
| | | } |
| | | else { |
| | | // toastr.error("失败"); |
| | | parent.layer.msg(data.Message, { icon: 5 }); |
| | | } |
| | | |
| | | }, |
| | | error: function () { |
| | | parent.layer.msg('失败', { icon: 5 }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | function _pageAutoClose() { |
| | | parent.window._reloadPageData(); |
| | | var index = parent.layer.getFrameIndex(window.name); |
| | | parent.layer.isRefresh = true; |
| | | parent.layer.closeAll('loading'); |
| | | parent.layer.close(index); |
| | | return false; |
| | | } |
| | | </script> |
| | | </body> |
| | | </html> |
New file |
| | |
| | | @{ |
| | | ViewBag.Title = "å·¥èµæ ¸å¯¹"; |
| | | Layout = "~/Views/Shared/_Layout_Search.cshtml"; |
| | | |
| | | PltUser Employee = ViewData["Employee"] as PltUser; |
| | | } |
| | | |
| | | <link href="~/css/jquery-confirm.css" rel="stylesheet"> |
| | | @*<link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet">*@ |
| | | <link href="~/js/plugins/layer/laydate/theme/default/laydate.css" rel="stylesheet"> |
| | | <script src="~/js/jquery-confirm.js" type="text/javascript"></script> |
| | | <script src="~/js/plugins/layer/laydate/laydate5.js" type="text/javascript"></script> |
| | | <style> |
| | | /* .laydate_table { |
| | | display: none; |
| | | }*/ |
| | | |
| | | .col-base { |
| | | line-height: 35px; |
| | | |
| | | } |
| | | /* |
| | | #laydate_hms { |
| | | display: none !important; |
| | | }*/ |
| | | </style> |
| | | |
| | | @section headerStyle{ |
| | | |
| | | <table style="line-height:35px;margin-top:15px"> |
| | | <tr> |
| | | <td width="100"></td> |
| | | <td width="200">å§åï¼@Employee.UserName</td> |
| | | <td width="200">å·¥å·ï¼@Employee.Usernumber</td> |
| | | <td >å·¥èµæä»½ï¼</td> |
| | | <td width="180"> |
| | | <input id="acTime" style="width:150px" class="layui-input" placeholder="yyyy-MM" type="text" /> |
| | | </td> |
| | | <td> |
| | | <a class="btn btn-default btn-outline" href="#" onclick="doSearch()"> |
| | | <i class="fa fa-search"></i> <span class="bold">æ¥è¯¢</span> |
| | | </a> |
| | | </td> |
| | | <td></td> |
| | | </tr> |
| | | </table> |
| | | |
| | | <script type="text/javascript"> |
| | | |
| | | |
| | | gridConfig = { multiselect: false, selectcol: "Id" }; |
| | | shrinkToFit = false; |
| | | footerrow = false; |
| | | |
| | | dataCol = [ |
| | | { label: 'åºå·', name: 'Id', labtype: 'txt', hidden: true }, |
| | | { label: 'åºå·', name: 'Islock', labtype: 'txt', hidden: true }, |
| | | { label: 'å·¥å·', name: 'Usernumber', labtype: 'txt', hidden: false, width: 100}, |
| | | { |
| | | label: 'å§å', name: 'UserName', labtype: 'txt', hidden: false, width: 100, |
| | | }, |
| | | { label: 'å·¥èµæä»½', name: 'YearMonth', labtype: 'txt', hidden: false, width: 100 }, |
| | | { |
| | | label: 'ç¶æ', name: 'IslockChs', labtype: 'txt', hidden: false, width: 100, formatter: function (cellvalue, options, rowObject) { |
| | | if (rowObject.Islock == 'S') { |
| | | return '<b style="color: red">' + cellvalue + '</b>'; |
| | | } else { |
| | | return cellvalue; |
| | | } |
| | | } |
| | | }, |
| | | { label: 'å·¥ä½é¨é¨', name: 'DeptName', labtype: 'txt', hidden: false, width: 120 }, |
| | | { label: 'åºæ¬å·¥èµ', name: 'Jibengongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'ä¿å¯è´¹', name: 'Baomifei', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å·¥ä½è¡¥è´´', name: 'Gongzuobutie', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å çå·¥èµ', name: 'Jiabangongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '社ä¿', name: 'Shebao', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'çµè¯è¡¥è´´', name: 'Dianhuabutie', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å
¨å¤å¥', name: 'Quanqinjiang', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '交é补贴', name: 'Jiaotngbutie', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'ç»©æææ', name: 'Jixiaoticheng', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å¥é', name: 'Jiangjin', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'è¡¥åå·¥èµ', name: 'Bufagongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å计', name: 'sum_fgz', labtype: 'txt', hidden: false, width: 100 }, |
| | | |
| | | { label: '个人社ä¿', name: 'Shebaokou', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '个ç¨', name: 'Geshui', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'çµè¯è´¹', name: 'Dianhuafei', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '缺å¤', name: 'Queqin', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'ç½æ¬¾', name: 'Fakuan', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'èµå¿', name: 'Peichang', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'çº é', name: 'Jiucuo', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å计', name: 'sum_kgz', labtype: 'txt', hidden: false, width: 100 }, |
| | | |
| | | { label: 'å°è´¦å·¥èµ', name: 'Daozhanggongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'é¢åå·¥èµ', name: 'Yufagongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'é¢åå·¥èµå计', name: 'Yufagongziheji', labtype: 'txt', hidden: false, width: 100 }, |
| | | |
| | | ]; |
| | | dataUrl = "/SalaryCheck/EmployeeSalary?month=" + getNowFormatDate(); |
| | | searchCol = []; |
| | | |
| | | $(function () { |
| | | |
| | | laydate.render({ |
| | | elem: '#acTime' |
| | | , type: 'month' |
| | | , value: getNowFormatDate() |
| | | }); |
| | | |
| | | $("#jqGridPager").hide();//éèdiv |
| | | |
| | | $("#jqGrid").closest(".ui-jqgrid-bdiv").css({ 'overflow-x': 'scroll' }); |
| | | |
| | | jQuery("#jqGrid").jqGrid('setGroupHeaders', { |
| | | useColSpanStyle: true, |
| | | groupHeaders: [ |
| | | { startColumnName: 'Jibengongzi', numberOfColumns: 12, titleText: 'åºåå·¥èµ' }, |
| | | { startColumnName: 'Shebaokou', numberOfColumns: 8, titleText: 'åºæ£å·¥èµ' } |
| | | ] |
| | | }); |
| | | jQuery("#jqGrid").jqGrid('setGridHeight', 150); |
| | | |
| | | }); |
| | | |
| | | |
| | | function getNowFormatDate() { |
| | | var date = new Date(); |
| | | var seperator1 = "-"; |
| | | var year = date.getFullYear(); |
| | | var month = date.getMonth() + 1; |
| | | var strDate = date.getDate(); |
| | | if (month >= 1 && month <= 9) { |
| | | month = "0" + month; |
| | | } |
| | | if (strDate >= 0 && strDate <= 9) { |
| | | strDate = "0" + strDate; |
| | | } |
| | | var currentdate = year + seperator1 + month;//+ seperator1 + strDate; |
| | | return currentdate; |
| | | } |
| | | |
| | | |
| | | function doSearch() { |
| | | |
| | | // $("#jqGrid").trigger('reloadGrid'); |
| | | $("#jqGrid").jqGrid('setGridParam', { |
| | | url: "/SalaryCheck/EmployeeSalary?month=" + $('#acTime').val() |
| | | }).trigger("reloadGrid"); |
| | | |
| | | } |
| | | |
| | | |
| | | function doQr() { |
| | | var dt = $("#jqGrid").getDataIDs(); |
| | | if (dt.length > 0) { |
| | | var lk = $("#jqGrid").getCell(dt, "Islock"); |
| | | if (lk == "Q") { |
| | | toastr.error("é误æç¤ºï¼æ¤æä»½å·²ç»è¿è¡è¿ç¡®è®¤æä½ï¼"); |
| | | } |
| | | else { |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "/SalaryCheck/SalaryCheckOk?id=" + dt, |
| | | dataType: "json", |
| | | global: false, |
| | | success: function (data) { |
| | | |
| | | if (data.Result) { |
| | | parent.layer.msg('设置æå', { icon: 6 }); |
| | | doSearch(); |
| | | } |
| | | else { |
| | | // toastr.error("失败"); |
| | | parent.layer.msg(data.Message, { icon: 5 }); |
| | | } |
| | | |
| | | }, |
| | | error: function () { |
| | | parent.layer.msg('失败', { icon: 5 }); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | else { |
| | | parent.layer.msg('æ å
容坿ä½', { icon: 5 }); |
| | | } |
| | | } |
| | | |
| | | |
| | | function doSs() { |
| | | var dt = $("#jqGrid").getDataIDs(); |
| | | if (dt.length > 0) { |
| | | var lk = $("#jqGrid").getCell(dt, "Islock"); |
| | | if (lk == "Q") { |
| | | toastr.error("é误æç¤ºï¼æ¤æä»½å·²å®æç¡®è®¤,ä¸è½ç³è¯ï¼"); |
| | | } |
| | | else { |
| | | OpenWindow('ç³è¯', '40%', '50%', '/SalaryCheck/Appeal?id=' + dt); |
| | | } |
| | | } |
| | | else { |
| | | parent.layer.msg('æ å
容坿ä½', { icon: 5 }); |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | |
| | | } |
| | | <div id="btnView" style="margin-top:15px;text-align:center"> |
| | | <table style="line-height:35px;width:100%"> |
| | | <tr> |
| | | <td width="40%"></td> |
| | | <td width="150"> |
| | | <a class="btn btn-default btn-outline" href="#" onclick="doQr()"> |
| | | <i class="fa fa-save"></i> <span class="bold">确认</span> |
| | | </a> |
| | | </td> |
| | | <td width="150"> |
| | | <a class="btn btn-default btn-outline" href="#" onclick="doSs()"> |
| | | <i class="fa fa-question"></i> <span class="bold">ç³è¯</span> |
| | | </a> |
| | | </td> |
| | | <td width="40%"></td> |
| | | </tr> |
| | | </table> |
| | | </div> |
New file |
| | |
| | | @{ |
| | | ViewBag.Title = "å·¥èµæ ¸å"; |
| | | Layout = "~/Views/Shared/_Layout_Search.cshtml"; |
| | | } |
| | | |
| | | <link href="~/css/jquery-confirm.css" rel="stylesheet"> |
| | | <script src="~/js/jquery-confirm.js" type="text/javascript"></script> |
| | | |
| | | @section headerStyle{ |
| | | |
| | | <script type="text/javascript"> |
| | | |
| | | var dept = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.dept))'; |
| | | |
| | | gridConfig = { multiselect: false, selectcol: "Id" }; |
| | | shrinkToFit = false; |
| | | footerrow = false; |
| | | |
| | | dataCol = [ |
| | | { label: 'åºå·', name: 'Id', labtype: 'txt', hidden: true }, |
| | | { label: 'å·¥å·', name: 'Usernumber', labtype: 'txt', hidden: false, width: 100}, |
| | | { |
| | | label: 'å§å', name: 'UserName', labtype: 'txt', hidden: false, width: 100, |
| | | formatter: function (cellvalue, options, rowObject) { |
| | | return "<a onclick=\"OpenWindow('å·¥èµæ ¸å','60%','55%', '/SalaryCheck/Edit?id=" + rowObject.Id + "')\" >" + cellvalue + "</a>"; |
| | | } |
| | | }, |
| | | { label: 'å·¥èµæä»½', name: 'YearMonth', labtype: 'txt', hidden: false, width: 100 }, |
| | | { |
| | | label: 'ç¶æ', name: 'IslockChs', labtype: 'txt', hidden: false, width: 100, formatter: function (cellvalue, options, rowObject) { |
| | | if (rowObject.Islock == 'S') { |
| | | return '<b style="color: red">' + cellvalue + '</b>'; |
| | | } else { |
| | | return cellvalue; |
| | | } |
| | | } |
| | | }, |
| | | { label: 'å·¥ä½é¨é¨', name: 'DeptName', labtype: 'txt', hidden: false, width: 120 }, |
| | | { label: 'åºæ¬å·¥èµ', name: 'Jibengongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'ä¿å¯è´¹', name: 'Baomifei', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å·¥ä½è¡¥è´´', name: 'Gongzuobutie', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å çå·¥èµ', name: 'Jiabangongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '社ä¿', name: 'Shebao', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'çµè¯è¡¥è´´', name: 'Dianhuabutie', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å
¨å¤å¥', name: 'Quanqinjiang', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '交é补贴', name: 'Jiaotngbutie', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'ç»©æææ', name: 'Jixiaoticheng', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å¥é', name: 'Jiangjin', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'è¡¥åå·¥èµ', name: 'Bufagongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å计', name: 'sum_fgz', labtype: 'txt', hidden: false, width: 100 }, |
| | | |
| | | { label: '个人社ä¿', name: 'Shebaokou', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '个ç¨', name: 'Geshui', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'çµè¯è´¹', name: 'Dianhuafei', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '缺å¤', name: 'Queqin', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'ç½æ¬¾', name: 'Fakuan', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'èµå¿', name: 'Peichang', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'çº é', name: 'Jiucuo', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å计', name: 'sum_kgz', labtype: 'txt', hidden: false, width: 100 }, |
| | | |
| | | { label: 'å°è´¦å·¥èµ', name: 'Daozhanggongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'é¢åå·¥èµ', name: 'Yufagongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'é¢åå·¥èµå计', name: 'Yufagongziheji', labtype: 'txt', hidden: false, width: 100 }, |
| | | ]; |
| | | dataUrl = "/SalaryCheck/GetList"; |
| | | searchCol = [ |
| | | { label: 'å·¥å·', name: 'Usernumber2', labtype: 'txt', hidden: false }, |
| | | { label: 'å·¥ä½é¨é¨', name: 'DeptId', labtype: 'combox', hidden: false, data: JSON.parse(dept) }, |
| | | { label: 'èå·¥å§å', name: 'UserName', labtype: 'txt', hidden: false }, |
| | | ]; |
| | | |
| | | $(function () { |
| | | |
| | | $("#jqGrid").closest(".ui-jqgrid-bdiv").css({ 'overflow-x': 'scroll' }); |
| | | |
| | | jQuery("#jqGrid").jqGrid('setGroupHeaders', { |
| | | useColSpanStyle: true, |
| | | groupHeaders: [ |
| | | { startColumnName: 'Jibengongzi', numberOfColumns: 12, titleText: 'åºåå·¥èµ' }, |
| | | { startColumnName: 'Shebaokou', numberOfColumns: 8, titleText: 'åºæ£å·¥èµ' } |
| | | ] |
| | | }); |
| | | |
| | | }); |
| | | |
| | | var _pageEdit = function () { |
| | | var id = jQuery("#jqGrid").jqGrid('getGridParam', 'selrow'); |
| | | if (id) { |
| | | OpenWindow('å·¥èµæ ¸å', '60%', '55%', '/SalaryCheck/Edit?id=' + id ); |
| | | } else { |
| | | toastr.error("请å
éä¸1æ¡è®°å½ï¼"); |
| | | } |
| | | }; |
| | | |
| | | var _afterSave = function (result) { |
| | | if (result) { |
| | | toastr.success("ä¿åæå"); |
| | | } else { |
| | | toastr.error("ä¿å失败"); |
| | | } |
| | | } |
| | | |
| | | var _afterDel = function (result) { |
| | | if (result) { |
| | | toastr.success("å 餿å"); |
| | | } else { |
| | | /**/ |
| | | toastr.error("å 餿å"); |
| | | /**/ |
| | | } |
| | | } |
| | | </script> |
| | | } |
New file |
| | |
| | | @{ |
| | | ViewBag.Title = "å·¥èµæ¥è¯¢"; |
| | | Layout = "~/Views/Shared/_Layout_Search.cshtml"; |
| | | } |
| | | |
| | | <link href="~/css/jquery-confirm.css" rel="stylesheet"> |
| | | <script src="~/js/jquery-confirm.js" type="text/javascript"></script> |
| | | |
| | | @section headerStyle{ |
| | | |
| | | <style type="text/css"> |
| | | /* |
| | | .form-control { |
| | | width:100px; |
| | | }*/ |
| | | |
| | | </style> |
| | | |
| | | <script type="text/javascript"> |
| | | |
| | | var dept = '@Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(ViewBag.dept))'; |
| | | |
| | | gridConfig = { multiselect: false, selectcol: "Id" }; |
| | | shrinkToFit = false; |
| | | footerrow = false; |
| | | |
| | | dataCol = [ |
| | | { label: 'åºå·', name: 'Id', labtype: 'txt', hidden: true }, |
| | | { label: 'å·¥å·', name: 'Usernumber', labtype: 'txt', hidden: false, width: 100}, |
| | | { |
| | | label: 'å§å', name: 'UserName', labtype: 'txt', hidden: false, width: 100, |
| | | }, |
| | | { label: 'å·¥èµæä»½', name: 'YearMonth', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å·¥ä½é¨é¨', name: 'DeptName', labtype: 'txt', hidden: false, width: 120 }, |
| | | { label: 'åºæ¬å·¥èµ', name: 'Jibengongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'ä¿å¯è´¹', name: 'Baomifei', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å·¥ä½è¡¥è´´', name: 'Gongzuobutie', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å çå·¥èµ', name: 'Jiabangongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '社ä¿', name: 'Shebao', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'çµè¯è¡¥è´´', name: 'Dianhuabutie', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å
¨å¤å¥', name: 'Quanqinjiang', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '交é补贴', name: 'Jiaotngbutie', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'ç»©æææ', name: 'Jixiaoticheng', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å¥é', name: 'Jiangjin', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'è¡¥åå·¥èµ', name: 'Bufagongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å计', name: 'sum_fgz', labtype: 'txt', hidden: false, width: 100 }, |
| | | |
| | | { label: '个人社ä¿', name: 'Shebaokou', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '个ç¨', name: 'Geshui', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'çµè¯è´¹', name: 'Dianhuafei', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: '缺å¤', name: 'Queqin', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'ç½æ¬¾', name: 'Fakuan', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'èµå¿', name: 'Peichang', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'çº é', name: 'Jiucuo', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'å计', name: 'sum_kgz', labtype: 'txt', hidden: false, width: 100 }, |
| | | |
| | | { label: 'å°è´¦å·¥èµ', name: 'Daozhanggongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'é¢åå·¥èµ', name: 'Yufagongzi', labtype: 'txt', hidden: false, width: 100 }, |
| | | { label: 'é¢åå·¥èµå计', name: 'Yufagongziheji', labtype: 'txt', hidden: false, width: 100 }, |
| | | { |
| | | label: 'ç¶æ', name: 'IslockChs', labtype: 'txt', hidden: false, width: 100, formatter: function (cellvalue, options, rowObject) { |
| | | if (rowObject.Islock == 'S') { |
| | | return '<b style="color: red">' + cellvalue + '</b>'; |
| | | } else { |
| | | return cellvalue; |
| | | } |
| | | } |
| | | }, |
| | | ]; |
| | | dataUrl = "/SalaryCheck/GetSearchList"; |
| | | searchCol = [ |
| | | { label: 'æ¶é´', name: 'searchDate', labtype: 'datearea', hidden: false }, |
| | | { label: 'é¨é¨', name: 'DeptId', labtype: 'combox', hidden: false, data: JSON.parse(dept) }, |
| | | { label: 'å§å', name: 'UserName', labtype: 'txt', hidden: false }, |
| | | { label: 'å·¥å·', name: 'Usernumber', labtype: 'txt', hidden: false }, |
| | | ]; |
| | | |
| | | $(function () { |
| | | |
| | | $("#PBSsearchDatestart").val('@ViewBag.stime'); |
| | | $("#PBSsearchDateend").val('@ViewBag.etime'); |
| | | |
| | | |
| | | $("#jqGrid").closest(".ui-jqgrid-bdiv").css({ 'overflow-x': 'scroll' }); |
| | | |
| | | jQuery("#jqGrid").jqGrid('setGroupHeaders', { |
| | | useColSpanStyle: true, |
| | | groupHeaders: [ |
| | | { startColumnName: 'Jibengongzi', numberOfColumns: 12, titleText: 'åºåå·¥èµ' }, |
| | | { startColumnName: 'Shebaokou', numberOfColumns: 8, titleText: 'åºæ£å·¥èµ' } |
| | | ] |
| | | }); |
| | | |
| | | }); |
| | | |
| | | var _pageEdit = function () { |
| | | var id = jQuery("#jqGrid").jqGrid('getGridParam', 'selrow'); |
| | | if (id) { |
| | | OpenWindow('å·¥èµæ ¸å', '50%', '60%', '/SalaryCheck/Edit?id=' + id ); |
| | | } else { |
| | | toastr.error("请å
éä¸1æ¡è®°å½ï¼"); |
| | | } |
| | | }; |
| | | |
| | | var _afterSave = function (result) { |
| | | if (result) { |
| | | toastr.success("ä¿åæå"); |
| | | } else { |
| | | toastr.error("ä¿å失败"); |
| | | } |
| | | } |
| | | |
| | | var _afterDel = function (result) { |
| | | if (result) { |
| | | toastr.success("å 餿å"); |
| | | } else { |
| | | /**/ |
| | | toastr.error("å 餿å"); |
| | | /**/ |
| | | } |
| | | } |
| | | </script> |
| | | } |
New file |
| | |
| | | /*! layDate v5.3.1 | æ¥æä¸æ¶é´ç»ä»¶ | MIT Licensed */ |
| | | ;!function(e){"use strict";var t=e.document,n={modules:{},status:{},timeout:10,event:{}},a=function(){this.v="2.6.7"},r=e.LAYUI_GLOBAL||{},i=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,n=t.scripts,a=n.length-1,r=a;r>0;r--)if("interactive"===n[r].readyState){e=n[r].src;break}return e||n[a].src}();return n.dir=r.dir||e.substring(0,e.lastIndexOf("/")+1)}(),o=function(t,n){n=n||"log",e.console&&console[n]&&console[n]("layui error hint: "+t)},l="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),s=n.builtin={lay:"lay",layer:"layer",laydate:"laydate",laypage:"laypage",laytpl:"laytpl",layedit:"layedit",form:"form",upload:"upload",dropdown:"dropdown",transfer:"transfer",tree:"tree",table:"table",element:"element",rate:"rate",colorpicker:"colorpicker",slider:"slider",carousel:"carousel",flow:"flow",util:"util",code:"code",jquery:"jquery",all:"all","layui.all":"layui.all"};a.prototype.cache=n,a.prototype.define=function(e,t){var a=this,r="function"==typeof e,i=function(){var e=function(e,t){u[e]=t,n.status[e]=!0};return"function"==typeof t&&t(function(a,r){e(a,r),n.callback[a]=function(){t(e)}}),this};return r&&(t=e,e=[]),a.use(e,i,null,"define"),a},a.prototype.use=function(a,r,c,y){function d(e,t){var a="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||a.test((e.currentTarget||e.srcElement).readyState))&&(n.modules[g]=t,p.removeChild(w),function r(){return++v>1e3*n.timeout/4?o(g+" is not a valid module","error"):void(n.status[g]?m():setTimeout(r,4))}())}function m(){c.push(u[g]),a.length>1?f.use(a.slice(1),r,c,y):"function"==typeof r&&function(){return u.jquery&&"function"==typeof u.jquery&&"define"!==y?u.jquery(function(){r.apply(u,c)}):void r.apply(u,c)}()}var f=this,h=n.dir=n.dir?n.dir:i,p=t.getElementsByTagName("head")[0];a=function(){return"string"==typeof a?[a]:"function"==typeof a?(r=a,["all"]):a}(),e.jQuery&&jQuery.fn.on&&(f.each(a,function(e,t){"jquery"===t&&a.splice(e,1)}),u.jquery=u.$=jQuery);var g=a[0],v=0;if(c=c||[],n.host=n.host||(h.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===a.length||u["layui.all"]&&s[g])return m(),f;var T=(s[g]?h+"modules/":/^\{\/\}/.test(f.modules[g])?"":n.base||"")+(f.modules[g]||g)+".js";if(T=T.replace(/^\{\/\}/,""),!n.modules[g]&&u[g]&&(n.modules[g]=T),n.modules[g])!function D(){return++v>1e3*n.timeout/4?o(g+" is not a valid module","error"):void("string"==typeof n.modules[g]&&n.status[g]?m():setTimeout(D,4))}();else{var w=t.createElement("script");w.async=!0,w.charset="utf-8",w.src=T+function(){var e=n.version===!0?n.v||(new Date).getTime():n.version||"";return e?"?v="+e:""}(),p.appendChild(w),!w.attachEvent||w.attachEvent.toString&&w.attachEvent.toString().indexOf("[native code")<0||l?w.addEventListener("load",function(e){d(e,T)},!1):w.attachEvent("onreadystatechange",function(e){d(e,T)}),n.modules[g]=T}return f},a.prototype.getStyle=function(t,n){var a=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return a[a.getPropertyValue?"getPropertyValue":"getAttribute"](n)},a.prototype.link=function(e,a,r){var i=this,l=t.getElementsByTagName("head")[0],s=t.createElement("link");"string"==typeof a&&(r=a);var c=(r||e).replace(/\.|\//g,""),u=s.id="layuicss-"+c,y="creating",d=0;return s.rel="stylesheet",s.href=e+(n.debug?"?v="+(new Date).getTime():""),s.media="all",t.getElementById(u)||l.appendChild(s),"function"!=typeof a?i:(function m(r){var l=100,s=t.getElementById(u);return++d>1e3*n.timeout/l?o(e+" timeout"):void(1989===parseInt(i.getStyle(s,"width"))?(r===y&&s.removeAttribute("lay-status"),s.getAttribute("lay-status")===y?setTimeout(m,l):a()):(s.setAttribute("lay-status",y),setTimeout(function(){m(y)},l)))}(),i)},a.prototype.addcss=function(e,t,a){return u.link(n.dir+"css/"+e,t,a)},n.callback={},a.prototype.factory=function(e){if(u[e])return"function"==typeof n.callback[e]?n.callback[e]:null},a.prototype.img=function(e,t,n){var a=new Image;return a.src=e,a.complete?t(a):(a.onload=function(){a.onload=null,"function"==typeof t&&t(a)},void(a.onerror=function(e){a.onerror=null,"function"==typeof n&&n(e)}))},a.prototype.config=function(e){e=e||{};for(var t in e)n[t]=e[t];return this},a.prototype.modules=function(){var e={};for(var t in s)e[t]=s[t];return e}(),a.prototype.extend=function(e){var t=this;e=e||{};for(var n in e)t[n]||t.modules[n]?o(n+" Module already exists","error"):t.modules[n]=e[n];return t},a.prototype.router=function(e){var t=this,e=e||location.hash,n={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),n.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),n.search[t[0]]=t[1]}():n.path.push(t)}),n):n},a.prototype.url=function(e){var t=this,n={pathname:function(){var t=e?function(){var t=(e.match(/\.[^.]+?\/.+/)||[])[0]||"";return t.replace(/^[^\/]+/,"").replace(/\?.+/,"")}():location.pathname;return t.replace(/^\//,"").split("/")}(),search:function(){var n={},a=(e?function(){var t=(e.match(/\?.+/)||[])[0]||"";return t.replace(/\#.+/,"")}():location.search).replace(/^\?+/,"").split("&");return t.each(a,function(e,t){var a=t.indexOf("="),r=function(){return a<0?t.substr(0,t.length):0!==a&&t.substr(0,a)}();r&&(n[r]=a>0?t.substr(a+1):null)}),n}(),hash:t.router(function(){return e?(e.match(/#.+/)||[])[0]||"/":location.hash}())};return n},a.prototype.data=function(t,n,a){if(t=t||"layui",a=a||localStorage,e.JSON&&e.JSON.parse){if(null===n)return delete a[t];n="object"==typeof n?n:{key:n};try{var r=JSON.parse(a[t])}catch(i){var r={}}return"value"in n&&(r[n.key]=n.value),n.remove&&delete r[n.key],a[t]=JSON.stringify(r),n.key?r[n.key]:r}},a.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},a.prototype.device=function(t){var n=navigator.userAgent.toLowerCase(),a=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(n.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(n)?"windows":/linux/.test(n)?"linux":/iphone|ipod|ipad|ios/.test(n)?"ios":/mac/.test(n)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((n.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:a("micromessenger")};return t&&!r[t]&&(r[t]=a(t)),r.android=/android/.test(n),r.ios="ios"===r.os,r.mobile=!(!r.android&&!r.ios),r},a.prototype.hint=function(){return{error:o}},a.prototype._typeof=function(e){return null===e?String(e):"object"==typeof e||"function"==typeof e?function(){var t=Object.prototype.toString.call(e).match(/\s(.+)\]$/)||[],n="Function|Array|Date|RegExp|Object|Error|Symbol";return t=t[1]||"Object",new RegExp("\\b("+n+")\\b").test(t)?t.toLowerCase():"object"}():typeof e},a.prototype._isArray=function(t){var n,a=this,r=a._typeof(t);return!(!t||"object"!=typeof t||t===e)&&(n="length"in t&&t.length,"array"===r||0===n||"number"==typeof n&&n>0&&n-1 in t)},a.prototype.each=function(e,t){var n,a=this,r=function(e,n){return t.call(n[e],e,n[e])};if("function"!=typeof t)return a;if(e=e||[],a._isArray(e))for(n=0;n<e.length&&!r(n,e);n++);else for(n in e)if(r(n,e))break;return a},a.prototype.sort=function(e,t,n){var a=JSON.parse(JSON.stringify(e||[]));return t?(a.sort(function(e,n){var a=/^-?\d+$/,r=e[t],i=n[t];return a.test(r)&&(r=parseFloat(r)),a.test(i)&&(i=parseFloat(i)),r-i}),n&&a.reverse(),a):a},a.prototype.stope=function(t){t=t||e.event;try{t.stopPropagation()}catch(n){t.cancelBubble=!0}};var c="LAYUI-EVENT-REMOVE";a.prototype.onevent=function(e,t,n){return"string"!=typeof e||"function"!=typeof n?this:a.event(e,t,null,n)},a.prototype.event=a.event=function(e,t,a,r){var i=this,o=null,l=(t||"").match(/\((.*)\)$/)||[],s=(e+"."+t).replace(l[0],""),y=l[1]||"",d=function(e,t){var n=t&&t.call(i,a);n===!1&&null===o&&(o=!1)};return a===c?(delete(i.cache.event[s]||{})[y],i):r?(n.event[s]=n.event[s]||{},n.event[s][y]=[r],this):(u.each(n.event[s],function(e,t){return"{*}"===y?void u.each(t,d):(""===e&&u.each(t,d),void(y&&e===y&&u.each(t,d)))}),o)},a.prototype.on=function(e,t,n){var a=this;return a.onevent.call(a,t,e,n)},a.prototype.off=function(e,t){var n=this;return n.event.call(n,t,e,c)};var u=new a,y="lay",d=window.document,m=function(e){return new f(e)},f=function(e){for(var t=0,n="object"==typeof e?[e]:(this.selector=e,d.querySelectorAll(e||null));t<n.length;t++)this.push(n[t])};f.prototype=[],f.prototype.constructor=f,m.extend=function(){var e=1,t=arguments,n=function(e,t){e=e||(t.constructor===Array?[]:{});for(var a in t)e[a]=t[a]&&t[a].constructor===Object?n(e[a],t[a]):t[a];return e};for(t[0]="object"==typeof t[0]?t[0]:{};e<t.length;e++)"object"==typeof t[e]&&n(t[0],t[e]);return t[0]},m.v="1.0.7",m.ie=function(){var e=navigator.userAgent.toLowerCase();return!!(window.ActiveXObject||"ActiveXObject"in window)&&((e.match(/msie\s(\d+)/)||[])[1]||"11")}(),m.layui=u,m.getPath=u.cache.dir,m.stope=u.stope,m.each=function(){return u.each.apply(u,arguments),this},m.digit=function(e,t,n){var a="";e=String(e),t=t||2;for(var r=e.length;r<t;r++)a+="0";return e<Math.pow(10,t)?a+(0|e):e},m.elem=function(e,t){var n=d.createElement(e);return m.each(t||{},function(e,t){n.setAttribute(e,t)}),n},m.hasScrollbar=function(){return d.body.scrollHeight>(window.innerHeight||d.documentElement.clientHeight)},m.position=function(e,t,n){if(t){n=n||{},e!==d&&e!==m("body")[0]||(n.clickType="right");var a="right"===n.clickType?function(){var e=n.e||window.event||{};return{left:e.clientX,top:e.clientY,right:e.clientX,bottom:e.clientY}}():e.getBoundingClientRect(),r=t.offsetWidth,i=t.offsetHeight,o=function(e){return e=e?"scrollLeft":"scrollTop",d.body[e]|d.documentElement[e]},l=function(e){return d.documentElement[e?"clientWidth":"clientHeight"]},s=5,c=a.left,u=a.bottom;c+r+s>l("width")&&(c=l("width")-r-s),u+i+s>l()&&(a.top>i+s?u=a.top-i-2*s:"right"===n.clickType&&(u=l()-i-2*s,u<0&&(u=0)));var y=n.position;if(y&&(t.style.position=y),t.style.left=c+("fixed"===y?0:o(1))+"px",t.style.top=u+("fixed"===y?0:o())+"px",!m.hasScrollbar()){var f=t.getBoundingClientRect();!n.SYSTEM_RELOAD&&f.bottom+s>l()&&(n.SYSTEM_RELOAD=!0,setTimeout(function(){m.position(e,t,n)},50))}}},m.options=function(e,t){var n=m(e),a=t||"lay-options";try{return new Function("return "+(n.attr(a)||"{}"))()}catch(r){return hint.error("parseerror\uff1a"+r,"error"),{}}},m.isTopElem=function(e){var t=[d,m("body")[0]],n=!1;return m.each(t,function(t,a){if(a===e)return n=!0}),n},f.addStr=function(e,t){return e=e.replace(/\s+/," "),t=t.replace(/\s+/," ").split(" "),m.each(t,function(t,n){new RegExp("\\b"+n+"\\b").test(e)||(e=e+" "+n)}),e.replace(/^\s|\s$/,"")},f.removeStr=function(e,t){return e=e.replace(/\s+/," "),t=t.replace(/\s+/," ").split(" "),m.each(t,function(t,n){var a=new RegExp("\\b"+n+"\\b");a.test(e)&&(e=e.replace(a,""))}),e.replace(/\s+/," ").replace(/^\s|\s$/,"")},f.prototype.find=function(e){var t=this,n=0,a=[],r="object"==typeof e;return this.each(function(i,o){for(var l=r?o.contains(e):o.querySelectorAll(e||null);n<l.length;n++)a.push(l[n]);t.shift()}),r||(t.selector=(t.selector?t.selector+" ":"")+e),m.each(a,function(e,n){t.push(n)}),t},f.prototype.each=function(e){return m.each.call(this,this,e)},f.prototype.addClass=function(e,t){return this.each(function(n,a){a.className=f[t?"removeStr":"addStr"](a.className,e)})},f.prototype.removeClass=function(e){return this.addClass(e,!0)},f.prototype.hasClass=function(e){var t=!1;return this.each(function(n,a){new RegExp("\\b"+e+"\\b").test(a.className)&&(t=!0)}),t},f.prototype.css=function(e,t){var n=this,a=function(e){return isNaN(e)?e:e+"px"};return"string"==typeof e&&void 0===t?function(){if(n.length>0)return n[0].style[e]}():n.each(function(n,r){"object"==typeof e?m.each(e,function(e,t){r.style[e]=a(t)}):r.style[e]=a(t)})},f.prototype.width=function(e){var t=this;return void 0===e?function(){if(t.length>0)return t[0].offsetWidth}():t.each(function(n,a){t.css("width",e)})},f.prototype.height=function(e){var t=this;return void 0===e?function(){if(t.length>0)return t[0].offsetHeight}():t.each(function(n,a){t.css("height",e)})},f.prototype.attr=function(e,t){var n=this;return void 0===t?function(){if(n.length>0)return n[0].getAttribute(e)}():n.each(function(n,a){a.setAttribute(e,t)})},f.prototype.removeAttr=function(e){return this.each(function(t,n){n.removeAttribute(e)})},f.prototype.html=function(e){var t=this;return void 0===e?function(){if(t.length>0)return t[0].innerHTML}():this.each(function(t,n){n.innerHTML=e})},f.prototype.val=function(e){var t=this;return void 0===e?function(){if(t.length>0)return t[0].value}():this.each(function(t,n){n.value=e})},f.prototype.append=function(e){return this.each(function(t,n){"object"==typeof e?n.appendChild(e):n.innerHTML=n.innerHTML+e})},f.prototype.remove=function(e){return this.each(function(t,n){e?n.removeChild(e):n.parentNode.removeChild(n)})},f.prototype.on=function(e,t){return this.each(function(n,a){a.attachEvent?a.attachEvent("on"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1)})},f.prototype.off=function(e,t){return this.each(function(n,a){a.detachEvent?a.detachEvent("on"+e,t):a.removeEventListener(e,t,!1)})},window.lay=m,window.layui&&u.define&&u.define(function(e){e(y,m)})}(window,window.document),!function(e,t){"use strict";var n=e.layui&&layui.define,a={getPath:e.lay&&lay.getPath?lay.getPath:"",link:function(t,n,a){i.path&&e.lay&&lay.layui&&lay.layui.link(i.path+t,n,a)}},r=e.LAYUI_GLOBAL||{},i={v:"5.3.1",config:{},index:e.laydate&&e.laydate.v?1e5:0,path:r.laydate_dir||a.getPath,set:function(e){var t=this;return t.config=lay.extend({},t.config,e),t},ready:function(e){var t="laydate",r="",o=(n?"modules/laydate/":"theme/")+"default/laydate.css?v="+i.v+r;return n?layui.addcss(o,e,t):a.link(o,e,t),this}},o=function(){var e=this,t=e.config,n=t.id;return o.that[n]=e,{hint:function(t){e.hint.call(e,t)},config:e.config}},l="laydate",s=".layui-laydate",c="layui-this",u="laydate-disabled",y=[100,2e5],d="layui-laydate-static",m="layui-laydate-list",f="layui-laydate-hint",h="layui-laydate-footer",p=".laydate-btns-confirm",g="laydate-time-text",v="laydate-btns-time",T="layui-laydate-preview",w=function(e){var t=this;t.index=++i.index,t.config=lay.extend({},t.config,i.config,e),e=t.config,e.id="id"in e?e.id:t.index,i.ready(function(){t.init()})},D="yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s";o.formatArr=function(e){return(e||"").match(new RegExp(D+"|.","g"))||[]},w.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},w.prototype.config={type:"date",range:!1,format:"yyyy-MM-dd",value:null,isInitValue:!0,min:"1900-1-1",max:"2099-12-31",trigger:"click",show:!1,showBottom:!0,isPreview:!0,btns:["clear","now","confirm"],lang:"cn",theme:"default",position:null,calendar:!1,mark:{},zIndex:null,done:null,change:null},w.prototype.lang=function(){var e=this,t=e.config,n={cn:{weeks:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d"],time:["\u65f6","\u5206","\u79d2"],timeTips:"\u9009\u62e9\u65f6\u95f4",startTime:"\u5f00\u59cb\u65f6\u95f4",endTime:"\u7ed3\u675f\u65f6\u95f4",dateTips:"\u8fd4\u56de\u65e5\u671f",month:["\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u5341\u4e00","\u5341\u4e8c"],tools:{confirm:"\u786e\u5b9a",clear:"\u6e05\u7a7a",now:"\u73b0\u5728"},timeout:"\u7ed3\u675f\u65f6\u95f4\u4e0d\u80fd\u65e9\u4e8e\u5f00\u59cb\u65f6\u95f4<br>\u8bf7\u91cd\u65b0\u9009\u62e9",invalidDate:"\u4e0d\u5728\u6709\u6548\u65e5\u671f\u6216\u65f6\u95f4\u8303\u56f4\u5185",formatError:["\u65e5\u671f\u683c\u5f0f\u4e0d\u5408\u6cd5<br>\u5fc5\u987b\u9075\u5faa\u4e0b\u8ff0\u683c\u5f0f\uff1a<br>","<br>\u5df2\u4e3a\u4f60\u91cd\u7f6e"],preview:"\u5f53\u524d\u9009\u4e2d\u7684\u7ed3\u679c"},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"},timeout:"End time cannot be less than start Time<br>Please re-select",invalidDate:"Invalid date",formatError:["The date format error<br>Must be followed\uff1a<br>","<br>It has been reset"],preview:"The selected result"}};return n[t.lang]||n.cn},w.prototype.init=function(){var t=this,n=t.config,a="static"===n.position,r={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};n.elem=lay(n.elem),n.eventElem=lay(n.eventElem),n.elem[0]&&(t.rangeStr=n.range?"string"==typeof n.range?n.range:"-":"",n.range&&n.range.constructor===Array&&(t.rangeElem=[lay(n.range[0]),lay(n.range[1])]),r[n.type]||(e.console&&console.error&&console.error("laydate type error:'"+n.type+"' is not supported"),n.type="date"),n.format===r.date&&(n.format=r[n.type]||r.date),t.format=o.formatArr(n.format),t.EXP_IF="",t.EXP_SPLIT="",lay.each(t.format,function(e,n){var a=new RegExp(D).test(n)?"\\d{"+function(){return new RegExp(D).test(t.format[0===e?e+1:e-1]||"")?/^yyyy|y$/.test(n)?4:n.length:/^yyyy$/.test(n)?"1,4":/^y$/.test(n)?"1,308":"1,2"}()+"}":"\\"+n;t.EXP_IF=t.EXP_IF+a,t.EXP_SPLIT=t.EXP_SPLIT+"("+a+")"}),t.EXP_IF_ONE=new RegExp("^"+t.EXP_IF+"$"),t.EXP_IF=new RegExp("^"+(n.range?t.EXP_IF+"\\s\\"+t.rangeStr+"\\s"+t.EXP_IF:t.EXP_IF)+"$"),t.EXP_SPLIT=new RegExp("^"+t.EXP_SPLIT+"$",""),t.isInput(n.elem[0])||"focus"===n.trigger&&(n.trigger="click"),n.elem.attr("lay-key")||(n.elem.attr("lay-key",t.index),n.eventElem.attr("lay-key",t.index)),n.mark=lay.extend({},n.calendar&&"cn"===n.lang?{"0-1-1":"\u5143\u65e6","0-2-14":"\u60c5\u4eba","0-3-8":"\u5987\u5973","0-3-12":"\u690d\u6811","0-4-1":"\u611a\u4eba","0-5-1":"\u52b3\u52a8","0-5-4":"\u9752\u5e74","0-6-1":"\u513f\u7ae5","0-9-10":"\u6559\u5e08","0-9-18":"\u56fd\u803b","0-10-1":"\u56fd\u5e86","0-12-25":"\u5723\u8bde"}:{},n.mark),lay.each(["min","max"],function(e,t){var a=[],r=[];if("number"==typeof n[t]){var i=n[t],o=(new Date).getTime(),l=864e5,s=new Date(i?i<l?o+i*l:i:o);a=[s.getFullYear(),s.getMonth()+1,s.getDate()],i<l||(r=[s.getHours(),s.getMinutes(),s.getSeconds()])}else a=(n[t].match(/\d+-\d+-\d+/)||[""])[0].split("-"),r=(n[t].match(/\d+:\d+:\d+/)||[""])[0].split(":");n[t]={year:0|a[0]||(new Date).getFullYear(),month:a[1]?(0|a[1])-1:(new Date).getMonth(),date:0|a[2]||(new Date).getDate(),hours:0|r[0],minutes:0|r[1],seconds:0|r[2]}}),t.elemID="layui-laydate"+n.elem.attr("lay-key"),(n.show||a)&&t.render(),a||t.events(),n.value&&n.isInitValue&&(n.value.constructor===Date?t.setValue(t.parse(0,t.systemDate(n.value))):t.setValue(n.value)))},w.prototype.render=function(){var e=this,n=e.config,a=e.lang(),r="static"===n.position,o=e.elem=lay.elem("div",{id:e.elemID,"class":["layui-laydate",n.range?" layui-laydate-range":"",r?" "+d:"",n.theme&&"default"!==n.theme&&!/^#/.test(n.theme)?" laydate-theme-"+n.theme:""].join("")}),l=e.elemMain=[],s=e.elemHeader=[],c=e.elemCont=[],u=e.table=[],y=e.footer=lay.elem("div",{"class":h});if(n.zIndex&&(o.style.zIndex=n.zIndex),lay.each(new Array(2),function(e){if(!n.range&&e>0)return!0;var t=lay.elem("div",{"class":"layui-laydate-header"}),r=[function(){var e=lay.elem("i",{"class":"layui-icon laydate-icon laydate-prev-y"});return e.innerHTML="",e}(),function(){var e=lay.elem("i",{"class":"layui-icon laydate-icon laydate-prev-m"});return e.innerHTML="",e}(),function(){var e=lay.elem("div",{"class":"laydate-set-ym"}),t=lay.elem("span"),n=lay.elem("span");return e.appendChild(t),e.appendChild(n),e}(),function(){var e=lay.elem("i",{"class":"layui-icon laydate-icon laydate-next-m"});return e.innerHTML="",e}(),function(){var e=lay.elem("i",{"class":"layui-icon laydate-icon laydate-next-y"});return e.innerHTML="",e}()],i=lay.elem("div",{"class":"layui-laydate-content"}),o=lay.elem("table"),y=lay.elem("thead"),d=lay.elem("tr");lay.each(r,function(e,n){t.appendChild(n)}),y.appendChild(d),lay.each(new Array(6),function(e){var t=o.insertRow(0);lay.each(new Array(7),function(n){if(0===e){var r=lay.elem("th");r.innerHTML=a.weeks[n],d.appendChild(r)}t.insertCell(n)})}),o.insertBefore(y,o.children[0]),i.appendChild(o),l[e]=lay.elem("div",{"class":"layui-laydate-main laydate-main-list-"+e}),l[e].appendChild(t),l[e].appendChild(i),s.push(r),c.push(i),u.push(o)}),lay(y).html(function(){var e=[],t=[];return"datetime"===n.type&&e.push('<span lay-type="datetime" class="'+v+'">'+a.timeTips+"</span>"),(n.range||"datetime"!==n.type)&&e.push('<span class="'+T+'" title="'+a.preview+'"></span>'),lay.each(n.btns,function(e,i){var o=a.tools[i]||"btn";n.range&&"now"===i||(r&&"clear"===i&&(o="cn"===n.lang?"\u91cd\u7f6e":"Reset"),t.push('<span lay-type="'+i+'" class="laydate-btns-'+i+'">'+o+"</span>"))}),e.push('<div class="laydate-footer-btns">'+t.join("")+"</div>"),e.join("")}()),lay.each(l,function(e,t){o.appendChild(t)}),n.showBottom&&o.appendChild(y),/^#/.test(n.theme)){var m=lay.elem("style"),f=["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} .layui-this{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,e.elemID).replace(/{{theme}}/g,n.theme);"styleSheet"in m?(m.setAttribute("type","text/css"),m.styleSheet.cssText=f):m.innerHTML=f,lay(o).addClass("laydate-theme-molv"),o.appendChild(m)}i.thisId=n.id,e.remove(w.thisElemDate),r?n.elem.append(o):(t.body.appendChild(o),e.position()),e.checkDate().calendar(null,0,"init"),e.changeEvent(),w.thisElemDate=e.elemID,"function"==typeof n.ready&&n.ready(lay.extend({},n.dateTime,{month:n.dateTime.month+1})),e.preview()},w.prototype.remove=function(e){var t=this,n=(t.config,lay("#"+(e||t.elemID)));return n[0]?(n.hasClass(d)||t.checkDate(function(){n.remove()}),t):t},w.prototype.position=function(){var e=this,t=e.config;return lay.position(e.bindElem||t.elem[0],e.elem,{position:t.position}),e},w.prototype.hint=function(e){var t=this,n=(t.config,lay.elem("div",{"class":f}));t.elem&&(n.innerHTML=e||"",lay(t.elem).find("."+f).remove(),t.elem.appendChild(n),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){lay(t.elem).find("."+f).remove()},3e3))},w.prototype.getAsYM=function(e,t,n){return n?t--:t++,t<0&&(t=11,e--),t>11&&(t=0,e++),[e,t]},w.prototype.systemDate=function(e){var t=e||new Date;return{year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),hours:e?e.getHours():0,minutes:e?e.getMinutes():0,seconds:e?e.getSeconds():0}},w.prototype.checkDate=function(e){var t,n,a=this,r=(new Date,a.config),o=a.lang(),l=r.dateTime=r.dateTime||a.systemDate(),s=a.bindElem||r.elem[0],c=(a.isInput(s)?"val":"html",function(){if(a.rangeElem){var e=[a.rangeElem[0].val(),a.rangeElem[1].val()];if(e[0]&&e[1])return e.join(" "+a.rangeStr+" ")}return a.isInput(s)?s.value:"static"===r.position?"":lay(s).attr("lay-date")}()),u=function(e){e.year>y[1]&&(e.year=y[1],n=!0),e.month>11&&(e.month=11,n=!0),e.hours>23&&(e.hours=0,n=!0),e.minutes>59&&(e.minutes=0,e.hours++,n=!0),e.seconds>59&&(e.seconds=0,e.minutes++,n=!0),t=i.getEndDate(e.month+1,e.year),e.date>t&&(e.date=t,n=!0)},d=function(e,t,i){var o=["startTime","endTime"];t=(t.match(a.EXP_SPLIT)||[]).slice(1),i=i||0,r.range&&(a[o[i]]=a[o[i]]||{}),lay.each(a.format,function(l,s){var c=parseFloat(t[l]);t[l].length<s.length&&(n=!0),/yyyy|y/.test(s)?(c<y[0]&&(c=y[0],n=!0),e.year=c):/MM|M/.test(s)?(c<1&&(c=1,n=!0),e.month=c-1):/dd|d/.test(s)?(c<1&&(c=1,n=!0),e.date=c):/HH|H/.test(s)?(c<1&&(c=0,n=!0),e.hours=c,r.range&&(a[o[i]].hours=c)):/mm|m/.test(s)?(c<1&&(c=0,n=!0),e.minutes=c,r.range&&(a[o[i]].minutes=c)):/ss|s/.test(s)&&(c<1&&(c=0,n=!0),e.seconds=c,r.range&&(a[o[i]].seconds=c))}),u(e)};if("limit"===e)return u(l),a;c=c||r.value,"string"==typeof c&&(c=c.replace(/\s+/g," ").replace(/^\s|\s$/g,""));var m=function(){r.range&&(a.endDate=a.endDate||lay.extend({},r.dateTime,function(){var e={},t=r.dateTime,n=a.getAsYM(t.year,t.month);return"year"===r.type?e.year=t.year+1:"time"!==r.type&&(e.year=n[0],e.month=n[1]),"datetime"!==r.type&&"time"!==r.type||(e.hours=23,e.minutes=e.seconds=59),e}()))};m(),"string"==typeof c&&c?a.EXP_IF.test(c)?r.range?(c=c.split(" "+a.rangeStr+" "),lay.each([r.dateTime,a.endDate],function(e,t){d(t,c[e],e)})):d(l,c):(a.hint(o.formatError[0]+(r.range?r.format+" "+a.rangeStr+" "+r.format:r.format)+o.formatError[1]),n=!0):c&&c.constructor===Date?r.dateTime=a.systemDate(c):(r.dateTime=a.systemDate(),delete a.startTime,delete a.endDate,m(),delete a.endTime),function(){if(a.rangeElem){var e=[a.rangeElem[0].val(),a.rangeElem[1].val()],t=[r.dateTime,a.endDate];lay.each(e,function(e,n){a.EXP_IF_ONE.test(n)&&d(t[e],n,e)})}}(),u(l),r.range&&u(a.endDate),n&&c&&a.setValue(r.range?a.endDate?a.parse():"":a.parse());var f=function(e){return a.newDate(e).getTime()};return(f(l)>f(r.max)||f(l)<f(r.min))&&(l=r.dateTime=lay.extend({},r.min)),r.range&&(f(a.endDate)<f(r.min)||f(a.endDate)>f(r.max))&&(a.endDate=lay.extend({},r.max)),e&&e(),a},w.prototype.mark=function(e,t){var n,a=this,r=a.config;return lay.each(r.mark,function(e,a){var r=e.split("-");r[0]!=t[0]&&0!=r[0]||r[1]!=t[1]&&0!=r[1]||r[2]!=t[2]||(n=a||t[2])}),n&&e.html('<span class="laydate-day-mark">'+n+"</span>"),a},w.prototype.limit=function(e,t,n,a){var r,i=this,o=i.config,l={},s=o[n>41?"endDate":"dateTime"],c=lay.extend({},s,t||{});return lay.each({now:c,min:o.min,max:o.max},function(e,t){l[e]=i.newDate(lay.extend({year:t.year,month:t.month,date:t.date},function(){var e={};return lay.each(a,function(n,a){e[a]=t[a]}),e}())).getTime()}),r=l.now<l.min||l.now>l.max,e&&e[r?"addClass":"removeClass"](u),r},w.prototype.thisDateTime=function(e){var t=this,n=t.config;return e?t.endDate:n.dateTime},w.prototype.calendar=function(e,t,n){var a,r,o,l=this,s=l.config,t=t?1:0,u=e||l.thisDateTime(t),d=new Date,m=l.lang(),f="date"!==s.type&&"datetime"!==s.type,h=lay(l.table[t]).find("td"),g=lay(l.elemHeader[t][2]).find("span");return u.year<y[0]&&(u.year=y[0],l.hint(m.invalidDate)),u.year>y[1]&&(u.year=y[1],l.hint(m.invalidDate)),l.firstDate||(l.firstDate=lay.extend({},u)),d.setFullYear(u.year,u.month,1),a=d.getDay(),r=i.getEndDate(u.month||12,u.year),o=i.getEndDate(u.month+1,u.year),lay.each(h,function(e,t){var n=[u.year,u.month],i=0;t=lay(t),t.removeAttr("class"),e<a?(i=r-a+e,t.addClass("laydate-day-prev"),n=l.getAsYM(u.year,u.month,"sub")):e>=a&&e<o+a?(i=e-a,i+1===u.date&&t.addClass(c)):(i=e-o-a,t.addClass("laydate-day-next"),n=l.getAsYM(u.year,u.month)),n[1]++,n[2]=i+1,t.attr("lay-ymd",n.join("-")).html(n[2]),l.mark(t,n).limit(t,{year:n[0],month:n[1]-1,date:n[2]},e)}),lay(g[0]).attr("lay-ym",u.year+"-"+(u.month+1)),lay(g[1]).attr("lay-ym",u.year+"-"+(u.month+1)),"cn"===s.lang?(lay(g[0]).attr("lay-type","year").html(u.year+" \u5e74"),lay(g[1]).attr("lay-type","month").html(u.month+1+" \u6708")):(lay(g[0]).attr("lay-type","month").html(m.month[u.month]),lay(g[1]).attr("lay-type","year").html(u.year)),f&&(s.range?e&&(l.listYM=[[s.dateTime.year,s.dateTime.month+1],[l.endDate.year,l.endDate.month+1]],l.list(s.type,0).list(s.type,1),"time"===s.type?l.setBtnStatus("\u65f6\u95f4",lay.extend({},l.systemDate(),l.startTime),lay.extend({},l.systemDate(),l.endTime)):l.setBtnStatus(!0)):(l.listYM=[[u.year,u.month+1]],l.list(s.type,0))),s.range&&"init"===n&&!e&&l.calendar(l.endDate,1),s.range||l.limit(lay(l.footer).find(p),null,0,["hours","minutes","seconds"]),l.setBtnStatus(),l},w.prototype.list=function(e,t){var n=this,a=n.config,r=a.dateTime,i=n.lang(),o=a.range&&"date"!==a.type&&"datetime"!==a.type,l=lay.elem("ul",{"class":m+" "+{year:"laydate-year-list",month:"laydate-month-list",time:"laydate-time-list"}[e]}),s=n.elemHeader[t],y=lay(s[2]).find("span"),d=n.elemCont[t||0],f=lay(d).find("."+m)[0],h="cn"===a.lang,T=h?"\u5e74":"",w=n.listYM[t]||{},D=["hours","minutes","seconds"],b=["startTime","endTime"][t];if(w[0]<1&&(w[0]=1),"year"===e){var E,x=E=w[0]-7;x<1&&(x=E=1),lay.each(new Array(15),function(e){var r=lay.elem("li",{"lay-ym":E}),i={year:E};E==w[0]&&lay(r).addClass(c),r.innerHTML=E+T,l.appendChild(r),E<n.firstDate.year?(i.month=a.min.month,i.date=a.min.date):E>=n.firstDate.year&&(i.month=a.max.month,i.date=a.max.date),n.limit(lay(r),i,t),E++}),lay(y[h?0:1]).attr("lay-ym",E-8+"-"+w[1]).html(x+T+" - "+(E-1+T))}else if("month"===e)lay.each(new Array(12),function(e){var r=lay.elem("li",{"lay-ym":e}),o={year:w[0],month:e};e+1==w[1]&&lay(r).addClass(c),r.innerHTML=i.month[e]+(h?"\u6708":""),l.appendChild(r),w[0]<n.firstDate.year?o.date=a.min.date:w[0]>=n.firstDate.year&&(o.date=a.max.date),n.limit(lay(r),o,t)}),lay(y[h?0:1]).attr("lay-ym",w[0]+"-"+w[1]).html(w[0]+T);else if("time"===e){var C=function(){lay(l).find("ol").each(function(e,a){lay(a).find("li").each(function(a,r){n.limit(lay(r),[{hours:a},{hours:n[b].hours,minutes:a},{hours:n[b].hours,minutes:n[b].minutes,seconds:a}][e],t,[["hours"],["hours","minutes"],["hours","minutes","seconds"]][e])})}),a.range||n.limit(lay(n.footer).find(p),n[b],0,["hours","minutes","seconds"])};a.range?n[b]||(n[b]="startTime"===b?r:n.endDate):n[b]=r,lay.each([24,60,60],function(e,t){var a=lay.elem("li"),r=["<p>"+i.time[e]+"</p><ol>"];lay.each(new Array(t),function(t){r.push("<li"+(n[b][D[e]]===t?' class="'+c+'"':"")+">"+lay.digit(t,2)+"</li>")}),a.innerHTML=r.join("")+"</ol>",l.appendChild(a)}),C()}if(f&&d.removeChild(f),d.appendChild(l),"year"===e||"month"===e)lay(n.elemMain[t]).addClass("laydate-ym-show"),lay(l).find("li").on("click",function(){var i=0|lay(this).attr("lay-ym");if(!lay(this).hasClass(u)){0===t?(r[e]=i,n.limit(lay(n.footer).find(p),null,0)):n.endDate[e]=i;var s="year"===a.type||"month"===a.type;s?(lay(l).find("."+c).removeClass(c),lay(this).addClass(c),"month"===a.type&&"year"===e&&(n.listYM[t][0]=i,o&&((t?n.endDate:r).year=i),n.list("month",t))):(n.checkDate("limit").calendar(null,t),n.closeList()),n.setBtnStatus(),a.range||("month"===a.type&&"month"===e||"year"===a.type&&"year"===e)&&n.setValue(n.parse()).remove().done(),n.done(null,"change"),lay(n.footer).find("."+v).removeClass(u)}});else{var M=lay.elem("span",{"class":g}),S=function(){lay(l).find("ol").each(function(e){var t=this,a=lay(t).find("li");t.scrollTop=30*(n[b][D[e]]-2),t.scrollTop<=0&&a.each(function(e,n){if(!lay(this).hasClass(u))return t.scrollTop=30*(e-2),!0})})},k=lay(s[2]).find("."+g);S(),M.innerHTML=a.range?[i.startTime,i.endTime][t]:i.timeTips,lay(n.elemMain[t]).addClass("laydate-time-show"),k[0]&&k.remove(),s[2].appendChild(M),lay(l).find("ol").each(function(e){var t=this;lay(t).find("li").on("click",function(){var i=0|this.innerHTML;lay(this).hasClass(u)||(a.range?n[b][D[e]]=i:r[D[e]]=i,lay(t).find("."+c).removeClass(c),lay(this).addClass(c),C(),S(),(n.endDate||"time"===a.type)&&n.done(null,"change"),n.setBtnStatus())})})}return n},w.prototype.listYM=[],w.prototype.closeList=function(){var e=this;e.config;lay.each(e.elemCont,function(t,n){lay(this).find("."+m).remove(),lay(e.elemMain[t]).removeClass("laydate-ym-show laydate-time-show")}),lay(e.elem).find("."+g).remove()},w.prototype.setBtnStatus=function(e,t,n){var a,r=this,i=r.config,o=r.lang(),l=lay(r.footer).find(p);i.range&&"time"!==i.type&&(t=t||i.dateTime,n=n||r.endDate,a=r.newDate(t).getTime()>r.newDate(n).getTime(),r.limit(null,t)||r.limit(null,n)?l.addClass(u):l[a?"addClass":"removeClass"](u),e&&a&&r.hint("string"==typeof e?o.timeout.replace(/\u65e5\u671f/g,e):o.timeout))},w.prototype.parse=function(e,t){var n=this,a=n.config,r=t||("end"==e?lay.extend({},n.endDate,n.endTime):a.range?lay.extend({},a.dateTime,n.startTime):a.dateTime),o=i.parse(r,n.format,1);return a.range&&void 0===e?o+" "+n.rangeStr+" "+n.parse("end"):o},w.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},w.prototype.setValue=function(e){var t=this,n=t.config,a=t.bindElem||n.elem[0];return"static"===n.position?t:(e=e||"",t.isInput(a)?lay(a).val(e):t.rangeElem?(t.rangeElem[0].val(e?t.parse("start"):""),t.rangeElem[1].val(e?t.parse("end"):"")):(0===lay(a).find("*").length&&lay(a).html(e),lay(a).attr("lay-date",e)),t)},w.prototype.preview=function(){var e=this,t=e.config;if(t.isPreview){var n=lay(e.elem).find("."+T),a=t.range?e.endDate?e.parse():"":e.parse();n.html(a).css({color:"#5FB878","font-size":"14px;"}),setTimeout(function(){ |
| | | n.css({color:"#666","font-size":"12px;"})},300)}},w.prototype.done=function(e,t){var n=this,a=n.config,r=lay.extend({},lay.extend(a.dateTime,n.startTime)),i=lay.extend({},lay.extend(n.endDate,n.endTime));return lay.each([r,i],function(e,t){"month"in t&&lay.extend(t,{month:t.month+1})}),n.preview(),e=e||[n.parse(),r,i],"function"==typeof a[t||"done"]&&a[t||"done"].apply(a,e),n},w.prototype.choose=function(e,t){var n=this,a=n.config,r=n.thisDateTime(t),i=(lay(n.elem).find("td"),e.attr("lay-ymd").split("-"));i={year:0|i[0],month:(0|i[1])-1,date:0|i[2]},e.hasClass(u)||(lay.extend(r,i),a.range?(lay.each(["startTime","endTime"],function(e,t){n[t]=n[t]||{hours:0,minutes:0,seconds:0}}),n.calendar(null,t).done(null,"change")):"static"===a.position?n.calendar().done().done(null,"change"):"date"===a.type?n.setValue(n.parse()).remove().done():"datetime"===a.type&&n.calendar().done(null,"change"))},w.prototype.tool=function(e,t){var n=this,a=n.config,r=n.lang(),i=a.dateTime,o="static"===a.position,l={datetime:function(){lay(e).hasClass(u)||(n.list("time",0),a.range&&n.list("time",1),lay(e).attr("lay-type","date").html(n.lang().dateTips))},date:function(){n.closeList(),lay(e).attr("lay-type","datetime").html(n.lang().timeTips)},clear:function(){o&&(lay.extend(i,n.firstDate),n.calendar()),a.range&&(delete a.dateTime,delete n.endDate,delete n.startTime,delete n.endTime),n.setValue("").remove(),n.done(["",{},{}])},now:function(){var e=new Date;lay.extend(i,n.systemDate(),{hours:e.getHours(),minutes:e.getMinutes(),seconds:e.getSeconds()}),n.setValue(n.parse()).remove(),o&&n.calendar(),n.done()},confirm:function(){if(a.range){if(lay(e).hasClass(u))return n.hint("time"===a.type?r.timeout.replace(/\u65e5\u671f/g,"\u65f6\u95f4"):r.timeout)}else if(lay(e).hasClass(u))return n.hint(r.invalidDate);n.done(),n.setValue(n.parse()).remove()}};l[t]&&l[t]()},w.prototype.change=function(e){var t=this,n=t.config,a=t.thisDateTime(e),r=n.range&&("year"===n.type||"month"===n.type),i=t.elemCont[e||0],o=t.listYM[e],l=function(l){var s=lay(i).find(".laydate-year-list")[0],c=lay(i).find(".laydate-month-list")[0];return s&&(o[0]=l?o[0]-15:o[0]+15,t.list("year",e)),c&&(l?o[0]--:o[0]++,t.list("month",e)),(s||c)&&(lay.extend(a,{year:o[0]}),r&&(a.year=o[0]),n.range||t.done(null,"change"),n.range||t.limit(lay(t.footer).find(p),{year:o[0]})),t.setBtnStatus(),s||c};return{prevYear:function(){l("sub")||(a.year--,t.checkDate("limit").calendar(null,e),t.done(null,"change"))},prevMonth:function(){var n=t.getAsYM(a.year,a.month,"sub");lay.extend(a,{year:n[0],month:n[1]}),t.checkDate("limit").calendar(null,e),t.done(null,"change")},nextMonth:function(){var n=t.getAsYM(a.year,a.month);lay.extend(a,{year:n[0],month:n[1]}),t.checkDate("limit").calendar(null,e),t.done(null,"change")},nextYear:function(){l()||(a.year++,t.checkDate("limit").calendar(null,e),t.done(null,"change"))}}},w.prototype.changeEvent=function(){var e=this;e.config;lay(e.elem).on("click",function(e){lay.stope(e)}).on("mousedown",function(e){lay.stope(e)}),lay.each(e.elemHeader,function(t,n){lay(n[0]).on("click",function(n){e.change(t).prevYear()}),lay(n[1]).on("click",function(n){e.change(t).prevMonth()}),lay(n[2]).find("span").on("click",function(n){var a=lay(this),r=a.attr("lay-ym"),i=a.attr("lay-type");r&&(r=r.split("-"),e.listYM[t]=[0|r[0],0|r[1]],e.list(i,t),lay(e.footer).find("."+v).addClass(u))}),lay(n[3]).on("click",function(n){e.change(t).nextMonth()}),lay(n[4]).on("click",function(n){e.change(t).nextYear()})}),lay.each(e.table,function(t,n){var a=lay(n).find("td");a.on("click",function(){e.choose(lay(this),t)})}),lay(e.footer).find("span").on("click",function(){var t=lay(this).attr("lay-type");e.tool(this,t)})},w.prototype.isInput=function(e){return/input|textarea/.test(e.tagName.toLocaleLowerCase())},w.prototype.events=function(){var e=this,t=e.config,n=function(n,a){n.on(t.trigger,function(){a&&(e.bindElem=this),e.render()})};t.elem[0]&&!t.elem[0].eventHandler&&(n(t.elem,"bind"),n(t.eventElem),t.elem[0].eventHandler=!0)},o.that={},o.getThis=function(e){var t=o.that[e];return t||hint.error(e?l+" instance with ID '"+e+"' not found":"ID argument required"),t},a.run=function(n){n(t).on("mousedown",function(e){if(i.thisId){var t=o.getThis(i.thisId);if(t){var a=t.config;e.target!==a.elem[0]&&e.target!==a.eventElem[0]&&e.target!==n(a.closeStop)[0]&&t.remove()}}}).on("keydown",function(e){if(i.thisId){var t=o.getThis(i.thisId);t&&13===e.keyCode&&n("#"+t.elemID)[0]&&t.elemID===w.thisElemDate&&(e.preventDefault(),n(t.footer).find(p)[0].click())}}),n(e).on("resize",function(){if(i.thisId){var e=o.getThis(i.thisId);if(e)return!(!e.elem||!n(s)[0])&&void e.position()}})},i.render=function(e){var t=new w(e);return o.call(t)},i.parse=function(e,t,n){return e=e||{},"string"==typeof t&&(t=o.formatArr(t)),t=(t||[]).concat(),lay.each(t,function(a,r){/yyyy|y/.test(r)?t[a]=lay.digit(e.year,r.length):/MM|M/.test(r)?t[a]=lay.digit(e.month+(n||0),r.length):/dd|d/.test(r)?t[a]=lay.digit(e.date,r.length):/HH|H/.test(r)?t[a]=lay.digit(e.hours,r.length):/mm|m/.test(r)?t[a]=lay.digit(e.minutes,r.length):/ss|s/.test(r)&&(t[a]=lay.digit(e.seconds,r.length))}),t.join("")},i.getEndDate=function(e,t){var n=new Date;return n.setFullYear(t||n.getFullYear(),e||n.getMonth()+1,1),new Date(n.getTime()-864e5).getDate()},n?(i.ready(),layui.define("lay",function(e){i.path=layui.cache.dir,a.run(lay),e(l,i)})):"function"==typeof define&&define.amd?define(function(){return a.run(lay),i}):function(){i.ready(),a.run(e.lay),e.laydate=i}()}(window,window.document); |
New file |
| | |
| | | <?xml version="1.0" standalone="no"?> |
| | | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > |
| | | <!-- |
| | | 2013-9-30: Created. |
| | | --> |
| | | <svg> |
| | | <metadata> |
| | | Created by iconfont |
| | | </metadata> |
| | | <defs> |
| | | |
| | | <font id="laydate-icon" horiz-adv-x="1024" > |
| | | <font-face |
| | | font-family="laydate-icon" |
| | | font-weight="500" |
| | | font-stretch="normal" |
| | | units-per-em="1024" |
| | | ascent="896" |
| | | descent="-128" |
| | | /> |
| | | <missing-glyph /> |
| | | |
| | | <glyph glyph-name="x" unicode="x" horiz-adv-x="1001" |
| | | d="M281 543q-27 -1 -53 -1h-83q-18 0 -36.5 -6t-32.5 -18.5t-23 -32t-9 -45.5v-76h912v41q0 16 -0.5 30t-0.5 18q0 13 -5 29t-17 29.5t-31.5 22.5t-49.5 9h-133v-97h-438v97zM955 310v-52q0 -23 0.5 -52t0.5 -58t-10.5 -47.5t-26 -30t-33 -16t-31.5 -4.5q-14 -1 -29.5 -0.5 |
| | | t-29.5 0.5h-32l-45 128h-439l-44 -128h-29h-34q-20 0 -45 1q-25 0 -41 9.5t-25.5 23t-13.5 29.5t-4 30v167h911zM163 247q-12 0 -21 -8.5t-9 -21.5t9 -21.5t21 -8.5q13 0 22 8.5t9 21.5t-9 21.5t-22 8.5zM316 123q-8 -26 -14 -48q-5 -19 -10.5 -37t-7.5 -25t-3 -15t1 -14.5 |
| | | t9.5 -10.5t21.5 -4h37h67h81h80h64h36q23 0 34 12t2 38q-5 13 -9.5 30.5t-9.5 34.5q-5 19 -11 39h-368zM336 498v228q0 11 2.5 23t10 21.5t20.5 15.5t34 6h188q31 0 51.5 -14.5t20.5 -52.5v-227h-327z" /> |
| | | |
| | | |
| | | |
| | | <glyph glyph-name="youyou" unicode="" d="M283.648 721.918976 340.873216 780.926976 740.352 383.997952 340.876288-12.925952 283.648 46.077952 619.52 383.997952Z" horiz-adv-x="1024" /> |
| | | |
| | | |
| | | <glyph glyph-name="zuozuo" unicode="" d="M740.352 721.918976 683.126784 780.926976 283.648 383.997952 683.123712-12.925952 740.352 46.077952 404.48 383.997952Z" horiz-adv-x="1024" /> |
| | | |
| | | |
| | | <glyph glyph-name="xiayiye" unicode="" d="M62.573 384.103l423.401 423.662c18.985 18.985 49.757 18.985 68.727 0 18.982-18.972 18.985-49.746 0-68.729l-355.058-355.067 356.796-356.796c18.977-18.971 18.976-49.746 0-68.727-18.982-18.976-49.751-18.976-68.727 0l-39.753 39.753 0.269 0.246-385.655 385.661zM451.365 384.103l423.407 423.662c18.985 18.985 49.757 18.985 68.727 0 18.982-18.972 18.985-49.746 0-68.729l-355.058-355.067 356.796-356.796c18.977-18.971 18.976-49.746 0-68.727-18.982-18.976-49.757-18.977-68.727 0l-39.762 39.754 0.273 0.249-385.662 385.661zM451.365 384.103z" horiz-adv-x="1024" /> |
| | | |
| | | |
| | | <glyph glyph-name="xiayiye1" unicode="" d="M948.066926 382.958838l-411.990051-412.24426c-18.47333-18.47333-48.417689-18.47333-66.875207 0-18.47333 18.461167-18.47333 48.405526 0 66.875207L814.691135 383.088983 467.512212 730.269123c-18.466032 18.458735-18.466032 48.405526 0 66.873991 18.468465 18.464816 48.410391 18.464816 66.872774 0l38.682336-38.682336-0.261507-0.239614 375.259894-375.265975v0.003649m-378.312834 0L157.756743-29.285422c-18.47333-18.47333-48.415256-18.47333-66.872775 0-18.47333 18.461167-18.47333 48.405526 0 66.875207L436.369787 383.088983 89.19208 730.269123c-18.4636 18.458735-18.4636 48.405526 0 66.873991 18.470898 18.464816 48.415256 18.464816 66.872774 0l38.692067-38.682336-0.266372-0.239614 375.267191-375.265975-0.004865 0.003649m0 0z" horiz-adv-x="1024" /> |
| | | |
| | | |
| | | |
| | | |
| | | </font> |
| | | </defs></svg> |
New file |
| | |
| | | .laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}@font-face{font-family:laydate-icon;src:url(font/iconfont.eot);src:url(font/iconfont.eot#iefix) format('embedded-opentype'),url(font/iconfont.svg#iconfont) format('svg'),url(font/iconfont.woff) format('woff'),url(font/iconfont.ttf) format('truetype')}.laydate-icon{font-family:laydate-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;animation-name:laydate-downbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@keyframes laydate-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;padding:0 5px;color:#999;font-size:18px;cursor:pointer}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-set-ym span{padding:0 10px;cursor:pointer}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px}.layui-laydate-footer span{display:inline-block;vertical-align:top;height:26px;line-height:24px;padding:0 10px;border:1px solid #C9C9C9;border-radius:2px;background-color:#fff;font-size:12px;cursor:pointer;white-space:nowrap;transition:all .3s}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-footer span:hover{color:#5FB878}.layui-laydate-footer span.layui-laydate-preview{cursor:default;border-color:transparent!important}.layui-laydate-footer span.layui-laydate-preview:hover{color:#666}.layui-laydate-footer span:first-child.layui-laydate-preview{padding-left:0}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{margin:0 0 0 -1px}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;height:30px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content,.layui-laydate-range .laydate-main-list-1 .layui-laydate-header{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#B5FFF8}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eee;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.laydate-selected.laydate-day-next,.laydate-selected.laydate-day-prev{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#FF5722}.laydate-day-mark::after{background-color:#5FB878}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5FB878}.layui-laydate .layui-this{background-color:#009688!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#009688}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead,.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-next,.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px} |
| | |
| | | //åæ°é
ç½® multiselect æ¯å¦åºç°å¤é selectcol å¤éè·åçå¼ é»è®¤idï¼ |
| | | //è·åæ¹å¼ï¼GetGridSelect() å¼ç»æ 1,2,3 注æä¸ç®¡æ¯å¦ä¸æ 齿 å¼å· ä¾å¦ :æ¥,å¤,ç§,ä¸ |
| | | var gridConfig = { multiselect: false, selectcol: "id" }; |
| | | |
| | | var shrinkToFit = true; |
| | | var footerrow = true; |
| | | //txt date datetime datearea chechbox ,combox åè |
| | | //searchCol = [ |
| | | // { label: 'ååç¼å·', name: 'Productcode', labtype: 'txt', ismust: true }, |
| | |
| | | datatype: "json", |
| | | colModel: dataCol, |
| | | viewrecords: true, // show the current page, data rang and total records on the toolbar |
| | | width: 780, |
| | | shrinkToFit: shrinkToFit, |
| | | width:1000, |
| | | height: 200, |
| | | loadonce: false, |
| | | pager: "#jqGridPager", |
| | | footerrow: true, |
| | | footerrow: footerrow, |
| | | rownumbers: true, |
| | | |
| | | rowNum: 30, |
| | | rowList: [30, 50, 100], |
| | | cmTemplate: { sortable: false }, |
| | |
| | | <DebuggerFlavor>ProjectDebugger</DebuggerFlavor> |
| | | </PropertyGroup> |
| | | <PropertyGroup> |
| | | <ActiveDebugProfile>IIS Express</ActiveDebugProfile> |
| | | <ActiveDebugProfile>zhengcaioa</ActiveDebugProfile> |
| | | <View_SelectedScaffolderID>RazorViewEmptyScaffolder</View_SelectedScaffolderID> |
| | | <View_SelectedScaffolderCategoryPath>root/Common/MVC/View</View_SelectedScaffolderCategoryPath> |
| | | <Controller_SelectedScaffolderID>MvcControllerEmptyScaffolder</Controller_SelectedScaffolderID> |
New file |
| | |
| | | use zhengcaioa |
| | | |
| | | if exists (select 1 |
| | | from sysobjects |
| | | where id = object_id('t_salary_appeal') |
| | | and type = 'U') |
| | | drop table t_salary_appeal |
| | | go |
| | | |
| | | /*==============================================================*/ |
| | | /* Table: t_salary_appeal */ |
| | | /*==============================================================*/ |
| | | create table t_salary_appeal ( |
| | | id int identity, |
| | | salary_id nvarchar(50) null, |
| | | reason nvarchar(1000) null, |
| | | amount decimal(10,2) null, |
| | | basis nvarchar(500) null, |
| | | sub_user nvarchar(50) null, |
| | | sub_time datetime null, |
| | | chk_user nvarchar(50) null, |
| | | chk_time datetime null, |
| | | chk_result nvarchar(1000) null, |
| | | status nvarchar(1) null, |
| | | constraint PK_T_SALARY_APPEAL primary key (id) |
| | | ) |
| | | go |
| | | |
| | | |
| | | INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [display_seq], [page_path], [page_method], [page_type], [page_superior], [open_type], [rec_status], [creater], [createtime]) VALUES (newid(), N'1', N'å·¥èµæ ¸å¯¹', 7, N'/SalaryCheck/Employee', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e', 0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', getdate()) |
| | | go |
| | | |
| | | INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [display_seq], [page_path], [page_method], [page_type], [page_superior], [open_type], [rec_status], [creater], [createtime]) VALUES (newid(), N'1', N'å·¥èµæ¥è¯¢', 2, N'/SalaryCheck/SearchIndex', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e', 0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', getdate()) |
| | | go |
| | | |
| | | INSERT [dbo].[plt_page] ([Id], [system_id], [page_name], [display_seq], [page_path], [page_method], [page_type], [page_superior], [open_type], [rec_status], [creater], [createtime]) VALUES (newid(), N'1', N'å·¥èµæ ¸å', 3, N'/SalaryCheck/Index', N'01', N'M', N'6a13cb10-35d9-4176-a231-8887948e059e', 0, N'A', N'e4c93811-b9b1-4998-89f5-c416ebab0c07', getdate()) |
| | | go |