作者 sgj
1 个管道 的构建 失败 耗费 5 秒

后台完善

... ... @@ -189,7 +189,7 @@ class ActivityController extends AdminBaseController
$data=Db::name('activity_news')
->where('id',$id)
->find();
$activity_type=\db('activity_type')->select()->toArray();
$activity_type=\db('news_type')->select()->toArray();
foreach ($activity_type as $k=>$v){
$activity[$v['id']]['type_name']=$v['type_name'];
$activity[$v['id']]['id']=$v['id'];
... ...
<?php
/**
* Created by PhpStorm.
* auther: sgj
* Date: 2020/10/10
* Time: 11:37
*/
namespace app\admin\controller;
use api\common\model\ClassModel;
use cmf\controller\AdminBaseController;
class OnlineTrainController extends AdminBaseController
{
public function index(){
$param = $this->request->param();
$map=[];
$data=db('class')->where($map)->order('id desc')->paginate(10);
$data->appends($param);
$list=$data->items();
foreach ($list as $k=>$v){
}
$this->assign([
'data'=>$list,
'page'=>$data->render(),
]);
return $this->fetch();
}
/**
* 编辑页面
* @return mixed
*/
public function edit(){
if ($this->request->isPost()){
$data=input();
$id=$data['id'];
unset($data['id']);
$result=db('class')->where('id',$id)->update($data);
if ($result==1){
$this->success('修改成功');
}else{
$this->error('修改失败');
}
}else{
$id=input('id');
$info=db('class')->where('id',$id)->find();
$this->assign('data',$info);
return $this->fetch();
}
}
/**
* 添加信息
* @return mixed
*/
public function add(){
if ($this->request->isPost()){
$data=input();
$result=db('class')->insert($data);
if (!empty($result)){
$this->success('操作成功');
}else{
$this->error('操作失败');
}
}else{
return $this->fetch();
}
}
}
\ No newline at end of file
... ...
... ... @@ -45,6 +45,7 @@ return array (
'ADMIN_NAVMENU_EDITPOST' => '编辑导航菜单提交保存',
'ADMIN_NAVMENU_INDEX' => '导航菜单',
'ADMIN_NAVMENU_LISTORDER' => '导航菜单排序',
'ADMIN_ONLINETRAIN_INDEX' => '在线培训',
'ADMIN_PLUGIN_DEFAULT' => '插件管理',
'ADMIN_PLUGIN_INDEX' => '插件列表',
'ADMIN_PLUGIN_INSTALL' => '插件安装',
... ...
... ... @@ -79,6 +79,16 @@
</td>
</tr>
<tr>
<th><b>作者</b></th>
</tr>
<tr>
<td>
<input class="form-control" type="text" name="author"
value="">
</td>
</tr>
<tr>
<th><b>发布时间</b></th>
</tr>
<tr>
... ...
... ... @@ -90,6 +90,15 @@
</td>
</tr>
<tr>
<th><b>作者</b></th>
</tr>
<tr>
<td>
<input class="form-control" type="text" name="author"
value="{$data.author}">
</td>
</tr>
<tr>
<th>状态</th>
</tr>
<tr>
... ...
<include file="public@header"/>
</head>
<body>
<!--<script type="text/html" id="photos-item-tpl">-->
<!--<li id="saved-image{id}">-->
<!--<input id="photo-{id}" type="hidden" name="photo_urls[]" value="{filepath}">-->
<!--<input class="form-control" id="photo-{id}-name" type="text" name="photo_names[]" value="{name}"-->
<!--style="width: 200px;" title="图片名称">-->
<!--<img id="photo-{id}-preview" src="{url}" style="height:36px;width: 36px;"-->
<!--onclick="imagePreviewDialog(this.src);">-->
<!--<a href="javascript:uploadOneImage('图片上传','#photo-{id}');">替换</a>-->
<!--<a href="javascript:(function(){$('#saved-image{id}').remove();})();">移除</a>-->
<!--</li>-->
<!--</script>-->
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('index')}">培训列表</a></li>
<li class="active"><a href="{:url('add')}">添加培训</a></li>
</ul>
<form action="{:url('add')}" method="post" class="form-horizontal js-ajax-form margin-top-20">
<div class="row">
<div class="col-md-9">
<table class="table table-bordered">
<tr>
<th width="100">标题(限20字)<span class="form-required">*</span></th>
<td>
<input class="form-control" type="text" name="title"
id="title" value="" placeholder="请输入标题"/>
</td>
</tr>
<!--<tr>
<th width="100">摘要(限255字)<span class="form-required">*</span></th>
<td>
<textarea class="form-control" name="abstract"
id="abstract" placeholder="请输入摘要"></textarea>
</td>
</tr>-->
<tr>
<th width="100">内容<span class="form-required">*</span></th>
<td>
<script type="text/plain" id="content" name="content"></script>
</td>
</tr>
<!--<tr>-->
<!--<th>相册</th>-->
<!--<td>-->
<!--<ul id="photos" class="pic-list list-unstyled form-inline">-->
<!--</ul>-->
<!--<a href="javascript:uploadMultiImage('图片上传','#photos','photos-item-tpl');"-->
<!--class="btn btn-sm btn-default">选择图片</a>-->
<!--</td>-->
<!--</tr>-->
</table>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('ADD')}</button>
<a class="btn btn-default" href="javascript:history.back(-1);">{:lang('BACK')}</a>
</div>
</div>
</div>
<div class="col-md-3">
<table class="table table-bordered">
<tr>
<th>缩略图<span class="form-required">(335px*220px)</span></th>
</tr>
<tr>
<td>
<div style="text-align: center;">
<input type="hidden" name="pic" id="thumbnail"
value="{$data.pic|default=''}">
<a href="javascript:uploadOneImage('image upload','#thumbnail');">
<img src="__TMPL__/public/assets/images/default-thumbnail.png"
id="thumbnail-preview"
width="135" style="cursor: pointer"/>
</a>
<input type="button" class="btn btn-sm btn-cancel-thumbnail"
value="取消图片">
</div>
</td>
</tr>
<tr>
<th><b>作者</b></th>
</tr>
<tr>
<td>
<input class="form-control" type="author" name="author"
value="">
</td>
</tr>
<tr>
<th><b>学习时长(h)</b></th>
</tr>
<tr>
<td>
<input class="form-control" type="number" name="work_time"
value="10">
</td>
</tr>
<tr>
<th>状态</th>
</tr>
<tr>
<td>
<div class="checkbox">
<label><input type="checkbox" name="status" value="1" checked>发布</label>
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
<script type="text/javascript">
//编辑器路径定义
var editorURL = GV.WEB_ROOT;
</script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript">
$(function () {
editorcontent = new baidu.editor.ui.Editor();
editorcontent.render('content');
try {
editorcontent.sync();
} catch (err) {
}
$('.btn-cancel-thumbnail').click(function () {
$('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
$('#thumbnail').val('');
});
});
</script>
</body>
</html>
... ...
<include file="public@header"/>
</head>
<body>
<!--<script type="text/html" id="photos-item-tpl">-->
<!--<li id="saved-image{id}">-->
<!--<input id="photo-{id}" type="hidden" name="photo_urls[]" value="{filepath}">-->
<!--<input class="form-control" id="photo-{id}-name" type="text" name="photo_names[]" value="{name}"-->
<!--style="width: 200px;" title="图片名称">-->
<!--<img id="photo-{id}-preview" src="{url}" style="height:36px;width: 36px;"-->
<!--onclick="imagePreviewDialog(this.src);">-->
<!--<a href="javascript:uploadOneImage('图片上传','#photo-{id}');">替换</a>-->
<!--<a href="javascript:(function(){$('#saved-image{id}').remove();})();">移除</a>-->
<!--</li>-->
<!--</script>-->
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('index')}">活动列表</a></li>
<li>
<a href="{:url('add')}">添加活动</a>
</li>
<li class="active"><a href="#">编辑活动</a></li>
</ul>
<form action="{:url('edit')}" method="post" class="form-horizontal js-ajax-form margin-top-20">
<div class="row">
<div class="col-md-9">
<table class="table table-bordered">
<tr>
<th width="100">标题(限20字)<span class="form-required">*</span></th>
<td>
<input class="form-control" type="text" name="title"
id="title" value="{$data.title}" placeholder="请输入标题"/>
<input type="hidden" name="id" value="{$data.id}">
</td>
</tr>
<tr>
<th width="100">内容<span class="form-required">*</span></th>
<td>
<script type="text/plain" id="content" name="content">{:cmf_replace_content_file_url(htmlspecialchars_decode($data.content))}</script>
</td>
</tr>
</table>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
<a class="btn btn-default" href="javascript:history.back(-1);">{:lang('BACK')}</a>
</div>
</div>
</div>
<div class="col-md-3">
<table class="table table-bordered">
<tr>
<th>缩略图<span class="form-required">(335px*220px)</span></th>
</tr>
<tr>
<td>
<div style="text-align: center;">
<input type="hidden" name="pic" id="thumbnail"
value="{$data.thumbnail|default=''}">
<a href="javascript:uploadOneImage('image upload','#thumbnail');">
<if condition="empty($data['pic'])">
<img src="__TMPL__/public/assets/images/default-thumbnail.png"
id="thumbnail-preview"
width="135" style="cursor: pointer"/>
<else/>
<img src="{:cmf_get_image_url($data.pic)}"
id="thumbnail-preview"
width="135" style="cursor: pointer"/>
</if>
</a>
<input type="button" class="btn btn-sm btn-cancel-thumbnail"
value="取消图片">
</div>
</td>
</tr>
<tr>
<th><b>作者</b></th>
</tr>
<tr>
<td>
<input class="form-control" type="author" name="author"
value="{$data.author}">
</td>
</tr>
<tr>
<th><b>学习时长(h)</b></th>
</tr>
<tr>
<td>
<input class="form-control" type="number" name="work_time"
value="{$data.work_time}">
</td>
</tr>
<tr>
<th>状态</th>
</tr>
<tr>
<td>
<div class="checkbox">
<label><input type="checkbox" name="status" value="1" <eq name="$data.status" value="1">checked</eq> >发布</label>
</div>
</td>
</tr>
</table>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
<script type="text/javascript">
//编辑器路径定义
var editorURL = GV.WEB_ROOT;
</script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript">
$(function () {
editorcontent = new baidu.editor.ui.Editor();
editorcontent.render('content');
try {
editorcontent.sync();
} catch (err) {
}
$('.btn-cancel-thumbnail').click(function () {
$('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
$('#thumbnail').val('');
});
$('.btn-cancel-thumbnail1').click(function () {
$('#thumbnail-preview1').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
$('#thumbnail1').val('');
});
});
</script>
</body>
</html>
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('OnlineTrain/index')}">培训列表</a></li>
<li><a href="{:url('OnlineTrain/add')}">添加培训</a></li>
</ul>
<!-- <form class="well form-inline margin-top-20" method="post" action="{:url('activity/index')}">
关键字:
<input type="text" class="form-control" name="keyword" style="width: 150px;" value="{$keyword|default=''}" placeholder="请输入关键字">
<input type="submit" class="btn btn-primary" value="搜索" />
<a class="btn btn-danger" href="{:url('activity/index')}">清空</a>
</form>-->
<form class="js-ajax-form" action="" method="post">
<table class="table table-hover table-bordered">
<div class="table-actions">
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"
data-action="{:url('activity/publish',array('yes'=>1))}" data-subcheck="true">发布
</button>
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"
data-action="{:url('activity/publish',array('no'=>1))}" data-subcheck="true">取消发布
</button>
<button class="btn btn-danger btn-sm js-ajax-submit"
data-action="{:url('activity/delete')}" data-subcheck="true" data-msg="你确定删除吗?">
{:lang('DELETE')}
</button>
</div>
<thead>
<tr>
<th width="15">
<label>
<input type="checkbox" class="js-check-all" data-direction="x" data-checklist="js-check-x">
</label>
</th>
<th width="20">ID</th>
<th width="50">标题</th>
<th width="50">缩略图</th>
<th width="50">学习时长</th>
<th width="100">操作</th>
</tr>
</thead>
<tbody>
<foreach name="data" item="vo">
<tr>
<td>
<input type="checkbox" class="js-check" data-yid="js-check-y" data-xid="js-check-x" name="ids[]"
value="{$vo.id}" title="ID:{$vo.id}">
</td>
<td>{$vo.id}</td>
<td>{$vo.title}</td>
<td>
<notempty name="$vo.pic">
<a href="javascript:parent.imagePreviewDialog('{:cmf_get_image_preview_url($vo.pic)}');">
<img height="80px" src="{:cmf_get_image_preview_url($vo.pic)}">
</a>
</notempty>
</td>
<td>{$vo.work_time}</td>
<td>
<a href='{:url("edit",array("id"=>$vo["id"]))}'>{:lang('EDIT')}</a>|
<a class="js-ajax-delete" href="{:url('activity/delete',array('id'=>$vo['id']))}">{:lang('DELETE')}</a>
<a href="{:url('activity/join',array('id'=>$vo['id']))}">查看参加人员</a>
</td>
</tr>
</foreach>
</tbody>
</table>
<div class="pagination">{$page}</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...