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

124 lines
3.6 KiB

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. <template>
  2. <div class="m_container">
  3. <div class="m_content">
  4. <div class="m_top">
  5. <el-avatar class="m_avatar" :src="userInfo.headimgurl">
  6. <img src="../../../assets/image/user_img.gif"/>
  7. </el-avatar>
  8. <div class="m_msg">
  9. <p>{{getDate}}</p>
  10. <p>{{getTimeStatus}}{{userInfo.username}}今天也要元气满满哦</p>
  11. </div>
  12. <el-button class="m_btn" type="primary" @click="moduleSetVisible = true">模块编辑</el-button>
  13. </div>
  14. <div class="m_middle">
  15. <div class="m_left">
  16. <div class="m_left_1">
  17. <p>简介</p>
  18. <span>唛盟是新一代项目管理平台提供一站式研发协作工具帮助企业提升研发效能使用于多种研发工作场景支持多种角色协同管理</span>
  19. </div>
  20. <div class="m_left_2">
  21. <img src="../img/l1.png" alt="">
  22. </div>
  23. </div>
  24. <div class="m_right">
  25. <div class="m_right_menu" @click="gotolink('xm','/xm/core/xmProduct/XmProductMng')">
  26. <img src="../img/cp.png" alt="">
  27. <span>产品管理</span>
  28. </div>
  29. <div class="m_right_menu" @click="gotolink('xm','/xm/core/xmMenu/XmMenuMng')">
  30. <img src="../img/xqgl.png" alt="">
  31. <span>需求管理</span>
  32. </div>
  33. <div class="m_right_menu" @click="gotolink('xm','/xm/core/xmProject/XmProjectAllMng')">
  34. <img src="../img/xmgl.png" alt="">
  35. <span>项目管理</span>
  36. </div>
  37. <div class="m_right_menu" @click="gotolink('xm','/xm/core/xmGroup/XmGroupAllMng')">
  38. <img src="../img/tdgl.png" alt="">
  39. <span>团队管理</span>
  40. </div>
  41. <div class="m_right_menu" @click="gotolink('xm','/xm/core/xmTask/XmTaskCenter')">
  42. <img src="../img/kfrw.png" alt="">
  43. <span>开发任务</span>
  44. </div>
  45. <div class="m_right_menu" @click="gotolink('xm','/xm/core/xmQuestion/XmQuestionMng')">
  46. <img src="../img/qx.png" alt="">
  47. <span>缺陷管理</span>
  48. </div>
  49. </div>
  50. </div>
  51. <box-card ref="boxCard" />
  52. </div>
  53. <module-set v-model="moduleSetVisible" @submit="onModuleSet"/>
  54. </div>
  55. </template>
  56. <script>
  57. import NProgress from 'nprogress' // progress bar
  58. import moduleSet from './components/moduleSet'
  59. import boxCard from './components/boxCard'
  60. import { mapGetters } from 'vuex'
  61. import dayjs from 'dayjs'
  62. export default {
  63. components: {moduleSet, boxCard},
  64. computed: {
  65. ...mapGetters([
  66. 'userInfo'
  67. ]),
  68. getDate() {
  69. return dayjs().format('YYYY/M/D');
  70. },
  71. getTimeStatus() {
  72. let hour = dayjs().hour();
  73. let msg = '早上好';
  74. if(hour >= 13 || hour <= 18) {
  75. msg = '下午好';
  76. }else if (hour >= 19 || hour <= 24){
  77. msg = '晚上好';
  78. }
  79. return msg;
  80. }
  81. },
  82. watch: {
  83. },
  84. data() {
  85. return {
  86. moduleSetVisible: false
  87. }
  88. },
  89. methods: {
  90. gotolink(context,path) {
  91. if(context==process.env.CONTEXT){
  92. this.$router.push({path:path});
  93. }else{
  94. var prefixUrl=window.location.protocol+"//"+window.location.host+"/"+context+"/"+process.env.VERSION+"/#"; // 返回https://mp.csdn.net
  95. window.open(prefixUrl+path)
  96. NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it
  97. }
  98. },
  99. onModuleSet(){
  100. this.$refs.boxCard.getFMenus();
  101. }
  102. },
  103. mounted() {
  104. }
  105. }
  106. </script>
  107. <style lang="scss" scoped>
  108. @import '../common.scss';
  109. @import './index.scss';
  110. </style>