wenbobowen 4 lat temu
rodzic
commit
9c92b421da

+ 64 - 28
src/components/newLayout/Head.vue

@@ -36,8 +36,32 @@
     <div v-if="userInfo" class="user-info">
       <a-popover placement="rightBottom" overlay-class-name="head-popover">
         <template #content>
-          <div :class="memberCheck ? 'user-admin-one' : 'user-admin'">
-            <div class="user-name">{{ userInfo.name }}</div>
+          <div class="user-admin-one">
+            <div class="title line">
+              <svg-icon icon-class="setting" class="icon" />
+              <span class="label">设置</span>
+            </div>
+            <div class="item">
+              <div class="label line">
+                顶部导航
+              </div>
+              <div class="label line">
+                详情页当前标签页打开
+              </div>
+            </div>
+            <div class="title line">
+              <svg-icon icon-class="admin" class="icon" />
+              <span class="label">管理员</span>
+            </div>
+            <div class="item">
+              <div class="label line">
+                {{ userInfo.name }}
+              </div>
+              <div class="label line">
+                <el-button type="primary" plain size="small">退出登录</el-button>
+              </div>
+            </div>
+            <!-- <div class="user-name">{{ userInfo.name }}</div>
             <div class="line" />
             <div class="user-logout">
               <el-button v-if="navTagType === 1" type="primary" plain size="small" @click="setNavTagType(2)">顶部导航</el-button>
@@ -50,7 +74,7 @@
             <div v-if="memberCheck" class="line" />
             <div class="user-logout">
               <el-button type="primary" plain size="small" @click="layout()">退出登录</el-button>
-            </div>
+            </div> -->
           </div>
         </template>
         <img :src="userInfo.phoneUrl">
@@ -246,35 +270,47 @@ export default {
     height: 30px;
   }
 }
-.user-admin {
-  height: 143px;
-  width: 95px;
-  display: flex;
-  flex-direction: column;
-  display: grid;
-  grid-template-rows: 47px 1px 47px 1px 47px;
-  justify-items: center;
-  align-items: center;
-  .line {
-    width: 100%;
-    height: 1px;
-    background-color: rgba(112, 112, 112, 0.2);
-  }
-}
+// .user-admin {
+//   height: 143px;
+//   width: 95px;
+//   display: flex;
+//   flex-direction: column;
+//   display: grid;
+//   grid-template-rows: 47px 1px 47px 1px 47px;
+//   justify-items: center;
+//   align-items: center;
+//   .line {
+//     width: 100%;
+//     height: 1px;
+//     background-color: rgba(112, 112, 112, 0.2);
+//   }
+// }
 .user-admin-one {
   height: 190px;
-  width: 95px;
-  display: flex;
-  flex-direction: column;
-  display: grid;
-  grid-template-rows: 47px 1px 47px 1px 47px;
-  justify-items: center;
-  align-items: center;
+  .title {
+    .icon {
+      margin-right: 5px;
+      font-size: 12px;
+    }
+  }
   .line {
-    width: 100%;
-    height: 1px;
-    background-color: rgba(112, 112, 112, 0.2);
+    margin-bottom: 10px;
+  }
+  .item {
+    margin-left: 18px;
   }
+  // width: 95px;
+  // display: flex;
+  // flex-direction: column;
+  // display: grid;
+  // grid-template-rows: 47px 1px 47px 1px 47px;
+  // justify-items: center;
+  // align-items: center;
+  // .line {
+  //   width: 100%;
+  //   height: 1px;
+  //   background-color: rgba(112, 112, 112, 0.2);
+  // }
 }
 
 // .user-control {

+ 10 - 0
src/icons/svg/admin.svg

