Merge branch 'master' of https://gitlab.zcorp.cc/easycorp/zentaopms
This commit is contained in:
@@ -39,7 +39,7 @@ js::set('confirmDelete', $lang->user->confirmDelete);
|
||||
}
|
||||
else
|
||||
{
|
||||
common::printLink('user', 'create', "dept={$deptID}", "<i class='icon icon-plus'></i> " . $lang->user->create, '', "class='btn btn-primary'");
|
||||
common::printLink('user', 'create', "dept={$deptID}", "<i class='icon icon-plus'></i> " . $lang->user->create, '', "class='btn btn-primary create-user-btn'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
|
||||
.cell .detail .detail-title {padding-left: 5px; list-style: none;}
|
||||
.menu-actions {position: absolute; top: 7px; right: 45px; padding: 7px 8px;}
|
||||
.catalog>a {color: #838a9d !important;}
|
||||
.detail ul {position: relative;}
|
||||
.tail-info {position: absolute; right: 0; padding-left: 10px; padding-top: 1px;}
|
||||
.tail-info, .doc-title, span.item {background: #fff;}
|
||||
|
||||
@@ -220,6 +220,12 @@
|
||||
|
||||
/* If first show without url, then use the default url */
|
||||
if(!url) url = appsMap[appCode].url;
|
||||
|
||||
var iframe = $iframe.get(0);
|
||||
iframe.onload = iframe.onreadystatechange = function(e)
|
||||
{
|
||||
$app.trigger('loadapp', app);
|
||||
};
|
||||
}
|
||||
|
||||
/* Set tab cookie */
|
||||
@@ -278,7 +284,7 @@
|
||||
updateAppUrl(appCode, null, null, true);
|
||||
}
|
||||
|
||||
app.$app.trigger('show.zentaoapp', app);
|
||||
app.$app.trigger('showapp', app);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -318,7 +324,7 @@
|
||||
app.show = false;
|
||||
lastOpenedApp = null;
|
||||
|
||||
app.$app.trigger('hide.zentaoapp', app);
|
||||
app.$app.trigger('hideapp', app);
|
||||
|
||||
/* Active last app */
|
||||
var lastApp = getLastApp(true) || getLastApp();
|
||||
@@ -388,7 +394,7 @@
|
||||
var firstClass = $("#bars li:first").attr('class');
|
||||
if(firstClass == 'divider') $("#bars li.divider:first").remove();
|
||||
|
||||
app.$app.trigger('close.zentaoapp', app);
|
||||
app.$app.trigger('closeapp', app);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -416,7 +422,7 @@
|
||||
iframe.src = url || app.url || iframe.src;
|
||||
}
|
||||
|
||||
if(!notTriggerEvent) app.$app.trigger('reload.zentaoapp', app);
|
||||
if(!notTriggerEvent) app.$app.trigger('reloadapp', app);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
.board-doing .board-doing-project:not(:last-child),
|
||||
.board-doing .board-doing-execution:not(:last-child) {border-bottom: 2px solid #fff;}
|
||||
|
||||
.board-doing-project .table-row .table-col:last-child, .c-progress {width: 30px;}
|
||||
.board-doing-execution .table-row .table-col:last-child, .c-progress {width: 30px;}
|
||||
.board-doing-project .table-row .table-col:last-child,
|
||||
.board-doing-execution .table-row .table-col:last-child, .c-progress {width: 30px; padding-top: 2px}
|
||||
.table-row .table-col:first-child {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
|
||||
|
||||
table th, td {border: 2px solid #fff !important;}
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
<tbody>
|
||||
<?php foreach($projectGroup as $programID => $statusList):?>
|
||||
<tr class='board-program'>
|
||||
<td class='text-center' style='background: <?php echo $lang->project->laneColorList[$colorIndex];?>; color: #fff; padding-left: 2px; writing-mode: vertical-lr;'><?php echo zget($programPairs, $programID);?></td>
|
||||
<td class='text-center' title='<?php echo zget($programPairs, $programID);?>' style='background: <?php echo $lang->project->laneColorList[$colorIndex];?>; color: #fff; padding-left: 2px; writing-mode: vertical-lr;'><?php echo zget($programPairs, $programID);?></td>
|
||||
<?php foreach(array('wait','doing','closed') as $status):?>
|
||||
<?php if($status == 'doing'):?>
|
||||
<td class='board-doing'>
|
||||
@@ -111,7 +111,7 @@
|
||||
<div class='board-project'>
|
||||
<?php if(isset($statusList[$status])):?>
|
||||
<?php foreach($statusList[$status] as $project):?>
|
||||
<div class='board-item' <?php echo "style='border-left: 3px solid " . $lang->execution->statusColorList[$status] . "'";?>>
|
||||
<div class='board-item text-ellipsis' <?php echo "style='border-left: 3px solid " . $lang->execution->statusColorList[$status] . "'";?>>
|
||||
<?php
|
||||
if(common::hasPriv('project', 'index'))
|
||||
{
|
||||
|
||||
@@ -72,6 +72,8 @@ function loadExecutionStories(executionID)
|
||||
else
|
||||
{
|
||||
$('#storyBox').removeClass('hidden');
|
||||
$('#storyBox > a:first').attr('href', createLink('execution', 'linkStory', 'executionID=' + executionID));
|
||||
$('#storyBox > a:nth-child(2)').attr('href', "javascript:loadStories(" + executionID + ")");
|
||||
$('#story').parent().addClass('hidden');
|
||||
}
|
||||
|
||||
|
||||
@@ -154,7 +154,9 @@ class tutorial extends control
|
||||
*/
|
||||
public function ajaxFinish()
|
||||
{
|
||||
$tutorialMode = $this->session->tutorialMode;
|
||||
$this->session->set('tutorialMode', false);
|
||||
$this->loadModel('score')->create('tutorial', 'finish');
|
||||
$this->session->set('tutorialMode', $tutorialMode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -414,14 +414,20 @@ $(function()
|
||||
|
||||
var checkTutorialState = function()
|
||||
{
|
||||
var iWindow = getAppWindow();
|
||||
iWindow = window.frames['iframePage'];
|
||||
tryCheckTask();
|
||||
var iWindow = getAppWindow();
|
||||
var title = (iWindow.$ ? iWindow.$('head > title').text() : '') + $('head > title').text();
|
||||
var url = createLink('tutorial', 'index', 'referer=' + Base64.encode(iWindow.location.href) + '&task=' + current);
|
||||
try{window.history.replaceState({}, title, url);}catch(e){}
|
||||
};
|
||||
|
||||
var checkTimer = 0;
|
||||
var tryCheckTutorialState = function(delay)
|
||||
{
|
||||
clearTimeout(checkTimer);
|
||||
checkTimer = setTimeout(checkTutorialState, delay || 200);
|
||||
};
|
||||
|
||||
var showTask = function(taskName)
|
||||
{
|
||||
clearTips();
|
||||
@@ -482,7 +488,10 @@ $(function()
|
||||
var appsIframe = $('#iframePage').get(0);
|
||||
appsIframe.onload = appsIframe.onreadystatechange = function()
|
||||
{
|
||||
appsWindow.$(appsWindow.document).on('show.zentaoapp close.zentaoapp hide.zentaoapp', checkTutorialState);
|
||||
appsWindow.$(appsWindow.document).on('reloadapp loadapp showapp closeapp hideapp', function()
|
||||
{
|
||||
tryCheckTutorialState(1000);
|
||||
});
|
||||
|
||||
/* Open referer page in app tab */
|
||||
if(tutorialReferer) appsWindow.$.apps.open(tutorialReferer);
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user