* [task#150827] Add the function of update order for stage.
This commit is contained in:
@@ -118,6 +118,7 @@ CREATE TABLE IF NOT EXISTS `zt_decision` (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
ALTER TABLE `zt_stage` ADD `workflowGroup` mediumint(8) unsigned NOT NULL DEFAULT '0' AFTER `id`;
|
||||
ALTER TABLE `zt_stage` ADD `order` mediumint(8) unsigned NOT NULL DEFAULT '0' AFTER `editedDate`;
|
||||
|
||||
ALTER TABLE `zt_object` ADD `execution` mediumint(8) unsigned NOT NULL DEFAULT '0' AFTER `project`;
|
||||
ALTER TABLE `zt_object` ADD `categoryTitle` varchar(255) NOT NULL DEFAULT '' AFTER `category`;
|
||||
|
||||
@@ -1973,6 +1973,7 @@ CREATE TABLE IF NOT EXISTS `zt_stage` (
|
||||
`createdDate` datetime NULL,
|
||||
`editedBy` varchar(30) NOT NULL DEFAULT '',
|
||||
`editedDate` datetime NULL,
|
||||
`order` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`deleted` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
@@ -3,6 +3,11 @@ global $lang;
|
||||
$config->stage->dtable = new stdclass();
|
||||
$config->stage->dtable->fieldList['id']['type'] = 'id';
|
||||
|
||||
$config->stage->dtable->fieldList['sort']['title'] = $lang->stage->order;
|
||||
$config->stage->dtable->fieldList['sort']['fixed'] = 'left';
|
||||
$config->stage->dtable->fieldList['sort']['align'] = 'center';
|
||||
$config->stage->dtable->fieldList['sort']['group'] = 1;
|
||||
|
||||
$config->stage->dtable->fieldList['name']['type'] = 'title';
|
||||
|
||||
$config->stage->dtable->fieldList['type']['type'] = 'status';
|
||||
|
||||
@@ -250,4 +250,17 @@ class stage extends control
|
||||
$this->view->stagePoints = $this->stage->getStagePoints($type, $stageID);
|
||||
$this->display();
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新排序。
|
||||
* Update order.
|
||||
*
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function updateOrder()
|
||||
{
|
||||
$sortedIdList = json_decode($this->post->sortedIdList, true);
|
||||
$this->stage->updateOrder($sortedIdList);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
window.renderCell = function(result, info)
|
||||
{
|
||||
if(info.col.name == 'sort')
|
||||
{
|
||||
result[0] = {html: "<i class='icon-move'></i>", className: 'text-gray cursor-move move-stage'};
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
window.onSortEnd = function(from, to, type)
|
||||
{
|
||||
if(!from || !to) return false;
|
||||
|
||||
const url = $.createLink('stage', 'updateOrder');
|
||||
const form = new FormData();
|
||||
form.append('sortedIdList', JSON.stringify(this.state.rowOrders));
|
||||
|
||||
$.ajaxSubmit({url, data: form});
|
||||
return true;
|
||||
}
|
||||
@@ -31,6 +31,7 @@ $lang->stage->DCPpoint = 'DCP Point';
|
||||
$lang->stage->TRname = 'TR Point Name';
|
||||
$lang->stage->DCPname = 'DCP Point Name';
|
||||
$lang->stage->pointFlow = 'Approval Flow';
|
||||
$lang->stage->order = 'Order';
|
||||
|
||||
$lang->stage->typeList['mix'] = 'Mix';
|
||||
$lang->stage->typeList['request'] = 'Story';
|
||||
|
||||
@@ -31,6 +31,7 @@ $lang->stage->DCPpoint = 'DCP Point';
|
||||
$lang->stage->TRname = 'TR Point Name';
|
||||
$lang->stage->DCPname = 'DCP Point Name';
|
||||
$lang->stage->pointFlow = 'Approval Flow';
|
||||
$lang->stage->order = 'Order';
|
||||
|
||||
$lang->stage->typeList['mix'] = 'Mix';
|
||||
$lang->stage->typeList['request'] = 'Story';
|
||||
|
||||
@@ -31,6 +31,7 @@ $lang->stage->DCPpoint = 'DCP Point';
|
||||
$lang->stage->TRname = 'TR Point Name';
|
||||
$lang->stage->DCPname = 'DCP Point Name';
|
||||
$lang->stage->pointFlow = 'Approval Flow';
|
||||
$lang->stage->order = 'Order';
|
||||
|
||||
$lang->stage->typeList['mix'] = 'Mix';
|
||||
$lang->stage->typeList['request'] = 'Story';
|
||||
|
||||
@@ -31,6 +31,7 @@ $lang->stage->DCPpoint = 'DCP评审点';
|
||||
$lang->stage->TRname = 'TR评审点名称';
|
||||
$lang->stage->DCPname = 'DCP评审点名称';
|
||||
$lang->stage->pointFlow = '审批流';
|
||||
$lang->stage->order = '排序';
|
||||
|
||||
$lang->stage->typeList['mix'] = '综合';
|
||||
$lang->stage->typeList['request'] = '需求';
|
||||
|
||||
@@ -384,4 +384,20 @@ class stageModel extends model
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新排序。
|
||||
* Update order.
|
||||
*
|
||||
* @param array $sortedIdList
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function updateOrder(array $sortedIdList)
|
||||
{
|
||||
foreach($sortedIdList as $stageID => $order)
|
||||
{
|
||||
$this->dao->update(TABLE_STAGE)->set('order')->eq($order + 1)->where('id')->eq($stageID)->exec();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,5 +28,9 @@ dtable
|
||||
set::cols($config->stage->dtable->fieldList),
|
||||
set::data($tableData),
|
||||
set::orderBy($orderBy),
|
||||
set::sortLink(createLink('stage', 'browse', "groupID={$groupID}&orderBy={name}_{sortType}"))
|
||||
set::sortLink(createLink('stage', 'browse', "groupID={$groupID}&orderBy={name}_{sortType}")),
|
||||
set::plugins(array('sortable')),
|
||||
set::sortHandler('.move-stage'),
|
||||
set::onSortEnd(jsRaw('window.onSortEnd')),
|
||||
set::onRenderCell(jsRaw('window.renderCell'))
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user