1
0
懒得勤快 4 жил өмнө
parent
commit
ed3fc7709b

+ 12 - 0
src/Masuit.MyBlogs.Core/Common/CommonHelper.cs

@@ -3,6 +3,7 @@ using AutoMapper;
 using Hangfire;
 using IP2Region;
 using Masuit.MyBlogs.Core.Common.Mails;
+using Masuit.MyBlogs.Core.Infrastructure;
 using Masuit.Tools;
 using Masuit.Tools.Media;
 using MaxMind.GeoIP2;
@@ -362,6 +363,17 @@ namespace Masuit.MyBlogs.Core.Common
         {
             return ToTimeZone(time, zone).ToString(format);
         }
+
+        /// <summary>
+        /// 随机排序
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="source"></param>
+        /// <returns></returns>
+        public static IOrderedQueryable<T> OrderByRandom<T>(this IQueryable<T> source)
+        {
+            return source.OrderBy(_ => DataContext.Random());
+        }
     }
 
     public class IPLocation

+ 12 - 22
src/Masuit.MyBlogs.Core/Controllers/HomeController.cs

@@ -23,6 +23,7 @@ using System.Linq;
 using System.Linq.Dynamic.Core;
 using System.Linq.Expressions;
 using System.Runtime.InteropServices;
+using System.Text.RegularExpressions;
 using System.Threading.Tasks;
 
 namespace Masuit.MyBlogs.Core.Controllers
@@ -99,18 +100,19 @@ namespace Masuit.MyBlogs.Core.Controllers
         /// <summary>
         /// 标签文章页
         /// </summary>
-        /// <param name="id"></param>
+        /// <param name="tag"></param>
         /// <param name="page"></param>
         /// <param name="size"></param>
         /// <param name="orderBy"></param>
         /// <returns></returns>
