Browse Source

发现栏目

XMTT 7 years ago
parent
commit
0c95eb9209

+ 39 - 0
css/model/sys/disbanner.css

@ -0,0 +1,39 @@
1
@charset "utf-8";
2
.sys_disbanner_index .tpl-btns .row {
3
    padding-left: 10px;
4
}
5
6
.sys_disbanner_index th.opt-check {
7
    width: 35px;
8
}
9
10
.sys_disbanner_index td.table-opt.edit {
11
    padding: 1px;
12
    text-align: center;
13
}
14
15
.sys_disbanner_index .table-opt .name {
16
    cursor: pointer;
17
}
18
19
.sys_disbanner_insert .pics {
20
    position: absolute;
21
    top: 140px;
22
    right: 110px;
23
}
24
25
.sys_disbanner_putup, .sys_disbanner_insert {
26
    width: 800px;
27
    height: 450px;
28
    padding: 0 20px 10px;
29
}
30
31
.sys_disbanner_putup .item-caption {
32
    text-align: center;
33
}
34
35
.sys_disbanner_insert .content, .sys_disbanner_putup .content {
36
    font-size: 25px;
37
    font-weight: bold;
38
}
39

+ 78 - 0
html/model/sys/disbanner/index.html

@ -0,0 +1,78 @@
1
<div class="sys_disbanner_index" loadUri="../ajax/disBanner/pq" pageSize="10" pageNo="1" pageIndex="pi">
2
    <div class="modal-ctrl">
3
        <i class="icon icon-times"></i>
4
    </div>
5
    <div class="container dt-form">
6
        <div class="row">
7
            <div class="col-1"></div>
8
            <div class="col-1 item-caption ">名称</div>
9
            <div class="col-5">
10
                <div class="form-item text" defVal="" name="title"></div>
11
            </div>
12
        </div>
13
        <div class="row">
14
            <div class="col-8">
15
            </div>
16
            <div class="col-2">
17
                <div class="btn opt-query pull-right">
18
                    <i class="icon-search"></i> 查询
19
                </div>
20
            </div>
21
            <div class="col-2"></div>
22
23
        </div>
24
    </div>
25
26
    <div class="container page-split"></div>
27
    <div class="container tpl-btns">
28
        <div class="row">
29
            <div class="btn opt-insert">
30
                添加
31
            </div>
32
            <div class="btn opt-putup">
33
                上架
34
            </div>
35
            <div class="btn opt-putup2">
36
                上架2
37
            </div>
38
        </div>
39
    </div>
40
    <div class="container dt-tpl">
41
        <table class="table table-bordered">
42
            <thead>
43
            <tr>
44
                <!--<th class="opt-check" ><i class="icon icon-st-check"></i> </th>-->
45
                <th class="number">序号</th>
46
                <th>编号</th>
47
                <th>外显标题</th>
48
                <th>栏目</th>
49
                <th>显示位置</th>
50
                <th>上架时间</th>
51
                <th>下架时间</th>
52
                <th class="number">点击量</th>
53
                <th class="number">备注</th>
54
            </tr>
55
            </thead>
56
            <tbody>
57
            <tr ch-dir="list">
58
                <!--<td class="opt-check" ><i class="icon icon-st-check" articleId="{{articleId}}"></i></td>-->
59
                <td>{{pi}}</td>
60
                <td>{{id}}</td>
61
                <td>{{title}}</td>
62
                <td class="hand-dict" dict="banner" code="{{banner}}"></td>
63
                <td>{{location}}</td>
64
                <td>{{beginTime-showDay}}</td>
65
                <td>{{endTime-showDay}}</td>
66
                <td>{{clicks}}</td>
67
                <td>{{descp}}</td>
68
            </tr>
69
            </tbody>
70
            <tbody ch-dir="array.empty">
71
            <tr>
72
                <td class="empty-desc" colspan="10">表格暂无数据</td>
73
            </tr>
74
            </tbody>
75
        </table>
76
    </div>
77
    <ul class="dt-pager"></ul>
78
</div>