@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
+  <defs>
+    <style>
+      .cls-1 {
+        fill: #3e9dff;
+      }
+    </style>
+  </defs>
+  <path id="管理员" class="cls-1" d="M74.091,71.773a.416.416,0,0,1-.383.385h-.031a.671.671,0,0,0-.669.669.78.78,0,0,0,.059.255.482.482,0,0,1-.165.584l-.018.012-.777.427a.5.5,0,0,1-.213.049.519.519,0,0,1-.381-.163.622.622,0,0,0-1.1-.006.525.525,0,0,1-.576.12l-.768-.427a.489.489,0,0,1-.181-.6.772.772,0,0,0,.059-.253.671.671,0,0,0-.67-.669h-.026a.418.418,0,0,1-.388-.386,2.953,2.953,0,0,1,0-1.242.418.418,0,0,1,.383-.386h.031a.67.67,0,0,0,.67-.668.752.752,0,0,0-.06-.256.484.484,0,0,1,.166-.585l.018-.011.8-.438.015-.006a.529.529,0,0,1,.571.119.618.618,0,0,0,1.072.005.53.53,0,0,1,.572-.114l.782.432a.488.488,0,0,1,.182.6.788.788,0,0,0-.058.253.67.67,0,0,0,.669.668H73.7a.418.418,0,0,1,.388.386,3.979,3.979,0,0,1,.066.621A4.24,4.24,0,0,1,74.091,71.773Zm-.583-1.031A1.277,1.277,0,0,1,72.4,69.477a1.254,1.254,0,0,1,.068-.387l-.553-.307a2.279,2.279,0,0,1-.228.185,1.06,1.06,0,0,1-1.386,0,2,2,0,0,1-.229-.19l-.579.318a1.249,1.249,0,0,1,.069.386,1.278,1.278,0,0,1-1.112,1.266,2.2,2.2,0,0,0,0,.817,1.25,1.25,0,0,1,1.043,1.653l.535.3a2.4,2.4,0,0,1,.229-.193,1.057,1.057,0,0,1,1.421.006,2.337,2.337,0,0,1,.23.2l.56-.309a1.254,1.254,0,0,1,1.043-1.653,2.207,2.207,0,0,0,0-.819Zm-2.544,1.587a1.166,1.166,0,1,1,1.182-1.182A1.184,1.184,0,0,1,70.964,72.329Zm0-1.731a.554.554,0,1,0,.573.55A.574.574,0,0,0,70.964,70.6Zm-1.715-3.009-.192.15a3.044,3.044,0,0,1-1.634.5h-.063q-.208,0-.416.02h-.005a4.4,4.4,0,0,0-3.992,4.361v.669h4.9a3.985,3.985,0,0,0,.478.782H62.551a.393.393,0,0,1-.4-.39v-1.06a5.142,5.142,0,0,1,3.279-4.794l.226-.089-.192-.15A3.017,3.017,0,0,1,64.292,65.2a3.067,3.067,0,0,1,6.133,0A3.022,3.022,0,0,1,69.249,67.589Zm-1.89-4.651A2.26,2.26,0,1,0,69.635,65.2,2.27,2.27,0,0,0,67.359,62.938Z" transform="translate(-62.156 -62.156)"/>
+</svg>

+ 13 - 0
src/icons/svg/setting.svg

@@ -0,0 +1,13 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="12" height="11" viewBox="0 0 12 11">
+  <defs>
+    <style>
+      .cls-1 {
+        fill: #409eff;
+      }
+    </style>
+  </defs>
+  <g id="设置" transform="translate(-112 -128)">
+    <path id="路径_13151" data-name="路径 13151" class="cls-1" d="M120.141,139h-4.313a1.744,1.744,0,0,1-1.5-.874l-2.094-3.721a1.868,1.868,0,0,1,0-1.812l2.125-3.721a1.694,1.694,0,0,1,1.469-.874h4.313a1.744,1.744,0,0,1,1.5.874l2.125,3.721a1.868,1.868,0,0,1,0,1.812l-2.125,3.721A1.706,1.706,0,0,1,120.141,139Zm-4.313-10.029a.852.852,0,0,0-.687.388l-2.094,3.721a.813.813,0,0,0,0,.841l2.125,3.721a.778.778,0,0,0,.688.388h4.313a.852.852,0,0,0,.687-.388l2.125-3.721a.813.813,0,0,0,0-.841l-2.125-3.721a.958.958,0,0,0-.719-.388Z" transform="translate(0)"/>
+    <path id="路径_13152" data-name="路径 13152" class="cls-1" d="M398.888,347.644a2.089,2.089,0,0,1,0-4.177.5.5,0,1,1,0,.995,1.094,1.094,0,1,0,1.094,1.094.5.5,0,1,1,.995,0A2.123,2.123,0,0,1,398.888,347.644Z" transform="translate(-280.752 -212.246)"/>
+  </g>
+</svg>

