wupengfei 2 лет назад
Родитель
Сommit
164f3c62b0

+ 13 - 10
.idea/workspace.xml

@@ -2,8 +2,11 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="1a36929e-c054-4875-a943-593a74e55fa4" name="Default Changelist" comment="">
+      <change afterPath="$PROJECT_DIR$/application/nutrition/controller/VideoClassify.php" afterDir="false" />
+      <change afterPath="$PROJECT_DIR$/application/nutrition/view/video_classify/form.html" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/application/nutrition/view/video_url/form.html" beforeDir="false" afterPath="$PROJECT_DIR$/application/nutrition/view/video_url/form.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/application/nutrition/view/video_cate/index_test.html" beforeDir="false" afterPath="$PROJECT_DIR$/application/nutrition/view/video_classify/index.html" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/application/nutrition/view/video_cate/index_test1.html" beforeDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -129,7 +132,7 @@
   <component name="PropertiesComponent">
     <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
     <property name="WebServerToolWindowFactoryState" value="false" />
-    <property name="last_opened_file_path" value="$PROJECT_DIR$/application/nutrition/view" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/application/nutrition/controller" />
     <property name="node.js.detected.package.eslint" value="true" />
     <property name="node.js.detected.package.tslint" value="true" />
     <property name="node.js.path.for.package.eslint" value="project" />
@@ -140,19 +143,19 @@
     <property name="two.files.diff.last.used.folder" value="$PROJECT_DIR$" />
   </component>
   <component name="RecentsManager">
-    <key name="CopyFile.RECENT_KEYS">
-      <recent name="D:\zs\gaoyixia\application\nutrition\view" />
-      <recent name="D:\zs\gaoyixia\application\nutrition\controller" />
-      <recent name="D:\zs\gaoyixia\vendor" />
-      <recent name="D:\zs\gaoyixia\application\common\service" />
-      <recent name="D:\zs\gaoyixia\vendor\elasticsearch" />
-    </key>
     <key name="MoveFile.RECENT_KEYS">
       <recent name="D:\zs\gaoyixia\public\a" />
       <recent name="D:\zs\gaoyixia\public" />
       <recent name="D:\zs\gaoyixia\public\wx_cert" />
       <recent name="D:\zs\gaoyixia\application\api\controller" />
     </key>
+    <key name="CopyFile.RECENT_KEYS">
+      <recent name="D:\zs\gaoyixia\application\nutrition\controller" />
+      <recent name="D:\zs\gaoyixia\application\nutrition\view" />
+      <recent name="D:\zs\gaoyixia\vendor" />
+      <recent name="D:\zs\gaoyixia\application\common\service" />
+      <recent name="D:\zs\gaoyixia\vendor\elasticsearch" />
+    </key>
   </component>
   <component name="SvnConfiguration">
     <configuration />
@@ -269,7 +272,7 @@
       <workItem from="1679359715116" duration="25702000" />
       <workItem from="1679532313623" duration="31448000" />
       <workItem from="1679619041819" duration="29965000" />
-      <workItem from="1679706054685" duration="4219000" />
+      <workItem from="1679706054685" duration="5070000" />
     </task>
     <servers />
   </component>

+ 145 - 0
application/nutrition/controller/VideoClassify.php

@@ -0,0 +1,145 @@
+<?php
+namespace app\Nutrition\controller;
+use library\Controller;
+use library\service\MenuService;
+use library\tools\Data;
+use think\Db;
+
+/**
+ * 分类
+ * Class VideoClassify
+ * @package app\nutrition\controller
+ */
+class VideoClassify extends Controller
+{
+
+    /**
+     * 绑定数据表
+     * @var string
+     */
+    protected $table = 'VideoCate';
+
+    /**
+     * 分类列表
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function index()
+    {
+        $this->title = '分类列表';
+        $query = $this->_query($this->table)->where('is_deleted',0)->like('title')
+            ->order('sort desc,id asc')->page();
+    }
+
+    /**
+     * 数据列表处理
+     * @auth true
+     * @menu true
+     * @param array $data
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    protected function _index_page_filter(&$data)
+    {
+
+    }
+
+
+
+
+
+
+
+    /**
+     * 添加分类
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function add()
+    {
+        $this->title = '添加分类';
+        $this->_form($this->table, 'form');
+    }
+
+
+    /**
+     * 编辑分类
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function edit()
+    {
+        $this->title = '编辑分类';
+        $this->_form($this->table, 'form');
+    }
+
+    /**
+     * 表单数据处理
+     * @param array $vo
+     * @throws \ReflectionException
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     */
+    protected function _form_filter(&$vo)
+    {
+
+    }
+
+    /**
+     * 启用
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
+     */
+    public function resume()
+    {
+        $this->_save($this->table, ['status' => '1']);
+    }
+
+    /**
+     * 禁用
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\ModelNotFoundException
+     * @throws \think\exception\DbException
+     * @throws \think\exception\PDOException
+     */
+    public function forbid()
+    {
+        $this->_save($this->table, ['status' => '0']);
+    }
+
+    /**
+     * 删除
+     * @auth true
+     * @menu true
+     * @throws \think\Exception
+     * @throws \think\exception\PDOException
+     */
+    public function remove()
+    {
+        $this->_save($this->table, ['is_deleted' => 1]);
+    }
+
+}
+