+ 51 - 0
html/model/sys/disbanner/insert.html

@ -0,0 +1,51 @@
1
<div class="sys_disbanner_insert centerModal">
2
    <div class="modal-ctrl">
3
        <i class="icon icon-times"></i>
4
    </div>
5
    <div class="container newForm">
6
        <div class="row">
7
            <div class="col-2"></div>
8
            <div class="col-4 item-caption content ">添加</div>
9
10
        </div>
11
        <div class="row">
12
            <div class="col-2"></div>
13
            <div class="col-5">
14
                <div class="form-item text trim" placeholder="请输入文章ID" name="id"></div>
15
            </div>
16
            <div class="col-2">
17
                <div class="btn pull-right opt-search">
18
                    <i class="icon-check"></i> 查找
19
                </div>
20
            </div>
21
        </div>
22
        <div class="row">
23
            <div class="col-2 item-caption">外显标题</div>
24
            <div class="col-5">
25
                <div class="form-item text readOnly" name="title"></div>
26
            </div>
27
        </div>
28
        <div class="row">
29
            <div class="col-2 item-caption">栏目</div>
30
            <div class="col-5">
31
                <div class="form-item select readOnly" dictCode="banner" name="banner"></div>
32
            </div>
33
        </div>
34
        <div class="row">
35
            <div class="col-2 item-caption">处理备注</div>
36
            <div class="col-5">
37
                <div class="form-item textarea" placeholder="处理备注不得超过500个字" name="descp"></div>
38
            </div>
39
        </div>
40
        <div class="pics"></div>
41
        <div class="row">
42
            <div class="col-9"></div>
43
            <div class="col-2">
44
                <div class="btn pull-right opt-save">
45
                    <i class="icon-check"></i> 添加到备选列表
46
                </div>
47
            </div>
48
        </div>
49
50
    </div>
51
</div>

+ 88 - 0
html/model/sys/disbanner/putup.html

@ -0,0 +1,88 @@
1
<div class="sys_disbanner_putup centerModal">
2
    <div class="modal-ctrl">
3
        <i class="icon icon-times"></i>
4
    </div>
5
    <div class="container newForm">
6
        <div class="row">
7
            <div class="col-2"></div>
8
            <div class="col-4 item-caption content ">上架</div>
9
        </div>
10
11
        <div class="row">
12
            <div class="col-1 item-caption">显示位置</div>
13
            <div class="col-2 item-caption xmtt">编号</div>
14
            <div class="col-4 item-caption">外显标题</div>
15
            <div class="col-2 item-caption">所属栏目</div>
16
        </div>
17
        <div class="row">
18
            <div class="col-1 item-caption">1</div>
19
            <div class="col-2">
20
                <div class="form-item text trim xmtt" placeholder="请输入编号" name="id1"></div>
21
            </div>
22
            <div class="col-4">
23
                <div class="form-item text readOnly" name="title1"></div>
24
            </div>
25
            <div class="col-2">
26
                <div class="form-item select readOnly" dictCode="banner" name="banner1"></div>
27
            </div>
28
        </div>
29
        <div class="row">
30
            <div class="col-1 item-caption">2</div>
31
            <div class="col-2">
32
                <div class="form-item text trim xmtt" placeholder="请输入编号" name="id2"></div>
33
            </div>
34
            <div class="col-4">
35
                <div class="form-item text readOnly" name="title2"></div>
36
            </div>
37
            <div class="col-2">
38
                <div class="form-item select readOnly" dictCode="banner" name="banner2"></div>
39
            </div>
40
        </div>
41
        <div class="row">
42
            <div class="col-1 item-caption">3</div>
43
            <div class="col-2">
44
                <div class="form-item text trim xmtt" placeholder="请输入编号" name="id3"></div>
45
            </div>
46
            <div class="col-4">
47
                <div class="form-item text readOnly" name="title3"></div>
48
            </div>
49
            <div class="col-2">
50
                <div class="form-item select readOnly" dictCode="banner" name="banner3"></div>
51
            </div>
