* Finish sort order on dept.

This commit is contained in:
wangyuting
2023-11-27 13:36:50 +08:00
parent 0f4b93d9c2
commit adb4756061
4 changed files with 21 additions and 3 deletions
+1 -1
View File
@@ -40,7 +40,7 @@ class dept extends control
{
if(!empty($_POST))
{
$this->dept->updateOrder($_POST['orders']);
$this->dept->updateOrder(explode(',', $_POST['orders']));
return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'load' => true));
}
}
+9
View File
@@ -18,3 +18,12 @@ window.operateDept = function(event, item, index)
$button.addClass('ajax-submit');
}
}
window.onSort = function(event, orders, parentKey)
{
const url = $.createLink('dept', 'updateOrder');
const form = new FormData();
form.append('orders', orders);
$.ajaxSubmit({url, data:form});
}
+6 -1
View File
@@ -253,7 +253,12 @@ class deptModel extends model
*/
public function updateOrder($orders): bool
{
foreach($orders as $deptID => $order) $this->dao->update(TABLE_DEPT)->set('`order`')->eq($order)->where('id')->eq($deptID)->exec();
$order = 1;
foreach($orders as $deptID)
{
$this->dao->update(TABLE_DEPT)->set('`order`')->eq($order)->where('id')->eq($deptID)->exec();
$order ++;
}
return !dao::isError();
}
+5 -1
View File
@@ -16,9 +16,11 @@ $processTreeAction = function($tree) use (&$processTreeAction)
$canEditDept = hasPriv('dept', 'edit');
$canDeleteDept = hasPriv('dept', 'delete');
$canSortDept = hasPriv('dept', 'updateOrder');
foreach($tree as $node)
{
$actions = array();
if($canSortDept) $actions[] = array('key' => 'sort', 'icon' => 'move', 'hint' => $lang->dept->order, 'onClick' => jsRaw('window.operateDept'));
if($canEditDept) $actions[] = array('key' => 'edit', 'icon' => 'edit', 'hint' => $lang->dept->edit, 'onClick' => jsRaw('window.operateDept'));
if(empty($node->items) && $canDeleteDept) $actions[] = array('key' => 'delete', 'icon' => 'trash', 'hint' => $lang->dept->delete, 'onClick' => jsRaw('window.operateDept'));
if(!empty($node->items)) $node->items = $processTreeAction($node->items);
@@ -90,7 +92,9 @@ sidebar
(
set::id('deptTree'),
set::items($tree),
set::hover(true)
set::hover(true),
set::sortable(array('handle' => '.icon-move')),
set::onSort(jsRaw('window.onSort'))
)
)
);