hqchart 1.1.12687 → 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 (228) hide show
  1. package/lib/umychart.vue.js +94 -50
  2. package/package.json +15 -47
  3. package/src/jscommon/umychart.resource/js/codemirror/javascript.js +1 -1
  4. package/src/jscommon/umychart.uniapp.h5/umychart.uniapp.h5.js +409 -115
  5. package/src/jscommon/umychart.vue/umychart.vue.js +409 -115
  6. package/.babelrc +0 -6
  7. package/.vscode/settings.json +0 -4
  8. package/Makefile +0 -9
  9. package/README.md +0 -452
  10. package/index.js +0 -17
  11. package/postcss.config.js +0 -5
  12. package/src/index.html +0 -18
  13. package/src/jscommon/backup/announcement.png +0 -0
  14. package/src/jscommon/backup/announcement2.png +0 -0
  15. package/src/jscommon/backup/blocktrading.png +0 -0
  16. package/src/jscommon/backup/investor.png +0 -0
  17. package/src/jscommon/backup/pforecast.png +0 -0
  18. package/src/jscommon/backup/research.png +0 -0
  19. package/src/jscommon/backup/tradedetail.png +0 -0
  20. package/src/jscommon/backup/umychart - backup.js +0 -17631
  21. package/src/jscommon/backup/umychart.macro.js +0 -4
  22. package/src/jscommon/backup/umychart.macro.vue.js +0 -3
  23. package/src/jscommon/commonindextree.json +0 -92
  24. package/src/jscommon/index.html +0 -13
  25. package/src/jscommon/jschinamapdata.js +0 -3
  26. package/src/jscommon/umychart.NetworkFilterTest.js +0 -48803
  27. package/src/jscommon/umychart.aliYunnetwork.js +0 -47
  28. package/src/jscommon/umychart.cninfo.components/readme.txt +0 -1
  29. package/src/jscommon/umychart.complier.js +0 -25291
  30. package/src/jscommon/umychart.complier.node/umychart.complier.controller.js +0 -559
  31. package/src/jscommon/umychart.complier.node/umychart.complier.node.js +0 -7043
  32. package/src/jscommon/umychart.complier.node/umychart.data.node.js +0 -816
  33. package/src/jscommon/umychart.console.js +0 -12
  34. package/src/jscommon/umychart.deal.js +0 -1452
  35. package/src/jscommon/umychart.dragdiv.js +0 -48
  36. package/src/jscommon/umychart.index.data.js +0 -4132
  37. package/src/jscommon/umychart.js +0 -90257
  38. package/src/jscommon/umychart.keyboard.js +0 -1659
  39. package/src/jscommon/umychart.listctrl.js +0 -690
  40. package/src/jscommon/umychart.mind.js +0 -2203
  41. package/src/jscommon/umychart.network.js +0 -44
  42. package/src/jscommon/umychart.news.js +0 -823
  43. package/src/jscommon/umychart.node.build/buildall.bat +0 -1
  44. package/src/jscommon/umychart.node.build/umychart.node.bat +0 -1
  45. package/src/jscommon/umychart.node.build/umychart.node.export.js +0 -40
  46. package/src/jscommon/umychart.regressiontest.js +0 -400
  47. package/src/jscommon/umychart.report.js +0 -5803
  48. package/src/jscommon/umychart.scrollbar.js +0 -1345
  49. package/src/jscommon/umychart.stock.js +0 -4218
  50. package/src/jscommon/umychart.style.js +0 -618
  51. package/src/jscommon/umychart.testdata.js +0 -150
  52. package/src/jscommon/umychart.uniapp.build/buildall.bat +0 -1
  53. package/src/jscommon/umychart.uniapp.build/umychart.bat +0 -1
  54. package/src/jscommon/umychart.uniapp.build/umychart.export.js +0 -70
  55. package/src/jscommon/umychart.user.js +0 -137
  56. package/src/jscommon/umychart.version.js +0 -30
  57. package/src/jscommon/umychart.vue/umychart.aliYunnetwork.vue.js +0 -56
  58. package/src/jscommon/umychart.vue.build/buildall.bat +0 -4
  59. package/src/jscommon/umychart.vue.build/copy_codemirror.bat +0 -2
  60. package/src/jscommon/umychart.vue.build/umychart.aliYunnetwork.vue.export.js +0 -9
  61. package/src/jscommon/umychart.vue.build/umychart.dragdiv.bat +0 -1
  62. package/src/jscommon/umychart.vue.build/umychart.dragdiv.export.js +0 -6
  63. package/src/jscommon/umychart.vue.build/umychart.index.data.bat +0 -1
  64. package/src/jscommon/umychart.vue.build/umychart.index.data.export.js +0 -4
  65. package/src/jscommon/umychart.vue.build/umychart.listctrl.vue.export.js +0 -15
  66. package/src/jscommon/umychart.vue.build/umychart.regressiontest.vue.export.js +0 -7
  67. package/src/jscommon/umychart.vue.build/umychart.regressiontest.wechat.export.js +0 -12
  68. package/src/jscommon/umychart.vue.build/umychart.stock.bat +0 -1
  69. package/src/jscommon/umychart.vue.build/umychart.stock.vue.export.js +0 -16
  70. package/src/jscommon/umychart.vue.build/umychart.testdata.bat +0 -3
  71. package/src/jscommon/umychart.vue.build/umychart.testdata.vue.export.js +0 -7
  72. package/src/jscommon/umychart.vue.build/umychart.vue.bat +0 -8
  73. package/src/jscommon/umychart.vue.build/umychart.vue.export.js +0 -112
  74. package/src/jscommon/umychart.vue.components/empyt.vue +0 -51
  75. package/src/jscommon/umychart.vue.components/historydayline.vue +0 -240
  76. package/src/jscommon/umychart.vue.components/jsloader.adddialog.vue +0 -315
  77. package/src/jscommon/umychart.vue.components/jsloader.vue +0 -93
  78. package/src/jscommon/umychart.vue.components/jsvuecontainer.vue +0 -160
  79. package/src/jscommon/umychart.vue.components/jsvuecontainer2.0.vue +0 -391
  80. package/src/jscommon/umychart.vue.components/login.vue +0 -178
  81. package/src/jscommon/umychart.vue.components/queryContent.vue +0 -750
  82. package/src/jscommon/umychart.vue.components/readme.txt +0 -8
  83. package/src/jscommon/umychart.vue.components/searchsymbol.vue +0 -299
  84. package/src/jscommon/umychart.vue.components/simulatetrade.vue +0 -1471
  85. package/src/jscommon/umychart.vue.components/stockchart.vue +0 -343
  86. package/src/jscommon/umychart.vue.components/stockchartV2.vue +0 -195
  87. package/src/jscommon/umychart.vue.components/stockdeal.vue +0 -358
  88. package/src/jscommon/umychart.vue.components/stockdealcount.vue +0 -262
  89. package/src/jscommon/umychart.vue.components/stockdeallastest.vue +0 -316
  90. package/src/jscommon/umychart.vue.components/stockdrawtool.vue +0 -343
  91. package/src/jscommon/umychart.vue.components/stockfull.vue +0 -355
  92. package/src/jscommon/umychart.vue.components/stockinfo.demo.vue +0 -153
  93. package/src/jscommon/umychart.vue.components/stockinfo.vue +0 -685
  94. package/src/jscommon/umychart.vue.components/stockkline.demo.vue +0 -1904
  95. package/src/jscommon/umychart.vue.components/stockmultiorder.vue +0 -174
  96. package/src/jscommon/umychart.vue.components/stockmultiperiod.vue +0 -222
  97. package/src/jscommon/umychart.vue.components/stockorder.vue +0 -320
  98. package/src/jscommon/umychart.vue.components/stocktradeinfo.demo.vue +0 -250
  99. package/src/jscommon/umychart.vue.components/stocktradeinfo.vue +0 -1907
  100. package/src/jscommon/umychart.vue.components/test.vue +0 -0
  101. package/src/jscommon/umychart.wechat/getDate.wechat.js +0 -91
  102. package/src/jscommon/umychart.wechat/lighter.news.wechat.js +0 -262
  103. package/src/jscommon/umychart.wechat/readme.txt +0 -3
  104. package/src/jscommon/umychart.wechat/umychart.analyze.wechat.js +0 -551
  105. package/src/jscommon/umychart.wechat/umychart.apidraw.wechat.js +0 -126
  106. package/src/jscommon/umychart.wechat/umychart.bigV.wechat.js +0 -2510
  107. package/src/jscommon/umychart.wechat/umychart.chartframe.wechat.js +0 -2931
  108. package/src/jscommon/umychart.wechat/umychart.chartpaint.wechat.js +0 -9752
  109. package/src/jscommon/umychart.wechat/umychart.charttitle.wechat.js +0 -2023
  110. package/src/jscommon/umychart.wechat/umychart.complier.wechat.js +0 -14726
  111. package/src/jscommon/umychart.wechat/umychart.console.wechat.js +0 -8
  112. package/src/jscommon/umychart.wechat/umychart.coordinatedata.wechat.js +0 -3654
  113. package/src/jscommon/umychart.wechat/umychart.data.wechat.js +0 -2243
  114. package/src/jscommon/umychart.wechat/umychart.element.wechart.js +0 -132
  115. package/src/jscommon/umychart.wechat/umychart.explainer.wechat.js +0 -1077
  116. package/src/jscommon/umychart.wechat/umychart.extendchart.wechat.js +0 -1140
  117. package/src/jscommon/umychart.wechat/umychart.framesplit.wechat.js +0 -2247
  118. package/src/jscommon/umychart.wechat/umychart.hqIndexformula.wechat.js +0 -941
  119. package/src/jscommon/umychart.wechat/umychart.index.data.wechat.js +0 -3628
  120. package/src/jscommon/umychart.wechat/umychart.index.wechat.js +0 -4074
  121. package/src/jscommon/umychart.wechat/umychart.klineinfo.wechat.js +0 -836
  122. package/src/jscommon/umychart.wechat/umychart.markethot.js +0 -50
  123. package/src/jscommon/umychart.wechat/umychart.network.wechart.js +0 -62
  124. package/src/jscommon/umychart.wechat/umychart.news.wechat.js +0 -3568
  125. package/src/jscommon/umychart.wechat/umychart.regressiontest.wechat.js +0 -412
  126. package/src/jscommon/umychart.wechat/umychart.report.wechat.js +0 -3983
  127. package/src/jscommon/umychart.wechat/umychart.resource.wechat.js +0 -919
  128. package/src/jscommon/umychart.wechat/umychart.shareimage.wechat.js +0 -681
  129. package/src/jscommon/umychart.wechat/umychart.simulatetrade.wechat.js +0 -238
  130. package/src/jscommon/umychart.wechat/umychart.stock.wechat.js +0 -4035
  131. package/src/jscommon/umychart.wechat/umychart.style.wechat.js +0 -419
  132. package/src/jscommon/umychart.wechat/umychart.uniapp.canvas.helper.js +0 -99
  133. package/src/jscommon/umychart.wechat/umychart.user.wechat.js +0 -588
  134. package/src/jscommon/umychart.wechat/umychart.userlog.wechat.js +0 -240
  135. package/src/jscommon/umychart.wechat/umychart.vedio.wechat.js +0 -112
  136. package/src/jscommon/umychart.wechat/umychart.version.wechat.js +0 -36
  137. package/src/jscommon/umychart.wechat/umychart.wechat.3.0.js +0 -12051
  138. package/src/jscommon/umychart.wechat/umychart.wechat.js +0 -15460
  139. package/src/jscommon/umychart.worker.js +0 -114
  140. package/src/jscommon/umychart.ws.stock.js +0 -110
  141. package/src/jscommon/umychart_python/.vscode/launch.json +0 -15
  142. package/src/jscommon/umychart_python/__init__.py +0 -4
  143. package/src/jscommon/umychart_python/build.cmd +0 -2
  144. package/src/jscommon/umychart_python/setup.py +0 -25
  145. package/src/jscommon/umychart_python/umychart_cache_testcase.py +0 -165
  146. package/src/jscommon/umychart_python/umychart_complier_data.py +0 -781
  147. package/src/jscommon/umychart_python/umychart_complier_help.py +0 -175
  148. package/src/jscommon/umychart_python/umychart_complier_job.py +0 -193
  149. package/src/jscommon/umychart_python/umychart_complier_jsalgorithm.py +0 -4144
  150. package/src/jscommon/umychart_python/umychart_complier_jscomplier.py +0 -177
  151. package/src/jscommon/umychart_python/umychart_complier_jsexecute.py +0 -517
  152. package/src/jscommon/umychart_python/umychart_complier_jsparser.py +0 -864
  153. package/src/jscommon/umychart_python/umychart_complier_jssymboldata.py +0 -1238
  154. package/src/jscommon/umychart_python/umychart_complier_jssymboldata_cache.py +0 -146
  155. package/src/jscommon/umychart_python/umychart_complier_jssymboldata_json.py +0 -106
  156. package/src/jscommon/umychart_python/umychart_complier_pandas_help.py +0 -80
  157. package/src/jscommon/umychart_python/umychart_complier_scanner.py +0 -554
  158. package/src/jscommon/umychart_python/umychart_complier_testcase.py +0 -362
  159. package/src/jscommon/umychart_python/umychart_complier_util.py +0 -30
  160. package/src/jscommon/umychart_python/umychart_webtemplate.py +0 -131
  161. package/src/jscommon/umychart_python/updatehqchartweb.bat +0 -5
  162. package/src/jscommon/vendor.js +0 -2
  163. package/src/pages/block.list.demo.page/App.vue +0 -117
  164. package/src/pages/block.list.demo.page/index.js +0 -12
  165. package/src/pages/brushTool.demo.page/App.vue +0 -19
  166. package/src/pages/brushTool.demo.page/index.js +0 -12
  167. package/src/pages/container.demo.page/App.vue +0 -118
  168. package/src/pages/container.demo.page/index.js +0 -18
  169. package/src/pages/dataZoom.demo.page/App.vue +0 -265
  170. package/src/pages/dataZoom.demo.page/components/dataZoom.vue +0 -303
  171. package/src/pages/dataZoom.demo.page/index.js +0 -12
  172. package/src/pages/historydayline.demo.page/App.vue +0 -57
  173. package/src/pages/historydayline.demo.page/index.js +0 -12
  174. package/src/pages/hq.demo.page/App.vue +0 -163
  175. package/src/pages/hq.demo.page/index.js +0 -12
  176. package/src/pages/hqchart.black/App.vue +0 -90
  177. package/src/pages/hqchart.black/components/searchsymbol.vue +0 -299
  178. package/src/pages/hqchart.black/components/stockdrawtool.vue +0 -300
  179. package/src/pages/hqchart.black/components/stockfull.vue +0 -313
  180. package/src/pages/hqchart.black/components/stockinfo.vue +0 -428
  181. package/src/pages/hqchart.black/components/stockkline.demo.vue +0 -1652
  182. package/src/pages/hqchart.black/components/stocktradeinfo.vue +0 -1337
  183. package/src/pages/hqchart.black/index.js +0 -30
  184. package/src/pages/hqchart.black/router/candlestickChart.vue +0 -108
  185. package/src/pages/hqchart.black/router/pricePointsTable.vue +0 -294
  186. package/src/pages/hqchart.black/router/stockDeallas.vue +0 -417
  187. package/src/pages/hqchart.black/router/timeShareChart.vue +0 -108
  188. package/src/pages/hqchart.page/App.vue +0 -101
  189. package/src/pages/hqchart.page/index.js +0 -18
  190. package/src/pages/index/App.vue +0 -1408
  191. package/src/pages/index/index.js +0 -7
  192. package/src/pages/indexHq/App.vue +0 -110
  193. package/src/pages/indexHq/index.js +0 -18
  194. package/src/pages/login.demo.page/App.vue +0 -22
  195. package/src/pages/login.demo.page/index.js +0 -12
  196. package/src/pages/queryContent.demo.page/App.vue +0 -29
  197. package/src/pages/queryContent.demo.page/index.js +0 -18
  198. package/src/pages/ranking.black/App.vue +0 -199
  199. package/src/pages/ranking.black/index.js +0 -18
  200. package/src/pages/search.demo.page/App.vue +0 -28
  201. package/src/pages/search.demo.page/index.js +0 -12
  202. package/src/pages/simulatetrade.demo.page/app.vue +0 -121
  203. package/src/pages/simulatetrade.demo.page/index.js +0 -17
  204. package/src/pages/stockdeal.demo.page/App.vue +0 -63
  205. package/src/pages/stockdeal.demo.page/index.js +0 -19
  206. package/src/pages/stockdealcount.demo.page/App.vue +0 -37
  207. package/src/pages/stockdealcount.demo.page/index.js +0 -12
  208. package/src/pages/stockdeallastest.demo.page/App.vue +0 -74
  209. package/src/pages/stockdeallastest.demo.page/index.js +0 -18
  210. package/src/pages/stockinfo.demo.page/App.vue +0 -92
  211. package/src/pages/stockinfo.demo.page/index.html +0 -13
  212. package/src/pages/stockinfo.demo.page/index.js +0 -19
  213. package/src/pages/stockkline.demo.page/App.vue +0 -55
  214. package/src/pages/stockkline.demo.page/index.js +0 -18
  215. package/src/pages/stockmultiorder.demo.page/App.vue +0 -149
  216. package/src/pages/stockmultiorder.demo.page/index.js +0 -18
  217. package/src/pages/stockmultiperiod.demo.page/App.vue +0 -87
  218. package/src/pages/stockmultiperiod.demo.page/index.js +0 -18
  219. package/src/pages/stockorder.demo.page/App.vue +0 -69
  220. package/src/pages/stockorder.demo.page/index.js +0 -18
  221. package/src/pages/test/App.vue +0 -22
  222. package/src/pages/test/index.js +0 -7
  223. package/src/pages/tradeinfopage/app.vue +0 -40
  224. package/src/pages/tradeinfopage/index.js +0 -7
  225. package/src/pages/tradeinfopage/tradeinfo.html +0 -12
  226. package/src/utils/urlObj.js +0 -81
  227. package/src/vendor.js +0 -2
  228. package/webpack.config.js +0 -104
