浏览代码

初版 用户信息管理、文章管理

XMTT 7 年之前
父节点
当前提交
26b3d1fc2e

+ 22 - 0
css/model/sys/article.css

@ -0,0 +1,22 @@
1
@charset "utf-8";
2
.sys_article_index .tpl-btns .row {
3
    padding-left: 10px;
4
}
5
.sys_article_index th.opt-check {
6
    width: 35px;
7
}
8
9
.sys_article_index .content{
10
    width: 50px;
11
}
12
.sys_article_index .table {
13
    table-layout: fixed;
14
}
15
16
.sys_article_index .orderBy .icon-close{
17
    display: none;
18
}
19
20
.sys_article_index .number {
21
    width: 6%;
22
}

+ 27 - 0
css/model/sys/professornew.css

@ -0,0 +1,27 @@
1
@charset "utf-8";
2
.sys_professornew_index .tpl-btns .row{
3
    padding-left: 10px;
4
}
5
6
.sys_professornew_index th.opt-check{
7
    width: 35px;
8
}
9
10
.sys_professornew_index td.table-opt.edit{
11
    padding: 1px;
12
    text-align: center;
13
}
14
15
.sys_professornew_index .table-opt .name{
16
    cursor:pointer;
17
}
18
19
.sys_professornew_data{
20
    width: 500px;
21
    height: 330px;
22
    padding: 0 20px 10px;
23
}
24
25
.sys_professornew_data .icon-close {
26
    display: none;
27
}

+ 96 - 0
html/model/sys/article/index.html

@ -0,0 +1,96 @@
1
<div class="sys_article_index" loadUri="../ajax/article/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 class="col-1 item-caption">发布者</div>
13
            <div class="col-2">
14
                <div class="form-item text" defVal="" name="name"></div>
15
            </div>
16
        </div>
17
        <div class="row">
18
            <div class="col-1"></div>
19
            <div class="col-1 item-caption ">发布时间</div>
20
            <div class="col-2">
21
                <div class="form-item date" defVal="" name="bt"></div>
22
            </div>
23
            <div class="col-1 item-caption center">至</div>
24
            <div class="col-2">
25
                <div class="form-item date" defVal="" name="et"></div>
26
            </div>
27
            <div class="col-1 item-caption ">排序方式</div>
28
            <div class="col-2">
29
                <div class="form-item select orderBy" dictCode="sort_rule" defVal="1" name="orderBy"></div>
30
            </div>
31
        </div>
32
        <div class="row">
33
            <div class="col-8">
34
            </div>
35
            <div class="col-2">
36
                <div class="btn opt-query pull-right">
37
                    <i class="icon-search"></i> 查询
38
                </div>
39
            </div>
40
            <div class="col-2"></div>
41
42
        </div>
43
    </div>
44
45
    <div class="container page-split"></div>
46
    <div class="container tpl-btns">
47
        <div class="row">
48
            <div class="btn opt-view">
49
                查看
50
            </div>
51
            <div class="btn opt-del">
52
                删除
53
            </div>
54
        </div>
55
    </div>
56
    <div class="container dt-tpl">
57
        <table class="table table-bordered">
58
            <thead>
59
            <tr>
60
                <th class="opt-check" ><i class="icon icon-st-check"></i> </th>
61
                <th class="number">序号</th>
62
                <th>文章标题</th>
63
                <th>作者</th>
64
                <th>关键词</th>
65
                <th>发布时间</th>
66
                <th class="number">权重</th>
67
                <th class="number">浏览量</th>
68
                <th class="number">点赞量</th>
69
                <th class="number">留言量</th>
70
                <th class="number">收藏量</th>
71
            </tr>
72
            </thead>
73
            <tbody>
74
            <tr ch-dir="list">
75
                <td class="opt-check" ><i class="icon icon-st-check" articleId="{{articleId}}"></i></td>
76
                <td>{{pi}}</td>
77
                <td>{{articleTitle}}</td>
78
                <td>{{professorName}}{{organizationName}}</td>
79
                <td>{{subject}}</td>
80
                <td>{{publishTime-showDay}}</td>
81
                <td>{{sortNum}}</td>
82
                <td>{{pageViews}}</td>
83
                <td>{{articleAgree}}</td>
84
                <td class="hand-articleid" articleid="{{articleId}}"></td>
85
                <td class="hand-collectionid" collectionid="{{articleId}}"></td>
86
            </tr>
87
            </tbody>
88
            <tbody ch-dir="array.empty">
89
            <tr>
90
                <td class="empty-desc" colspan="11">表格暂无数据</td>
91
            </tr>
92
            </tbody>
93
        </table>
94
    </div>
95
    <ul class="dt-pager"></ul>
96
</div>

+ 41 - 0
html/model/sys/professornew/data.html

