From c68e17d384d4ebbf2d3a6c219a3c6de7ebb70d7a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 15 Dec 2021 19:42:27 +0800
Subject: [PATCH] add video-add no complete

---
 src/main/resources/templates/febs/views/video/video/video-add.html |  374 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 263 insertions(+), 111 deletions(-)

diff --git a/src/main/resources/templates/febs/views/video/video/video-add.html b/src/main/resources/templates/febs/views/video/video/video-add.html
index da6eb48..573dae2 100644
--- a/src/main/resources/templates/febs/views/video/video/video-add.html
+++ b/src/main/resources/templates/febs/views/video/video/video-add.html
@@ -1,80 +1,128 @@
 <style>
-    #user-add {
+    #video-add {
         padding: 20px 25px 25px 0;
     }
-    #user-add .layui-treeSelect .ztree li a, .ztree li span {
+    #video-add .layui-treeSelect .ztree li a, .ztree li span {
         margin: 0 0 2px 3px !important;
     }
-    #user-add #data-permission-tree-block {
+    #video-add #data-permission-tree-block {
         border: 1px solid #eee;
         border-radius: 2px;
         padding: 3px 0;
     }
-    #user-add .layui-treeSelect .ztree li span.button.switch {
+    #video-add .layui-treeSelect .ztree li span.button.switch {
         top: 1px;
         left: 3px;
     }
+    #video-add .upload {
+        cursor: pointer;
+    }
 </style>
-<div class="layui-fluid" id="user-add">
-    <form class="layui-form" action="" lay-filter="user-add-form">
+<div class="layui-fluid" id="video-add">
+    <form class="layui-form" action="" lay-filter="video-add-form">
         <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">用户名:</label>
+            <div class="layui-col-md6">
+                <label class="layui-form-label febs-form-item-require">视频标题:</label>
+                <div class="layui-input-block">
+                    <input type="text" name="username" minlength="2" maxlength="10" lay-verify="range|username"
+                           autocomplete="off" class="layui-input">
+                </div>
+            </div>
+            <div class="layui-col-md6">
+                <label class="layui-form-label febs-form-item-require">视频分类:</label>
+                <div class="layui-input-block" id="video-cate">
+                </div>
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label">简介:</label>
             <div class="layui-input-block">
-                <input type="text" name="username" minlength="2" maxlength="10" lay-verify="range|username"
-                       autocomplete="off" class="layui-input">
+                <textarea name="intro" autocomplete="off" placeholder="请输入简介" class="layui-textarea"></textarea>
             </div>
         </div>
         <div class="layui-form-item">
-            <label class="layui-form-label">手机:</label>
+            <label class="layui-form-label">缩略图:</label>
             <div class="layui-input-block">
-                <input type="tel" name="mobile" lay-verify="phone" autocomplete="off" class="layui-input">
+                <div class="layui-upload">
+                    <button type="button" class="layui-btn" id="thumbUpload">上传图片</button>
+                    <div class="layui-upload-list">
+                        <img class="layui-upload-img" id="thumb" style="width: 150px;"/>
+                    </div>
+                </div>
             </div>
         </div>
+
         <div class="layui-form-item">
-            <label class="layui-form-label">邮箱:</label>
+            <label class="layui-form-label febs-form-item-require">章节:</label>
             <div class="layui-input-block">
-                <input type="text" name="email" lay-verify="email" maxlength="50" autocomplete="off"
-                       class="layui-input">
+                <button class="layui-btn" type="button" id="addItem">新增章节</button>
             </div>
         </div>
         <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">角色:</label>
+            <label class="layui-form-label"></label>
             <div class="layui-input-block">
-                <select name="roleId"
-                        lay-verify="required"
-                        xm-select-direction="down"
-                        xm-select="user-add-role"
-                        xm-select-skin="default">
-                </select>
+                <table class="layui-table">
+                    <thead>
+                        <tr>
+                            <th>排序</th>
+                            <th>视频标题</th>
+                            <th>视频缩略图</th>
+                            <th>资源名称</th>
+                            <th>操作</th>
+                        </tr>
+                    </thead>
+                    <tbody id="itemList">
+                    <tr>
+                        <th>
+                            1
+                        </th>
+                        <th>
+                            <input type="text" class="layui-input" placeholder="" />
+                        </th>
+                        <th>
+                            <div class="upload">
+                                <img class="layui-upload-img item-img febs-hide" style="width: 150px;"/>
+                                <button class="layui-btn layui-btn-xs"  type="button">点击上传</button>
+                                <input type="text" class="febs-hide" name="itemThumb" />
+                            </div>
+                        </th>
+                        <th>123</th>
+                        <th>
+                            <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>
+                        </th>
+                    </tr>
+                    <tr>
+                        <th>
+                            2
+                        </th>
+                        <th>
+                            <input type="text" class="layui-input" placeholder="" />
+                        </th>
+                        <th>
+                            <div class="upload">
+                                <img class="layui-upload-img item-img" src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2Ftp05%2F19100120461512E-0-lp.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg" style="width: 150px;"/>
+                                <button class="layui-btn layui-btn-xs febs-hide" type="button">点击上传</button>
+                                <input type="text" class="febs-hide" name="itemThumb" />
+                            </div>
+                        </th>
+                        <th>123</th>
+                        <th>
+                            <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>
+                        </th>
+                    </tr>
+                    </tbody>
+                </table>
             </div>
         </div>
