zentaopms/extension/biz/flow/view/view.html.php
2023-05-16 10:50:42 +08:00

252 lines
10 KiB
PHP

<?php
/**
* The detail view file of flow module of ZDOO.
*
* @copyright Copyright 2009-2016 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
* @license 商业软件,非开源软件
* @author Gang Liu <liugang@cnezsoft.com>
* @package flow
* @version $Id$
* @link http://www.zdoo.com
*/
?>
<?php
include 'header.html.php';
include $app->getModuleRoot() . 'common/view/kindeditor.html.php';
$activeTab = $flow->module;
if($currentType)
{
if(isset($linkedDatas[$currentType]))
{
$activeTab = $currentType;
}
else
{
if($currentMode == 'bysearch') $activeTab = 'common';
}
}
$canLink = $this->flow->isClickable($flow->module, 'link', $data);
$sessionName = $flow->module . 'List';
$browseLink = $this->session->$sessionName ? $this->session->$sessionName : $this->createLink($flow->module, 'browse');
$loadLink = $this->createLink($flow->module, 'link', "dataID=$data->id&linkType=LINKTYPE&mode=MODE");
js::set('moduleName', $flow->module);
js::set('dataID', $data->id);
js::set('linkType', $currentType);
js::set('viewMode', $currentMode);
js::set('loadLink', $loadLink);
?>
<div id='mainTitle' class='clearfix'>
<div class='btn-toolbar pull-left'>
<?php if(!isonlybody()):?>
<?php echo baseHTML::a($browseLink, '<i class="icon icon-back icon-sm"></i> ' . $lang->goback, "class='btn btn-back'");?>
<div class="divider"></div>
<?php endif;?>
<div class="page-title">
<span class="label label-id"><?php echo $data->id;?></span>
<span class="text" title='<?php echo zget($dataPairs, $data->id);?>'><?php echo zget($dataPairs, $data->id);?></span>
</div>
</div>
</div>
<div class='tabs' id='tabsNav'>
<ul class='nav nav-tabs'>
<?php
$attr = $activeTab == $flow->module ? "class='active'" : '';
echo "<li $attr><a href='#{$flow->module}' data-toggle='tab'>{$flow->name}{$lang->flow->detail}</a></li>";
foreach($linkedDatas as $linkType => $datas)
{
$attr = $activeTab == $linkType ? "class='active'" : '';
echo "<li $attr><a href='#{$linkType}' data-toggle='tab'>" . zget($linkPairs, $linkType, '') . '</a></li>';
}
if($canLink)
{
$attr = $activeTab == 'common' ? "class='active'" : "class='hidden'";
$tabTitle = $activeTab == 'common' ? zget($linkPairs, $currentType, '') : $lang->workflowaction->default->actions['link'];
echo "<li $attr><a href='#common' data-toggle='tab'>{$tabTitle}</a></li>";
}
?>
</ul>
<div class='tab-content'>
<?php $active = $activeTab == $flow->module ? 'active' : '';?>
<div id='<?php echo $flow->module;?>' class='tab-pane <?php echo $active;?> <?php if($canLink) echo 'with-link-button';?>'>
<div class='actions'>
<?php if($canLink) echo baseHTML::a('#linkTypeBox', $lang->workflowaction->default->actions['link'], "class='btn btn-primary' data-toggle='modal'");?>
</div>
<div class='main-row'>
<div class='main-col col-9'>
<div class='panel'>
<div class='panel-body'>
<?php
$children = array();
foreach($fields as $field)
{
if(!$field->show) continue;
if($field->position != 'info') continue;
if(isset($childFields[$field->field]))
{
$children[$field->field] = $field->name;
continue;
}
if($field->control == 'file')
{
$filesName = "{$field->field}files";
if(!empty($data->{$filesName}))
{
echo '<p><strong>' . $field->name . $lang->colon . '</strong>' . $this->fetch('file', 'printFiles', array('files' => $data->{$filesName}, 'fieldset' => 'false')) . '</p>';
}
}
else
{
$attr = '';
$relation = zget($relations, $field->field, '');
if($relation && strpos(",$relation->actions,", ',many2one,') === false && strpos(",$relation->actions,", ',many2many,') === false)
{
$prevDataID = isset($data->{$field->field}) ? $data->{$field->field} : 0;
if($prevDataID) $attr = "class='prevP' data-prev='{$relation->prev}' data-next='{$relation->next}' data-action='$flowAction->action' data-field='{$relation->field}' data-dataID='$prevDataID'";
}
echo "<p $attr>";
echo "<strong>" . $field->name . "</strong>";
$fieldValue = '';
if(!empty($data->{$field->field}))
{
if(is_array($data->{$field->field}))
{
foreach($data->{$field->field} as $value) $fieldValue .= $this->flow->processFieldValue($field, $relation, $value) . ' ';
}
else
{
$fieldValue = $this->flow->processFieldValue($field, $relation, $data->{$field->field});
}
}
else
{
if(isset($data->{$field->field}) && $data->{$field->field} === '0') $fieldValue = '0';
}
if($fieldValue !== '') echo ' ' . $lang->colon . ' ' . $fieldValue;
echo '</p>';
}
}
?>
</div>
</div>
<?php foreach($children as $child => $childName):?>
<?php if(empty($childDatas[$child])) continue;?>
<div class='panel panel-block'>
<div class='panel-heading'><strong><?php echo $childName;?></strong></div>
<div class='panel-body scroll'>
<table class='table table-hover table-fixed'>
<thead>
<tr>
<?php foreach($childFields[$child] as $childField):?>
<?php if(!$childField->show) continue;?>
<?php $childWidth = ($childField->width && $childField->width != 'auto' ? $childField->width . 'px' : 'auto');?>
<th style='width: <?php echo $childWidth;?>'><?php echo $childField->name;?></th>
<?php endforeach;?>
</tr>
</thead>
<?php foreach($childDatas[$child] as $childData):?>
<tr>
<?php foreach($childFields[$child] as $childField):?>
<?php if(!$childField->show) continue;?>
<?php
if(strpos(',date,datetime,', ",$childField->control,") !== false)
{
$childValue = formatTime($childData->{$childField->field});
}
else
{
if(is_array($childData->{$childField->field}))
{
$childValues = array();
foreach($childData->{$childField->field} as $value)
{
if(!empty($value)) $childValues[] = zget($childField->options, $value);
}
$childValue = implode(',', $childValues);
}
else
{
$childValue = zget($childField->options, $childData->{$childField->field});
}
}
?>
<td title='<?php echo $childValue;?>'><?php echo $childValue;?></td>
<?php endforeach;?>
</tr>
<?php endforeach;?>
</table>
</div>
</div>
<?php endforeach;?>
<?php $actions = $this->loadModel('action')->getList($flow->module, $data->id);?>
<div class='cell'><?php include $app->getModuleRoot() . 'common/view/action.html.php';?></div>
<?php echo $this->flow->buildOperateMenu($flow, $data, $type = 'view');?>
</div>
<div class='side-col col-3'>
<?php foreach($processBlocks as $blockKey => $block):?>
<div class='panel panel-block'>
<?php if(empty($block->tabs)):?>
<?php if($block->name):?> <div class='panel-heading'><strong><?php echo $block->name;?></strong></div> <?php endif;?>
<?php else:?>
<div class='panel-heading with-nav-tabs'>
<ul class='nav nav-tabs'>
<?php $index = 1;?>
<?php foreach($block->tabs as $tabKey => $tab):?>
<?php $class = $index == 1 ? "class='active'" : '';?>
<li <?php echo $class;?>><a data-toggle="tab" href="#<?php echo $blockKey . '_' . $tabKey;?>Tab"><?php echo $tab->name;?></a></li>
<?php $index ++;?>
<?php endforeach;?>
</ul>
</div>
<?php endif;?>
<?php if(!empty($block->tabs)):?>
<div class='tab-content'>
<?php $index = 1;?>
<?php foreach($block->tabs as $tabKey => $tab):?>
<?php $blockFields = $tab->fields;?>
<?php $class = $index == 1 ? 'active' : '';?>
<div id="<?php echo $blockKey . '_' . $tabKey;?>Tab" class='<?php echo $class;?> tab-pane panel-body no-padding-top'>
<?php include 'block.html.php';?>
</div>
<?php $index ++;?>
<?php endforeach;?>
</div>
<?php else:?>
<div class='panel-body'>
<?php if(!empty($block->fields)):?>
<?php $blockFields = $block->fields;?>
<?php include 'block.html.php';?>
<?php endif;?>
</div>
<?php endif;?>
</div>
<?php endforeach;?>
</div>
</div>
</div>
<?php include 'linked.html.php';?>
<?php if($canLink):?>
<?php include 'linktype.html.php';?>
<?php $active = $activeTab == 'common' ? 'active' : '';?>
<div id='common' class='tab-pane <?php echo $active;?>'>
<div class='actions'>
<?php echo baseHTML::a('#linkTypeBox', $lang->workflowaction->default->actions['link'], "class='btn btn-primary' data-toggle='modal'");?>
</div>
</div>
<?php endif;?>
</div>
</div>
<?php include 'footer.html.php';?>