* zin: refactor task create.
This commit is contained in:
+156
-50
@@ -1,6 +1,18 @@
|
||||
<?php
|
||||
namespace zin;
|
||||
|
||||
\commonModel::setMainMenu();
|
||||
|
||||
$navItems = array();
|
||||
foreach (\customModel::getMainMenu() as $menuItem)
|
||||
{
|
||||
$navItems[] = array(
|
||||
'text' => $menuItem->text,
|
||||
'url' => \commonModel::createMenuLink($menuItem, $app->tab),
|
||||
'active' => $menuItem->order === 1,
|
||||
);
|
||||
}
|
||||
|
||||
page(
|
||||
h::style(<<<END
|
||||
.w-360 { width: 360px; }
|
||||
@@ -10,85 +22,147 @@ page(
|
||||
.w-60 { width: 60px; }
|
||||
.form-label { width: 6rem !important; }
|
||||
END),
|
||||
div(
|
||||
set('title', $title),
|
||||
pageheader
|
||||
(
|
||||
pageheading
|
||||
(
|
||||
set('text', $lang->{$app->tab}->common),
|
||||
set('icon', $app->tab),
|
||||
set('url', \helper::createLink($app->tab, 'browse')),
|
||||
),
|
||||
pagenavbar
|
||||
(
|
||||
setId('navbar'),
|
||||
set('items', $navItems)
|
||||
),
|
||||
pagetoolbar
|
||||
(
|
||||
set('create', array('href' => '#globalCreateMenu')),
|
||||
set('switcher', array('href' => '#switcherMenu', 'text' => '研发管理界面')),
|
||||
block('avatar', avatar(set('name', $app->user->account), set('avatar', $app->user->avatar), set('trigger', '#userMenu')))
|
||||
)
|
||||
),
|
||||
div
|
||||
(
|
||||
setStyle(array('width' => '1000px', 'margin' => '0 auto', 'background' => '#fff')),
|
||||
div(
|
||||
div
|
||||
(
|
||||
setClass('px-8 py-6'),
|
||||
h2(
|
||||
h2
|
||||
(
|
||||
setStyle(array('font-size' => '1.2rem', 'font-weight' => 'bold')),
|
||||
$lang->task->create
|
||||
),
|
||||
),
|
||||
div(
|
||||
div
|
||||
(
|
||||
setStyle(array('padding-left' => '3rem', 'padding-bottom' => '1rem')),
|
||||
formgrid(
|
||||
formgroup(
|
||||
formgrid
|
||||
(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('required' => true, 'text' => $lang->task->execution)),
|
||||
select(
|
||||
setClass('w-360'),
|
||||
set('name', 'execution'),
|
||||
set('items', array_map(function($v, $k) {return array('text' => $v, 'value' => $k, 'selected' => $k == $execution->id);}, $executions, array_keys($executions)))
|
||||
)
|
||||
),
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('required' => true, 'text' => $lang->task->type)),
|
||||
select(
|
||||
select
|
||||
(
|
||||
setClass('w-360'),
|
||||
set('name', 'type'),
|
||||
set('items', array_map(function($v, $k) {return array('text' => $v, 'value' => $k, 'selected' => $k === $task->type);}, $lang->task->typeList, array_keys($lang->task->typeList)))
|
||||
)
|
||||
),
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('text' => $lang->task->module)),
|
||||
formrow(
|
||||
formrow
|
||||
(
|
||||
setClass('items-center'),
|
||||
select(
|
||||
select
|
||||
(
|
||||
setClass('w-360'),
|
||||
set('name', 'module'),
|
||||
set('items', array_map(function($v, $k) {return array('text' => $v, 'value' => $k, 'selected' => $k === $task->module);}, $moduleOptionMenu, array_keys($moduleOptionMenu)))
|
||||
),
|
||||
checkbox(set(array('text' => $lang->task->allModule, 'checked' => true)))
|
||||
checkbox
|
||||
(
|
||||
set('name', 'showAllModule'),
|
||||
set(array('text' => $lang->task->allModule))
|
||||
)
|
||||
),
|
||||
),
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('text' => $lang->task->story)),
|
||||
select(
|
||||
setClass('w-740'),
|
||||
set('name', 'story'),
|
||||
set('items', array_map(function($v, $k) {return array('text' => $v, 'value' => $k, 'selected' => $k === $task->story);}, $stories, array_keys($stories)))
|
||||
)
|
||||
),
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('name', 'name'),
|
||||
set('label', array('text' => $lang->task->name, 'required' => true)),
|
||||
forminput(setClass('w-740')),
|
||||
),
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('name', 'pri'),
|
||||
set('label', array('text' => $lang->task->pri)),
|
||||
setClass('w-360'),
|
||||
select(
|
||||
select
|
||||
(
|
||||
set('items', array_map(function($v, $k) {return array('text' => $v, 'value' => $k, 'selected' => $k === $task->pri);}, $lang->task->priList, array_keys($lang->task->priList)))
|
||||
)
|
||||
),
|
||||
formrow(
|
||||
formrow
|
||||
(
|
||||
setClass('items-center'),
|
||||
formgroup(
|
||||
set('label', array('text' => $lang->task->assignTo)),
|
||||
select(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('text' => $lang->task->assignedTo)),
|
||||
select
|
||||
(
|
||||
set('name', 'assignedTo[]'),
|
||||
setClass('w-360'),
|
||||
set('items', array_map(function($v, $k) {return array('text' => $v, 'value' => $k, 'selected' => $k === $task->assignedTo);}, $members, array_keys($members)))
|
||||
)
|
||||
),
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('text' => $lang->task->estimateAB, 'auto' => true)),
|
||||
inputgroup(set('items', array(
|
||||
array('type' => 'input', 'class' => 'w-60'),
|
||||
array('type' => 'addon', 'text' => 'H'),
|
||||
)))
|
||||
inputgroup
|
||||
(
|
||||
set('items', array(
|
||||
array('type' => 'input', 'class' => 'w-60', 'name' => 'estimate'),
|
||||
array('type' => 'addon', 'text' => 'H'),
|
||||
))
|
||||
)
|
||||
),
|
||||
formgroup(
|
||||
checkbox(set(array('text' => $lang->task->multiple)))
|
||||
formgroup
|
||||
(
|
||||
checkbox
|
||||
(
|
||||
set(array('text' => $lang->task->multiple)),
|
||||
set('name', 'multiple')
|
||||
)
|
||||
)
|
||||
),
|
||||
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('text' => $lang->task->desc)),
|
||||
textarea(
|
||||
textarea
|
||||
(
|
||||
set('name', 'desc'),
|
||||
setClass('form-control w-740'),
|
||||
set(array(
|
||||
'placeholder' => '可以在编辑器直接贴图。快捷键:Command C+V',
|
||||
@@ -96,52 +170,84 @@ page(
|
||||
))
|
||||
)
|
||||
),
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('text' => $lang->files)),
|
||||
formrow(
|
||||
formrow
|
||||
(
|
||||
setClass('items-center'),
|
||||
btn(
|
||||
setClass('text-primary canvas'),
|
||||
set(array(
|
||||
'icon' => 'plus',
|
||||
'text' => $lang->file->addFile
|
||||
))
|
||||
h::label
|
||||
(
|
||||
set('for', 'file'),
|
||||
setClass('btn text-primary canvas'),
|
||||
icon('plus'),
|
||||
span($lang->file->addFile)
|
||||
),
|
||||
h::file
|
||||
(
|
||||
setId('file'),
|
||||
setStyle('display', 'none'),
|
||||
set('name', 'files'),
|
||||
),
|
||||
span('(不超过50M)')
|
||||
)
|
||||
),
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('text' => $lang->task->datePlan)),
|
||||
formrow(
|
||||
formrow
|
||||
(
|
||||
setClass('items-center'),
|
||||
h::date(setClass('form-control w-166')),
|
||||
h::date
|
||||
(
|
||||
setClass('form-control w-166'),
|
||||
set('name', 'estStarted')
|
||||
),
|
||||
span('至'),
|
||||
h::date(setClass('form-control w-166'))
|
||||
h::date
|
||||
(
|
||||
setClass('form-control w-166'),
|
||||
set('name', 'deadline')
|
||||
)
|
||||
)
|
||||
),
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('text' => $lang->story->mailto)),
|
||||
select(
|
||||
select
|
||||
(
|
||||
setClass('w-360'),
|
||||
set('name', 'mailto[]'),
|
||||
set('items', array_map(function($v, $k) {return array('text' => $v, 'value' => $k, 'selected' => $k === str_replace(' ', '', $task->mailto));}, $users, array_keys($users)))
|
||||
)
|
||||
),
|
||||
formgroup(
|
||||
formgroup
|
||||
(
|
||||
set('label', array('text' => $lang->task->afterSubmit)),
|
||||
setClass('items-center'),
|
||||
setStyle(array('align-items' => 'center')),
|
||||
formrow(
|
||||
array_map(function($v, $k) {return radio(set(array('text' => $v, 'value' => $k, 'checked' => $k === (empty($task->id) ? 'continueAdding' : 'toTaskList'))));}, $lang->task->afterChoices, array_keys($lang->task->afterChoices))
|
||||
formrow
|
||||
(
|
||||
array_map(function($v, $k) {return radio(
|
||||
set('name', 'after'),
|
||||
set(array('text' => $v, 'value' => $k, 'checked' => $k === (empty($task->id) ? 'continueAdding' : 'toTaskList')))
|
||||
);}, $lang->task->afterChoices, array_keys($lang->task->afterChoices))
|
||||
)
|
||||
),
|
||||
formgroup(
|
||||
formrow(
|
||||
formgroup
|
||||
(
|
||||
formrow
|
||||
(
|
||||
setClass('justify-center'),
|
||||
btn(
|
||||
btn
|
||||
(
|
||||
set('type', 'submit'),
|
||||
setClass('primary w-106'),
|
||||
$lang->save
|
||||
),
|
||||
btn(
|
||||
btn
|
||||
(
|
||||
set('url', 'javascript:history.go(-1)'),
|
||||
setClass('w-106'),
|
||||
$lang->goback
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user