@@ -1,1652 +0,0 @@
1
- <template>
2
- <div class="stockkline" ref='stockkline'>
3
- <!-- 周期工具条 !-->
4
- <div class='periodbar' ref='divperiodbar'>
5
- <div class="preiod" v-if="KlineType">
6
- <a class="item" v-for='(navItem,idx) in PeriodBar1.Menu' :key='idx' :class='PeriodBar1.Selected == idx ? "active":""'
7
- href="javascript:;" @click='OnClickPeriodMenu(idx,$event)'>{{navItem}}</a>
8
- <router-link to="/candlestickChart"><a class="item">日线</a></router-link>
9
- </div>
10
- <div class="preiod" v-else>
11
- <router-link to="/"><a class="item">分时</a></router-link>
12
- <a class="item" v-for='(navItem,idx) in PeriodBar2.Menu' :key='idx' :class='PeriodBar2.Selected == idx ? "active":""'
13
- href="javascript:;" @click='OnClickPeriodMenu(idx,$event)'>{{navItem}}</a>
14
- </div>
15
- <div class="catchImg" @click='GetChartImg'><i class="iconfont icon-camera"></i></div>
16
- </div>
17
-
18
- <!-- 图形操作工具条 !-->
19
- <div class='chartbar' ref='divchartbar' id='chartbar'>
20
- <!-- 分时图设置导航条 -->
21
- <div id='barForMinute' class='menuWrap' v-show="Minute.IsShow">
22
- <div class="item" v-for='(menuOne,index) in Minute.Toolbar.Data' :key='menuOne.Text' @click="OnClickToolBar('minute',menuOne,index)">
23
- <p class="menuOne" :class='{light:Minute.Toolbar.Selected == index}' v-show='menuOne.IsShow'>
24
- <span>{{menuOne.Text}}</span>
25
- <i class="iconfont" :class='Minute.Toolbar.Selected == index ? "icon-shang" : "icon-xia"'></i>
26
- </p>
27
- <ul class="menuTwo" v-show='Minute.Toolbar.Selected == index ? true:false'>
28
- <li v-for='(menuItem,ind) in menuOne.Menu' :class='{active:menuOne.Selected.indexOf(ind)>=0}' :key='ind'
29
- @click.stop="OnClickToolBarMenu('minute',menuOne,menuItem,ind)">{{menuItem.Name}}</li>
30
- </ul>
31
- </div>
32
- </div>
33
-
34
- <!-- k线设置导航条 -->
35
- <div id='barForKLine' class='menuWrap' v-show="KLine.IsShow">
36
- <div v-bind:class="[menuOne.IsShow==true? 'item':'hide_item']" v-for='(menuOne,index) in KLine.Toolbar.Data' :key='menuOne.Text' v-show="KLineItemShow[index]" @click="OnClickToolBar('kline',menuOne,index)" >
37
- <p class="menuOne" :class='{light:KLine.Toolbar.Selected == index}' v-show='menuOne.IsShow'>
38
- <span>{{menuOne.Text}}</span>
39
- <i class='iconfont' :class='KLine.Toolbar.Selected == index ? "icon-shang" : "icon-xia"'></i>
40
- </p>
41
- <ul class="menuTwo" v-show='KLine.Toolbar.Selected == index ? true:false'>
42
- <li v-for='(menuItem,ind) in menuOne.Menu' :class='{active:menuOne.Selected.indexOf(ind)>=0}' :key='ind'
43
- @click.stop="OnClickToolBarMenu('kline',menuOne,menuItem,ind)">{{menuItem.Name}}</li>
44
- </ul>
45
- </div>
46
- </div>
47
-
48
- </div>
49
- <div class="brushTool" v-if="DrawTool.IsShow">
50
- <Stockdrawtool @CurrentIcon = "CurrentIcon" @IsShowBrushTool="isShowBrushTool" :topheight="topheight" :totalheight="totalheight"></Stockdrawtool>
51
- </div>
52
- <!-- 走势图 和 K线图 !-->
53
- <div class='divchart' :id='ID' ref='divchart' style="width:100%;height:100%">
54
- <div class='minute' id="minute" ref="minute" v-show="Minute.IsShow"></div>
55
- <div class='kline' id="kline" ref='kline' v-show="KLine.IsShow"></div>
56
- <div class="bottomToolForChart" v-show="KLine.IsShow">
57
- <span ref='smallBtn' class='iconBg' :class='{iconDisabled:StatusBtn.SmallDisabled}' title='缩小' @click="OnClickKLineToolbar({ID:3})"><i class='iconfont icon-sub'></i></span>
58
- <span ref='bigBtn' class='iconBg' title='放大' :class='{iconDisabled:StatusBtn.BigDisabled}' @click="OnClickKLineToolbar({ID:4})"><i class='iconfont icon-add'></i></span>
59
- <span ref='leftFiveBtn' class='iconBg' title='向左移动5个数据' :class='{iconDisabled:StatusBtn.LeftDisabled}' @mouseup="OnMouseUpKLineToolbar()" @mousedown="OnMouseDownKLineToolbar({ID:1, Step:5})" ><i class='iconfont icon-menu_arraw_left'></i></span>
60
- <span ref='leftBtn' class='iconBg' title='向左移动1个数据' :class='{iconDisabled:StatusBtn.LeftDisabled}' @mouseup="ClearMoveInterval({ID:1, Step:1})" @mousedown="ContinuedMoveChart({ID:1, Step:1})" ><i class='iconfont icon-left'></i></span>
61
- <span ref='rightBtn' class='iconBg' title='向右移动1个数据' :class='{iconDisabled:StatusBtn.RightDisabled}' @mouseup="ClearMoveInterval({ID:2, Step:1})" @mousedown="ContinuedMoveChart({ID:2, Step:1})"><i class='iconfont icon-right'></i></span>
62
- <span ref='rightFiveBtn' class='iconBg' title='向右移动5个数据' :class='{iconDisabled:StatusBtn.RightDisabled}' @mouseup="OnMouseUpKLineToolbar()" @mousedown="OnMouseDownKLineToolbar({ID:2, Step:5})"><i class='iconfont icon-menu_arraw_right'></i></span>
63
- <span class='iconBg' title='返回第一页' @click="OnClickKLineToolbar({ID:5})"><i class='iconfont icon-refresh'></i></span>
64
- </div>
65
- </div>
66
-
67
- <!-- 底部指标工具条 !-->
68
- <div class="indexbar" v-show='Minute.IsShow' ref='minuteindexbar'>
69
- <span v-for='(item,index) in Minute.IndexBar.Menu' :key='index' :class='{active:Minute.IndexBar.Selected.indexOf(index)>=0}'
70
- @click="OnClickIndexBar('minute',item,index)">{{item}}</span>
71
- </div>
72
- <div class="indexbar" v-show='KLine.IsShow' ref='klineindexbar'>
73
- <span v-for='(item,index) in KLine.IndexBar.Menu' :key='index' :class='{active:KLine.IndexBar.Selected.indexOf(index)>=0}'
74
- @click="OnClickIndexBar('kline',item,index)">{{item}}</span>
75
- </div>
76
- <!-- 图片保存对话框 -->
77
- <div class="dialogMask" v-show='ShowDialog'>
78
- <div class="dialogWrap">
79
- <div class="titleWrap">
80
- <div class="titleText">图片url</div>
81
- <div class="closeBtnWrap" @click='HideImageLoadDialog'><i class='iconfont icon-close'></i></div>
82
- </div>
83
- <div class="contentWrap">
84
- <div class="inputBox"><input id='imageLoadInput' type="text" v-model='ImageLodeUrl'><button class="copyBtn" @click='CopyUrl' type="button">复制</button></div>
85
- </div>
86
- <div class="btnWrap"><button class='okBtn' @click='SaveImage' type="button">保存图片</button></div>
87
- </div>
88
- </div>
89
-
90
- </div>
91
- </template>
92
-
93
- <script type="text/javascript">
94
-
95
- import $ from 'jquery'
96
- import JSCommon from '../../../jscommon/umychart.vue/umychart.vue.js'
97
- import '../../../jscommon/umychart.resource/font/iconfont.css'
98
- import '../../../jscommon/umychart.resource/css/tools.css'
99
- import Stockdrawtool from './stockdrawtool.vue'
100
-
101
- function DefaultData()
102
- {
103
-
104
- }
105
-
106
- //分钟数据默认配置
107
- DefaultData.GetMinuteOption=function()
108
- {
109
- const option=
110
- {
111
- Type: '分钟走势图', //历史分钟走势图
112
- Symbol: null,
113
- IsAutoUpdate: true, //是自动更新数据
114
- Windows:
115
- [
116
- { Index: "MACD" }
117
- ],
118
- DayCount: 1,
119
-
120
- IsShowRightMenu: false, //右键菜单
121
- IsShowCorssCursorInfo: true, //是否显示十字光标的刻度信息
122
-
123
- Border: //边框
124
- {
125
- Left: 60, //左边间距
126
- Right: 60, //右边间距
127
- Top: 25,
128
- Bottom: 20
129
- },
130
-
131
- KLineTitle: //标题设置
132
- {
133
-
134
- },
135
-
136
- Frame: //子框架设置,刻度小数位数设置
137
- [
138
- { SplitCount: 5, StringFormat: 0 },
139
- { SplitCount: 3, StringFormat: 0 },
140
- { SplitCount: 3, StringFormat: 0 }
141
- ],
142
- };
143
-
144
- return option;
145
- }
146
-
147
- DefaultData.GetKLineOption=function()
148
- {
149
- const option=
150
- {
151
- Type: '历史K线图',
152
- Windows:
153
- [
154
- { Index: "均线" },
155
- { Index: "VOL" },
156
- ], //窗口指标
157
- Symbol: null,
158
- IsAutoUpdate: true, //是自动更新数据
159
- IsShowRightMenu: false, //右键菜单
160
-
161
- KLine:
162
- {
163
- DragMode: 1, //拖拽模式 0 禁止拖拽 1 数据拖拽 2 区间选择
164
- Right: 1, //复权 0 不复权 1 前复权 2 后复权
165
- Period: 0, //周期 0 日线 1 周线 2 月线 3 年线
166
- MaxReqeustDataCount: 1000, //日线数据最近1000天
167
- MaxRequestMinuteDayCount: 15, //分钟数据最近15天
168
- PageSize: 50, //一屏显示多少数据
169
- IsShowTooltip: true, //是否显示K线提示信息
170
- RightSpaceCount:2, //右边预留2个K线宽度空白
171
- ZoomType:1, //PC页面版 缩放以十字光标为中心两边缩放
172
- },
173
-
174
- KLineTitle: //标题设置
175
- {
176
-
177
- },
178
-
179
- Border: //边框
180
- {
181
- Left: 1, //左边间距
182
- Right: 60, //右边间距
183
- Top: 25
184
- },
185
-
186
- Frame: //子框架设置
187
- [
188
- { SplitCount: 3, StringFormat: 0, IsShowLeftText: false },
189
- { SplitCount: 3, StringFormat: 0, IsShowLeftText: false },
190
- { SplitCount: 3, StringFormat: 0, IsShowLeftText: false },
191
- { SplitCount: 3, StringFormat: 0, IsShowLeftText: false }
192
- ]
193
- };
194
-
195
- return option;
196
- }
197
-
198
- DefaultData.GetPeriodData=function(name)
199
- {
200
- const mapPeriod=new Map([
201
- ["分时",{Value:1,KLineShow:false,MinuteShow:true}],
202
- ["五日",{Value:5,KLineShow:false,MinuteShow:true}],
203
- ["1分钟",{Value:4,KLineShow:true,MinuteShow:false}],
204
- ["5分钟",{Value:5,KLineShow:true,MinuteShow:false}],
205
- ["15分钟",{Value:6,KLineShow:true,MinuteShow:false}],
206
- ["30分钟",{Value:7,KLineShow:true,MinuteShow:false}],
207
- ["60分钟",{Value:8,KLineShow:true,MinuteShow:false}],
208
- ["日线",{Value:0,KLineShow:true,MinuteShow:false}],
209
- ["周线",{Value:1,KLineShow:true,MinuteShow:false}],
210
- ["月线",{Value:2,KLineShow:true,MinuteShow:false}],
211
- ["年线",{Value:3,KLineShow:true,MinuteShow:false}],
212
- ]);
213
- if (!mapPeriod.has(name)) return null;
214
-
215
- return mapPeriod.get(name);
216
- }
217
-
218
- DefaultData.GetPeriodMenu1=function()
219
- {
220
- const data=
221
- [
222
- '分时', '五日'
223
- ];
224
-
225
- return data;
226
- }
227
- DefaultData.GetPeriodMenu2=function()
228
- {
229
- const data=
230
- [
231
- '日线', '周线', '月线', '年线',
232
- '1分钟', '5分钟', '15分钟', '30分钟', '60分钟'
233
- ];
234
-
235
- return data;
236
- }
237
-
238
- //分钟工具条菜单ID
239
- var MINUTE_TOOLBAR_ID=
240
- {
241
- INDEX_ID:0, // 指标
242
- INDEX_ID_TWO:1, // 指标
243
- }
244
-
245
- DefaultData.GetMinuteToolbar=function()
246
- {
247
- let data=
248
- {
249
- Data:[],
250
- Selected:-1,
251
- }
252
-
253
- let indexMenu=
254
- {
255
- Text: '副图指标',
256
- Selected: [],
257
- Menu:
258
- [
259
- {Name:"MACD"}, {Name:"DMI"}, {Name:"DMA"}, {Name:"BRAR"},
260
- {Name:"KDJ"}, {Name:"RSI"}, {Name:"WR"}, {Name:"CCI"}, {Name:"TRIX"}, {Name:'北上资金'}, {Name:'涨跌趋势'}
261
- ],
262
- IsShow:true
263
- }
264
-
265
-
266
-
267
- data.Data[MINUTE_TOOLBAR_ID.INDEX_ID]=indexMenu;
268
-
269
- return data;
270
- }
271
-
272
- var KLINE_TOOLBAR_ID=
273
- {
274
- RIGHT_ID:0, //复权
275
- KLINE_INFO_ID:1, //信息地雷
276
- COLOR_INDEX_ID:2, //五彩K线
277
- TRADE_INDEX_ID:3, //专家系统
278
- OVERLAY_ID:4, //叠加股票
279
- MOUSE_DRAG_ID:5, //鼠标拖拽
280
- WINDOW_COUNT_ID:6, //窗口个数
281
- KLINE_TYPE_ID:7, //主图线型
282
- }
283
-
284
- DefaultData.GetKLineToolbar=function()
285
- {
286
- let data=
287
- {
288
- Data:[],
289
- Selected:-1,
290
- };
291
-
292
- let rightMenu=
293
- {
294
- Text: '复权处理',
295
- Selected: [],
296
- Menu: [ {Name:'不复权',Value:0}, {Name:'前复权', Value:1} , {Name:'后复权', Value:2} ],
297
- IsShow:true,
298
- };
299
-
300
- let colorIndexMenu=
301
- {
302
- Text: '五彩K线',
303
- Selected: [],
304
- Menu:
305
- [
306
- {Name:"十字星", Value:'五彩K线-十字星'}, {Name:"早晨之星", Value:'五彩K线-早晨之星'},
307
- {Name:"垂死十字", Value:'五彩K线-垂死十字'}, {Name:"三只乌鸦", Value:'五彩K线-三只乌鸦'},
308
- {Name:"光脚阴线", Value:'五彩K线-光脚阴线'}, {Name:"黄昏之星", Value:'五彩K线-黄昏之星'}
309
- ],
310
- IsShow:true,
311
- };
312
-
313
- let tradeIndexMenu=
314
- {
315
- Text: '专家系统',
316
- Selected: [],
317
- Menu:
318
- [
319
- {Name:"BIAS", Value:'交易系统-BIAS'}, {Name:"CCI", Value:'交易系统-CCI'},
320
- {Name:"DMI", Value:'交易系统-DMI'}, {Name:"KD", Value:'交易系统-KD'},
321
- {Name:"BOLL", Value:'交易系统-BOLL'}, {Name:"KDJ", Value:'交易系统-KDJ'}
322
- ],
323
- IsShow:true,
324
- };
325
-
326
- //叠加股票
327
- let overlayMenu=
328
- {
329
- Text: '叠加品种',
330
- Selected: [],
331
- Menu:
332
- [
333
- {Name:"上证指数", Value:'000001.sh'}, {Name:"深证成指", Value:'399001.sz'},
334
- {Name:"中小板指", Value:'399005.sz'}, {Name:"创业板指", Value:'399006.sz'},
335
- {Name:"沪深300", Value:'000300.sh'}
336
- ],
337
- IsShow:true,
338
- }
339
-
340
- let klineTypeMenu=
341
- {
342
- Text: '主图线型',
343
- Selected: [],
344
- Menu: [{Name:"空心K线",Value:3}, {Name:"实心K线",Value:0}, {Name:"美国线",Value:2}, {Name:"收盘线",Value:1},{Name:"面积图",Value:4}],
345
- IsShow:true,
346
- };
347
-
348
- let windowCountMenu=
349
- {
350
- Text: '窗口个数',
351
- Selected: [],
352
- Menu:
353
- [
354
- {Name:"1个窗口",Value:1}, {Name:"2个窗口",Value:2}, {Name:"3个窗口",Value:3},
355
- {Name:"4个窗口",Value:4}, {Name:"5个窗口",Value:5}
356
- ],
357
- IsShow:true,
358
- };
359
-
360
- let klineInfoMenu=
361
- {
362
- Text: '信息地雷',
363
- Selected: [],
364
- Menu:
365
- [
366
- {Name:"公告", }, {Name:"业绩预告",}, {Name:"调研",},
367
- {Name:"大宗交易",}, {Name:"龙虎榜",},{Name:"互动易",},
368
- ],
369
- IsShow:true,
370
- };
371
-
372
- let mouseDragMenu=
373
- {
374
- Text: '工具',
375
- Selected: [],
376
- Menu:
377
- [
378
- {Name:"禁止拖拽", Value:0}, {Name:"启动拖拽", Value:1}, {Name:"区间选择",Value:2},{Name:"画图工具",Value:3}
379
- ],
380
- IsShow:true,
381
- };
382
-
383
- data.Data[KLINE_TOOLBAR_ID.RIGHT_ID]=rightMenu;
384
- data.Data[KLINE_TOOLBAR_ID.COLOR_INDEX_ID]=colorIndexMenu;
385
- data.Data[KLINE_TOOLBAR_ID.TRADE_INDEX_ID]=tradeIndexMenu;
386
- data.Data[KLINE_TOOLBAR_ID.OVERLAY_ID]=overlayMenu;
387
- data.Data[KLINE_TOOLBAR_ID.KLINE_TYPE_ID]=klineTypeMenu;
388
- data.Data[KLINE_TOOLBAR_ID.WINDOW_COUNT_ID]=windowCountMenu;
389
- data.Data[KLINE_TOOLBAR_ID.KLINE_INFO_ID]=klineInfoMenu;
390
- data.Data[KLINE_TOOLBAR_ID.MOUSE_DRAG_ID]=mouseDragMenu;
391
-
392
- return data;
393
- }
394
-
395
-
396
-
397
- export default
398
- {
399
- name:'StockKLine',
400
- //外部传入的参数
401
- props:
402
- [
403
- 'DefaultPeriod', //周期 分时,五日,日线
404
- 'DefaultSymbol', //默认股票
405
- 'KLineOption',
406
- 'MinuteOption',
407
- 'TradeInfoTabWidth',
408
- 'KlineType'
409
- ],
410
- components:{Stockdrawtool},
411
- data()
412
- {
413
- let data=
414
- {
415
- ImageLodeUrl:'',
416
- ShowDialog:false,
417
- ImageLoadDomain:'https://opensourcedownload.zealink.com',
418
- Symbol:'600000.sh',
419
- ID:JSCommon.JSChart.CreateGuid(),
420
- topheight: 0,
421
- totalheight: 0,
422
- Minute:
423
- {
424
- JSChart:null, Option:DefaultData.GetMinuteOption(),
425
- IsShow:true, //是否显示
426
- IndexBar: //底部指标工具
427
- {
428
- Menu:["MACD", '量比', "DMI", "DMA", "BRAR", "KDJ", "RSI", "WR", "CCI", "TRIX",'涨跌趋势'],
429
- Selected:[]
430
- },
431
- Toolbar:DefaultData.GetMinuteToolbar(), //工具菜单
432
- },
433
- KLine:
434
- {
435
- JSChart:null,Option:DefaultData.GetKLineOption(),
436
- IsShow:false,
437
- IndexBar: //底部指标工具
438
- {
439
- Menu:['BBI', 'MA', 'HMA', 'LMA', 'VMA', 'BOLL', 'SKDJ', 'KDJ', 'MACD', 'RSI', 'OBV', 'BIAS'],
440
- Selected:[]
441
- },
442
- Toolbar:DefaultData.GetKLineToolbar(),
443
- },
444
- PeriodBar1: //周期菜单工具条
445
- {
446
- Menu:DefaultData.GetPeriodMenu1(),
447
- IsShow:true,
448
- Selected:0, //当前选中的菜单
449
- },
450
- PeriodBar2: //周期菜单工具条
451
- {
452
- Menu:DefaultData.GetPeriodMenu2(),
453
- IsShow:true,
454
- Selected:0, //当前选中的菜单
455
- },
456
-
457
- TradeInfoTab:
458
- {
459
- IsShow:true, //买卖盘是否显示
460
- Width:230, //买卖盘宽度
461
- },
462
- KLineItemShow:[false,false,false,false,false,false,false,false],
463
-
464
- Event:
465
- {
466
- ChangePeriodEvent:null, //周期改变事件 function(name)
467
- },
468
-
469
- DrawTool:
470
- {
471
- IsShow:false,
472
- },
473
-
474
- StatusBtn:
475
- {
476
- SmallDisabled:false,
477
- BigDisabled:false,
478
- LeftDisabled:false,
479
- RightDisabled:false,
480
- ResetDisabled:false,
481
- StartTime:null,
482
- Timer:null //定时器
483
- },
484
- MoveInterval:null,
485
- IsShowBeforeData:true //显示
486
- }
487
-
488
- return data;
489
- },
490
-
491
- created:function()
492
- {
493
- //处理默认传入的参数
494
- if (this.DefaultSymbol) this.Symbol=this.DefaultSymbol; //默认股票
495
- if (this.DefaultPeriod) //默认周期
496
- {
497
- var period=DefaultData.GetPeriodData(this.DefaultPeriod);
498
- if (period)
499
- {
500
- this.Minute.IsShow=period.MinuteShow;
501
- this.KLine.IsShow=period.KLineShow;
502
- if (period.KLineShow) this.KLine.Option.Period=period.Value;
503
- if (period.MinuteShow) this.Minute.Option.DayCount=period.Value;
504
- //修改周期工具条菜单选中
505
- const menu=DefaultData.GetPeriodMenu();
506
- let selected=menu.indexOf(this.DefaultPeriod);
507
-
508
- if(this.KlineType){
509
- this.PeriodBar1.Selected = selected;
510
- }else{
511
- this.PeriodBar2.Selected = selected;
512
- }
513
- }
514
- }
515
-
516
- if(!this.IsSHSZIndex()){
517
- let indexMenu2 =
518
- {
519
- Text: '集合竞价',
520
- Selected: [],
521
- Menu: [{Name:'显示'}],
522
- IsShow:true
523
- }
524
- // this.Minute.Toolbar.Data.push(indexMenu2);
525
- this.Minute.Toolbar.Data[MINUTE_TOOLBAR_ID.INDEX_ID_TWO]=indexMenu2;
526
- console.log('分时图:',this.Minute.Toolbar);
527
- }
528
-
529
- if (this.KLineOption) this.SetDefaultKLineOption(this.KLineOption);
530
- if (this.MinuteOption) this.SetDefaultMinuteOption(this.MinuteOption);
531
- if (this.TradeInfoTabWidth>0) this.TradeInfoTab.Width=this.TradeInfoTabWidth;
532
- },
533
-
534
- mounted:function()
535
- {
536
- console.log(`[StockKLine::mounted]`);
537
- this.OnSize();
538
-
539
- if (this.Minute.IsShow) this.CreateMinuteChart();
540
- else if (this.KLine.IsShow) this.CreateKLineChart();
541
-
542
- if (this.KLine.JSChart){
543
- this.KLine.JSChart.AddEventCallback({event:JSCommon.JSCHART_EVENT_ID.CHART_STATUS,callback:this.ChartStausCallback});
544
- }
545
-
546
- this.UpateMenuStatus();
547
-
548
- var self=this;
549
- document.addEventListener('click', (e) =>
550
- {
551
- //弹出菜单 在其他区域点击 自动隐藏
552
- if (!$('#chartbar').is(e.target) && $('#chartbar').has(e.target).length === 0)
553
- self.HideToolbarPopMenu();
554
- });
555
- },
556
-
557
- methods:
558
- {
559
- CopyUrl(){
560
- var input = document.getElementById('imageLoadInput');
561
- input.select(); // 选中文本
562
- if(document.execCommand) document.execCommand("copy"); // 执行浏览器复制命令
563
- },
564
- SaveImage(){
565
- window.open(this.ImageLodeUrl);
566
- },
567
- ChartStausCallback(event,data,jSChartContainer){
568
- var smallBtn = this.$refs.smallBtn;
569
- var bigBtn = this.$refs.bigBtn;
570
- var leftBtn = this.$refs.leftBtn;
571
- var rightBtn = this.$refs.rightBtn;
572
- console.log('[StockKline::ChartStausCallback]data:',data);
573
- if(data.KLine){
574
- var count = data.KLine.Count;
575
- var offset = data.KLine.Offset;
576
- var pageSize = data.KLine.PageSize;
577
- if(offset == 0){
578
- this.StatusBtn.RightDisabled = true;
579
- }else{
580
- this.StatusBtn.RightDisabled = false;
581
- }
582
- if(offset + pageSize == count){
583
- this.StatusBtn.LeftDisabled = true;
584
- }else{
585
- this.StatusBtn.LeftDisabled = false;
586
- }
587
- }
588
- if(data.Zoom){
589
- var index = data.Zoom.Index;
590
- var max = data.Zoom.Max;
591
- if(index == 0){
592
- this.StatusBtn.BigDisabled = true;
593
- }else{
594
- this.StatusBtn.BigDisabled = false;
595
- }
596
- if(index == max - 1){
597
- this.StatusBtn.SmallDisabled = true;
598
- }else{
599
- this.StatusBtn.SmallDisabled = false;
600
- }
601
- }
602
- },
603
- GetChartImg(){ //获得chart的base64图片
604
- var img64 = '';
605
- var chart = null;
606
- if(this.Minute.IsShow && this.Minute.JSChart){
607
- chart = this.Minute.JSChart;
608
- }else if(this.KLine.IsShow && this.KLine.JSChart){
609
- chart = this.KLine.JSChart;
610
- }
611
- img64 = chart.SaveToImage();
612
- // console.log('StockLine::GetChartImg',img64);
613
- this.QueryImgLoadUrl(img64);
614
- },
615
- QueryImgLoadUrl(img64){
616
- var queryStr = {
617
- "Base64": img64,
618
- "BucketName": "downloadcache",
619
- "Path": "hqchart/hq_snapshot"
620
- };
621
- var apiUrl ='https://opensource.zealink.com/API/FileUploadForBase64';
622
- this.QueryApiData(apiUrl,queryStr,this.RecvImgLoadUrl);
623
- },
624
- RecvImgLoadUrl(res){
625
- console.log('RecvImgLoadUrl:',res);
626
- var path = res.relativeurl;
627
- this.ImageLodeUrl = this.ImageLoadDomain + '/' + path;
628
- this.ShowImageLoadDialog(); //显示对话框
629
- },
630
- ShowImageLoadDialog(){
631
- this.ShowDialog = true;
632
- },
633
- HideImageLoadDialog(){
634
- this.ShowDialog = false;
635
- },
636
- QueryApiData(apiUrl,queryStr,callback) { //股东人数与股价比较
637
- $.ajax({
638
- url: apiUrl,
639
- method: "POST",
640
- dataType: "json",
641
- data: queryStr,
642
- success: function (data) {
643
- callback(data);
644
- },
645
- error: function (request) {
646
- console.log(request, "error msg");
647
- }
648
- });
649
- },
650
- OnSize:function()
651
- {
652
- var stockKLine=this.$refs.stockkline;
653
- var divPeriodBar=this.$refs.divperiodbar;
654
- var divChart=this.$refs.divchart;
655
- var divChartBar=this.$refs.divchartbar;
656
-
657
- var minuteIndexBar=this.$refs.minuteindexbar;
658
- var klineIndexBar=this.$refs.klineindexbar;
659
- var indexBarHeight=minuteIndexBar.offsetHeight+klineIndexBar.offsetHeight;
660
-
661
- var height= stockKLine.offsetHeight;
662
- var width = stockKLine.offsetWidth;
663
- var chartHeight=height - divPeriodBar.offsetHeight - divChartBar.offsetHeight - indexBarHeight; //图形高度=总高-周期工具条高-子工具条高-底部指标工具条高
664
- var chartWidth=width;
665
-
666
- //总高度
667
- this.totalheight = height;
668
- // 画笔工具总高度需减去的高度
669
- this.topheight = divPeriodBar.offsetHeight + divChartBar.offsetHeight;
670
-
671
- divChart.style.width=chartWidth+'px';
672
- divChart.style.height=chartHeight+'px';
673
-
674
- var divMinute=this.$refs.minute;
675
- divMinute.style.width=chartWidth+'px';
676
- divMinute.style.height=chartHeight+'px';
677
- if (this.Minute.JSChart) this.Minute.JSChart.OnSize();
678
-
679
- var divKline=this.$refs.kline;
680
- divKline.style.width=chartWidth+'px';
681
- divKline.style.height=chartHeight+'px';
682
- if (this.KLine.JSChart) this.KLine.JSChart.OnSize();
683
-
684
- if (this.KLine.JSChart)
685
- {
686
- let chart=this.KLine.JSChart.JSChartContainer;
687
- let StockChip=chart.GetExtendChartByClassName('StockChip');
688
- if (StockChip)
689
- {
690
- klineIndexBar.style.width=(width-this.TradeInfoTab.Width)+'px';
691
- }
692
- else
693
- {
694
- klineIndexBar.style.width='100%';
695
- }
696
- }
697
-
698
- if(this.KLine.IsShow){
699
- var totalWidth = width - 20;
700
- var dispalyAry = [];
701
- if(this.IsSHSZIndex()){ //是指数
702
- var startIndex = 2, endIndex = 7;
703
- dispalyAry = [false,false,true,true,true,true,true,true];
704
- }else{
705
- var startIndex = 0, endIndex = 7;
706
- dispalyAry = [true,true,true,true,true,true,true,true];
707
- }
708
- var currentWdith = 0;
709
- var itemHeight = $('#barForKLine>.item').outerWidth(true);
710
- for(let i = startIndex; i <= endIndex; i++){
711
- currentWdith += itemHeight;
712
- if(currentWdith <= totalWidth){
713
- dispalyAry[i] = true;
714
- }else{
715
- dispalyAry[i] = false;
716
- }
717
- }
718
- this.KLineItemShow = dispalyAry;
719
- }
720
-
721
- console.log(`[StockKLine::OnSize] Chart:(${width},${height})`);
722
- },
723
- IsSHSZIndex(){
724
- var isIndex=JSCommon.MARKET_SUFFIX_NAME.IsSHSZIndex(this.Symbol);
725
- return isIndex;
726
- },
727
-
728
- //创建日线图
729
- CreateMinuteChart:function()
730
- {
731
- if (this.Minute.JSChart) return;
732
- this.Minute.Option.Symbol=this.Symbol;
733
- let chart=JSCommon.JSChart.Init(this.$refs.minute);
734
- var blackStyle=JSCommon.HQChartStyle.GetStyleConfig(JSCommon.STYLE_TYPE_ID.BLACK_ID); //读取黑色风格配置
735
- JSCommon.JSChart.SetStyle(blackStyle);
736
- chart.SetOption(this.Minute.Option);
737
- this.Minute.JSChart=chart;
738
-
739
- this.UpdateIndexBarSelected();
740
- },
741
-
742
- //历史K线周期切换
743
- ChangeKLinePeriod:function(period)
744
- {
745
- if (!this.KLine.JSChart) //不存在创建
746
- {
747
- this.KLine.Option.Period=period;
748
- this.CreateKLineChart();
749
- }
750
- else
751
- {
752
- this.KLine.JSChart.ChangePeriod(period);
753
- }
754
- },
755
-
756
- //走势图多日切换
757
- ChangeMinutePeriod:function(period)
758
- {
759
- if (!this.Minute.JSChart) //不存在创建
760
- {
761
- this.Minute.Option.DayCount=period;
762
- this.CreateMinuteChart();
763
- }
764
- else
765
- {
766
- this.Minute.JSChart.ChangeDayCount(period);
767
- }
768
- },
769
-
770
- //创建K线图
771
- CreateKLineChart:function()
772
- {
773
- if (this.KLine.JSChart) return;
774
- this.KLine.Option.Symbol=this.Symbol;
775
- let chart=JSCommon.JSChart.Init(this.$refs.kline);
776
- var blackStyle=JSCommon.HQChartStyle.GetStyleConfig(JSCommon.STYLE_TYPE_ID.BLACK_ID); //读取黑色风格配置
777
- JSCommon.JSChart.SetStyle(blackStyle);
778
- chart.SetOption(this.KLine.Option);
779
- this.KLine.JSChart=chart;
780
-
781
- this.UpdateIndexBarSelected();
782
- },
783
-
784
- //走势图 K线图 周期切换
785
- ChangeChartPeriod:function(name)
786
- {
787
- var period=DefaultData.GetPeriodData(name);
788
- if (!period) return;
789
- if (period.KLineShow) this.ChangeKLinePeriod(period.Value);
790
- this.KLine.IsShow=period.KLineShow;
791
- if (period.MinuteShow) this.ChangeMinutePeriod(period.Value);
792
- this.Minute.IsShow=period.MinuteShow;
793
- },
794
-
795
- ChangeSymbol:function(symbol)
796
- {
797
- if (this.Symbol==symbol) return;
798
-
799
- this.Symbol=symbol;
800
- if (this.KLine.JSChart) this.KLine.JSChart.ChangeSymbol(this.Symbol);
801
- if (this.Minute.JSChart) this.Minute.JSChart.ChangeSymbol(this.Symbol);
802
-
803
- this.UpateMenuStatus();
804
-
805
- },
806
-
807
- //更新菜单
808
- UpateMenuStatus:function()
809
- {
810
- //指数隐藏复权,信息地雷
811
- var isIndex=JSCommon.MARKET_SUFFIX_NAME.IsSHSZIndex(this.Symbol);
812
- this.KLine.Toolbar.Data[KLINE_TOOLBAR_ID.RIGHT_ID].IsShow=!isIndex;
813
- this.KLine.Toolbar.Data[KLINE_TOOLBAR_ID.KLINE_INFO_ID].IsShow=!isIndex;
814
-
815
- this.Minute.Toolbar.Data[MINUTE_TOOLBAR_ID.INDEX_ID_TWO].IsShow=!isIndex;
816
- },
817
-
818
- SetDefaultKLineOption:function(option)
819
- {
820
- if (option.Windows) this.KLine.Option.Windows=option.Windows;
821
- if (option.TradeIndex) this.KLine.Option.TradeIndex=option.TradeIndex;
822
- if (option.ColorIndex) this.KLine.Option.ColorIndex=option.ColorIndex;
823
- if (option.KLine)
824
- {
825
- if (option.KLine.Info) this.KLine.Option.KLine.Info=option.KLine.Info;
826
- if (option.KLine.Right>=0) this.KLine.Option.KLine.Right=option.KLine.Right;
827
- }
828
- },
829
-
830
- SetDefaultMinuteOption:function(option)
831
- {
832
- if (option.Windows) this.Minute.Option.Windows=option.Windows;
833
- },
834
-
835
- //更新指标工具菜单选中
836
- UpdateIndexBarSelected:function()
837
- {
838
- if (this.KLine.JSChart && this.KLine.JSChart.JSChartContainer)
839
- {
840
- this.KLine.IndexBar.Selected=[];
841
- var aryIndex=this.KLine.JSChart.JSChartContainer.GetIndexInfo();
842
- for(var i=0;i<2 && i<aryIndex.length;++i)
843
- {
844
- var item=aryIndex[i];
845
- var index=this.KLine.IndexBar.Menu.indexOf(item.ID);
846
- if (index>=0) this.KLine.IndexBar.Selected.push(index);
847
- }
848
- }
849
-
850
- if (this.Minute.JSChart && this.Minute.JSChart.JSChartContainer)
851
- {
852
- this.Minute.IndexBar.Selected=[];
853
- var aryIndex=this.Minute.JSChart.JSChartContainer.GetIndexInfo();
854
- for(var i=0;i<2 && i<aryIndex.length;++i)
855
- {
856
- var item=aryIndex[i];
857
- var index=this.Minute.IndexBar.Menu.indexOf(item.ID);
858
- if (index>=0) this.Minute.IndexBar.Selected.push(index);
859
- }
860
- }
861
- },
862
-
863
- UpdateMinuteIndexMenu:function()
864
- {
865
- var aryIndex=this.Minute.JSChart.JSChartContainer.GetIndexInfo();
866
- var indexMenu=this.Minute.Toolbar.Data[MINUTE_TOOLBAR_ID.INDEX_ID];
867
- indexMenu.Selected=[];
868
- const aryMenu=indexMenu.Menu.map(item=> item.Name);
869
- for(var i=0;i<2 && i<aryIndex.length;++i)
870
- {
871
- var item=aryIndex[i];
872
- var index=aryMenu.indexOf(item.ID);
873
- if (index>=0) indexMenu.Selected.push(index);
874
- }
875
- },
876
-
877
- //复权菜单
878
- UpateKLineRightMenu:function()
879
- {
880
- var rightValue=this.KLine.JSChart.JSChartContainer.Right;
881
- var rightMenu=this.KLine.Toolbar.Data[KLINE_TOOLBAR_ID.RIGHT_ID];
882
- rightMenu.Selected=[];
883
- const aryMenu=rightMenu.Menu.map(function(item,index)
884
- {
885
- if (item.Value===rightValue) rightMenu.Selected.push(index);
886
- });
887
- },
888
-
889
- //五彩K线
890
- UpateColorIndexMenu:function()
891
- {
892
- var colorIndexMenu=this.KLine.Toolbar.Data[KLINE_TOOLBAR_ID.COLOR_INDEX_ID];
893
- colorIndexMenu.Selected=[];
894
- const aryMenu=colorIndexMenu.Menu.map(item=>item.Value);
895
- const DELETE_MENU_NAME='取消';
896
- if (this.KLine.JSChart.JSChartContainer.ColorIndex)
897
- {
898
- var id=this.KLine.JSChart.JSChartContainer.ColorIndex.ID;
899
- var index=aryMenu.indexOf(id);
900
- if (index>=0) colorIndexMenu.Selected.push(index);
901
- if (aryMenu.indexOf(DELETE_MENU_NAME)<0)
902
- {
903
- var chart=this.KLine.JSChart;
904
- var delMenu={Name:DELETE_MENU_NAME, Value:DELETE_MENU_NAME, OnClick:function() {chart.CancelInstructionIndex();} };
905
- colorIndexMenu.Menu.push(delMenu);
906
- }
907
- }
908
- else //删除'删除五彩K线' 菜单
909
- {
910
- var newMenu=[];
911
- colorIndexMenu.Menu.map(function(item,index){
912
- if (item.Name!=DELETE_MENU_NAME) newMenu.push(item);
913
- })
914
-
915
- colorIndexMenu.Menu=newMenu;
916
- }
917
- },
918
-
919
- UpateTradeIndexMenu:function()
920
- {
921
- var tradeIndexMenu=this.KLine.Toolbar.Data[KLINE_TOOLBAR_ID.TRADE_INDEX_ID];
922
- tradeIndexMenu.Selected=[];
923
- const aryMenu=tradeIndexMenu.Menu.map(item=>item.Value);
924
- const DELETE_MENU_NAME='取消';
925
- if (this.KLine.JSChart.JSChartContainer.TradeIndex)
926
- {
927
- var id=this.KLine.JSChart.JSChartContainer.TradeIndex.ID;
928
- var index=aryMenu.indexOf(id);
929
- if (index>=0) tradeIndexMenu.Selected.push(index);
930
- if (aryMenu.indexOf(DELETE_MENU_NAME)<0)
931
- {
932
- var chart=this.KLine.JSChart;
933
- var delMenu={Name:DELETE_MENU_NAME, Value:DELETE_MENU_NAME, OnClick:function() {chart.CancelInstructionIndex();} };
934
- tradeIndexMenu.Menu.push(delMenu);
935
- }
936
- }
937
- else //删除'删除五彩K线' 菜单
938
- {
939
- var newMenu=[];
940
- tradeIndexMenu.Menu.map(function(item,index){
941
- if (item.Name!=DELETE_MENU_NAME) newMenu.push(item);
942
- })
943
-
944
- tradeIndexMenu.Menu=newMenu;
945
- }
946
- },
947
-
948
- UpdateOverlayMenu:function()
949
- {
950
- var menu=this.KLine.Toolbar.Data[KLINE_TOOLBAR_ID.OVERLAY_ID];
951
- menu.Selected=[];
952
- const aryMenu=menu.Menu.map(item=>item.Value);
953
- var chart=this.KLine.JSChart.JSChartContainer;
954
- const DELETE_MENU_NAME='取消叠加';
955
- if (chart.OverlayChartPaint && chart.OverlayChartPaint[0] && chart.OverlayChartPaint[0].Symbol)
956
- {
957
- var symbol=chart.OverlayChartPaint[0].Symbol;
958
- var index=aryMenu.indexOf(symbol);
959
- if (index>=0) menu.Selected.push(index);
960
-
961
- if (aryMenu.indexOf(DELETE_MENU_NAME)<0)
962
- {
963
- var chart=this.KLine.JSChart;
964
- var delMenu={Name:DELETE_MENU_NAME, Value:DELETE_MENU_NAME, OnClick:function() {chart.ClearOverlaySymbol();} };
965
- menu.Menu.push(delMenu);
966
- }
967
- }
968
- else
969
- {
970
- var newMenu=[];
971
- menu.Menu.map(function(item,index){
972
- if (item.Name!=DELETE_MENU_NAME) newMenu.push(item);
973
- })
974
-
975
- menu.Menu=newMenu;
976
- }
977
- },
978
-
979
- //K线类型
980
- UpdateKLineTypeMenu:function()
981
- {
982
- var menu=this.KLine.Toolbar.Data[KLINE_TOOLBAR_ID.KLINE_TYPE_ID];
983
- menu.Selected=[];
984
- const aryMenu=menu.Menu.map(item=>item.Value);
985
- var index=aryMenu.indexOf(this.KLine.JSChart.JSChartContainer.KLineDrawType);
986
- if (index>=0) menu.Selected.push(index);
987
- },
988
-
989
- // 窗口个数
990
- UpdateWindowCountMenu:function()
991
- {
992
- var menu=this.KLine.Toolbar.Data[KLINE_TOOLBAR_ID.WINDOW_COUNT_ID];
993
- menu.Selected=[];
994
- const aryMenu=menu.Menu.map(item=>item.Value);
995
- var count=this.KLine.JSChart.JSChartContainer.Frame.SubFrame.length;
996
- var index=aryMenu.indexOf(count);
997
- if (index>=0) menu.Selected.push(index);
998
- },
999
-
1000
- UpdateKLineInfoMenu:function()
1001
- {
1002
- var menu=this.KLine.Toolbar.Data[KLINE_TOOLBAR_ID.KLINE_INFO_ID];
1003
- menu.Selected=[];
1004
- const aryMenu=menu.Menu.map(function(item,index)
1005
- {
1006
- var classInfo=JSCommon.JSKLineInfoMap.GetClassInfo(item.Name);
1007
- if (classInfo) return classInfo.ClassName;
1008
- else return item.Name;
1009
- });
1010
-
1011
- var jsChart=this.KLine.JSChart;
1012
- var chart=jsChart.JSChartContainer;
1013
- var aryInfo=[];
1014
- for(var i in chart.ChartInfo)
1015
- {
1016
- var item=chart.ChartInfo[i];
1017
- var index=aryMenu.indexOf(item.ClassName);
1018
- if (index>=0) menu.Selected.push(index);
1019
- }
1020
-
1021
- const DELETE_MENU_NAME='取消';
1022
- if(chart.ChartInfo && chart.ChartInfo.length>0)
1023
- {
1024
- if (aryMenu.indexOf(DELETE_MENU_NAME)<0)
1025
- {
1026
- var delMenu={Name:DELETE_MENU_NAME, Value:DELETE_MENU_NAME, OnClick:function() {jsChart.ClearKLineInfo();} };
1027
- menu.Menu.push(delMenu);
1028
- }
1029
- }
1030
- else
1031
- {
1032
- var newMenu=[];
1033
- menu.Menu.map(function(item,index){
1034
- if (item.Name!=DELETE_MENU_NAME) newMenu.push(item);
1035
- })
1036
-
1037
- menu.Menu=newMenu;
1038
- }
1039
- },
1040
-
1041
- UpdateMouseDragMenu:function()
1042
- {
1043
- var menu=this.KLine.Toolbar.Data[KLINE_TOOLBAR_ID.MOUSE_DRAG_ID];
1044
- menu.Selected=[];
1045
- const aryMenu=menu.Menu.map(item=>item.Value);
1046
- var index=aryMenu.indexOf(this.KLine.JSChart.JSChartContainer.DragMode);
1047
- if (index>=0) menu.Selected.push(index);
1048
- },
1049
-
1050
- //隐藏2级工具条弹出菜单
1051
- HideToolbarPopMenu:function()
1052
- {
1053
- this.KLine.Toolbar.Selected=-1;
1054
- this.Minute.Toolbar.Selected=-1;
1055
- },
1056
-
1057
- ShowStockChip:function(isShow)
1058
- {
1059
- var chart=this.KLine.JSChart.JSChartContainer;
1060
- chart.StockChipWidth=this.TradeInfoTab.Width; //设置移动筹码宽度
1061
- var StockChip=chart.GetExtendChartByClassName('StockChip');
1062
- if (isShow)
1063
- {
1064
- if (StockChip) return;
1065
- var option={Name:'筹码分布', IsAutoIndent:1, ShowType:1, Width:250 };
1066
- var extendChart=chart.CreateExtendChart(option.Name, option); //创建扩展图形
1067
- chart.SetSizeChage(true);
1068
- chart.Draw();
1069
- }
1070
- else
1071
- {
1072
- if (!StockChip) return;
1073
- chart.DeleteExtendChart(StockChip);
1074
- var chipWidth=StockChip.Chart.Width;
1075
- chart.Frame.ChartBorder.Right-=chipWidth;
1076
- chart.SetSizeChage(true);
1077
- chart.Draw();
1078
- }
1079
- },
1080
-
1081
- ///////////////////////////////////////////////////////////////////////
1082
- //菜单工具条事件
1083
- OnClickPeriodMenu:function(idx, event)
1084
- {
1085
- var name = event.currentTarget.text;
1086
- if(this.KlineType){
1087
- this.PeriodBar1.Selected = idx;
1088
- }else{
1089
- this.PeriodBar2.Selected = idx;
1090
- }
1091
- this.ChangeChartPeriod(name);
1092
- if (this.Event.ChangePeriodEvent) this.Event.ChangePeriodEvent(name);
1093
- },
1094
-
1095
- OnClickIndexBar:function(chartType,name,index)
1096
- {
1097
- switch(chartType)
1098
- {
1099
- case 'minute':
1100
- this.Minute.JSChart.ChangeIndex(1,name);
1101
- break;
1102
- case 'kline':
1103
- this.KLine.JSChart.ChangeIndex(1,name);
1104
- break;
1105
- default:
1106
- return;
1107
- }
1108
-
1109
- this.UpdateIndexBarSelected();
1110
- },
1111
-
1112
- //一级菜单
1113
- OnClickToolBar:function(chartType,menu,index)
1114
- {
1115
- console.log("[OnClickToolBar] ",chartType,menu,index);
1116
-
1117
- if (chartType=='minute')
1118
- {
1119
- if (this.Minute.Toolbar.Selected==index) this.Minute.Toolbar.Selected=-1;
1120
- else this.Minute.Toolbar.Selected=index;
1121
-
1122
- switch(menu.Text)
1123
- {
1124
- case '副图指标':
1125
- this.UpdateMinuteIndexMenu();
1126
- break;
1127
- }
1128
-
1129
- console.log("[OnClickToolBar] ",this.Minute.Toolbar.Selected);
1130
- }
1131
- else if (chartType=='kline')
1132
- {
1133
- if (this.KLine.Toolbar.Selected==index) this.KLine.Toolbar.Selected=-1;
1134
- else this.KLine.Toolbar.Selected=index;
1135
-
1136
- switch(menu.Text)
1137
- {
1138
- case '复权处理':
1139
- this.UpateKLineRightMenu();
1140
- break;
1141
- case '五彩K线':
1142
- this.UpateColorIndexMenu();
1143
- break;
1144
- case '专家系统':
1145
- this.UpateTradeIndexMenu();
1146
- break;
1147
- case '叠加品种':
1148
- this.UpdateOverlayMenu();
1149
- break;
1150
- case "主图线型":
1151
- this.UpdateKLineTypeMenu();
1152
- break;
1153
- case '窗口个数':
1154
- this.UpdateWindowCountMenu();
1155
- break;
1156
- case '信息地雷':
1157
- this.UpdateKLineInfoMenu();
1158
- break;
1159
- case '工具':
1160
- this.UpdateMouseDragMenu();
1161
- break;
1162
- }
1163
-
1164
- }
1165
-
1166
- },
1167
-
1168
- //2级菜单
1169
- OnClickToolBarMenu:function(chartType,mainMenu,secMenu,index)
1170
- {
1171
- console.log("[OnClickToolBarMenu] ",mainMenu,secMenu,index);
1172
- if (chartType=='minute')
1173
- {
1174
- switch(mainMenu.Text)
1175
- {
1176
- case '副图指标':
1177
- this.Minute.JSChart.ChangeIndex(1,secMenu.Name);
1178
- this.UpdateIndexBarSelected();
1179
- break;
1180
- case '集合竞价':
1181
- if(this.IsShowBeforeData){
1182
- this.Minute.JSChart.JSChartContainer.ShowBeforeData(true);
1183
- var text = '隐藏';
1184
- }else{
1185
- this.Minute.JSChart.JSChartContainer.ShowBeforeData(false);
1186
- var text = '显示';
1187
- }
1188
- this.Minute.Toolbar.Data[MINUTE_TOOLBAR_ID.INDEX_ID_TWO].Menu[0].Name = text;
1189
- this.IsShowBeforeData = !this.IsShowBeforeData;
1190
- break;
1191
- }
1192
- this.Minute.Toolbar.Selected = -1; //下标不相等,隐藏二级菜单
1193
- }
1194
- else if (chartType=='kline')
1195
- {
1196
- switch(mainMenu.Text)
1197
- {
1198
- case '复权处理':
1199
- this.KLine.JSChart.ChangeRight(secMenu.Value);
1200
- break;
1201
- case '五彩K线':
1202
- if (secMenu.OnClick) secMenu.OnClick();
1203
- else this.KLine.JSChart.ChangeInstructionIndex(secMenu.Value)
1204
- break;
1205
- case '专家系统':
1206
- if (secMenu.OnClick) secMenu.OnClick();
1207
- else this.KLine.JSChart.ChangeInstructionIndex(secMenu.Value)
1208
- break;
1209
- case '叠加品种':
1210
- if (secMenu.OnClick) secMenu.OnClick();
1211
- else this.KLine.JSChart.OverlaySymbol(secMenu.Value);
1212
- break;
1213
- case '主图线型':
1214
- this.KLine.JSChart.ChangeKLineDrawType(secMenu.Value);
1215
- break;
1216
- case '窗口个数':
1217
- this.KLine.JSChart.ChangeIndexWindowCount(secMenu.Value);
1218
- break;
1219
- case '信息地雷':
1220
- if (secMenu.OnClick) secMenu.OnClick();
1221
- else this.KLine.JSChart.AddKLineInfo(secMenu.Name,true);
1222
- break;
1223
- case '工具':
1224
- console.log('[StockKLine::OnClickToolBarMenu] click dragmode ',this.KLine.JSChart.JSChartContainer);
1225
- if(secMenu.Value != 3)
1226
- {
1227
- this.KLine.JSChart.JSChartContainer.DragMode=secMenu.Value;
1228
- }
1229
- else
1230
- { //画图工具
1231
- console.log('[StockKLine::OnClickToolBarMenu] click draw tool');
1232
- //获取到工具的名称:线段
1233
- //this.KLine.JSChart.JSChartContainer.CreateChartDrawPicture('名称')
1234
- this.DrawTool.IsShow = true;
1235
- }
1236
- break;
1237
- }
1238
- this.KLine.Toolbar.Selected=-1;
1239
- }
1240
- },
1241
-
1242
- CurrentIcon(name)
1243
- {
1244
- console.log('[StockKLine::CurrentIcon] click', name);
1245
- var self=this;
1246
- this.KLine.JSChart.JSChartContainer.CreateChartDrawPicture(name, function(drawChart) { self.OnFinishDraw(drawChart); });
1247
- if(name==='全部删除'){
1248
- this.KLine.JSChart.JSChartContainer.ClearChartDrawPicture();
1249
- }
1250
- },
1251
-
1252
- OnFinishDraw(drawChart)
1253
- {
1254
- console.log('[StockKLine::OnFinishDraw] finish',drawChart);
1255
- },
1256
-
1257
- OnClickKLineToolbar(obj)
1258
- {
1259
- if (!this.KLine.IsShow && this.KLine.JSChart && this.KLine.JSChart.JSChartContainer) return;
1260
-
1261
- this.KLine.JSChart.JSChartContainer.ChartOperator(obj);
1262
- },
1263
- ContinuedMoveChart(obj){
1264
- var _this = this;
1265
- this.MoveInterval = setInterval(() => {
1266
- _this.OnClickKLineToolbar(obj);
1267
- },100);
1268
- },
1269
- ClearMoveInterval(obj){
1270
- clearInterval(this.MoveInterval);
1271
- this.MoveInterval = null;
1272
- },
1273
- OnMouseDownKLineToolbar(obj)
1274
- {
1275
- this.OnClickKLineToolbar(obj);
1276
-
1277
- this.StatusBtn.StartTime=new Date();
1278
- var self=this;
1279
- this.StatusBtn.Timer= setInterval(function ()
1280
- {
1281
- if (self.StatusBtn.StartTime)
1282
- {
1283
- var endTime=new Date();
1284
- var start=self.StatusBtn.StartTime.getTime();
1285
- var end=endTime.getTime();
1286
- if (end - start > 250)
1287
- {
1288
- self.OnClickKLineToolbar(obj);
1289
- self.StatusBtn.StartTime=new Date(); //重新开始计数
1290
- }
1291
- }
1292
- }, 100);
1293
-
1294
- },
1295
-
1296
- OnMouseUpKLineToolbar()
1297
- {
1298
- this.StatusBtn.StartTime=null;
1299
- if (this.StatusBtn.Timer)
1300
- {
1301
- clearInterval(this.StatusBtn.Timer);
1302
- this.StatusBtn.Timer=null;
1303
- }
1304
- },
1305
-
1306
- isShowBrushTool( brushTool){
1307
- this.DrawTool.IsShow = brushTool;
1308
- },
1309
-
1310
- }
1311
- }
1312
-
1313
-
1314
- </script>
1315
-
1316
-
1317
- <style scoped lang="less">
1318
- .stockkline
1319
- {
1320
- width:100%;
1321
- height:100%;
1322
-
1323
- .brushTool{
1324
- position: relative;
1325
- left:0;
1326
- bottom: 0;
1327
- }
1328
-
1329
- .dialogMask{
1330
- position: fixed;
1331
- top: 0;
1332
- left: 0;
1333
- width: 100%;
1334
- height: 100%;
1335
- background: rgba(0,0,0,.5);
1336
- display: flex;
1337
- justify-content: center;
1338
- align-items: center;
1339
- z-index: 10000;
1340
-
1341
- .dialogWrap{
1342
- width: 320px;
1343
- height: 220px;
1344
- border-radius: 3px;
1345
- background-color: #fff;
1346
-
1347
- .titleWrap{
1348
- height: 45px;
1349
- padding: 10px 20px;
1350
- box-sizing: border-box;
1351
- display: flex;
1352
- flex-direction: row;
1353
- justify-content: space-between;
1354
- align-items: center;
1355
-
1356
- .titleText{
1357
- height: 25px;
1358
- line-height: 25px;
1359
- }
1360
-
1361
- .Wrap{
1362
- height: 25px;
1363
- line-height: 25px;
1364
- cursor: pointer;
1365
- }
1366
- }
1367
-
1368
- .contentWrap{
1369
- padding: 38px 20px;
1370
-
1371
- .inputBox{
1372
- width: 100%;
1373
- height: 28px;
1374
- line-height: 28px;
1375
- border: 1px solid #ededed;
1376
- display: flex;
1377
- flex-direction: row;
1378
-
1379
- input{
1380
- flex-grow: 3;
1381
- padding: 0 10px;
1382
- border: none;
1383
- outline: none;
1384
- }
1385
-
1386
- .copyBtn{
1387
- flex-grow: 1;
1388
- border: 1px solid #217cd9;
1389
- text-align: center;
1390
- line-height: 28px;
1391
- background: transparent;
1392
- outline: none;
1393
- }
1394
- }
1395
- }
1396
-
1397
- .btnWrap{
1398
- height: 30px;
1399
- padding: 0 20px;
1400
- display: flex;
1401
- flex-direction: row;
1402
- justify-content: flex-end;
1403
-
1404
- .okBtn{
1405
- line-height: 30px;
1406
- padding: 0 15px;
1407
- background-color: #217cd9;
1408
- border-radius: 3px;
1409
- color: #fff;
1410
- border: none;
1411
- outline: none;
1412
- }
1413
- .okBtn:hover{
1414
- background-color: #125fd9;
1415
- }
1416
- }
1417
- }
1418
- }
1419
-
1420
- .divchart{
1421
- position: relative;
1422
- .bottomToolForChart{
1423
- width: 50%;
1424
- height: 80px;
1425
- position: absolute;
1426
- bottom: 0;
1427
- left: 25%;
1428
- display: flex;
1429
- flex-direction: row;
1430
- justify-content: center;
1431
- align-items: center;
1432
- z-index: 999;
1433
- .iconBg{
1434
- width: 28px;
1435
- height: 28px;
1436
- align-items: center;
1437
- justify-content: center;
1438
- border-radius: 50%;
1439
- background-color: #929291;
1440
- margin-right: 10px;
1441
- display: inline-flex;
1442
- opacity: 0;
1443
- transition: opacity .4s;
1444
- i {
1445
- color: #fff;
1446
- }
1447
- }
1448
- }
1449
- .bottomToolForChart:hover .iconBg{
1450
- opacity: 0.7;
1451
- }
1452
- .bottomToolForChart:hover .iconBg:hover{
1453
- opacity: 1;
1454
- }
1455
- .bottomToolForChart:hover .iconBg.iconDisabled{
1456
- background-color: #929291;
1457
- opacity: 0;
1458
- }
1459
- }
1460
-
1461
- }
1462
-
1463
- .minute
1464
- {
1465
- left:0px;
1466
- top:0px;
1467
- position: relative;
1468
- width:100%;
1469
- height:100%;
1470
- }
1471
-
1472
- .kline
1473
- {
1474
- left:0px;
1475
- top:0px;
1476
- position: relative;
1477
- width:100%;
1478
- height:100%;
1479
- background:#000;
1480
- }
1481
-
1482
- /* 周期菜单 */
1483
- .periodbar
1484
- {
1485
- position: relative;
1486
- width: 100%;
1487
- padding-right: 30px;
1488
- overflow: hidden;
1489
- box-sizing: border-box;
1490
- border-bottom: 1px solid #2c3032;
1491
- }
1492
-
1493
- .periodbar .catchImg {
1494
- position: absolute;
1495
- top: 2px;
1496
- right: 8px;
1497
- color: #919aa3;
1498
- cursor: pointer;
1499
-
1500
- i {
1501
- font-size: 18px;
1502
- color: #919aa3;
1503
- }
1504
- }
1505
-
1506
- .periodbar .item
1507
- {
1508
- color: #919aa3;
1509
- display: inline-block;
1510
- font-size: 14px;
1511
- line-height: 1;
1512
- padding: 5px 12px;
1513
- border-left: 1px solid #141718;
1514
- border-right: 1px solid #141718;
1515
-
1516
- }
1517
-
1518
- .periodbar .item.active
1519
- {
1520
- color: #ff9900;
1521
- background-color: #202426;
1522
- border-left: 1px solid #2c3032;
1523
- border-right: 1px solid #2c3032;
1524
- }
1525
- .periodbar .item:first-child.active {
1526
- border-left: 1px solid #202426;
1527
- }
1528
-
1529
- /*底部指标*/
1530
- .indexbar
1531
- {
1532
- width: 100%;
1533
- height: 30px;
1534
- display: flex;
1535
- flex-direction: row;
1536
- }
1537
-
1538
- .indexbar span
1539
- {
1540
- height: 30px;
1541
- line-height: 30px;
1542
- text-align: center;
1543
- cursor: pointer;
1544
- flex-grow: 1;
1545
- }
1546
-
1547
- .indexbar span.active
1548
- {
1549
- color: #ff9900;
1550
- }
1551
-
1552
- /*图形操作工具条 */
1553
- .chartbar
1554
- {
1555
- height: 32px;
1556
- line-height: 32px;
1557
- padding-left: 20px;
1558
- border-bottom: 1px solid #2c3032;
1559
- position: relative;
1560
- z-index: 999;
1561
-
1562
- /*隐藏菜单*/
1563
- .menuWrap >.hide_item
1564
- {
1565
- display: inline-block;
1566
- cursor: pointer;
1567
- /* height: 32px; */
1568
- line-height: 32px;
1569
- padding-top: 6px;
1570
- position: relative;
1571
- box-sizing: border-box;
1572
- }
1573
-
1574
- .menuWrap >.item
1575
- {
1576
- display: inline-block;
1577
- cursor: pointer;
1578
- line-height: 32px;
1579
- width:104px;
1580
- padding-top: 6px;
1581
- position: relative;
1582
- margin-right: 15px;
1583
- box-sizing: border-box;
1584
-
1585
- .menuOne
1586
- {
1587
- border: 1px solid;
1588
- border-color: transparent;
1589
- border-bottom: none;
1590
- display: inline-block;
1591
- width: 100%;
1592
- height: 26px;
1593
- vertical-align: top;
1594
- padding: 0 14px 6px 14px;
1595
- box-sizing: border-box;
1596
- }
1597
-
1598
- .menuOne:hover,
1599
- .menuOne.light
1600
- {
1601
- border-color: #d9d9d9;
1602
-
1603
- >span
1604
- {
1605
- color: #217cd9;
1606
- }
1607
- }
1608
-
1609
- .menuTwo
1610
- {
1611
- position: absolute;
1612
- background-color: #fff;
1613
- top: 32px;
1614
- left: 0;
1615
- border: 1px solid #d9d9d9;
1616
- border-top: none;
1617
- box-sizing: border-box;
1618
- width: 100%;
1619
-
1620
- >li
1621
- {
1622
- padding: 0 12px;
1623
- line-height: 32px;
1624
- }
1625
-
1626
- >li:hover,
1627
- >li.active
1628
- {
1629
- color: #217cd9;
1630
- }
1631
- }
1632
- }
1633
-
1634
- >.item:nth-child(1)
1635
- {
1636
- .menuOne {
1637
- padding: 0 10px;
1638
- }
1639
- }
1640
-
1641
- >.item:nth-child(7) {
1642
- .menuOne {
1643
- padding: 0 30px;
1644
- }
1645
- }
1646
-
1647
- .iconfont {
1648
- font-size: 13px;
1649
- }
1650
- }
1651
-
1652
- </style>