jwyu 6 ヶ月 前
コミット
4ec54d6592
48 ファイル変更774 行追加307 行削除
  1. 1 1
      config/index.js
  2. BIN
      src/assets/icons/menu/2VjyIToUNbtlLeQj0jn6jRN1LZ2I.png
  3. BIN
      src/assets/icons/menu/JAwRFxOjZCQ1qfAwLQzd9q23B7JO.png
  4. BIN
      src/assets/icons/menu/OKobqhVdWm0TkAFiimA8pxvPl1fk.png
  5. BIN
      src/assets/icons/menu/data_source.png
  6. BIN
      src/assets/icons/menu/english_ppt.png
  7. BIN
      src/assets/icons/menu/eta_chart.png
  8. BIN
      src/assets/icons/menu/eta_data.png
  9. BIN
      src/assets/icons/menu/eta_forum.png
  10. BIN
      src/assets/icons/menu/eta_logic.png
  11. BIN
      src/assets/icons/menu/eta_predict_data.png
  12. BIN
      src/assets/icons/menu/eta_table.png
  13. BIN
      src/assets/icons/menu/icon01.png
  14. BIN
      src/assets/icons/menu/icon02.png
  15. BIN
      src/assets/icons/menu/icon03.png
  16. BIN
      src/assets/icons/menu/icon04.png
  17. BIN
      src/assets/icons/menu/icon05.png
  18. BIN
      src/assets/icons/menu/icon06.png
  19. BIN
      src/assets/icons/menu/icon07.png
  20. BIN
      src/assets/icons/menu/icon08.png
  21. BIN
      src/assets/icons/menu/icon09.png
  22. BIN
      src/assets/icons/menu/icon10.png
  23. BIN
      src/assets/icons/menu/icon11.png
  24. BIN
      src/assets/icons/menu/my_eta.png
  25. BIN
      src/assets/icons/menu/out_link.png
  26. BIN
      src/assets/icons/menu/position_analysis.png
  27. BIN
      src/assets/icons/menu/ppt.png
  28. BIN
      src/assets/icons/menu/product_price.png
  29. BIN
      src/assets/icons/menu/semantic_analysis.png
  30. BIN
      src/assets/icons/menu/statistic_analysis.png
  31. BIN
      src/assets/icons/menu/supply_analysis.png
  32. BIN
      src/assets/icons/menu/system_manager.png
  33. BIN
      src/assets/icons/menu/yb_manager.png
  34. BIN
      src/assets/img/login_icon.png
  35. 4 4
      src/routes/modules/chartRoutes.js
  36. 27 9
      src/routes/modules/oldRoutes.js
  37. 3 3
      src/routes/modules/pptRoutes.js
  38. 354 250
      src/views/Home.vue
  39. 9 1
      src/views/Login.vue
  40. 66 0
      src/views/home_manage/components/BIWrap.vue
  41. 81 0
      src/views/home_manage/components/PointViewWrap.vue
  42. 81 0
      src/views/home_manage/components/PolicyWrap.vue
  43. 82 0
      src/views/home_manage/components/ReportWrap.vue
  44. 26 0
      src/views/home_manage/index.vue
  45. 2 2
      src/views/system_manage/components/addUserDialog.vue
  46. 22 22
      src/views/system_manage/departManage.vue
  47. 6 5
      src/views/system_manage/mixin/departManageMixin.js
  48. 10 10
      src/views/system_manage/newAuthManage.vue

+ 1 - 1
config/index.js

