Browse Source

Merge branch 'TT'

XMTT 8 years ago
parent
commit
6f91f97f38
4 changed files with 142 additions and 116 deletions
  1. 14 0
      css/model/sys/pictable.css
  2. 28 37
      html/model/sys/pictable/index.html
  3. 1 1
      html/test.html
  4. 99 78
      js/model/sys/pictable/index.js

+ 14 - 0
css/model/sys/pictable.css

@ -0,0 +1,14 @@
1
@charset "utf-8";
2
.sys_pictable_index .queryForm{
3
    position: relative;
4
}
5
.sys_pictable_index .queryForm .icon-search{
6
    position: absolute;
7
    top:7px;
8
    right:15px;
9
    font-size:25px;
10
}
11
.sys_pictable_index .table-opt .icon {
12
    margin: 10px;
13
    font-size: 20px;
14
}

+ 28 - 37
html/model/sys/pictable/index.html

@ -1,58 +1,49 @@
1
<div class="sys_chart_index">
2
    <div class="container queryForm">
3
        <div class="row">
4
            <div class="col-6">
5
                <div class="btn opt-new">
6
                    <i class="icon-plus"></i>
7
                    统计
8
                </div>
1
<div class="sys_pictable_index">
2
    <div class="modal-ctrl">
3
        <i class="icon icon-times"></i>
4
    </div>
9 5
6
7
    <div class="container dt-form">
8
        <div class="row">
9
            <div class="col-2 item-caption">名称</div>
10
            <div class="col-4">
11
                <div class="form-item dyn-select queried"  name="name"></div>
10 12
            </div>
11
            <div class="col-6" style="display: none">
12
                <div class="form-item text " name="qn"></div>
13
            </div>
14
            <div class="col-6 " style="display: none">
15
                <div class="form-item text " name="qn2"></div>
13
            <!--<div class="col-2 item-caption">查看</div>-->
14
            <div class="col-6">
15
                <div class="btn opt-query">查看</div>
16 16
            </div>
17
18 17
        </div>
18
19 19
    </div>
20
    <div class="container dt-tpl">
20
    <div id="type" style="height:400px"></div>
21
    <div class="container dt-tpl-2">
22
        <div>用户流量</div>
21 23
        <table class="table table-bordered">
22 24
            <thead>
23 25
            <tr>
24
                <th>#</th>
25
                <th>申请时间</th>
26
                <th>申请人ID</th>
27
                <th>姓名</th>
28
                <th>职称</th>
29
                <th>机构</th>
30
                <th>受理状态</th>
31
                <th>操作</th>
26
                <th>时间</th>
27
                <th>新认领客户</th>
28
                <th>新认领成功客户</th>
29
                <th>累计认领成功客户</th>
30
                <th>累计认领客户</th>
32 31
            </tr>
33 32
            </thead>
34 33
            <tbody>
35 34
            <tr ch-dir="list">
36
                <td>{{-_index}}</td>
37
                <td>{{createTime-showDay}}</td>
38
                <td>{{professorId}}</td>
39
                <td>{{name}}</td>
40
                <td>{{title}}</td>
41
                <td>{{orgName}}</td>
42
                <td class="hand-dict" dict="solveStatus" code="{{solveStatus}}" ></td>
43
                <td class="table-opt" authApplyId="{{authApplyId}}"><div class="btn opt-auth">
44
                    <i class="icon-plus"></i>
45
                    审核
46
                </div></td>
35
                <td>{{createTime}}</td>
36
                <td>{{znum-count}}</td>
37
                <td>{{jnum-count}}</td>
38
                <td>{{ljnum}}</td>
39
                <td>{{lznum}}</td>
47 40
            </tr>
48 41
            </tbody>
49 42
            <tbody ch-dir="array.empty">
50 43
            <tr>
51
                <td class="empty-desc" colspan="5">表格暂无数据</td>
44
                <td colspan="7">表格暂无数据</td>
52 45
            </tr>
53 46
            </tbody>
54 47
        </table>
55 48
    </div>
56
    <div id="type" style="height:400px"></div>
