You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.vue 5.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. /**
  2. * @Author moxianchengbao
  3. */
  4. <template>
  5. <div id="main"><br>
  6. <el-row :gutter="12" style="margin-bottom: 20px">
  7. <el-col :span="6">
  8. <el-card shadow="always">
  9. <div style="color:#53a8ff;font-size: large"><el-icon><component :is="User"></component></el-icon> 欢迎您</div>
  10. <div style="padding: 10px 0;text-align: center;font-weight: bold;color: #42b983;font-size: larger" >{{ localName }}</div>
  11. </el-card>
  12. </el-col>
  13. <el-col :span="6">
  14. <el-card shadow="always">
  15. <div style="color: #53a8ff;font-size: large"><el-icon><component :is="Timer"></component></el-icon> 今天是:{{ dateFormat(new Date()) }}</div>
  16. <div style="padding: 10px 0;text-align: center;font-weight: bold;color: #53a8ff;font-size: larger" >{{ weekday }}</div>
  17. </el-card>
  18. </el-col>
  19. <el-col :span="6">
  20. <el-card shadow="always">
  21. <div style="color: #21b9a7;font-size: large"><el-icon><component :is="List"></component></el-icon> 各类模型占比</div>
  22. <div style="padding: 10px 0;text-align: center;font-weight: bold;color:#21b9a7;font-size: larger" >{{ modelTypeCnt }}</div>
  23. </el-card>
  24. </el-col>
  25. <el-col :span="6">
  26. <el-card shadow="always">
  27. <div style="color: #b121bd;font-size: large"><el-icon><component :is="Tickets"></component></el-icon> 模型应用分布</div>
  28. <div style="padding: 10px 0;text-align: center;font-weight: bold;color: #b121bd;font-size: larger" >{{ modelApplyStatus }}</div>
  29. </el-card>
  30. </el-col>
  31. <el-col :span="6">
  32. <el-card shadow="always">
  33. <div style="color: #b121bd;font-size: large"><el-icon><component :is="Tickets"></component></el-icon> 模型数量每月增长趋势</div>
  34. <div style="padding: 10px 0;text-align: center;font-weight: bold;color: #b121bd;font-size: larger" >{{ modelIncreaseStatus }}</div>
  35. </el-card>
  36. </el-col>
  37. </el-row>
  38. <div style="margin-top: 100px">
  39. <el-descriptions
  40. title="登陆者信息"
  41. direction="vertical"
  42. :column="4"
  43. :size="size"
  44. border
  45. >
  46. <el-descriptions-item label="操作系统">{{requestInfo.osName}}</el-descriptions-item>
  47. <el-descriptions-item label="浏览器">{{requestInfo.browserName}}</el-descriptions-item>
  48. <el-descriptions-item label="版本" :span="2">{{requestInfo.browserVersion}}</el-descriptions-item>
  49. <el-descriptions-item label="IP地址">{{requestInfo.ip}}
  50. </el-descriptions-item>
  51. </el-descriptions>
  52. </div>
  53. </div>
  54. </template>
  55. <script>
  56. import {Timer,List,Tickets,User} from '@element-plus/icons-vue'
  57. // import {ElMessage} from "element-plus";
  58. export default {
  59. name: "index",
  60. components:{
  61. Timer,List,Tickets,User
  62. },
  63. data(){
  64. return{
  65. weekday: '', //星期
  66. Timer,List,Tickets,User,
  67. localName: '魔仙堡',
  68. modelTypeCnt: 0 ,
  69. modelApplyStatus: 0,
  70. modelIncreaseStatus:[],
  71. pieData: [],
  72. requestInfo:[]
  73. }
  74. },
  75. methods:{
  76. getinfo(){
  77. this.$http.get("/user/getUserInfo").then(res=>{
  78. if(res.statusCode == '200'){
  79. this.requestInfo = res.data
  80. }
  81. })
  82. },
  83. getModelTypeCnt(){
  84. this.$http.post("/model/getModelTypeCnt").then(res=>{
  85. if(res.statusCode == '200'){
  86. this.modelTypeCnt = res.data
  87. }
  88. })
  89. },
  90. getModelApplyStatus(){
  91. this.$http.post("/model/getModelApplyStatus").then(res=>{
  92. if(res.statusCode == '200'){
  93. this.modelApplyStatus = res.data
  94. }
  95. })
  96. },
  97. getModelIncreaseStatus(){
  98. this.$http.post("/model/modelIncreaseStatus").then(res=>{
  99. if(res.statusCode == '200'){
  100. this.modelIncreaseStatus = res.data
  101. }
  102. })
  103. },
  104. getuserName(){ //获取当前用户名
  105. let token = localStorage.getItem('token')
  106. this.$http.post("/user/getUserNameByToken",token).then(res=>{
  107. if(res.statusCode == '200'){
  108. this.localName = res.data
  109. }
  110. })
  111. },
  112. dateFormat () { //时间处理
  113. var date = new Date()
  114. var year = date.getFullYear()
  115. var month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
  116. var day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
  117. // var hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
  118. // var minutes = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
  119. // var seconds = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
  120. let week = date.getDay() // 星期
  121. let weekArr = [ '星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六' ]
  122. this.weekday = weekArr[week]
  123. // return year + '年' + month + '月' + day + '日 ' + hours + ':' + minutes + ':' + seconds + ' ' + weekArr[week]
  124. return year + '年' + month + '月' + day + '日 '
  125. }
  126. },
  127. created() {
  128. this.getuserName()
  129. this.getModelTypeCnt()
  130. this.getModelApplyStatus()
  131. this.getModelIncreaseStatus()
  132. this.getinfo()
  133. }
  134. }
  135. </script>
  136. <style scoped>
  137. #main{
  138. margin-left: 15px;
  139. margin-right: 15px;
  140. }
  141. </style>

基于MindSpore的多模态股票价格预测系统研究 Informer,LSTM,RNN