@@ -37,7 +37,7 @@ module.exports = {
     assetsPublicPath: '/',
     proxyTable:{
 		'/adminapi': {
-      target: "http://8.136.199.33:7778",
+      target: "http://gneta.hzinsights.com",
       // target: "http://192.168.77.27:8606",
 			// secure:false,  // 如果是https接口,需要配置这个参数
 			changeOrigin:true, // 如果接口跨域,需要进行这个参数配置

BIN
src/assets/icons/menu/2VjyIToUNbtlLeQj0jn6jRN1LZ2I.png


BIN
src/assets/icons/menu/JAwRFxOjZCQ1qfAwLQzd9q23B7JO.png


BIN
src/assets/icons/menu/OKobqhVdWm0TkAFiimA8pxvPl1fk.png


BIN
src/assets/icons/menu/data_source.png


BIN
src/assets/icons/menu/english_ppt.png


BIN
src/assets/icons/menu/eta_chart.png


BIN
src/assets/icons/menu/eta_data.png


BIN
src/assets/icons/menu/eta_forum.png


BIN
src/assets/icons/menu/eta_logic.png


BIN
src/assets/icons/menu/eta_predict_data.png


BIN
src/assets/icons/menu/eta_table.png


BIN
src/assets/icons/menu/icon01.png


BIN
src/assets/icons/menu/icon02.png


BIN
src/assets/icons/menu/icon03.png


BIN
src/assets/icons/menu/icon04.png


BIN
src/assets/icons/menu/icon05.png


BIN
src/assets/icons/menu/icon06.png


BIN
src/assets/icons/menu/icon07.png


BIN
src/assets/icons/menu/icon08.png


BIN
src/assets/icons/menu/icon09.png


BIN
src/assets/icons/menu/icon10.png


BIN
src/assets/icons/menu/icon11.png


BIN
src/assets/icons/menu/my_eta.png


BIN
src/assets/icons/menu/out_link.png


BIN
src/assets/icons/menu/position_analysis.png


BIN
src/assets/icons/menu/ppt.png


BIN
src/assets/icons/menu/product_price.png


BIN
src/assets/icons/menu/semantic_analysis.png


BIN
src/assets/icons/menu/statistic_analysis.png


BIN
src/assets/icons/menu/supply_analysis.png


BIN
src/assets/icons/menu/system_manager.png


BIN
src/assets/icons/menu/yb_manager.png


BIN
src/assets/img/login_icon.png


+ 4 - 4
src/routes/modules/chartRoutes.js

@@ -5,7 +5,7 @@ export default [
 	{
 		path: '/',
 		component: home,
-		name: '图',
+		name: '图表工具',
 		hidden: false,
 		icon_path: require('@/assets/img/home/data_ic.png'),
 		meta:{
@@ -257,7 +257,7 @@ export default [
 	{
 		path: '/',
 		component: home,
-		name: '逻辑图',
+		name: '图表工具',
 		hidden: false,
 		meta:{
 			name_en:"Logic Diagram"
@@ -300,7 +300,7 @@ export default [
 	{
 		path:'/',
 		component: home,
-		name: '预测指标',
+		name: '模型应用',
 		hidden:  false,
 		meta:{
 			name_en:"Pred Inds"
@@ -308,7 +308,7 @@ export default [
 		children: [
 			{
 				path: 'predictEdb',
-				name: '预测指标',
+				name: '衍生指标',
 				component:()=>import('@/views/predictEdb_manage/predictEdb.vue'),
 				meta:{
 					name_en:"Pred Inds"

+ 27 - 9
src/routes/modules/oldRoutes.js

@@ -356,14 +356,10 @@ export default [
         path: "Sysauth",
         //component: () => import("@/views/system_manage/authManage.vue"),
         component: () => import("@/views/system_manage/newAuthManage.vue"),
-        name: "设置权限",
+        name: "权限管理",
         hidden: true,
         meta: {
-          pathFrom: "Sysrole",
-          pathName: "角色管理",
-          keepAlive: false,
-          name_en:"Set Role Auth",
-          pathName_en:"Role Management"
+          name_en:"Auth Management",
         },
       },
       {
@@ -405,7 +401,7 @@ export default [
       {
         path: "outlinkListConfig",
         component: () => import("@/views/system_manage/outlinkListConfig.vue"),
-        name: "外部链接配置",
+        name: "收藏夹配置",
         hidden: true,
         meta:{
             name_en:"Ext Link Config"
@@ -475,7 +471,7 @@ export default [
   {    
     path: "/",
     component: home,
-    name: "外部链接",
+    name: "知识资源",
     hidden: false,
     icon_path: require("@/assets/img/home/set_ico.png"),
     meta:{
@@ -485,12 +481,34 @@ export default [
       {
         path: "outlinkList",
         component: () => import("@/views/system_manage/outlinkList.vue"),
-        name: "外部链接",
+        name: "收藏夹",
         hidden: true,
         meta:{
             name_en:"External Links"
         },
       },
     ]
+  },
+  // 首页看板
+  {    
+    path: "/",
+    component: home,
+    name: "首页",
+    hidden: false,
+    icon_path: require("@/assets/img/home/set_ico.png"),
+    meta:{
+        name_en:"Home"
+    },
+    children: [
+      {
+        path: "home",
+        component: () => import("@/views/home_manage/index.vue"),
+        name: "首页",
+        hidden: true,
+        meta:{
+            name_en:"Home"
+        },
+      },
+    ]
   }
 ];

+ 3 - 3
src/routes/modules/pptRoutes.js

@@ -50,7 +50,7 @@ export default [
 	{
 		path: '/',
 		component: home,
-		name: '智能PPT',
+		name: '研报管理',
 		icon_path: require('@/assets/img/home/ppt_ic.png'),
 		hidden: false,
 		meta:{
@@ -71,7 +71,7 @@ export default [
 			{
 				path: 'pptlist_',
 				component: () => import('@/views/ppt_manage/newVersion/pptList.vue'),
-				name: 'ppt列表',
+				name: 'ppt中心',
 				hidden: false,
 				meta: {
 					keepAlive: false
@@ -88,7 +88,7 @@ export default [
 			},{
 				path: 'pptlist',
 				component: () => import('@/views/ppt_manage/newVersion/pptCatalog.vue'),
-				name: 'PPT列表',
+				name: 'PPT中心',
 				hidden: true,
 				meta: {
 					keepAlive: false,

+ 354 - 250
src/views/Home.vue

@@ -4,17 +4,9 @@
       <div id="main_left">
         <div class="logo_cont">
           <!-- 正常logo尺寸 -->
-          <img
-            class="logo"
-            v-if="!isCollapse"
-            :src="logoLarge"
-          />
+          <img class="logo" v-if="!isCollapse" :src="logoLarge" />
           <!-- 折叠侧边栏logo尺寸 -->
-          <img
-            class="logo_coll"
-            v-else
-            :src="$setting.g_mini_logo"
-          />
+          <img class="logo_coll" v-else :src="$setting.g_mini_logo" />
         </div>
         <div
           style="overflow-y: auto; height: 90%; overflow-x: hidden"
@@ -37,38 +29,18 @@
             >
               <template v-for="(item, index) in navlists">
                 <el-menu-item
-                  :path="item.level_path"
-                  :index="item.level_path==='etaForum'?null:item.level_path"
-                  :key="item.level_path"
+                  :index="item.path"
+                  :key="item.MenuId"
                   :style="!isCollapse ? 'text-align:left' : ''"
-                  v-if="item.IsLevel === 1&&!item.hidden"
+                  v-if="!item.children || item.children.length === 0"
                 >
-                  <div class="el-level-path" v-if="item.path==='etaForum'" @click.prevent="handleGoETAForum">
-                    <img
-                      :src="getMenuIcon(item)"
-                      alt=""
-                      style="width: 24px; height: 24px"
-                    />
-                    <span class="titleLetter" v-show="isCollapse">{{
-                      isCollapse ? MenuLetterMap[item.name] || "" : ""
-                    }}</span>
-                    <span
-                      style="
-                        display: inline-block;
-                        width: 96px;
-                        text-align: left;
-                        font-size: 15px;
-                        margin-left: 20px;
-                      "
-                      >{{ $i18nt.locale==='zh'?item.name:item.name_en }}</span
-                    >
-                  </div>
                   <a
-                    v-else
-                    :href="`/${item.level_path}`"
+                    :href="`/${item.path}`"
                     class="el-level-path"
                     :style="`display: block;color:${
-                      item.level_path === activePath ? $setting.theme_color : '#666'
+                      item.path === activePath
+                        ? $setting.theme_color
+                        : '#666'
                     }`"
                     @click="(e) => e.preventDefault()"
                   >
@@ -88,11 +60,13 @@
                         font-size: 15px;
                         margin-left: 20px;
                       "
-                      >{{ $i18nt.locale==='zh'?item.name:item.name_en }}</span
+                      >{{
+                        $i18nt.locale === "zh" ? item.name : item.name_en
+                      }}</span
                     >
                   </a>
                 </el-menu-item>
-                <el-submenu v-else-if="item.IsLevel!==1&&!item.hidden" :index="index" :key="index">
+                <el-submenu v-else :index="item.MenuId" :key="item.MenuId">
                   <template slot="title">
                     <img
                       :src="getMenuIcon(item)"
@@ -110,27 +84,106 @@
                         font-size: 15px;
                         margin-left: 20px;
                       "
-                      >{{ $i18nt.locale==='zh'?item.name:item.name_en }}</span
+                      >{{
+                        $i18nt.locale === "zh" ? item.name : item.name_en
+                      }}</span
                     >
                   </template>
-                  <el-menu-item
-                    v-for="child in item.children"
-                    :index="child.path"
-                    :path="child.path"
-                    :key="child.path"
-                    v-show="!child.hidden"
-                  >
-                    <a
-                      :href="`/${child.path}`"
-                      :style="`display: flex;align-items:center;color:${
-                        child.path === activePath ? $setting.theme_color : '#666'
-                      }`"
-                      @click="handleClickSubMenuItem(child,$event)"
+
+                  <template v-for="second in item.children">
+                    <el-menu-item
+                      :index="second.path"
+                      :key="second.MenuId"
+                      v-if="!second.children || second.children.length === 0"
                     >
-                      <svg t="1689672247666" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7676" width="30" height="30"><path d="M640 499.2v25.6a21.333333 21.333333 0 0 1-21.333333 21.333333h-213.333334a21.333333 21.333333 0 0 1-21.333333-21.333333v-25.6a21.333333 21.333333 0 0 1 21.333333-21.333333h213.333334a21.333333 21.333333 0 0 1 21.333333 21.333333z"  p-id="7677" :fill="child.path === activePath ? $setting.theme_color : '#666'"></path></svg>
-                      <span style="margin-left:15px;">{{ $i18nt.locale==='zh'?child.name:child.name_en }}</span>
-                    </a>
-                  </el-menu-item>
+                      <a
+                        :href="`/${second.path}`"
+                        :style="`display: flex;align-items:center;color:${
+                          second.path === activePath
+                            ? $setting.theme_color
+                            : '#666'
+                        }`"
+                        @click="handleClickSubMenuItem(second, $event)"
+                      >
+                        <svg
+                          t="1689672247666"
+                          class="icon"
+                          viewBox="0 0 1024 1024"
+                          version="1.1"
+                          xmlns="http://www.w3.org/2000/svg"
+                          p-id="7676"
+                          width="30"
+                          height="30"
+                        >
+                          <path
+                            d="M640 499.2v25.6a21.333333 21.333333 0 0 1-21.333333 21.333333h-213.333334a21.333333 21.333333 0 0 1-21.333333-21.333333v-25.6a21.333333 21.333333 0 0 1 21.333333-21.333333h213.333334a21.333333 21.333333 0 0 1 21.333333 21.333333z"
+                            p-id="7677"
+                            :fill="
+                              second.path === activePath
+                                ? $setting.theme_color
+                                : '#666'
+                            "
+                          ></path>
+                        </svg>
+                        <span style="margin-left: 15px"
+                          >{{
+                            $i18nt.locale === "zh"
+                              ? second.name
+                              : second.name_en
+                          }}</span
+                        >
+                      </a>
+                    </el-menu-item>
+                    <el-submenu v-else :index="second.MenuId" :key="second.MenuId">
+                      <template slot="title">
+                        <span style="margin-left:-20px">
+                          <svg
+                            t="1689672247666"
+                            class="icon"
+                            viewBox="0 0 1024 1024"
+                            version="1.1"
+                            xmlns="http://www.w3.org/2000/svg"
+                            p-id="7676"
+                            width="30"
+                            height="30"
+                          >
+                            <path
+                              d="M640 499.2v25.6a21.333333 21.333333 0 0 1-21.333333 21.333333h-213.333334a21.333333 21.333333 0 0 1-21.333333-21.333333v-25.6a21.333333 21.333333 0 0 1 21.333333-21.333333h213.333334a21.333333 21.333333 0 0 1 21.333333 21.333333z"
+                              p-id="7677"
+                              :fill="
+                                second.path === activePath
+                                  ? $setting.theme_color
+                                  : '#666'
+                              "
+                            ></path>
+                          </svg>
+                          <span style="margin-left: 10px">{{
+                            $i18nt.locale === "zh"
+                              ? second.name
+                              : second.name_en
+                          }}</span>
+                        </span>
+                      </template>
+                      <el-menu-item
+                        :index="third.path"
+                        :key="third.MenuId"
+                        v-for="third in second.children"
+                      >
+                        <span
+                          style="
+                            display: inline-block;
+                            width: 96px;
+                            text-align: left;
+                            font-size: 15px;
+                            margin-left:40px
+                          "
+                          >{{
+                            $i18nt.locale === "zh" ? third.name : third.name_en
+                          }}</span
+                        >
+                      </el-menu-item>
+                    </el-submenu>
+                  </template>
                 </el-submenu>
               </template>
             </el-menu>
@@ -148,10 +201,10 @@
                 <i class="el-icon-s-unfold coll_ico" v-if="isCollapse"></i>
                 <i class="el-icon-s-fold coll_ico" v-else></i>
               </div>
-              
+
               <!-- 面包屑 -->
               <el-breadcrumb separator="/" class="breadcrumb-inner">
-                <template v-if="$route.path!=='/edbHistory'">
+                <template v-if="$route.path !== '/edbHistory'">
                   <el-breadcrumb-item
                     v-for="item in $route.matched"
                     :key="item.path"
@@ -161,7 +214,11 @@
                       @click.stop="handleClickBread(item)"
                       :style="`cursor: pointer; color: ${$setting.theme_color}`"
                     >
-                    {{ $i18nt.locale==='zh'?item.meta.pathName:item.meta.pathName_en }}
+                      {{
+                        $i18nt.locale === "zh"
+                          ? item.meta.pathName
+                          : item.meta.pathName_en
+                      }}
                     </span>
                     <span
                       v-if="item.meta.pathFrom"
@@ -171,34 +228,50 @@
                         color: #c0c4cc;
                         font-size: 16px;
                       "
-                    >/</span>
+                      >/</span
+                    >
                     <span
                       v-if="item.parent"
                       :style="`cursor: pointer; color: ${$setting.theme_color}`"
                       @click.stop="routeClick(item)"
                     >
-                      <template v-if="$route.path==='/positionAnalysisDetail'">
+                      <template
+                        v-if="$route.path === '/positionAnalysisDetail'"
+                      >
                         <!-- {{breadSelfName||'持仓详情'}} -->
-                        {{$i18nt.locale==='zh'?'持仓详情':'Position Analysis'}}
+                        {{
+                          $i18nt.locale === "zh"
+                            ? "持仓详情"
+                            : "Position Analysis"
+                        }}
                       </template>
                       <template v-else>
-                        {{ $i18nt.locale==='zh'?item.name:item.meta.name_en }}
+                        {{
+                          $i18nt.locale === "zh" ? item.name : item.meta.name_en
+                        }}
                       </template>
                     </span>
-                    <span v-else>{{ $i18nt.locale==='zh'?item.name:item.meta.name_en }}</span>
+                    <span v-else>{{
+                      $i18nt.locale === "zh" ? item.name : item.meta.name_en
+                    }}</span>
                   </el-breadcrumb-item>
                 </template>
                 <template v-else>
-                    <el-breadcrumb-item v-for="(item,index) in edbHistoryPath" :key="item.path">
-                        <span v-if="index===0">{{item.name}}</span>
-                        <span v-else>
-                            <span @click.stop="$router.push(item.path)" :style="`cursor: pointer; color: ${$setting.theme_color}`">
-                                {{$i18nt.locale==='zh'?item.name:item.name_en}}
-                            </span>
-                        </span>
-                    </el-breadcrumb-item>
+                  <el-breadcrumb-item
+                    v-for="(item, index) in edbHistoryPath"
+                    :key="item.path"
+                  >
+                    <span v-if="index === 0">{{ item.name }}</span>
+                    <span v-else>
+                      <span
+                        @click.stop="$router.push(item.path)"
+                        :style="`cursor: pointer; color: ${$setting.theme_color}`"
+                      >
+                        {{ $i18nt.locale === "zh" ? item.name : item.name_en }}
+                      </span>
+                    </span>
+                  </el-breadcrumb-item>
                 </template>
-                
               </el-breadcrumb>
             </div>
 
@@ -213,7 +286,7 @@
           <div class="right_section">
             <div class="userinfo">
               <div class="userinfo-fingerpost">
-                <el-button
+                <!-- <el-button
                   @click="linkToOtherMS(item)"
                   v-for="item in linkSystems"
                   :key="item.path"
@@ -222,47 +295,91 @@
                 >
                   <img :src="item.icon" v-if="item.icon" width="20" height="20" style="vertical-align: middle;">
                   {{item.name}}
-                </el-button>
+                </el-button> -->
 
-                <el-dropdown trigger="click" style="width:140px;" v-if="isUpdateLogShow||isHelpDocShow">
-                  <span class="el-dropdown-link userinfo-inner help-center-inner">
-                    <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" style="color:#333">
-                      <path d="M9.24255 14.5C9.24255 14.0858 9.57834 13.75 9.99255 13.75C10.4068 13.75 10.7426 14.0858 10.7426 14.5C10.7426 14.9142 10.4068 15.25 9.99255 15.25C9.57834 15.25 9.24255 14.9142 9.24255 14.5Z" fill="currentColor"/>
-                      <path d="M9.99261 5.00763C8.32056 5.00763 6.96136 6.36682 6.96136 8.03888H8.21136C8.21136 7.05718 9.01092 6.25763 9.99261 6.25763C10.9743 6.25763 11.7739 7.05718 11.7739 8.03888C11.7739 8.71106 11.2183 9.3851 10.4931 9.67971L10.4899 9.68101C9.82793 9.95419 9.36767 10.6052 9.36767 11.3656V12.5H10.6177V11.3656C10.6177 11.1228 10.7618 10.9216 10.9655 10.837C11.9996 10.4161 13.0239 9.37337 13.0239 8.03888C13.0239 6.36682 11.6647 5.00763 9.99261 5.00763Z" fill="currentColor"/>
-                      <path d="M18.7427 10C18.7427 5.16751 14.8252 1.25 9.99268 1.25C5.16019 1.25 1.24268 5.16751 1.24268 10C1.24267 14.8325 5.16018 18.75 9.99267 18.75C14.8252 18.75 18.7427 14.8325 18.7427 10ZM17.4927 10C17.4927 14.1421 14.1348 17.5 9.99267 17.5C5.85054 17.5 2.49267 14.1421 2.49268 10C2.49268 5.85786 5.85054 2.5 9.99268 2.5C14.1348 2.5 17.4927 5.85787 17.4927 10Z" fill="currentColor"/>
+                <el-dropdown
+                  trigger="click"
+                  style="width: 140px"
+                  v-if="isUpdateLogShow || isHelpDocShow"
+                >
+                  <span
+                    class="el-dropdown-link userinfo-inner help-center-inner"
+                  >
+                    <svg
+                      width="20"
+                      height="20"
+                      viewBox="0 0 20 20"
+                      fill="none"
+                      xmlns="http://www.w3.org/2000/svg"
+                      style="color: #333"
+                    >
+                      <path
+                        d="M9.24255 14.5C9.24255 14.0858 9.57834 13.75 9.99255 13.75C10.4068 13.75 10.7426 14.0858 10.7426 14.5C10.7426 14.9142 10.4068 15.25 9.99255 15.25C9.57834 15.25 9.24255 14.9142 9.24255 14.5Z"
+                        fill="currentColor"
+                      />
+                      <path
+                        d="M9.99261 5.00763C8.32056 5.00763 6.96136 6.36682 6.96136 8.03888H8.21136C8.21136 7.05718 9.01092 6.25763 9.99261 6.25763C10.9743 6.25763 11.7739 7.05718 11.7739 8.03888C11.7739 8.71106 11.2183 9.3851 10.4931 9.67971L10.4899 9.68101C9.82793 9.95419 9.36767 10.6052 9.36767 11.3656V12.5H10.6177V11.3656C10.6177 11.1228 10.7618 10.9216 10.9655 10.837C11.9996 10.4161 13.0239 9.37337 13.0239 8.03888C13.0239 6.36682 11.6647 5.00763 9.99261 5.00763Z"
+                        fill="currentColor"
+                      />
+                      <path
+                        d="M18.7427 10C18.7427 5.16751 14.8252 1.25 9.99268 1.25C5.16019 1.25 1.24268 5.16751 1.24268 10C1.24267 14.8325 5.16018 18.75 9.99267 18.75C14.8252 18.75 18.7427 14.8325 18.7427 10ZM17.4927 10C17.4927 14.1421 14.1348 17.5 9.99267 17.5C5.85054 17.5 2.49267 14.1421 2.49268 10C2.49268 5.85786 5.85054 2.5 9.99268 2.5C14.1348 2.5 17.4927 5.85787 17.4927 10Z"
+                        fill="currentColor"
+                      />
                     </svg>
-                    <span style="line-height: 20px;margin-left: 4px;"><!-- 帮助中心 -->{{ $t('MainPage.help_center') }}</span>
+                    <span style="line-height: 20px; margin-left: 4px"
+                      ><!-- 帮助中心 -->{{ $t("MainPage.help_center") }}</span
+                    >
                     <i class="el-icon-arrow-down el-icon--right" />
                   </span>
                   <el-dropdown-menu slot="dropdown">
-                    <el-dropdown-item divided @click.native="toDoc" v-if="isUpdateLogShow"
-                      ><!-- 更新日志 -->{{ $t('MainPage.tab_help_update') }}</el-dropdown-item
+                    <el-dropdown-item
+                      divided
+                      @click.native="toDoc"
+                      v-if="isUpdateLogShow"
+                      ><!-- 更新日志 -->{{
+                        $t("MainPage.tab_help_update")
+                      }}</el-dropdown-item
                     >
-                    <el-dropdown-item divided @click.native="toOperation" v-if="isHelpDocShow"
-                      ><!-- 帮助文档 -->{{ $t('MainPage.tab_help_docs') }}</el-dropdown-item
+                    <el-dropdown-item
+                      divided
+                      @click.native="toOperation"
+                      v-if="isHelpDocShow"
+                      ><!-- 帮助文档 -->{{
+                        $t("MainPage.tab_help_docs")
+                      }}</el-dropdown-item
                     >
                   </el-dropdown-menu>
                 </el-dropdown>
                 <div class="userinfo-fingerpost">
-                  <img src="~@/assets/img/questionnaire.png" v-if="isQuestionShow" @click="showQuestionDia=true"
-                style="width: 84px;height: 24; cursor: pointer;" />
+                  <img
+                    src="~@/assets/img/questionnaire.png"
+                    v-if="isQuestionShow"
+                    @click="showQuestionDia = true"
+                    style="width: 84px; height: 24; cursor: pointer"
+                  />
+                </div>
+                <div class="lang-content" @click="langChangeHandler">
+                  {{ $i18n.locale == "zh" ? "English" : "中文" }}
                 </div>
-                <div class="lang-content" @click="langChangeHandler">{{$i18n.locale == 'zh'?'English':'中文'}}</div>
               </div>
-               <!-- 消息通知 -->
-              <notification-msg ref="notification"/>
-              <el-dropdown trigger="click" style="width:130px;">
+              <!-- 消息通知 -->
+              <notification-msg ref="notification" />
+              <el-dropdown trigger="click" style="width: 130px">
                 <span class="el-dropdown-link userinfo-inner">
-                  <img src="~@/assets/img/home/avatar.png"/>
+                  <img src="~@/assets/img/home/avatar.png" />
                   {{ sysUserName }}
-                  <i class="el-icon-arrow-down el-icon--right"/>
+                  <i class="el-icon-arrow-down el-icon--right" />
                 </span>
                 <el-dropdown-menu slot="dropdown">
                   <el-dropdown-item divided @click.native="resetpwd"
-                    ><!-- 修改密码 -->{{ $t('MainPage.tab_reset_pwd') }}</el-dropdown-item
+                    ><!-- 修改密码 -->{{
+                      $t("MainPage.tab_reset_pwd")
+                    }}</el-dropdown-item
                   >
                   <el-dropdown-item divided @click.native="logout"
-                    ><!-- 退出登录 -->{{ $t('MainPage.tab_log_out') }}</el-dropdown-item
+                    ><!-- 退出登录 -->{{
+                      $t("MainPage.tab_log_out")
+                    }}</el-dropdown-item
                   >
                   <!-- <el-dropdown-item divided @click.native="toDoc"
                     >更新日志</el-dropdown-item
@@ -272,19 +389,12 @@
             </div>
           </div>
         </div>
-        <section
-          class="content-container"
-          id="displayMain"
-          ref="displayMain"
-        >
+        <section class="content-container" id="displayMain" ref="displayMain">
           <el-row
             class="grid-content bg-purple-light contentc"
             style="min-width: 1000px"
           >
-            <el-col
-              :span="24"
-              class="content-wrapper"
-            >
+            <el-col :span="24" class="content-wrapper">
               <transition name="fade" mode="out-in">
                 <router-view :key="$route.fullPath"></router-view>
               </transition>
@@ -297,8 +407,11 @@
     <!-- //重置初始密码 -->
     <pwd-dlg :dialogVisiblePwd="dialogVisiblePwd" />
     <!-- 问卷调查弹窗 -->
-    <questionnaire-dia :dialogVisiblePwd.sync="showQuestionDia" @submitSuccess="questionSubmitSuccess"
-    :questionList="questionList"></questionnaire-dia>
+    <questionnaire-dia
+      :dialogVisiblePwd.sync="showQuestionDia"
+      @submitSuccess="questionSubmitSuccess"
+      :questionList="questionList"
+    ></questionnaire-dia>
   </div>
 </template>
 
@@ -318,7 +431,7 @@ import questionMsgDia from "@/components/questionMsgDia.vue";
 import questionnaireDia from "../components/questionnaireDia.vue";
 import EventBus from "@/api/bus.js";
 
-import {recordActiveLoginFun,loginEndCalc} from "@/utils/TimeOnPage.js"
+import { recordActiveLoginFun, loginEndCalc } from "@/utils/TimeOnPage.js"
 import NotificationMsg from "../components/notificationMsg.vue";
 export default {
   components: {
@@ -326,7 +439,7 @@ export default {
     questionMsgDia,
     questionnaireDia,
     NotificationMsg
-},
+  },
   inject: ["reload"],
   filters: {
     formatDate(e) {
@@ -347,12 +460,12 @@ export default {
     },
   },
   computed: {
-    edbHistoryPath(){
-        return JSON.parse(sessionStorage.getItem('edbHistoryPath'))||[]
+    edbHistoryPath() {
+      return JSON.parse(sessionStorage.getItem('edbHistoryPath')) || []
     },
     breadSelfName() {
       return this.$store.state.breadSelfName;
-    },  
+    },
     isShowRole() {
       let role = localStorage.getItem("RoleIdentity") || "";
       return (
@@ -371,25 +484,24 @@ export default {
     },
 
     //帮助文档是否展示
-    isHelpDocShow(){
-        return this.permissionBtn.checkPermissionBtn(
-            this.permissionBtn.baseConfigPermission.sysJump_helpDoc
-        )
+    isHelpDocShow() {
+      return this.permissionBtn.checkPermissionBtn(
+        this.permissionBtn.baseConfigPermission.sysJump_helpDoc
+      )
     },
     //更新日志是否展示
-    isUpdateLogShow(){
-        return this.permissionBtn.checkPermissionBtn(
-            this.permissionBtn.baseConfigPermission.sysJump_updateLog
-        )
+    isUpdateLogShow() {
+      return this.permissionBtn.checkPermissionBtn(
+        this.permissionBtn.baseConfigPermission.sysJump_updateLog
+      )
+    },
+    // 是否是eta试用
+    isTrail() {
+      return this.$store.state.hasTrialUserPermisson
     },
-		// 是否是eta试用
-    isTrail(){
-			return this.$store.state.hasTrialUserPermisson
-		},
 
     logoLarge() {
-      return this.$i18n.locale == 'en' ? this.$store.state.baseInfo.logoEn || require('@/assets/img/en/logo.png'): 
-                                          this.$store.state.baseInfo.logoCh || this.$setting.g_logo
+      return require('@/assets/img/login_icon.png')
     }
   },
   data() {
@@ -435,11 +547,11 @@ export default {
       flag3: false, //显示用印提示红点
       dialogVisiblePwd: false, //初始密码的弹框
       //  ----------------问卷调查弹窗
-      showQuestionDia:false,
+      showQuestionDia: false,
       // 问卷调查icon是否展示
-      isQuestionShow:false,
+      isQuestionShow: false,
       // 问题列表
-      questionList:[],
+      questionList: [],
       flag4: false,
       flag5: false, //显示ETA试用相关的红点
       flag6: false, //显示出差相关的红点
@@ -467,7 +579,7 @@ export default {
 
       //链接系统
       linkSystems: this.$setting.linkSystems,
-      bus_code:"",
+      bus_code: "",
     };
   },
   created() {
@@ -482,7 +594,7 @@ export default {
     }
     this.resetLinkSys()
     this.getBusinessCodeFun()
-    
+
     this.getQuestionStaus()
     this.getSystemInfo();//获取配置信息
   },
@@ -494,49 +606,41 @@ export default {
       this.getMenuList();
     }
     this.getPublicSettings();
-    this.$refs.notification&&this.$refs.notification.getMsgList()
+    this.$refs.notification && this.$refs.notification.getMsgList()
   },
   methods: {
-    getMenuIcon(item){
-      const iconMap=new Map([
-        ['ETA社区',require('@/assets/icons/menu/eta_forum.png')],
-        ['外部链接',require('@/assets/icons/menu/out_link.png')],
-        ['研报管理',require('@/assets/icons/menu/yb_manager.png')],
-        ['智能ppt',require('@/assets/icons/menu/ppt.png')],
-        ['英文ppt',require('@/assets/icons/menu/english_ppt.png')],
-        ['审批管理',require('@/assets/icons/menu/OKobqhVdWm0TkAFiimA8pxvPl1fk.png')],
-        ['数据源',require('@/assets/icons/menu/data_source.png')],
-        ['指标库',require('@/assets/icons/menu/eta_data.png')],
-        ['预测指标',require('@/assets/icons/menu/eta_predict_data.png')],
-        ['图库',require('@/assets/icons/menu/eta_chart.png')],
-        ['我的投研',require('@/assets/icons/menu/my_eta.png')],
-        ['表格',require('@/assets/icons/menu/eta_table.png')],
-        ['逻辑图',require('@/assets/icons/menu/eta_logic.png')],
-        ['语义分析',require('@/assets/icons/menu/semantic_analysis.png')],
-        ['统计分析',require('@/assets/icons/menu/statistic_analysis.png')],
-        ['供应分析',require('@/assets/icons/menu/supply_analysis.png')],
-        ['工具箱',require('@/assets/icons/menu/2VjyIToUNbtlLeQj0jn6jRN1LZ2I.png')],
-        ['数据报表管理',require('@/assets/icons/menu/JAwRFxOjZCQ1qfAwLQzd9q23B7JO.png')],
-        ['系统设置',require('@/assets/icons/menu/system_manager.png')],
+    getMenuIcon(item) {
+      const iconMap = new Map([
+        ['首页', require('@/assets/icons/menu/icon01.png')],
+        ['数据分析', require('@/assets/icons/menu/icon02.png')],
+        ['模型应用', require('@/assets/icons/menu/icon03.png')],
+        ['图表工具', require('@/assets/icons/menu/icon04.png')],
+        ['知识资源', require('@/assets/icons/menu/icon05.png')],
+        ['语义分析', require('@/assets/icons/menu/icon06.png')],
+        ['BI看板', require('@/assets/icons/menu/icon07.png')],
+        ['研报管理', require('@/assets/icons/menu/icon08.png')],
+        ['任务管理', require('@/assets/icons/menu/icon09.png')],
+        ['AI问答', require('@/assets/icons/menu/icon10.png')],
+        ['系统设置', require('@/assets/icons/menu/icon11.png')],
       ])
-      return iconMap.get(item.name)
+      return iconMap.get(item.name) || require('@/assets/icons/menu/icon01.png')
     },
 
-    handleClickSubMenuItem(item,e){
+    handleClickSubMenuItem(item, e) {
       e.preventDefault();
-      if(item.path==='AIQA'){
+      if (item.path === 'AIQA') {
         e.stopPropagation();
         let { href } = this.$router.resolve({
-          path:'/'+item.path
+          path: '/' + item.path
         });
         window.open(href, '_blank')
       }
     },
     // 获取商家Code
-    getBusinessCodeFun(){
-      getBusinessCode().then(res=>{
-        if(res.Ret!==200) return 
-        this.bus_code = res.Data||''
+    getBusinessCodeFun() {
+      getBusinessCode().then(res => {
+        if (res.Ret !== 200) return
+        this.bus_code = res.Data || ''
         this.$setting.bus_code = this.bus_code
       })
     },
@@ -711,25 +815,25 @@ export default {
       });
     },
     // 获取用户的问卷调查状态
-    getQuestionStaus(){
-      if(!this.isTrail){
-        this.showQuestionDia=false
-        this.isQuestionShow=false
-        this.questionList=[]
-        return 
+    getQuestionStaus() {
+      if (!this.isTrail) {
+        this.showQuestionDia = false
+        this.isQuestionShow = false
+        this.questionList = []
+        return
       }
-      homeInterface.getQuestionnaireDetail().then(res=>{
+      homeInterface.getQuestionnaireDetail().then(res => {
         // console.log(res);
-        if(res.Ret == 200 && res.Data){
-          this.showQuestionDia=!!res.Data.IsPopup && (!!res.Data.IsShow)
+        if (res.Ret == 200 && res.Data) {
+          this.showQuestionDia = !!res.Data.IsPopup && (!!res.Data.IsShow)
           this.isQuestionShow = !!res.Data.IsShow
           this.questionList = res.Data.Question.List || []
         }
       })
     },
     // 问卷提交成功
-    questionSubmitSuccess(){
-      this.isQuestionShow=false
+    questionSubmitSuccess() {
+      this.isQuestionShow = false
     },
     // 操作指南的跳转
     toOperation() {
@@ -745,17 +849,17 @@ export default {
       window.open(href, "_blank");
     },
     // 跳转去其他的系统
-    async linkToOtherMS({path,key}) {
+    async linkToOtherMS({ path, key }) {
       /**
        * VUE_APP_HR_MANAGEMENT_SYSTEM -- HR管理系统
        * VUE_APP_FINANCIAL_MANAGEMENT_SYSTEM -- 财务管理系统
        */
       let href = path;
-      if(key==='crm'){
+      if (key === 'crm') {
         // 获取临时code
-        const res=await departInterence.getToCRMSysCode()
-        if(res.Ret===200){
-          href=`${href}?code=${res.Data}`
+        const res = await departInterence.getToCRMSysCode()
+        if (res.Ret === 200) {
+          href = `${href}?code=${res.Data}`
         }
       }
       window.open(href, "_blank");
@@ -801,10 +905,10 @@ export default {
           /**
            * Sysdatauth-手工数据权限
            */
-          let shouldVerificationRoute=["Sysdatauth"]
-          shouldVerificationRoute.map(sMenu =>{
-            this.navlists.forEach(item =>{
-              if(item.children&&item.children.some(menu => menu.path === sMenu || '/'+menu.path === sMenu)){
+          let shouldVerificationRoute = ["Sysdatauth"]
+          shouldVerificationRoute.map(sMenu => {
+            this.navlists.forEach(item => {
+              if (item.children && item.children.some(menu => menu.path === sMenu || '/' + menu.path === sMenu)) {
                 // 添加有权限的路由
                 this.$store.commit("ADD_PERMISSION_ROUTE", sMenu);
                 return
@@ -837,50 +941,50 @@ export default {
       this.$confirm(/* "确认退出吗?" */this.$t('MsgPrompt.confirm_logout_msg'), this.$t('Dialog.warn_tit'), {
         type: "warning",
       }).then(() => {
-          if(this.isTrail){
-            // 结算活跃计时
-            loginEndCalc()
-            // 结算登录计时
-            recordActiveLoginFun()
-          }
+        if (this.isTrail) {
+          // 结算活跃计时
+          loginEndCalc()
+          // 结算登录计时
+          recordActiveLoginFun()
+        }
 
-          userLogOut().then(res=>{})
-          .finally(()=>{
+        userLogOut().then(res => { })
+          .finally(() => {
             this.toLoginVariable()
           })
-          
-          setTimeout(() => {
-            // 退出登录时可能有一些请求需要发送或者处理
-            localStorage.setItem("auth", "");
-            localStorage.setItem("userName", "");
-            localStorage.setItem("Role", "");
-            localStorage.setItem("RoleType", "");
-            localStorage.setItem("AdminId", "");
-            localStorage.setItem("AdminName", "");
-            localStorage.setItem("ManageType", "");
-            localStorage.setItem("RoleIdentity", "");
-            localStorage.setItem("loginTime", "");
-          }, 10);
 
-        }).catch(() => {});
+        setTimeout(() => {
+          // 退出登录时可能有一些请求需要发送或者处理
+          localStorage.setItem("auth", "");
+          localStorage.setItem("userName", "");
+          localStorage.setItem("Role", "");
+          localStorage.setItem("RoleType", "");
+          localStorage.setItem("AdminId", "");
+          localStorage.setItem("AdminName", "");
+          localStorage.setItem("ManageType", "");
+          localStorage.setItem("RoleIdentity", "");
+          localStorage.setItem("loginTime", "");
+        }, 10);
+
+      }).catch(() => { });
     },
-    toLoginVariable(){
-      let logoutUrl = this.$setting.publicConfigs ? this.$setting.publicConfigs.LogoutUrl||"":""
-      if(logoutUrl){
-        window.location.href=logoutUrl
-      }else{
+    toLoginVariable() {
+      let logoutUrl = this.$setting.publicConfigs ? this.$setting.publicConfigs.LogoutUrl || "" : ""
+      if (logoutUrl) {
+        window.location.href = logoutUrl
+      } else {
         this.$router.push("/login?HZ=1");
       }
     },
-    toDoc(){
+    toDoc() {
       //打开更新日志项目
       const href = `${process.env.VUE_APP_ETA_DOCS}?bus_code=${this.bus_code}`
       window.open(href, "_blank");
     },
-    collapseHandle () {
+    collapseHandle() {
       //折叠导航栏
       this.isCollapse = !this.isCollapse;
-      this.$store.commit('SET_COLLAPSE',this.isCollapse)
+      this.$store.commit('SET_COLLAPSE', this.isCollapse)
       // 派发折叠导航栏事件
       EventBus.$emit("collapseHandle", this.isCollapse);
     },
@@ -902,48 +1006,48 @@ export default {
         this.$router.push({ path: "/" + item.meta.pathFrom });
       }
     },
-    resetLinkSys(){
-        const {baseConfigPermission,checkPermissionBtn} = this.permissionBtn
-        const sysMap = {
-            'fd':baseConfigPermission.sysJump_finance,
-            'hr':baseConfigPermission.sysJump_hr,
-            'crm':baseConfigPermission.sysJump_crm,
-        }
-        const linkSystems = this.$setting.linkSystems
-        let linkArr = []
-        for(const k in sysMap){
-            if(checkPermissionBtn(sysMap[k])){
-                linkArr.push(linkSystems.find(i=>i.key===k))
-            }
+    resetLinkSys() {
+      const { baseConfigPermission, checkPermissionBtn } = this.permissionBtn
+      const sysMap = {
+        'fd': baseConfigPermission.sysJump_finance,
+        'hr': baseConfigPermission.sysJump_hr,
+        'crm': baseConfigPermission.sysJump_crm,
+      }
+      const linkSystems = this.$setting.linkSystems
+      let linkArr = []
+      for (const k in sysMap) {
+        if (checkPermissionBtn(sysMap[k])) {
+          linkArr.push(linkSystems.find(i => i.key === k))
         }
-        this.linkSystems = linkArr
+      }
+      this.linkSystems = linkArr
     },
 
     /* 获取动态配置 外部动态链接  */
     async getPublicSettings() {
-      const res =  await getPublicSettingsApi();
-      if(res.Ret !== 200) return
-      
-      this.$store.commit('SET_DYNAMIC_LINK',res.Data)
+      const res = await getPublicSettingsApi();
+      if (res.Ret !== 200) return
+
+      this.$store.commit('SET_DYNAMIC_LINK', res.Data)
     },
     // 中英文的切换
-    langChangeHandler(){
-       this.$i18n.locale =  this.$i18n.locale == 'zh' ? 'en' : 'zh'
-       localStorage.setItem('i18n',this.$i18n.locale)
-       this.$store.commit('SET_LANG',this.$i18n.locale)
+    langChangeHandler() {
+      this.$i18n.locale = this.$i18n.locale == 'zh' ? 'en' : 'zh'
+      localStorage.setItem('i18n', this.$i18n.locale)
+      this.$store.commit('SET_LANG', this.$i18n.locale)
     },
-    getSystemInfo(){
-      departInterence.getBaseInfo().then(res=>{
-        if(res.Ret == 200){
+    getSystemInfo() {
+      departInterence.getBaseInfo().then(res => {
+        if (res.Ret == 200) {
 
           this.$store.commit('SET_BASE_INFO',
-            {logoCh:res.Data.LogoCn?res.Data.LogoCn.ConfVal:'',logoEn:res.Data.LogoEn?res.Data.LogoEn.ConfVal:''}
+            { logoCh: res.Data.LogoCn ? res.Data.LogoCn.ConfVal : '', logoEn: res.Data.LogoEn ? res.Data.LogoEn.ConfVal : '' }
           )
         }
       })
     },
 
-    handleGoETAForum(item,e){
+    handleGoETAForum(item, e) {
       const href = `${process.env.VUE_APP_ETA_FORUM}`
       window.open(href, '_blank')
     }
@@ -986,7 +1090,7 @@ export default {
       display: flex;
       align-items: center;
       justify-content: center;
-      border-bottom: 1px solid #DCDFE6;
+      border-bottom: 1px solid #dcdfe6;
       .logo {
         width: 148px;
         height: 38px;
@@ -1037,7 +1141,7 @@ export default {
         text-align: left;
       }
       .el-menu-item.is-active {
-        background: #ECF2FE !important;
+        background: #ecf2fe !important;
         color: $theme-color !important;
         a {
           color: $theme-color !important;
@@ -1071,8 +1175,9 @@ export default {
         padding-left: 20px !important;
       }
     }
-    .el-submenu__title:hover,.el-menu-item:hover {
-      background: #ECF2FE !important;
+    .el-submenu__title:hover,
+    .el-menu-item:hover {
+      background: #ecf2fe !important;
     }
     .subItem {
       overflow: hidden;
@@ -1105,7 +1210,7 @@ export default {
       } */
     }
     .el-submenu__title > i:nth-of-type(1) {
-      color: #C0C4CC !important;
+      color: #c0c4cc !important;
     }
   }
   .left_section_logo {
@@ -1238,8 +1343,7 @@ export default {
         .userinfo-inner:hover {
           color: #5882ef;
         }
-        .help-center-inner{
-
+        .help-center-inner {
         }
         .icon-box-item {
           padding: 12px;
@@ -1261,8 +1365,8 @@ export default {
       width: 100px;
       height: 40px;
       border-radius: 4px;
-      color: #0052D9;
-      background-color:#ECF2FE;
+      color: #0052d9;
+      background-color: #ecf2fe;
       cursor: pointer;
     }
     .safariStyle {
@@ -1271,13 +1375,13 @@ export default {
     }
     .content-container {
       //height: calc(100vh - 90px);
-      background: #F2F6FA;
+      background: #f2f6fa;
       // position: relative;
       overflow-y: auto;
       position: absolute;
       //padding-top: 22px;
       left: 0;
-      right:0;
+      right: 0;
       top: 68px; //应该是60px 但为了留出header的box-shadow多移了8px
       bottom: 0;
       z-index: 100;

+ 9 - 1
src/views/Login.vue

@@ -391,6 +391,13 @@ export default {
             //密码输入格式切换
             this.visible = !(value === "show");
         },
+        getPathVal(item){
+            if(item.children){
+                this.getPathVal(item.children)
+            }else{
+                return item.path||'home'
+            }
+        },
         getOtherRolePath(pathVal) {
             return departInterence.getMenu().then((res) => {
                 let resolvePath = "";
@@ -412,7 +419,8 @@ export default {
                             break;
                         }
                     }
-                    return resolvePath || "/" + (menuList[0].children?menuList[0].children[0].path:menuList[1].children[0].path);
+                    const defaultPath=this.getPathVal(menuList[0])
+                    return resolvePath || "/" + defaultPath;
                 }
                 return "/" + pathVal;
             });

+ 66 - 0
src/views/home_manage/components/BIWrap.vue

@@ -0,0 +1,66 @@
+<template>
+  <div class="item-wrap">
+    <div class="lable-text">BI看板</div>
+    <div class="list-box">
+      <div class="list-item" v-for="item in 7" :key="item">
+        <div class="title">煤炭市场价格走势及影响因素(0921)</div>
+        <div class="author">创建人</div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>
+
+<style lang="scss" scoped>
+.item-wrap {
+  box-shadow: 0px 2px 12px 0px #0000001a;
+  border: 1px solid #c8cdd9;
+  background-color: #fff;
+  padding: 11px 16px;
+  border-radius: 8px;
+  width: calc(50% - 50px);
+  .lable-text {
+    padding-bottom: 13px;
+    border-bottom: 1px solid #c8cdd9;
+    &::before {
+      content: "";
+      display: inline-block;
+      width: 4px;
+      height: 12px;
+      background-color: #10CFDB;
+      margin-right: 12px;
+      position: relative;
+      top: 1px;
+    }
+  }
+  .list-box{
+    padding-top: 10px;
+    .list-item{
+      margin-top: 10px;
+      padding: 10px 20px;
+      background: #FFFFFF;
+      border: 1px solid #EBEFF6;
+      box-shadow: 0px 2px 4px 0px #00000005;
+      display: flex;
+      align-items: center;
+      border-radius: 8px;
+      &::before{
+        content: '';
+        display: inline-block;
+        width: 8px;
+        height: 8px;
+        margin-right: 10px;
+        background: #94E1EC;
+      }
+      .title{
+        flex: 1;
+      }
+    }
+  }
+}
+</style>

+ 81 - 0
src/views/home_manage/components/PointViewWrap.vue

@@ -0,0 +1,81 @@
+<template>
+  <div class="item-wrap">
+    <div class="lable-text">观点库</div>
+    <div class="content-box">
+      <div class="content-lable">已关注观点</div>
+      <div class="info-list">
+        <div class="info-item" v-for="item in 10" :key="item">
+          <div class="time">2018.3.20 12:00:00</div>
+          <div class="text">稳地价、稳房价、稳预期”成为楼市调控主基调</div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>
+
+<style lang="scss" scoped>
+.item-wrap {
+  box-shadow: 0px 2px 12px 0px #0000001a;
+  border: 1px solid #c8cdd9;
+  background-color: #fff;
+  padding: 11px 16px;
+  border-radius: 8px;
+  width: calc(50% - 50px);
+  .lable-text {
+    padding-bottom: 13px;
+    border-bottom: 1px solid #c8cdd9;
+    &::before {
+      content: "";
+      display: inline-block;
+      width: 4px;
+      height: 12px;
+      background-color: #0052D9;
+      margin-right: 12px;
+      position: relative;
+      top: 1px;
+    }
+  }
+  .content-box {
+    margin-top: 13px;
+    padding: 15px;
+    background: #ECF2FE;
+    border: 1px solid #DAE8FF;
+    border-radius: 4px;
+    .content-lable {
+      color: #0052D9;
+      font-size: 16px;
+      font-weight: bold;
+    }
+    .info-list {
+      margin-top: 30px;
+      .info-item {
+        display: flex;
+        align-items: center;
+        margin-bottom: 10px;
+        color: #666;
+        &::before {
+          content: "";
+          display: inline-block;
+          width: 8px;
+          height: 8px;
+          background-color: #0052D9;
+          margin-right: 10px;
+        }
+        .time {
+          flex: 1;
+          text-align: center;
+        }
+        .text {
+          flex: 2;
+        }
+      }
+    }
+  }
+}
+</style>

+ 81 - 0
src/views/home_manage/components/PolicyWrap.vue

@@ -0,0 +1,81 @@
+<template>
+  <div class="item-wrap">
+    <div class="lable-text">政策库</div>
+    <div class="content-box">
+      <div class="content-lable">已关注政策</div>
+      <div class="info-list">
+        <div class="info-item" v-for="item in 10" :key="item">
+          <div class="time">2018.3.20 12:00:00</div>
+          <div class="text">稳地价、稳房价、稳预期”成为楼市调控主基调</div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>
+
+<style lang="scss" scoped>
+.item-wrap{
+  box-shadow: 0px 2px 12px 0px #0000001A;
+  border: 1px solid #C8CDD9;
+  background-color: #fff ;
+  padding: 11px 16px;
+  border-radius: 8px;
+  width: calc(50% - 50px);
+  .lable-text{
+    padding-bottom: 13px;
+    border-bottom: 1px solid #C8CDD9;
+     &::before{
+       content: '';
+       display: inline-block;
+       width: 4px;
+       height: 12px;
+       background-color: #E37318;
+       margin-right: 12px;
+       position: relative;
+       top: 1px;
+     }
+  }
+  .content-box{
+    margin-top: 13px;
+    padding: 15px;
+    background: #FFF1E9;
+    border: 1px solid #FFD9C2;
+    border-radius: 4px;
+    .content-lable{
+      color: #E37318;
+      font-size: 16px;
+      font-weight: bold;
+    }
+    .info-list{
+      margin-top: 30px;
+      .info-item{
+        display: flex;
+        align-items: center;
+        margin-bottom: 10px;
+        color: #666;
+        .time{
+          flex: 1;
+          text-align: center;
+        }
+        .text{
+          flex: 2;
+          &::before{
+            content: '';
+            display: inline-block;
+            width: 8px;
+            height: 8px;
+            background-color: #F7BA1E;
+            margin-right: 10px;
+          }
+        }
+      }
+    }
+  }
+}
+</style>

+ 82 - 0
src/views/home_manage/components/ReportWrap.vue

@@ -0,0 +1,82 @@
+<template>
+  <div class="item-wrap">
+    <div class="lable-text">报告列表</div>
+    <div class="list-box">
+      <div class="list-item" v-for="item in 3" :key="item">
+        <div class="title">煤炭市场价格走势及影响因素(0921)</div>
+        <div class="des-text">
+          摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容摘要内容
+        </div>
+        <div class="time-text">2024.09.20</div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>
+
+<style lang="scss" scoped>
+.item-wrap {
+  box-shadow: 0px 2px 12px 0px #0000001a;
+  border: 1px solid #c8cdd9;
+  background-color: #fff;
+  padding: 11px 16px;
+  border-radius: 8px;
+  width: calc(50% - 50px);
+  .lable-text {
+    padding-bottom: 13px;
+    border-bottom: 1px solid #c8cdd9;
+    &::before {
+      content: "";
+      display: inline-block;
+      width: 4px;
+      height: 12px;
+      background-color: #8a18e3;
+      margin-right: 12px;
+      position: relative;
+      top: 1px;
+    }
+  }
+  .list-box {
+    padding-top: 10px;
+    .list-item {
+      margin-top: 10px;
+      padding: 10px 20px;
+      background: #ffffff;
+      border: 1px solid #ebeff6;
+      box-shadow: 0px 2px 4px 0px #00000005;
+      border-radius: 8px;
+      color: #666;
+      .title {
+        color: #333;
+        &::before {
+          content: "";
+          display: inline-block;
+          width: 8px;
+          height: 8px;
+          margin-right: 10px;
+          background: #e6c6ff;
+        }
+      }
+      .des-text{
+        margin: 5px 0;
+        line-height: 1.7;
+        padding-left: 18px;
+        display: -webkit-box;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        -webkit-line-clamp: 2;
+        line-break: anywhere;
+        -webkit-box-orient: vertical;
+      }
+      .time-text{
+        padding-left: 18px;
+      }
+    }
+  }
+}
+</style>

+ 26 - 0
src/views/home_manage/index.vue

@@ -0,0 +1,26 @@
+<template>
+  <div class="home-page">
+    <policy-wrap/>
+    <Point-view-wrap/>
+    <BIWrap/>
+    <ReportWrap/>
+  </div>
+</template>
+
+<script>
+import BIWrap from './components/BIWrap.vue'
+import PointViewWrap from './components/PointViewWrap.vue'
+import PolicyWrap from './components/PolicyWrap.vue'
+import ReportWrap from './components/ReportWrap.vue'
+export default {
+  components:{PolicyWrap,PointViewWrap,BIWrap,ReportWrap}
+}
+</script>
+
+<style lang="scss" scoped>
+.home-page{
+  display: flex;
+  flex-wrap: wrap;
+  gap: 20px;
+}
+</style>

+ 2 - 2
src/views/system_manage/components/addUserDialog.vue

@@ -53,10 +53,10 @@
                     </el-option>
                 </el-select>
             </el-form-item>
-            <el-form-item :label="$t('SystemManage.DepartManage.user_table_direct')" prop="direct" v-permission="permissionBtn.sysDepartPermission.sysDepart_saveUser_researchGroup">
+            <!-- <el-form-item :label="$t('SystemManage.DepartManage.user_table_direct')" prop="direct" v-permission="permissionBtn.sysDepartPermission.sysDepart_saveUser_researchGroup">
                 <el-cascader collapse-tags :show-all-levels="false" :options="researchGroup" v-model="userForm.direct"
                     :props="form_directProp" :placeholder="$t('SystemManage.DepartManage.user_add_placeholder08')" clearable></el-cascader>
-            </el-form-item>
+            </el-form-item> -->
             <el-form-item :label="$t('SystemManage.DepartManage.user_table_position')" prop="post">
                 <el-input v-model="userForm.post" :placeholder="$t('SystemManage.DepartManage.user_add_placeholder09')" clearable>
                 </el-input>

+ 22 - 22
src/views/system_manage/departManage.vue

@@ -1185,16 +1185,16 @@ export default {
 		},
 		/* 点击表格行查看用户详情 */
 		async getUserDetail(row) {
-			let ResearchGroupIds = [] 
-			const res = await departInterence.getResearchGroupByAdminId({
-				AdminId:row.AdminId
-			})
-			if(res.Ret===200&&res.Data){
-				res.Data.forEach(row=>{
-					ResearchGroupIds.push(row.research_group_id)
-				})
-			}
-			const direct = this.changeResearchGroupIdsToDirect(ResearchGroupIds,'tag_name')
+			// let ResearchGroupIds = [] 
+			// const res = await departInterence.getResearchGroupByAdminId({
+			// 	AdminId:row.AdminId
+			// })
+			// if(res.Ret===200&&res.Data){
+			// 	res.Data.forEach(row=>{
+			// 		ResearchGroupIds.push(row.research_group_id)
+			// 	})
+			// }
+			// const direct = this.changeResearchGroupIdsToDirect(ResearchGroupIds,'tag_name')
 			this.userObj = {
 				name:row.RealName || '暂无',
 				tel:row.Mobile || '暂无',
@@ -1206,7 +1206,7 @@ export default {
 				account:row.AdminName,
 				pwd:row.Password,
 				employeeNumber:row.EmployeeId || '暂无',
-				direct:direct,
+				direct:'',
 				province:row.Province,
 				city:row.City,
 			}
@@ -1226,16 +1226,16 @@ export default {
 			departArr.push(item.DepartmentId)
 			item.GroupId?departArr.push(item.GroupId):''
 			item.TeamId ?departArr.push(item.TeamId):''
-			let ResearchGroupIds = []
-			const res = await departInterence.getResearchGroupByAdminId({
-				AdminId:item.AdminId
-			})
-			if(res.Ret===200&&res.Data){
-				res.Data.forEach(item=>{
-					ResearchGroupIds.push(item.research_group_id)
-				})
-			}
-			const direct = this.changeResearchGroupIdsToDirect(ResearchGroupIds,'tag_id')
+			// let ResearchGroupIds = []
+			// const res = await departInterence.getResearchGroupByAdminId({
+			// 	AdminId:item.AdminId
+			// })
+			// if(res.Ret===200&&res.Data){
+			// 	res.Data.forEach(item=>{
+			// 		ResearchGroupIds.push(item.research_group_id)
+			// 	})
+			// }
+			// const direct = this.changeResearchGroupIdsToDirect(ResearchGroupIds,'tag_id')
 		/* 	if(departArr[0]===1){
 				this.isExtraUserFormItemShow = true
 			}else{
@@ -1258,7 +1258,7 @@ export default {
 				mobile:item.Mobile,
 				auth:item.Authority,
 				status:item.Enabled,
-				direct:direct,
+				direct:'',
 				departmentName:item.DepartmentGroup,
         disabledForm:false,
 				disabledStatus:false,

+ 6 - 5
src/views/system_manage/mixin/departManageMixin.js

@@ -93,11 +93,12 @@ export default {
                     this.researchGroup = res.Data
                 }
             }) */
-            departInterence.getTagTree().then(res=>{
-                if(res.Ret===200){
-                    this.researchGroup = res.Data
-                }
-            })
+            // departInterence.getTagTree().then(res=>{
+            //     if(res.Ret===200){
+            //         this.researchGroup = res.Data
+            //     }
+            // })
+            this.researchGroup = []
 		},
         //转换研究员研究方向分组数据,用于编辑的回显
         changeResearchGroupIdsToDirect(ResearchGroupIds,keyWord){

+ 10 - 10
src/views/system_manage/newAuthManage.vue

@@ -2,15 +2,15 @@
     <div class="authManage_container">
         <div class="auth_cont_top">
             <div>
-                <span>{{$t('SystemManage.RoleManage.role_name')}}:</span>
-                <span>{{Role.RoleName}}</span>
-                <!-- <el-select v-model="role" placeholder="请选择角色" style="width:360px;marginLeft:30px;">
+                <!-- <span>{{$t('SystemManage.RoleManage.role_name')}}:</span>
+                <span>{{Role.RoleName}}</span> -->
+                <el-select v-model="role" placeholder="请选择角色" style="width:360px;marginLeft:30px;">
                     <el-option v-for="item in roleList" :key="item.RoleId" :label="item.RoleName" :value="item.RoleId">
                     </el-option>
-                </el-select> -->
+                </el-select>
             </div>
-            <el-button style="margin-left:auto;marginRight:50px;width:140px;" @click="$router.back()" v-if="!isLook">{{$t('Dialog.cancel_btn')}}
-            </el-button>
+            <!-- <el-button style="margin-left:auto;marginRight:50px;width:140px;" @click="$router.back()" v-if="!isLook">{{$t('Dialog.cancel_btn')}}
+            </el-button> -->
             <el-button type="primary" style="marginRight:50px;width:140px;" @click="saveAuth" v-if="!isLook">{{$t('Dialog.confirm_save_btn')}}
             </el-button>
         </div>
@@ -64,10 +64,10 @@ export default {
             departInterence.getRole().then(res => {
                 if (res.Ret === 200) {
                     this.roleList = res.Data.List||[];
-                    /* if (res.Data.List.length && !this.role) {
+                    if (res.Data.List.length && !this.role) {
                         this.role = res.Data.List[0].RoleId
-                    } */
-                    this.Role = this.roleList.find(i=>i.RoleId===this.role)||{}
+                    } 
+                    // this.Role = this.roleList.find(i=>i.RoleId===this.role)||{}
                 }
             })
         },
@@ -114,7 +114,7 @@ export default {
             }).then(res=>{
                 if(res.Ret!==200) return 
                 this.$message.success(this.$t('SystemManage.RoleManage.set_permission_success'))
-                this.$router.back()
+                // this.$router.back()
             })
         },
         formatTree(data,type){