+ 62 - 2
src/views/projectManage/taskList/taskIndex.vue

@@ -150,6 +150,21 @@
           </div>
         </div>
       </div>
+      <el-row v-if="filterList.length && filterList.length>0" type="flex" justify="space-between" class="filter">
+        <el-col :span="2">
+          <span>我的过滤器:</span>
+        </el-col>
+        <el-col :span="20" class="mine-filter">
+          <span v-for="item in filterList" :key="item.id" class="filter-item" @click="getFilterItem(item.id)">
+            <el-tooltip class="item" effect="dark" :content="item.name" placement="bottom">
+              <span>{{ item.name }}</span>
+            </el-tooltip>
+          </span>
+        </el-col>
+        <el-col :span="2" align="end">
+          <span style="min-width: 84px" @click.stop="showEditSearch = true">管理过滤器</span>
+        </el-col>
+      </el-row>
     </div>
     <div class="stylus-content">
       <el-table
@@ -238,6 +253,9 @@
     </div>
     <!-- 弹窗 -->
     <openDialog v-if="dialog_open" ref="task_createdUpdata" />
+    <normal-dialog :show-footer="false" :show-dialog="showEditSearch" :title="'管理过滤器'" :width="'65%'" @cancel="showEditSearch=false">
+      <filter-list :show-filter="showEditSearch" @deleteFilter="deleteFilter" />
+    </normal-dialog>
   </div>
 </template>
 
@@ -255,11 +273,16 @@ import {
 } from '@/api/taskIndex' // ajax
 import { settingQueryBizModuleList } from '@/api/defectManage'
 import openDialog from '@/views/projectManage/dialog_vue'
+// 过滤器
+import filterList from '@/views/projectManage/components/filterList'
+import normalDialog from '@/components/dialog/normalDialog'
 import '@/views/projectManage/publicCss/index.css'
 import '@/styles/PublicStyle/index.scss'
 export default {
   components: {
-    openDialog
+    openDialog,
+    filterList,
+    normalDialog
   },
   data() {
     return {
@@ -331,7 +354,12 @@ export default {
       test: {},
       task_table: [],
       form: {},
-      arry: []
+      arry: [],
+      filterList: [{
+        name: 'ss',
+        id: 1
+      }],
+      showEditSearch: false // 显示管理过滤器
     }
   },
   computed: {
@@ -517,6 +545,19 @@ export default {
         data[i].childModules && data[i].childModules.length < 1 ? delete data[i].childModules : this.getRequireData(data[i].childModules)
       }
       return data
+    },
+    deleteFilter() {
+      console.log(1111)
+    },
+    async getFilterItem(filterId) { // 获取单个过滤器
+      // const res = await filterGetFilter(filterId)
+      // if (res.code === 200) {
+      //   const filter = JSON.parse(res.data.content)
+      //   Object.assign(this.searchForm, filter)
+      //   this.requirementName = filter.name
+      //   this.curIndex = 1
+      //   this.getTableData()
+      // }
     }
   }
 }
@@ -529,6 +570,25 @@ export default {
   position: absolute;
   left: 120px;
 }
+.filter {
+  font-size: 14px;
+  width: 100%;
+  padding: 15px 11px 0px 15px;
+  color: #606266;
+  cursor: pointer;
+  .mine-filter {
+    .filter-item {
+      display: inline-block;
+      width: 15%;
+      color: #409EFF;
+      margin-right: 15px;
+      overflow: hidden;
+      text-overflow:ellipsis;
+      white-space: nowrap;
+      // margin-bottom: 5px;
+    }
+  }
+}
 </style>
 <style>
 .el-loading-mask {