📖 File Reader
<?php
namespace app\admin\controller;
use adminCreate\form\Form;
use app\admin\common\Common_config;
use app\admin\common\Common_menus;
use think\facade\View;
use think\facade\Db;
class Config extends Base
{
/*菜单栏图标*/
public function menu_icon()
{
return View::fetch();
}
/*菜单设置*/
public function menu_list()
{
return View::fetch();
}
/*菜单设置数据*/
public function menu_list_ajax()
{
$superior_id = input("param.superior_id");
$type_yibu = input("param.type_yibu");
$where = 1;
if (!empty($superior_id)){
$where .= " and superior_id = $superior_id";
}else{
$where .= " and superior_id = 0";
}
if ($type_yibu == 1) {
$list = db::name("config_menus")->where($where)->order("sort desc")->select()->toArray();
}else{
$list = db::name("config_menus")->where($where)->order("sort desc")->page($this->page,$this->limit)->select()->toArray();
}
foreach ($list as $k => $v){
$list[$k]["parentId"] = $v["superior_id"];
$list[$k]["name"] = $v["title"];
$list[$k]["icon"] = '';
$list[$k]["add_time"] = date("Y-m-d H:i",$v["add_time"]);
//二级分类
$list2 = db::name("config_menus")->where("superior_id = $v[id]")->order("sort desc")->select()->toArray();
foreach ($list2 as $k2 => $v2){
$list2[$k2]["parentId"] = $v2["superior_id"];
$list2[$k2]["name"] = $v2["title"];
$list2[$k2]["icon"] = '';
$list2[$k2]["add_time"] = date("Y-m-d H:i",$v2["add_time"]);
}
$list[$k]["children"] = $list2;
}
$count = db::name("config_menus")->where($where)->count();
return $this->layui_json($count,$list);
}
/*菜单栏字段修改*/
public function config_menu_field_update()
{
$id = input("param.id");
$field_name = input("param.field_name");
$info[$field_name] = input("param.value");
db::name("config_menus")->where("id = $id")->data($info)->update();
return $this->succeed_json("操作成功");
}
/*菜单栏详情*/
public function menu_info()
{
$id = input("param.id");
$info = db::name("config_menus")->where("id = $id")->find();
$menu_wire = Common_menus::menu_wire($info["id"],0);
$act_id = 0;
$act_id2 = 0;
if (!empty($menu_wire)){
$menu_wire_arr = explode(',',$menu_wire);
if (count($menu_wire_arr) == 1){
$act_id = $menu_wire_arr[0];
}else if(count($menu_wire_arr) == 2){
$act_id = $menu_wire_arr[1];
$act_id2 = $menu_wire_arr[0];
}
}
$data = [
'info'=>$info,
'act_id'=>$act_id,
'act_id2'=>$act_id2,
];
return $this->succeed_json("ok",$data);
}
/*菜单栏创建*/
public function menu_update()
{
$id = input("param.id")>0?input("param.id"):0;
if (input("post.")){
$info = [
'top_type'=>0,
'superior_id'=>input("param.superior_id"),
'title'=>input("param.title"),
'describe'=>input("param.describe"),
'url'=>input("param.url"),
'sort'=>input("param.sort"),
'icon'=>input("param.icon"),
'is_left'=>input("param.is_left"),
'is_show'=>input("param.is_show"),
'role_type'=>input("param.role_type"),
'add_time'=>time(),
];
if (empty(input("param.superior_id"))){
$info["top_type"] = 1;
}
if (empty($id)){
db::name("config_menus")->insertGetId($info);
}else{
db::name("config_menus")->where("id = $id")->update($info);
}
return $this->succeed_json("操作成功");
}else{
$config_menus = db::name("config_menus")->where("id = $id")->find();
View::assign([
'id'=>$id,
'config_menus'=>$config_menus,
]);
return View::fetch();
}
}
/*菜单栏查询*/
public function menu_act()
{
$superior_id = input("param.superior_id");
$where = 1;
if (!empty($superior_id)){
$where .= " and superior_id = $superior_id";
}else{
$where .= " and superior_id = 0";
}
$list = db::name("config_menus")->where($where)->order("sort desc")->select()->toArray();
$data = [
'list'=>$list,
];
return $this->succeed_json("ok",$data);
}
/*菜单删除*/
public function menu_del()
{
$id = input("param.id");
$count = db::name("config_menus")->where("superior_id = $id")->count();
if (!empty($count)){
return $this->error_json("存在子级栏目,不可删除!");
}
db::name("config_menus")->where("id = $id")->delete();
return $this->succeed_json("删除成功,请手动刷新页面!");
}
/*基本设置*/
public function basic_config()
{
$type = input("param.type");
$where = 1;
if (empty($type)){
$type = 1;
$where .= " and type = 1";
}else{
$where .= " and type = $type";
}
$list = db::name("config")->where("is_show = 1 and ".$where)->order("sort desc")->select();
if ($_POST){
/*获取配置信息*/
$config_name = Common_config::config("'app_edition','app_url'");
if (!empty(input("param.app_edition")) || !empty(input("param.app_url"))){
if (input("param.app_edition") != $config_name["app_edition"] || input("param.app_url") != $config_name["app_url"]){
//创建版本修改记录
$info2 = [
'admin_id'=>$this->admin_id,
'app_edition'=>input("param.app_edition"),
'app_url'=>input("param.app_url"),
'add_time'=>time(),
];
db::name("config_upload_log")->insertGetId($info2);
}
}
foreach ($list as $k => $v){
if ($v["type_field"] == 'file'){
if (!empty($_FILES[$v["field_name"]]['name'])) {
$info["value"] = '/public/uploads/' . $this->upload($v["field_name"]);
}else{
$info["value"] = $v["value"];
}
}else{
$info["value"] = $_POST[$v["field_name"]];
}
db::name("config")->where("id = $v[id]")->data($info)->update();
}
return $this->succeed_json("操作成功");
}else{
View::assign([
'list'=>$list,
'type'=>$type,
]);
return View::fetch();
}
}
/*基本设置地区选择*/
public function basic_config_region_update()
{
$field_name = input("param.field_name");
$region = db::name("region")->order("id asc")->field("id,name")->select()->toArray();
$config = db::name("config")->where("field_name = '$field_name'")->order("id asc")->find();
if ($_POST){
$region_id_arr = input("param.region_id")!=''?input("param.region_id"):[];
$value = '';
foreach ($region_id_arr as $v){
foreach ($region as $v2){
if ($v == $v2["id"]){
$value.= $v2["name"].'/';
}
}
}
$value = $value != ''?substr($value,0,strlen($value)-1):'';
db::name("config")->where("field_name = '$field_name'")->update(['value'=>$value]);
return $this->succeed_json("操作成功");
}else{
$value = $config["value"];
$data = $value != ''?explode('/',$value):[];
$region_arr = [];
foreach ($data as $v){
foreach ($region as $v2){
if ($v == $v2["name"]){
$region_arr[] = $v2["id"];
}
}
}
$form = new Form();
$form->cascader('region_id', '地区', $region_arr)->setOptions(function () {
$menus = Common_config::region_dw();
return $menus;
})->tabs('tabs1');
$form->hidden('field_name',$field_name);
$form->button('/admin/Config/basic_config_region_update');
return $form;
}
}
/**
* 快递公司
*/
public function courier_list()
{
return View::fetch();
}
public function courier_list_ajax()
{
$name = input("param.name");
$where = 1;
if (!empty($name)){
$where .= " and name like '%".$name."%'";
}
$count = db::name("courier")->where($where)->order("sort desc")->count();
$list = db::name("courier")->where($where)->order("sort desc")->page($this->page,$this->limit)->select();
return $this->layui_json($count,$list);
}
/*快递公司列表字段修改*/
public function courier_field_update()
{
$id = input("param.id");
$field_name = input("param.field_name");
$info[$field_name] = input("param.value");
db::name("courier")->where("id = $id")->data($info)->update();
return $this->succeed_json("操作成功");
}
/**
* 快递公司创建
*/
public function courier_upload()
{
$id = input("param.id");
if (input("post.")){
$info = [
'name'=>input("param.name"),
'sort'=>input("param.sort"),
'add_time'=>time(),
];
if (empty($id)){
db::name("courier")->insertGetId($info);
}else{
db::name("courier")->where("id = $id")->data($info)->update();
}
return $this->succeed_json("操作成功");
}else{
$info = ['name'=>'','sort'=>0];
if (!empty($id)){
$info = db::name("courier")->where("id = $id")->find();
}
$upload_url = url('upload/image')->build();
$form = new Form();
$form->input('name', '快递名称',$info["name"])->required();
$form->number('sort', '排序',$info["sort"]);
$form->hidden('id',$id);
$form->button('/admin/Config/courier_upload');
return $form;
}
}
/**
* 快递公司删除
*/
public function courier_del()
{
$id = input("param.id");
db::name("courier")->where("id = $id")->delete();
return $this->succeed_json("删除成功");
}
/*留言列表*/
public function leave_word_list()
{
return View::fetch();
}
/*留言列表信息*/
public function leave_word_list_ajax()
{
$name = input("param.name");
$is_check = input("param.is_check");
$where = 1;
if (!empty($name)){
$where .= " and ( a.describe like '%".$name."%' or b.name like '%".$name."%' or b.mobile like '%".$name."%')";
}
if ($is_check != ''){
$where .= " and a.is_check = $is_check";
}
$list = db::name("leave_word")->alias("a")
->join("user b","a.user_id = b.user_id",'LEFT')
->field("a.*,b.name as user_name,b.mobile as user_mobile")
->where($where)
->order("a.id desc")
->page($this->page,$this->limit)
->select()
->toArray();
foreach ($list as $k => $v){
$list[$k]["add_time"] = date("Y-m-d H:i",$v["add_time"]);
$list[$k]["is_check"] = $v["is_check"]==0?'待查看':'已查看';
}
$count = db::name("leave_word")->alias("a")
->join("user b","a.user_id = b.user_id",'LEFT')
->where($where)
->count();
return $this->layui_json($count,$list);
}
/*留言信息处理*/
public function leave_word_update()
{
$id = input("param.id");
if (input("post.")) {
$info = [
'describe_reply'=>input("param.describe_reply"),
'check_time'=>time(),
'is_check'=>1,
];
db::name("leave_word")->where("id = $id")->data($info)->update();
return $this->succeed_json("操作成功");
}else{
$leave_word_info = db::name("leave_word")->where("id = $id")->find();
$form = new Form();
$form->input('describe', '留言内容',$leave_word_info["describe"])->type('textarea')->disabled(true);
$form->editor('describe_reply', '回复内容',$leave_word_info["describe_reply"])->action('/admin/ad/uploads');
$form->button('/admin/Config/leave_word_update');
$form->hidden('id',$id);
return $form;
}
}
/*留言删除*/
public function leave_word_del()
{
$id = input("param.id");
db::name("leave_word")->where("id = $id")->delete();
return $this->succeed_json("删除成功");
}
/*APP更新日志*/
public function app_upload_log()
{
return View::fetch();
}
/*APP更新日志数据*/
public function app_upload_log_ajax()
{
$list = db::name("config_upload_log")->alias("a")
->join("admin b","a.admin_id = b.admin_id","LEFT")
->field("a.*,b.user_name,b.nickname")
->order("a.id desc")
->page($this->page,$this->limit)
->select()
->toArray();
foreach ($list as $k => $v){
$list[$k]["add_time"] = date("Y-m-d H:i",$v["add_time"]);
}
$count = db::name("config_upload_log")->alias("a")
->join("admin b","a.admin_id = b.admin_id","LEFT")
->field("a.*")
->count();
return $this->layui_json($count,$list);
}
/*其它分类处理*/
public function other_act()
{
$type = input("param.type");
View::assign([
'type'=>$type,
]);
return View::fetch();
}
/*其他分类数据*/
public function other_act_ajax()
{
$type = input("param.type");
$name = input("param.name");
$where = 1;
if (!empty($name)){
$where .= " and name like '%".$name."%'";
}
if (!empty($type)){
$where .= " and type = $type";
}
$list = db::name("other_act")->where($where)->order("id desc")->page($this->page,$this->limit)->select()->toArray();
foreach ($list as $k => $v){
$list[$k]["count_yuyue"] = db::name("user_activity_dianmian")->where("activity_id = $v[id]")->count();
$list[$k]["time_add"] = date("Y-m-d H:i",$v["time_add"]);
}
$count= db::name("other_act")->where($where)->count();
return $this->layui_json($count,$list);
}
/*其它分类字段修改*/
public function other_field_update()
{
$id = input("param.id");
$field_name = input("param.field_name");
$info[$field_name] = input("param.value");
db::name("other_act")->where("id = $id")->data($info)->update();
return $this->succeed_json("操作成功");
}
/*其它分类表单处理*/
public function form_other_update()
{
$id = input("param.id");
$type = input("param.type");
if (input("post.")){
$info = [
'type'=>input("param.type"),
'name'=>input("param.name"),
'is_show'=>0,
'time_add'=>time(),
];
if (empty($id)){
db::name("other_act")->insertGetId($info);
}else{
db::name("other_act")->where("id = $id")->data($info)->update();
}
return $this->succeed_json("操作成功");
}else {
$info = ['name'=>''];
if (!empty($id)){
$info = db::name("other_act")->where("id = $id")->find();
}
$form = new Form();
$form->input('name', '名称',$info["name"])->required();
$form->hidden('id',$id);
$form->hidden('type',$type);
$form->button('/admin/Config/form_other_update');
return $form;
}
}
/*其它分类查询*/
public function other_act_list()
{
$type = input("param.type");
$where = 1;
if (!empty($type)){
$where .= " and type = $type";
}
$list = db::name("other_act")->where($where)->order("id desc")->select()->toArray();
$data = [
'list'=>$list,
];
return $this->succeed_json("ok",$data);
}
/*其它分类删除*/
public function other_act_del()
{
$id = input("param.id");
db::name("other_act")->where("id = $id")->delete();
return $this->succeed_json("删除成功");
}
/*地区管理*/
public function region_list()
{
return View::fetch();
}
/*地区管理数据*/
public function region_list_ajax()
{
$type_yibu = input("param.type_yibu");
$pid = input("param.pid");
$title = input("param.title");
$where = 1;
if (!empty($title)){
$where .= " and name like '%".$title."%'";
}else{
if (!empty($pid)){
$where .= " and pid = $pid";
}else{
$where .= " and level = 1";
}
}
if ($type_yibu == 1) {
$list = db::name("region")->where($where)->order("first asc")->select()->toArray();
}else{
$list = db::name("region")->where($where)->order("first asc")->page($this->page,$this->limit)->select()->toArray();
}
foreach ($list as $k => $v){
$list[$k]["icon"] = '';
//二级分类
$list2 = db::name("region")->where("pid = $v[id]")->order("first asc")->select()->toArray();
foreach ($list2 as $k2 => $v2){
$list2[$k2]["icon"] = '';
}
$list[$k]["children"] = $list2;
}
$count = db::name("region")->where($where)->count();
return $this->layui_json($count,$list);
}
/*地区创建*/
public function region_update()
{
$id = input("param.id");
if (input("post.")){
$province = input("param.province");
$city = input("param.city");
$district = input("param.district");
$province_name = db::name("region")->where("id = $province")->value("name");
$city_name = db::name("region")->where("id = $city")->value("name");
$district_name = db::name("region")->where("id = $district")->value("name");
$pid = 0;
$mergename = '中国';
$level = 0;
if (!empty($province)){
$pid = $province;
$mergename .= ','.$province_name;
$level = 1;
}
if (!empty($city)){
$pid = $city;
$mergename .= ','.$city_name;
$level = 2;
}
if (!empty($district)){
$pid = $district;
$mergename .= ','.$district_name;
$level = 3;
}
$level += 1;
$info = [
'pid'=>$pid,
'name'=>input("param.name"),
'first'=>input("param.first"),
'shortname'=>input("param.name"),
'mergename'=>$mergename.','.input("param.name"),
'level'=>$level,
];
if (empty($id)){
db::name("region")->insertGetId($info);
}else{
db::name("region")->where("id = $id")->data($info)->update();
}
return $this->succeed_json("操作成功");
}else{
$list = db::name("region")->where("pid = 0")->order("id asc")->select()->toArray();
View::assign([
'id'=>$id,
'list'=>$list,
]);
return View::fetch();
}
}
/*地区信息查询*/
public function region_info()
{
$id = input("param.id");
$info = db::name("region")->where("id = $id")->find();
if ($info["level"] == 1){
$info["province_id"] = 0;
$info["city_id"] = 0;
$info["district_id"] = 0;
}else if($info["level"] == 2){
$info["province_id"] = $info["pid"];
$info["city_id"] = 0;
$info["district_id"] = 0;
}else if($info["level"] == 3){
$region = db::name("region")->alias("a")
->join("region b","a.pid = b.id","left")
->join("region c","b.pid = c.id","left")
->field("b.name as city_name,b.id as city_id,c.name as province_name,c.id as province_id")
->where("a.id = $id")
->find();
$info["province_id"]=$region["province_id"];
$info["city_id"]=$region["city_id"];
$info["district_id"] = 0;
}else if($info["level"] == 4){
$region = db::name("region")->alias("a")
->join("region b", "a.pid = b.id","left")
->join("region c", "b.pid = c.id","left")
->join("region d", "c.pid = d.id","left")
->field("b.name as district_name,b.id as district_id,c.name as city_name,c.id as city_id,d.name as province_name,d.id as province_id")
->where("a.id = $id")
->find();
$info["province_id"]=$region["province_id"];
$info["city_id"]=$region["city_id"];
$info["district_id"] = $region["district_id"];
}
$data = [
'info'=>$info,
];
return $this->succeed_json('ok',$data);
}
/*地区信息删除*/
public function region_del()
{
$id = input("param.id");
db::name("region")->where("id = $id")->delete();
return $this->succeed_json('删除成功');
}
/*地区联动*/
public function region_d()
{
$region_id = input("param.region_id");
$list = Common_config::region_d($region_id);
$data = [
'list'=>$list,
];
return $this->succeed_json("ok", $data);
}
/*自提点列表*/
public function warehouse_list()
{
return View::fetch();
}
/*自提点数据*/
public function warehouse_list_ajax()
{
$keyword = input("param.keyword");
$where = 1;
if (!empty($keyword)){
$where .= " and (a.ware_name like '%".$keyword."%' or a.name like '%".$keyword."%' or a.phone like '%".$keyword."%')";
}
$list = db::name("warehouse")->alias("a")
->join("region b","a.province = b.id","left")
->join("region c","a.city = c.id","left")
->join("region d","a.district = d.id","left")
->field("a.*,b.name as province_name,c.name as city_name,d.name as district_name")
->where($where)
->order("a.sort desc,a.id desc")
->page($this->page,$this->limit)
->select()
->toArray();
foreach ($list as $k => $v){
$address = '';
if (!empty($v["province_name"])){
$address .= $v["province_name"].',';
}
if (!empty($v["city_name"])){
$address .= $v["city_name"].',';
}
if (!empty($v["district_name"])){
$address .= $v["district_name"].',';
}
$address = $address != ''?$address.$v["address"]:$v["address"];
$list[$k]["address"] = $address;
$list[$k]["time_add"] = date("Y-m-d H:i",$v["time_add"]);
}
$count = db::name("warehouse")->alias("a")
->join("region b","a.province = b.id","left")
->join("region c","a.city = c.id","left")
->join("region d","a.district = d.id","left")
->where($where)
->count();
return $this->layui_json($count,$list);
}
/*自提点字段修改*/
public function warehouse_field_update()
{
$id = input("param.id");
$field_name = input("param.field_name");
$info[$field_name] = input("param.value");
db::name("warehouse")->where("id = $id")->data($info)->update();
return $this->succeed_json("操作成功");
}
/*自提点创建*/
public function warehouse_update()
{
$id = input("param.id");
if ($_POST){
$info = [
'ware_name'=>input("param.ware_name"),
'name'=>input("param.name"),
'phone'=>input("param.phone"),
'province'=>0,
'city'=>0,
'district'=>0,
'region_id_str'=>'',
'address'=>input("param.address"),
'is_show'=>input("param.is_show"),
'time_add'=>time(),
];
if (!empty(input("param.region_id_str"))){
$info["region_id_str"] = implode(",", input("param.region_id_str"));
if (!empty(input("param.region_id_str")[0])){
$info["province"] = input("param.region_id_str")[0];
}
if (!empty(input("param.region_id_str")[1])){
$info["city"] = input("param.region_id_str")[1];
}
if (!empty(input("param.region_id_str")[2])){
$info["district"] = input("param.region_id_str")[2];
}
}
if (empty($id)){
db::name("warehouse")->insertGetId($info);
}else{
db::name("warehouse")->where("id = $id")->update($info);
}
return $this->succeed_json("操作成功");
}else{
$info = ['ware_name'=>'','name'=>'','phone'=>'','region_id_str'=>[],'address'=>'','is_show'=>1];
if (!empty($id)){
$info = db::name("warehouse")->where("id = $id")->find();
$info["region_id_str"] = $info["region_id_str"] != ''?explode(',',$info['region_id_str']):[];
}
$form = new Form();
$form->tabs('tabs1', '基本信息');
$form->input('ware_name', '自提点名称',$info["ware_name"])->required()->tabs('tabs1');
$form->input('name', '联系人姓名',$info["name"])->required()->tabs('tabs1');
$form->input('phone', '联系人手机号',$info["phone"])->required()->tabs('tabs1');
$form->cascader('region_id_str', '地区', $info["region_id_str"])->setOptions(function () {
$menus = Common_config::region_dw();
return $menus;
})->tabs('tabs1')->required('','array');
$form->input('address', '详细地址',$info["address"])->required()->tabs('tabs1');
$form->radio('is_show', '显示', $info["is_show"])->setOptions(function () {
$menus[] = ['label' => '是', 'value' => '1'];
$menus[] = ['label' => '否', 'value' => '0'];
return $menus;
})->tabs('tabs1')->required();
$form->hidden('id',$id);
$form->button('/admin/Config/warehouse_update');
return $form;
}
}
/*自提点删除*/
public function warehouse_del()
{
$id = input("param.id");
db::name("warehouse")->where("id = $id")->delete();
return $this->succeed_json('删除成功');
}
}