2023-03-17 14:36:39 +08:00

198 lines
6.2 KiB
PHP

<?php
/**
* @copyright Copyright (c) 2021 勾股工作室
* @license https://opensource.org/licenses/Apache-2.0
* @link https://www.gougucms.com
*/
declare (strict_types = 1);
namespace app\admin\controller;
use app\admin\BaseController;
use app\admin\model\SupplyTeam as SupplyTeamModel;
use app\admin\validate\SupplyTeamValidate;
use think\exception\ValidateException;
use think\facade\Db;
use think\facade\View;
use app\admin\model\Admin;
class SupplyTeam extends BaseController
{
/**
* 构造函数
*/
public function __construct()
{
$this->model = new SupplyTeamModel();
$this->uid = get_login_admin('id');
}
/**
* 数据列表
*/
public function datalist()
{
if (request()->isAjax()) {
$param = get_params();
$where = [];
$list = $this->model->with('level')->select();
$total = $this->model->count();
// $list = $this->model->getSupplyTeamList($where,$param);
// foreach ($list as $k =>$v){
// $list[$k]['area_id'] = Db::table('fa_geo_area')->where('area_id',$v['parent_code'])->value('area_name');
// $list[$k]['supply_level_id'] = Db::table('fa_supply_level')->where('id',$v['supply_level_id'])->value('name');
// $list[$k]['user_id'] = Db::table('fa_szxc_information_usermsg')->where('user_id',$v['user_id'])->value('name');
// }
$result = ['total' => $total, 'data' => $list];
return table_assign(0, '', $result);
}
else{
return view();
}
}
/**
* 添加
*/
public function add()
{
if (request()->isAjax()) {
$param = get_params();
// 检验完整性
try {
validate(SupplyTeamValidate::class)->check($param);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
$userAdmin = Db::table('fa_szxc_information_useraddress')->where('admin_id', $param['user_id'])->find();
$parent_code = '';
// 验证用户级别,获取对应的区域代码
switch ($userAdmin['auth_range']) {
case 1:
// 单独处理
$parent_code = $userAdmin['village_code']; // 村
break;
case 2:
// 单独处理
$parent_code = $userAdmin['street_id']; // 乡镇
break;
case 3:
// 单独处理
$parent_code = $userAdmin['area_id']; // 区县
break;
case 4:
// 单独处理
$parent_code = Db::table('fa_szxc_information_useraddress')->where('admin_id', $userAdmin['area_id'])->value('city_code'); // 市级
break;
}
$param['auth_range'] = $userAdmin['auth_range']; // 市区线级别
$param['parent_code'] = $parent_code; // 所属区域代码
$this->model->addSupplyTeam($param);
}else{
$geo_area = Db::table('fa_geo_area')->where('city_code',510500)->select();
View::assign('geo_area', $geo_area);
$level = Db::table('fa_supply_level')->whereNotIn('id', [1])->select();
View::assign('level', $level);
//获取用户信息
$this->users = Db::table('fa_szxc_information_useraddress')
->alias('a')
->where('a.status',1)
->whereNotIn('a.id', [1])
->leftJoin ('nk_lihaink_cn.cms_admin b', 'a.admin_id = b.id')
->field('b.id, b.username, b.nickname, a.admin_id, a.street_id, a.area_id, a.village_id, a.village_code, a.brigade_id')
->select();
View::assign('users', $this->users);
return view();
}
}
/**
* 编辑
*/
public function edit()
{
$param = get_params();
if (request()->isAjax()) {
// 检验完整性
try {
validate(SupplyTeamValidate::class)->check($param);
} catch (ValidateException $e) {
// 验证失败 输出错误信息
return to_assign(1, $e->getError());
}
$this->model->editSupplyTeam($param);
}else{
$id = isset($param['id']) ? $param['id'] : 0;
$detail = $this->model->getSupplyTeamById($id);
if (!empty($detail)) {
View::assign('detail', $detail);
$geo_area = Db::table('fa_geo_area')->where('city_code',510500)->select();
View::assign('geo_area', $geo_area);
$level = Db::table('fa_supply_level')->select();
View::assign('level', $level);
//获取用户信息
$this->users = Db::table('fa_szxc_information_usermsg')->where('status',1)->field('user_id,name')->select();
View::assign('users', $this->users);
return view();
}
else{
throw new \think\exception\HttpException(404, '找不到页面');
}
}
}
/**
* 查看信息
*/
public function read()
{
$param = get_params();
$id = isset($param['id']) ? $param['id'] : 0;
$detail = $this->model->getSupplyTeamById($id);
if (!empty($detail)) {
View::assign('detail', $detail);
$geo_area = Db::table('fa_geo_area')->where('city_code',510500)->select();
View::assign('geo_area', $geo_area);
$level = Db::table('fa_supply_level')->select();
View::assign('level', $level);
//获取用户信息
$this->users = Db::table('fa_szxc_information_usermsg')->where('status',1)->field('user_id,name')->select();
View::assign('users', $this->users);
return view();
}
else{
throw new \think\exception\HttpException(404, '找不到页面');
}
}
/**
* 删除
* type=0,逻辑删除,默认
* type=1,物理删除
*/
public function del()
{
$param = get_params();
$id = isset($param['id']) ? $param['id'] : 0;
$type = 1;
$this->model->delSupplyTeamById($id,$type);
}
}