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,1337 +0,0 @@
1
- <template>
2
- <div class="tradeinfo" ref="tradeinfo">
3
- <div class="firstLine" ref="bookWrap">
4
- <p>
5
- <span>
6
- 委比:
7
- <span :class="BookData.BookRate.Color">{{BookData.BookRate.Text}}</span>
8
- </span>
9
- </p>
10
- <p>
11
- <span>
12
- 委差:
13
- <span :class="BookData.BookDiff.Color">{{BookData.BookDiff.Text}}</span>
14
- </span>
15
- </p>
16
- </div>
17
- <div class="sellFive" ref='sellFive'>
18
- <div>
19
- <p v-for="(item,index) in SellData" :key="index">
20
- <span>{{item.Title}}</span>
21
- </p>
22
- </div>
23
- <div>
24
- <p v-for="(item,index) in SellData" :key="index" :class="item.Price.Color">
25
- <span>{{item.Price.Text}}</span>
26
- </p>
27
- </div>
28
- <div>
29
- <p v-for="(item,index) in SellData" :key="index">
30
- <span>{{item.Vol.Text}}</span>
31
- </p>
32
- </div>
33
- </div>
34
- <div class="buyFive" ref='buyFive'>
35
- <div>
36
- <p v-for="(itemBuy,ind) in BuyData" :key="ind">
37
- <span>{{itemBuy.Title}}</span>
38
- </p>
39
- </div>
40
- <div>
41
- <p v-for="(itemBuy,ind) in BuyData" :key="ind" :class="itemBuy.Price.Color">
42
- <span>{{itemBuy.Price.Text}}</span>
43
- </p>
44
- </div>
45
- <div>
46
- <p v-for="(itemBuy,ind) in BuyData" :key="ind">
47
- <span>{{itemBuy.Vol.Text}}</span>
48
- </p>
49
- </div>
50
- </div>
51
- <div ref='stockinfo'><slot></slot></div>
52
- <div class="detailList" ref="detailList" v-show="IsShowTradeData">
53
- <div>
54
- <p v-for="(itemTrade,indexT) in TradeData" :key="indexT">
55
- <span>{{itemTrade.Time.Text}}</span>
56
- </p>
57
- </div>
58
- <div>
59
- <p v-for="(itemTrade,indexT) in TradeData" :key="indexT" :class="itemTrade.Price.Color">
60
- <span>{{itemTrade.Price.Text}}</span>
61
- </p>
62
- </div>
63
- <div>
64
- <p v-for="(itemTrade,indexT) in TradeData" :key="indexT">
65
- <span>{{itemTrade.Vol.Text}}&nbsp;<span :class="itemTrade.BS.Color">{{itemTrade.BS.Text}}</span></span>
66
- </p>
67
- </div>
68
- </div>
69
- <div class="shorttermlist" ref='shorttermlist' v-show="ShortTerm.IsShow">
70
- <div>
71
- <p v-for="(item,index) in ShortTerm.Data" :key="index" :class="item.Color">{{item.Time.Text}}</p>
72
- </div>
73
- <div>
74
- <p v-for="(item,index) in ShortTerm.Data" :key="index" :class="item.Color">{{item.Name}}</p>
75
- </div>
76
- <div>
77
- <p v-for="(item,index) in ShortTerm.Data" :key="index" :class="item.Color">{{item.Type.Text}}</p>
78
- </div>
79
- </div>
80
- <div class="capitalList" ref='capitalList' v-show='CapitalFlow.IsShow'><!-- 资金流 -->
81
- <p class='tabTop'>
82
- <span v-for='(item,index) in CapitalFlowDayType' :key='index' :class='{active:CapitalFlowDayIndex == index}' @click='ChangeCapitalFlowDay(index)'>{{item}}</span>
83
- </p>
84
- <div class='mainFlow'>
85
- <p><span>主力流入</span><span :class='CurrentDayCapitaData.MainFlowData.In.Color'>{{CurrentDayCapitaData.MainFlowData.In.Text}}</span></p>
86
- <p><span>主力流出</span><span :class='CurrentDayCapitaData.MainFlowData.Out.Color'>{{CurrentDayCapitaData.MainFlowData.Out.Text}}</span></p>
87
- <p><span>主力净流向</span><span :class='CurrentDayCapitaData.MainFlowData.NetFlow.Color'>{{CurrentDayCapitaData.MainFlowData.NetFlow.Text}}</span></p>
88
- </div>
89
- <div class="orderList">
90
- <table>
91
- <thead>
92
- <tr>
93
- <td>{{CurrentDayCapitaData.ValueUnit.Text}}</td>
94
- <td>流入</td>
95
- <td>流出</td>
96
- </tr>
97
- </thead>
98
- <tbody>
99
- <tr v-for='(item,index) in CurrentDayCapitaData.OrderData' :key='index'>
100
- <td>{{item.TiTle}}</td>
101
- <td :class='item.In.Color'>{{item.In.Text}}</td>
102
- <td :class='item.Out.Color'>{{item.Out.Text}}</td>
103
- </tr>
104
- </tbody>
105
- </table>
106
- </div>
107
- <div class="netValueWrap" ref='netValueWrap'>
108
- <div class="charWrap" ref='charWrap'>
109
- <div class="middleLine" ref='middleLine'></div>
110
- <div class="bars">
111
- <div class="realArea" v-for='(item,index) in CurrentDayCapitaData.ChartStyleData' :key='index'>
112
- <div class='label' :style='item.Label'>{{CurrentDayCapitaData.NetValueData[index].Text}}</div>
113
- <div>
114
- <div class="content" :style='item.Content'>
115
- <div class='bar' :style='item.Bar'></div>
116
- </div>
117
- </div>
118
- </div>
119
- </div>
120
-
121
- </div>
122
- <div class="xLabels">
123
- <span>净超大</span>
124
- <span>净大单</span>
125
- <span>净中单</span>
126
- <span>净小单</span>
127
- </div>
128
- </div>
129
- </div>
130
- <div class='dealpricelist' ref='dealpricelist' v-show='DealPrice.IsShow' ><!-- 分价表 -->
131
- <table class='table'>
132
- <tbody>
133
- <tr v-for='(item,index) in DealPriceData' :key='index+"dealprice"'>
134
- <td :class='item.Price.Color'>{{item.Price.Text}}</td>
135
- <td>{{item.Vol}}</td>
136
- <td><span :style='item.Bar'>
137
- <span class="buy" :style='item.BuyRate'></span><span class="none" :style='item.NoneRate'></span><span class="sell" :style='item.SellRate'></span>
138
- </span>
139
- </td>
140
- <td>{{item.Rate}}</td>
141
- </tr>
142
- </tbody>
143
- </table>
144
- </div>
145
-
146
- </div>
147
- </template>
148
- <script>
149
- import $ from "jquery";
150
- import JSCommon from "../../../jscommon/umychart.vue/umychart.vue.js";
151
- import JSCommonStock from "../../../jscommon/umychart.vue/umychart.stock.vue.js";
152
-
153
- //默认数据输出
154
- class DefaultData {
155
- static GetBuyData() {
156
- let dataAry = [];
157
- for(let i = 0; i < 5; ++i){
158
- var obj = {
159
- Vol: {Text: ""},
160
- Price: {Text: "",Color: ""},
161
- Title: ""
162
- };
163
- dataAry.push(obj);
164
- }
165
-
166
- return dataAry;
167
- }
168
-
169
- static GetSellData() {
170
- return DefaultData.GetBuyData();
171
- }
172
-
173
- static GetTradeData() {
174
- var data = [];
175
- for (var i = 0; i < 10; ++i) {
176
- var item = {
177
- Time: { Text: "" },
178
- Price: { Text: "", Color: "" },
179
- Vol: { Text: "" },
180
- BS: { Text: "", Color: "" }
181
- };
182
-
183
- data.push(item);
184
- }
185
-
186
- return data;
187
- }
188
-
189
- static GetBookData() {
190
- const data = {
191
- BookRate: {
192
- Text: "",
193
- Color: ""
194
- },
195
- BookDiff: {
196
- Text: "",
197
- Color: ""
198
- }
199
- };
200
- return data;
201
- }
202
-
203
- static GetRowStyle() {
204
- let data = {
205
- Sell: {
206
- top: 0,
207
- height: 0,
208
- display: "none"
209
- },
210
- Buy: {
211
- top: 0,
212
- height: 0,
213
- display: "none"
214
- },
215
- Trade: {
216
- top: 0,
217
- height: 0,
218
- display: "none"
219
- }
220
- }; //默认都不显示
221
-
222
- return data;
223
- }
224
-
225
- static GetRowShortStyle() {
226
- let data = {
227
- Sell: {
228
- top: 0,
229
- height: 0,
230
- display: "none"
231
- },
232
- Buy: {
233
- top: 0,
234
- height: 0,
235
- display: "none"
236
- },
237
- Short: {
238
- top: 0,
239
- height: 0,
240
- display: "none"
241
- }
242
- }; //默认都不显示
243
-
244
- return data;
245
- }
246
-
247
- static GetCapitalFlowSingle() {
248
- let data = {
249
- MainFlowData: {
250
- In: { Value: "", Text: "", Color: "PriceUp" },
251
- Out: { Value: "", Text: "", Color: "PriceDown" },
252
- NetFlow: { Value: "", Text: "", Color: "" }
253
- },
254
- OrderData: [
255
- {
256
- TiTle: "超大",
257
- In: { Value: "", Text: "", Color: "PriceUp" },
258
- Out: { Value: "", Text: "", Color: "PriceDown" }
259
- },
260
- {
261
- TiTle: "大单",
262
- In: { Value: "", Text: "", Color: "PriceUp" },
263
- Out: { Value: "", Text: "", Color: "PriceDown" }
264
- },
265
- {
266
- TiTle: "中单",
267
- In: { Value: "", Text: "", Color: "PriceUp" },
268
- Out: { Value: "", Text: "", Color: "PriceDown" }
269
- },
270
- {
271
- TiTle: "小单",
272
- In: { Value: "", Text: "", Color: "PriceUp" },
273
- Out: { Value: "", Text: "", Color: "PriceDown" }
274
- }
275
- ],
276
- NetValueData: [
277
- { TiTle: "净超大", Value: "", Text: "", Color: "", Direction: "" },
278
- { TiTle: "净大单", Value: "", Text: "", Color: "", Direction: "" },
279
- { TiTle: "净中单", Value: "", Text: "", Color: "", Direction: "" },
280
- { TiTle: "净小单", Value: "", Text: "", Color: "", Direction: "" }
281
- ],
282
- ValueUnit: { Text: "万元" },
283
- ChartStyleData: [
284
- {
285
- Content: { bottom: "", top: "" },
286
- Bar: { bottom: "", top: "", height: "", bagckgroundColor: "" },
287
- Label: { bottom: "", top: "", color: "" }
288
- },
289
- {
290
- Content: { bottom: "", top: "" },
291
- Bar: { bottom: "", top: "", height: "", bagckgroundColor: "" },
292
- Label: { bottom: "", top: "", color: "" }
293
- },
294
- {
295
- Content: { bottom: "", top: "" },
296
- Bar: { bottom: "", top: "", height: "", bagckgroundColor: "" },
297
- Label: { bottom: "", top: "", color: "" }
298
- },
299
- {
300
- Content: { bottom: "", top: "" },
301
- Bar: { bottom: "", top: "", height: "", bagckgroundColor: "" },
302
- Label: { bottom: "", top: "", color: "" }
303
- }
304
- ]
305
- };
306
- return data;
307
- }
308
-
309
- static GetCapitalFlow() {
310
- let data = [];
311
- for (let i = 0; i < 4; i++) {
312
- var dataItem = {
313
- MainFlowData: {
314
- In: { Value: "", Text: "", Color: "PriceUp" },
315
- Out: { Value: "", Text: "", Color: "PriceDown" },
316
- NetFlow: { Value: "", Text: "", Color: "" }
317
- },
318
- OrderData: [
319
- {
320
- TiTle: "超大",
321
- In: { Value: "", Text: "", Color: "PriceUp" },
322
- Out: { Value: "", Text: "", Color: "PriceDown" }
323
- },
324
- {
325
- TiTle: "大单",
326
- In: { Value: "", Text: "", Color: "PriceUp" },
327
- Out: { Value: "", Text: "", Color: "PriceDown" }
328
- },
329
- {
330
- TiTle: "中单",
331
- In: { Value: "", Text: "", Color: "PriceUp" },
332
- Out: { Value: "", Text: "", Color: "PriceDown" }
333
- },
334
- {
335
- TiTle: "小单",
336
- In: { Value: "", Text: "", Color: "PriceUp" },
337
- Out: { Value: "", Text: "", Color: "PriceDown" }
338
- }
339
- ],
340
- NetValueData: [
341
- { TiTle: "净超大", Value: "", Text: "", Color: "", Direction: "" },
342
- { TiTle: "净大单", Value: "", Text: "", Color: "", Direction: "" },
343
- { TiTle: "净中单", Value: "", Text: "", Color: "", Direction: "" },
344
- { TiTle: "净小单", Value: "", Text: "", Color: "", Direction: "" }
345
- ],
346
- ValueUnit: { Text: "万元" },
347
- ChartStyleData: [
348
- {
349
- Content: { bottom: "", top: "" },
350
- Bar: { bottom: "", top: "", height: "", bagckgroundColor: "" },
351
- Label: { bottom: "", top: "", color: "" }
352
- },
353
- {
354
- Content: { bottom: "", top: "" },
355
- Bar: { bottom: "", top: "", height: "", bagckgroundColor: "" },
356
- Label: { bottom: "", top: "", color: "" }
357
- },
358
- {
359
- Content: { bottom: "", top: "" },
360
- Bar: { bottom: "", top: "", height: "", bagckgroundColor: "" },
361
- Label: { bottom: "", top: "", color: "" }
362
- },
363
- {
364
- Content: { bottom: "", top: "" },
365
- Bar: { bottom: "", top: "", height: "", bagckgroundColor: "" },
366
- Label: { bottom: "", top: "", color: "" }
367
- }
368
- ]
369
- };
370
- data.push(dataItem);
371
- }
372
- return data;
373
- }
374
-
375
- static GetDealPriceData(){
376
- let data = [{
377
- Price:{Text:'',Color:''},
378
- Vol:0,
379
- Bar:{width:'20px'},
380
- Rate:'',
381
- WidthRate:0,
382
- BuyRate:{width:'20px'},
383
- SellRate:{width:'20px'},
384
- NoneRate:{width:'20px'}
385
- }];
386
- return data;
387
- }
388
- }
389
-
390
- function CapticalFlowChartStyle() {}
391
-
392
- CapticalFlowChartStyle.DefaultStyleData = function() {
393
- var chartStyleData = [];
394
- for (let i = 0; i < 4; i++) {
395
- var data = {
396
- Content: { bottom: "", top: "" },
397
- Bar: { bottom: "", top: "", height: "", bagckgroundColor: "" },
398
- Label: { bottom: "", top: "", color: "" }
399
- };
400
- chartStyleData.push(data);
401
- }
402
- return chartStyleData;
403
- };
404
-
405
- export default {
406
- JSCommonStock: JSCommonStock,
407
-
408
- name: "StockTradeInfo",
409
- props: [
410
- "IsShareStock", //是否共享使用一个Stock类,
411
- "DefaultSymbol"
412
- ],
413
-
414
- data() {
415
- let data = {
416
- Symbol: "600000.sh",
417
- ID: [
418
- JSCommon.JSChart.CreateGuid(),
419
- JSCommon.JSChart.CreateGuid(),
420
- JSCommon.JSChart.CreateGuid(),
421
- JSCommon.JSChart.CreateGuid()
422
- ], //[0]=买卖盘 [1]=分笔 [2]=委比委差 [3]=资金流
423
- JSStock: null,
424
- RowStyle: DefaultData.GetRowStyle(),
425
-
426
- BuyData: DefaultData.GetBuyData(), //买盘
427
- SellData: DefaultData.GetSellData(), //卖盘
428
- IsBuySellInital: false, //第1次 需要初始化
429
-
430
- TradeData: null, //分笔数据
431
- IsTradeDataInital: false, //第1次 需要初始化
432
- IsShowTradeData: true, //是否显示
433
-
434
- //短线
435
- ShortTerm: {
436
- Data: null, //短线精灵
437
- IsShow: false, //是否显示
438
- JSStock: null //数据请求控制器
439
- },
440
-
441
- //资金流
442
- CapitalFlow: {
443
- Data: DefaultData.GetCapitalFlow(), //数据
444
- IsShow: false //是否显示
445
- },
446
- CurrentDayCapitaData: DefaultData.GetCapitalFlowSingle(), //当前类型下的资金流数据
447
- CapitalFlowDayType: ["当日", "3日", "5日", "10日"],
448
- CapitalFlowDayIndex: 0,
449
- CapitalFlowUnit: {
450
- TextAry: [],
451
- IsTenThousand: true
452
- },
453
-
454
- BookData: DefaultData.GetBookData(), //委比委差数据
455
-
456
- DealPrice:
457
- {
458
- IsShow:false,
459
- Data:null,
460
- JSStock: null //数据请求控制器
461
- },
462
- DealPriceData:DefaultData.GetDealPriceData(),
463
- MoreDealLink:''
464
- };
465
-
466
- return data;
467
- },
468
-
469
- mounted() {
470
- console.log(
471
- `[StockTradeInfo::mounted] IsShareStock=${this.IsShareStock} ID=${
472
- this.ID
473
- }`
474
- );
475
- if (this.IsShareStock == true || this.IsShareStock == "true") {
476
- //外部调用SetJSStock()设置, 内部不创建
477
- } else {
478
- this.JSStock = JSCommonStock.JSStockInit();
479
- this.InitalStock();
480
- this.JSStock.RequestData();
481
-
482
- // this.MoreDealLink = './stockdeallastest.demo.page.html?symbol=' + this.Symbol;
483
- }
484
-
485
- this.MoreDealLink = './stockdeallastest.demo.page.html?symbol=' + this.Symbol;
486
-
487
- this.OnSize();
488
- },
489
-
490
- created() {
491
- if (this.DefaultSymbol) this.Symbol = this.DefaultSymbol; //默认股票
492
-
493
- },
494
-
495
- methods: {
496
- ChangeCapitalFlowDay(index) {
497
- this.CapitalFlowDayIndex = index;
498
- this.CurrentDayCapitaData = this.CapitalFlow.Data[index];
499
- },
500
- UpdateBuySell: function(id, arySymbol, dataType, jsStock) {
501
- if (arySymbol.indexOf(this.Symbol) < 0) return;
502
-
503
- let read = jsStock.GetStockRead(this.ID[0], this.UpdateBuySell); //获取一个读取数据类,并绑定id和更新数据方法
504
- let aryBuy = read.Get(this.Symbol, JSCommonStock.STOCK_FIELD_NAME.BUY5);
505
- let arySell = read.Get(this.Symbol, JSCommonStock.STOCK_FIELD_NAME.SELL5); //买盘数据需要倒序排列
506
- let yClose = read.Get(this.Symbol, JSCommonStock.STOCK_FIELD_NAME.YCLOSE);
507
-
508
- let SellTitle = ["卖一", "卖二", "卖三", "卖四", "卖五"];
509
- let BuyTitle = ["买一", "买二", "买三", "买四", "买五"];
510
-
511
- if (!this.IsPlusNumber(yClose)) return;
512
-
513
- if (
514
- this.IsBuySellInital == true &&
515
- (id != this.ID[0] ||
516
- dataType != JSCommonStock.RECV_DATA_TYPE.BUY_SELL_DATA)
517
- )
518
- return;
519
-
520
- console.log("[StockTradeInfo::UpdateBuySell]",this.Symbol,aryBuy,arySell,yClose);
521
-
522
- let buyData = DefaultData.GetBuyData();
523
- for (var i in aryBuy)
524
- {
525
- var item = aryBuy[i];
526
-
527
- var buyItem = buyData[i];
528
- buyItem.Title = BuyTitle[i];
529
-
530
- if (item.Price<=0) continue; //没有价格的 为无效数据
531
-
532
- buyItem.Vol.Text = item.Vol.toString();
533
- buyItem.Price.Text = JSCommon.IFrameSplitOperator.FormatValueString(item.Price,2);
534
- buyItem.Price.Color = JSCommon.IFrameSplitOperator.FormatValueColor(item.Price,yClose);
535
- }
536
-
537
- let sellData = DefaultData.GetSellData();
538
- for (var i in arySell)
539
- {
540
- var item = arySell[i];
541
-
542
- var selItem = sellData[i];
543
- selItem.Title = SellTitle[i];
544
-
545
- if (item.Price<=0) continue; //没有价格的 为无效数据
546
-
547
- selItem.Vol.Text = item.Vol.toString();
548
- selItem.Price.Text = JSCommon.IFrameSplitOperator.FormatValueString(item.Price,2);
549
- selItem.Price.Color = JSCommon.IFrameSplitOperator.FormatValueColor(item.Price,yClose);
550
- }
551
-
552
- this.IsBuySellInital = true; //已经初始化了
553
- this.SellData = sellData.reverse();
554
- this.BuyData = buyData;
555
- },
556
- //设置外部共享的股票数据类
557
- SetJSStock: function(jsStock) {
558
- this.JSStock = jsStock;
559
- },
560
-
561
- //窗口变化UI自适应调整
562
- OnSize() {
563
- var tradeinfo = this.$refs.tradeinfo;
564
- var bookWrap = this.$refs.bookWrap;
565
- var sellFive = this.$refs.sellFive;
566
- var buyFive = this.$refs.buyFive;
567
- var stockinfo = this.$refs.stockinfo;
568
- var dealpricelist = this.$refs.dealpricelist
569
- var detailList = this.$refs.detailList;
570
- var height = tradeinfo.clientHeight;
571
-
572
- var dealpricelistHeight = height - bookWrap.offsetHeight - sellFive.offsetHeight - buyFive.offsetHeight - stockinfo.offsetHeight;
573
- dealpricelist.style.height = dealpricelistHeight + 'px';
574
- detailList.style.height = (height - 67 - 24* 10 - 3) + 'px';
575
-
576
- },
577
-
578
- RequestData: function() {
579
- this.JSStock.RequestData();
580
- },
581
-
582
- UpdateBookRate: function(id, arySymbol, dataType, jsStock)
583
- {
584
- if (arySymbol.indexOf(this.Symbol) < 0) return;
585
-
586
- let read = jsStock.GetStockRead(this.ID[2], this.UpdateBookRate); //获取一个读取数据类,并绑定id和更新数据方法
587
- var bookRate = { Value: read.Get(this.Symbol, JSCommonStock.STOCK_FIELD_NAME.BOOK_RATE) }; //委比
588
- var bookDiffer = { Value: read.Get(this.Symbol, JSCommonStock.STOCK_FIELD_NAME.BOOK_DIFFER) }; //委差
589
-
590
- if ( id != this.ID[2] || dataType != JSCommonStock.RECV_DATA_TYPE.DERIVATIVE_DATA ) return;
591
-
592
- let bookData = DefaultData.GetBookData();
593
- bookData.BookRate.Text = JSCommon.IFrameSplitOperator.FormatValueString(bookRate.Value, 2) + "%";
594
- bookData.BookRate.Color = JSCommon.IFrameSplitOperator.FormatValueColor(bookRate.Value,0);
595
- bookData.BookDiff.Text = bookDiffer.Value;
596
- bookData.BookDiff.Color = JSCommon.IFrameSplitOperator.FormatValueColor(bookDiffer.Value,0);
597
- this.BookData = bookData;
598
- // console.log('[UpdateBookRate BookData]',this.BookData);
599
- },
600
-
601
- UpdateTrade: function(id, arySymbol, dataType, jsStock) {
602
- if (arySymbol.indexOf(this.Symbol) < 0) return;
603
-
604
- let read = jsStock.GetStockRead(this.ID[1], this.UpdateTrade); //获取一个读取数据类,并绑定id和更新数据方法
605
- let aryDeal = read.Get(this.Symbol, JSCommonStock.STOCK_FIELD_NAME.DEAL);
606
- let yClose = read.Get(this.Symbol, JSCommonStock.STOCK_FIELD_NAME.YCLOSE);
607
-
608
- console.log(
609
- "[StockTradeInfo::UpdateTrade]",
610
- this.Symbol,
611
- aryDeal,
612
- yClose
613
- );
614
-
615
- if (!this.IsPlusNumber(yClose) || !aryDeal) return;
616
- if (
617
- this.IsTradeDataInital == true &&
618
- (id != this.ID[1] || dataType != JSCommonStock.RECV_DATA_TYPE.DEAL_DATA)
619
- )
620
- return;
621
-
622
- let data = DefaultData.GetTradeData();
623
- console.log(data)
624
- for (let i = 0; i < aryDeal.length && i < data.length; i++) {
625
- var item = aryDeal[i];
626
- var tradeItem = data[i];
627
- var newTime = parseInt(item.Time / 100); //去掉秒
628
-
629
- tradeItem.Time.Text = JSCommon.IFrameSplitOperator.FormatTimeString(
630
- newTime
631
- );
632
- tradeItem.Price.Text = JSCommon.IFrameSplitOperator.FormatValueString(
633
- item.Price,
634
- 2
635
- );
636
- tradeItem.Price.Color = JSCommon.IFrameSplitOperator.FormatValueColor(
637
- item.Price,
638
- yClose
639
- );
640
- tradeItem.Vol.Text = parseInt(item.Vol / 100).toString(); //单位是股 需要/100
641
-
642
- if (item.BS == "B") tradeItem.BS = { Color: "PriceUp", Text: " B" };
643
- else if (item.BS == "S")
644
- tradeItem.BS = { Color: "PriceDown", Text: " S" };
645
- else tradeItem.BS = { Color: "Transparent", Text: " B" }; //使用透明色
646
- }
647
-
648
- this.IsTradeDataInital = true; //已经初始化了
649
- this.TradeData = data;
650
- },
651
-
652
- //资金流
653
- InitalCapitalFlow: function() {
654
- //订阅字段
655
- var field = [
656
- JSCommonStock.STOCK_FIELD_NAME.CAPITAL_FLOW_DAY,
657
- JSCommonStock.STOCK_FIELD_NAME.CAPITAL_FLOW_DAY3,
658
- JSCommonStock.STOCK_FIELD_NAME.CAPITAL_FLOW_DAY5,
659
- JSCommonStock.STOCK_FIELD_NAME.CAPITAL_FLOW_DAY10
660
- //JSCommonStock.STOCK_FIELD_NAME.DDE,
661
- //JSCommonStock.STOCK_FIELD_NAME.DDE3,
662
- //JSCommonStock.STOCK_FIELD_NAME.DDE5,
663
- //JSCommonStock.STOCK_FIELD_NAME.DDE10,
664
- ];
665
- var read = this.JSStock.GetStockRead(this.ID[3], this.UpdateCapitalFlow); //订阅资金流
666
- if (this.Symbol != "") {
667
- read.SetQueryField(this.Symbol, field);
668
- }
669
- },
670
-
671
- UpdateCapitalFlow: function(id, arySymbol, dataType, jsStock)
672
- {
673
- let read = jsStock.GetStockRead(this.ID[3], this.UpdateCapitalFlow); //获取一个读取数据类,并绑定id和更新数据方法
674
- if (!this.CapitalFlow.IsShow) return; //不显示直接返回 不订阅了
675
- if (arySymbol.indexOf(this.Symbol) < 0) return;
676
-
677
- var flowDay = read.Get(
678
- this.Symbol,
679
- JSCommonStock.STOCK_FIELD_NAME.CAPITAL_FLOW_DAY
680
- );
681
- var flowDay3 = read.Get(
682
- this.Symbol,
683
- JSCommonStock.STOCK_FIELD_NAME.CAPITAL_FLOW_DAY3
684
- );
685
- var flowDay5 = read.Get(
686
- this.Symbol,
687
- JSCommonStock.STOCK_FIELD_NAME.CAPITAL_FLOW_DAY5
688
- );
689
- var flowDay10 = read.Get(
690
- this.Symbol,
691
- JSCommonStock.STOCK_FIELD_NAME.CAPITAL_FLOW_DAY10
692
- );
693
- if (flowDay) this.RecvCapticalData(flowDay, 0);
694
- if (flowDay3) this.RecvCapticalData(flowDay3, 1);
695
- if (flowDay5) this.RecvCapticalData(flowDay5, 2);
696
- if (flowDay10) this.RecvCapticalData(flowDay10, 3);
697
-
698
- this.CurrentDayCapitaData = this.CapitalFlow.Data[
699
- this.CapitalFlowDayIndex
700
- ];
701
-
702
- console.log(
703
- "[StockTradeInfo::UpdateCapitalFlow]",
704
- this.Symbol,
705
- flowDay,
706
- flowDay3,
707
- flowDay5,
708
- flowDay10
709
- );
710
- },
711
- InitCapitalFlowChart(netValueData, chartStyleData) {
712
- //资金流柱状图
713
- var data = netValueData;
714
- var maxValue = 0;
715
- for (let i = 0; i < data.length; i++) {
716
- if (Math.abs(data[i].Value) > maxValue) {
717
- maxValue = Math.abs(data[i].Value);
718
- }
719
- }
720
-
721
- for (let i = 0; i < data.length; i++) {
722
- var absValue = Math.abs(data[i].Value);
723
- var rate = Number(absValue / maxValue).toFixed(4);
724
- var contentHeight = ($(".charWrap").height() - 1) / 2;
725
- var rateHeight = Math.floor(rate * contentHeight);
726
- if(rateHeight == 0 && absValue !== 0){
727
- rateHeight = 2;
728
- }
729
- var contentPos = contentHeight + 1;
730
- var direction = data[i].Direction;
731
- // var labelHeight = 18;
732
- if (direction == "upper") {
733
- chartStyleData[i] = {
734
- Content: { bottom: contentPos + "px", top: "auto" },
735
- Bar: {
736
- bottom: "0",
737
- top: "auto",
738
- height: rateHeight + "px",
739
- backgroundColor: "#ee1515"
740
- },
741
- Label: {
742
- bottom: "auto",
743
- top: contentHeight+"px",
744
- color: "#ee1515"
745
- }
746
- };
747
- } else if (direction == "below") {
748
- chartStyleData[i] = {
749
- Content: { bottom: "auto", top: contentPos + "px" },
750
- Bar: {
751
- bottom: "auto",
752
- top: "0",
753
- height: rateHeight + "px",
754
- backgroundColor: "#199e00"
755
- },
756
- Label: {
757
- bottom: contentHeight+"px",
758
- top: "auto",
759
- color: "#199e00"
760
- }
761
- };
762
- }
763
- }
764
- },
765
- RecvCapticalData(data, index) {
766
- var superIn = data.SuperIn; //超大单流入
767
- var superOut = data.SuperOut; //超大单流出
768
- var bigIn = data.BigIn; //大单流入
769
- var bigOut = data.BigOut; //大单流出
770
- var midIn = data.MidIn; //中单流入
771
- var midOut = data.MidOut; //中单流出
772
- var smallIn = data.SmallIn; //小单流入
773
- var smallOut = data.SmallOut; //小单流出
774
- var mainIn = data.MainIn; //主力流入
775
- var mainOut = data.MainOut; //主力流出
776
- var mainNetIn = data.MainNetIn; //主力净流入
777
-
778
- var superNetValue = superIn - superOut;
779
- var bigNetValue = bigIn - bigOut;
780
- var midNetValue = midIn - midOut;
781
- var smallNetValue = smallIn - smallOut;
782
-
783
- var mainFlowData = this.CapitalFlow.Data[index].MainFlowData;
784
- mainFlowData.In.value = mainIn;
785
- mainFlowData.In.Text = this.FormatValueString(mainIn,true,0);
786
- mainFlowData.Out.value = mainOut;
787
- mainFlowData.Out.Text = this.FormatValueString(mainOut,true,0);
788
- mainFlowData.NetFlow.value = mainNetIn;
789
- mainFlowData.NetFlow.Text = this.FormatValueString(mainNetIn,true,0);
790
- mainFlowData.NetFlow.Color = JSCommon.IFrameSplitOperator.FormatValueColor(
791
- mainNetIn,
792
- 0
793
- );
794
-
795
- var orderAry = [
796
- { In: superIn, Out: superOut },
797
- { In: bigIn, Out: bigOut },
798
- { In: midIn, Out: midOut },
799
- { In: smallIn, Out: smallOut }
800
- ];
801
- var OrderData = this.CapitalFlow.Data[index].OrderData;
802
- for (let i = 0; i < orderAry.length; i++) {
803
- var orderItem = orderAry[i];
804
- OrderData[i].In.Value = orderItem.In;
805
- OrderData[i].In.Text = this.FormatValueString(orderItem.In,false,0);
806
- OrderData[i].Out.Value = orderItem.Out;
807
- OrderData[i].Out.Text = this.FormatValueString(orderItem.Out,false,0);
808
- }
809
-
810
- var netValue = [
811
- { Value: superNetValue },
812
- { Value: bigNetValue },
813
- { Value: midNetValue },
814
- { Value: smallNetValue }
815
- ];
816
- var netValueData = this.CapitalFlow.Data[index].NetValueData;
817
- for (let j = 0; j < netValue.length; j++) {
818
- var netItem = netValue[j];
819
- netValueData[j].Value = netItem.Value;
820
- netValueData[j].Text = this.FormatValueString(netItem.Value,false,0);
821
- netValueData[j].Color = JSCommon.IFrameSplitOperator.FormatValueColor(
822
- netItem.Value,
823
- 0
824
- );
825
- netValueData[j].Direction = netItem.Value > 0 ? "upper" : "below";
826
- }
827
-
828
- var chartStyleData = this.CapitalFlow.Data[index].ChartStyleData;
829
- this.InitCapitalFlowChart(netValueData, chartStyleData);
830
-
831
- this.CapitalFlow.Data[index].MainFlowData = mainFlowData;
832
- this.CapitalFlow.Data[index].OrderData = OrderData;
833
- this.CapitalFlow.Data[index].NetValueData = netValueData;
834
- this.CapitalFlow.Data[index].ChartStyleData = chartStyleData;
835
- },
836
- FormatValueString:function(value,HasUnit,floatCount){
837
- if(HasUnit){
838
- return Number(value / 10000).toFixed(floatCount) + '万元';
839
- }else{
840
- return Number(value / 10000).toFixed(floatCount);
841
- }
842
- },
843
- //切换股票代码
844
- SetSymbol: function(symbol) {
845
- if (this.Symbol == symbol) return;
846
-
847
- console.log(`[StockTradeInfo::SetSymbol] symbol=${this.Symbol}`);
848
-
849
- this.Symbol = symbol;
850
- this.IsBuySellInital = false;
851
- this.IsTradeDataInital = false;
852
- this.InitalStock(); //订阅数据
853
- if (this.IsSHSZIndex(this.Symbol)) this.ShowCapitalFlow(false);
854
- else this.InitalCapitalFlow();
855
- if (!this.IsShareStock) this.JSStock.RequestData();
856
-
857
- this.MoreDealLink = './stockdeallastest.demo.page.html?symbol=' + this.Symbol;
858
-
859
- //分价表是显示的状态,切换股票更新
860
- if (this.DealPrice.JSStock && this.DealPrice.IsShow)
861
- {
862
- this.DealPrice.JSStock.Symbol=this.Symbol;
863
- this.DealPrice.JSStock.RequestData();
864
- }
865
- },
866
-
867
- //初始化
868
- InitalStock: function() {
869
- if (this.IsSHSZIndex()) return; //指数没有买卖盘
870
-
871
- // 分成3个ID 分开取
872
- let read = this.JSStock.GetStockRead(this.ID[0], this.UpdateBuySell); //订阅买卖盘数据
873
- read.SetQueryField(this.Symbol, [
874
- JSCommonStock.STOCK_FIELD_NAME.BUY5,
875
- JSCommonStock.STOCK_FIELD_NAME.SELL5,
876
- JSCommonStock.STOCK_FIELD_NAME.YCLOSE
877
- ]);
878
-
879
- read = this.JSStock.GetStockRead(this.ID[1], this.UpdateTrade); //订阅成交明细
880
- read.SetQueryField(this.Symbol, [
881
- JSCommonStock.STOCK_FIELD_NAME.DEAL,
882
- JSCommonStock.STOCK_FIELD_NAME.YCLOSE
883
- ]);
884
-
885
- read = this.JSStock.GetStockRead(this.ID[2], this.UpdateBookRate); //订阅委比委差
886
- read.SetQueryField(this.Symbol, [
887
- JSCommonStock.STOCK_FIELD_NAME.BOOK_RATE,
888
- JSCommonStock.STOCK_FIELD_NAME.BOOK_DIFFER
889
- ]);
890
- },
891
-
892
- IsSHSZIndex: function() {
893
- return JSCommon.MARKET_SUFFIX_NAME.IsSHSZIndex(this.Symbol);
894
- },
895
-
896
- //改变显示数据
897
- ChangeShowData: function(name, value) {
898
- console.log("[StockTradeInfo::ChangeShowData]", name, value);
899
- switch (name) {
900
- case "分笔":
901
- this.IsShowTradeData = true;
902
- this.ShowShortTerm(false);
903
- this.ShowCapitalFlow(false);
904
- this.ShowDealPrice(false);
905
- break;
906
- case "异动":
907
- this.IsShowTradeData = false;
908
- this.ShowCapitalFlow(false);
909
- this.ShowDealPrice(false);
910
- this.ShowShortTerm(true);
911
- break;
912
- case "资金":
913
- this.IsShowTradeData = false;
914
- this.ShowShortTerm(false);
915
- this.ShowDealPrice(false);
916
- this.ShowCapitalFlow(true);
917
- break;
918
- case "分价":
919
- this.IsShowTradeData=false;
920
- this.ShowShortTerm(false);
921
- this.ShowCapitalFlow(false);
922
- this.ShowDealPrice(true);
923
- break;
924
- }
925
- this.OnSize();
926
- },
927
-
928
- //移动显示
929
- ShowShortTerm: function(isShow) {
930
- if (isShow) {
931
- if (!this.ShortTerm.JSStock) this.ShortTerm.JSStock = JSCommonStock.JSStock.GetShortTerm();
932
- var shortTerm = this.ShortTerm.JSStock;
933
- shortTerm.UpdateUICallback = this.UpdateShortTerm;
934
- shortTerm.IsAutoUpdate = true;
935
- shortTerm.RequestData();
936
- this.ShortTerm.IsShow = true;
937
- } else {
938
- this.ShortTerm.IsShow = false;
939
- if (!this.ShortTerm.JSStock) return;
940
- this.ShortTerm.JSStock.IsAutoUpdate = false;
941
- this.ShortTerm.JSStock.Stop();
942
- }
943
- },
944
-
945
- //资金流显示
946
- ShowCapitalFlow: function(isShow) {
947
- if (isShow) {
948
- this.CapitalFlow.IsShow = true;
949
- this.InitalCapitalFlow();
950
- this.RequestData();
951
- } else
952
- {
953
- this.JSStock.Unsubscribe(this.ID[3]);
954
- this.CapitalFlow.IsShow = false;
955
- }
956
- },
957
-
958
- UpdateShortTerm: function(data) {
959
- console.log("[StockTradeInfo::UpdateShortTerm] recv data", data);
960
- var showData = [];
961
- for (var i in data.Data) {
962
- var item = data.Data[i];
963
- var showItem = {
964
- Name: item.Name,
965
- Symbol: item.Symbol,
966
- Type: {
967
- Text: item.TypeInfo,
968
- Value: item.Type
969
- },
970
- Time: {
971
- Value: item.Time
972
- },
973
- Color: "PriceNull"
974
- };
975
- showItem.Time.Text = JSCommon.IFrameSplitOperator.FormatTimeString(
976
- parseInt(showItem.Time.Value / 100)
977
- );
978
- showItem.Color =
979
- showItem.Type.Value % 10 === 1 ? "PriceUp" : "PriceDown";
980
- showData.push(showItem);
981
- }
982
- this.ShortTerm.Data = showData;
983
- this.OnSize();
984
- },
985
-
986
-
987
- ShowDealPrice:function(isShow)
988
- {
989
- if (isShow)
990
- {
991
- this.DealPrice.IsShow=true;
992
- if (!this.DealPrice.JSStock) this.DealPrice.JSStock = JSCommonStock.JSStock.GetDealPriceListData();
993
- var dealPrice = this.DealPrice.JSStock;
994
- dealPrice.Symbol=this.Symbol;
995
- dealPrice.UpdateUICallback = this.UpdateDealPrice;
996
- dealPrice.IsAutoUpdate = true;
997
- dealPrice.RequestData();
998
- }
999
- else
1000
- {
1001
- this.DealPrice.IsShow=false;
1002
- if (!this.DealPrice.JSStock) return;
1003
- this.DealPrice.JSStock.IsAutoUpdate = false;
1004
- this.DealPrice.JSStock.Stop();
1005
- }
1006
- },
1007
-
1008
- UpdateDealPrice:function(dealPrice) //分价表
1009
- {
1010
- console.log('[StockTradeInfo::UpdateDealPrice]', dealPrice.Data);
1011
- var yClose = dealPrice.Data.Day.YClose;
1012
- var priceList = dealPrice.Data.PriceList;
1013
- var maxVol = 0;
1014
- for(let i = 0; i < priceList.length; ++i){
1015
- var item = priceList[i];
1016
- if(item.Vol > maxVol){
1017
- maxVol = item.Vol;
1018
- }
1019
- }
1020
- var tdWPer = 0.25;
1021
- var paddingRight = 5;
1022
- var barWidth = this.$refs.dealpricelist.clientWidth * tdWPer - paddingRight;
1023
- var data = [];
1024
- for(let i = 0; i < priceList.length; ++i){
1025
- var item = priceList[i];
1026
- var vol = item.Vol;
1027
- var buyRate = item.BuyVol / vol;
1028
- var sellRate = item.SellVol / vol;
1029
- var noneRate = item.NoneVol / vol;
1030
-
1031
- var dealPriceObj = {};
1032
-
1033
- var barStyle = {width:'20px'};
1034
- dealPriceObj.Price = {Text:JSCommon.IFrameSplitOperator.FormatValueString(item.Price,2),Color:'',Value:item.Price} ;
1035
- dealPriceObj.Vol = parseInt(item.Vol/100);
1036
- dealPriceObj.Rate = JSCommon.IFrameSplitOperator.FormatValueString(item.Proportion * 100, 2) + '%';
1037
- var color = JSCommon.IFrameSplitOperator.FormatValueColor(item.Price,yClose);
1038
- dealPriceObj.Price.Color = color;
1039
- // if(color == 'PriceUp'){
1040
- // barStyle.backgroundColor = '#f00';
1041
- // }else if(color == 'PriceDown'){
1042
- // barStyle.backgroundColor = '#0f0';
1043
- // }else{
1044
- // barStyle.backgroundColor = '#ccc';
1045
- // }
1046
-
1047
- dealPriceObj.WidthRate = item.Vol / maxVol;
1048
- var totalWidth = barWidth * dealPriceObj.WidthRate > 1 ? barWidth * dealPriceObj.WidthRate : 1;
1049
- barStyle.width = totalWidth + 'px';
1050
-
1051
- var buyWidth = buyRate * totalWidth + 'px';
1052
- var sellWidth = sellRate * totalWidth + 'px';
1053
- var noneWidth = noneRate * totalWidth + 'px';
1054
- dealPriceObj.BuyRate = {width:buyWidth};
1055
- dealPriceObj.SellRate = {width:sellWidth};
1056
- dealPriceObj.NoneRate = {width:noneWidth};
1057
-
1058
- dealPriceObj.Bar = barStyle;
1059
- data.push(dealPriceObj);
1060
- }
1061
- data.sort( (l,r) => r.Price.Value-l.Price.Value );
1062
- this.DealPriceData = data;
1063
- console.log(`[::StockTradeInfo]backgroundColor:`,this.DealPriceData);
1064
- },
1065
-
1066
-
1067
- IsNumber: JSCommon.IFrameSplitOperator.IsNumber, //是否是数值型
1068
- IsPlusNumber: JSCommon.IFrameSplitOperator.IsPlusNumber //是否是>0的数值型
1069
- }
1070
- };
1071
- </script>
1072
-
1073
- <style lang="less" scoped>
1074
- @border: 1px solid #2c3032;
1075
-
1076
- .PriceUp,
1077
- .PriceUp > span {
1078
- color: #ee1515 !important;
1079
- }
1080
-
1081
- .PriceDown,
1082
- .PriceDown > span {
1083
- color: #199e00 !important;
1084
- }
1085
-
1086
- .PriceNull {
1087
- color: inherit;
1088
- }
1089
-
1090
- .Transparent {
1091
- color: rgba(255, 0, 255, 0);
1092
- }
1093
-
1094
- .tradeinfo {
1095
- border: @border;
1096
- width: 100%;
1097
- height: 100%;
1098
- position: relative;
1099
-
1100
- .firstLine {
1101
- width: 100%;
1102
- border-bottom: @border;
1103
- padding-left: 10px;
1104
- display: flex;
1105
- flex-direction: row;
1106
- flex-wrap: wrap;
1107
- box-sizing: border-box;
1108
-
1109
- > p {
1110
- flex-grow: 1;
1111
- line-height: 24px;
1112
- }
1113
- }
1114
-
1115
- .buyFive,
1116
- .sellFive,
1117
- .detailList,
1118
- .shorttermlist {
1119
- border-bottom: @border;
1120
- padding: 0 10px;
1121
- display: flex;
1122
- flex-direction: row;
1123
- flex-wrap: wrap;
1124
- overflow: hidden;
1125
- width: 100%;
1126
- box-sizing: border-box;
1127
-
1128
- > div {
1129
- flex-grow: 1;
1130
- height: 100%;
1131
-
1132
- p {
1133
- line-height: 24px;
1134
- }
1135
- }
1136
-
1137
- > div:nth-of-type(3),
1138
- > div:nth-of-type(2) {
1139
- p {
1140
- width: 100%;
1141
- text-align: right;
1142
- }
1143
- }
1144
- }
1145
-
1146
- .detailList,
1147
- .shorttermlist {
1148
- border-bottom: none;
1149
- }
1150
- .detailList{
1151
- position: relative;
1152
- width: 100%;
1153
- overflow-y: hidden;
1154
- .seeMoreDeal{
1155
- text-decoration: none;
1156
- color: #317ef3;
1157
- opacity: 0.7;
1158
- position: absolute;
1159
- right: 10px;
1160
- bottom: 5px;
1161
- display: inline-block;
1162
- padding: 2px 3px;
1163
- background-color: #fff;
1164
- }
1165
- .seeMoreDeal:hover{
1166
- opacity: 1;
1167
- }
1168
- }
1169
- .capitalList {
1170
- .tabTop {
1171
- width: 100%;
1172
- display: flex;
1173
- flex-direction: row;
1174
- border-bottom: @border;
1175
- > span {
1176
- flex-grow: 1;
1177
- border-right: @border;
1178
- display: inline-block;
1179
- line-height: 22px;
1180
- text-align: center;
1181
- cursor: pointer;
1182
- }
1183
- > span:hover {
1184
- color: #ff9900;
1185
- }
1186
- > span.active {
1187
- color: #ff9900;
1188
- background-color: #202426;
1189
- }
1190
- > span:last-child {
1191
- border-right: none;
1192
- }
1193
- }
1194
- .mainFlow {
1195
- border-bottom: @border;
1196
- > p {
1197
- display: flex;
1198
- flex-direction: row;
1199
- > span {
1200
- flex-grow: 1;
1201
- padding: 0 8px;
1202
- display: inline-block;
1203
- line-height: 22px;
1204
- }
1205
- > span:last-child {
1206
- text-align: right;
1207
- }
1208
- }
1209
- }
1210
- .orderList {
1211
- border-bottom: @border;
1212
- table {
1213
- width: 100%;
1214
- td {
1215
- line-height: 22px;
1216
- padding: 0 8px;
1217
- }
1218
- tr > td:nth-of-type(2),
1219
- tr > td:nth-of-type(3) {
1220
- text-align: right;
1221
- }
1222
- }
1223
- }
1224
- .netValueWrap {
1225
- padding: 4px 8px;
1226
- > .charWrap {
1227
- border: @border;
1228
- width: 100%;
1229
- height: 93px;
1230
- position: relative;
1231
- .middleLine {
1232
- width: 100%;
1233
- height: 1px;
1234
- background-color: #e1ecf2;
1235
- position: absolute;
1236
- left: 0;
1237
- top: 46px;
1238
- }
1239
- .bars {
1240
- position: absolute;
1241
- width: 100%;
1242
- height: 100%;
1243
- top: 0;
1244
- left: 0;
1245
- display: flex;
1246
- flex-direction: row;
1247
- .realArea {
1248
- /*横向平铺*/
1249
- flex-grow: 1;
1250
- height: 100%;
1251
- padding: 0 15px;
1252
- position: relative;
1253
- .label {
1254
- font-size: 12px;
1255
- height: 18px;
1256
- width: 100%;
1257
- position: absolute;
1258
- left:0;
1259
- text-align: center;
1260
- }
1261
- > div {
1262
- width: 100%;
1263
- height: 100%;
1264
- position: relative;
1265
- .content {
1266
- /*包含柱条,文本,left,bottom值确定方向*/
1267
- position: absolute;
1268
- width: 100%;
1269
- height: 46px;
1270
- bottom: 47px; /*上方*/
1271
- .bar{
1272
- position: absolute;
1273
- left: 0;
1274
- display: inline-block;
1275
- width: 100%;
1276
- font-size: 12px;
1277
- }
1278
- }
1279
- }
1280
- }
1281
- }
1282
- }
1283
- > .xLabels {
1284
- width: 100%;
1285
- display: flex;
1286
- height: 22px;
1287
- flex-direction: row;
1288
- > span {
1289
- flex-grow: 1;
1290
- line-height: 22px;
1291
- display: inline-block;
1292
- text-align: center;
1293
- }
1294
- }
1295
- }
1296
- }
1297
- .dealpricelist{
1298
- overflow-y: auto;
1299
- .table{
1300
- border-collapse: collapse;
1301
- border-spacing: 0;
1302
- border: none;
1303
- tr>td{
1304
- width: 25%;
1305
- line-height: 22px;
1306
- box-sizing: border-box;
1307
- }
1308
- tr>td:nth-of-type(2),tr>td:last-child{
1309
- text-align: right;
1310
- }
1311
- tr>td:nth-of-type(2){
1312
- padding-right: 5px;
1313
- }
1314
- td>span{
1315
- vertical-align: middle;
1316
- display:inline-block;
1317
- height: 14px;
1318
- .buy,.sell,.none{
1319
- display: inline-block;
1320
- height: 14px;
1321
- }
1322
- .buy{
1323
- background-color: red;
1324
- }
1325
- .sell{
1326
- background-color: green;
1327
- }
1328
- .none{
1329
- background-color: #ccc;
1330
- }
1331
- }
1332
-
1333
- }
1334
- }
1335
-
1336
- }
1337
- </style>