123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- <?php
- namespace app\admin\controller;
- use app\admin\common\AdminController;
- use app\common\api\IntegralProjectApi;
- use app\common\api\IntegralItemApi;
- /**
- * Description of IntegralMgr
- * 积分管理
- * @author sgq
- */
- class IntegralMgr extends AdminController {
- public function index() {
- return view();
- }
- public function list() {
- return json(IntegralProjectApi::getList($this->request->param()));
- }
- /**
- * 添加积分项目
- * @return type
- */
- public function add() {
- if ($this->request->isPost()) {
- $params = $this->request->param();
- return $this->doSave($params);
- }
- return view("save");
- }
- /**
- * 编辑积分项目
- * @return type
- */
- public function edit() {
- $params = $this->request->param();
- if ($this->request->isPost()) {
- return $this->doSave($params);
- }
- $row = IntegralProjectApi::getOne($params["id"]);
- return view("save", ["row" => $row]);
- }
- private function doSave($params) {
- // if (!$params["type"]) {
- // return json(["msg" => "请选择人才类别"]);
- // }
- $params["type"] = session('user')['type'];
- if (!$params["name"]) {
- return json(["msg" => "请输入项目名称"]);
- }
- if (!$params["projectType"]) {
- return json(["msg" => "请选择项目类别"]);
- }
- if (!$params["active"]) {
- return json(["msg" => "请设置启用状态"]);
- }
- if (!$params["limit"]) {
- return json(["msg" => "请选择是否上限"]);
- }
- if ($params["limit"] == 1) {
- if (!$params["yearly"]) {
- return json(["msg" => "请选择上限方案"]);
- }
- if (!$params["max"]) {
- return json(["msg" => "请填写积分上限"]);
- }
- if (!is_numeric($params["max"]) || $params["max"] < 1 || $params["max"] != floor($params["max"])) {
- return json(["msg" => "积分上限必需是大于0的整数"]);
- }
- }
- if (IntegralProjectApi::chkExist($params["name"], $params["type"], $params["projectType"], $params["id"]))
- return json(["msg" => "项目名称已经被使用"]);
- $resultStr = $params["id"] ? "编辑" : "添加";
- if (IntegralProjectApi::edit($params))
- return json(["code" => 200, "msg" => "{$resultStr}积分项目成功"]);
- return json(["msg" => "{$resultStr}积分项目失败"]);
- }
- /**
- * 删除积分项目
- * @return type
- */
- public function delete() {
- if ($this->request->isPost()) {
- $id = $this->request->param("id");
- if (IntegralProjectApi::delete($id))
- return json(["code" => 200, "msg" => "删除积分项目成功"]);
- return json(["msg" => "删除积分项目失败"]);
- }
- }
- public function items() {
- return view("items");
- }
- public function itemList() {
- return json(IntegralItemApi::getList($this->request->param()));
- }
- public function addItem() {
- if ($this->request->isPost()) {
- $params = $this->request->param();
- return $this->doItemSave($params);
- }
- return view("save_item");
- }
- public function editItem() {
- $params = $this->request->param();
- if ($this->request->isPost()) {
- return $this->doItemSave($params);
- }
- $row = IntegralItemApi::getOne($params["id"]);
- return view("save_item", ["row" => $row]);
- }
- private function doItemSave($params) {
- if (!$params["projectId"]) {
- return json(["msg" => "请选择积分项目"]);
- }
- if (!$params["name"]) {
- return json(["msg" => "请输入标准名称"]);
- }
- if (!$params["plan"]) {
- return json(["msg" => "请选择积分方案"]);
- }
- if (!$params["unit"]) {
- return json(["msg" => "请输入计量单位"]);
- }
- if (!$params["fstNeedAmount"]) {
- return json(["msg" => "请输入首次达成量"]);
- }
- if (!$params["fstGainPoints"]) {
- //return json(["msg" => "请输入首次获得积分"]);
- }
- if ($params["plan"] == 2) {
- if (!$params["stepNeedAmount"]) {
- return json(["msg" => "请输入每新增量"]);
- }
- if (!$params["stepGainPoints"]) {
- return json(["msg" => "请输入每新增获得积分"]);
- }
- }
- if (!$params["limit"]) {
- return json(["msg" => "请选择是否上限"]);
- }
- if ($params["limit"] == 1) {
- if (!$params["yearly"]) {
- return json(["msg" => "请选择上限方案"]);
- }
- if (!$params["max"]) {
- return json(["msg" => "请填写积分上限"]);
- }
- if (!is_numeric($params["max"]) || $params["max"] < 1 || $params["max"] != floor($params["max"])) {
- return json(["msg" => "积分上限必需是大于0的整数"]);
- }
- }
- if (IntegralItemApi::chkExist($params["name"], $params["projectId"], $params["id"]))
- return json(["msg" => "名称已经被使用"]);
- $resultStr = $params["id"] ? "编辑" : "添加";
- if (IntegralItemApi::edit($params))
- return json(["code" => 200, "msg" => "{$resultStr}积分标准成功"]);
- return json(["msg" => "{$resultStr}积分标准失败"]);
- }
- public function deleteItem() {
- if ($this->request->isPost()) {
- $id = $this->request->param("id");
- if (IntegralItemApi::delete($id))
- return json(["code" => 200, "msg" => "删除积分标准成功"]);
- return json(["msg" => "删除积分标准失败"]);
- }
- }
- public function getProjectsByType() {
- $type = $this->request->param("type") ?: 0;
- $projectType = $this->request->param("projectType") ?: 0;
- $where[] = ["type", "=", $type];
- $where[] = ["active", "=", 1];
- $list = IntegralProjectApi::getAll($where);
- return json($list);
- }
- public function getFilesByType() {
- $type = $this->request->param("type") ?: 0;
- $where[] = ["type", "=", $type];
- $where[] = ["project", "=", 20];
- $where[] = ["active", "=", 1];
- $list = \app\common\api\FileTypeApi::getAll($where);
- return json($list);
- }
- public function getItemsByProject() {
- $projectId = $this->request->param("projectId") ?: 0;
- $where[] = ["projectId", "=", $projectId];
- $where[] = ["active", "=", 1];
- $list = IntegralItemApi::getAll($where);
- return json($list);
- }
- }
|