From 24466054c713756e850b61e2a2542750cc10e6f3 Mon Sep 17 00:00:00 2001 From: zhuyu Date: Thu, 15 May 2025 16:35:19 +0800 Subject: [PATCH] feature: kpi template --- application/admin/controller/kpi/Template.php | 36 ++++++++++++++++++- application/admin/lang/zh-cn/kpi/item.php | 4 --- application/admin/model/kpi/Item.php | 14 -------- application/admin/view/kpi/template/add.html | 6 ++++ application/admin/view/kpi/template/edit.html | 6 ++++ 5 files changed, 47 insertions(+), 19 deletions(-) diff --git a/application/admin/controller/kpi/Template.php b/application/admin/controller/kpi/Template.php index e5f52f4..1bbc3bb 100644 --- a/application/admin/controller/kpi/Template.php +++ b/application/admin/controller/kpi/Template.php @@ -2,8 +2,10 @@ namespace app\admin\controller\kpi; +use app\admin\model\AuthGroup; use app\common\controller\Backend; use Exception; +use fast\Tree; use PDOException; use think\Db; use think\exception\ValidateException; @@ -27,6 +29,34 @@ class Template extends Backend parent::_initialize(); $this->model = new \app\admin\model\kpi\Template; + $this->childrenAdminIds = $this->auth->getChildrenAdminIds($this->auth->isSuperAdmin()); + $this->childrenGroupIds = $this->auth->getChildrenGroupIds($this->auth->isSuperAdmin()); + + $groupList = collection(AuthGroup::where('id', 'in', $this->childrenGroupIds)->select())->toArray(); + + Tree::instance()->init($groupList); + $groupdata = []; + if ($this->auth->isSuperAdmin()) { + $result = Tree::instance()->getTreeList(Tree::instance()->getTreeArray(0)); + foreach ($result as $k => $v) { + $groupdata[$v['id']] = $v['name']; + } + } else { + $result = []; + $groups = $this->auth->getGroups(); + foreach ($groups as $m => $n) { + $childlist = Tree::instance()->getTreeList(Tree::instance()->getTreeArray($n['id'])); + $temp = []; + foreach ($childlist as $k => $v) { + $temp[$v['id']] = $v['name']; + } + $result[__($n['name'])] = $temp; + } + $groupdata = $result; + } + + $this->view->assign('groupdata', $groupdata); + } @@ -90,7 +120,8 @@ class Template extends Backend $this->model->validateFailException()->validate($validate); } - + $group = $this->request->post("group/a"); + $params['group_id'] = $group[0]; $params['create_time'] = date('Y-m-d H:i:s'); $params['update_time'] = date('Y-m-d H:i:s'); @@ -153,6 +184,7 @@ class Template extends Backend $assignKpiitem = json_encode($assignKpiitem); $this->view->assign('assignkpiitem', $assignKpiitem); + $this->view->assign("groupid", $row['group_id']); $this->view->assign('row', $row); return $this->view->fetch(); } @@ -171,6 +203,8 @@ class Template extends Backend $row->validateFailException()->validate($validate); } + $group = $this->request->post("group/a"); + $params['group_id'] = $group[0]; $params['update_time'] = date('Y-m-d H:i:s'); $result = $row->allowField(true)->save($params); diff --git a/application/admin/lang/zh-cn/kpi/item.php b/application/admin/lang/zh-cn/kpi/item.php index 02ac00d..33d828c 100644 --- a/application/admin/lang/zh-cn/kpi/item.php +++ b/application/admin/lang/zh-cn/kpi/item.php @@ -3,10 +3,6 @@ return [ 'Id' => 'ID', 'Admin_id' => '创建人id', - 'Type' => '指标类型', - 'Type 1' => '派单员', - 'Type 2' => '运营', - 'Type 3' => '售前', 'Name' => '名称', 'Desc' => '描述', 'Target_value' => '目标值', diff --git a/application/admin/model/kpi/Item.php b/application/admin/model/kpi/Item.php index 03fb6ed..5da467f 100644 --- a/application/admin/model/kpi/Item.php +++ b/application/admin/model/kpi/Item.php @@ -28,13 +28,7 @@ class Item extends Model 'type_text', 'unit_text' ]; - - - public function getTypeList() - { - return ['1' => __('Type 1'), '2' => __('Type 2'), '3' => __('Type 3')]; - } public function getUnitList() { @@ -42,14 +36,6 @@ class Item extends Model } - public function getTypeTextAttr($value, $data) - { - $value = $value ?: ($data['type'] ?? ''); - $list = $this->getTypeList(); - return $list[$value] ?? ''; - } - - public function getUnitTextAttr($value, $data) { $value = $value ?: ($data['unit'] ?? ''); diff --git a/application/admin/view/kpi/template/add.html b/application/admin/view/kpi/template/add.html index 8cfc8d9..98cdc5f 100644 --- a/application/admin/view/kpi/template/add.html +++ b/application/admin/view/kpi/template/add.html @@ -1,5 +1,11 @@
+
+ +
+ {:build_select('group', $groupdata, null, ['class'=>'form-control selectpicker', 'data-rule'=>'required'])} +
+
diff --git a/application/admin/view/kpi/template/edit.html b/application/admin/view/kpi/template/edit.html index dd0a4bb..f81ff7e 100644 --- a/application/admin/view/kpi/template/edit.html +++ b/application/admin/view/kpi/template/edit.html @@ -1,5 +1,11 @@ +
+ +
+ {:build_select('group', $groupdata, $groupid, ['class'=>'form-control selectpicker', 'data-rule'=>'required'])} +
+