+ 0 - 73
application/nutrition/view/video_cate/index_test.html

@@ -1,73 +0,0 @@
-{extend name='admin@main'}
-{block name="button"}
-
-{if auth("add")}
-<button data-modal='{:url("add")}' data-title="添加" class='layui-btn layui-btn-sm layui-btn-primary'>添加</button>
-{/if}
-
-{if auth("remove")}
-<button data-action='{:url("remove")}' data-csrf="{:systoken('remove')}" data-rule="id#{key}" class='layui-btn layui-btn-sm layui-btn-primary'>删除分类</button>
-{/if}
-
-{/block}
-
-{block name="content"}
-<div class="think-box-shadow">
-    {empty name='list'}
-    <blockquote class="layui-elem-quote">没 有 记 录 哦!</blockquote>
-    {else}
-    <table class="layui-table" lay-skin="line">
-        <thead>
-        <tr>
-            <th class='list-table-check-td think-checkbox'>
-                <input data-auto-none data-check-target='.list-check-box' type='checkbox'>
-            </th>
-            <th class='list-table-sort-td'>
-                <button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button>
-            </th>
-            <th style="width:260px"></th>
-            <th style="width:260px"></th>
-            <th class='layui-hide-xs' style="width:180px"></th>
-            <th colspan="2"></th>
-        </tr>
-        </thead>
-        <tbody>
-        {foreach $list as $key=>$vo}
-        <tr data-dbclick>
-            <td class='list-table-check-td think-checkbox'>
-                <input class="list-check-box" value='{$vo.ids}' type='checkbox'>
-            </td>
-            <td class='list-table-sort-td'>
-                <input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input">
-            </td>
-            <td class="nowrap"><span class="color-desc">{$vo.spl|raw}</span>{$vo.title}</td>
-            <td class="nowrap"><img data-tips-image="{$vo.logo|default=''}"  src="{$vo.logo|default=''}" width="35px"></td>
-            <td class='text-center nowrap'>{eq name='vo.status' value='0'}<span class="color-red">已禁用</span>{else}<span class="color-green">使用中</span>{/eq}</td>
-            <td class='text-center nowrap notselect'>
-                {if auth("add")}
-                <span class="text-explode">|</span>
-                <!--{if $vo.spt < 1}-->
-                <a class="layui-btn layui-btn-xs layui-btn-primary" data-title="添加子分类" data-modal='{:url("add")}?pid={$vo.id}'>添 加</a>
-                <!--{else}-->
-                <a class="layui-btn layui-btn-xs layui-btn-disabled">添 加</a>
-                <!--{/if}-->
-                {/if}
-                {if auth("edit")}
-                <a data-dbclick class="layui-btn layui-btn-xs" data-title="编辑分类" data-modal='{:url("edit")}?id={$vo.id}'>编 辑</a>
-                {/if}
-                {if $vo.status eq 1 and auth("forbid")}
-                <a class="layui-btn layui-btn-warm layui-btn-xs" data-confirm="确定要禁用分类吗?" data-action="{:url('forbid')}" data-value="id#{$vo.ids};status#0" data-csrf="{:systoken('forbid')}">禁 用</a>
-                {elseif auth("resume")}
-                <a class="layui-btn layui-btn-warm layui-btn-xs" data-action="{:url('resume')}" data-value="id#{$vo.ids};status#1" data-csrf="{:systoken('resume')}">启 用</a>
-                {/if}
-                {if auth("remove")}
-                <a class="layui-btn layui-btn-danger layui-btn-xs" data-confirm="确定要删除数据吗?" data-action="{:url('remove')}" data-value="id#{$vo.ids}" data-csrf="{:systoken('remove')}">删 除</a>
-                {/if}
-            </td>
-        </tr>
-        {/foreach}
-        </tbody>
-    </table>
-    {/empty}
-</div>
-{/block}

