1、修复栏目管理内生成导航bug

2、修复api接口bug
This commit is contained in:
2020-04-27 08:52:07 +08:00
parent 246c95d956
commit 76254dc394
4 changed files with 37 additions and 142 deletions

View File

@@ -12,6 +12,7 @@ namespace app\controller\admin;
use app\model\Category as CategoryM;
use app\model\Attribute;
use app\model\Model;
use app\model\Channel;
/**
* @title 栏目管理
@@ -269,40 +270,34 @@ class Category extends Base {
* @author huajie <banhuajie@163.com>
*/
public function add_channel() {
if ($this->request->isPost()) {
$Channel = model('Channel');
$data = $this->request->param();
if ($data) {
$id = $Channel->save($data);
if ($id) {
$map['id'] = array('IN', $data['mid']);
$result = db('Category')->where($map)->setField('ismenu',$Channel->id);
return $this->success('生成成功',url('index'));
//记录行为
action_log('update_channel', 'channel', $id, session('user_auth.uid'));
} else {
return $this->error('生成失败');
}
if ($this->request->isPost()) {
$data = $this->request->param();
if ($data) {
$mid = $data['id'];
$data['status'] = 1;
unset($data['id']);
$channel = Channel::create($data);
if ($channel->id) {
$result = CategoryM::update(['ismenu'=>$channel->id], ['id' => $mid]);
return $this->success('生成成功',url('/admin/category/index'));
} else {
$this->error($Channel->getError());
return $this->error('生成失败');
}
} else {
$data = $this->request->param();
$modelname = db('Model')->where( array('id' => $data['model_id']) )->field('id,name')->find();
$data['url'] = $modelname['name'].'/list/'.$data['mid'];
$pid = input('pid', 0);
//获取父导航
if (!empty($pid)) {
$parent = db('Channel')->where(array('id' => $pid))->field('title')->find();
$this->assign('parent', $parent);
}
$pnav = db('Channel')->where(array('pid' => '0'))->select();
$this->assign('pnav', $pnav);
$this->assign('pid', $pid);
$this->assign('info', $data);
$this->assign('data',null );
$this->setMeta('生成导航');
return $this->fetch('edit_channel');
$this->error($Channel->getError());
}
} else {
$data = $this->request->param();
$info = CategoryM::where('id', $data['id'])->field('id, title,model_id,pid')->find()->toArray();
$modelname = Model::where('id', $data['model_id'])->value('name');
$info['url'] = '/' . $modelname.'/list/'.$data['id'];
$data['pid'] = CategoryM::where('id', $info['pid'])->value('ismenu');
$data['pid'] = isset($data['pid']) ? $data['pid'] : 0;
$this->data = [
'info' => $info
];
return $this->fetch('admin/channel/edit');
}
}
}

View File

@@ -159,6 +159,8 @@ DROP TABLE IF EXISTS `sent_auth_group_access`;
CREATE TABLE `sent_auth_group_access` (
`uid` int(10) unsigned NOT NULL COMMENT '用户id',
`group_id` mediumint(8) unsigned NOT NULL COMMENT '用户组id',
`data_auth` text COMMENT '数据权限',
`api_auth` text COMMENT '接口权限',
UNIQUE KEY `uid_group_id` (`uid`,`group_id`),
KEY `uid` (`uid`),
KEY `group_id` (`group_id`)
@@ -524,6 +526,14 @@ CREATE TABLE `sent_member_extend_setting` (
DROP TABLE IF EXISTS `sent_member_log`;
CREATE TABLE `sent_member_log` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`uid` int(11) DEFAULT '0' COMMENT '操作用户',
`title` varchar(100) NOT NULL DEFAULT '' COMMENT '操作名称',
`method` varchar(20) NOT NULL DEFAULT 'GET' COMMENT '操作类型',
`url` varchar(150) NOT NULL DEFAULT '' COMMENT '操作地址',
`param` varchar(150) NOT NULL DEFAULT '' COMMENT '操作参数',
`client_ip` varchar(30) NOT NULL DEFAULT '' COMMENT '客户端IP',
`visite_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '访问时间',
`create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户日志表';

View File

@@ -1,110 +0,0 @@
{extend name="admin/public/base"/}
{block name="body"}
<!-- datepicker end -->
<div class="box box-primary">
<div class="box-header with-border">
<h3 class="box-title">{$meta_title}</h3>
</div>
<div class="box-body">
<form method="post" class="form form-horizontal" role="form">
<div class="form-group">
<label class="col-lg-2 control-label">导航标题</label>
<div class="col-lg-6">
<input type="text" class="form-control" name="title" value="{$info.title|default=''}">
<span class="help-block">(用于显示的文字)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">当前标识</label>
<div class="col-lg-6">
<input type="text" class="form-control" name="active" value="{$info.active|default=''}">
<span class="help-block">(当前标识)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">导航连接</label>
<div class="col-lg-8">
<input type="text" class="form-control" name="url" value="{$info.url|default=''}">
<span class="help-block">用于调转的URL支持带http://的URL或U函数参数格式</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">导航类型</label>
<div class="col-lg-8">
<select name="type" id="type" class="form-control" style="width:auto;">
{volist name=":config('nav_type_list')" id="item"}
<option value="{$key}" {if isset($info['type']) && $info['type'] == $key}selected{/if}>{$item}</option>
{/volist}
</select>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">父导航</label>
<div class="col-lg-5">
<select name="pid" class="form-control" style="width:auto;">
<option value="0">--一级导航--</option>
{volist name=":parse_field_bind('Channel',$data['pid'],'')" id="item"}
{if condition="$item['id'] neq $data['id']"}
<option value="{$item['id']}" {if condition="$pid eq $item['id']"}selected{/if}>{$item['title_show']}</option>
{/if}
{/volist}
</select>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">新窗口打开</label>
<div class="col-lg-2">
<select name="target" class="form-control" style="width:auto;">
<option value="0" ></option>
<option value="1" {eq name="data.target" value="1"}selected{/eq}></option>
</select>
<span class="help-block">(是否新窗口打开链接)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">图标</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="icon" value="{$info.icon|default=''}">
<span class="help-block">输入图标英文</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">优先级</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="sort" value="{$info.sort|default='1'}">
<span class="help-block">(导航显示顺序)</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">文字颜色</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="color" value="{$info['color']|default=''}">
<span class="help-block">右上角的标志点颜色支持各类css表示方式</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">标志点颜色</label>
<div class="col-lg-2">
<input type="text" class="form-control" name="band_color" value="{$info['band_color']|default=''}">
<span class="help-block">右上角的标志点颜色支持各类css表示方式</span>
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">标志点文字</label>
<div class="col-lg-3">
<input type="text" class="form-control" name="band_text" value="{$info['band_text']|default=''}">
<span class="help-block">(右上角的标志点文字,不要太长,没有自动隐藏)</span>
</div>
</div>
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<input type="hidden" name="id" value="{$data.id|default=''}">
<button class="btn btn-success submit-btn" type="submit">确 定</button>
<button class="btn btn-danger btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
</div>
</div>
</form>
</div>
</div>
{/block}

View File

@@ -62,7 +62,7 @@
{if $list['ismenu']}
<a href="{:url('/admin/channel/del?id='.$list['ismenu'])}" class="ajax-get"><span class="label label-primary">已生成</span></a>
{else/}
<a href="{:url('/admin/category/add_channel', ['id' => $list['id']])}" ><span class="label label-danger">未生成</span></a>
<a href="{:url('/admin/category/add_channel', ['id' => $list['id'], 'model_id'=>$list['model_id']])}" ><span class="label label-danger">未生成</span></a>
{/if}
</td>
<td>