index.vue 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. <template>
  2. <div class="development_stage">
  3. <head-component :headinfo=headinfo></head-component>
  4. <div class="page-content">
  5. <div style="display: flex;justify-content: center;width: 1890px;height: 912px;margin-top: 13px">
  6. <div class="page-box">
  7. <FollowRingChart id="ring-chart1" class="ring-chart1" :chartProps="chartPrpps1"/>
  8. </div>
  9. </div>
  10. </div>
  11. </div>
  12. </template>
  13. <script setup>
  14. import headComponent from '@/views/xjc-integratedmachine/components/head_component.vue'
  15. import {onMounted, reactive} from "vue";
  16. // import FollowRingChart from "@/views/xjc-integratedmachine/wakeup/rainbow/FollowRingChart.vue";
  17. import FollowRingChart from './FollowRingChart.vue'
  18. const headinfo = ref({})
  19. const router = useRouter()
  20. function setHeadinfo(){
  21. headinfo.value = {
  22. title: '生涯彩虹图',
  23. user: {
  24. avatar: '头像路径',
  25. nickName: '张三'
  26. },
  27. backUrl : '/xjc-integratedmachine/wakeup/rainbow/knowledge_explanation_1'
  28. }
  29. }
  30. const chartPrpps1 = ref({
  31. // left : 100,
  32. top : 106,
  33. width : 1700,
  34. height : 1700,
  35. borderColor : "#998877",
  36. color :"#ff00ff",
  37. bncolor : "#ffffff",
  38. radiusMax : '100%',
  39. radiusMin : '96%',
  40. isFinish : false
  41. })
  42. const position = reactive({ x: 10, y: 10 });
  43. let isDragging = false;
  44. let originX, originY;
  45. function jumpTo(path) {
  46. console.log(path)
  47. router.push({
  48. path: path,
  49. query: {name: 123}
  50. })
  51. }
  52. const startDrag = (e) => {
  53. console.log("e",e)
  54. isDragging = true;
  55. originX = e.clientX - position.x;
  56. originY = e.clientY - position.y;
  57. console.log("originX",originX,originY,"originY")
  58. document.addEventListener('mousemove', onMouseMove);
  59. document.addEventListener('mouseup', stopDrag);
  60. };
  61. const onMouseMove = (e) => {
  62. if (isDragging) {
  63. position.x = e.clientX - originX;
  64. position.y = e.clientY - originY;
  65. console.log("position.x",position.x,"position.y",position.y)
  66. }
  67. };
  68. const stopDrag = () => {
  69. isDragging = false;
  70. document.removeEventListener('mousemove', onMouseMove);
  71. document.removeEventListener('mouseup', stopDrag);
  72. };
  73. onMounted(() => {
  74. setHeadinfo()
  75. })
  76. </script>
  77. <style scoped lang="scss">
  78. //body,html{
  79. // overflow: hidden;
  80. //}
  81. p{
  82. margin: 0;
  83. padding: 0;
  84. }
  85. .development_stage{
  86. background: url('@/assets/images/login/login-home-background.png') no-repeat;
  87. background-size: 1920px 1080px;
  88. z-index:10;
  89. width: 100%;
  90. height: 1080px;
  91. .page-content {
  92. width: 1832px;
  93. height: 980px;
  94. position: absolute;
  95. top: 100px;
  96. //display: flex;
  97. //justify-content: ;
  98. bottom: 0;
  99. }
  100. .page-box{
  101. width: 1832px;
  102. height: 910px;
  103. background: black;
  104. border-radius: 35px 35px 35px 35px;
  105. //margin: 13px auto 0;
  106. /*padding-top: 25px;*/
  107. position: relative;
  108. .text-info{
  109. font-weight: bold;
  110. font-size: 28px;
  111. color: #333333;
  112. line-height: 46px;
  113. padding: 0 150px;
  114. //text-align: center;
  115. text-indent: 2em;
  116. }
  117. .page-main{
  118. width:1546px;
  119. height: 681px;
  120. //border: 1px solid;
  121. margin: 12px auto;
  122. background: url('@/assets/images/wakeup/rainbow/backgroud-rainbow.png') no-repeat;
  123. background-size: 1546px 681px;
  124. display: flex;
  125. justify-content: space-between;
  126. .page-left{
  127. width: 1273px;
  128. height: 571px;
  129. background: #000000;
  130. border-radius: 10px 10px 10px 10px;
  131. margin-left: 26px;
  132. //border: #FFFFFF 1px solid;
  133. margin-top: 95px;
  134. background: url('@/assets/images/wakeup/rainbow/rainbow-border.png') no-repeat;
  135. background-size:1200px 500px;
  136. //border: 1px solid #FFFFFF;
  137. }
  138. .page-right{
  139. width: 250px;
  140. height: 681px;
  141. //border: 1px solid #FFFFFF;
  142. margin-right: 26px;
  143. .page-right-top{
  144. width: 250px;
  145. height:260px;
  146. //border: 1px solid white;
  147. .color-box:nth-child(1){
  148. margin-top: 24px;
  149. }
  150. .color-box{
  151. //border: 1px solid white;
  152. display: flex;
  153. justify-content: center;
  154. align-items: center;
  155. margin-top: 10px;
  156. .box-left{
  157. width: 53px;
  158. height: 25px;
  159. //background: #FFC300;
  160. border-radius: 10px 10px 10px 10px;
  161. //border: 1px solid white;
  162. }
  163. .box-label{
  164. width: 122px;
  165. font-weight: 400;
  166. font-size: 20px;
  167. color: #FFFFFF;
  168. margin-left: 10px;
  169. }
  170. }
  171. }
  172. .page-right-btn-group{
  173. display: flex;
  174. flex-direction: column;
  175. justify-content: center;
  176. align-items: center;
  177. .img-btn{
  178. width: 170px;
  179. height: 54px;
  180. margin-top: 20px;
  181. }
  182. .eraser-box{
  183. width: 165px;
  184. height: 50px;
  185. background: url('@/assets/images/wakeup/rainbow/eraser-shadom.png') no-repeat;
  186. background-size: 163px 47px;
  187. position: relative;
  188. img{
  189. width: 165px;
  190. height: 83px;
  191. position: absolute;
  192. top: -33px;
  193. left: 10px;
  194. }
  195. }
  196. }
  197. }
  198. }
  199. }
  200. .img-box{
  201. width: 100%;
  202. height: 100px;
  203. display: flex;
  204. justify-content: center;
  205. align-items: center;
  206. margin-top: 6px;
  207. z-index:10;
  208. img{
  209. width: 244px;
  210. height: 92px;
  211. z-index:10;
  212. }
  213. }
  214. .fixed-box{
  215. width: 100%;
  216. height: 100px;
  217. position: absolute;
  218. bottom: 125px;
  219. }
  220. .content-bottom{
  221. width: 100%;
  222. height: 100%;
  223. display: flex;
  224. justify-content: space-between;
  225. position: relative;
  226. align-items: center;
  227. .draw{
  228. width: 109px;
  229. height: 170px;
  230. img{
  231. width: 109px;
  232. height: 170px;
  233. }
  234. }
  235. .ai-rabit{
  236. position: absolute;
  237. right: -27px;
  238. //top: -271px;
  239. display: flex;
  240. align-items: center;
  241. .ai-rabit-text{
  242. width: 345px;
  243. height: 89px;
  244. background: #E8EEF7;
  245. font-weight: 300;
  246. margin-bottom: 20px;
  247. font-size: 22px;
  248. color: #000000;
  249. padding:16px;
  250. border-radius: 24px 24px 24px 24px;
  251. }
  252. img{
  253. width: 178px;
  254. height: 270px;
  255. }
  256. }
  257. }
  258. .draggable-ball {
  259. position: absolute;
  260. cursor: pointer;
  261. user-select: none; /* 防止拖拽时选中文字 */
  262. }
  263. .ring-chart1 {
  264. width: 1832px;
  265. height: 800px;
  266. position: absolute;
  267. left: 0px;
  268. top : 0px;
  269. //background: #ffff00;
  270. }
  271. }
  272. </style>