52
        </div>
53
        <div class="row">
54
            <div class="col-1 item-caption">4</div>
55
            <div class="col-2">
56
                <div class="form-item text trim xmtt" placeholder="请输入编号" name="id4"></div>
57
            </div>
58
            <div class="col-4">
59
                <div class="form-item text readOnly" name="title4"></div>
60
            </div>
61
            <div class="col-2">
62
                <div class="form-item select readOnly" dictCode="banner" name="banner4"></div>
63
            </div>
64
        </div>
65
        <div class="row">
66
            <div class="col-1 item-caption">5</div>
67
            <div class="col-2">
68
                <div class="form-item text trim xmtt" placeholder="请输入编号" name="id5"></div>
69
            </div>
70
            <div class="col-4">
71
                <div class="form-item text readOnly" name="title5"></div>
72
            </div>
73
            <div class="col-2">
74
                <div class="form-item select readOnly" dictCode="banner" name="banner5"></div>
75
            </div>
76
        </div>
77
78
        <div class="row">
79
            <div class="col-10"></div>
80
            <div class="col-2">
81
                <div class="btn pull-right opt-save">
82
                    <i class="icon-check"></i> 添加到备选列表
83
                </div>
84
            </div>
85
        </div>
86
87
    </div>
88
</div>

+ 41 - 0
html/model/sys/disbanner/putup2.html

@ -0,0 +1,41 @@
1
<div class="sys_disbanner_putup2 centerModal">
2
    <div class="modal-ctrl">
3
        <i class="icon icon-times"></i>
4
    </div>
5
    <div class="container newForm">
6
        <div class="row">
7
            <div class="col-2"></div>
8
            <div class="col-4 item-caption content ">上架</div>
9
        </div>
10
    </div>
11
    <div class="container dt-tpl">
12
        <table class="table table-bordered">
13
            <thead>
14
            <tr>
15
                <th>显示位置</th>
16
                <th>编号</th>
17
                <th>外显标题</th>
18
                <th>所属栏目</th>
19
            </tr>
20
            </thead>
21
            <thead>
22
            <tr ch-dir="list">
23
                <td>{{location}}</td>
24
                <td><div class="form-item text"><input class="xmtt" type="text"></div></td>
25
                <td>{{title}}</td>
26
                <td >{{banner}}</td>
27
            </tr>
28
            </thead>
29
        </table>
30
    </div>
31
32
    <div class="row">
33
        <div class="col-10"></div>
34
        <div class="col-2">
35
            <div class="btn pull-right opt-save">
36
                <i class="icon-check"></i> 确定
37
            </div>
38
        </div>
39
    </div>
40
41
</div>

+ 60 - 0
js/model/sys/disbanner/index.js

@ -0,0 +1,60 @@
1
/**
2
 * Created by TT on 2017/8/28.
3
 */
4
;
5
spa_define(function () {
6
    return $.use(["spa", "pagedatagrid", "util"], function (spa, pdgf, util) {
7
        return {
8
            main: function () {
9
                var root = spa.findInMain(".sys_disbanner_index");
10
                var pdg = pdgf.build(root);
11
                pdg.code.shell("showDay", function (env) {
12
                    if (env.cd && env.cd[this.k]) {
13
                        var day = env.cd[this.k];
14
                        return day.substring(0, 4) + "年" + day.substring(4, 6) + "月" + day.substring(6, 8) + "日  " + day.substring(8, 10) + ":" + day.substring(10, 12);
15
                    }
16
                    return "";
17
                });
18
                pdg.code.listen($.dict.doTransfer);
19
20
                root.find(".opt-query").on("click", function () {
21
                    pdg.load();
22
                });
23
                pdg.load();
24
                root.find(".dt-tpl").on("click", "th.opt-check>i.icon-st-check", function () {
25
                    var $this = $(this);
26
                    $this.toggleClass("checked");
27
                    if ($this.hasClass("checked")) {
28
                        root.find(".dt-tpl td.opt-check>i.icon-st-check").addClass("checked");
29
                    } else {
30
                        root.find(".dt-tpl td.opt-check>i.icon-st-check").removeClass("checked");
31
                    }
32
                });
33
                root.find(".dt-tpl").on("click", "td.opt-check>i.icon-st-check", function () {
34
                    var $this = $(this);
35
                    $this.toggleClass("checked");
36
                });
37
                root.find(".opt-insert").on("click", function() {
38
                    spa.showModal("sys_disbanner_insert", function () {
39
                        pdg.reload()
40
                    });
41
                });
42
                root.find(".opt-putup").on("click", function () {
43
                    spa.showModal("sys_disbanner_putup", function () {
44
                        pdg.reload()
45
                    });
46
                });
47
                root.find(".opt-putup2").on("click", function () {
48
                    spa.showModal("sys_disbanner_putup2", function () {
49
                        pdg.load()
50
                    });
51
                });
52
53
54
            }, mainDestory: function () {
55
56
            }
57
        };
58
    });
59
});
60