57
    <div id="test" style="height: 400px"></div>
58 49
</div>

+ 1 - 1
html/test.html

@ -59,7 +59,7 @@
59 59
	<script>
60 60
		$(function() {
61 61
			$.use(["spa", "util", "form"], function(spa, util, fb) {
62
				fb.build($(".dt-form"));
62
				fb.build($(".dt-form"),{qq:{maxShowCount:15}});
63 63

64 64
			});
65 65
		});

+ 99 - 78
js/model/sys/pictable/index.js

@ -1,84 +1,108 @@
1
/**
2
 * Created by TT on 2017/4/19.
3
 */
4
/**
5
 * Created by TT on 2017/4/6.
6
 */
7 1
;
8 2
spa_define(function () {
9 3
    return $.use(["spa", "code", "form", "util", "dict"], function (spa, code, form, util, dict) {
10 4
        return {
11 5
            main: function () {
12
                var root = spa.findInMain(".sys_chart_index");
13
                var qf = form.build(root.find(".queryForm"));
14
                var cr = code.parseCode(root.find(".dt-tpl"));
15
                var cr2 = code.parseCode(root.find(".dt-tpl-2"));
16
                var queryBtn = root.find(".queryForm .icon-search");
17
                var myChart1 = echarts.init(document.getElementById('type'));
18
                var tableData = {data: []}, tableData2 = {data: []},
19
                    allData = [];
6
                var root = spa.findInMain(".sys_pictable_index");
7
                var cr = code.parseCode(root.find(".dt-tpl-2"));
8
                var myChart = echarts.init(document.getElementById('type'));
20 9
21
                cr.shell("userType", function (env) {
22
                    var v = env.cd[this.k];
23
                    return v === 1 ? "专家用户" : (v === 0 ? "普通用户" : "");
10
                var dynUser = {ready: true};
11
12
                util.get("../ajax/sys/user/all",null,function(data){
13
                    var items =dynUser.items = [];
14
                    data.forEach(function(item){
15
                        items.push({code:item.id,caption:item.name});
16
                    });
17
                    root.find(".dyn-select").attr("defVal",util.data("loginUser").id);
18
                    dynUser.formRef = form.build(root.find(".dt-form"),{name:dynUser});
24 19
                });
25
                cr2.shell("userRole",function (env) {
20
21
                cr.shell("count", function (env) {
26 22
                    var v = env.cd[this.k];
27
                    if (v === 1) {
28
                        return "科研工作者";
29
                    }
30
                    if (v === 2) {
31
                        return "在企人员";
32
                    }
33
                    if (v === 3) {
34
                        return "在校生";
23
                    if (v === 0) {
24
                        return 0;
35 25
                    }
36
                    return "其他身份";
26
                    return v;
37 27
                });
38
                var query = function () {
39
                    var val = qf.item("qn").get();
40
                    if (val) {
41
                        var td = tableData.data = [];
42
                        if (allData.byType != null) {
43
                            for (var i = 0; i < allData.byType.length; ++i) {
44
                                var item = allData.byType[i];
45
                                if (item && item.name && item.name.indexOf(val) >= 0) {
46
                                    td.push(item);
47
                                }
48
                            }
49
                        }
50
                    } else {
51
                        tableData.data = allData.byType;
52
                    }
53
                    cr.val(tableData.data);
54
                };
55
                var query2 = function () {
56
                    var val = qf.item("qn2").get();
57
                    if (val) {
58
                        var td = tableData2.data = [];
59
                        if (allData.byRole != null) {
60
                            for (var i = 0; i < allData.byRole.length; ++i) {
61
                                var item = allData.byRole[i];
62
                                if (item && item.name && item.name.indexOf(val) >= 0) {
63
                                    td.push(item);
28
29
                var loadChart = function () {
30
                    util.get("../ajax/sys/user/pictable/"+util.data("loginUser").id,null,function (data) {
31
                        var colors = ['#c23531', '#82C8FA'];
32
                        var option = {
33
                            color: colors,
34
                            title: {
35
                                text: '个人业绩统计',
36
                                subtext: '最近7天'
37
                            },
38
                            tooltip: {
39
                                trigger: 'axis'
40
                            },
41
                            legend: {
42
                                data: ['新增用户', '新增激活用户']
43
                            },
44
                            xAxis: {
45
                                data: data.map(function (item) {
46
                                    return item.createTime;
47
                                }),
48
                                boundaryGap: false
49
                            },
50
                            yAxis: {
51
                                splitLine: {
52
                                    show: false
53
                                },
54
                                boundaryGap: false,
55
                                type: "value",
56
                                interval: 1,
57
                                min: 0
58
                            },
59
                            toolbox: {
60
                                show: true,
61
                                feature: {
62
                                    dataZoom: {
63
                                        yAxisIndex: 'none'
64
                                    },
65
                                    dataView: {readOnly: true},
66
                                    magicType: {type: ['line', 'bar']},
67
                                    restore: {},
68
                                    saveAsImage: {}
64 69
                                }
70
                            },
71
                            dataZoom: [{
72
                                startValue: ""
73
                            }, {
74
                                type: 'inside'
75
                            }],
76
                            visualMap: {
77
                                top: 10,
78
                                right: 10,
79
                            },
80
                            series: [{
81
                                name: '新增用户',
82
                                type: 'line',
83
                                data: data.map(function (item) {
84
                                    return item.znum;
85
                                }),
86
                            }, {
87
                                name: '新增激活用户',
88
                                type: 'line',
89
                                data: data.map(function (item) {
90
                                    return item.jnum;
91
                                })
65 92
                            }
66
                        }
67
                    } else {
68
                        tableData2.data = allData.byRole;
69
                    }
70
                    cr2.val(tableData2.data);
93
                            ]
94
                        };
95
                        cr.val(data);
96
                        myChart.setOption(option);
97
                    })
71 98
                };
72
                var load = function () {
73
                    util.get("../ajax/operation/statist/user", null, function (data) {
74
                        allData = data || [];
75
                        query();
76
                        query2();
99
                root.find(".opt-query").on("click", function () {
100
                    $.util.get("../ajax/sys/user/pictable/" + dynUser.formRef.val().name, null, function (data) {
101
                        var colors = ['#c23531', '#82C8FA'];
77 102
                        var option = {
78
79 103
                            color: colors,
80 104
                            title: {
81
                                text: '用户流量统计',
105
                                text: '个人业绩统计',
82 106
                                subtext: '最近7天'
83 107
                            },
84 108
                            tooltip: {
@ -88,7 +112,7 @@ spa_define(function () {
88 112
                                data: ['新增用户', '新增激活用户']
89 113
                            },
90 114
                            xAxis: {
91
                                data: allData.map(function (item) {
115
                                data: data.map(function (item) {
92 116
                                    return item.createTime;
93 117
                                }),
94 118
                                boundaryGap: false
@ -126,30 +150,27 @@ spa_define(function () {
126 150
                            series: [{
127 151
                                name: '新增用户',
128 152
                                type: 'line',
129
                                data: allData.map(function (item) {
153
                                data: data.map(function (item) {
130 154
                                    return item.znum;
131 155
                                }),
132 156
                            }, {
133 157
                                name: '新增激活用户',
134 158
                                type: 'line',
135
                                data: allData.map(function (item) {
159
                                data: data.map(function (item) {
136 160
                                    return item.jnum;
137 161
                                })
138 162
                            }
139 163
                            ]
140 164
                        };
141
                        myChart1.setOption(option1);
142
                    }, {});
143
                };
144
                queryBtn.on("click", query());
145
                cr.listen(dict.doTransfer);
146
                root.on("click",".opt-new",function () {
147
                    load();
165
                        myChart.setOption(option);
166
                        cr.val(data);
167
                    });
148 168
                });
149
            },
150
            mainDestory: function () {
169
                cr.listen(dict.doTransfer);
170
                loadChart();
171
151 172
152 173
            }
153
        };
174
        }
154 175
    });
155 176
});