diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php index dee0724386..c0f153b909 100644 --- a/module/block/lang/zh-cn.php +++ b/module/block/lang/zh-cn.php @@ -589,7 +589,7 @@ $lang->block->projectstatistic->lastestExecution = '最新执行'; $lang->block->projectstatistic->projectClosed = "{$lang->projectCommon}已关闭"; $lang->block->projectstatistic->longTimeProject = "长期{$lang->projectCommon}"; $lang->block->projectstatistic->totalProgress = '总进度'; -$lang->block->projectstatistic->totalProgressTip = "项目总进度=按项目统计的任务消耗工时数/(按项目统计的任务消耗工时数+按项目统计的任务剩余工时数)
按项目统计的任务消耗工时数:项目中任务的消耗工时数求和,过滤已删除的任务,过滤父任务,过滤已删除执行的任务 过滤已删除的项目。
按项目统计的任务剩余工时数:项目中任务的剩余工时数求和,过滤已删除的任务,过滤父任务,过滤已删除执行的任务 过滤已删除的项目。"; +$lang->block->projectstatistic->totalProgressTip = "项目总进度=按项目统计的任务消耗工时数/(按项目统计的任务消耗工时数+按项目统计的任务剩余工时数)
按项目统计的任务消耗工时数:项目中任务的消耗工时数求和,过滤已删除的任务,过滤父任务,过滤已删除执行的任务。
按项目统计的任务剩余工时数:项目中任务的剩余工时数求和,过滤已删除的任务,过滤父任务,过滤已删除执行的任务。"; $lang->block->projectstatistic->currentCost = '当前成本'; $lang->block->projectstatistic->sv = '进度偏差率(SV)'; $lang->block->projectstatistic->pv = '计划完成(PV)'; @@ -710,9 +710,8 @@ $lang->block->tooltips['effectiveStory'] = '按产品统计的研发需求总 $lang->block->tooltips['deliveredStory'] = '按产品统计的已交付研发需求数:产品中研发需求个数求和,所处阶段为已发布或关闭原因为已完成,过滤已删除的研发需求,过滤已删除的产品。'; $lang->block->tooltips['costs'] = '已投入=已消耗工时/每日可用工时'; $lang->block->tooltips['sv'] = '进度偏差率=(EV-PV)/PV*100% '; -$lang->block->tooltips['ev'] = "实际完成=按项目统计的任务预计工时数*按项目统计的任务进度,过滤已删除的任务,过滤已取消的任务,过滤已删除执行下的任务,过滤已删除的项目。\n 按项目统计的任务预计工时数:项目中任务的预计工时数求和,过滤已删除的任务,过滤父任务,过滤已删除执行的任务,过滤已删除的项目。"; +$lang->block->tooltips['ev'] = '实际完成=按项目统计的任务预计工时数*按项目统计的任务进度,过滤已删除的任务,过滤已取消的任务,过滤已删除执行下的任务,过滤已删除的项目。\n 按项目统计的任务预计工时数:项目中任务的预计工时数求和,过滤已删除的任务,过滤父任务,过滤已删除执行的任务,过滤已删除的项目。'; $lang->block->tooltips['pv'] = '计划完成:瀑布项目中所有任务的预计工时之和,过滤已删除的任务,过滤已取消的任务,过滤已删除的执行的任务,过滤已删除的项目。'; $lang->block->tooltips['cv'] = '成本偏差率=(EV-AC)/AC*100%'; $lang->block->tooltips['ac'] = '实际花费:瀑布项目中所有日志记录的工时之和,过滤已删除的项目。'; -$lang->block->tooltips['executionProgress'] = "执行进度=按执行统计的任务消耗工时数/(按执行统计的任务消耗工时数+按执行统计的任务剩余工时数)
按执行统计的任务消耗工时数:执行中任务的消耗工时数求和,过滤已删除的任务,过滤父任务,过滤已删除的执行,过滤已删除的项目。
按执行统计的任务剩余工时数:执行中任务的剩余工时数求和,过滤已删除的任务,过滤父任务,过滤已删除的执行,过滤已删除的项目。"; -$lang->block->tooltips['closedBugRate'] = "Bug修复率=按产品统计的已修复Bug数/按产品统计的有效Bug数。
按产品统计的已修复Bug数:产品中Bug的个数求和,解决方案为已解决,状态为已关闭,过滤已删除的Bug,过滤已删除的产品。
按产品统计的有效Bug数:产品中所有Bug个数求和,解决方案为已解决、延期处理或状态为激活,过滤已删除的Bug,过滤已删除的产品。"; +$lang->block->tooltips['executionProgress'] = '执行进度=按执行统计的任务消耗工时数/(按执行统计的任务消耗工时数+按执行统计的任务剩余工时数)
按执行统计的任务消耗工时数:执行中任务的消耗工时数求和,过滤已删除的任务,过滤父任务,过滤已删除的执行,过滤已删除的项目。
按执行统计的任务剩余工时数:执行中任务的剩余工时数求和,过滤已删除的任务,过滤父任务,过滤已删除的执行,过滤已删除的项目。'; diff --git a/module/block/ui/qastatisticblock.html.php b/module/block/ui/qastatisticblock.html.php index 8bcd90f27d..97e9fbe4f9 100644 --- a/module/block/ui/qastatisticblock.html.php +++ b/module/block/ui/qastatisticblock.html.php @@ -166,23 +166,8 @@ statisticBlock div(span(setClass('text-2xl font-bold'), $product->closedBugRate), '%'), div ( - setClass('row text-sm text-gray items-center gap-1'), - $lang->block->qastatistic->closedBugRate, - icon - ( - 'help', - setClass('text-light text-sm'), - toggle::tooltip - ( - array - ( - 'content' => array('html' => $lang->block->tooltips['closedBugRate']), - 'placement' => 'bottom', - 'type' => 'white', - 'className' => 'text-dark border border-light leading-5' - ) - ) - ) + setClass('row text-gray items-center gap-1'), + $lang->block->qastatistic->closedBugRate ) ), row diff --git a/module/block/ui/singlebugstatisticblock.html.php b/module/block/ui/singlebugstatisticblock.html.php index a46d92f2dc..3cc29db592 100644 --- a/module/block/ui/singlebugstatisticblock.html.php +++ b/module/block/ui/singlebugstatisticblock.html.php @@ -28,30 +28,19 @@ panel div ( setClass('flex justify-center w-full'), - zui::progressCircle + progressCircle ( - set('percent', $resolvedRate), - set('size', 112), - set('circleWidth', 6), - set('text', $resolvedRate . '%'), - set('textY', 50), - set('textStyle', 'font-size: 30px;') - ) - ), - div - ( - setClass('flex justify-center w-full h-0'), - span - ( - setClass('text-gray text-sm progress-text'), - $lang->block->qastatistic->fixBugRate, - icon + set::percent($resolvedRate), + set::size(112), + set::text(false), + set::circleWidth(0.06), + div(span(setClass('text-2xl font-bold'), $resolvedRate), '%'), + div ( - setClass('pl-0.5'), - toggle::tooltip(array('title' => '提示文本')), - 'help' + setClass('row text-gray items-center gap-1'), + $lang->block->qastatistic->closedBugRate ) - ) + ), ), cell ( diff --git a/module/block/ui/singlestatisticblock.html.php b/module/block/ui/singlestatisticblock.html.php index d2c50a7a6f..591cc4aed2 100644 --- a/module/block/ui/singlestatisticblock.html.php +++ b/module/block/ui/singlestatisticblock.html.php @@ -50,118 +50,110 @@ panel setClass('flex h-full ' . ($longBlock ? '' : 'col')), cell ( - $longBlock ? set('width', '40%') : null, + $longBlock ? set::width('40%') : setClass('my-4'), + setClass('flex items-center'), setClass($longBlock ? 'p-4' : 'px-4'), - div + center ( - setClass('chart pie-chart ' . ($longBlock ? 'py-6' : 'py-1')), - echarts + setClass('flex-1 gap-4'), + progressCircle ( - set::color(array('#2B80FF', '#E3E4E9')), - set::series + set::percent($product->storyDeliveryRate), + set::size(112), + set::text(false), + set::circleWidth(0.06), + div(span(setClass('text-2xl font-bold'), $product->storyDeliveryRate), '%'), + div ( - array + setClass('row text-sm text-gray items-center gap-1'), + $lang->block->productstatistic->deliveryRate, + icon ( - array + setClass('text-light text-sm'), + toggle::tooltip ( - 'type' => 'pie', - 'radius' => array('80%', '90%'), - 'itemStyle' => array('borderRadius' => '40'), - 'label' => array('show' => false), - 'data' => array($product->storyDeliveryRate, 100 - $product->storyDeliveryRate) - ) + array + ( + 'title' => $lang->block->tooltips['deliveryRate'], + 'placement' => 'bottom', + 'type' => 'white', + 'className' => 'text-dark border border-light leading-5' + ) + ), + 'help' ) ) - )->size('100%', 120), + ), div ( - set::className('pie-chart-title text-center h-0'), - div(span(set::className('text-2xl font-bold'), $product->storyDeliveryRate . '%')), - div + setClass('flex h-full story-num w-44'), + cell ( - span + setClass('flex-1 text-center'), + div ( - setClass('text-sm text-gray'), - $lang->block->productstatistic->deliveryRate, - icon + common::hasPriv('product', 'browse') && $product->totalStories ? a ( - 'help', - setClass('text-light'), - toggle::tooltip(array('title' => '提示文本')) + set('href', helper::createLink('product', 'browse', "productID={$product->id}&branch=all&browseType=allStory¶m=0&storyType=story")), + $product->totalStories + ) : span + ( + $product->totalStories + ) + ), + div + ( + span + ( + setClass('text-sm text-gray'), + $lang->block->productstatistic->effectiveStory ) ) - ) - ) - ), - div - ( - setClass('flex h-full story-num w-44'), - cell - ( - setClass('flex-1 text-center'), - div + ), + cell ( - common::hasPriv('product', 'browse') && $product->totalStories ? a + setClass('flex-1 text-center'), + div ( - set('href', helper::createLink('product', 'browse', "productID={$product->id}&branch=all&browseType=allStory¶m=0&storyType=story")), - $product->totalStories - ) : span + common::hasPriv('product', 'browse') && $product->closedStories ? a + ( + set('href', helper::createLink('product', 'browse', "productID={$product->id}&branch=all&browseType=closedstory¶m=0&storyType=story")), + $product->closedStories + ) : span + ( + $product->closedStories + ) + ), + div ( - $product->totalStories + span + ( + setClass('text-sm text-gray'), + $lang->block->productstatistic->delivered + ) ) ), - div + cell ( - span + setClass('flex-1 text-center'), + div ( - setClass('text-sm text-gray'), - $lang->block->productstatistic->effectiveStory - ) - ) - ), - cell - ( - setClass('flex-1 text-center'), - div - ( - common::hasPriv('product', 'browse') && $product->closedStories ? a + common::hasPriv('product', 'browse') && $product->unclosedStories ? a + ( + set('href', helper::createLink('product', 'browse', "productID={$product->id}&branch=all&browseType=unclosed¶m=0&storyType=story")), + $product->unclosedStories + ) : span + ( + $product->unclosedStories + ) + ), + div ( - set('href', helper::createLink('product', 'browse', "productID={$product->id}&branch=all&browseType=closedstory¶m=0&storyType=story")), - $product->closedStories - ) : span - ( - $product->closedStories - ) - ), - div - ( - span - ( - setClass('text-sm text-gray'), - $lang->block->productstatistic->delivered - ) - ) - ), - cell - ( - setClass('flex-1 text-center'), - div - ( - common::hasPriv('product', 'browse') && $product->unclosedStories ? a - ( - set('href', helper::createLink('product', 'browse', "productID={$product->id}&branch=all&browseType=unclosed¶m=0&storyType=story")), - $product->unclosedStories - ) : span - ( - $product->unclosedStories - ) - ), - div - ( - span - ( - setClass('text-sm text-gray'), - $lang->block->productstatistic->unclosed + span + ( + setClass('text-sm text-gray'), + $lang->block->productstatistic->unclosed + ) ) ) )