550 lines
20 KiB
Plaintext
550 lines
20 KiB
Plaintext
|
|
@{
|
|
ViewBag.Title = "领导决策";
|
|
}
|
|
<div>
|
|
|
|
<script src="@Url.Content("~/Scripts/echarts.min.js")"></script>
|
|
<div style="width:32%;float:left;height:250px; background-color: #ffffff;
|
|
box-shadow: 0px 4px 12px rgba(34, 25, 25, 0.2);
|
|
margin: 0.25rem;
|
|
margin-top: 0.5rem;" id="sftj">
|
|
|
|
</div>
|
|
<div style="width:32%;float:left;height:250px; background-color: #ffffff;
|
|
box-shadow: 0px 4px 12px rgba(34, 25, 25, 0.2);
|
|
margin: 0.25rem;
|
|
margin-top: 0.5rem;" id="monthjfs">
|
|
|
|
</div>
|
|
<div style="width:32%;float:left;height:250px; background-color: #ffffff;
|
|
box-shadow: 0px 4px 12px rgba(34, 25, 25, 0.2);
|
|
margin: 0.25rem;
|
|
margin-top: 0.5rem;" id="ymdj">
|
|
</div>
|
|
<div style="clear:both"></div>
|
|
<div style="width:32%;float:left;height:250px; background-color: #ffffff;
|
|
box-shadow: 0px 4px 12px rgba(34, 25, 25, 0.2);
|
|
margin: 0.25rem;
|
|
margin-top: 0.5rem;" id="jkzdy">
|
|
|
|
</div>
|
|
<div style="width:32%;float:left;height:250px; background-color: #ffffff;
|
|
box-shadow: 0px 4px 12px rgba(34, 25, 25, 0.2);
|
|
margin: 0.25rem;
|
|
margin-top: 0.5rem;" id="wlyyrs">
|
|
|
|
</div>
|
|
<div style="width:32%;float:left;height:250px; background-color: #ffffff;
|
|
box-shadow: 0px 4px 12px rgba(34, 25, 25, 0.2);
|
|
margin: 0.25rem;
|
|
margin-top: 0.5rem;" id="yyrs">
|
|
</div>
|
|
<div style="clear:both"></div>
|
|
<div style="width:32%;float:left;height:250px; background-color: #ffffff;
|
|
box-shadow: 0px 4px 12px rgba(34, 25, 25, 0.2);
|
|
margin: 0.25rem;
|
|
margin-top: 0.5rem;" id="yylx">
|
|
|
|
</div>
|
|
<div style="width:32%;float:left;height:250px; background-color: #ffffff;
|
|
box-shadow: 0px 4px 12px rgba(34, 25, 25, 0.2);
|
|
margin: 0.25rem;
|
|
margin-top: 0.5rem;">
|
|
|
|
</div>
|
|
<div style="width:32%;float:left;height:250px; background-color: #ffffff;
|
|
box-shadow: 0px 4px 12px rgba(34, 25, 25, 0.2);
|
|
margin: 0.25rem;
|
|
margin-top: 0.5rem;">
|
|
</div>
|
|
</div>
|
|
<script>
|
|
function GetDateStr(AddDayCount) {
|
|
var dd = new Date();
|
|
dd.setDate(dd.getDate() + AddDayCount);//获取AddDayCount天后的日期
|
|
var y = dd.getFullYear();
|
|
var m = dd.getMonth() + 1;//获取当前月份的日期
|
|
var d = dd.getDate();
|
|
return y + "-" + (m>9?m:"0"+m) + "-" + (d>9?d:"0"+d);
|
|
}
|
|
function finit(){
|
|
$.ajax({
|
|
url: "@Url.Action("init")", type: "post", dataType: "json",
|
|
success: function (d) {
|
|
var sftjdata = d.sftj;
|
|
var total = 0;
|
|
var sftjJson = {
|
|
'现金': 0,
|
|
'转账': 0,
|
|
'微信': 0,
|
|
'支付宝':0
|
|
};
|
|
for (var i = 0; i < sftjdata.length; i++) {
|
|
total = total + sftjdata[i].count;
|
|
sftjJson[sftjdata[i].method] = sftjdata[i].count;
|
|
}
|
|
var sftjoption = {
|
|
title: {
|
|
text: "今日收费情况"
|
|
},
|
|
color: ['#3398DB'],
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
|
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
|
}
|
|
},
|
|
grid: {
|
|
left: '3%',
|
|
right: '4%',
|
|
bottom: '3%',
|
|
containLabel: true
|
|
},
|
|
xAxis: [
|
|
{
|
|
type: 'category',
|
|
data: ['总计', '现金', '转账', '微信', '支付宝'],
|
|
axisTick: {
|
|
alignWithLabel: true
|
|
}
|
|
}
|
|
],
|
|
yAxis: [
|
|
{
|
|
type: 'value',
|
|
axisLabel: {
|
|
formatter: '{value} 元'
|
|
}
|
|
}
|
|
],
|
|
series: [
|
|
{
|
|
name: '金额',
|
|
type: 'bar',
|
|
barWidth: '60%',
|
|
data: [total, sftjJson["现金"], sftjJson["转账"], sftjJson["微信"], sftjJson["支付宝"]]
|
|
}
|
|
]
|
|
};
|
|
//echarts.();
|
|
var sftjdiv = document.getElementById("sftj");
|
|
var sftjchart = echarts.init(sftjdiv);
|
|
sftjchart.dispose();
|
|
sftjchart = echarts.init(sftjdiv);
|
|
sftjchart.setOption(sftjoption);
|
|
//sftjchart.clear();
|
|
sftjchart.on("click", function (params) {
|
|
$.ligerDialog.open({url:"@Url.Action("mrsfhzQuery", "QueryStatistics")",title:"每日收费分类汇总",width:1024,height:768});
|
|
});
|
|
var jkzdy = d.jkzdy;
|
|
var jkzdyXais = [];
|
|
for (var i = 0; i < 7; i++) {
|
|
jkzdyXais.push(GetDateStr(0-i));
|
|
}
|
|
jkzdyXais.reverse();
|
|
var jkzdydata = [];
|
|
for (var i = 0; i < jkzdyXais.length; i++) {
|
|
var hasData = false;
|
|
for (var j = 0; j < jkzdy.length; j++) {
|
|
if (jkzdy[j].date == jkzdyXais[i]) {
|
|
jkzdydata.push(jkzdy[j].count);
|
|
hasData = true;
|
|
break;
|
|
}
|
|
}
|
|
if (!hasData) {
|
|
jkzdydata.push(0);
|
|
}
|
|
}
|
|
var jkzdyoption = {
|
|
title: {
|
|
text: '健康证打印人数',
|
|
},
|
|
tooltip: {
|
|
trigger: 'axis'
|
|
},
|
|
legend: {
|
|
data: ['打印人数']
|
|
},
|
|
xAxis: {
|
|
type: 'category',
|
|
boundaryGap: false,
|
|
data: jkzdyXais
|
|
},
|
|
yAxis: {
|
|
type: 'value',
|
|
axisLabel: {
|
|
formatter: '{value} 人'
|
|
}
|
|
},
|
|
series: [
|
|
{
|
|
name: '打印人数',
|
|
type: 'line',
|
|
data: jkzdydata,
|
|
markPoint: {
|
|
data: [
|
|
{ type: 'max', name: '最大人数' },
|
|
{ type: 'min', name: '最小人数' }
|
|
]
|
|
},
|
|
},
|
|
]
|
|
};
|
|
var jkzdydiv = document.getElementById("jkzdy");
|
|
var jkzdychart = echarts.init(jkzdydiv);
|
|
jkzdychart.dispose();
|
|
jkzdychart = echarts.init(jkzdydiv);
|
|
jkzdychart.setOption(jkzdyoption);
|
|
jkzdychart.on("click", function () {
|
|
$.ligerDialog.open({url:"@Url.Action("JKZDYRSQuery", "QueryStatistics")",title:"健康证发证统计",width:1024,height:768});
|
|
});
|
|
var yyrs = d.yyrs;
|
|
var yyrsdata = [];
|
|
var djrsdata = [];
|
|
for (var i = 0; i < jkzdyXais.length; i++) {
|
|
var hasData = false;
|
|
for (var j = 0; j < yyrs.length; j++) {
|
|
if (yyrs[j].date == jkzdyXais[i]) {
|
|
yyrsdata.push(yyrs[j].count);
|
|
djrsdata.push(yyrs[j].come);
|
|
hasData = true;
|
|
break;
|
|
}
|
|
}
|
|
if (!hasData) {
|
|
yyrsdata.push(0);
|
|
djrsdata.push(0)
|
|
}
|
|
}
|
|
var yyrsoption = {
|
|
title: {
|
|
text: '过去七天预约人数',
|
|
},
|
|
tooltip: {
|
|
trigger: 'axis'
|
|
},
|
|
legend: {
|
|
data: ['预约人数',"到检人数"]
|
|
},
|
|
xAxis: {
|
|
type: 'category',
|
|
boundaryGap: false,
|
|
data: jkzdyXais
|
|
},
|
|
yAxis: {
|
|
type: 'value',
|
|
axisLabel: {
|
|
formatter: '{value} 人'
|
|
}
|
|
},
|
|
series: [
|
|
{
|
|
name: '预约人数',
|
|
type: 'line',
|
|
data: yyrsdata,
|
|
markPoint: {
|
|
data: [
|
|
{ type: 'max', name: '最大人数' },
|
|
{ type: 'min', name: '最小人数' }
|
|
]
|
|
},
|
|
},
|
|
{
|
|
name: '到检人数',
|
|
type: 'line',
|
|
data: djrsdata,
|
|
markPoint: {
|
|
data: [
|
|
{ type: 'max', name: '最大人数' },
|
|
{ type: 'min', name: '最小人数' }
|
|
]
|
|
},
|
|
},
|
|
]
|
|
};
|
|
var yyrsdiv = document.getElementById("yyrs");
|
|
var yyrschart = echarts.init(yyrsdiv);
|
|
yyrschart.dispose();
|
|
yyrschart = echarts.init(yyrsdiv);
|
|
yyrschart.setOption(yyrsoption);
|
|
yyrschart.on("click", function (parms) {
|
|
$.ligerDialog.open({url:"@Url.Action("yyqktjQuery", "QueryStatistics")?b=@(DateTime.Now.AddDays(-8).ToString("yyyy-MM-dd"))&e=@DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd")",title:"过去七天预约情况",width:1024,height:768});
|
|
});
|
|
var wlyyrsXAis = [];
|
|
for (var i = 0; i < 7; i++) {
|
|
wlyyrsXAis.push(GetDateStr(i));
|
|
}
|
|
var wlyyrsdata = [];
|
|
for (var i = 0; i < wlyyrsXAis.length; i++) {
|
|
var hasData = false;
|
|
for (var j = 0; j < yyrs.length; j++) {
|
|
if (yyrs[j].date == wlyyrsXAis[i]) {
|
|
wlyyrsdata.push(yyrs[j].count);
|
|
hasData = true;
|
|
break;
|
|
}
|
|
}
|
|
if (!hasData) {
|
|
wlyyrsdata.push(0);
|
|
}
|
|
}
|
|
var wlyyrsoption = {
|
|
title: {
|
|
text: '未来七天预约人数',
|
|
},
|
|
tooltip: {
|
|
trigger: 'axis'
|
|
},
|
|
legend: {
|
|
data: ['预约人数']
|
|
},
|
|
xAxis: {
|
|
type: 'category',
|
|
boundaryGap: false,
|
|
data: wlyyrsXAis
|
|
},
|
|
yAxis: {
|
|
type: 'value',
|
|
axisLabel: {
|
|
formatter: '{value} 人'
|
|
}
|
|
},
|
|
series: [
|
|
{
|
|
name: '预约人数',
|
|
type: 'line',
|
|
data: wlyyrsdata,
|
|
markPoint: {
|
|
data: [
|
|
{ type: 'max', name: '最大人数' },
|
|
{ type: 'min', name: '最小人数' }
|
|
]
|
|
},
|
|
},
|
|
]
|
|
};
|
|
var wlyyrsdiv = document.getElementById("wlyyrs");
|
|
var wlyyrschart = echarts.init(wlyyrsdiv);
|
|
wlyyrschart.dispose();
|
|
wlyyrschart = echarts.init(wlyyrsdiv);
|
|
wlyyrschart.setOption(wlyyrsoption);
|
|
wlyyrschart.on("click", function (parms) {
|
|
$.ligerDialog.open({url:"@Url.Action("yyqktjQuery", "QueryStatistics")?b=@(DateTime.Now.ToString("yyyy-MM-dd"))&e=@DateTime.Now.AddDays(7).ToString("yyyy-MM-dd")",title:"未来七天预约情况",width:1024,height:768});
|
|
});
|
|
var yylx = d.yylx;
|
|
var zzjData = [];
|
|
var wxData = [];
|
|
for (var i = 0; i < wlyyrsXAis.length; i++) {
|
|
var wxHasData = false;
|
|
var zzjHasData = false;
|
|
for (var j = 0; j < yylx.length; j++) {
|
|
if (yylx[j].date == wlyyrsXAis[i]) {
|
|
if (yylx[j].YYType == "1") {
|
|
wxData.push(yylx[j].count);
|
|
wxHasData = true;
|
|
} else if (yylx[j].YYType == "2") {
|
|
zzjData.push(yylx[j].count);
|
|
zzjHasData = true;
|
|
}
|
|
if (wxHasData && zzjHasData) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (!wxHasData) {
|
|
wxData.push(0);
|
|
}
|
|
if (!zzjHasData) {
|
|
zzjData.push(0);
|
|
}
|
|
}
|
|
var yylxoption = {
|
|
title: { text: "预约分类情况" },
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
|
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
|
}
|
|
},
|
|
legend: {
|
|
data: ['自助机',"微信"]
|
|
},
|
|
grid: {
|
|
left: '3%',
|
|
right: '4%',
|
|
bottom: '3%',
|
|
containLabel: true
|
|
},
|
|
xAxis: [
|
|
{
|
|
type: 'category',
|
|
data: wlyyrsXAis,
|
|
boundaryGap: false,
|
|
}
|
|
],
|
|
yAxis: [
|
|
{
|
|
type: 'value'
|
|
}
|
|
],
|
|
series: [
|
|
{
|
|
name: '自助机',
|
|
type: 'bar',
|
|
barWidth:20,
|
|
data: zzjData
|
|
},
|
|
{
|
|
name: '微信',
|
|
type: 'bar',
|
|
barWidth: 20,
|
|
data: wxData
|
|
}
|
|
]
|
|
};
|
|
var yylxdiv = document.getElementById("yylx");
|
|
var yylxchart = echarts.init(yylxdiv);
|
|
yylxchart.dispose();
|
|
yylxchart = echarts.init(yylxdiv);
|
|
yylxchart.on("click", function (parms) {
|
|
$.ligerDialog.open({url:"@Url.Action("yyqktjQuery", "QueryStatistics")?b=@(DateTime.Now.ToString("yyyy-MM-dd"))&e=@DateTime.Now.AddDays(7).ToString("yyyy-MM-dd")",title:"未来七天预约情况",width:1024,height:768});
|
|
});
|
|
yylxchart.setOption(yylxoption);
|
|
var monthjfXais = [];
|
|
var nowDate = new Date();
|
|
var date = nowDate.getDate();
|
|
for (var i = 1; i <= date; i++) {
|
|
//yyqktjQuery
|
|
monthjfXais.push(nowDate.getFullYear() + "-" + ((nowDate.getMonth() + 1) > 9 ? (nowDate.getMonth() + 1) : "0" + (nowDate.getMonth() + 1)) + "-" + (i > 9 ? i : "0" + i));
|
|
}
|
|
var monthjf = d.monthjf;
|
|
var monthjfdata = [];
|
|
for (var i = 0; i < monthjfXais.length; i++) {
|
|
var hasData = false;
|
|
for (var j = 0; j < monthjf.length; j++) {
|
|
if (monthjf[j].date == monthjfXais[i]) {
|
|
monthjfdata.push(monthjf[j].sum);
|
|
hasData = true;
|
|
break;
|
|
}
|
|
}
|
|
if (!hasData) {
|
|
monthjfdata.push(0);
|
|
}
|
|
}
|
|
var monthjfsoption = {
|
|
title: {
|
|
text: '本月缴费情况',
|
|
},
|
|
tooltip: {
|
|
trigger: 'axis'
|
|
},
|
|
legend: {
|
|
data: ['缴费金额']
|
|
},
|
|
xAxis: {
|
|
type: 'category',
|
|
boundaryGap: false,
|
|
data: monthjfXais
|
|
},
|
|
yAxis: {
|
|
type: 'value',
|
|
axisLabel: {
|
|
formatter: '{value}万元'
|
|
}
|
|
},
|
|
series: [
|
|
{
|
|
name: '缴费金额',
|
|
type: 'line',
|
|
data: monthjfdata,
|
|
markPoint: {
|
|
data: [
|
|
{ type: 'max', name: '最大缴费' },
|
|
{ type: 'min', name: '最小缴费' }
|
|
]
|
|
},
|
|
},
|
|
]
|
|
};
|
|
var monthjfsdiv = document.getElementById("monthjfs");
|
|
var monthjfschart = echarts.init(monthjfsdiv);
|
|
monthjfschart.dispose();
|
|
monthjfschart = echarts.init(monthjfsdiv);
|
|
monthjfschart.setOption(monthjfsoption);
|
|
monthjfschart.on("click", function (params) {
|
|
//ymsftjQuery
|
|
$.ligerDialog.open({url:"@Url.Action("mrsfhzQuery", "QueryStatistics")?b=@(DateTime.Now.ToString("yyyy-MM")+"-01")&e=@DateTime.Parse(DateTime.Now.AddMonths(1).ToString("yyyy-MM")+"-01").AddDays(-1).ToString("yyyy-MM-dd")",title:"每日收费分类汇总",width:1024,height:768});
|
|
});
|
|
var ymdj = d.ymdj;
|
|
var ymdjXais = [];
|
|
var ymdjData = [];
|
|
for (var i = 0; i < ymdj.length; i++) {
|
|
ymdjXais.push(ymdj[i].name);
|
|
ymdjData.push(ymdj[i].num);
|
|
}
|
|
var ymdjoption = {
|
|
title: {
|
|
text: "今日疫苗收费情况"
|
|
},
|
|
color: ['#3398DB'],
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
axisPointer: { // 坐标轴指示器,坐标轴触发有效
|
|
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
|
|
}
|
|
},
|
|
grid: {
|
|
left: '3%',
|
|
right: '4%',
|
|
bottom: '3%',
|
|
containLabel: true
|
|
},
|
|
xAxis: [
|
|
{
|
|
type: 'category',
|
|
data: ymdjXais,
|
|
axisTick: {
|
|
alignWithLabel: true
|
|
}
|
|
}
|
|
],
|
|
yAxis: [
|
|
{
|
|
type: 'value',
|
|
axisLabel: {
|
|
formatter: '{value} 元'
|
|
}
|
|
}
|
|
],
|
|
series: [
|
|
{
|
|
name: '金额',
|
|
type: 'bar',
|
|
barWidth: '60%',
|
|
data: ymdjData
|
|
}
|
|
]
|
|
};
|
|
var ymdjdiv = document.getElementById("ymdj");
|
|
var ymdjchart = echarts.init(ymdjdiv);
|
|
ymdjchart.dispose();
|
|
ymdjchart = echarts.init(ymdjdiv);
|
|
ymdjchart.setOption(ymdjoption);
|
|
ymdjchart.on("click", function (parms) {
|
|
//ymsftjQuery
|
|
$.ligerDialog.open({url:"@Url.Action("ymsftjQuery", "QueryStatistics")",title:"疫苗收费统计",width:1024,height:768});
|
|
|
|
});
|
|
},
|
|
});
|
|
}
|
|
$(function () {
|
|
finit();
|
|
setInterval(finit, 60000);
|
|
});
|
|
|
|
</script>
|