+
         <div class="layui-form-item">
-            <label class="layui-form-label">部门:</label>
+            <label class="layui-form-label febs-form-item-require">是否免费:</label>
             <div class="layui-input-block">
-                <input type="text" name="deptId" id="user-add-dept" class="layui-input">
+                <input type="radio" name="isFree" value="1" title="免费" checked>
+                <input type="radio" name="isFree" value="2" title="会员">
             </div>
         </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">状态:</label>
-            <div class="layui-input-block">
-                <input type="radio" name="status" value="1" title="有效" checked="">
-                <input type="radio" name="status" value="0" title="禁用">
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label febs-form-item-require">性别:</label>
-            <div class="layui-input-block">
-                <input type="radio" name="sex" value="0" title="男性">
-                <input type="radio" name="sex" value="1" title="女性">
-                <input type="radio" name="sex" value="2" title="保密" checked="">
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label">数据权限:</label>
-            <div class="layui-input-block" id="data-permission-tree-block">
-                <div class="data-permission-tree" lay-filter="dataPermissionTree" style="margin-left: 1rem"></div>
-            </div>
-        </div>
+
         <div class="layui-form-item layui-form-text">
             <label class="layui-form-label">备注:</label>
             <div class="layui-input-block">
@@ -82,98 +130,202 @@
             </div>
         </div>
         <div class="layui-form-item febs-hide">
-            <button class="layui-btn" lay-submit="" lay-filter="user-add-form-submit" id="submit"></button>
+            <button class="layui-btn" lay-submit="" lay-filter="video-add-form-submit" id="submit"></button>
             <button type="reset" class="layui-btn" id="reset"></button>
         </div>
     </form>
 </div>
 
