hqchart 1.1.12693 → 1.1.12706

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/package.json +15 -47
  2. package/src/jscommon/umychart.resource/js/codemirror/javascript.js +1 -1
  3. package/.babelrc +0 -6
  4. package/.vscode/settings.json +0 -4
  5. package/Makefile +0 -9
  6. package/README.md +0 -452
  7. package/index.js +0 -17
  8. package/postcss.config.js +0 -5
  9. package/src/index.html +0 -18
  10. package/src/jscommon/backup/announcement.png +0 -0
  11. package/src/jscommon/backup/announcement2.png +0 -0
  12. package/src/jscommon/backup/blocktrading.png +0 -0
  13. package/src/jscommon/backup/investor.png +0 -0
  14. package/src/jscommon/backup/pforecast.png +0 -0
  15. package/src/jscommon/backup/research.png +0 -0
  16. package/src/jscommon/backup/tradedetail.png +0 -0
  17. package/src/jscommon/backup/umychart - backup.js +0 -17631
  18. package/src/jscommon/backup/umychart.macro.js +0 -4
  19. package/src/jscommon/backup/umychart.macro.vue.js +0 -3
  20. package/src/jscommon/commonindextree.json +0 -92
  21. package/src/jscommon/index.html +0 -13
  22. package/src/jscommon/jschinamapdata.js +0 -3
  23. package/src/jscommon/umychart.NetworkFilterTest.js +0 -48803
  24. package/src/jscommon/umychart.aliYunnetwork.js +0 -47
  25. package/src/jscommon/umychart.cninfo.components/readme.txt +0 -1
  26. package/src/jscommon/umychart.complier.js +0 -25293
  27. package/src/jscommon/umychart.complier.node/umychart.complier.controller.js +0 -559
  28. package/src/jscommon/umychart.complier.node/umychart.complier.node.js +0 -7043
  29. package/src/jscommon/umychart.complier.node/umychart.data.node.js +0 -816
  30. package/src/jscommon/umychart.console.js +0 -12
  31. package/src/jscommon/umychart.deal.js +0 -1452
  32. package/src/jscommon/umychart.dragdiv.js +0 -48
  33. package/src/jscommon/umychart.index.data.js +0 -4132
  34. package/src/jscommon/umychart.js +0 -90542
  35. package/src/jscommon/umychart.keyboard.js +0 -1659
  36. package/src/jscommon/umychart.listctrl.js +0 -690
  37. package/src/jscommon/umychart.mind.js +0 -2203
  38. package/src/jscommon/umychart.network.js +0 -44
  39. package/src/jscommon/umychart.news.js +0 -823
  40. package/src/jscommon/umychart.node.build/buildall.bat +0 -1
  41. package/src/jscommon/umychart.node.build/umychart.node.bat +0 -1
  42. package/src/jscommon/umychart.node.build/umychart.node.export.js +0 -40
  43. package/src/jscommon/umychart.regressiontest.js +0 -400
  44. package/src/jscommon/umychart.report.js +0 -5803
  45. package/src/jscommon/umychart.scrollbar.js +0 -1345
  46. package/src/jscommon/umychart.stock.js +0 -4218
  47. package/src/jscommon/umychart.style.js +0 -625
  48. package/src/jscommon/umychart.testdata.js +0 -150
  49. package/src/jscommon/umychart.uniapp.build/buildall.bat +0 -1
  50. package/src/jscommon/umychart.uniapp.build/umychart.bat +0 -1
  51. package/src/jscommon/umychart.uniapp.build/umychart.export.js +0 -70
  52. package/src/jscommon/umychart.user.js +0 -137
  53. package/src/jscommon/umychart.version.js +0 -30
  54. package/src/jscommon/umychart.vue/umychart.aliYunnetwork.vue.js +0 -56
  55. package/src/jscommon/umychart.vue.build/buildall.bat +0 -4
  56. package/src/jscommon/umychart.vue.build/copy_codemirror.bat +0 -2
  57. package/src/jscommon/umychart.vue.build/umychart.aliYunnetwork.vue.export.js +0 -9
  58. package/src/jscommon/umychart.vue.build/umychart.dragdiv.bat +0 -1
  59. package/src/jscommon/umychart.vue.build/umychart.dragdiv.export.js +0 -6
  60. package/src/jscommon/umychart.vue.build/umychart.index.data.bat +0 -1
  61. package/src/jscommon/umychart.vue.build/umychart.index.data.export.js +0 -4
  62. package/src/jscommon/umychart.vue.build/umychart.listctrl.vue.export.js +0 -15
  63. package/src/jscommon/umychart.vue.build/umychart.regressiontest.vue.export.js +0 -7
  64. package/src/jscommon/umychart.vue.build/umychart.regressiontest.wechat.export.js +0 -12
  65. package/src/jscommon/umychart.vue.build/umychart.stock.bat +0 -1
  66. package/src/jscommon/umychart.vue.build/umychart.stock.vue.export.js +0 -16
  67. package/src/jscommon/umychart.vue.build/umychart.testdata.bat +0 -3
  68. package/src/jscommon/umychart.vue.build/umychart.testdata.vue.export.js +0 -7
  69. package/src/jscommon/umychart.vue.build/umychart.vue.bat +0 -8
  70. package/src/jscommon/umychart.vue.build/umychart.vue.export.js +0 -112
  71. package/src/jscommon/umychart.vue.components/empyt.vue +0 -51
  72. package/src/jscommon/umychart.vue.components/historydayline.vue +0 -240
  73. package/src/jscommon/umychart.vue.components/jsloader.adddialog.vue +0 -315
  74. package/src/jscommon/umychart.vue.components/jsloader.vue +0 -93
  75. package/src/jscommon/umychart.vue.components/jsvuecontainer.vue +0 -160
  76. package/src/jscommon/umychart.vue.components/jsvuecontainer2.0.vue +0 -391
  77. package/src/jscommon/umychart.vue.components/login.vue +0 -178
  78. package/src/jscommon/umychart.vue.components/queryContent.vue +0 -750
  79. package/src/jscommon/umychart.vue.components/readme.txt +0 -8
  80. package/src/jscommon/umychart.vue.components/searchsymbol.vue +0 -299
  81. package/src/jscommon/umychart.vue.components/simulatetrade.vue +0 -1471
  82. package/src/jscommon/umychart.vue.components/stockchart.vue +0 -343
  83. package/src/jscommon/umychart.vue.components/stockchartV2.vue +0 -195
  84. package/src/jscommon/umychart.vue.components/stockdeal.vue +0 -358
  85. package/src/jscommon/umychart.vue.components/stockdealcount.vue +0 -262
  86. package/src/jscommon/umychart.vue.components/stockdeallastest.vue +0 -316
  87. package/src/jscommon/umychart.vue.components/stockdrawtool.vue +0 -343
  88. package/src/jscommon/umychart.vue.components/stockfull.vue +0 -355
  89. package/src/jscommon/umychart.vue.components/stockinfo.demo.vue +0 -153
  90. package/src/jscommon/umychart.vue.components/stockinfo.vue +0 -685
  91. package/src/jscommon/umychart.vue.components/stockkline.demo.vue +0 -1904
  92. package/src/jscommon/umychart.vue.components/stockmultiorder.vue +0 -174
  93. package/src/jscommon/umychart.vue.components/stockmultiperiod.vue +0 -222
  94. package/src/jscommon/umychart.vue.components/stockorder.vue +0 -320
  95. package/src/jscommon/umychart.vue.components/stocktradeinfo.demo.vue +0 -250
  96. package/src/jscommon/umychart.vue.components/stocktradeinfo.vue +0 -1907
  97. package/src/jscommon/umychart.vue.components/test.vue +0 -0
  98. package/src/jscommon/umychart.wechat/getDate.wechat.js +0 -91
  99. package/src/jscommon/umychart.wechat/lighter.news.wechat.js +0 -262
  100. package/src/jscommon/umychart.wechat/readme.txt +0 -3
  101. package/src/jscommon/umychart.wechat/umychart.analyze.wechat.js +0 -551
  102. package/src/jscommon/umychart.wechat/umychart.apidraw.wechat.js +0 -126
  103. package/src/jscommon/umychart.wechat/umychart.bigV.wechat.js +0 -2510
  104. package/src/jscommon/umychart.wechat/umychart.chartframe.wechat.js +0 -2942
  105. package/src/jscommon/umychart.wechat/umychart.chartpaint.wechat.js +0 -9752
  106. package/src/jscommon/umychart.wechat/umychart.charttitle.wechat.js +0 -2023
  107. package/src/jscommon/umychart.wechat/umychart.complier.wechat.js +0 -14726
  108. package/src/jscommon/umychart.wechat/umychart.console.wechat.js +0 -8
  109. package/src/jscommon/umychart.wechat/umychart.coordinatedata.wechat.js +0 -3654
  110. package/src/jscommon/umychart.wechat/umychart.data.wechat.js +0 -2243
  111. package/src/jscommon/umychart.wechat/umychart.element.wechart.js +0 -132
  112. package/src/jscommon/umychart.wechat/umychart.explainer.wechat.js +0 -1077
  113. package/src/jscommon/umychart.wechat/umychart.extendchart.wechat.js +0 -1140
  114. package/src/jscommon/umychart.wechat/umychart.framesplit.wechat.js +0 -2247
  115. package/src/jscommon/umychart.wechat/umychart.hqIndexformula.wechat.js +0 -941
  116. package/src/jscommon/umychart.wechat/umychart.index.data.wechat.js +0 -3628
  117. package/src/jscommon/umychart.wechat/umychart.index.wechat.js +0 -4074
  118. package/src/jscommon/umychart.wechat/umychart.klineinfo.wechat.js +0 -836
  119. package/src/jscommon/umychart.wechat/umychart.markethot.js +0 -50
  120. package/src/jscommon/umychart.wechat/umychart.network.wechart.js +0 -62
  121. package/src/jscommon/umychart.wechat/umychart.news.wechat.js +0 -3568
  122. package/src/jscommon/umychart.wechat/umychart.regressiontest.wechat.js +0 -412
  123. package/src/jscommon/umychart.wechat/umychart.report.wechat.js +0 -3983
  124. package/src/jscommon/umychart.wechat/umychart.resource.wechat.js +0 -919
  125. package/src/jscommon/umychart.wechat/umychart.shareimage.wechat.js +0 -681
  126. package/src/jscommon/umychart.wechat/umychart.simulatetrade.wechat.js +0 -238
  127. package/src/jscommon/umychart.wechat/umychart.stock.wechat.js +0 -4035
  128. package/src/jscommon/umychart.wechat/umychart.style.wechat.js +0 -419
  129. package/src/jscommon/umychart.wechat/umychart.uniapp.canvas.helper.js +0 -99
  130. package/src/jscommon/umychart.wechat/umychart.user.wechat.js +0 -588
  131. package/src/jscommon/umychart.wechat/umychart.userlog.wechat.js +0 -240
  132. package/src/jscommon/umychart.wechat/umychart.vedio.wechat.js +0 -112
  133. package/src/jscommon/umychart.wechat/umychart.version.wechat.js +0 -36
  134. package/src/jscommon/umychart.wechat/umychart.wechat.3.0.js +0 -12055
  135. package/src/jscommon/umychart.wechat/umychart.wechat.js +0 -15460
  136. package/src/jscommon/umychart.worker.js +0 -114
  137. package/src/jscommon/umychart.ws.stock.js +0 -110
  138. package/src/jscommon/umychart_python/.vscode/launch.json +0 -15
  139. package/src/jscommon/umychart_python/__init__.py +0 -4
  140. package/src/jscommon/umychart_python/build.cmd +0 -2
  141. package/src/jscommon/umychart_python/setup.py +0 -25
  142. package/src/jscommon/umychart_python/umychart_cache_testcase.py +0 -165
  143. package/src/jscommon/umychart_python/umychart_complier_data.py +0 -781
  144. package/src/jscommon/umychart_python/umychart_complier_help.py +0 -175
  145. package/src/jscommon/umychart_python/umychart_complier_job.py +0 -193
  146. package/src/jscommon/umychart_python/umychart_complier_jsalgorithm.py +0 -4144
  147. package/src/jscommon/umychart_python/umychart_complier_jscomplier.py +0 -177
  148. package/src/jscommon/umychart_python/umychart_complier_jsexecute.py +0 -517
  149. package/src/jscommon/umychart_python/umychart_complier_jsparser.py +0 -864
  150. package/src/jscommon/umychart_python/umychart_complier_jssymboldata.py +0 -1238
  151. package/src/jscommon/umychart_python/umychart_complier_jssymboldata_cache.py +0 -146
  152. package/src/jscommon/umychart_python/umychart_complier_jssymboldata_json.py +0 -106
  153. package/src/jscommon/umychart_python/umychart_complier_pandas_help.py +0 -80
  154. package/src/jscommon/umychart_python/umychart_complier_scanner.py +0 -554
  155. package/src/jscommon/umychart_python/umychart_complier_testcase.py +0 -362
  156. package/src/jscommon/umychart_python/umychart_complier_util.py +0 -30
  157. package/src/jscommon/umychart_python/umychart_webtemplate.py +0 -131
  158. package/src/jscommon/umychart_python/updatehqchartweb.bat +0 -5
  159. package/src/jscommon/vendor.js +0 -2
  160. package/src/pages/block.list.demo.page/App.vue +0 -117
  161. package/src/pages/block.list.demo.page/index.js +0 -12
  162. package/src/pages/brushTool.demo.page/App.vue +0 -19
  163. package/src/pages/brushTool.demo.page/index.js +0 -12
  164. package/src/pages/container.demo.page/App.vue +0 -118
  165. package/src/pages/container.demo.page/index.js +0 -18
  166. package/src/pages/dataZoom.demo.page/App.vue +0 -265
  167. package/src/pages/dataZoom.demo.page/components/dataZoom.vue +0 -303
  168. package/src/pages/dataZoom.demo.page/index.js +0 -12
  169. package/src/pages/historydayline.demo.page/App.vue +0 -57
  170. package/src/pages/historydayline.demo.page/index.js +0 -12
  171. package/src/pages/hq.demo.page/App.vue +0 -163
  172. package/src/pages/hq.demo.page/index.js +0 -12
  173. package/src/pages/hqchart.black/App.vue +0 -90
  174. package/src/pages/hqchart.black/components/searchsymbol.vue +0 -299
  175. package/src/pages/hqchart.black/components/stockdrawtool.vue +0 -300
  176. package/src/pages/hqchart.black/components/stockfull.vue +0 -313
  177. package/src/pages/hqchart.black/components/stockinfo.vue +0 -428
  178. package/src/pages/hqchart.black/components/stockkline.demo.vue +0 -1652
  179. package/src/pages/hqchart.black/components/stocktradeinfo.vue +0 -1337
  180. package/src/pages/hqchart.black/index.js +0 -30
  181. package/src/pages/hqchart.black/router/candlestickChart.vue +0 -108
  182. package/src/pages/hqchart.black/router/pricePointsTable.vue +0 -294
  183. package/src/pages/hqchart.black/router/stockDeallas.vue +0 -417
  184. package/src/pages/hqchart.black/router/timeShareChart.vue +0 -108
  185. package/src/pages/hqchart.page/App.vue +0 -101
  186. package/src/pages/hqchart.page/index.js +0 -18
  187. package/src/pages/index/App.vue +0 -1408
  188. package/src/pages/index/index.js +0 -7
  189. package/src/pages/indexHq/App.vue +0 -110
  190. package/src/pages/indexHq/index.js +0 -18
  191. package/src/pages/login.demo.page/App.vue +0 -22
  192. package/src/pages/login.demo.page/index.js +0 -12
  193. package/src/pages/queryContent.demo.page/App.vue +0 -29
  194. package/src/pages/queryContent.demo.page/index.js +0 -18
  195. package/src/pages/ranking.black/App.vue +0 -199
  196. package/src/pages/ranking.black/index.js +0 -18
  197. package/src/pages/search.demo.page/App.vue +0 -28
  198. package/src/pages/search.demo.page/index.js +0 -12
  199. package/src/pages/simulatetrade.demo.page/app.vue +0 -121
  200. package/src/pages/simulatetrade.demo.page/index.js +0 -17
  201. package/src/pages/stockdeal.demo.page/App.vue +0 -63
  202. package/src/pages/stockdeal.demo.page/index.js +0 -19
  203. package/src/pages/stockdealcount.demo.page/App.vue +0 -37
  204. package/src/pages/stockdealcount.demo.page/index.js +0 -12
  205. package/src/pages/stockdeallastest.demo.page/App.vue +0 -74
  206. package/src/pages/stockdeallastest.demo.page/index.js +0 -18
  207. package/src/pages/stockinfo.demo.page/App.vue +0 -92
  208. package/src/pages/stockinfo.demo.page/index.html +0 -13
  209. package/src/pages/stockinfo.demo.page/index.js +0 -19
  210. package/src/pages/stockkline.demo.page/App.vue +0 -55
  211. package/src/pages/stockkline.demo.page/index.js +0 -18
  212. package/src/pages/stockmultiorder.demo.page/App.vue +0 -149
  213. package/src/pages/stockmultiorder.demo.page/index.js +0 -18
  214. package/src/pages/stockmultiperiod.demo.page/App.vue +0 -87
  215. package/src/pages/stockmultiperiod.demo.page/index.js +0 -18
  216. package/src/pages/stockorder.demo.page/App.vue +0 -69
  217. package/src/pages/stockorder.demo.page/index.js +0 -18
  218. package/src/pages/test/App.vue +0 -22
  219. package/src/pages/test/index.js +0 -7
  220. package/src/pages/tradeinfopage/app.vue +0 -40
  221. package/src/pages/tradeinfopage/index.js +0 -7
  222. package/src/pages/tradeinfopage/tradeinfo.html +0 -12
  223. package/src/utils/urlObj.js +0 -81
  224. package/src/vendor.js +0 -2
  225. package/webpack.config.js +0 -104
