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();
+ }
+ })
+ });
});