-<script>
-    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree'], function () {
+<script type="text/html" id="tableRowTemplate">
+    {{#  layui.each(d, function(index, item){ }}
+    <tr>
+        <th>
+            {{item.seq}}
+            <input type="text" class="febs-hide" name="sourceId" value="{{item.id}}"/>
+        </th>
+        <th>
+            <input type="text" class="layui-input" placeholder="" value=""/>
+        </th>
+        <th>
+            <div class="upload">
+                {{#  if(!item.thumb || item.thumb == ''){ }}
+                <img class="layui-upload-img item-img  febs-hide" src="" style="width: 150px;"/>
+                <button class="layui-btn layui-btn-xs" type="button">点击上传</button>
+                <input type="text" class="febs-hide" name="itemThumb" />
+                {{# } else { }}
+                <img class="layui-upload-img item-img" src="" style="width: 150px;"/>
+                <button class="layui-btn layui-btn-xs febs-hide" type="button">点击上传</button>
+                <input type="text" class="febs-hide" name="itemThumb" />
+                {{# } }}
+            </div>
+        </th>
+        <th>{{item.name}}</th>
+        <th>
+            <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>
+        </th>
+    </tr>
+    {{#  }); }}
+</script>
+
+<script data-th-inline="javascript">
+    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree', 'upload', 'xmSelect', 'laytpl', 'table'], function () {
         var $ = layui.$,
             febs = layui.febs,
             layer = layui.layer,
-            formSelects = layui.formSelects,
-            treeSelect = layui.treeSelect,
             form = layui.form,
-            eleTree = layui.eleTree,
-            $view = $('#user-add'),
+            table = layui.table,
+            $view = $('#video-add'),
+            upload = layui.upload,
             validate = layui.validate,
-            _deptTree;
+            laytpl = layui.laytpl,
+            tableUpload,
+            templateHtml = tableRowTemplate.innerHTML,
+            $itemList = $("#itemList");
 
         form.verify(validate);
         form.render();
 
-        formSelects.render();
-        renderDeptTree();
+        var itemData = [];
+        var videoCate = xmSelect.render({
+            el: '#video-cate',
+            language: 'zn',
+            prop : {
+                value : 'id'
+            },
+            data: []
+        })
 
-        treeSelect.render({
-            elem: $view.find('#user-add-dept'),
-            type: 'get',
-            data: ctx + 'dept/select/tree',
-            placeholder: '请选择',
-            search: false
-        });
+        febs.get(ctx + 'video/categoryTree', null, function(res) {
+            videoCate.update({
+                data : res.data,
+                autoRow: true,
+            });
+        })
 
-        function renderDeptTree() {
-            _deptTree = eleTree.render({
-                elem: $view.find('.data-permission-tree'),
-                url: ctx + 'dept/tree',
-                accordion: true,
-                highlightCurrent: true,
-                showCheckbox: true,
-                checkStrictly: true,
-                renderAfterExpand: false,
-                request: {
-                    name: 'name',
-                    key: "id",
-                    checked: "checked",
-                    data: 'data'
+        $("#addItem").on('click', function() {
+
+
+            febs.modal.open('选择视频资源', 'video/source/select/list', {
+                area: $(window).width() <= 750 ? '90%' : '50%',
+                offset: '30px',
+                btn: ['提交', '取消'],
+                yes: function (index, layero) {
+                    var selectData = table.checkStatus('videoSourceSelectTable').data;
+
+                    var noRepeatData = [];
+                    // 需要去重
+                    if (itemData.length != 0) {
+                        for (var i = 0; i < selectData.length; i++) {
+                            var flag = true;
+                            for(var j = 0; j < itemData.length; j++) {
+                                if (selectData[i].id == itemData[j].id) {
+                                    flag = false;
+                                    break;
+                                }
+                            }
+
+                            if (flag) {
+                                noRepeatData.push(selectData[i]);
+                            }
+                        }
+
+                    } else {
+                        itemData = selectData;
+                    }
+                    var data = itemData.concat(noRepeatData);
+
+                    $itemList.empty();
+                    laytpl(templateHtml).render(data, function(html) {
+                        $itemList.append(html);
+                    })
+
+                    bindUpload();
+                    layer.close(layer.index);
                 },
-                response: {
-                    statusName: "code",
-                    statusCode: 200,
-                    dataName: "data"
+                btn2: function () {
+                    layer.close(layer.index);
                 }
             });
-            return _deptTree;
-        }
+        });
 
-        formSelects.config('user-add-role', {
-            searchUrl: ctx + 'role',
-            response: {
-                statusCode: 200
-            },
-            beforeSuccess: function (id, url, searchVal, result) {
-                var data = result.data;
-                var tranData = [];
-                for (var i = 0; i < data.length; i++) {
-                    tranData.push({
-                        name: data[i].roleName,
-                        value: data[i].roleId
-                    })
+        var uploadInst = upload.render({
+            elem: '#thumbUpload'
+            ,url: 'common/upload'
+            ,before: function(obj){
+                //预读本地文件示例,不支持ie8
+                obj.preview(function(index, file, result){
+                    $('#thumb').attr('src', result);
+                });
+                layer.msg('上传中', {icon: 16, time: 0});
+            }
+            ,done: function(res){
+                //如果上传失败
+                if(res.code != 200){
+                    return layer.msg('上传失败');
                 }
-                result.data = tranData;
-                return result;
-            },
-            error: function (id, url, searchVal, err) {
-                console.error(err);
-                febs.alert.error('获取角色列表失败');
+
+                layer.msg('上传成功', {icon: 1});
+            }
+            ,error: function(){
+                layer.msg('上传失败');
             }
         });
 
-        form.on('submit(user-add-form-submit)', function (data) {
-            var checked = _deptTree.getChecked(false, true);
-            var deptIds = [];
-            layui.each(checked, function (key, item) {
-                deptIds.push(item.id)
+        // 表格中的图片上传
+        function bindUpload() {
+            upload.render({
+                elem: '.upload'
+                ,url: ctx + 'common/upload' //改成您自己的上传接口
+                // ,accept: 'file'
+                ,before: function(obj){
+                    var item = this.item;
+                    var $button = $(item).find("button");
+                    var $img = $(item).find('img');
+
+                    // 如果img标签内没有src,说明没有上传图片,故此时显示的是button,所以需要操作一遍显示隐藏
+                    if (!$img.attr("src")) {
+                        $button.addClass("febs-hide");
+                        $img.removeClass("febs-hide");
+                    }
+
+                    obj.preview(function(index, file, result){
+                        $img.attr('src', result);
+                    });
+
+                    layer.msg('上传中', {icon: 16, time: 0});
+                }
+                ,done: function(res){
+                    var item = this.item;
+                    var $itemThumb = $(item).find('input[name="itemThumb"]');
+                    var $button = $(item).find("button");
+                    var $img = $(item).find('img');
+
+                    //如果上传失败
+                    if(res.code !== 200){
+                        layer.msg('上传失败');
+                        // 上传失败则重置
+                        $button.removeClass("febs-hide");
+                        $img.addClass("febs-hide");
+                        $img.attr('src', '');
+                        return
+                    }
+                    $itemThumb.val(res.data[0]);
+                    layer.msg('上传完毕', {icon: 1});
+                }
+                ,error: function(){
+                    return layer.msg('上传失败');
+                }
             });
-            data.deptIds = deptIds.join(",");
-            febs.post(ctx + 'user', data.field, function () {
-                layer.closeAll();
-                febs.alert.success('新增用户成功,初始密码为 1234qwer');
-                $('#febs-user').find('#query').click();
-            });
+        }
+
+        bindUpload();
+
+        form.on('submit(video-add-form-submit)', function (data) {
+            // febs.post(ctx + 'user', data.field, function () {
+            //     layer.closeAll();
+            //     febs.alert.success('新增用户成功,初始密码为 1234qwer');
+            //     $('#febs-user').find('#query').click();
+            // });
             return false;
         });
     });

--
Gitblit v1.9.1