var searchIndex = "000960"
, options_data = {
secCode: searchIndex
}
, options = {
type: "GET",
data: options_data,
url:"/system/resource/loaddata/companyGeneralization.jsp",
loadingPlugin: window.Loading($(".company-info"))
};
var config = {
template: {
trendTemStr: $("#trendTemplate").html()
},
minuteUrl: "/system/resource/loaddata/getTimeData.jsp",
kUrl: "/system/resource/loaddata/getHistoryData.jsp",
charts: {},
chartDataState: {},
codeReg: /^399?/,
code: searchIndex
};
function initElements() {
config.elements = {
trendWrap: $(".trend-wrap"),
minuteWrap: $("#minutely"),
dayWrap: $("#daily"),
weekWrap: $("#weekly"),
monthWrap: $("#monthly"),
trendTabs: $(".pic-tabs", ".trend-wrap"),
trendDetailWrap: $(".detail-info", ".trend-detail-wrap")
}
}
function setChartData() {
$.when(ajaxRequest({
url: config.minuteUrl,
type: "GET",
data: setRequestParam("minute"),
loadingPlugin: window.Loading(config.elements.trendWrap)
})).done(function(t) {
if (t && "0" === t.code && (config.chartDataState.minute = !0),
config.isChinext = 17 === t.data.groupId,
config.isCDR = !0 === t.data.isCDR,
config.isChinext && !0 !== t.data.isDelisting && $(".trend-wrap").addClass("chinext-wrap"),
buildBasicInfo(t.data),
(config.isChinext || config.isCDR) && !0 !== t.data.isDelisting) {
var e = 2 === t.data.isNoProfit ? 'U' : ""
, a = 2 === t.data.isVoteDifferent ? 'W' : ""
, n = e + (1 === t.data.isVIE ? 'V' : "") + a;
$(".gemSign").html(n),
n && $(".item-right").css("padding-right", "85px")
}
$(".update-time").text(t.datetime);
var i = {
data: t,
grid: {
index: [["4%", 20, "8%", 65]],
sec: [["4%", 60, "48%", 60], ["65%", 60, "7%", 60]]
}
};
if ($.isEmptyObject(config.charts.minuteChart)) {
var l = new s.ui.controls.mLineChart(config.elements.minuteWrap,i);
config.charts.minuteChart = l
} else
config.charts.minuteChart.updateOption(i)
})
}
function setDayChartData() {
$.when(ajaxRequest({
url: config.kUrl,
type: "GET",
data: setRequestParam("day"),
loadingPlugin: window.Loading(config.elements.dayWrap)
})).done(function(t) {
t && "0" === t.code && (config.chartDataState.day = !0);
var e = {
data: t,
grid: [["4%", 68, "48%", 32], ["65%", 68, "16%", 32]]
};
if ($.isEmptyObject(config.charts.dayChart)) {
var a = new s.ui.controls.kLineChart(config.elements.dayWrap,e);
config.charts.dayChart = a
} else
config.charts.dayChart.updateOption(e)
})
}
function setWeekChartData() {
$.when(ajaxRequest({
url: config.kUrl,
type: "GET",
data: setRequestParam("week"),
loadingPlugin: window.Loading(config.elements.weekWrap)
})).done(function(t) {
t && "0" === t.code && (config.chartDataState.week = !0);
var e = {
data: t,
grid: [["4%", 68, "48%", 32], ["65%", 68, "16%", 32]]
};
if ($.isEmptyObject(config.charts.weekChart)) {
var a = new s.ui.controls.kLineChart(config.elements.weekWrap,e);
config.charts.weekChart = a
} else
config.charts.weekChart.updateOption(e)
})
}
function setMonthChartData() {
$.when(ajaxRequest({
url: config.kUrl,
type: "GET",
data: setRequestParam("month"),
loadingPlugin: window.Loading(config.elements.monthWrap)
})).done(function(t) {
t && "0" === t.code && (config.chartDataState.month = !0);
var e = {
data: t,
grid: [["4%", 68, "48%", 32], ["65%", 68, "16%", 32]]
};
if ($.isEmptyObject(config.charts.monthChart)) {
var a = new s.ui.controls.kLineChart(config.elements.monthWrap,e);
config.charts.monthChart = a
} else
config.charts.monthChart.updateOption(e)
})
}
function switchChartData() {
config.chartDataState.index || config.chartDataState.minute ? 1 !== config.chartDataState.index || config.chartDataState.day ? 2 !== config.chartDataState.index || config.chartDataState.week ? 3 !== config.chartDataState.index || config.chartDataState.month || setMonthChartData() : setWeekChartData() : setDayChartData() : setChartData()
}
function setRequestParam(t) {
switch (t) {
case "minute":
return {
marketId: 1,
code: config.code
};
case "day":
return {
cycleType: 32,
marketId: 1,
code: config.code
};
case "week":
return {
cycleType: 33,
marketId: 1,
code: config.code
};
case "month":
return {
cycleType: 34,
marketId: 1,
code: config.code
}
}
}
function buildBasicInfo(t) {
var e = _.template(config.template.trendTemStr);
t.isIndex = config.codeReg.test(t.code),
t.newIsDown = /^\-/.test(t.deltaPercent),
t.openIsDown = +t.open < +t.close,
t.highIsDown = +t.high < +t.close,
t.lowIsDown = +t.low < +t.close,
t.isChinext = config.isChinext,
calcuUnit(t),
tradingStatusFilter(t);
var a = e(t);
config.elements.trendDetailWrap.empty().append(a)
}
function calcuUnit(t) {
function e(t, e) {
return function(t) {
var e = {};
return void 0 === t || (1 <= t / 1e8 ? (e.value = (t / 1e8).toFixed(2),
e.unit = "亿") : 1 <= t / 1e4 ? (e.value = (t / 1e4).toFixed(2),
e.unit = "万") : (e.value = t,
e.unit = "")),
e
}(t)
}
var a = e(t.volume);
t.volume = a.value,
t.volumeUnit = a.unit;
var n = e(t.amount);
t.amount = n.value,
t.amountUnit = n.unit;
var i = e(t.volumeAhT);
t.volumeAhT = i.value,
t.volumeAhTUnit = i.unit;
var s = e(t.amountAhT);
t.amountAhT = s.value,
t.amountAhTUnit = s.unit
}
function tradingStatusFilter(t) {
config.isEnglish ? (t.tradingPhaseCode1 = {
2: "Opening Auction",
3: "Continuous Auction",
11: "Market Break",
7: "Closing Auction",
0: "Market Closed",
6: "Temporary Trading Halt",
12: "Suspension due to Volatility",
4: "All-day Suspension"
}[t.tradingPhaseCode1] || "--",
t.tradingPhaseCode2 = {
8: "Accept Order",
9: "Continuous Trading",
0: "Market Closed",
4: "All-day Suspension",
11: "Market Break",
6: "Temporary Trading Halt"
}[t.tradingPhaseCode2] || "--") : (t.tradingPhaseCode1 = {
2: "开盘集合竞价",
3: "连续竞价",
11: "休市",
7: "收盘集合竞价",
0: "闭市",
6: "临时停牌",
12: "波动性中断",
4: "全天停牌"
}[t.tradingPhaseCode1] || "--",
t.tradingPhaseCode2 = {
8: "接受申报",
9: "连续交易",
0: "闭市",
4: "全天停牌",
11: "休市",
6: "临时停牌"
}[t.tradingPhaseCode2] || "--")
}
function switchTabs() {
config.elements.trendTabs.delegate(">li", "click", function(t) {
var e = $(this).index();
config.chartDataState.index = e,
switchChartData(),
$(this).addClass("active").siblings("li").removeClass("active"),
$(".tab-panel", config.elements.trendWrap).removeClass("active").eq(e).addClass("active")
})
}
initElements(),
switchChartData(),
switchTabs();