作者 何书鹏
1 个管道 的构建 通过 耗费 3 秒

合并分支 'heshupeng' 到 'master'

课程目录优化



查看合并请求 !170
... ... @@ -25,14 +25,26 @@ class CourseCatalog extends Backend
{
parent::_initialize();
$this->model = new \app\admin\model\mobile\course\CourseCatalog;
// 目录树
$tree = Tree::instance();
$tree->init(collection($this->model->where('course_id',$type = $this->request->request("course_id"))->order('weigh desc,id desc')->select())->toArray(), 'pid');
$tree->init(collection($this->model->where('course_id',$this->request->request("course_id"))->order('weigh desc,id desc')->select())->toArray(), 'pid');
$this->cataloglist = $tree->getTreeList($tree->getTreeArray(0), 'name');
$catalogdata = [0 => ['name' => __('None')]];
foreach ($this->cataloglist as $k => $v) {
$catalogdata[$v['id']] = $v;
}
// 一级目录
$topcatelog = $this->model
->where('course_id',$this->request->request("course_id"))
->where('pid',0)
->order('weigh desc,id desc')
->select();
$topcatelogList = [0 => ['name' => __('None')]];
foreach ($topcatelog as $k => $v) {
$topcatelogList[$v['id']] = $v;
}
$this->view->assign("parentList", $catalogdata);
$this->view->assign("topcatelogList", $topcatelogList);
}
/**
... ...
<div class="alert alert-danger-light">
<b>温馨提示</b><br>
二级目录支持上传视频
</div>
<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-pid" data-rule="required" class="form-control selectpicker" name="row[pid]">
{foreach name="parentList" item="vo"}
{foreach name="topcatelogList" item="vo"}
<option value="{$key}" {in name="key" value=""}selected{/in}>{$vo.name}</option>
{/foreach}
</select>
... ... @@ -16,7 +20,7 @@
<input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="">
</div>
</div>
<div class="form-group">
<div class="form-group twolog">
<label class="control-label col-xs-12 col-sm-2">{:__('Video')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
... ... @@ -30,13 +34,13 @@
<ul class="row list-inline plupload-preview" id="p-video"></ul>
</div>
</div>
<div class="form-group">
<div class="form-group twolog">
<label class="control-label col-xs-12 col-sm-2">{:__('Play_num_virtual')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-play_num_virtual" data-rule="required" class="form-control" name="row[play_num_virtual]" type="number" value="0">
</div>
</div>
<div class="form-group">
<div class="form-group twolog">
<label class="control-label col-xs-12 col-sm-2">{:__('Play_num_real')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-play_num_real" data-rule="required" class="form-control" name="row[play_num_real]" type="number" value="0" readonly>
... ...
<div class="alert alert-danger-light">
<b>温馨提示</b><br>
二级目录支持上传视频
</div>
<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
<div class="form-group">
<label class="control-label col-xs-12 col-sm-2">{:__('Pid')}:</label>
<div class="col-xs-12 col-sm-8">
<select id="c-pid" data-rule="required" class="form-control selectpicker" name="row[pid]">
{foreach name="parentList" item="vo"}
{foreach name="topcatelogList" item="vo"}
<option value="{$key}" {in name="key" value="$row.pid"}selected{/in}>{$vo.name}</option>
{/foreach}
</select>
... ... @@ -16,7 +20,7 @@
<input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
</div>
</div>
<div class="form-group">
<div class="form-group twolog">
<label class="control-label col-xs-12 col-sm-2">{:__('Video')}:</label>
<div class="col-xs-12 col-sm-8">
<div class="input-group">
... ... @@ -30,13 +34,13 @@
<ul class="row list-inline plupload-preview" id="p-video"></ul>
</div>
</div>
<div class="form-group">
<div class="form-group twolog">
<label class="control-label col-xs-12 col-sm-2">{:__('Play_num_virtual')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-play_num_virtual" data-rule="required" class="form-control" name="row[play_num_virtual]" type="number" value="{$row.play_num_virtual|htmlentities}">
</div>
</div>
<div class="form-group">
<div class="form-group twolog">
<label class="control-label col-xs-12 col-sm-2">{:__('Play_num_real')}:</label>
<div class="col-xs-12 col-sm-8">
<input id="c-play_num_real" data-rule="required" class="form-control" name="row[play_num_real]" type="number" value="{$row.play_num_real|htmlentities}" readonly>
... ...
... ... @@ -28,7 +28,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
[
{checkbox: true},
{field: 'id', title: __('Id')},
{field: 'pid', title: __('Pid')},
{field: 'name', title: __('Name'), align: 'left', formatter:function (value, row, index) {
return value.toString().replace(/(&|&amp;)nbsp;/g, '&nbsp;');
}
... ... @@ -48,12 +47,26 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
},
add: function () {
Controller.api.bindevent();
setTimeout(function () {
$("#c-pid").trigger("change");
}, 100);
},
edit: function () {
Controller.api.bindevent();
setTimeout(function () {
$("#c-pid").trigger("change");
}, 100);
},
api: {
bindevent: function () {
$(document).on("change", "#c-pid", function () {
var pid = $(this).val();
if(pid == 0){
$('.twolog').hide();
}else{
$('.twolog').show();
}
});
Form.api.bindevent($("form[role=form]"));
}
}
... ...