!function () { var allfields = { /*�б��f=�ֶ�����t=��ʾ��/�ֶα��⣬digit=с��λ����-1�������ã�-2��ʾ�ַ��� * cfg: 1=��ʾ�������� 2=ǿ���޷��� 4=ǿ��+�� 8=ǧλ���� 16=ʹ��th 32=�ǵ���ͷ * css: custom_css * ��/��:�զ��ж�λ�� * shift:����10�ļ��η� * p: template */ counts: { s: 1 }, symbol: { key: 'symbol',title: '����' }, sym: { key: 'sym',title: '����' }, name: { key: 'name',title: '����' }, now: { key: 'now',title: ' ���¼�',digit: 2,cfg: 16 + 32 }, change: { key: 'change',title: '�ǵ���',digit: 2,cfg: 4 + 8 + 16 }, changep: { key: 'changep',title: '�ǵ���',digit: 2,cfg: 4 + 8 + 16,p: '$1%',color: true }, open: { key: 'open',title: '���̼�',digit: 2,cfg: 8 + 16 }, preclose: { key: 'preclose',title: '����',digit: 2,cfg: 8 + 16 }, volume: { key: 'volume',title: '�ɽ���(��)',digit: 0,cfg: 16,'��/��': true,shift: -2 }, amount: { key: 'amount',title: '�ɽ���(Ԫ)',digit: 2,cfg: 16,'��/��': true }, turnover: { key: 'turnover',title: '������',digit: 2,cfg: 8 + 16,p: '$1%' }, pe: { key: 'pe',title: '��ӯ��',digit: 2,cfg: 8 + 16 }, pb: { key: 'pb',title: '�о���',digit: 2,cfg: 8 + 16 }, high: { key: 'high',title: '��߼�',digit: 2,cfg: 8 + 16 }, low: { key: 'low',title: '��ͼ�',digit: 2,cfg: 8 + 16 }, buy: { key: 'buy',title: '�����',digit: 2,cfg: 8 + 16 }, sell: { key: 'sell',title: '�����',digit: 2,cfg: 8 + 16 }, date: { key: 'date',title: '����' }, time: { key: 'time',title: 'ʱ��' }, swing: { key: 'swing',title: '���',digit: 2,cfg: 8 + 16,p: '$1%' }, eps: { key: 'eps',title: 'ÿ������',digit: 2,cfg: 8 + 16,s: 1 }, profit4season: { key: 'profit4season',title: '���4����ÿ������',digit: 2,cfg: 8 + 16,s: 1 }, profityear: { key: 'profityear',title: '��������ÿ������',digit: 2,cfg: 8 + 16,s: 1 }, netasset: { key: 'netasset',title: 'ÿ�ɾ��ʲ�',digit: 2,cfg: 8 + 16,s: 1 }, averagevolume: { key: 'averagevolume',title: 'ƽ���ɽ���',digit: 2,cfg: 8 + 16,s: 1 }, shares: { key: 'shares',title: '�ܹɱ�',digit: 0,cfg: 16,'��/��': true,s: 1 }, capital: { key: 'capital',title: '��ͨ�ɱ�',digit: 0,cfg: 16,'��/��': true,s: 1 }, cvs: { key: 'cvs',title: '��ͨ��ֵ(Ԫ)',digit: 2,cfg: 16,'��/��': true }, totalshare: { key: 'totalshare',title: '����ֵ(Ԫ)',digit: 2,cfg: 16,'��/��': true }, capitala: { key: 'capitala',title: '��ͨa��',digit: 0,cfg: 16,'��/��': true,s: 1 }, capitalb: { key: 'capitalb',title: '��ͨb��',digit: 0,cfg: 16,'��/��': true,s: 1 }, netprofit: { key: 'netprofit',title: '�����ⱦ�����(��Ԫ)',digit: 2,cfg: 16,'��/��': true,s: 1 }, issueprice: { key: 'issueprice',title: '���м�',digit: 2,cfg: 8 + 16,s: 1 }, roe: { key: 'roe',title: '���ʲ�������',digit: 2,cfg: 8 + 16,p: '$1%',s: 1 }, revenue: { key: 'revenue',title: '��ӫҵ������(��Ԫ)',digit: 2,cfg: 16,'��/��': true,s: 1 }, changes_5: { key: 'changes_5',title: '�����ǵ�',digit: 2,cfg: 8 + 16,p: '$1%',s: 1 }, changes_10: { key: 'changes_10',title: 'ʮ���ǵ�',digit: 2,cfg: 8 + 16,p: '$1%',s: 1 }, changes_20: { key: 'changes_20',title: '��ʮ���ǵ�',digit: 2,cfg: 8 + 16,p: '$1%',s: 1 }, changes_30: { key: 'changes_30',title: '��ʮ���ǵ�',digit: 2,cfg: 8 + 16,p: '$1%',s: 1 }, changes_60: { key: 'changes_60',title: '��ʮ���ǵ�',digit: 2,cfg: 8 + 16,p: '$1%',s: 1 }, netamount: { key: 'netamount',title: '������(Ԫ)',digit: 2,cfg: 16,'��/��': true }, netinflowrate: { key: 'netinflowrate',title: '��������',digit: 2,cfg: 8 + 16,p: '$1%' }, r0_in: { key: 'r0_in',title: '����������(Ԫ)',digit: 2,cfg: 16,'��/��': true }, r3_in: { key: 'r3_in',title: 'ɢ��������(Ԫ)',digit: 2,cfg: 16,'��/��': true }, r0_net_3: { key: 'r0_net_3',title: '3�վ�����(Ԫ)',digit: 2,cfg: 16,'��/��': true,s: 1 }, r0_net_5: { key: 'r0_net_5',title: '5�վ�����(Ԫ)',digit: 2,cfg: 16,'��/��': true,s: 1 } }; window.allfields = allfields; function $(id) { if(typeof id == 'string') { return document.getelementbyid(id); } else { return id; } } /* container : ��������������ֱ��innerhtml��һ��������id����Ԫ��dom��ԭ���� * fieldscfg : ����ʹ�ö����ֶβ���������������allfields�ķ��� * csscfg : �ǵ�css��ʽ��ĭ��up��down��flat */ function datadrawer(container,fieldscfg,csscfg) { this.template = []; this.html = ''; this.container = $(container); this.fields = fieldscfg || {}; this.inittemplate(); this.css = merge({ up: 'up',down: 'down',flat: 'flat' },csscfg); } merge(datadrawer.prototype, { inittemplate: function () { var _this = this; var _html = this.container.innerhtml; this.container.innerhtml = _html.replace(//g,'').replace(/@.*?@/g,'--'); _html = _html.replace(//g,function ($1,$2) { _this.template.push($2); return '@template@'; }); this.html = _html; }, /*������ijһ��������ҫ�����������ã����լ�һ��fieldsimportant����*/ draw: function (argdata) { var _this = this; var _html = this.html; var _template = this.template; var _fortemplate = []; var _temp = []; var _data,_single; _data = argdata; /*�������array���ƕ�һ�ݵ����ݣ�ת������*/ /*���arrayԪ�ز������飬����һ��ѭ���ģ�ת������*/ if(_data && (_data.constructor !== array || (_data[0] && _data[0].constructor !== array))) { _data = [_data]; } for(var di = 0;di < _data.length && di < _template.length;di++) { _single = _data[di]; if(_single && _single.constructor !== array) { _single = [_single]; } _temp = []; for(var i = 0,il = _single.length;i < il;i++) { _temp.push(_template[di].replace(/@ud_(.*?)@/g,function ($1,$2) { if(_single[i][$2] !== undefined) { var _d = _single[i][$2] * 1; if(_d > 0) { return _this.css.up; } if(_d < 0) { return _this.css.down; } return _this.css.flat; } }).replace(/@(.*?)@/g,function ($1,$2) { return dataformat(_single[i][$2],(_single[i].fieldsimportant && _single[i].fieldsimportant[$2]) || _this.fields[$2] || allfields[$2]); })); } _fortemplate.push(_temp.join('')); } var _tindex = 0; _html = _html.replace(/@template@/g,function () { _tindex++; return _fortemplate[_tindex - 1] || ''; }); _html = _html.replace(/@ud_(.*?)@/g,function ($1,$2) { if(argdata[$2] !== undefined) { var _d = argdata[$2] * 1; if(_d > 0) { return _this.css.up; } if(_d < 0) { return _this.css.down; } return _this.css.flat; } }).replace(/@(.*?)@/g,function ($1,$2) { return dataformat(argdata[$2],(argdata.fieldsimportant && argdata.fieldsimportant[$2]) || _this.fields[$2] || allfields[$2]); }); this.container.innerhtml = _html; } }); window.datadrawer = datadrawer; /*�����ݰ�field�涨�ķ�ʽ����������ҫ�ǵ���ͷ���贫��lastdata*/ function dataformat(data,field,lastdata) { /*_data�����ű仯��data��ԭʼ���ݣ������ж�����֮��*/ var _data = data; var _field = field; if(typeof field == 'string') { field = allfields[field]; } var _measureby = ''; if(_data === undefined || _data === null) { _data = '--'; } if(field) { /*���ֵijž��и�ʽ������*/ if(!isnan(data * 1) && isfinite(data * 1)) { /*с������λ*/ if(_field.shift) { _data *= math.pow(10,_field.shift); } /*�жͼ�ȷ�̶�*/ if(_field['��/��']) { if(math.abs(_data) > 100000000) { _data /= 100000000; _measureby = '��'; } else if(math.abs(_data) > 10000) { _data /= 10000; _measureby = '��'; } } /*с����λ��*/ if(_field.digit !== undefined && _field.digit >= 0) { if(_measureby) { _data = _data.tofixed(_field.digit || 2); } else { _data = _data.tofixed(_field.digit); } } /*ǧλ����*/ if(_field.cfg & 8) { _data = _data.format(); } /*������*/ if(_field.cfg & 4) { _data = (data * 1) > 0 ? '+' + _data : _data; } /*ǿ���޷���*/ if(_field.cfg & 2) { _data = math.abs(_data * 1); } _data += _measureby; /*�ǵ���ͷ*/ if(_field.cfg & 32 && this.lastdata) { if(data > this.lastdata[_field.key]) { _data = '��' + _data; } if(data < this.lastdata[_field.key]) { _data = '��' + _data; } } if(_field.p) { _data = _field.p.replace('$1',_data); } } return _data; } else { return _data; } } window.dataformat = dataformat; } ();