+ 52 - 0
js/model/sys/disbanner/insert.js

@ -0,0 +1,52 @@
1
/**
2
 * Created by TT on 2017/8/28.
3
 */
4
;
5
spa_define(function () {
6
    return $.use(["spa", "util", "form"], function (spa, util, fb) {
7
        return {
8
            modal: function (data) {
9
                var root = spa.findInModal(".sys_disbanner_insert");
10
                var form = fb.build(root.find(".newForm"));
11
                var saveBtn = root.find(".opt-save"),
12
                    save = function () {
13
                    };
14
15
                root.find(".modal-ctrl .icon-times").on("click", function () {
16
                    spa.closeModal();
17
                });
18
                saveBtn.on("click", function () {
19
                    save();
20
                });
21
22
                root.find(".opt-search").on("click", function () {
23
                    util.get("../ajax/article/id/"+form.val().id,null,function (article) {
24
                        if (article) {
25
                            form.val({title: article.articleTitle, banner: article.colNum});
26
                            var pics = root.find(".pics");
27
                            pics.append($("<img src='http://www.ekexiu.com/data/article/" + article.articleImg + "' width='210px' height='120px'/>"));
28
                            // pics.append($("<img src='../data/images/"+ article.articleImg +"' width='210px' height='120px'/>"));
29
                        }else {
30
                            util.alert("此文章不存在");
31
                        }
32
                    })
33
                });
34
35
                root.find(".opt-save").on("click", function () {
36
                    util.post("../ajax/disBanner", {
37
                        title: form.val().title,
38
                        descp: form.val().descp,
39
                        articleId: form.val().id,
40
                        banner:form.val().banner
41
                    }, function () {
42
                        spa.closeModal();
43
                        if (data) {
44
                            data();
45
                        }
46
                    }, {});
47
                });
48
                form.val(data.data);
49
            }
50
        }
51
    });
52
});

+ 85 - 0
js/model/sys/disbanner/putup.js

@ -0,0 +1,85 @@
1
/**
2
 * Created by TT on 2017/8/28.
3
 */