+ 0 - 65
application/nutrition/view/video_cate/index_test1.html

@@ -1,65 +0,0 @@
-{extend name='admin@main'}
-{block name="button"}
-
-{if auth("add")}
-<button data-modal='{:url("add")}' data-title="添加" class='layui-btn layui-btn-sm layui-btn-primary'>添加</button>
-{/if}
-
-{if auth("remove")}
-<button data-action='{:url("remove")}' data-csrf="{:systoken('remove')}" data-rule="id#{key}" class='layui-btn layui-btn-sm layui-btn-primary'>删除分类</button>
-{/if}
-
-{/block}
-
-{block name="content"}
-<div class="think-box-shadow">
-    <fieldset class="layui-elem-field layui-field-title" style="margin-top: 50px;">
-        <legend>分类</legend>
-    </fieldset>
-
-    <div class="layui-collapse" lay-accordion="" lay-filter="test">
-        {foreach $list as $key=>$vo}
-        <div class="layui-colla-item">
-            <table class="layui-colla-title layui-table" lay-skin="line">
-                <tr>
-                    <th class='text-left nowrap padding-left-30'>{$vo.title}</th>
-                    <th class='text-right nowrap' >
-                        <a class="layui-btn layui-btn-xs layui-btn-primary" data-title="添加子分类" data-modal='{:url("add")}?pid={$vo.id}'>添 加</a>
-                        <a data-dbclick class="layui-btn layui-btn-xs" data-title="编辑分类" data-modal='{:url("edit")}?id={$vo.id}'>编 辑</a>
-                        <a class="layui-btn layui-btn-danger layui-btn-xs" data-confirm="确定要删除数据吗?" data-action="{:url('remove')}" data-value="id#{$vo.id}" data-csrf="{:systoken('remove')}">删 除</a>
-                    </th>
-                </tr>
-            </table>
-
-            <div class="layui-colla-content">
-                <table class="layui-table" lay-skin="line">
-                    {foreach $vo.children as $c}
-                    <tr>
-                        <td class='text-left nowrap'>{$c.title}</td>
-                        <td class='text-right nowrap' >
-                            <a data-dbclick class="layui-btn layui-btn-xs" data-title="编辑分类" data-modal='{:url("edit")}?id={$c.id}'>编 辑</a>
-                            <a class="layui-btn layui-btn-danger layui-btn-xs" data-confirm="确定要删除数据吗?" data-action="{:url('remove')}" data-value="id#{$c.id}" data-csrf="{:systoken('remove')}">删 除</a>
-                        </td>
-                    </tr>
-                    {/foreach}
-                </table>
-            </div>
-
-        </div>
-        {/foreach}
-    </div>
-    {empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
-</div>
-<script src="/static/plugs/layui/layui.all.js" charset="utf-8"></script>
-<script>
-    layui.use([ 'util', 'layer'], function(){
-        var element = layui.element;
-        var layer = layui.layer;
-
-        //折叠面板点击事件
-        element.on('collapse(test)', function(data){
-            layer.msg('展开状态:'+ data.show);
-        });
-    });
-</script>
-{/block}

+ 64 - 0
application/nutrition/view/video_classify/form.html

@@ -0,0 +1,64 @@
+<form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
+    <div class="layui-card-body">
+        <div class="layui-form-item">
+            <label class="layui-form-label">上级分类</label>
+            <div class="layui-input-block">
+                <select name='pid' class='layui-select' lay-search  >
+                    <!--{foreach $menus as $menu}-->
+                    <!--{eq name='menu.id' value='$vo.pid|default=0'}-->
+                    <option selected value='{$menu.id}'>{$menu.spl|raw}{$menu.title}</option>
+                    <!--{else}-->
+                    <option value='{$menu.id}'>{$menu.spl|raw}{$menu.title}</option>
+                    <!--{/eq}-->
+                    <!--{/foreach}-->
+                </select>
+                <p class="help-block">必选,请选择上级分类或顶级分类(目前最多支持二级分类)</p>
+            </div>
+        </div>
+
+
+        <div class="layui-form-item">
+            <label class="layui-form-label label-required">分类Logo</label>
+            <div class="layui-input-block">
+                <input name="logo" type="hidden" value="{$vo.logo|default=''}"/>
+            </div>
+        </div>
+
+        <div class="layui-form-item">
+            <label class="layui-form-label">分类名称</label>
+            <div class="layui-input-block">
+                <input name="title" value='{$vo.title|default=""}' required placeholder="请输入分类名称" class="layui-input">
+                <p class="help-block">必填,请填写分类名称,建议字符不要太长,一般4-6个汉字</p>
+            </div>
+        </div>
+
+    </div>
+
+    <div class="hr-line-dashed"></div>
+    {notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
+
+    <div class="layui-form-item text-center" style="margin-top: 100px">
+        <button class="layui-btn" type='submit'>保存数据</button>
+        <button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消编辑吗?" data-close>取消编辑</button>
+    </div>
+
+</form>
+
+{block name='script'}
+<script>
+    window.form.render();
+    require(['jquery.autocompleter'], function () {
+        form.render();
+        $('[name="icon"]').on('change', function () {
+            $(this).parent().next().find('i').get(0).className = this.value
+        });
+        $('input[name=url]').autocompleter({
+            limit: 6, highlightMatches: true, template: '{{ label }} <span> {{ title }} </span>', source: (function (subjects, data) {
+                for (var i in subjects) data.push({value: subjects[i].node, label: subjects[i].node, title: subjects[i].title});
+                return data;
+            })(JSON.parse('{$nodes|raw|json_encode}'), [])
+        });
+    });
+    $('[name="logo"]').uploadOneImage();
+</script>
+{/block}

+ 69 - 0
application/nutrition/view/video_classify/index.html

@@ -0,0 +1,69 @@
+{extend name='admin@main'}
+
+{block name="button"}
+<button data-modal='{:url("add")}' data-title="添加分类" class='layui-btn layui-btn-sm layui-btn-primary'>添加分类</button>
+{/block}
+
+{block name="content"}
+<div class="think-box-shadow">
+    {include file='banner/index_search'}
+    <table class="layui-table margin-top-20" lay-skin="line">
+        <thead>
+        <tr>
+            <th class='list-table-check-td think-checkbox'><input data-auto-none data-check-target='.list-check-box' type='checkbox'></th>
+            <th class='list-table-sort-td'><button type="button" data-reload class="layui-btn layui-btn-xs">刷 新</button></th>
+            <th class='text-left nowrap'>ID</th>
+            <th class='text-left nowrap'>名称</th>
+            <th class='text-left nowrap'>状态</th>
+            <th class="text-left" style="width: 20%">操作</th>
+        </tr>
+        </thead>
+        <tbody>
+        {foreach $list as $key=>$vo}
+        <tr>
+            <td class='list-table-check-td think-checkbox'><input class="list-check-box" value='{$vo.id}' type='checkbox'></td>
+            <td class='list-table-sort-td'><input data-action-blur="{:request()->url()}" data-value="id#{$vo.id};action#sort;sort#{value}" data-loading="false" value="{$vo.sort}" class="list-sort-input"></td>
+            <td class='text-left nowrap'>{$vo.id|default=''}</td>
+            <td class='text-left nowrap'>{$vo.title|default=''}</td>
+            <td class='text-left nowrap'>{$vo.status == 1 ?'已启用' :'已禁用'}</td>
+            <td class='text-left' style="width: 20%">
+                <a data-title="编辑分类" class="layui-btn layui-btn-sm" data-modal='{:url("edit")}?id={$vo.id}'>编 辑</a>
+                {if $vo.status == 1}
+                <span class="layui-btn layui-btn-xs  layui-btn-warm"  onclick="btn_confirm('禁用','forbid','{$vo.id}');" >禁 用</span>
+                {else}
+                <span class="layui-btn layui-btn-xs layui-btn-xs"  onclick="btn_confirm('启用','resume','{$vo.id}');">启 用</span>
+                {/if}
+                <span class="layui-btn layui-btn-sm layui-btn-danger" onclick="btn_confirm('删除','remove','{$vo.id}');">删 除</span>
+            </td>
+        </tr>
+        {/foreach}
+        </tbody>
+    </table>
+    {empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
+</div>
+<script>
+    function btn_confirm(msg,fun,id) {
+        layer.confirm('请确定是否'+msg, {btn: ['确定', '取消'], title: "提示"}, function () {
+            var url = "/nutrition/video_classify/"+fun;
+            layer.closeAll();
+            $.ajax({
+                type: "post",
+                url: url,
+                data: {id:id},
+                dataType: "json",
+                async: false,
+                success: function (data) {
+                    layer.msg(data.info);
+                    setTimeout(function () {
+                        window.location.reload();
+                    },1000)
+                }
+            });
+        });
+    }
+
+</script>
+{/block}
+
+
+