feature: kpi item template
This commit is contained in:
parent
ae305ad1b5
commit
598424b2c5
|
|
@ -136,7 +136,12 @@ class Template extends Backend
|
|||
|
||||
$templateItem = [];
|
||||
$kpiItems = json_decode($params['kpiitem'], true);
|
||||
$kpiItemIds = array_column($kpiItems, 'id');
|
||||
if (count($kpiItemIds) !== count(array_unique($kpiItemIds))) {
|
||||
throw new Exception('指标有重复项');
|
||||
}
|
||||
|
||||
$rateAll = 0;
|
||||
foreach ($kpiItems as $kpiItem) {
|
||||
$templateItem[] = [
|
||||
'admin_id' => $this->auth->id,
|
||||
|
|
@ -144,6 +149,10 @@ class Template extends Backend
|
|||
'item_id' => $kpiItem['id'],
|
||||
'rate' => $kpiItem['rate'],
|
||||
];
|
||||
$rateAll += $kpiItem['rate'];
|
||||
}
|
||||
if ($rateAll != 100) {
|
||||
throw new Exception('指标权重总和必须为100');
|
||||
}
|
||||
|
||||
Db::name('kpi_template_item')
|
||||
|
|
@ -216,7 +225,12 @@ class Template extends Backend
|
|||
|
||||
$templateItem = [];
|
||||
$kpiItems = json_decode($params['kpiitem'], true);
|
||||
$kpiItemIds = array_column($kpiItems, 'id');
|
||||
if (count($kpiItemIds) !== count(array_unique($kpiItemIds))) {
|
||||
throw new Exception('指标有重复项');
|
||||
}
|
||||
|
||||
$rateAll = 0;
|
||||
foreach ($kpiItems as $kpiItem) {
|
||||
$templateItem[] = [
|
||||
'admin_id' => $this->auth->id,
|
||||
|
|
@ -224,6 +238,11 @@ class Template extends Backend
|
|||
'item_id' => $kpiItem['id'],
|
||||
'rate' => $kpiItem['rate'],
|
||||
];
|
||||
$rateAll += $kpiItem['rate'];
|
||||
}
|
||||
|
||||
if ($rateAll != 100) {
|
||||
throw new Exception('指标权重总和必须为100');
|
||||
}
|
||||
|
||||
Db::name('kpi_template_item')
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ return [
|
|||
'Name' => '名称',
|
||||
'Desc' => '描述',
|
||||
'Score' => '单个绩点分',
|
||||
'Max_score' => '最高得分上限',
|
||||
'Create_time' => '创建时间',
|
||||
'Update_time' => '编辑时间'
|
||||
];
|
||||
|
|
|
|||
|
|
@ -24,6 +24,12 @@
|
|||
<input id="c-score" data-rule="required" class="form-control" name="row[score]" type="number" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Max_score')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-max_score" data-rule="required" class="form-control" name="row[max_score]" type="number" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-xs-12">
|
||||
<table class="table fieldlist" data-template="kpiitemtpl" data-name="row[kpiitem]" id="fieldlist-table">
|
||||
|
|
|
|||
|
|
@ -24,6 +24,12 @@
|
|||
<input id="c-score" data-rule="required" class="form-control" name="row[score]" type="number" value="{$row.score|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-xs-12 col-sm-2">{:__('Max_score')}:</label>
|
||||
<div class="col-xs-12 col-sm-8">
|
||||
<input id="c-max_score" data-rule="required" class="form-control" name="row[max_score]" type="number" value="{$row.max_score|htmlentities}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<div class="col-xs-12">
|
||||
<table class="table fieldlist" data-template="kpiitemtpl" data-name="row[kpiitem]" id="fieldlist-table">
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
}
|
||||
},
|
||||
{field: 'score', title: __('Score')},
|
||||
{field: 'max_score', title: __('Max_score')},
|
||||
{field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
|
||||
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user