| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283 |
- layui.use('element', function () {
- var $ = layui.jquery
- , element = layui.element; //Tab的切换功能,切换事件监听等,需要依赖element模块
- $('.site-demo-active').on('click', function () {
- var othis = $(this), type = othis.data('type');
- active[type] ? active[type].call(this, othis) : '';
- });
- //Hash地址的定位
- var layid = location.hash.replace(/^#test=/, '');
- element.tabChange('test', layid);
- element.on('tab(test)', function (elem) {
- location.hash = 'test=' + $(this).attr('lay-id');
- });
- });
- layui.use('laydate', function () {
- var laydate = layui.laydate;
- //日期时间范围
- laydate.render({
- elem: '#test10'
- // , type: 'datetime'
- , range: true
- });
- });
- layui.use(['table', 'jquery'], function () {
- var table = layui.table;
- var form = layui.form,
- layer = parent.layer === undefined ? layui.layer : parent.layer,
- $ = layui.jquery;
- //监听表格复选框选择
- table.on('checkbox(demo)', function (obj) {
- console.log(obj)
- });
- $ = layui.$, active = {
- //查询按钮
- reload: function () {
- Init();
- //执行重载
- table.reload('recordtable', {
- where: {
- dateParty: $("#test10").val()
- , NowDateTime: new Date()
- }
- });
- }
- //本周
- , oneWeek: function () {
- var thisDateParty = getWeekStartDate() + ' - ' + formatDate(now);
- $("#test10").val(thisDateParty);
- Init();
- //执行重载
- table.reload('recordtable', {
- where: {
- dateParty: thisDateParty
- , NowDateTime: new Date()
- }
- });
- }
- //本月
- , oneMonth: function () {
- var thisDateParty = getMonthStartDate() + ' - ' + formatDate(now);
- $("#test10").val(thisDateParty);
- Init();
- //执行重载
- table.reload('recordtable', {
- where: {
- dateParty: thisDateParty
- , NowDateTime: new Date()
- }
- });
- }
- //本年
- , oneYear: function () {
- var thisDateParty = getYearStartDate() + ' - ' + formatDate(now);
- $("#test10").val(thisDateParty);
- Init();
- //执行重载
- table.reload('recordtable', {
- where: {
- dateParty: thisDateParty
- , NowDateTime: new Date()
- }
- });
- }
- };
- $('.searchfilter .layui-btn').on('click', function () {
- var type = $(this).data('type');
- active[type] ? active[type].call(this) : '';
- });
- // 路径配置
- require.config({
- paths: {
- echarts: '/Content/dist'
- }
- });
- function Init() {
- var bottom, dataModel;
- $.ajax({
- url: "/Report/CallTimeMathChartData",
- type: "get",
- contentType: "application/json",
- dataType: "text",
- cache: false,
- data: {
- NowDateTime: new Date(), dateParty: $("#test10").val()
- },
- success: function (result, status) {
- if (status) {
- dataModel = JSON.parse(result);
- bottom = dataModel.bottom;
- // 使用
- require(
- [
- 'echarts',
- 'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载
- , 'echarts/chart/line' // 使用柱状图就加载bar模块,按需加载
- ],
- function (ec) {
- var dahuatheme
- require(['echarts/theme/dahua'], function (theme) {
- dahuatheme = theme;
- });
- // 基于准备好的dom,初始化echarts图表
- var myChart = ec.init(document.getElementById('divimagereport'), dahuatheme);
- option = {
- title: {
- show: false,
- text: '',
- subtext: ''
- },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- data: ['总通话次数', '接听电话次数', '呼出电话次数', '通话总时长', '平均通话时长']
- },
- toolbox: {
- show: true,
- feature: {
- dataView: { show: true, readOnly: false },
- magicType: { show: true, type: ['line', 'bar'] },
- restore: { show: true },
- saveAsImage: { show: true }
- }
- },
- calculable: true,
- xAxis: [
- {
- type: 'category',
- axisLabel: {
- interval: 0
- },
- data: eval(bottom)
- }
- ],
- yAxis: [
- {
- type: 'value'
- }
- ],
- series: [
- {
- name: '总通话次数',
- type: 'bar',
- data: eval(dataModel.d1),
- markPoint: {
- data: [
- { type: 'max', name: '最大值' },
- { type: 'min', name: '最小值' }
- ]
- },
- markLine: {
- data: [
- { type: 'average', name: '平均值' }
- ]
- }
- },
- {
- name: '接听电话次数',
- type: 'bar',
- data: eval(dataModel.d2),
- markPoint: {
- data: [
- { type: 'max', name: '最大值' },
- { type: 'min', name: '最小值' }
- ]
- },
- markLine: {
- data: [
- { type: 'average', name: '平均值' }
- ]
- }
- },
- {
- name: '呼出电话次数',
- type: 'bar',
- data: eval(dataModel.d3),
- markPoint: {
- data: [
- { type: 'max', name: '最大值' },
- { type: 'min', name: '最小值' }
- ]
- },
- markLine: {
- data: [
- { type: 'average', name: '平均值' }
- ]
- }
- },
- {
- name: '通话总时长',
- type: 'bar',
- data: eval(dataModel.d4),
- markPoint: {
- data: [
- { type: 'max', name: '最大值' },
- { type: 'min', name: '最小值' }
- ]
- },
- markLine: {
- data: [
- { type: 'average', name: '平均值' }
- ]
- }
- },
- {
- name: '平均通话时长',
- type: 'bar',
- data: eval(dataModel.d5),
- markPoint: {
- data: [
- { type: 'max', name: '最大值' },
- { type: 'min', name: '最小值' }
- ]
- },
- markLine: {
- data: [
- { type: 'average', name: '平均值' }
- ]
- }
- }
- ]
- };
- // 为echarts对象加载数据
- myChart.setOption(option);
- }
- );
- }
- }
- });
- }
- Init();
- });
|