-        [Route("tag/{id}"), ResponseCache(Duration = 600, VaryByQueryKeys = new[] { "page", "size", "orderBy" }, VaryByHeader = "Cookie")]
-        public async Task<ActionResult> Tag(string id, [Optional] OrderBy? orderBy, [Range(1, int.MaxValue, ErrorMessage = "页码必须大于0")] int page = 1, [Range(1, 50, ErrorMessage = "页大小必须在0到50之间")] int size = 15)
+        [Route("tag/{tag}"), ResponseCache(Duration = 600, VaryByQueryKeys = new[] { "page", "size", "orderBy" }, VaryByHeader = "Cookie")]
+        public async Task<ActionResult> Tag(string tag, [Optional] OrderBy? orderBy, [Range(1, int.MaxValue, ErrorMessage = "页码必须大于0")] int page = 1, [Range(1, 50, ErrorMessage = "页大小必须在0到50之间")] int size = 15)
         {
-            var posts = await PostService.GetQuery(p => p.Label.Contains(id) && p.Status == Status.Published).OrderBy($"{nameof(PostDto.IsFixedTop)} desc,{(orderBy ?? OrderBy.ModifyDate).GetDisplay()} desc").ToCachedPagedListAsync<Post, PostDto>(page, size, MapperConfig);
+            tag = tag.Replace(",", "|").Replace(",", "|").Split('|').Select(Regex.Escape).Join("|");
+            var posts = await PostService.GetQuery(p => Regex.IsMatch(p.Label, tag) && p.Status == Status.Published).OrderBy($"{nameof(PostDto.IsFixedTop)} desc,{(orderBy ?? OrderBy.ModifyDate).GetDisplay()} desc").ToCachedPagedListAsync<Post, PostDto>(page, size, MapperConfig);
             CheckPermission(posts.Data);
             var viewModel = await GetIndexPageViewModel();
-            ViewBag.Tag = id;
+            ViewBag.Tag = tag;
             viewModel.Posts = posts;
             viewModel.PageParams = new Pagination(page, size, posts.TotalCount, orderBy);
             viewModel.SidebarAds = AdsService.GetsByWeightedPrice(2, AdvertiseType.SideBar, Request.Location());
@@ -223,33 +225,21 @@ namespace Masuit.MyBlogs.Core.Controllers
             var notices = await NoticeService.GetPagesFromCacheAsync<DateTime, NoticeDto>(1, 5, n => n.NoticeStatus == NoticeStatus.Normal, n => n.ModifyDate, false); //加载前5条公告
             var cats = await CategoryService.GetQueryFromCacheAsync<string, CategoryDto>(c => c.Status == Status.Available, c => c.Name); //加载分类目录
             var hotSearches = RedisHelper.Get<List<KeywordsRank>>("SearchRank:Week").Take(10).ToList(); //热词统计
-            var hot6Post = postsQuery.OrderBy((new Random().Next() % 3) switch
+            var hot5Post = postsQuery.OrderBy((new Random().Next() % 3) switch
             {
                 1 => nameof(OrderBy.VoteUpCount),
                 2 => nameof(OrderBy.AverageViewCount),
                 _ => nameof(OrderBy.TotalViewCount)
             } + " desc").Skip(0).Take(5).Cacheable().ToList(); //热门文章
-            CheckPermission(hot6Post);
-            var newdic = new Dictionary<string, int>(); //标签云最终结果
-            var tagdic = postsQuery.Where(p => !string.IsNullOrEmpty(p.Label)).Select(p => p.Label).Distinct().Cacheable().ToList().SelectMany(s => s.Split(',', ',')).GroupBy(s => s).ToDictionary(g => g.Key, g => g.Count()); //统计标签
-
-            if (tagdic.Any())
-            {
-                var min = tagdic.Values.Min();
-                foreach (var (key, value) in tagdic)
-                {
-                    var fontsize = (int)Math.Floor(value * 1.0 / (min * 1.0) + 12.0);
-                    newdic.Add(key, fontsize >= 36 ? 36 : fontsize);
-                }
-            }
-
+            CheckPermission(hot5Post);
+            var tagdic = PostService.GetTags().OrderByRandom().Take(20).ToDictionary(x => x.Key, x => x.Value + 12 >= 32 ? 32 : x.Value + 12); //统计标签
             return new HomePageViewModel()
             {
                 Categories = cats,
                 HotSearch = hotSearches,
                 Notices = notices.Data,
-                Tags = newdic,
-                Top6Post = hot6Post,
+                Tags = tagdic,
+                Top5Post = hot5Post,
                 PostsQueryable = postsQuery
             };
         }

+ 3 - 4
src/Masuit.MyBlogs.Core/Controllers/PostController.cs

@@ -33,6 +33,7 @@ using Microsoft.EntityFrameworkCore;
 using Microsoft.Net.Http.Headers;
 using System;
 using System.Collections.Generic;
+using System.Collections.Immutable;
 using System.ComponentModel.DataAnnotations;
 using System.Linq;
 using System.Linq.Dynamic.Core;
@@ -376,8 +377,7 @@ namespace Masuit.MyBlogs.Core.Controllers
         [ResponseCache(Duration = 600, VaryByHeader = "Cookie")]
         public ActionResult GetTag()
         {
-            var list = PostService.GetQuery(p => !string.IsNullOrEmpty(p.Label)).Select(p => p.Label).Distinct().ToList().SelectMany(s => s.Split(',', ',')).GroupBy(s => s).Where(g => g.Count() > 1).OrderBy(s => s.Key).Select(g => g.Key).ToHashSet();
-            return ResultData(list);
+            return ResultData(PostService.GetTags().Keys);
         }
 
         /// <summary>
@@ -387,8 +387,7 @@ namespace Masuit.MyBlogs.Core.Controllers
         [Route("all"), ResponseCache(Duration = 600, VaryByHeader = "Cookie")]
         public async Task<ActionResult> All()
         {
-            var tags = PostService.GetQuery(p => !string.IsNullOrEmpty(p.Label)).Select(p => p.Label).Distinct().ToList().SelectMany(s => s.Split(',', ',')).GroupBy(t => t).Where(g => g.Count() > 1).OrderByDescending(g => g.Count()).ThenBy(g => g.Key).ToList(); //tag
-            ViewBag.tags = tags;
+            ViewBag.tags = new Dictionary<string, int>(PostService.GetTags().Where(x => x.Value > 1));
             ViewBag.cats = await CategoryService.GetAll(c => c.Post.Count, false).Select(c => new TagCloudViewModel
             {
                 Id = c.Id,

+ 6 - 0
src/Masuit.MyBlogs.Core/Infrastructure/Services/Interface/IPostService.cs

@@ -23,5 +23,11 @@ namespace Masuit.MyBlogs.Core.Infrastructure.Services.Interface
         /// </summary>
         /// <returns>受影响的行数</returns>
         Task<int> SaveChangesAsync(bool flushIndex);
+
+        /// <summary>
+        /// 文章所有tag
+        /// </summary>
+        /// <returns></returns>
+        Dictionary<string, int> GetTags();
     }
 }

+ 22 - 1
src/Masuit.MyBlogs.Core/Infrastructure/Services/PostService.cs

@@ -26,11 +26,13 @@ namespace Masuit.MyBlogs.Core.Infrastructure.Services
     {
         private readonly ICacheManager<SearchResult<PostDto>> _cacheManager;
         private readonly ICacheManager<List<Post>> _searchCacheManager;
+        private readonly ICacheManager<Dictionary<string, int>> _tagCacheManager;
 
-        public PostService(IPostRepository repository, ISearchEngine<DataContext> searchEngine, ILuceneIndexSearcher searcher, ICacheManager<SearchResult<PostDto>> cacheManager, ICacheManager<List<Post>> searchCacheManager) : base(repository, searchEngine, searcher)
+        public PostService(IPostRepository repository, ISearchEngine<DataContext> searchEngine, ILuceneIndexSearcher searcher, ICacheManager<SearchResult<PostDto>> cacheManager, ICacheManager<List<Post>> searchCacheManager, ICacheManager<Dictionary<string, int>> tagCacheManager) : base(repository, searchEngine, searcher)
         {
             _cacheManager = cacheManager;
             _searchCacheManager = searchCacheManager;
+            _tagCacheManager = tagCacheManager;
         }
 
         public List<Post> ScoreSearch(int page, int size, string keyword)
@@ -152,6 +154,25 @@ namespace Masuit.MyBlogs.Core.Infrastructure.Services
             return searchOptions;
         }
 
+        /// <summary>
+        /// 文章所有tag
+        /// </summary>
+        /// <returns></returns>
+        public Dictionary<string, int> GetTags()
+        {
+            var key = "postTags";
+            var dic = _tagCacheManager.Get(key);
+            if (dic != null)
+            {
+                return dic;
+            }
+
+            dic = GetQuery(p => !string.IsNullOrEmpty(p.Label)).Select(p => p.Label).Distinct().ToList().SelectMany(s => s.Split(',', ',')).GroupBy(s => s).OrderByDescending(g => g.Count()).ToDictionary(g => g.Key, g => g.Count());
+            _tagCacheManager.Add(key, dic);
+            _tagCacheManager.Expire(key, DateTimeOffset.Now.AddDays(1));
+            return dic;
+        }
+
         /// <summary>
         /// 添加实体并保存
         /// </summary>

+ 1 - 1
src/Masuit.MyBlogs.Core/Models/ViewModel/HomePageViewModel.cs

@@ -39,7 +39,7 @@ namespace Masuit.MyBlogs.Core.Models.ViewModel
         /// <summary>
         /// 热门文章
         /// </summary>
-        public List<PostDto> Top6Post { get; set; }
+        public List<PostDto> Top5Post { get; set; }
 
         /// <summary>
         /// 文章列表查询

+ 3 - 3
src/Masuit.MyBlogs.Core/Views/Post/All.cshtml

@@ -2,7 +2,7 @@
 @{
     ViewBag.Title = "分类云_标签云_专题云";
     Layout = "~/Views/Shared/_Layout.cshtml";
-    List<IGrouping<string, string>> tags = ViewBag.tags;
+    Dictionary<string, int> tags = ViewBag.tags;
     List<TagCloudViewModel> cats = ViewBag.cats;
     List<TagCloudViewModel> seminars = ViewBag.seminars;
     string[] colors = { "success", "info", "primary", "warning", "danger", "default", "primary" };
@@ -115,9 +115,9 @@
             <div id="second">
                 <p>
                     @{
-                        foreach (var g in tags)
+                        foreach (var (key, value) in tags)
                         {
-                            <a asp-controller="Home" asp-action="Tag" asp-route-id="@g.Key" class="label label-@colors[r.Next(colors.Length)]">@g.Key (@g.Count()篇)</a>
+                            <a asp-controller="Home" asp-action="Tag" asp-route-tag="@key" class="label label-@colors[r.Next(colors.Length)]">@key (@value 篇)</a>
                         }
                     }
                 </p>

+ 2 - 2
src/Masuit.MyBlogs.Core/Views/Post/CompareVersion.cshtml

@@ -71,7 +71,7 @@
                                                         {
                                                             if (!string.IsNullOrEmpty(s))
                                                             {
-                                                                <a asp-controller="Home" asp-action="Tag" asp-route-id="@s">
+                                                                <a asp-controller="Home" asp-action="Tag" asp-route-tag="@s">
                                                                     <span class="label label-@colors[new Random().Next() % colors.Length]">@s</span>
                                                                 </a>
                                                             }
@@ -157,7 +157,7 @@
                                                         {
                                                             if (!string.IsNullOrEmpty(s))
                                                             {
-                                                                <a asp-controller="Home" asp-action="Tag" asp-route-id="@s">
+                                                                <a asp-controller="Home" asp-action="Tag" asp-route-tag="@s">
                                                                     <span class="label label-@colors[new Random().Next() % colors.Length]">@s</span>
                                                                 </a>
                                                             }

+ 5 - 5
src/Masuit.MyBlogs.Core/Views/Post/Details.cshtml

@@ -1,13 +1,10 @@
 @using System.Diagnostics
 @using System.Web
 @using Masuit.MyBlogs.Core.Common
-@using Masuit.MyBlogs.Core.Configs
 @using Masuit.MyBlogs.Core.Models.Entity
 @using Masuit.MyBlogs.Core.Models.Enum
 @using Masuit.MyBlogs.Core.Models.ViewModel
 @using Masuit.MyBlogs.Core.Views.Post
-@using Masuit.Tools.Core.Net
-@using Masuit.Tools.Security
 @model Masuit.MyBlogs.Core.Models.Entity.Post
 
 @{
@@ -73,7 +70,7 @@
                                                 {
                                                     if (!string.IsNullOrEmpty(s))
                                                     {
-                                                        <a asp-controller="Home" asp-action="Tag" asp-route-id="@s">
+                                                        <a asp-controller="Home" asp-action="Tag" asp-route-tag="@s">
                                                             <span class="label label-@colors[new Random().Next() % colors.Length]">@s</span>
                                                         </a>
                                                     }
@@ -363,7 +360,10 @@
     window.onload = function() {
         var keywords = @Html.Raw(ViewData["keywords"] ?? "[]");
         for (var i = 0; i < keywords.length; i++) {
-            $("#article").highlight(keywords[i]);
+            $("#article p").highlight(keywords[i]);
+            $("#article div").highlight(keywords[i]);
+            $("#article h3").highlight(keywords[i]);
+            $("#article h4").highlight(keywords[i]);
         }
         loading();
         $('#pageToolbar').Paging({ //异步加载评论

+ 5 - 2
src/Masuit.MyBlogs.Core/Views/Post/Details_Admin.cshtml

@@ -72,7 +72,7 @@
                                                 {
                                                     if (!string.IsNullOrEmpty(s))
                                                     {
-                                                        <a asp-controller="Home" asp-action="Tag" asp-route-id="@s">
+                                                        <a asp-controller="Home" asp-action="Tag" asp-route-tag="@s">
                                                             <span class="label label-@colors[new Random().Next() % colors.Length]">@s</span>
                                                         </a>
                                                     }
@@ -326,7 +326,10 @@
 	window.onload = function() {
         const keywords = @Html.Raw(ViewData["keywords"] ?? "[]");
         for (let i = 0; i < keywords.length; i++) {
-            $("#article").highlight(keywords[i]);
+            $("#article p").highlight(keywords[i]);
+            $("#article div").highlight(keywords[i]);
+            $("#article h3").highlight(keywords[i]);
+            $("#article h4").highlight(keywords[i]);
         }
 		loading();
 		$('#pageToolbar').Paging({ //异步加载评论

+ 1 - 1
src/Masuit.MyBlogs.Core/Views/Post/HistoryVersion.cshtml

@@ -71,7 +71,7 @@
                                                 {
                                                     if (!string.IsNullOrEmpty(s))
                                                     {
-                                                        <a asp-controller="Home" asp-action="Tag" asp-route-id="@s">
+                                                        <a asp-controller="Home" asp-action="Tag" asp-route-tag="@s">
                                                             <span class="label label-@colors[new Random().Next() % colors.Length]">@s</span>
                                                         </a>
                                                     }

+ 1 - 1
src/Masuit.MyBlogs.Core/Views/Post/HistoryVersion_Admin.cshtml

@@ -75,7 +75,7 @@
                                                 {
                                                     if (!string.IsNullOrEmpty(s))
                                                     {
-                                                        <a asp-controller="Home" asp-action="Tag" asp-route-id="@s">
+                                                        <a asp-controller="Home" asp-action="Tag" asp-route-tag="@s">
                                                             <span class="label label-@colors[new Random().Next() % colors.Length]">@s</span>
                                                         </a>
                                                     }

+ 1 - 1
src/Masuit.MyBlogs.Core/Views/Shared/_ArticleListItem.cshtml

@@ -58,7 +58,7 @@
                 <div class="col-md-6">
                     @for (var i = 0; i < tags.Length; i++)
                     {
-                        <a asp-controller="Home" asp-action="Tag" asp-route-id="@tags[i]" target="_blank">
+                        <a asp-controller="Home" asp-action="Tag" asp-route-tag="@tags[i]" target="_blank">
                             <span class="label label-@colors[i]">@tags[i]</span>
                         </a>
                     }

+ 1 - 1
src/Masuit.MyBlogs.Core/Views/Shared/_ArticleListItem_Admin.cshtml

@@ -60,7 +60,7 @@
                 <div class="col-md-5">
                     @for (var i = 0; i < tags.Length; i++)
                     {
-                        <a asp-controller="Home" asp-action="Tag" asp-route-id="@tags[i]" target="_blank">
+                        <a asp-controller="Home" asp-action="Tag" asp-route-tag="@tags[i]" target="_blank">
                             <span class="label label-@colors[i]">@tags[i]</span>
                         </a>
                     }

+ 2 - 1
src/Masuit.MyBlogs.Core/Views/Shared/_ArticleListPartial.cshtml

@@ -1,5 +1,6 @@
 @using Masuit.MyBlogs.Core.Models.DTO
 @using Masuit.Tools.Systems
+@using Masuit.MyBlogs.Core.Common
 @model Masuit.MyBlogs.Core.Models.ViewModel.HomePageViewModel
 <div class="col-md-9 padding-clear">
     <div class="animated fadeIn blog">
@@ -19,7 +20,7 @@
         }
         else
         {
-            var list = Model.PostsQueryable.OrderBy(p => Guid.NewGuid()).Skip(0).Take(5).ToList();
+            var list = Model.PostsQueryable.OrderByRandom().Take(5).ToList();
             if (list.Any())
             {
                 <div class="page-header">

+ 2 - 1
src/Masuit.MyBlogs.Core/Views/Shared/_ArticleListPartial_Admin.cshtml

@@ -1,5 +1,6 @@
 @using Masuit.MyBlogs.Core.Models.DTO
 @using Masuit.Tools.Systems
+@using Masuit.MyBlogs.Core.Common
 @model Masuit.MyBlogs.Core.Models.ViewModel.HomePageViewModel
 <div class="col-md-9 padding-clear">
     <div class="animated fadeIn blog">
@@ -19,7 +20,7 @@
         }
         else
         {
-            var list = Model.PostsQueryable.OrderBy(p => Guid.NewGuid()).Skip(0).Take(5).ToList();
+            var list = Model.PostsQueryable.OrderByRandom().Take(5).ToList();
             if (list.Any())
             {
                 <div class="page-header">

+ 3 - 4
src/Masuit.MyBlogs.Core/Views/Shared/_Aside.cshtml

@@ -76,7 +76,7 @@
             <div class="leaderboard">
                 <h2>推荐文章</h2>
                 <ol>
-                    @foreach (PostDto post in Model.Top6Post)
+                    @foreach (PostDto post in Model.Top5Post)
                     {
                         <li>
                             <a asp-controller="Post" asp-action="Details" asp-route-id="@post.Id">
@@ -118,10 +118,9 @@
                 <div id="tagscloud">
                     @if (Model.Tags.Any())
                     {
-                        var tags = Model.Tags.OrderBy(s => Guid.NewGuid()).Take(20);
-                        foreach (var s in tags)
+                        foreach (var (key, value) in Model.Tags)
                         {
-                            <a asp-controller="Home" asp-action="Tag" asp-route-id="@s.Key" class="tagc-@(new Random().Next(100) % 10)" style="font-size: @(s.Value)px; line-height: @(s.Value * 1.2)px;">@s.Key</a>
+                            <a asp-controller="Home" asp-action="Tag" asp-route-tag="@key" class="tagc-@(new Random().Next(100) % 10)" style="font-size: @(value)px; line-height: @(value * 1.2)px;">@key</a>
                         }
                     }
                     else

+ 0 - 27
src/Masuit.MyBlogs.Core/wwwroot/ng-views/controllers/main.js

@@ -463,33 +463,6 @@ function getFile(obj, inputName) {
 	$("input[name='" + inputName + "']").val(file_name);
 }
 
-///**
-// * 将带pid/ParentId的json数据转换成带children树形json
-// * @param {any} a 源数据
-// * @param {any} idStr  id字段
-// * @param {any} pidStr  pid字段
-// * @param {any} chindrenStr  children字段
-// */
-//function transData(a, idStr, pidStr, chindrenStr) {
-//	var r = [], hash = {}, id = idStr, pid = pidStr, children = chindrenStr, i = 0, j = 0, len = a.length;
-//	for(; i < len; i++) {
-//		hash[a[i][id]] = a[i];
-//	}
-//	for(; j < len; j++) {
-//		var aVal = a[j], hashVP = hash[aVal[pid]];
-//		if(hashVP) {
-//			!hashVP[children] && (hashVP[children] = []);
-//			aVal[children] = [];
-//			hashVP[children].push(aVal);
-//		} else {
-//			aVal[children] = [];
-//			r.push(aVal);
-//		}
-//	}
-//	return r;
-//}
-
-//var jsonDataTree = transData(jsonData, 'id', 'pid', 'chindren');
 Date.prototype.Format = function(fmt) {//author: meizz 
 	var o = {
 		"M+":this.getMonth() + 1, //月份 

+ 2 - 2
src/Masuit.MyBlogs.Core/wwwroot/ng-views/controllers/notice.js

@@ -5,7 +5,7 @@
 		$scope.request("/notice/get", { id: $scope.notice.Id }, function (res) {
 			$scope.notice = res.Data;
             if ($scope.notice.StartTime+$scope.notice.EndTime) {
-                $scope.notice.Range=$scope.notice.StartTime+" 至 "+$scope.notice.EndTime;
+                $scope.notice.Range=new Date($scope.notice.StartTime).Format("yyyy-MM-dd")+" 至 "+new Date($scope.notice.EndTime).Format("yyyy-MM-dd");
             } else {
                 delete $scope.notice.StartTime;
 			    delete $scope.notice.EndTime;
@@ -16,7 +16,7 @@
     jeDate("#timespan",{
         multiPane:false,
         range:" 至 ",
-        minDate:new Date().Format("yyyy-MM-dd 00:00:00"),
+        minDate:new Date().Format("yyyy-MM-dd"),
         maxDate:'2099-06-16',
         format: 'YYYY-MM-DD',
 		donefun: function (obj) {

+ 2 - 2
src/Masuit.MyBlogs.Core/wwwroot/ng-views/controllers/partner.js

@@ -116,7 +116,7 @@
 
 	$scope.edit = function (item) {
 		$scope.partner = angular.copy(item);
-		$scope.partner.ExpireTime=$scope.partner.ExpireTime == null?"2099-12-31":$scope.partner.ExpireTime;
+		$scope.partner.ExpireTime=$scope.partner.ExpireTime == null?"2099-12-31":$scope.partner.ExpireTime.Format("yyyy-MM-dd");
 		$scope.isAdd = false;
 		$scope.allowUpload=false;
 		layer.closeAll();
@@ -146,7 +146,7 @@
 	$scope.copy = function (item) {
 		$scope.partner = angular.copy(item);
 		delete $scope.partner.Id;
-		$scope.partner.ExpireTime=$scope.partner.ExpireTime == null?"2099-12-31":$scope.partner.ExpireTime;
+		$scope.partner.ExpireTime=$scope.partner.ExpireTime == null?"2099-12-31":$scope.partner.ExpireTime.Format("yyyy-MM-dd");
 		$scope.isAdd = true;
 		$scope.allowUpload=false;
 		layer.closeAll();