diff --git a/app_doc/views.py b/app_doc/views.py index 3efdeee..0126b92 100644 --- a/app_doc/views.py +++ b/app_doc/views.py @@ -2282,25 +2282,50 @@ def manage_image(request): try: img_id = request.POST.get('img_id','') types = request.POST.get('types','') # 操作类型:0表示删除,1表示修改,2表示获取 + range = request.POST.get('range','single') # 操作范围 single 表示单个图片,multi表示多个图片 # 删除图片 if int(types) == 0: - img = Image.objects.get(id=img_id) - if img.user != request.user: - return JsonResponse({'status': False, 'data': '未授权请求'}) - file_path = settings.BASE_DIR+img.file_path - is_exist = os.path.exists(file_path) - if is_exist: - os.remove(file_path) - img.delete() # 删除记录 + if range == 'single': + img = Image.objects.get(id=img_id) + if img.user != request.user: + return JsonResponse({'status': False, 'data': '未授权请求'}) + file_path = settings.BASE_DIR+img.file_path + is_exist = os.path.exists(file_path) + if is_exist: + os.remove(file_path) + img.delete() # 删除记录 + elif range == 'multi': + imgs = img_id.split(',') + for i in imgs: + img = Image.objects.get(id=i) + if img.user != request.user: + logger.error("图片{}非法删除".format(i)) + break + file_path = settings.BASE_DIR + img.file_path + is_exist = os.path.exists(file_path) + if is_exist: + os.remove(file_path) + img.delete() # 删除记录 + return JsonResponse({'status':True,'data':'删除完成'}) # 移动图片分组 elif int(types) == 1: - group_id = request.POST.get('group_id',None) - if group_id is None: - Image.objects.filter(id=img_id,user=request.user).update(group_id=None) - else: - group = ImageGroup.objects.get(id=group_id,user=request.user) - Image.objects.filter(id=img_id,user=request.user).update(group_id=group) + if range == 'single': + group_id = request.POST.get('group_id',None) + if group_id is None: + Image.objects.filter(id=img_id,user=request.user).update(group_id=None) + else: + group = ImageGroup.objects.get(id=group_id,user=request.user) + Image.objects.filter(id=img_id,user=request.user).update(group_id=group) + elif range == 'multi': + imgs = img_id.split(',') + group_id = request.POST.get('group_id',None) + if group_id is None: + Image.objects.filter(id__in=imgs,user=request.user).update(group_id=None) + else: + group = ImageGroup.objects.get(id=group_id,user=request.user) + Image.objects.filter(id__in=imgs,user=request.user).update(group_id=group) + return JsonResponse({'status':True,'data':'移动完成'}) # 获取图片 elif int(types) == 2: diff --git a/static/editor.md/css/editormd.css b/static/editor.md/css/editormd.css index d574a4b..8ce267f 100644 --- a/static/editor.md/css/editormd.css +++ b/static/editor.md/css/editormd.css @@ -4072,7 +4072,7 @@ li.L9 { .editormd-preview-container pre.prettyprint, .editormd-html-preview pre.prettyprint { padding: 10px; - border: 1px solid #ddd; + border: 0px solid #ddd; white-space: pre-wrap; word-wrap: break-word; } diff --git a/static/mrdoc/mrdoc-admin.css b/static/mrdoc/mrdoc-admin.css index 4fa3ef9..47bbb70 100644 --- a/static/mrdoc/mrdoc-admin.css +++ b/static/mrdoc/mrdoc-admin.css @@ -45,7 +45,7 @@ right: 0px; width: 160px; height: 25px; - display: none; + /* display: none; */ background:#393D49; opacity:0.5; } diff --git a/template/app_doc/manage/manage_image.html b/template/app_doc/manage/manage_image.html index 3f7553e..0fe1b38 100644 --- a/template/app_doc/manage/manage_image.html +++ b/template/app_doc/manage/manage_image.html @@ -18,6 +18,9 @@ {% trans "分组管理" %} + + + @@ -42,6 +45,7 @@
  • +
    @@ -89,13 +93,6 @@ }); // 懒加载图片 flow.lazyimg({elem:'img.image-list-i'}); - //悬浮显示图片按钮 - $(".image-list").mouseover(function(){ - $(this).find(".opera-img-btn").show(); - }); - $(".image-list").mouseleave(function(){ - $(this).find(".opera-img-btn").hide(); - }); //删除图片 $(".del-img").click(function(){ var img_id = $(this).data("id"); @@ -117,9 +114,12 @@ $.post("{% url 'manage_image' %}",data,function(r){ layer.closeAll('loading') if(r.status){ - //删除成功 - window.location.reload(); - //layer.close(index) + layer.msg('删除成功', { + icon: 1, + time: 1000 + }, function() { + window.location.reload(); + }); }else{ //删除失败,提示 // console.log(r) @@ -154,8 +154,12 @@ layer.closeAll('loading') if(r.status){ //移动成功 - window.location.reload(); - //layer.close(index) + layer.msg('移动成功', { + icon: 1, + time: 1000 + }, function() { + window.location.reload(); + }); }else{ //移动失败,提示 // console.log(r) @@ -235,7 +239,135 @@ acceptMime:'image/*', field:'manage_upload', - }) + }); + // 全选图片 + $("#select-all-img").click(function(){ + if($(this).text() === '全选'){ + $("input[name='batch-image']").prop("checked","true"); + $(this).text("取消全选"); + }else{ + $("input[name='batch-image']").removeAttr("checked"); + $(this).text("全选"); + } + + }); + // 批量删除图片 + $("#batch-del-img").click(function(){ + let img_list = [] + $("input[name='batch-image']:checked").each(function(i){ + // console.log($(this).val()) + img_list.push($(this).val()) + }) + if(img_list.length === 0){ + layer.msg("未选中任何图片", { + icon: 3, + time: 1000 + }); + return false; + } + let imgs_id = '' + for (let i = 0; i < img_list.length; i++) { + imgs_id += img_list[i] + ","; + } + imgs_id = imgs_id.substr(0, imgs_id.length - 1); + layer.open({ + type:1, + title:'批量删除图片', + area:'300px;', + id:'batchDelImg',//配置ID + content:'
    你正在批量删除图片!

    警告!此操作将删除所选图片,文档中所引用的图片将不再显示并且不可恢复!

    请输入“DELETE”以再次确认删除。
    ', + btn:['确定删除','取消'], //添加按钮 + btnAlign:'c', //按钮居中 + yes:function (index,layero) { + var confirm_delete = $("#confirm_batch_delete_image").val() + if(confirm_delete === 'DELETE'){ + layer.load(1); + data = { + 'img_id':imgs_id, + 'types':0, + 'range':'multi' + } + $.post("{% url 'manage_image' %}",data,function(r){ + layer.closeAll('loading') + if(r.status){ + //删除成功 + layer.msg('批量删除成功', { + icon: 1, + time: 1000 + }, function() { + window.location.reload(); + }); + }else{ + //删除失败,提示 + layer.msg(r.data) + } + }) + + }else{ + layer.msg("输入错误!") + } + }, + + }); + }); + // 批量移动图片 + $("#batch-move-img").click(function(){ + let img_list = [] + $("input[name='batch-image']:checked").each(function(i){ + // console.log($(this).val()) + img_list.push($(this).val()) + }) + if(img_list.length === 0){ + layer.msg("未选中任何图片", { + icon: 3, + time: 1000 + }); + return false; + } + let imgs_id = '' + for (let i = 0; i < img_list.length; i++) { + imgs_id += img_list[i] + ","; + } + imgs_id = imgs_id.substr(0, imgs_id.length - 1); + layer.open({ + type:1, + title:'批量移动图片', + area:['300px','300px'], + id:'moveImg',//配置ID + content:$("#move-group-layer"), + btn:['确定','取消'], //添加按钮 + btnAlign:'c', //按钮居中 + yes:function (index,layero) { + layer.load(1); + data = { + 'types':1, + 'img_id':imgs_id, + 'group_id':$("#group_id").val(), + 'range':'multi' + } + // console.log(data) + $.post("{% url 'manage_image' %}",data,function(r){ + layer.closeAll('loading') + if(r.status){ + //移动成功 + layer.msg('批量移动成功', { + icon: 1, + time: 1000 + }, function() { + window.location.reload(); + }); + }else{ + //移动失败,提示 + // console.log(r) + layer.msg(r.data) + } + }) + }, + success:function(){ + form.render(); + } + }) + }); });