@ -0,0 +1,41 @@
1
<div class="sys_professornew_data 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 item-caption">用户身份</div>
8
            <div class="col-6">
9
                <div class="form-item select" defVal="" dictCode="authentication" name="authentication"></div>
10
            </div>
11
        </div>
12
        <div class="row">
13
            <div class="col-2 item-caption">实名认证</div>
14
            <div class="col-6">
15
                <div class="form-item select" defVal="" dictCode="auth_status" name="authStatus"></div>
16
            </div>
17
        </div>
18
        <div class="row">
19
            <div class="col-2 item-caption">专家认证</div>
20
            <div class="col-6">
21
                <div class="form-item select" defVal="" dictCode="auth_status" name="authStatusExpert"></div>
22
            </div>
23
        </div>
24
        <div class="row">
25
            <div class="col-2 item-caption">权重值</div>
26
            <div class="col-6">
27
                <div class="form-item text" defVal="" name="sortFirst"></div>
28
            </div>
29
        </div>
30
        <div class="row">
31
            <div class="col-10"></div>
32
            <div class="col-2">
33
                <div class="btn pull-right opt-save">
34
                    <i class="icon-check"></i> SAVE
35
                </div>
36
37
            </div>
38
        </div>
39
    </div>
40
41
</div>

+ 100 - 0
html/model/sys/professornew/index.html

@ -0,0 +1,100 @@
1
<div class="sys_professornew_index" loadUri="../ajax/sys/professor/pqUserDetail" pageSize="10" pageNo="1">
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-2 item-caption">用户名</div>
8
            <div class="col-3">
9
                <div class="form-item text trim" defVal="" name="name"></div>
10
            </div>
11
            <div class="col-1 item-caption ">创建日期</div>
12
            <div class="col-2">
13
                <div class="form-item date" defVal="" name="bt"></div>
14
            </div>
15
            <div class="col-1 item-caption center">至</div>
16
            <div class="col-2">
17
                <div class="form-item date" defVal="" name="et"></div>
18
            </div>
19
            <div class="col-1"></div>
20
        </div>
21
        <div class="row">
22
            <div class="col-9">
23
            </div>
24
            <div class="col-2">
25
                <div class="btn opt-query pull-right">
26
                    <i class="icon-search"></i> 查询
27
                </div>
28
            </div>
29
            <div class="col-1"></div>
30
        </div>
31
    </div>
32
33
    <div class="container page-split"></div>
34
    <div class="container tpl-btns">
35
        <div class="row">
36
            <!--<div class="btn opt-new">-->
37
                <!--新增账户-->
38
            <!--</div>-->
39
            <!--<div class="btn opt-edit">-->
40
                <!--修改账户信息-->
41
            <!--</div>-->
42
            <!--<div class="btn opt-details">-->
43
                <!--编辑用户资料-->
44
            <!--</div>-->
45
            <div class="btn opt-data">
46
                修改业务数据
47
            </div>
48
        </div>
49
    </div>
50
    <div class="container dt-tpl">
51
        <table class="table table-bordered">
52
            <thead>
53
            <tr>
54
                <th class="opt-check"><i class="icon icon-st-check"></i> </th>
55
                <th>序号</th>
56
                <th>用户名</th>
57
                <th>职称</th>
58
                <th>所在机构</th>
59
                <th>手机</th>
60
                <th>邮箱</th>
61
                <th>创建时间</th>
62
                <th>身份类型</th>
63
                <th>实名认证</th>
64
                <th>专家认证</th>
65
                <th>权重</th>
66
                <th>激活状态</th>
67
                <th>浏览量</th>
68
                <th>粉丝量</th>
69
                <th>邀请状态</th>
70
            </tr>
71
            </thead>
72
            <tbody>
73
            <tr ch-dir="list">
74
                <td class="opt-check"><i class="icon icon-st-check" professorid="{{id}}"></i></td>
75
                <td>{{-_index}}</td>
76
                <td>{{name}}</td>
77
                <td>{{title}}</td>
78
                <td>{{orgName}}</td>
79
                <td>{{mobile}}</td>
80
                <td>{{email}}</td>
81
                <td>{{createTime-date}}</td>
82
                <td class="hand-dict" dict="authentication" code="{{authentication}}"></td>
83
                <td class="hand-dict" dict="solveStatus" code="{{authStatus}}"></td>
84
                <td class="hand-dict" dict="solveStatus" code="{{authStatusExpert}}"></td>
85
                <td>{{sortFirst}}</td>
86
                <td>{{activeStatus}}</td>
87
                <td>{{pageViews}}</td>
88
                <td class="hand-fans" id="{{id}}"></td>
89
                <td>{{sendMailStatus}}</td>
90
            </tr>
91
            </tbody>
92
            <tbody ch-dir="array.empty">
