1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333 |
- Highcharts.theme = {
- colors: ["#90bafe", "#93ebe5", "#fda4a1", "#5deab1", "#fdf2bf", "#fdcebf", "#8ff4ff", "#d4fce1", "#2b7bfd", "#3ddbd1", "#fa433d", "#1ac781", "#f9df5d", "#f9845d", "#29eaff", "#75f59e", "#5d9bfd", "#68e3db", "#fb736f", "#2fe49c", "#fbe98e", "#fba98e", "#5cefff", "#a5f8bf"]
- };
- var ONLYONESERIENAME = "serie1",
- ROTATIONCATEGORIESLENGTH = 10,
- commonOptions = {
- colors: Highcharts.theme.colors,
- chart: {},
- title: {
- text: ""
- },
- yAxis: {
- title: {
- text: ""
- },
- min: 0
- },
- tooltip: {
- formatter: function() {
- if (this.series.chart.series.length > 1) {
- return "<b>" + this.series.name + "</b><br/>" + this.x + ": " + this.y
- } else {
- return this.x + ": " + this.y
- }
- }
- },
- plotOptions: {
- column: {
- borderWidth: 0,
- dataLabels: {
- enabled: true
- }
- },
- bar: {
- borderWidth: 0,
- dataLabels: {
- enabled: true
- }
- },
- area: {
- marker: {
- enabled: false,
- symbol: "circle",
- radius: 2,
- states: {
- hover: {
- enabled: true
- }
- }
- }
- }
- }
- },
- dateformatters = {
- formatHour: function(a) {
- if (a.length === 1) {
- return "0" + a + ":00"
- } else {
- return a + ":00"
- }
- },
- formatDay: function(b) {
- if (b.indexOf("__") > -1) {
- var a = b.split("__");
- return a[0] + "-" + a[1]
- } else {
- return b + "日"
- }
- },
- formatWeek: function(a) {
- var b = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"];
- return b[parseInt(a) - 1]
- },
- formatMonth: function(a) {
- return a + "月"
- },
- formatYear: function(a) {
- return a + "年"
- }
- };
- function fillNumber(c, e, d, a) {
- var b = D[c].numberCount;
- if (e === "avg") {
- b = Math.round(D[c].numberCount * 100 / D[c].numberTimeCount) / 100
- }
- if (d === "normal") {
- b = Highcharts.numberFormat(b, 2)
- } else {
- if (d === "rounded") {
- b = Highcharts.numberFormat(b, 0)
- } else {
- if (d === "decimal") {
- b = Highcharts.numberFormat(b, 2)
- } else {
- if (d === "scientific") {
- b = new Number(b).toExponential(2)
- } else {
- if (d === "currency") {
- b = currencys[a] + Highcharts.numberFormat(b, 2)
- } else {
- if (d === "currencyround") {
- b = currencys[a] + Highcharts.numberFormat(b, 0)
- }
- }
- }
- }
- }
- }
- $("#w" + c).find(".val").text(b)
- }
- function createPie(b, a, e) {
- var d = {
- chart: {
- renderTo: "w" + b,
- plotBackgroundColor: null,
- plotBorderWidth: null,
- plotShadow: true
- },
- title: {
- text: ""
- },
- tooltip: {
- formatter: function() {
- return "<b>" + this.point.name + "</b>:" + this.point.v
- }
- },
- plotOptions: {
- pie: {
- borderWidth: 0,
- allowPointSelect: true,
- cursor: "pointer",
- dataLabels: {
- color: "#000000",
- connectorColor: "#000000",
- distance: 10,
- width: "100px",
- formatter: function() {
- return "<b>" + this.point.name + "</b>:" + this.y + "%"
- }
- }
- }
- },
- series: getPieSeries(b, e)
- },
- c = new Highcharts.Chart($.extend(true, d, a))
- }
- function createCol(d, b, f) {
- if (!D[d] || !D[d].categories) {
- return
- }
- var c = getCommonSeries(d, f),
- g = !(c.length === 1 && c[0].name === ONLYONESERIENAME),
- a = 0,
- e = "center";
- if (D[d].categories.length >= ROTATIONCATEGORIESLENGTH) {
- a = -45;
- e = "right"
- }
- opts = {
- chart: {
- renderTo: "w" + d,
- defaultSeriesType: "column"
- },
- xAxis: {
- categories: D[d].categories,
- labels: {
- rotation: a,
- align: e
- }
- },
- legend: {
- enabled: g
- },
- series: c
- },
- chart = new Highcharts.Chart($.extend(true, {},
- commonOptions, opts, b))
- }
- function createStackCol(d, b, f) {
- if (!D[d].categories) {
- return
- }
- var c = getCommonSeries(d, f),
- g = !(c.length === 1 && c[0].name === ONLYONESERIENAME),
- a = 0,
- e = "center";
- if (D[d].categories.length >= ROTATIONCATEGORIESLENGTH) {
- a = -45;
- e = "right"
- }
- opts = {
- chart: {
- renderTo: "w" + d,
- defaultSeriesType: "column"
- },
- xAxis: {
- categories: D[d].categories,
- labels: {
- rotation: a,
- align: e
- }
- },
- yAxis: {
- stackLabels: {
- enabled: true
- }
- },
- legend: {
- enabled: g
- },
- tooltip: {
- formatter: function() {
- return "<b>" + this.x + "</b><br/>" + this.series.name + ": " + this.y + "<br/>Total: " + this.point.stackTotal
- }
- },
- plotOptions: {
- column: {
- stacking: "normal",
- dataLabels: {
- enabled: true,
- color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || "white"
- }
- }
- },
- series: c
- },
- chart = new Highcharts.Chart($.extend(true, {},
- commonOptions, opts, b))
- }
- function createBar(c, a, f) {
- if (!D[c].categories) {
- return
- }
- var b = getCommonSeries(c, f),
- g = !(b.length === 1 && b[0].name === ONLYONESERIENAME),
- e = {
- chart: {
- renderTo: "w" + c,
- defaultSeriesType: "bar"
- },
- xAxis: {
- categories: D[c].categories
- },
- legend: {
- enabled: g
- },
- series: b
- },
- d = new Highcharts.Chart($.extend(true, {},
- commonOptions, e, a))
- }
- function createStackBar(c, a, f) {
- if (!D[c].categories) {
- return
- }
- var b = getCommonSeries(c, f),
- g = !(b.length === 1 && b[0].name === ONLYONESERIENAME),
- e = {
- chart: {
- renderTo: "w" + c,
- defaultSeriesType: "bar"
- },
- xAxis: {
- categories: D[c].categories
- },
- yAxis: {
- stackLabels: {
- enabled: true
- }
- },
- legend: {
- enabled: g
- },
- tooltip: {
- formatter: function() {
- return "<b>" + this.x + "</b><br/>" + this.series.name + ": " + this.y + "<br/>Total: " + this.point.stackTotal
- }
- },
- plotOptions: {
- bar: {
- stacking: "normal",
- dataLabels: {
- enabled: true,
- color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || "white"
- }
- }
- },
- series: b
- },
- d = new Highcharts.Chart($.extend(true, {},
- commonOptions, e, a))
- }
- function createLine(j, h, b, e, l) {
- if (!D[j].categories) {
- return
- }
- var g = getCommonSeries(j, b, false),
- f = !(g.length === 1 && g[0].name === ONLYONESERIENAME),
- d = D[j].categories,
- k = 0,
- c = "center";
- if (D[j].categories.length >= ROTATIONCATEGORIESLENGTH) {
- k = -45;
- c = "right"
- }
- if (e) {
- d = [];
- $(D[j].categories).each(function(m, n) {
- d.push(dateformatters[e](n))
- })
- }
- var a = {
- chart: {
- renderTo: "w" + j,
- defaultSeriesType: h
- },
- xAxis: {
- categories: d,
- labels: {
- rotation: k,
- align: c
- }
- },
- legend: {
- enabled: f
- },
- series: g
- },
- i = new Highcharts.Chart($.extend(true, {},
- commonOptions, a, l))
- }
- function createArea(i, c, k, b) {
- if (!D[i].categories) {
- return
- }
- var g = getCommonSeries(i, b),
- f = !(g.length === 1 && g[0].name === ONLYONESERIENAME),
- e = D[i].categories,
- j = 0,
- d = "center";
- if (D[i].categories.length >= ROTATIONCATEGORIESLENGTH) {
- j = -45;
- d = "right"
- }
- var a = {
- chart: {
- renderTo: "w" + i,
- defaultSeriesType: c
- },
- xAxis: {
- categories: D[i].categories,
- labels: {
- rotation: j,
- align: d
- }
- },
- legend: {
- enabled: f
- },
- series: g
- },
- h = new Highcharts.Chart($.extend(true, {},
- commonOptions, a, k))
- }
- function createStackArea(h, j, b) {
- if (!D[h].categories) {
- return
- }
- var f = getCommonSeries(h, b),
- e = !(f.length === 1 && f[0].name === ONLYONESERIENAME),
- d = D[h].categories,
- i = 0,
- c = "center";
- if (D[h].categories.length >= ROTATIONCATEGORIESLENGTH) {
- i = -45;
- c = "right"
- }
- var a = {
- chart: {
- renderTo: "w" + h,
- defaultSeriesType: "area"
- },
- xAxis: {
- categories: D[h].categories,
- labels: {
- rotation: i,
- align: c
- }
- },
- yAxis: {
- stackLabels: {
- enabled: true
- }
- },
- legend: {
- enabled: e
- },
- tooltip: {
- formatter: function() {
- return "<b>" + this.x + "</b><br/>" + this.series.name + ": " + this.y + "<br/>Total: " + this.point.stackTotal
- }
- },
- plotOptions: {
- area: {
- stacking: "normal",
- dataLabels: {
- color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || "white"
- }
- }
- },
- series: f
- },
- g = new Highcharts.Chart($.extend(true, {},
- commonOptions, a, j))
- }
- function getPieSeries(h, a) {
- if (!D[h].categories) {
- return
- }
- var c = [],
- d,
- f = false,
- g = 0,
- b = 0,
- i = ["75%"],
- e = ["0"];
- $.each(D[h].series,
- function(j, l) {
- b++;
- $(l).each(function(m, k) {
- l[m] = Math.round(k * 100) / 100
- })
- });
- if (b == 2) {
- i = ["45%", "100%"];
- e = ["20%", "45%"]
- }
- $.each(D[h].series,
- function(j, m) {
- if (a == "avg") {
- var l = D[h].timeCountSeries[j];
- $(m).each(function(o, n) {
- var k = n;
- if (l[o] != 0) {
- k = Math.round((m[o] / l[o]) * 100) / 100
- } else {
- k = 0
- }
- m[o] = k
- })
- }
- });
- orderSeries(h);
- $.each(D[h].series,
- function(j, n) {
- if (g == b - 1) {
- f = true
- }
- var m = {
- type: "pie",
- data: [],
- name: j,
- size: i[g],
- innerSize: e[g],
- dataLabels: {
- enabled: f
- }
- },
- l = 0;
- $(n).each(function(o, k) {
- l += k
- });
- $(n).each(function(k, o) {
- m.data.push({
- name: D[h].categories[k],
- color: Highcharts.theme.colors[k % Highcharts.theme.colors.length],
- y: Math.round(o * 1000 / l) / 10,
- v: o
- })
- });
- c.push(m);
- g++
- });
- return c
- }
- function orderSeries(a) {
- var q = a.split("_"),
- s = R.WGTS[q[0]][q[1]],
- o = s.CATSORT;
- var n, r = [],
- g = D[a].series,
- h = D[a].categories;
- if (!h || h.length == 0) {
- return
- }
- var c = 0;
- $.each(g,
- function(i, j) {
- if (o) {
- n = h;
- r.push(i)
- } else {
- if (c == 0) {
- n = j
- } else {
- r.push(i)
- }
- c++
- }
- });
- var f = 0;
- var d = n.length - 1;
- var p = function(v, t) {
- if (v == t) {
- return
- }
- var u = n[v],
- x = h[v],
- w = [];
- $.each(r,
- function(j, i) {
- w[j] = g[i][v]
- });
- var l = v;
- var k = t;
- while (t > v) {
- if (n[t] >= u) {
- t--
- } else {
- n[v] = n[t];
- h[v] = h[t];
- $.each(r,
- function(j, i) {
- g[i][v] = g[i][t]
- });
- while (t > ++v) {
- if (n[v] > u) {
- n[t] = n[v];
- h[t] = h[v];
- $.each(r,
- function(j, i) {
- g[i][t] = g[i][v]
- });
- break
- }
- }
- }
- }
- if (l == v) {
- p(++v, k);
- return
- }
- n[v] = u;
- h[v] = x;
- $.each(r,
- function(j, i) {
- g[i][v] = w[j]
- });
- p(l, v);
- p(t, k)
- };
- p(f, d);
- if ("1" != o) {
- var b = h.length,
- m = Math.floor(b / 2);
- for (var f = 0; f < m; f++) {
- var e = h[f];
- h[f] = h[b - f - 1];
- h[b - f - 1] = e;
- $.each(g,
- function(i, j) {
- e = j[f];
- j[f] = j[b - f - 1];
- j[b - f - 1] = e
- })
- }
- }
- }
- function getCommonSeries(b, c, d) {
- if (!D[b].series) {
- return []
- }
- var a = [];
- $.each(D[b].series,
- function(e, f) {
- $.each(f,
- function(g, h) {
- f[g] = Math.formatFloat(h, 2)
- })
- });
- if (c === "avg") {
- $.each(D[b].series,
- function(e, f) {
- $(f).each(function(h, g) {
- if (D[b].timeCountSeries[e][h] !== 0) {
- f[h] = Math.round(g * 100 / D[b].timeCountSeries[e][h]) / 100
- } else {
- f[h] = 0
- }
- })
- })
- }
- if (!d) {
- orderSeries(b)
- }
- $.each(D[b].series,
- function(e, f) {
- a.push({
- name: e,
- data: f
- })
- });
- return a
- }
- function initLogo() {
- var b = $("#container").attr("mobile");
- if (b) {
- var c = $("#logo").find("a"),
- g = c.css("backgroundSize");
- if ("cover" == g) {
- var f = c.css("backgroundImage");
- if (f) {
- var e = f.substring(f.indexOf("(") + 1, f.lastIndexOf(")")).replace(/\"/g, "");
- var d = $($.format("<img src='{0}' style='border:none;width:100%;' />", e));
- c.append(d);
- d.load(function() {
- c.css({
- backgroundImage: "none",
- backgroundSize: "initial",
- height: $(this).height()
- })
- })
- }
- }
- }
- }
- function createTitle() {
- $("#rptTitle").text(R.RPT.TITLE);
- $("#rptDesc").text(R.RPT.DESC);
- if (R.RPT.EXP !== "1") {
- $("#exportButtons").hide()
- }
- $("#stage").addClass(isMobile ? "": "layout" + R.RPT.LAY)
- }
- function fillSubTitle(b, c) {
- var d = b.find(".subTitle"),
- a = {
- today: "[今天]",
- week: "[本周]",
- month: "[本月]",
- year: "[本年]",
- last24HR: "[过去24小时]",
- last7D: "[过去一周]",
- last30D: "[过去30天]",
- last12M: "[过去12个月]"
- };
- if (c.DRANG === "custom") {
- if (c.SDATE && c.EDATE) {
- d.text("[" + c.SDATE + " to " + c.EDATE + "]")
- } else {
- d.text("")
- }
- } else {
- if (c.DRANG !== "all") {
- d.text(a[c.DRANG])
- } else {
- d.text("")
- }
- }
- }
- function createChart(x, t, h, f) {
- if (!D[x].categories) {
- return
- }
- var w = [],
- q = [],
- a = $("<tbody></tbody>"),
- b,
- y = 0,
- n = 0,
- i = 0,
- u = 0,
- d,
- m = Highcharts.theme.colors,
- o;
- if (h === "likert") {
- var p = x.split("_"),
- l = R.WGTS[p[0]][p[1]],
- e = D[x].categories,
- s = D[x].series[ONLYONESERIENAME];
- $(F).each(function(c, z) {
- if (z.TYP === "likert") {
- $(z.ITMS).each(function(A, B) {
- if (B.NM === l.FLD) {
- $(B.ITMS).each(function(E, G) {
- q.push(G.VAL);
- var C = $.inArray(G.VAL, e);
- if (C >= 0) {
- w.push(s[C])
- } else {
- w.push(0)
- }
- })
- }
- })
- }
- })
- } else {
- q = D[x].categories;
- w = D[x].series[ONLYONESERIENAME]
- }
- var g = new Array();
- var k = new Array();
- $(q).each(function(A, c) {
- var z = new Array();
- z.push(c);
- z.push(w[A]);
- g[A] = z
- });
- $(w).each(function(z, A) {
- var c = new Array();
- c.push(A);
- c.push(q[z]);
- k[z] = c
- });
- function j(C, E) {
- for (var z = 0; z < C.length - 1; z++) {
- for (var B = z + 1; B < C.length; B++) {
- var H = C[z][0];
- var G = C[B][0];
- if (E && H && G && H > G) {
- var I = C[B];
- C[B] = C[z];
- C[z] = I
- } else {
- if (E && H && G && H == G) {
- var A = C[z][1];
- var c = C[B][1];
- if (A > c) {
- var I = C[B];
- C[B] = C[z];
- C[z] = I
- }
- }
- }
- if (!E && H < G) {
- var I = C[B];
- C[B] = C[z];
- C[z] = I
- } else {
- if (!E && H == G) {
- var A = C[z][1];
- var c = C[B][1];
- if (A > c) {
- var I = C[B];
- C[B] = C[z];
- C[z] = I
- }
- }
- }
- }
- }
- }
- $(q).each(function(z, c) {
- if (w[z] !== undefined) {
- y += w[z];
- u += (z + 1) * w[z]
- }
- });
- var v;
- if (f == "count") {
- j(g, true);
- v = g
- } else {
- j(k, false);
- v = k
- }
- $(v).each(function(A, z) {
- var B;
- var c;
- if (f == "count") {
- c = z[0];
- B = z[1]
- } else {
- c = z[1];
- B = z[0]
- }
- if (A % 2 === 0) {
- o = ""
- } else {
- o = "alt"
- }
- if (B !== undefined) {
- i = B;
- d = Highcharts.numberFormat(B * 100 / y, 0) + "%"
- } else {
- i = 0;
- d = "0%"
- }
- if (h === "likert") {
- c += $.format("<em>({0})<em>", A + 1)
- }
- b = $($.format('<tr class="{0}"><th><div>{1}</div></th><td class="percent"><div class="bar" style="width:{2};background-color:{3}"></div><var>{2}</var></td><td class="count">{4}</td></tr>', o, c, d, m[A % m.length], i));
- a.append(b)
- });
- if (h === "likert") {
- $(D[x].categories).each(function(z, A) {
- var c = false;
- $(q).each(function(C, B) {
- if (A === B) {
- c = true;
- return false
- }
- });
- if (!c) {
- b = $($.format('<tr class="{0}"><th><div>{1}<em>(0)<em></div></th><td class="percent"><div class="bar" style="width:{2};background-color:{3}"></div><var>{2}</var></td><td class="count">{4}</td></tr>', "alarm", A, "", "", w[z]));
- n += w[z];
- a.append(b)
- }
- })
- }
- var r = $($.format('<table cellspacing="0" class="fc"><caption><h4 class="title">标题</h4> </caption><thead><tr><th>选项</th><th class="percent">百分比</th><th class="count">小计</th></tr></thead><tfoot><tr><td class="empty"> </td><th>合计</th><td class="count">{0}</td></tr><tr><td class="empty"> </td><th><em>未填写</em></th><td class="count"><em>{1}</em></td></tr></tfoot></table>', y + n, D[x].noAnswer));
- if (h === "likert") {
- r.find("tfoot").append($.format('<tr><td class="empty"> </td><th><em>平均分</em></th><td class="count"><em>{0}</em></td></tr>', Highcharts.numberFormat(u / y, 2)))
- }
- r.append(a);
- t.append(r)
- }
- function createAddressChart(o, k) {
- var f = $("<tbody></tbody>"),
- l = null,
- n,
- j = {},
- q = o.split("_"),
- m = 0,
- i = 0,
- r = R.WGTS[q[0]][q[1]],
- d,
- a,
- b,
- e,
- h,
- g = D[o].entries || [];
- $(F).each(function(c, s) {
- if (s.FLDID === r.FLD) {
- j.ZIP = s.SUBFLDS.ZIP.NM;
- j.PRV = s.SUBFLDS.PRV.NM;
- j.CITY = s.SUBFLDS.CITY.NM;
- j.DTL = s.SUBFLDS.DTL.NM;
- return false
- }
- });
- $(g).each(function(s, t) {
- if (! (t[j.COUN] || t[j.ZIP] || t[j.PRV] || t[j.CITY] || t[j.DTL])) {
- m++;
- return true
- } else {
- i++
- }
- if ((i - 1) % 3 === 0) {
- if (l !== null) {
- f.append(l)
- }
- l = $("<tr></tr>")
- }
- if ((i - 1) % 2 === 0) {
- n = "alt"
- } else {
- n = ""
- }
- a = t[j.ZIP] === undefined ? "": t[j.ZIP];
- b = t[j.PRV] === undefined ? "": t[j.PRV];
- e = t[j.PRV] === undefined ? "": t[j.CITY];
- h = t[j.DTL] === undefined ? "": t[j.DTL];
- l.append($.format('<td class="location {0}"><a href="{1}" target="_blank"><strong>{2}</strong><strong>{3},{4},{5}</strong></a></td>', n, $.format(mapUrlTxt, b + " " + e + " " + a + " " + h), b, e, a, h));
- if (s === g.length - 1) {
- if (i % 3 !== 0) {
- for (var c = 0; c < 3 - i % 3; c++) {
- l.append("<td></td>")
- }
- }
- f.append(l)
- }
- });
- var p = $($.format('<table cellspacing="0" class="fc cards"><caption><h4 class="title">标题</h4> </caption><thead><tr><th colspan="3">最近{0}条数据</th></tr></thead><tfoot><tr><th colspan="2">合计</th><td>{1}</td></tr><tr><th colspan="2"><em>未填写</em></th><td><em>{2}</em></td></tr></tfoot></table>', D[o].lastEntryLimit, i, m));
- p.append(f);
- k.append(p)
- }
- function createGrid(n, j) {
- var p = n.split("_"),
- f = R.WGTS[p[0]][p[1]],
- b = [],
- a = function() {
- var g = {},
- c = "";
- $(F).each(function(k, s) {
- if (s.TYP === "address") {
- g[s.SUBFLDS.PRV.NM] = {
- title: s.LBL + "(省/自治区/直辖市)"
- };
- g[s.SUBFLDS.CITY.NM] = {
- title: s.LBL + "(市)"
- };
- g[s.SUBFLDS.ZIP.NM] = {
- title: s.LBL + "(区/县)"
- };
- g[s.SUBFLDS.DTL.NM] = {
- title: s.LBL + "(详细地址)"
- }
- } else {
- if (s.TYP === "map") {
- g[s.SUBFLDS.TXT.NM] = {
- title: s.LBL
- }
- } else {
- if (s.TYP === "file") {
- g[s.SUBFLDS.ID.NM] = {
- title: s.LBL + "(文件ID)"
- };
- g[s.SUBFLDS.TYP.NM] = {
- title: s.LBL + "(文件类型)"
- };
- g[s.SUBFLDS.SZ.NM] = {
- title: s.LBL + "(文件大小)"
- };
- g[s.SUBFLDS.NM.NM] = {
- title: s.LBL + "(文件名称)"
- }
- } else {
- if (s.TYP === "dropdown2") {
- var t = 1;
- for (ddn in s.SUBFLDS) {
- g[s.SUBFLDS[ddn].NM] = {
- title: s.LBL + "(" + (t++) + ")"
- }
- }
- } else {
- if (s.TYP === "checkbox") {
- $(s.ITMS).each(function(u, v) {
- g[v.NM] = {
- title: v.VAL
- }
- })
- } else {
- if (s.TYP === "likert") {
- $(s.ITMS).each(function(u, v) {
- g[v.NM] = {
- title: v.LBL
- }
- })
- } else {
- var r = {
- title: s.LBL
- };
- if (s.TYP === "number" || s.TYP === "money") {
- r.align = "right"
- }
- g[s.NM] = r
- }
- }
- }
- }
- }
- }
- });
- $.extend(true, g, DataGrid.getCommonFieldsMap());
- return g
- },
- l = function(v, w, u, s, c) {
- var t = [];
- var r = s;
- if (!r) {
- r = ["CTIME_-1"]
- }
- if (!$.isArray(r)) {
- console.error("sortString不是个数组!");
- return
- }
- $.each(r,
- function(x, y) {
- var A = {};
- var B = y.substring(0, y.lastIndexOf("_"));
- var z = y.substring(y.lastIndexOf("_") + 1);
- A[B] = z;
- t.push(A)
- });
- if (!v) {
- v = {
- FIRST: {},
- LAST: {}
- }
- }
- var k = {
- PRTID: R._id,
- WGTKEY: n,
- SORTBY: t,
- PAGESIZE: parseInt(u),
- PAGEINFO: v,
- PREORNEXT: w
- };
- var g = $("#load" + c.attr("id"));
- g.css({
- top: "",
- left: ""
- });
- g.position({
- of: c.parent().parent(),
- at: "center middle",
- my: "center middle"
- });
- g.show();
- $.postJSON("/web/reportview/getgriddata.json", k,
- function(z) {
- var A = z.rows;
- if ("LAST" == w) {
- A = z.rows.reverse()
- }
- var y = c.datagrid("option").pageNumber;
- var x = {
- FIRST: 1,
- LAST: Math.ceil(z.total / u),
- PRE: y - 1,
- NEXT: y + 1
- };
- y = x[w];
- c.datagrid("option", {
- pageNumber: y,
- pageSize: u
- });
- c.datagrid("fillData", {
- rows: A,
- total: z.total
- });
- g.hide()
- })
- };
- j.append('<table class="grid" cellspacing="0" id="g' + n + '" title="数据列表"><thead><tr></tr></thead><tbody></tbody></table>');
- var m = F.slice(0);
- if (FRM.VERIFY == "1") {
- m.push({
- LBL: "核销码",
- NM: "VERIFYID",
- FLDID: "VERIFYID",
- TYP: "text"
- });
- m.push({
- LBL: "核销状态",
- NM: "VERIFYSTATUS",
- FLDID: "VERIFYSTATUS",
- TYP: "text"
- });
- m.push({
- LBL: "核销过期时间",
- NM: "VERIFYDATE",
- FLDID: "VERIFYDATE",
- TYP: "date"
- })
- }
- b = DataGrid.getAllColumns(F, FRM.EX, null);
- if (f.ALLFLDS != "1") {
- var h = a();
- if (f.ISEDT === "1") {
- $(b).each(function(k, c) {
- var g = true;
- $(f.FLDS).each(function(r, s) {
- if (c.field === s) {
- g = false;
- return false
- }
- });
- if (g) {
- c.hide = "1"
- }
- })
- } else {
- for (var e = b.length - 1; e >= 0; e--) {
- var i = true;
- $(f.FLDS).each(function(c, g) {
- if (b[e].field == g) {
- i = false;
- return false
- }
- });
- if (i) {
- b.splice(e, 1)
- }
- }
- }
- }
- $(b).each(function(g, c) {
- if (f.SORTFLD === c.field) {
- c.sort = f.SRT;
- return false
- }
- });
- var d = [];
- var q = {
- rownumbers: "0",
- pageSize: f.PGSZ,
- columns: b,
- query: l,
- sort: ["CTIME_-1"]
- };
- if (f.SORTFLD) {
- d[0] = f.SORTFLD + "_" + f.SRT;
- q.sort = d
- } else {
- q.sort = ["CTIME_-1"]
- }
- j.find("#g" + n).datagrid(q);
- var o = $('<div class="hide" style="position:absolute;" id="loadg' + n + '"><img src="' + resRoot + '/css/images/loading2.gif" /></div>');
- $("body").append(o);
- l(null, "FIRST", f.PGSZ, j.find("#g" + n).datagrid("getSortString"), j.find("#g" + n))
- }
- function createWidgets(e) {
- var c, d, b, a = [$("#z1"), $("#z2"), $("#z3")];
- $(R.WGTS).each(function(f, g) {
- $(g).each(function(k, i) {
- b = f + "_" + k;
- c = i.TYP;
- d = i.GTYP;
- if (c === "advanced") {
- c = i.ADTYP
- }
- var l = $('<div class="widget wgt_' + c + '"></div>');
- if (e) {
- e.append(l)
- } else {
- a[f].append(l)
- }
- if (c === "grid" || c === "chart") {
- l.addClass("noFloat")
- }
- if (c === "graph") {
- l.append('<div><h4 class="title"></h4> <span class="subTitle"></span></div><div class="wgtContainer" id=w' + b + "></div>");
- var h = l.find(".wgtContainer");
- if (d === "pie") {
- if (i.SZ === "small" || isMobile) {
- h.css({
- width: "280px",
- height: "150px"
- })
- } else {
- if (i.SZ === "large") {
- h.css({
- width: "600px",
- height: "300px"
- })
- } else {
- h.css({
- width: "330px",
- height: "220px"
- })
- }
- }
- } else {
- if (i.SZ === "small" || isMobile) {
- h.css({
- width: "410px",
- height: "110px"
- })
- } else {
- if (i.SZ === "large") {
- h.css({
- width: "1260px",
- height: "250px"
- })
- } else {
- h.css({
- width: "790px",
- height: "160px"
- })
- }
- }
- }
- } else {
- if (c === "number") {
- l.attr("id", "w" + b);
- l.append('<strong class="title"></strong><var class="val"></var><em class="numDesc"></em>');
- l.find(".numDesc").text(i.DESC);
- l.find(".val").addClass(i.CLR)
- } else {
- if (c === "text") {
- l.append('<div class="textDesc"></div>');
- l.find(".textDesc").html(i.TEXT)
- } else {
- if (c === "chart") {
- if (i.CHTTYP === "address") {
- createAddressChart(b, l)
- } else {
- createChart(b, l, i.CHTTYP, i.COUNTSORT)
- }
- if (i.FLDDTL === "percent") {
- l.find("tfoot").hide();
- l.find(".count").hide()
- } else {
- if (i.FLDDTL === "count") {
- l.find(".percent").hide();
- l.find(".empty").hide()
- }
- }
- } else {
- if (c === "grid") {
- createGrid(b, l)
- }
- }
- }
- }
- }
- if (i.TITLE) {
- l.find(".title").text(i.TITLE)
- }
- if (i.DRANG) {
- fillSubTitle(l, i)
- }
- if (d === "pie") {
- createPie(b, i.options, i.CNTTYP)
- } else {
- if (d === "col") {
- createCol(b, i.options, i.CNTTYP)
- } else {
- if (d === "stackcol") {
- createStackCol(b, i.options, i.CNTTYP)
- } else {
- if (d === "area" || d === "areaspline") {
- createArea(b, d, i.options, i.CNTTYP)
- } else {
- if (d === "stackarea") {
- createStackArea(b, i.options, i.CNTTYP)
- } else {
- if (d === "bar") {
- createBar(b, i.options, countType)
- } else {
- if (d === "stackbar") {
- createStackBar(b, i.options, i.CNTTYP)
- } else {
- if (d === "line" || d === "spline") {
- i.CATSORT = true;
- createLine(b, d, i.CNTTYP, i.XGRPFMT, i.options)
- } else {
- if (c === "number") {
- fillNumber(b, i.CNTTYP, i.FMT, i.CURR, i.options)
- }
- }
- }
- }
- }
- }
- }
- }
- }
- })
- })
- }
- function initExportAndRefresh() {
- $("#exportButton").click(function() {
- if ($.browser.msie && $.browser.version === "6.0") {
- $("#lightBox").css("margin-top", $(document).scrollTop() - 210)
- }
- $.lightBox({
- url: "/web/exportoption.jsp?RPTID=" + R._id + "&REPORT=1"
- })
- });
- if (R.ISCACHE) {
- $("#cacheInfo").show().find("span").text(R.CACHETM);
- $("#refresh").click(function() {
- $.showStatus();
- $.postJSON("/web/reportview/getrealtimedata", {
- RPTID: R._id
- },
- function(a) {
- D = a;
- $("#z1,#z2,#z3").empty();
- createWidgets();
- $.hideStatus()
- });
- $("#cacheInfo").find("span").text("实时统计");
- $(this).hide();
- return false
- })
- } else {
- if ("1" === R.RPT.CACHE) {
- $("#cacheInfo").show().find("span").text("实时统计");
- $("#refresh").hide()
- }
- }
- }
- function onBridgeReady() {
- WeixinJSBridge.call("hideOptionMenu")
- }
- function initWeixinShare() {
- if (R.DISSHARE === "1") {
- if (typeof WeixinJSBridge == "undefined") {
- if (document.addEventListener) {
- document.addEventListener("WeixinJSBridgeReady", onBridgeReady, false)
- } else {
- if (document.attachEvent) {
- document.attachEvent("WeixinJSBridgeReady", onBridgeReady);
- document.attachEvent("onWeixinJSBridgeReady", onBridgeReady)
- }
- }
- } else {
- onBridgeReady()
- }
- }
- }
- head.ready(function() {
- if (isEmbed) {
- $("body").css("background", "none");
- $("#container").css("width", "100%")
- }
- $.showStatus();
- if ("1" === R.NEEDAJAX) {
- var a = "/web/reportview/getrealtimedata";
- $.postJSON(a, {
- RPTID: R._id
- },
- function(b) {
- D = b;
- createTitle();
- createWidgets();
- initExportAndRefresh();
- $.hideStatus()
- })
- } else {
- createTitle();
- createWidgets();
- initExportAndRefresh();
- $.hideStatus()
- }
- initWeixinShare();
- initLogo()
- });
|