4
;
5
spa_define(function () {
6
    return $.use(["spa", "util", "form"], function (spa, util, fb) {
7
        return {
8
            modal: function (data) {
9
                var root = spa.findInModal(".sys_disbanner_putup");
10
                var form = fb.build(root.find(".newForm"));
11
                var b = false;
12
                var saveBtn = root.find(".opt-save"),
13
                    save = function () {
14
                        if (b) {
15
                            var arr = [];
16
                            for (var i = 1; i <= 5; i++) {
17
                                if (form.val()["id" + i] == null || form.val()["id" + i] == "") {
18
                                    util.alert("请填写五个编号ID");
19
                                    return;
20
                                }
21
                                arr.push(form.val()["id" + i]);
22
                            }
23
24
                            // var banner = [];
25
                            // for (var i = 1; i <= 5; i++) {
26
                            //     banner.push(form.val()["banner" + i]);
27
                            // }
28
                            // if (isRepeat(banner)){
29
                            //     util.alert("不可以有重复栏目");
30
                            //     return;
31
                            // }
32
33
                            if (!isRepeat(arr)) {
34
                                form.doPost("../ajax/disBanner/putUp", function () {
35
                                    spa.closeModal();
36
                                    if (data) {
37
                                        data();
38
                                    }
39
                                }, {});
40
                                console.log(form.val());
41
                            }else {
42
                                util.alert("编号ID不可重复");
43
                            }
44
                        }else{
45
                            util.alert("请检查数据是否正确");
46
                        }
47
                    };
48
49
                var isRepeat = function (arr) {
50
                    var hash = {};
51
                    for (var i in arr) {
52
                        if (hash[arr[i]])
53
                            return true;
54
                        hash[arr[i]] = true;
55
                    }
56
                    return false;
57
                };
58
59
                root.find(".modal-ctrl .icon-times").on("click", function () {
60
                    spa.closeModal();
61
                });
62
                root.find(".xmtt").on("focusout", function () {
63
                    var idx = $(this).attr("name").substring(2);
64
                    if (form.val()["id" + idx]) {
65
                        util.get("../ajax/disBanner/id/" + form.val()["id" + idx], null, function (banner) {
66
                            if (banner) {
67
                                var obj = {};
68
                                obj["title" + idx] = banner.title;
69
                                obj["banner" + idx] = banner.banner;
70
                                form.val(obj);
71
                                b = true;
72
                            }else {
73
                                b = false;
74
                                util.alert("此编号下没有数据,请更换");
75
                            }
76
                        })
77
                    }
78
                });
79
                saveBtn.on("click", function () {
80
                    save();
81
                });
82
            }
83
        }
84
    });
85
});

+ 62 - 0
js/model/sys/disbanner/putup2.js

@ -0,0 +1,62 @@
1
/**
2
 * Created by TT on 2017/8/28.
3
 */
4
;
5
spa_define(function () {
6
    return $.use(["spa", "util", "form", "code"], function (spa, util, fb, code) {
7
        return {
8
            modal: function () {
9
                var root = spa.findInModal(".sys_disbanner_putup2");
10
                var form = fb.build(root.find(".newForm"));
11
                var cr = code.parseCode(root.find(".dt-tpl"));
12
                var allData = [];
13
                allData.push({location: 1});
14
                allData.push({location: 2});
15
                allData.push({location: 3});
16
                allData.push({location: 4});
17
                allData.push({location: 5});
18
                cr.val(allData);
19
                var saveBtn = root.find(".opt-save"),
20
                    save = function () {
21
                        var $banner = root.find("td");
22
                        if ($banner.length) {
23
                            var ret = [];
24
                            $banner.forEach(function () {
25
                                ret.push($(".xmtt").val());
26
                            });
27
                        }
28
                    };
29
                root.find(".modal-ctrl .icon-times").on("click", function () {
30
                    spa.closeModal();
31
                });
32
                root.on("focusout", ".xmtt", function () {
33
                    var $e = $(this);
34
                    if ($e.val()) {
35
                        util.get("../ajax/disBanner/id/" + $e.val(), null, function (banner) {
36
                            if (banner) {
37
                                $e.parent().parent().parent().find("td").eq(2).text(banner.title);
38
                                $e.parent().parent().parent().find("td").eq(3).text(dictBanner(banner.banner));
39
                            }
40
                        });
41
                    }
42
                });
43
44
                var dictBanner = function (i) {
45
                    if (i == 0) return "未设置";
46
                    if (i == 1) return "个人原创";
47
                    if (i == 2) return "企业原创";
48
                    if (i == 3) return "前沿动态";
49
                    if (i == 4) return "学术经验";
50
                    if (i == 5) return "分析检测";
51
                    if (i == 6) return "会议培训";
52
                    if (i == 7) return "科袖访谈";
53
                    if (i == 8) return "招聘招生";
54
                    if (i == 9) return "重大新闻";
55
                };
56
                saveBtn.on("click", function () {
57
                    save();
58
                });
59
            }
60
        }
61
    });
62
});