93
            <tr>
94
                <td class="empty-desc" colspan="11">表格暂无数据</td>
95
            </tr>
96
            </tbody>
97
        </table>
98
    </div>
99
    <ul class="dt-pager"></ul>
100
</div>

+ 100 - 0
js/model/sys/article/index.js

@ -0,0 +1,100 @@
1
/**
2
 * Created by TT on 2017/8/3.
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_article_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
                pdg.code.listen(function(){
20
                    root.find(".hand-articleid").each(function() {
21
                        var $e = $(this);
22
                        var articleid = $e.attr("articleid");
23
                        if (articleid) {
24
                            util.get("/ajax/content/lwCount", {articleId: articleid}, function (data) {
25
                                $e.text(data);
26
                            }, {});
27
                            $e.removeClass("hand-articleid");
28
                        }
29
                    });
30
                    root.find(".hand-collectionid").each(function() {
31
                        var $e = $(this);
32
                        var collectionid = $e.attr("collectionid");
33
                        util.get("/ajax/content/countProfessor",{id:collectionid,type:3},function(data){
34
                            $e.text(data);
35
                        },{});
36
                        $e.removeClass("hand-collectionid");
37
                    });
38
                });
39
40
                root.find(".opt-query").on("click", function () {
41
                    pdg.load();
42
                });
43
                pdg.load();
44
                root.find(".dt-tpl").on("click", "th.opt-check>i.icon-st-check", function () {
45
                    var $this = $(this);
46
                    $this.toggleClass("checked");
47
                    if ($this.hasClass("checked")) {
48
                        root.find(".dt-tpl td.opt-check>i.icon-st-check").addClass("checked");
49
                    } else {
50
                        root.find(".dt-tpl td.opt-check>i.icon-st-check").removeClass("checked");
51
                    }
52
                });
53
                root.find(".dt-tpl").on("click", "td.opt-check>i.icon-st-check", function () {
54
                    var $this = $(this);
55
                    $this.toggleClass("checked");
56
                });
57
                root.find(".opt-del").on("click", function() {
58
                    var $org = root.find("td.opt-check>i.checked");
59
                    if($org.length) {
60
                        if ($org.length > 1) {
61
                            util.alert("只能选择一个用户");
62
                        }else {
63
                            util.boxMsg({
64
                                title: "确认删除",
65
                                content: "您是否要删除选中的文章?",
66
                                btns: [{
67
                                    caption: "删除",
68
                                    hand: function() {
69
                                        util.post("../ajax/article/deleteArticle",{articleId:$org.attr("articleId")}, function() { pdg.load() }, {});
70
                                    }
71
                                },
72
                                    { caption: "取消" }
73
                                ]
74
                            });
75
                        }
76
                    } else {
77
                        util.alert("请选择一个用户");
78
                    }
79
                });
80
                root.find(".opt-view").on("click", function () {
81
                    var $org = root.find("td.opt-check>i.checked");
82
                    if ($org.length) {
83
                        if ($org.length > 1) {
84
                            util.alert("只能选择一个用户");
85
                        } else {
86
                            window.open('http://www.ekexiu.com/articalShow.html?articleId=' + $org.attr("articleId"));
87
                        }
88
                    } else {
89
                        util.alert("请选择一个用户");
90
                    }
91
                });
92
93
94
            }, mainDestory: function () {
95
96
            }
97
        };
98
    });
99
});
100

+ 43 - 0
js/model/sys/professornew/data.js

@ -0,0 +1,43 @@
1
/**
2
 * Created by TT on 2017/8/3.
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_professornew_data");
10
                var form = fb.build(root.find(".newForm"));
11
                var saveBtn = root.find(".opt-save"),
12
                    save = function () {
13
                        if (form.val().sortFirst){
14
                            var sortFirst = form.val().sortFirst;
15
                            var reg = new RegExp("^(\\d|[1-9]\\d|100)$");
16
                            if (!reg.test(sortFirst)){
17
                                util.alert("权重值必须是0-100的正整数");
18
                                return;
19
                            }
20
                        }else {
21
                            form.val({sortFirst: 0});
22
                        }
23
24
                        form.doPost("../ajax/sys/professor/updateBusinessData", closeThis, {});
25
26
                    };
27
                root.find(".modal-ctrl .icon-times").on("click", function () {
28
                    spa.closeModal();
29
                });
30
                var handler = data.hand;
31
                var closeThis = function () {
32
                    spa.closeModal();
33
                    if (handler) {
34
                        handler();
35
                    }
36
                };
37
                saveBtn.on("click", save);
38
                form.val(data.data);
39
                form.val({authStatus: 3});
40
            }
41
        }
42
    });
43
});

+ 142 - 0
js/model/sys/professornew/index.js

@ -0,0 +1,142 @@
1
/**
2
 * Created by TT on 2017/8/3.
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_professornew_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) + "日";
15
                    }
16
                    return "";
17
                });
18
                pdg.code.listen($.dict.doTransfer);
19
                pdg.code.listen(function(){
20
                    root.find(".hand-fans").each(function() {
21
                        var $e = $(this);
22
                        var collectionid = $e.attr("id");
23
                        util.get("/ajax/content/countProfessor",{id:collectionid,type:1},function(data){
24
                            $e.text(data);
25
                        },{});
26
                        $e.removeClass("hand-fans");
27
                    });
28
                });
29
                root.find(".opt-query").on("click", function () {
30
                    pdg.load();
31
                });
32
                pdg.load();
33
                root.find(".dt-tpl").on("click", "th.opt-check>i.icon-st-check", function () {
34
                    var $this = $(this);
35
                    $this.toggleClass("checked");
36
                    if ($this.hasClass("checked")) {
37
                        root.find(".dt-tpl td.opt-check>i.icon-st-check").addClass("checked");
38
                    } else {
39
                        root.find(".dt-tpl td.opt-check>i.icon-st-check").removeClass("checked");
40
                    }
41
                });
42
                root.find(".dt-tpl").on("click", "td.opt-check>i.icon-st-check", function () {
43
                    var $this = $(this);
44
                    $this.toggleClass("checked");
45
                });
46
                // root.find(".opt-new").on("click", function () {
47
                //     spa.showModal("sys_org_new", function () {
48
                //         pdg.load()
49
                //     });
50
                // });
51
                // root.find(".opt-edit").on("click", function () {
52
                //     var $org = root.find("td.opt-check>i.checked");
53
                //     if ($org.length) {
54
                //         if ($org.length > 1) {
55
                //             util.alert("只能选择一个用户");
56
                //         } else {
57
                //             util.get("../ajax/sys/org/queryAccount/" + $org.attr("orgId"), null, function (data) {
58
                //                 if (data) {
59
                //                     spa.showModal("sys_org_edit", {
60
                //                         data: data,
61
                //                         hand: function () {
62
                //                             pdg.load()
63
                //                         }
64
                //                     })
65
                //                 } else {
66
                //                     util.alert("用户不存在了", function () {
67
                //                         pdg.load();
68
                //                     });
69
                //                 }
70
                //             }, {});
71
                //         }
72
                //     } else {
73
                //         util.alert("请选择一个用户");
74
                //     }
75
                // });
76
                // root.find(".opt-details").on("click", function () {
77
                //     var $org = root.find("td.opt-check>i.checked");
78
                //     if ($org.length) {
79
                //         if ($org.length > 1) {
80
                //             util.alert("只能选择一个用户");
81
                //         } else {
82
                //             util.get("../ajax/sys/org/id/" + $org.attr("orgId"), null, function (data) {
83
                //                 if (data) {
84
                //                     spa.showModal("sys_org_details", {
85
                //                         data: data, hand: function () {
86
                //                             pdg.load()
87
                //                         }
88
                //                     })
89
                //                 } else {
90
                //                     util.alert("用户不存在了", function () {
91
                //                         pdg.load();
92
                //                     });
93
                //                 }
94
                //             }, {});
95
                //         }
96
                //     } else {
97
                //         util.alert("请选择一个用户");
98
                //     }
99
                // });
100
                root.find(".opt-data").on("click", function () {
101
                    var $professor = root.find("td.opt-check>i.checked");
102
                    if ($professor.length) {
103
                        if ($professor.length > 1) {
104
                            util.alert("只能选择一个用户");
105
                        } else {
106
                            util.get("../ajax/sys/professor/id/" + $professor.attr("professorid"), null, function (data) {
107
                                if (data) {
108
                                    spa.showModal("sys_professornew_data", {
109
                                        data: data, hand: function () {
110
                                            pdg.load()
111
                                        }
112
                                    })
113
                                } else {
114
                                    util.alert("用户不存在了", function () {
115
                                        pdg.load();
116
                                    });
117
                                }
118
                            }, {});
119
                        }
120
                    } else {
121
                        util.alert("请选择一个用户");
122
                    }
123
                });
124
                // root.find(".opt-view").on("click", function () {
125
                //     var $org = root.find("td.opt-check>i.checked");
126
                //     if ($org.length) {
127
                //         if ($org.length > 1) {
128
                //             util.alert("只能选择一个用户");
129
                //         } else {
130
                //             window.open('http://www.ekexiu.com/cmpInforShow.html?orgId=' + $org.attr("orgId"));
131
                //         }
132
                //     } else {
133
                //         util.alert("请选择一个用户");
134
                //     }
135
                // });
136
137
            }, mainDestory: function () {
138
139
            }
140
        };
141
    });
142
});