shaogen1995 4 лет назад
Родитель
Сommit
2a416bb5b2

+ 6 - 1
src/apis/tab4.js

@@ -35,7 +35,12 @@ export const delUserById = (id) => {
     url: `/sys/user/removes/${id}`
   })
 }
-
+// 重置密码
+export const resetPass = (id) => {
+  return axios({
+    url: `/sys/user/resetPass/${id}`
+  })
+}
 // 获取日志列表
 export const getLogList = (data) => {
   return axios({

+ 8 - 3
src/views/layout/index.vue

@@ -33,8 +33,8 @@
             {{ item.name }}
           </li>
         </ul>
-        <div class="title">系统管理</div>
-        <ul>
+        <div class="title" v-if="userInfo.roleId===1">系统管理</div>
+        <ul v-if="userInfo.roleId===1">
           <li
             v-for="item in tabList2"
             :key="item.id"
@@ -187,9 +187,14 @@ export default {
     const res = localStorage.getItem('SWKK_userInfo')
     // console.log(999, JSON.parse(res))
     this.userInfo = JSON.parse(res)
+    // 如果是普通用户---删掉场景案例
+    if (this.userInfo.roleId === 2) {
+      this.tabList1.pop()
+    }
   },
   // 生命周期 - 挂载完成(可以访问DOM元素)
-  mounted () {},
+  mounted () {
+  },
   beforeCreate () {}, // 生命周期 - 创建之前
   beforeMount () {}, // 生命周期 - 挂载之前
   beforeUpdate () {}, // 生命周期 - 更新之前

+ 56 - 6
src/views/tab1/index.vue

@@ -30,9 +30,19 @@
       </div>
       <!-- 表格 -->
       <div class="table">
+        <!-- 表格的保密级别显示隐藏 -->
+        <div class="privary" @mouseenter="privary=true" @mouseleave='privary=false'>
+          <div class="tit">?</div>
+          <ul v-show="privary">
+            <li>一般--所有人可查阅</li>
+            <li>秘密--查阅人为公司内部所有员工,经过允许可对外分享</li>
+            <li>机密--查阅人为管理员、项目负责人、获得允许的员工</li>
+            <li>绝密--查阅人仅为管理员、项目负责人</li>
+          </ul>
+        </div>
         <div class="title">
           <div class="txt">项目列表</div>
-          <div class="addBtn" @click="$router.push('/layout/tab1_add')">
+          <div class="addBtn" @click="$router.push('/layout/tab1_add')" v-if="userLogo">
             + 新增
           </div>
         </div>
@@ -52,18 +62,18 @@
             prop="projectTypeName"
             label="项目分类"
           ></el-table-column>
-          <el-table-column prop="technology" label="应用技术" >
+          <el-table-column prop="technology" label="应用技术">
           </el-table-column>
-          <el-table-column prop="application" label="展示形式" >
+          <el-table-column prop="application" label="展示形式">
           </el-table-column>
           <el-table-column prop="updateTime" label="项目时间" >
           </el-table-column>
-          <el-table-column prop="level" label="保密级别" width="120"> </el-table-column>
+          <el-table-column prop="level" label="保密级别" width="120"></el-table-column>
           <el-table-column label="操作" >
             <template #default='{row}'>
               <el-button type="text" @click="look(row.id)">查 看</el-button>
-              <el-button type="text" @click="projecEdit(row.id)">编 辑</el-button>
-              <el-button type="text" @click="projecDel(row.id)">删 除</el-button>
+              <el-button type="text" @click="projecEdit(row.id)" v-if="userLogo">编 辑</el-button>
+              <el-button type="text" @click="projecDel(row.id)" v-if="userLogo">删 除</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -90,6 +100,8 @@ export default {
   data () {
     // 这里存放数据
     return {
+      privary: false,
+      userLogo: true, // 用户标识
       total: 0,
       projectType: [],
       form: {
@@ -175,6 +187,14 @@ export default {
     const res1 = await getProjectType()
     this.projectType = res1.data
     this.projectType.unshift({ id: null, name: '全部' })
+    // 获取用户信息
+    const aaa = localStorage.getItem('SWKK_userInfo')
+    // console.log(999, JSON.parse(res))
+    const userData = JSON.parse(aaa)
+    // 如果是普通用户---删掉场景案例
+    if (userData.roleId === 2) {
+      this.userLogo = false
+    }
   },
   // 生命周期 - 挂载完成(可以访问DOM元素)
   mounted () {},
@@ -273,6 +293,7 @@ export default {
       }
     }
     .table {
+      position: relative;
       margin-top: 25px;
       .title {
         position: relative;
@@ -294,6 +315,35 @@ export default {
           top: 62px;
         }
       }
+      .privary{
+        color: #fff;
+        z-index: 999;
+        position: absolute;
+        right: 253px;
+        top: 68px;
+        .tit {
+          background-color: #dc3545;
+          width: 20px;
+          height: 20px;
+          border-radius: 50%;
+          display: flex;
+          justify-content: center;
+          align-items: center;
+          cursor: pointer;
+          }
+          ul {
+            width: 450px;
+            position: absolute;
+            right: -253px;
+            top: 34px;
+            padding: 20px;
+            color: #dc3545;
+            background-color: #d8dadc;
+            li {
+              margin-bottom: 12px;
+            }
+          }
+      }
     }
     .paging {
       position: absolute;

+ 10 - 1
src/views/tab1/tab1_look.vue

@@ -53,7 +53,7 @@
       <!-- 底部按钮 -->
       <div class="button_btn">
         <div @click="$router.go(-1)">返 回</div>
-        <div class="edit" @click="projecEdit">编 辑</div>
+        <div class="edit" @click="projecEdit" v-if="userLogo">编 辑</div>
       </div>
     </div>
   </div>
@@ -69,6 +69,7 @@ export default {
   data () {
     // 这里存放数据
     return {
+      userLogo: true, // 用户标识
       baseURL: '',
       tab0Data: {},
       tab1Data: [],
@@ -119,6 +120,14 @@ export default {
     this.tab2Data = res.data.scene
     this.tab3Data = res.data.doc
     this.tab4Data = res.data.goods
+    // 获取用户信息
+    const aaa = localStorage.getItem('SWKK_userInfo')
+    // console.log(999, JSON.parse(res))
+    const userData = JSON.parse(aaa)
+    // 如果是普通用户---删掉场景案例
+    if (userData.roleId === 2) {
+      this.userLogo = false
+    }
   },
   // 生命周期 - 挂载完成(可以访问DOM元素)
   mounted () {},

+ 61 - 10
src/views/tab2/index.vue

@@ -32,6 +32,20 @@
       </div>
       <!-- 表格 -->
       <div class="table">
+        <!-- 表格的保密级别显示隐藏 -->
+        <div
+          class="privary"
+          @mouseenter="privary = true"
+          @mouseleave="privary = false"
+        >
+          <div class="tit">?</div>
+          <ul v-show="privary">
+            <li>一般--所有人可查阅</li>
+            <li>秘密--查阅人为公司内部所有员工,经过允许可对外分享</li>
+            <li>机密--查阅人为管理员、项目负责人、获得允许的员工</li>
+            <li>绝密--查阅人仅为管理员、项目负责人</li>
+          </ul>
+        </div>
         <div class="title">
           <div class="txt">文物列表</div>
         </div>
@@ -49,7 +63,7 @@
           <el-table-column label="图片" width="120">
             <template #default="{ row }">
               <div class="tabImg">
-                <img :src="baseURL + row.thumb" alt="" :onerror='defaultImg'/>
+                <img :src="baseURL + row.thumb" alt="" :onerror="defaultImg" />
               </div>
             </template>
           </el-table-column>
@@ -59,14 +73,17 @@
             label="文物类别"
           ></el-table-column>
           <el-table-column label="所属项目" #default="{ row }">
-            <span style="cursor: pointer;" @click="jump(row.projectId)">{{row.projectName}}</span>
+            <span style="cursor: pointer" @click="jump(row.projectId)">{{
+              row.projectName
+            }}</span>
           </el-table-column>
-          <el-table-column label="所属项目分类"  prop="projectTypeName">
+          <el-table-column label="所属项目分类" prop="projectTypeName">
           </el-table-column>
           <el-table-column label="链接" #default="{ row }">
             <a :href="row.url" target="_blank">{{ row.url }}</a>
           </el-table-column>
-          <el-table-column prop="level" label="保密级别" width="120"> </el-table-column>
+          <el-table-column prop="level" label="保密级别" width="120">
+          </el-table-column>
         </el-table>
       </div>
       <!-- 分页 -->
@@ -74,7 +91,7 @@
         <el-pagination
           layout="prev, pager, next,sizes,jumper"
           :total="total"
-          :current-page='form.pageNum'
+          :current-page="form.pageNum"
           @current-change="currentChange"
           @size-change="sizeChange"
         >
@@ -93,6 +110,7 @@ export default {
   data () {
     // 这里存放数据
     return {
+      privary: false,
       // 文物类别数组
       antiqueArr: [],
       // 项目分类数组
@@ -131,7 +149,7 @@ export default {
       const res = await getGoodsList(data)
       this.tableData = res.data.list
       // console.log(999, res)
-      this.tableData.forEach(v => {
+      this.tableData.forEach((v) => {
         v.level = this.myLevel(v.level)
       })
       this.total = res.data.total
@@ -176,15 +194,18 @@ export default {
 </script>
 <style lang='less' scoped>
 .template {
-    /deep/.cell{
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
+  /deep/.cell {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
   }
 
   /deep/.el-table__row td:nth-of-type(5) {
     color: #e97b86;
   }
+  /deep/.el-table__row td:nth-of-type(7) {
+    color: #e97b86;
+  }
   /deep/.el-table__body-wrapper {
     max-height: 450px;
     overflow-y: auto;
@@ -263,6 +284,7 @@ export default {
       }
     }
     .table {
+      position: relative;
       margin-top: 25px;
       .title {
         padding: 15px 20px 0;
@@ -280,6 +302,35 @@ export default {
       a {
         color: #e97b86;
       }
+      .privary {
+        color: #fff;
+        z-index: 999;
+        position: absolute;
+        right: 20px;
+        top: 68px;
+        .tit {
+          background-color: #dc3545;
+          width: 20px;
+          height: 20px;
+          border-radius: 50%;
+          display: flex;
+          justify-content: center;
+          align-items: center;
+          cursor: pointer;
+        }
+        ul {
+          width: 450px;
+          position: absolute;
+          right: -20px;
+          top: 34px;
+          padding: 20px;
+          color: #dc3545;
+          background-color: #d8dadc;
+          li {
+            margin-bottom: 12px;
+          }
+        }
+      }
     }
     .paging {
       position: absolute;

+ 47 - 1
src/views/tab3/index.vue

@@ -23,6 +23,19 @@
       </div>
       <!-- 表格 -->
       <div class="table">
+        <div
+          class="privary"
+          @mouseenter="privary = true"
+          @mouseleave="privary = false"
+        >
+          <div class="tit">?</div>
+          <ul v-show="privary">
+            <li>一般--所有人可查阅</li>
+            <li>秘密--查阅人为公司内部所有员工,经过允许可对外分享</li>
+            <li>机密--查阅人为管理员、项目负责人、获得允许的员工</li>
+            <li>绝密--查阅人仅为管理员、项目负责人</li>
+          </ul>
+        </div>
         <div class="title">
           <div class="txt">场景列表</div>
         </div>
@@ -72,6 +85,7 @@ export default {
   data () {
     // 这里存放数据
     return {
+      privary: false,
       projectType: [],
       total: 0,
       form: {
@@ -152,6 +166,9 @@ export default {
   /deep/.el-table__row td:nth-of-type(3) {
     color: #E97B86;
   }
+  /deep/.el-table__row td:nth-of-type(6) {
+    color: #E97B86;
+  }
 
   /deep/.el-table__body-wrapper {
     max-height: 450px;
@@ -231,6 +248,7 @@ export default {
       }
     }
     .table {
+      position: relative;
       margin-top: 25px;
       .title {
         position: relative;
@@ -240,7 +258,35 @@ export default {
             a {
         color: #e97b86;
       }
-    }
+      .privary {
+        color: #fff;
+        z-index: 999;
+        position: absolute;
+        right: 20px;
+        top: 68px;
+        .tit {
+          background-color: #dc3545;
+          width: 20px;
+          height: 20px;
+          border-radius: 50%;
+          display: flex;
+          justify-content: center;
+          align-items: center;
+          cursor: pointer;
+        }
+        ul {
+          width: 450px;
+          position: absolute;
+          right: -20px;
+          top: 34px;
+          padding: 20px;
+          color: #dc3545;
+          background-color: #d8dadc;
+          li {
+            margin-bottom: 12px;
+          }
+        }
+      }    }
     .paging {
       position: absolute;
       bottom: 15px;

+ 29 - 3
src/views/tab4/index.vue

@@ -10,7 +10,7 @@
           <span>用户名:</span>
           <el-input v-model="form.searchKey" placeholder="请输入"></el-input>
         </div>
-        <div class="btn" @click="getUserList(form)">搜 索</div>
+        <div class="btn" @click="search">搜 索</div>
       </div>
       <!-- 表格 -->
       <div class="table">
@@ -32,12 +32,13 @@
           <el-table-column prop="realName" label="用户名"></el-table-column>
           <el-table-column prop="roleName" label="用户角色"></el-table-column>
           <el-table-column prop="dept" label="部门"> </el-table-column>
-          <el-table-column prop="updateTime" label="创建时间"> </el-table-column>
+          <el-table-column prop="createTime" label="创建时间"> </el-table-column>
           <el-table-column prop="remark" label="备注"> </el-table-column>
           <el-table-column label="操作">
             <template #default='{row}'>
               <el-button type="text" @click="editUser(row.id)">编 辑</el-button>
               <el-button type="text" @click="delUserById(row.id)" v-if="row.roleId!==1">删 除</el-button>
+              <el-button type="text" @click="resetPass(row.id)" v-if="row.roleId!==1">重置密码</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -60,7 +61,7 @@
 
 <script>
 import Tab4Add from './tab4_add.vue'
-import { getUserList, delUserById } from '@/apis/tab4'
+import { getUserList, delUserById, resetPass } from '@/apis/tab4'
 export default {
   name: 'tab3',
   components: { Tab4Add },
@@ -83,6 +84,31 @@ export default {
   watch: {},
   // 方法集合
   methods: {
+    // 点击搜索
+    search () {
+      this.form.pageNum = 1
+      this.getUserList(this.form)
+    },
+
+    // 点击重置密码
+    resetPass (id) {
+      this.$confirm('确定重置密码吗?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      })
+        .then(async () => {
+          const res = await resetPass(id)
+          if (res.code === 0) {
+            this.getUserList(this.form)
+            this.$message.success('重置密码成功!')
+          }
+          console.log(999, res)
+        })
+        .catch(() => {
+          this.$message.info('已取消重置!')
+        })
+    },
     // 点击删除
     delUserById (id) {
       this.$confirm('确定删除吗?', '提示', {

+ 29 - 7
src/views/tab5/index.vue

@@ -20,7 +20,7 @@
           <span>输入搜索:</span>
           <el-input v-model="form.searchKey" placeholder="请输入"></el-input>
         </div>
-        <div class="btn">搜 索</div>
+        <div class="btn" @click="search">搜 索</div>
       </div>
       <!-- 表格 -->
       <div class="table">
@@ -38,16 +38,20 @@
               {{ scope.$index + (form.pageNum - 1) * form.pageSize + 1 }}
             </template>
           </el-table-column>
-          <el-table-column prop="name1" label="操作者"></el-table-column>
-          <el-table-column prop="name2" label="操作时间"></el-table-column>
-          <el-table-column prop="name3" label="ip地址"> </el-table-column>
-          <el-table-column prop="name3" label="操作类型"> </el-table-column>
-          <el-table-column prop="name3" label="操作记录"> </el-table-column>
+          <el-table-column prop="userName" label="操作者"></el-table-column>
+          <el-table-column prop="createTime" label="操作时间"></el-table-column>
+          <el-table-column prop="ip" label="ip地址"> </el-table-column>
+          <el-table-column prop="type" label="操作类型"> </el-table-column>
+          <el-table-column prop="description" label="操作记录"> </el-table-column>
         </el-table>
       </div>
       <!-- 分页 -->
       <div class="paging">
-        <el-pagination layout="prev, pager, next,sizes,jumper" :total="total">
+        <el-pagination layout="prev, pager, next,sizes,jumper" :total="total"
+          :current-page='form.pageNum'
+          @current-change="currentChange"
+          @size-change="sizeChange"
+        >
         </el-pagination>
       </div>
     </div>
@@ -83,9 +87,27 @@ export default {
   },
   // 方法集合
   methods: {
+    // 点击搜索
+    search () {
+      this.form.pageNum = 1
+      this.getLogList(this.form)
+    },
+    // 分页器方法
+    currentChange (val) {
+      // console.log('当前页改变了', val)
+      this.form.pageNum = val
+      this.getLogList(this.form)
+    },
+    sizeChange (val) {
+      // console.log('条数改变了', val)
+      this.form.pageNum = 1
+      this.form.pageSize = val
+      this.getLogList(this.form)
+    },
     // 封装获取列表方法
     async getLogList (data) {
       const res = await getLogList(data)
+      console.log(999, res)
       this.tableData = res.data.list
       this.total = res.data.total
     },