Selaa lähdekoodia

管理分类,上下移

MaiXinRong 4 kuukautta sitten
vanhempi
commit
3673efb90f
4 muutettua tiedostoa jossa 17 lisäystä ja 4 poistoa
  1. 11 1
      app/public/js/filing_manage.js
  2. 3 3
      app/service/filing.js
  3. 1 0
      app/view/file/file.ejs
  4. 2 0
      app/view/file/manage.ejs

+ 11 - 1
app/public/js/filing_manage.js

@@ -108,7 +108,7 @@ $(document).ready(function() {
         async setCurFiling(node) {
             filingObj.curFiling = node;
         }
-        moveFiling(node, tree_pid, tree_order) {
+        moveFiling(node, tree_pid, tree_order, reload = false) {
             if (node.file_count > 0) return;
             if (tree_pid === node.source_node.tree_pid && tree_order === node.source_node.tree_order) return;
 
@@ -131,6 +131,7 @@ $(document).ready(function() {
                         }
                     }
                 }
+                self.loadFiling();
             });
         }
         batchUpdateFiling(data, callback) {
@@ -229,6 +230,15 @@ $(document).ready(function() {
         if (!filingObj.curFiling) return;
         filingObj.addChildFiling(filingObj.curFiling);
     });
+    $('#up-move').click(() => {
+        if (!filingObj.curFiling) return;
+        filingObj.moveFiling(filingObj.curFiling, filingObj.curFiling.tree_pid, filingObj.curFiling.source_node.tree_order - 1);
+    });
+    $('#down-move').click(() => {
+        if (!filingObj.curFiling) return;
+        filingObj.moveFiling(filingObj.curFiling, filingObj.curFiling.tree_pid, filingObj.curFiling.source_node.tree_order + 1);
+    });
+
     $('#del-filing-ok').click(() => {
         if (!filingObj.deleteNode) return;
         filingObj.delFiling(filingObj.deleteNode, function() {

+ 3 - 3
app/service/filing.js

@@ -241,12 +241,12 @@ module.exports = app => {
             const filing = await this.getDataById(data.id);
             if (!filing) throw '移动的分类不存在,请刷新页面后重试';
             const parent = await this.getDataById(data.tree_pid);
-            if (!parent) throw '移动后的分类不存在,请刷新页面后重试';
+            if (!parent && filing.tree_pid !== data.tree_pid) throw '移动后的分类不存在,请刷新页面后重试';
             const sibling = await this.getAllDataByCondition({ where: { tree_pid: data.tree_pid, is_deleted: 0 } });
             const posterity = await this.getPosterityData(filing.id);
-            const updateData = { id: filing.id, tree_order: data.tree_order, tree_pid: data.tree_pid, tree_level: parent.tree_level + 1 };
+            const updateData = { id: filing.id, tree_order: data.tree_order, tree_pid: data.tree_pid, tree_level: (parent ? parent.tree_level : 0) + 1 };
             const posterityUpdateData = posterity.map(x => {
-               return { id: x.id,  tree_level: parent.tree_level + 1 - filing.tree_level + x.tree_level };
+               return { id: x.id,  tree_level: (parent ? parent.tree_level : 0) + 1 - filing.tree_level + x.tree_level };
             });
             const siblingUpdateData = [];
             if (data.tree_pid === filing.tree_pid) {

+ 1 - 0
app/view/file/file.ejs

@@ -4,6 +4,7 @@
             <div>资料归集/<%- ctx.subProject.name %></div>
             <div class="ml-auto">
                 <% if (ctx.session.sessionUser.is_admin) { %>
+                <a href="/sp/<%- ctx.subProject.id %>/fm" class="btn btn-outline-primary btn-sm ml-1">管理分类</a>
                 <a class="btn btn-sm btn-outline-primary mr-1" href="#filing-permission" data-toggle="modal" data-backdrop="static" data-target="#filing-permission">授权用户</a>
                 <% } %>
             </div>

+ 2 - 0
app/view/file/manage.ejs

@@ -23,6 +23,8 @@
                         <div class="p-2">
                             <a href="javascript: void(0);" class="btn btn-sm btn-light text-primary" id="add-slibing"><i class="fa fa-plus" aria-hidden="true"></i> 同层</a>
                             <a href="javascript: void(0);" class="btn btn-sm btn-light text-primary" id="add-child"><i class="fa fa-plus" aria-hidden="true"></i> 子项</a>
+                            <a href="javascript: void(0);" class="btn btn-sm btn-light text-primary" id="up-move"><i class="fa fa-arrow-up" aria-hidden="true"></i> 上移</a>
+                            <a href="javascript: void(0);" class="btn btn-sm btn-light text-primary" id="down-move"><i class="fa fa-arrow-down" aria-hidden="true"></i> 下移</a>
                         </div>
                         <div class="ml-auto p-2">
                             <a href="javascript: void(0);" class="btn btn-sm btn-primary" id="multi-setting">附加配置</a>