@@ -1,1408 +0,0 @@
1
- <template>
2
- <div class="container">
3
- <div class="topWrap clearfix">
4
- <div class="stockInfo">
5
- <p class="stockName">{{JSEnvironment.Name}}</p>
6
- <div class="codeInfo"><span class="code">{{GlobalSymbol}}</span><i class="iconfont "
7
- @click='ShowSpell'></i>
8
- <div class="editSymbol" v-if='SpellStockShow.Input'><input v-focus maxlength="8" type="text"
9
- v-model='inputSymbolStr'><i class="iconfont icon-close" @click='HideSpell'></i></div>
10
- <ul class="symbolList" v-if='SpellStockShow.List'>
11
- <li v-for='(currentStock,index) in SearchSymbols' :key='index'
12
- @click='ChangeStock(currentStock.symbol)'><span
13
- class="symbol">{{currentStock.symbol}}</span><span
14
- class="name">{{currentStock.name}}</span></li>
15
- </ul>
16
- </div>
17
-
18
- </div>
19
- <div class="priceInfo">
20
- <p class="priceCurrentNum" :class='pageDataColor.priceClass'>{{pageData.get('price')}}</p>
21
- <p class="priceCurrent"><span class="riseNum"
22
- :class='pageDataColor.riseClass'>{{pageData.get('rise')}}</span><span class="risePrecent"
23
- :class='pageDataColor.riseClass'>{{pageData.get('riseRate')}}</span></p>
24
- </div>
25
- <div class="otherInfo">
26
- <ul>
27
- <li>
28
- <div class="high">高<span :class='pageDataColor.highClass'>{{pageData.get('high')}}</span></div>
29
- <div class="low">低<span :class='pageDataColor.lowClass'>{{pageData.get('low')}}</span></div>
30
- </li>
31
- <li>
32
- <div class="open">开<span :class='pageDataColor.openClass'>{{pageData.get('open')}}</span></div>
33
- <div class="change">换<span
34
- :class='pageDataColor.exchangeClass'>{{pageData.get('exchange')}}</span></div>
35
- </li>
36
- <li>
37
- <div class="num">额<span>{{pageData.get('amount')}}</span></div>
38
- <div class="totalValue">量<span>{{pageData.get('vol')}}</span></div>
39
- </li>
40
- <li>
41
- <div class="pe">PE<span>{{pageData.get('pe')}}</span></div>
42
- <div class="eps">EPS<span>{{pageData.get('eps')}}</span></div>
43
- </li>
44
- <li>
45
- <div class="marketV">总市值<span>{{pageData.get('marketV')}}</span></div>
46
- <div class="scrollEPS">滚动EPS<span>{{pageData.get('scrollEPS')}}</span></div>
47
- </li>
48
- <li>
49
- <div class="flowMarketV">流通市值<span>{{pageData.get('flowMarketV')}}</span></div>
50
- <div class="roe">ROE<span :class='pageDataColor.roeClass'>{{pageData.get('roe')}}</span></div>
51
- </li>
52
- <li>
53
- <div class="pb">PB<span>{{pageData.get('pb')}}</span></div>
54
- <div class="amplitude">振幅<span>{{pageData.get('amplitude')}}</span></div>
55
- </li>
56
- </ul>
57
- </div>
58
- </div>
59
- <div class="navBarWrap">
60
- <!-- 蓝色导航条 -->
61
- <div class="navBar">
62
- <a class="item" v-for='(navItem,idx) in NarBarArry' :key='idx' :class='navIndex == idx ? "active":""'
63
- href="javascript:;" @click='ChangeChartByNav(idx,$event)'>{{navItem}}</a>
64
- </div>
65
- </div>
66
-
67
- <div class="kLineSetWrap" id='kLineSetWrap'>
68
- <!-- 分时图设置导航条 -->
69
- <div class="item" v-for='(menuMinuteOne,index) in MenuMinuteData' v-show="IsChartShow.MinuteChartShow"
70
- @click='openMenuTwo(index)'>
71
- <p class="menuOne" :class='{light:IndexInMinute == index}'><span>{{menuMinuteOne.Text}}</span><i
72
- class="iconfont" :class='MenuOneIndex == index ? "icon-shang" : "icon-xia"'></i></p>
73
- <ul class="menuTwo" v-show='IndexInMinute == index ? true:false'>
74
- <li v-for='(minuteIndex,ind) in menuMinuteOne.Children'
75
- :class='{active:menuMinuteOne.ActiveIndex==ind}' :key='ind'
76
- @click.stop='changeKLineChart(menuMinuteOne,minuteIndex,ind)'>{{minuteIndex}}</li>
77
- </ul>
78
- </div>
79
- <!-- k线设置导航条 -->
80
- <div class="item" v-for='(menuOne,index) in MenuData' :key='index' @click='openMenuTwo(index)'
81
- v-show="IsChartShow.KlineChartShow">
82
- <p class="menuOne" :class='{light:MenuOneIndex == index}'>
83
- <span>{{menuOne.Text}}</span><i class='iconfont'
84
- :class='MenuOneIndex == index ? "icon-shang" : "icon-xia"'></i>
85
- </p>
86
- <ul class="menuTwo" v-show='MenuOneIndex == index ? true:false'>
87
- <li v-for='(name,ind) in menuOne.Children' :class='{active:menuOne.ActiveIndex == ind}' :key='ind'
88
- @click.stop='changeKLineChart(menuOne,name,ind)'>{{name}}</li>
89
- </ul>
90
- </div>
91
- </div>
92
- <div class="chartDataWrap clearfix">
93
- <!-- 左侧图形 -->
94
- <div class="leftChart">
95
- <div id="minuteChartID" ref="minuteChartID" style="width:1104px;height:590px;position: relative;"
96
- v-show="IsChartShow.MinuteChartShow"></div>
97
- <div id="kLine" ref='kLine' style="width:1104px;height:558px;position: relative;"
98
- v-show="IsChartShow.KlineChartShow">
99
- </div>
100
- <div class="indexList" v-show='BottomIndexShow'>
101
- <span v-for='(item,index) in IndexBottomData.children' :key='index'
102
- :class='{active:BottomIndexForMinute == index}'
103
- @click='ChangeBottomIndex(item,index)'>{{item}}</span>
104
- </div>
105
- <div class="indexList" v-show='!BottomIndexShow'>
106
- <span v-for='(item,index) in IndexBottomData.children' :key='index'
107
- :class='{active:BottomIndexForHistory == index}'
108
- @click='ChangeBottomIndex(item,index)'>{{item}}</span>
109
- </div>
110
- </div>
111
-
112
- <div class="rightData">
113
- <!-- 右侧数据 -->
114
- <div class="firstLine">委比:<span
115
- :class='bookData.BookRate.ClassName'>{{bookData.BookRate.Text}}</span>委差:<span
116
- :class='bookData.BookDiffer.ClassName'>{{bookData.BookDiffer.Text}}</span></div>
117
- <ul class="sellFive">
118
- <li v-for='(item,index) in sellData' :key='index'>
119
- <span>{{item.Text}}</span>
120
- <span :class='item.ClassName'>{{item.PriceFormat}}</span>
121
- <span>{{item.Vol}}</span>
122
- </li>
123
- </ul>
124
- <ul class="buyFive">
125
- <li v-for='(item,index) in buyData' :key='index'>
126
- <span>{{item.Text}}</span>
127
- <span :class='item.ClassName'>{{item.PriceFormat}}</span>
128
- <span>{{item.Vol}}</span>
129
- </li>
130
- </ul>
131
-
132
- <ul class="detailList">
133
- <li v-for='(item,index) in detailData' :key='index'>
134
- <span>{{item.TimeFormat}}</span>
135
- <span :class='item.ClassName'>{{item.PriceFormat}}</span>
136
- <span>{{item.Vol}}</span>
137
- </li>
138
- </ul>
139
- </div>
140
- </div>
141
-
142
-
143
-
144
- </div>
145
- </template>
146
-
147
- <script>
148
- import jsChart from '../../jscommon/umychart.vue/umychart.vue.js'
149
- import $ from 'jquery'
150
- import jsStock from '../../jscommon/umychart.vue/umychart.stock.vue.js'
151
- export default {
152
- name: 'Hq',
153
- data() {
154
- return {
155
- GlobalSymbol: '000001.sz',
156
- pageData: null,
157
- pageDataColor: null,
158
- bookData: null,
159
- buyData: [],
160
- sellData: [],
161
- detailData: [],
162
- IndexBottomData: {},
163
- IndexBottomForHistory: {
164
- type: 'history',
165
- children: ['BBI', 'MA', 'HMA', 'LMA', 'VMA', 'BOLL', 'STD', 'KDJ', 'MACD', 'RST', 'OBV', 'BIAS'],
166
- },
167
- IndexBottomForMinute: {
168
- type: 'minute',
169
- children: ["MACD", "DMI", "DMA", "BRAR", "KDJ", "RSI", "WR", "CCI", "TRIX"],
170
- },
171
- IndexInMinute: 999, //副图指标下标
172
- IndexActive: 'active',
173
- MenuOneSelected: false,
174
- MenuMinuteData: [
175
- {
176
- Text: '副图指标',
177
- ActiveIndex: null,
178
- Children: ["MACD", "DMI", "DMA", "BRAR", "KDJ", "RSI", "WR", "CCI", "TRIX"]
179
- }
180
- ],
181
- MenuData: [
182
- {
183
- Text: '复权处理',
184
- ActiveIndex: null,
185
- Children: ['不复权', '前复权', '后复权']
186
- },
187
- {
188
- Text: '指标切换',
189
- ActiveIndex: null,
190
- Children: ["均线", "BOLL", "MACD", "KDJ", "VOL", "RSI", "BRAR", "WR", "BIAS", "OBV", "DMI", "CR", "PSY", "CCI", "DMA", "TRIX", "VR", "EMV", "ROC", "MIM", "FSL"]
191
- },
192
- {
193
- Text: '五彩K线',
194
- ActiveIndex: null,
195
- Children: ["十字星", "早晨之星", "垂死十字", "三只乌鸦", "光脚阴线", "黄昏之星"]
196
- },
197
- {
198
- Text: '专家系统',
199
- ActiveIndex: null,
200
- Children: ["BIAS", "CCI", "DMI", "KD", "BOLL", "KDJ"]
201
- },
202
- {
203
- Text: '叠加品种',
204
- ActiveIndex: null,
205
- Children: ["上证指数", "深证成指", "中小板指", "创业板指", "沪深300"]
206
- },
207
- {
208
- Text: '主图线型',
209
- ActiveIndex: null,
210
- Children: ["K线(空心阳线)", "K线(实心阳线)", "美国线", "收盘线"]
211
- },
212
- {
213
- Text: '坐标类型',
214
- ActiveIndex: null,
215
- Children: ["普通坐标", "百分比坐标", "反转坐标"]
216
- },
217
- {
218
- Text: '窗口个数',
219
- ActiveIndex: null,
220
- Children: ["1个窗口", "2个窗口", "3个窗口", "4个窗口", "5个窗口"]
221
- },
222
- {
223
- Text: '鼠标拖拽',
224
- ActiveIndex: null,
225
- Children: ["禁止拖拽", "启动拖拽", "区间选择"]
226
- },
227
- {
228
- Text: '工具',
229
- ActiveIndex: null,
230
- Children: ['工具']
231
- }
232
-
233
- ],
234
- ExtendChart: null, //绘制画图工具
235
- MenuOneIndex: 999, //一级菜单下标
236
- MenuOneSelectedIndex: 0, //一级菜单下标
237
- NarBarArry: ['分时', '五日', '日线', '周线', '月线', '年线', '1分钟', '5分钟', '15分钟', '30分钟', '60分钟'],
238
- IsChartShow: {
239
- MinuteChartShow: true,
240
- FiveMinuteChartShow: false,
241
- KlineChartShow: false,
242
- },
243
- SpellStockShow: { //股票联想是否显示
244
- Input: false,
245
- List: false
246
- },
247
- MenuTwoIndex: null, //二次菜单下标
248
- currentDirection: 'icon-xia', //下拉列表的三角
249
- SearchSymbols: null, //联想股票数据
250
- inputSymbolStr: '', //输入的股票代码
251
- navIndex: 0, //导航下标
252
- BottomIndexForMinute: 0, //底部指标下标
253
- BottomIndexForHistory: 0, //底部指标下标
254
- BottomIndexShow: true,
255
- TrueWidth: 1104, //画布实际宽度
256
- JSEnvironment: {
257
- // Symbol: '600000.sh', //股票代码
258
- Name: '',
259
- //Symbol:'000001.sz', //股票代码
260
- KLineIndex: [ //K线指标
261
- { Name: 'KDJ', Index: 'KDJ' },
262
- { Name: 'MACD', Index: 'MACD' },
263
- { Name: 'RSI', Index: 'RSI' },
264
- { Name: 'BOLL', Index: 'BOLL' },
265
- { Name: 'VOL', Index: 'VOL' },
266
- { Name: '均线', Index: '均线' }
267
- ],
268
-
269
- MinuteChart: null, //走势图
270
- MinuteOption: null,
271
-
272
- HistoryChart: null, //K线图
273
- HistoryOption: null,
274
-
275
- WidthPercent: 0.653,
276
-
277
- FiveDMinuteChart: null,
278
- FiveDMinuteOption: null, //5日分时图选项
279
-
280
- StockCache: null, //股票数据
281
- CurrentNews: 0,
282
- CurrentInteract: 1,
283
- CurrentVisited: 2,
284
- CurrentNotice: 3,
285
- CurrentFlag: 1,
286
- JqTableInfo: $('<table class="tableInfo"></table>'),
287
- JqUlOne: $('<ul class="ulOne"><li class="noRight">不复权</li><li class="noRight active">前复权</li><li class="noRight">后复权</li><ul>'),
288
- JqUlTwo: $('<ul class="ulTwo"></ul>'),
289
- GetIndexByName: function (name) {
290
- for (var i in this.KLineIndex) {
291
- var item = this.KLineIndex[i];
292
- if (item.Name == name) return item.Index;
293
- }
294
-
295
- return null;
296
- },
297
-
298
- GetIndexName: function (index) {
299
- for (var i in this.KLineIndex) {
300
- var item = this.KLineIndex[i];
301
- if (item.Index == index) return item.Name;
302
- }
303
-
304
- return null;
305
- }
306
- }
307
- }
308
- },
309
- directives: {
310
- focus: {
311
- // 指令的定义
312
- inserted: function (el) {
313
- el.focus()
314
- }
315
- }
316
- },
317
- watch: {
318
- inputSymbolStr: function (newValue, oldValue) {
319
- this.SpellStock();
320
- },
321
- GlobalSymbol: function (newValue, oldValue) {
322
- var symbolAry = new Array();
323
- symbolAry.push(newValue);
324
- console.log('[watch GlobalSymbol] newValue', newValue);
325
- this.UpdateMain(null, symbolAry, null, this.JSEnvironment.StockCache);
326
- this.JSEnvironment.StockCache.ReqeustData();
327
- }
328
- },
329
- methods: {
330
- getURLParams(name) {
331
- var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
332
- var r = window.location.search.substr(1).match(reg);
333
- if (r != null) return decodeURI(r[2]);
334
- return null;
335
- },
336
- ShowSpell() {
337
- this.SpellStockShow.Input = true;
338
- this.inputSymbolStr = '';
339
- },
340
- HideSpell() {
341
- this.SpellStockShow.Input = false;
342
- this.SpellStockShow.List = false;
343
- },
344
- ChangeCurrentRight(index) {
345
- if (this.JSEnvironment.HistoryChart != null) {
346
- this.JSEnvironment.HistoryChart.ChangeRight(index);
347
- }
348
- },
349
- ChangeCurrentIndex(indexName) { //切换二级菜单指标
350
- //通过classname判断点击了哪个位置的元素
351
- if (this.JSEnvironment.HistoryChart != null) {
352
- this.JSEnvironment.HistoryChart.ChangeIndex(1, indexName);
353
- }
354
- },
355
- ChangeBottomIndex(indexName, ind) { //切换图形底部指标
356
- if (this.IndexBottomData.type == 'history' && this.JSEnvironment.HistoryChart != null) {
357
- this.JSEnvironment.HistoryChart.ChangeIndex(1, indexName);
358
- this.BottomIndexForHistory = ind;
359
- } else if (this.IndexBottomData.type == 'minute' && this.JSEnvironment.MinuteChart != null) {
360
- this.JSEnvironment.MinuteChart.ChangeIndex(1, indexName);
361
- this.BottomIndexForMinute = ind;
362
- }
363
- },
364
- ChangeInsCurrentIndex: function (typeName) {
365
- var chart = this.JSEnvironment.HistoryChart;
366
- var newArry = this.MenuData[2].Children;
367
- if (chart != null) {
368
- if (typeName == '删除五彩K线') {
369
- chart.CancelInstructionIndex();
370
- newArry.splice(newArry.length - 1, 1);
371
- } else {
372
- chart.ChangeInstructionIndex('五彩K线-' + typeName);
373
- if (newArry.indexOf('删除五彩K线') == -1) {
374
- newArry.push('删除五彩K线');
375
- }
376
-
377
- }
378
- }
379
- },
380
- ChangeSystem(name) {
381
- var chart = this.JSEnvironment.HistoryChart;
382
- var newArry = this.MenuData[3].Children;
383
- if (chart != null) {
384
- if (name == '删除专家系统') {
385
- chart.CancelInstructionIndex();
386
- newArry.splice(newArry.length - 1, 1);
387
- } else {
388
- if (newArry.indexOf('删除专家系统') == -1) {
389
- newArry.push('删除专家系统');
390
- }
391
- chart.ChangeInstructionIndex('交易系统-' + name);
392
- }
393
-
394
- }
395
- },
396
- ChangeOVerlay(index) {
397
- var chart = this.JSEnvironment.HistoryChart;
398
- var currentAry = this.MenuData[4].Children;
399
- if (chart != null) {
400
- if (index > 5) {
401
- chart.ClearOverlaySymbol();//取消叠加
402
- currentAry.splice(currentAry.length - 1, 1);
403
- } else {
404
- switch (index) {
405
- case 0:
406
- chart.OverlaySymbol('000001.sh');
407
- break;
408
- case 1:
409
- chart.OverlaySymbol('399001.sz');
410
- break;
411
- case 2:
412
- chart.OverlaySymbol('399005.sz');
413
- break;
414
- case 3:
415
- chart.OverlaySymbol('399006.sz');
416
- break;
417
- case 4:
418
- chart.OverlaySymbol('000300.sh');
419
- break;
420
- case 5:
421
- chart.ClearOverlaySymbol();
422
- break;
423
- }
424
- if(currentAry.indexOf('取消叠加') == -1){
425
- currentAry.push('取消叠加');
426
- }
427
- }
428
-
429
- }
430
-
431
- },
432
- ChangeMainLineType(index) {
433
- if (this.JSEnvironment.HistoryChart != null) {
434
- switch (index) {
435
- case 0:
436
- this.JSEnvironment.HistoryChart.ChangeKLineDrawType(3);
437
- break;
438
- case 1:
439
- this.JSEnvironment.HistoryChart.ChangeKLineDrawType(0);
440
- break;
441
- case 2:
442
- this.JSEnvironment.HistoryChart.ChangeKLineDrawType(2);
443
- break;
444
- case 3:
445
- this.JSEnvironment.HistoryChart.ChangeKLineDrawType(1);
446
- break;
447
- }
448
- }
449
-
450
- },
451
- ChangeCurrentCoordinateType(index) {
452
- if (this.JSEnvironment.HistoryChart != null) {
453
- this.JSEnvironment.HistoryChart.JSChartContainer.ChangeCoordinateType(index);
454
- }
455
- },
456
- ChangeStock(code) {
457
- this.GlobalSymbol = code;
458
- this.SpellStockShow.Input = false;
459
- this.SpellStockShow.List = false;
460
- if (this.JSEnvironment.MinuteChart != null) {
461
- this.JSEnvironment.MinuteChart.ChangeSymbol(code);
462
- }
463
- if (this.JSEnvironment.HistoryChart != null) {
464
- this.JSEnvironment.HistoryChart.ChangeSymbol(code);
465
- }
466
- },
467
- ChangeWindowCount(index) {
468
- if (this.JSEnvironment.HistoryChart != null) {
469
- this.JSEnvironment.HistoryChart.ChangeIndexWindowCount(index + 1);
470
- }
471
- },
472
- ChangeDragType(index) {
473
- if (this.JSEnvironment.HistoryChart != null) {
474
- this.JSEnvironment.HistoryChart.JSChartContainer.DragMode = index;
475
- }
476
- },
477
- showTools() {
478
- console.log('[index page::画图工具]');
479
- if (this.JSEnvironment.HistoryChart != null) {
480
- var chart = this.JSEnvironment.HistoryChart;
481
- var frame = chart.JSChartContainer.Frame;
482
- if (this.ExtendChart == null) {
483
- this.DrawTools = chart.JSChartContainer.GetExtendChartByClassName('DrawToolsButton');
484
- var drawTools = this.DrawTools;
485
- var option = { Name: '画图工具', Top: frame.ChartBorder.Top, IsAutoIndent: 1 };
486
- this.ExtendChart = chart.JSChartContainer.CreateExtendChart(option.Name, option); //创建扩展图形
487
- var extendChart = this.ExtendChart;
488
- frame.ChartBorder.Right += extendChart.ToolsWidth;
489
- chart.JSChartContainer.SetSizeChage(true);
490
- chart.JSChartContainer.Draw();
491
- }
492
-
493
- }
494
- },
495
- openMenuTwo(ind) { //展开二级菜单
496
- this.currentDirection = 'icon-shang';
497
- if (this.IsChartShow.MinuteChartShow) { //分时图
498
- this.IndexInMinute = ind;
499
- } else {
500
- this.MenuOneIndex = ind;
501
- this.MenuOneSelectedIndex = ind;
502
- }
503
- },
504
- SpellStock() { //股票联想
505
- var inputText = this.inputSymbolStr;
506
- var spellData = {
507
- Input: inputText,
508
- Start: 0,
509
- End: 10,
510
- Callback: this.RequestSpell
511
- };
512
- var Url = "https://opensource.zealink.com/API/StockSpell";
513
- $.ajax({
514
- url: Url,
515
- method: 'POST',
516
- data: {
517
- "input": spellData.Input,
518
- "start": spellData.Start,
519
- "end": spellData.End
520
- },
521
- dataType: 'json',
522
- success(res) {
523
- if (res.code == 0) {
524
- spellData.Callback(res.stock);
525
- }
526
- },
527
- fail(res) {
528
- console.log('SpellStock fail', res);
529
- }
530
- });
531
- },
532
- RequestSpell(data) {
533
- if (data.length > 0) {
534
- this.SpellStockShow.List = true;
535
- this.SearchSymbols = data;
536
- } else {
537
- this.SpellStockShow.List = false;
538
- }
539
- },
540
- changeKLineChart(currentData, name, ind) { //参数:一级菜单名称,二级菜单内容,二级菜单下标
541
- this.MenuOneIndex = 999; //下标不相等,隐藏二级菜单
542
- this.IndexInMinute = 999;
543
- this.currentDirection = 'icon-xia';
544
- currentData.ActiveIndex = ind;
545
- var text = currentData.Text;
546
- //修改一级菜单文本
547
- //this.MenuData[index].Text = name;
548
- switch (text) {
549
- case '副图指标':
550
- if (this.JSEnvironment.MinuteChart != null) {
551
- this.JSEnvironment.MinuteChart.ChangeIndex(1, name);
552
- }
553
- break;
554
- case '分析周期':
555
- this.updateHistoryChart(ind);
556
- break;
557
- case '复权处理':
558
- this.ChangeCurrentRight(ind);
559
- break;
560
- case '指标切换':
561
- this.ChangeCurrentIndex(name);
562
- break;
563
- case '五彩K线':
564
- this.ChangeInsCurrentIndex(name);
565
- break;
566
- case '专家系统':
567
- this.ChangeSystem(name);
568
- break;
569
- case '叠加品种':
570
- this.ChangeOVerlay(ind);
571
- break;
572
- case '主图线型':
573
- this.ChangeMainLineType(ind);
574
- break;
575
- case '坐标类型':
576
- this.ChangeCurrentCoordinateType(ind);
577
- break;
578
- case '窗口个数':
579
- this.ChangeWindowCount(ind);
580
- break;
581
- case '鼠标拖拽':
582
- this.ChangeDragType(ind);
583
- break;
584
- case '工具':
585
- this.showTools();
586
- break;
587
- }
588
- },
589
- LoadEnvironment() {
590
- var symbol = this.getURLParams('symbol');
591
- if (symbol != null) this.GlobalSymbol = symbol;
592
-
593
- var strIndex = this.getURLParams('index');
594
- if (strIndex) {
595
- var aryIndex = strIndex.split(',');
596
- if (aryIndex.length > 0) this.JSEnvironment.KLineIndex = aryIndex;
597
- }
598
- //分钟走势图配置
599
- this.JSEnvironment.MinuteOption = {
600
- Type: '分钟走势图', //历史分钟走势图
601
- Symbol: this.GlobalSymbol,
602
- IsAutoUpate: true, //是自动更新数据
603
- Windows:
604
- [
605
- { Index: "MACD" }
606
- ],
607
- DayCount: 1,
608
-
609
- IsShowRightMenu: false, //右键菜单
610
- IsShowCorssCursorInfo: true, //是否显示十字光标的刻度信息
611
-
612
- Border: //边框
613
- {
614
- Left: 60, //左边间距
615
- Right: 60, //右边间距
616
- Top: 20,
617
- Bottom: 20
618
- },
619
-
620
- KLineTitle: //标题设置
621
- {
622
- IsShowName: false, //不显示股票名称
623
- IsShowSettingInfo: false, //不显示周期/复权
624
- },
625
-
626
- Frame: //子框架设置,刻度小数位数设置
627
- [
628
- { SplitCount: 5, StringFormat: 0 },
629
- { SplitCount: 3, StringFormat: 0 },
630
- { SplitCount: 3, StringFormat: 0 }
631
- ]
632
- };
633
-
634
- //K线图配置
635
- this.JSEnvironment.HistoryOption = {
636
- Type: '历史K线图',
637
- Windows: [
638
- { Index: "均线" },
639
- { Index: "VOL" },
640
- //{Index:"放心股-涨停多空线"},
641
- //{Index:"放心股-量能黄金点"},
642
- ], //窗口指标
643
- Symbol: this.GlobalSymbol,
644
- IsAutoUpdate: true, //是自动更新数据
645
-
646
- IsShowRightMenu: false, //右键菜单
647
-
648
- KLine: {
649
- DragMode: 1, //拖拽模式 0 禁止拖拽 1 数据拖拽 2 区间选择
650
- Right: 1, //复权 0 不复权 1 前复权 2 后复权
651
- Period: 0, //周期 0 日线 1 周线 2 月线 3 年线
652
- MaxReqeustDataCount: 1000, //日线数据最近1000天
653
- MaxRequestMinuteDayCount: 15, //分钟数据最近15天
654
- PageSize: 50, //一屏显示多少数据
655
- IsShowTooltip: true //是否显示K线提示信息
656
- },
657
-
658
- KLineTitle: //标题设置
659
- {
660
- IsShowName: true, //不显示股票名称
661
- IsShowSettingInfo: true //不显示周期/复权
662
- },
663
-
664
- Border: //边框
665
- {
666
- Left: 60, //左边间距
667
- Right: 60, //右边间距
668
- Top: 20
669
- },
670
-
671
- Frame: //子框架设置
672
- [
673
- { SplitCount: 3, StringFormat: 0, IsShowLeftText: false },
674
- { SplitCount: 3, StringFormat: 0, IsShowLeftText: false },
675
- { SplitCount: 3, StringFormat: 0, IsShowLeftText: false },
676
- { SplitCount: 3, StringFormat: 0, IsShowLeftText: false }
677
- ]
678
- };
679
- },
680
- // changeCurrentMinuteIndex(name,ind){ //切换分时图副图指标
681
- // this.menuTwoIndexMinute = ind;
682
- // if(this.JSEnvironment.MinuteChart != null){
683
- // this.JSEnvironment.MinuteChart.ChangeIndex(1,name);
684
- // }
685
- // },
686
- ChangeChartByNav(idx, event) {
687
- var text = event.currentTarget.text;
688
- this.navIndex = idx;
689
- if (text === '分时') {
690
- this.IsChartShow = {
691
- MinuteChartShow: true,
692
- KlineChartShow: false
693
- };
694
- this.updateMinuteChart(1);
695
- this.IndexBottomData = this.IndexBottomForMinute;
696
- this.BottomIndexShow = true;
697
- } else if (text === '五日') {
698
- this.IsChartShow = {
699
- MinuteChartShow: true,
700
- KlineChartShow: false
701
- };
702
- this.updateMinuteChart(5);
703
- this.IndexBottomData = this.IndexBottomForMinute;
704
- this.BottomIndexShow = true;
705
- } else {
706
- this.IsChartShow = {
707
- MinuteChartShow: false,
708
- KlineChartShow: true,
709
- };
710
- // this.MenuTwoIndex = idx - 2; //选中对应的二级菜单
711
- switch (text) {
712
- case '日线':
713
- this.updateHistoryChart(0);
714
- break;
715
- case '周线':
716
- this.updateHistoryChart(1);
717
- break;
718
- case '月线':
719
- this.updateHistoryChart(2);
720
- break;
721
- case '年线':
722
- this.updateHistoryChart(3);
723
- break;
724
- case '1分钟':
725
- this.updateHistoryChart(4);
726
- break;
727
- case '5分钟':
728
- this.updateHistoryChart(5);
729
- break;
730
- case '15分钟':
731
- this.updateHistoryChart(6);
732
- break;
733
- case '30分钟':
734
- this.updateHistoryChart(7);
735
- break;
736
- case '60分钟':
737
- this.updateHistoryChart(8);
738
- break;
739
- }
740
- this.IndexBottomData = this.IndexBottomForHistory;
741
- this.BottomIndexShow = false;
742
- }
743
-
744
- // console.log('[ChangeChartByNav event]',event.currentTarget.text);
745
- },
746
- addClassForData(arrData, arrSource, yClose, type) {
747
- arrData.splice(0, arrData.length);
748
- var ary1 = ["卖一", "卖二", "卖三", "卖四", "卖五"];
749
- var ary2 = ["买一", "买二", "买三", "买四", "买五"];
750
- var textAry = [];
751
- if (type === "Buy") {
752
- textAry = ary2;
753
- } else if (type === "Sell") {
754
- textAry = ary1;
755
- }
756
- if (arrSource !== undefined && arrSource.length > 0) {
757
- arrSource.forEach(function (item, index) {
758
- if (item.Price > yClose) {
759
- item.ClassName = 'upColor';
760
- } else if (item.Price < yClose) {
761
- item.ClassName = 'lowColor';
762
- } else {
763
- item.ClassName = '';
764
- }
765
- item.PriceFormat = Number(item.Price).toFixed(2);
766
- var timeStr = '';
767
-
768
- if (type !== 'Deal') {
769
- item.Text = textAry[index];
770
- } else {
771
- if (String(item.Time).length === 5) {
772
- timeStr = '0' + item.Time;
773
- } else {
774
- timeStr = String(item.Time);
775
- }
776
- item.TimeFormat = timeStr.substring(0, 2) + ':' + timeStr.substring(2, 4);
777
- }
778
-
779
- arrData.push(item);
780
- });
781
- }
782
-
783
- },
784
- updateMinuteChart(count) { //更新分时图
785
- //根据百分比获取分时图div的宽度
786
- var trueWidth = $('.leftChart').width();
787
- // this.TrueWidth = trueWidth;
788
- $("#minuteChartID").width(Number(trueWidth));
789
-
790
- if (this.JSEnvironment.MinuteChart == null) {
791
- this.JSEnvironment.MinuteChart = jsChart.jsChartInit(this.$refs.minuteChartID); // 初始化走势图
792
- jsChart.jsChartStyle(this.JSEnvironment.MinuteOption);
793
- this.JSEnvironment.MinuteChart.SetOption(this.JSEnvironment.MinuteOption);
794
- } else {
795
- this.JSEnvironment.MinuteChart.ChangeDayCount(count);
796
- }
797
- },
798
- UpdateMain(id, arySymbol, dataType, jsStockIntans) { //获得股票基础数据
799
- var read = jsStockIntans.GetStockRead('main', this.UpdateMain); //获取一个读取数据类,并绑定id和更新数据方法
800
- var symbol = arySymbol[0];
801
- var name = read.Get(symbol, jsStock.STOCK_FIELD_NAME.NAME);
802
- this.JSEnvironment.Name = name;
803
- var date = read.Get(symbol, jsStock.STOCK_FIELD_NAME.DATE);
804
- var time = read.Get(symbol, jsStock.STOCK_FIELD_NAME.TIME);
805
- var price = read.Get(symbol, jsStock.STOCK_FIELD_NAME.PRICE);
806
- var riseFallPrice = read.Get(symbol, jsStock.STOCK_FIELD_NAME.RISE_FALL_PRICE);
807
- var increase = read.Get(symbol, jsStock.STOCK_FIELD_NAME.INCREASE);
808
- var high = read.Get(symbol, jsStock.STOCK_FIELD_NAME.HIGH);
809
- var low = read.Get(symbol, jsStock.STOCK_FIELD_NAME.LOW);
810
- var open = read.Get(symbol, jsStock.STOCK_FIELD_NAME.OPEN);
811
- var excahngerate = read.Get(symbol, jsStock.STOCK_FIELD_NAME.EXCHANGE_RATE);
812
- var amount = read.Get(symbol, jsStock.STOCK_FIELD_NAME.AMOUNT);
813
- var vol = read.Get(symbol, 7);
814
- var pe = read.Get(symbol, jsStock.STOCK_FIELD_NAME.PE);
815
- var marketV = read.Get(symbol, jsStock.STOCK_FIELD_NAME.MARKET_VALUE);
816
- var flowMarketV = read.Get(symbol, jsStock.STOCK_FIELD_NAME.FLOW_MARKET_VALUE);
817
- var eps = read.Get(symbol, jsStock.STOCK_FIELD_NAME.FINANCE_PERSEARNING);
818
- var scrollEPS = read.Get(symbol, jsStock.STOCK_FIELD_NAME.FINANCE_EPS);
819
- var roe = read.Get(symbol, jsStock.STOCK_FIELD_NAME.ROE);
820
- var pb = read.Get(symbol, jsStock.STOCK_FIELD_NAME.PB);
821
- var amplitude = read.Get(symbol, jsStock.STOCK_FIELD_NAME.AMPLITUDE);
822
- var yClose = read.Get(symbol, jsStock.STOCK_FIELD_NAME.YCLOSE);
823
- var bookRate = read.Get(symbol, jsStock.STOCK_FIELD_NAME.BOOK_RATE); //委比
824
- var bookDiffer = read.Get(symbol, jsStock.STOCK_FIELD_NAME.BOOK_DIFFER); //委差
825
- var buyData = read.Get(symbol, jsStock.STOCK_FIELD_NAME.BUY5);
826
- var sellData = read.Get(symbol, jsStock.STOCK_FIELD_NAME.SELL5);
827
- var dealData = read.Get(symbol, jsStock.STOCK_FIELD_NAME.DEAL);
828
- this.bookData = {
829
- BookRate: {
830
- Text: Number(bookRate).toFixed(2) + '%',
831
- ClassName: this.setColor(bookRate, 0)
832
- },
833
- BookDiffer: {
834
- Text: bookDiffer,
835
- ClassName: this.setColor(bookRate, 0)
836
- }
837
- };
838
- this.addClassForData(this.buyData, buyData, yClose, "Buy");
839
- this.addClassForData(this.sellData, sellData, yClose, "Sell");
840
- this.sellData.reverse();
841
- this.addClassForData(this.detailData, dealData, yClose, "Deal");
842
-
843
- this.pageData = new Map();
844
- this.pageData.set('symbol', this.GlobalSymbol);
845
- // this.pageData.set('name',name);
846
- this.pageData.set('price', price);
847
- this.pageData.set('rise', riseFallPrice);
848
- this.pageData.set('riseRate', increase);
849
- this.pageData.set('high', high);
850
- this.pageData.set('low', low);
851
- this.pageData.set('open', open);
852
- this.pageData.set('exchange', excahngerate);
853
- this.pageData.set('amount', amount);
854
- this.pageData.set('vol', vol);
855
- this.pageData.set('pe', pe);
856
- this.pageData.set('marketV', marketV);
857
- this.pageData.set('flowMarketV', flowMarketV);
858
- this.pageData.set('eps', eps);
859
- this.pageData.set('scrollEPS', scrollEPS);
860
- this.pageData.set('roe', roe);
861
- this.pageData.set('pb', pb);
862
- this.pageData.set('amplitude', amplitude);
863
- this.baseDataFormat(this.pageData);
864
- this.baseDataColor(this.pageData, yClose);
865
- document.title = name;
866
- read.EndRead();
867
- },
868
- updateHistoryChart(period) { //更新k线图
869
- //根据百分比获取k线图div的宽度
870
- var trueWidth = $('.leftChart').width();
871
- // this.TrueWidth = trueWidth;
872
- $("#kLine").width(Number(trueWidth));
873
- // $("#kLine").height(360);
874
- if (this.JSEnvironment.HistoryChart == null) {
875
- this.JSEnvironment.HistoryChart = jsChart.jsChartInit(this.$refs.kLine); //初始化K线图
876
- this.JSEnvironment.HistoryOption.KLine.Period = period;
877
- this.JSEnvironment.HistoryChart.SetOption(this.JSEnvironment.HistoryOption);
878
-
879
- } else {
880
- this.JSEnvironment.HistoryChart.ChangePeriod(period);
881
- }
882
- },
883
- hideMenuTwo(index) {
884
- this.MenuOneIndex = 999; //下标不相等,隐藏二级菜单
885
- this.currentDirection = 'icon-xia';
886
- },
887
- baseDataFormat(data) {
888
- var self = this;
889
- data.forEach(function (item, key, mapObj) {
890
- if (item == undefined) {
891
- if (key == 'riseRate' || key == 'exchange' || key == 'roe' || key == 'amplitude') {
892
- item = '--%';
893
- } else {
894
- item = '--';
895
- }
896
- } else {
897
- if (key == 'amount' || key == 'marketV' || key == 'flowMarketV' || key == 'vol') {
898
- item = self.numToCUnit(item);
899
- } else if (key == 'riseRate' || key == 'exchange' || key == 'roe' || key == 'amplitude') {
900
- item = Number(item).toFixed(2) + '%';
901
- } else {
902
- item = Number(item).toFixed(2);
903
- }
904
- }
905
- data.set(key, item);
906
- });
907
-
908
- },
909
- numToCUnit(num) {
910
- if (num < 100000000) {
911
- return Number(num / 10000).toFixed(2) + '万';
912
- } else {
913
- return Number(num / 100000000).toFixed(2) + '亿';
914
- }
915
- },
916
- CaluChartWidthHeight(){ //计算图形高度
917
- $(".container").height($(document).height());
918
- var chartHeight = $(document).height() - $(".topWrap").outerHeight(true) - $(".navBarWrap").outerHeight(true) - $(".kLineSetWrap").outerHeight(true) - $(".indexList").outerHeight(true) - 5;
919
- var chartWidth = $(document).width() - $(".rightData").outerWidth(true) - 2;
920
- console.log('[CaluChartWidthHeight document outerWidth]',$(document).width());
921
- $("#minuteChartID").width(chartWidth).height(chartHeight);
922
- $("#kLine").width(chartWidth).height(chartHeight);
923
- if(this.JSEnvironment.MinuteChart != null){
924
- this.JSEnvironment.MinuteChart.OnSize();
925
- }
926
- if(this.JSEnvironment.HistoryChart != null){
927
- this.JSEnvironment.HistoryChart.OnSize();
928
- }
929
- },
930
- baseDataColor(data, yClose) {//与昨日收盘价相比,与0比
931
- this.pageDataColor = {};
932
- var self = this;
933
- data.forEach(function (item, key, mayobj) {
934
- if (item != undefined) {
935
- switch (key) {
936
- case 'exchange':
937
- item = item.split('%')[0];
938
- var className = self.setColor(item, 0);
939
- self.pageDataColor.exchangeClass = className;
940
- break;
941
- case 'roe':
942
- item = item.split('%')[0];
943
- var className = self.setColor(item, 0);
944
- self.pageDataColor.roeClass = className;
945
- break;
946
- case 'rise':
947
- case 'riseRate':
948
- item = item.split('%')[0];
949
- var className = self.setColor(item, 0);
950
- self.pageDataColor.riseClass = className;
951
- break;
952
- case 'price':
953
- var className = self.setColor(item, yClose);
954
- self.pageDataColor.priceClass = className;
955
- break;
956
- case 'high':
957
- var className = self.setColor(item, yClose);
958
- self.pageDataColor.highClass = className;
959
- break;
960
- case 'low':
961
- var className = self.setColor(item, yClose);
962
- self.pageDataColor.lowClass = className;
963
- break;
964
- case 'open':
965
- var className = self.setColor(item, yClose);
966
- self.pageDataColor.openClass = className;
967
- break;
968
-
969
- }
970
- }
971
-
972
- });
973
- },
974
- setColor(item, yClose) {
975
- if (item > yClose) {
976
- return 'upColor';
977
- } else if (item < yClose) {
978
- return 'lowColor';
979
- } else {
980
- return '';
981
- }
982
- }
983
- },
984
- mounted() {
985
- this.LoadEnvironment();
986
- this.updateMinuteChart(1);
987
- this.IndexBottomData = this.IndexBottomForMinute;
988
- this.updateHistoryChart(0);
989
- var self = this;
990
- document.addEventListener('click', (e) => {
991
- if (!$('#kLineSetWrap').is(e.target) && $('#kLineSetWrap').has(e.target).length === 0) this.MenuOneIndex = 999;
992
- });
993
- this.CaluChartWidthHeight();
994
- $(window).resize(function () { //重新计算尺寸
995
- self.CaluChartWidthHeight();
996
- });
997
- },
998
-
999
- created() {
1000
- console.log('[created jsStock]', jsStock);
1001
- this.JSEnvironment.StockCache = jsStock.JSStockInit();
1002
- var arySymbol = new Array();
1003
- arySymbol.push(this.GlobalSymbol);
1004
- this.UpdateMain(null, arySymbol, null, this.JSEnvironment.StockCache);
1005
- this.JSEnvironment.StockCache.ReqeustData();
1006
-
1007
- }
1008
- }
1009
- </script>
1010
-
1011
- <style scoped lang="less">
1012
- @border: 1px solid #e1ecf2;
1013
-
1014
- * {
1015
- font: 14px/normal "Microsoft Yahei";
1016
- color: #666;
1017
- padding: 0;
1018
- margin: 0;
1019
- }
1020
-
1021
- html,body {height: 100%;}
1022
-
1023
- a {
1024
- text-decoration: none;
1025
- }
1026
-
1027
- ul,
1028
- ol {
1029
- list-style: none;
1030
- }
1031
-
1032
- .clearfix::after {
1033
- content: ' ';
1034
- display: block;
1035
- width: 0;
1036
- height: 0;
1037
- overflow: hidden;
1038
- clear: both;
1039
- }
1040
-
1041
- .upColor {
1042
- color: #ee1515;
1043
- }
1044
-
1045
- .lowColor {
1046
- color: #199e00;
1047
- }
1048
-
1049
- /* .container {
1050
- min-width: 1366px;
1051
- } */
1052
-
1053
- .topWrap {
1054
- background-color: #eee;
1055
- padding: 15px 2.2% 5px 1.5%;
1056
- height: 47px;
1057
- }
1058
-
1059
- .topWrap .stockInfo,
1060
- .topWrap .priceInfo,
1061
- .topWrap .otherInfo {
1062
- float: left;
1063
- }
1064
-
1065
- .topWrap .otherInfo div {
1066
- line-height: 1;
1067
- }
1068
-
1069
- .topWrap .otherInfo div:nth-of-type(2) {
1070
- margin-bottom: 9px;
1071
- }
1072
-
1073
- .topWrap .otherInfo span {
1074
- margin-left: 20px;
1075
- }
1076
-
1077
- .topWrap .stockInfo {
1078
- width: 11%;
1079
- /*w:146*/
1080
- box-sizing: border-box;
1081
- padding-left: 0.3%;
1082
- padding-bottom: 12px;
1083
- height: 18px;
1084
-
1085
- .codeInfo {
1086
- position: relative;
1087
- height: 24px;
1088
- z-index: 333;
1089
-
1090
- .code {
1091
- font-size: 18px;
1092
- line-height: 1;
1093
- color: #333;
1094
- margin-right: 15px;
1095
- }
1096
-
1097
- .icon-bianji {
1098
- color: #217cd9;
1099
- font-size: 18px;
1100
- cursor: pointer;
1101
- }
1102
-
1103
- .editSymbol {
1104
- height: 24px;
1105
- width: 94px;
1106
- box-sizing: border-box;
1107
- padding-left: 5px;
1108
- padding-top: 2px;
1109
- border: 1px solid #999;
1110
- background-color: #fff;
1111
- position: absolute;
1112
- top: 0;
1113
- left: 0;
1114
-
1115
- input {
1116
- border: none;
1117
- width: 67px;
1118
- }
1119
-
1120
- .icon-close {
1121
- font-size: 14px;
1122
- }
1123
- }
1124
-
1125
- .symbolList {
1126
- position: absolute;
1127
- top: 24px;
1128
- left: 0;
1129
- width: 169px;
1130
- border: 1px solid #999;
1131
- background-color: #fff;
1132
-
1133
- >li {
1134
- padding: 0 8px;
1135
- line-height: 24px;
1136
- cursor: pointer;
1137
-
1138
- .symbol {
1139
- margin-right: 10px;
1140
- }
1141
- }
1142
-
1143
- >li:hover {
1144
- background-color: #217cd9;
1145
-
1146
- >span {
1147
- color: #fff;
1148
- }
1149
- }
1150
- }
1151
- }
1152
- }
1153
-
1154
- .stockInfo .stockName {
1155
- font-size: 20px;
1156
- line-height: 1;
1157
- color: #333;
1158
- margin-bottom: 4px;
1159
- }
1160
-
1161
- .topWrap .priceInfo {
1162
- width: 9.8%;
1163
- /*w:134*/
1164
- }
1165
-
1166
- .priceInfo .priceCurrentNum {
1167
- font-size: 18px;
1168
- }
1169
-
1170
- .priceInfo .priceCurrent {
1171
- display: flex;
1172
- flex-direction: row;
1173
- flex-wrap: wrap;
1174
- }
1175
-
1176
- .priceInfo .priceCurrent .riseNum {
1177
- flex-grow: 1;
1178
- }
1179
-
1180
- .priceInfo .priceCurrent .risePrecent {
1181
- flex-grow: 2;
1182
- }
1183
-
1184
- .topWrap .otherInfo {
1185
- width: 75.2%;
1186
- }
1187
-
1188
- .topWrap .otherInfo ul {
1189
- width: 100%;
1190
- display: flex;
1191
- flex-direction: row;
1192
- flex-wrap: wrap;
1193
- }
1194
-
1195
- .topWrap .otherInfo li {
1196
- flex-grow: 1;
1197
- }
1198
-
1199
- .navBarWrap {
1200
- height: 36px;
1201
- background-color: #217cd9;
1202
- padding-left: 36px;
1203
- padding-right: 30px;
1204
- }
1205
-
1206
- .navBarWrap .item {
1207
- color: #fff;
1208
- display: inline-block;
1209
- font-size: 14px;
1210
- line-height: 1;
1211
- padding: 4px 12px;
1212
- margin-top: 8px;
1213
- margin-right: 26px;
1214
- border-radius: 10px;
1215
- }
1216
-
1217
- .navBarWrap .item.active {
1218
- color: #217cd9;
1219
- background-color: #fff;
1220
- }
1221
-
1222
- .kLineSetWrap {
1223
- height: 32px;
1224
- line-height: 32px;
1225
- padding-left: 20px;
1226
- border-bottom: 1px solid #d9d9d9;
1227
- position: relative;
1228
- z-index: 999;
1229
-
1230
- >.item {
1231
- display: inline-block;
1232
- cursor: pointer;
1233
- height: 32px;
1234
- line-height: 32px;
1235
- padding-top: 6px;
1236
- position: relative;
1237
- margin-right: 15px;
1238
- box-sizing: border-box;
1239
-
1240
- .menuOne {
1241
- border: 1px solid;
1242
- border-color: transparent;
1243
- border-bottom: none;
1244
- display: inline-block;
1245
- width: 100%;
1246
- height: 26px;
1247
- vertical-align: top;
1248
- padding: 0 14px 6px 14px;
1249
- box-sizing: border-box;
1250
- }
1251
-
1252
- .menuOne:hover,
1253
- .menuOne.light {
1254
- border-color: #d9d9d9;
1255
-
1256
- >span {
1257
- color: #217cd9;
1258
- }
1259
- }
1260
-
1261
- .menuTwo {
1262
- position: absolute;
1263
- background-color: #fff;
1264
- top: 32px;
1265
- left: 0;
1266
- border: 1px solid #d9d9d9;
1267
- border-top: none;
1268
- box-sizing: border-box;
1269
- width: 100%;
1270
-
1271
- >li {
1272
- padding: 0 12px;
1273
- line-height: 32px;
1274
- }
1275
-
1276
- >li:hover,
1277
- >li.active {
1278
- color: #217cd9;
1279
- }
1280
- }
1281
- }
1282
-
1283
- >.item:nth-child(1) {
1284
- .menuOne {
1285
- padding: 0 10px;
1286
- }
1287
- }
1288
-
1289
- >.item:nth-child(7) {
1290
- .menuOne {
1291
- padding: 0 30px;
1292
- }
1293
- }
1294
-
1295
- .iconfont {
1296
- font-size: 13px;
1297
- }
1298
- }
1299
-
1300
- .indexList {
1301
- width: 100%;
1302
- height: 32px;
1303
- display: flex;
1304
- flex-direction: row;
1305
- background-color: #e1ecf2;
1306
- }
1307
-
1308
- .indexList span {
1309
- height: 32px;
1310
- line-height: 32px;
1311
- text-align: center;
1312
- cursor: pointer;
1313
- flex-grow: 1;
1314
- }
1315
-
1316
- .indexList span.active {
1317
- color: #fff;
1318
- background-color: #125fd9;
1319
- }
1320
-
1321
- .leftChart {
1322
- /* width: 80.75%; */
1323
- float: left;
1324
- padding-top: 5px;
1325
- }
1326
-
1327
- .rightData {
1328
- float: left;
1329
- width: 208px;
1330
- margin-top: 25px;
1331
- margin-left: 10px;
1332
- margin-right: 10px;
1333
- border: @border;
1334
-
1335
- .firstLine {
1336
- line-height: 39px;
1337
- border-bottom: @border;
1338
- padding-left: 10px;
1339
- display: flex;
1340
- flex-direction: row;
1341
- flex-wrap: wrap;
1342
-
1343
- >span {
1344
- margin-right: 15px;
1345
- line-height: 39px;
1346
- }
1347
-
1348
- >span:nth-of-type(2) {
1349
- margin-right: 0;
1350
- }
1351
- }
1352
-
1353
- .buyFive,
1354
- .sellFive {
1355
- border-bottom: @border;
1356
- padding: 3px 0;
1357
-
1358
- >li {
1359
- line-height: 24px;
1360
-
1361
- >span {
1362
- display: inline-block;
1363
- }
1364
-
1365
- >span:nth-of-type(1) {
1366
- width: 20%;
1367
- box-sizing: border-box;
1368
- padding-left: 10px;
1369
- }
1370
-
1371
- >span:nth-of-type(2) {
1372
- width: 35%;
1373
- }
1374
-
1375
- >span:nth-of-type(3) {
1376
- width: 35%;
1377
- }
1378
- }
1379
- }
1380
-
1381
- .detailList {
1382
- padding-left: 10px;
1383
- padding: 7px 0;
1384
-
1385
- >li {
1386
- line-height: 26px;
1387
-
1388
- >span {
1389
- display: inline-block;
1390
- }
1391
-
1392
- >span:nth-of-type(1) {
1393
- width: 32%;
1394
- box-sizing: border-box;
1395
- padding-left: 10px;
1396
- }
1397
-
1398
- >span:nth-of-type(2) {
1399
- width: 28%;
1400
- }
1401
-
1402
- >span:nth-of-type(3) {
1403
- width: 32%;
1404
- }
1405
- }
1406
- }
1407
- }
1408
- </style>