dedsudiyu 1 yıl önce
ebeveyn
işleme
9b41b892b6
33 değiştirilmiş dosya ile 504 ekleme ve 214 silme
  1. 37 0
      src/api/iotDevice/index.js
  2. 3 0
      src/directive/index.js
  3. 2 0
      src/directive/permission/hasPermi.js
  4. 13 5
      src/directive/permission/hasPermiDom.js
  5. 3 0
      src/directive/permission/index.js
  6. 37 0
      src/store/modules/permission.js
  7. 4 1
      src/store/modules/user.js
  8. 0 1
      src/utils/request.js
  9. 319 125
      src/views/iotDevice/monitoringWarning/warningMode/index.vue
  10. 3 3
      src/views/laboratoryManagement/personnelManage/major/index.vue
  11. 12 12
      src/views/laboratoryManagement/personnelManage/studentInfo/index.vue
  12. 17 17
      src/views/laboratoryManagement/personnelManage/teacherInfo/index.vue
  13. 3 3
      src/views/serviceCenter/apkManage/applyList/index.vue
  14. 5 5
      src/views/serviceCenter/certificationManagement/certificationAccredit/index.vue
  15. 3 3
      src/views/serviceCenter/certificationManagement/certificationInfo/index.vue
  16. 1 1
      src/views/serviceCenter/logManagement/algorithmLogs/index.vue
  17. 1 1
      src/views/serviceCenter/logManagement/systemLogs/index.vue
  18. 1 1
      src/views/serviceCenter/onlineUser/index.vue
  19. 1 1
      src/views/serviceCenter/timingTask/index.vue
  20. 4 4
      src/views/systemManagement/dict/data.vue
  21. 5 5
      src/views/systemManagement/dict/index.vue
  22. 5 1
      src/views/systemManagement/filePreview/index.vue
  23. 5 5
      src/views/systemManagement/menu/index.vue
  24. 3 3
      src/views/systemManagement/notice/index.vue
  25. 3 3
      src/views/systemManagement/parameterSetting/index.vue
  26. 1 1
      src/views/systemManagement/publicConfig/basicsConfig.vue
  27. 1 1
      src/views/systemManagement/publicConfig/chemicalsConfig.vue
  28. 1 1
      src/views/systemManagement/publicConfig/exploitConfig.vue
  29. 1 1
      src/views/systemManagement/publicConfig/homeConfig.vue
  30. 1 1
      src/views/systemManagement/publicConfig/integrationConfig.vue
  31. 1 1
      src/views/systemManagement/publicConfig/programConfig.vue
  32. 5 5
      src/views/systemManagement/roleManagement/index.vue
  33. 3 3
      src/views/systemManagement/systemUser/index.vue

+ 37 - 0
src/api/iotDevice/index.js

@@ -98,3 +98,40 @@ export function iotParamAll(data) {
     data: data
   })
 }
+/***********告警方式*************/
+//方式列表
+export function iotAlarmType(query) {
+  return request({
+    url: '/iot/alarm/type',
+    method: 'get',
+    params: query
+  })
+}
+
+//告警方式列表
+export function iotAlarmTypeList(data) {
+  return request({
+    url: '/iot/alarm/type/list',
+    method: 'post',
+    data: data
+  })
+}
+
+//告警方式新增
+export function iotAlarmTypeAdd(data) {
+  return request({
+    url: '/iot/alarm/type/add',
+    method: 'post',
+    data: data
+  })
+}
+
+//告警方式编辑
+export function iotAlarmTypeUpdate(data) {
+  return request({
+    url: '/iot/alarm/type/update',
+    method: 'post',
+    data: data
+  })
+}
+

+ 3 - 0
src/directive/index.js

@@ -1,6 +1,7 @@
 import hasRole from './permission/hasRole'
 import hasPermi from './permission/hasPermi'
 import hasPermiAnd from './permission/hasPermiAnd'
+import hasPermiRouter from './permission/hasPermiRouter'
 import dialogDrag from './dialog/drag'
 import dialogDragWidth from './dialog/dragWidth'
 import dialogDragHeight from './dialog/dragHeight'
@@ -9,6 +10,7 @@ const install = function(Vue) {
   Vue.directive('hasRole', hasRole)
   Vue.directive('hasPermi', hasPermi)
   Vue.directive('hasPermiAnd', hasPermiAnd)
+  Vue.directive('hasPermiRouter', hasPermiRouter)
   Vue.directive('dialogDrag', dialogDrag)
   Vue.directive('dialogDragWidth', dialogDragWidth)
   Vue.directive('dialogDragHeight', dialogDragHeight)
@@ -18,6 +20,7 @@ if (window.Vue) {
   window['hasRole'] = hasRole
   window['hasPermi'] = hasPermi
   window['hasPermiAnd'] = hasPermiAnd
+  window['hasPermiRouter'] = hasPermiRouter
   Vue.use(install); // eslint-disable-line
 }
 

+ 2 - 0
src/directive/permission/hasPermi.js

@@ -4,9 +4,11 @@
  */
 
 import store from '@/store'
+import router from '@/router'
 
 export default {
   inserted(el, binding, vnode) {
+    console.log('pageRoute',router.currentRoute.matched[router.currentRoute.matched.length-1].name)
     const { value } = binding
     const all_permission = "*:*:*";
     const permissions = store.getters && store.getters.permissions

+ 13 - 5
src/directive/permission/hasPermiDom.js

@@ -4,17 +4,25 @@
  */
 
 import store from '@/store'
+import router from '@/router'
 export default {
   hasPermiDom(binding) {
+    let pageRoute = router.currentRoute.matched[router.currentRoute.matched.length-1].name
     const value  = binding;
     const all_permission = "*:*:*";
     const permissions = store.getters && store.getters.permissions
-    if (value && value instanceof Array && value.length > 0) {
+    if (permissions == all_permission) {
+      return true
+    }else if (value && value instanceof Array && value.length > 0) {
       const permissionFlag = value
-      const hasPermissions = permissions.some(permission => {
-        return all_permission === permission || permissionFlag.includes(permission)
-      })
-      return hasPermissions;
+      for(let i=0;i<permissions.length;i++){
+        if(permissions[i].path == pageRoute){
+          const hasPermissions = permissions[i].permissions.some(permission => {
+            return all_permission === permission || permissionFlag.includes(permission)
+          })
+          return hasPermissions;
+        }
+      }
     } else {
       return false;
     }

+ 3 - 0
src/directive/permission/index.js

@@ -1,17 +1,20 @@
 import hasRole from './hasRole'
 import hasPermi from './hasPermi'
 import hasPermiAnd from './hasPermiAnd'
+import hasPermiRouter from './hasPermiRouter'
 
 const install = function(Vue) {
   Vue.directive('hasRole', hasRole)
   Vue.directive('hasPermi', hasPermi)
   Vue.directive('hasPermiAnd', hasPermiAnd)
+  Vue.directive('hasPermiRouter', hasPermiRouter)
 }
 
 if (window.Vue) {
   window['hasRole'] = hasRole;          //角色权限(暂时已废弃)
   window['hasPermi'] = hasPermi;        //权限字段权限(或判断)
   window['hasPermiAnd'] = hasPermiAnd;  //权限字段权限(与判断)
+  window['hasPermiRouter'] = hasPermiRouter;  //根据路由数据返回判断权限字段权限
   Vue.use(install); // eslint-disable-line
 }
 

+ 37 - 0
src/store/modules/permission.js

@@ -3,6 +3,7 @@ import { getRouters } from '@/api/basicsModules/index'
 import Layout from '@/layout/index'
 import ParentView from '@/layout/components/ParentView'
 import InnerLink from '@/layout/components/InnerLink'
+import store from '@/store'
 
 const permission = {
   state: {
@@ -26,6 +27,9 @@ const permission = {
     SET_SIDEBAR_ROUTERS: (state, routes) => {
       state.sidebarRouters = routes
     },
+    SET_PERMISSIONS: (state, permissions) => {
+      state.permissions = permissions
+    }
   },
   actions: {
     // 生成路由
@@ -33,6 +37,12 @@ const permission = {
       return new Promise(resolve => {
         // 向后端请求路由数据
         getRouters().then(res => {
+          //路由版权限处理
+          let permissions = store.getters.permissions;
+          if(permissions[0] != "*:*:*"){
+            let routeList = routePermissionsData(res.data);
+            commit('SET_PERMISSIONS', routeList)
+          }
           //大屏跳转判定(路由地址修改)
           let dataList = JSON.parse(JSON.stringify(res.data));
           let newData = routeSetData(dataList);
@@ -59,6 +69,33 @@ const permission = {
   }
 }
 
+//路由数据权限化处理
+function routePermissionsData(list){
+  let newList = JSON.parse(JSON.stringify(list));
+  let routeList = [];
+  for(let i=0;i<newList.length;i++){
+    if(newList[i].menuType == 1 && newList[i].child && newList[i].visible){
+      let obj = {
+        path:newList[i].path,
+        permissions:[],
+      };
+      for(let o=0;o<newList[i].child.length;o++){
+        if(newList[i].child[o].menuType == 2 && newList[i].child[o].visible && newList[i].child[o].perms){
+          obj.permissions.push(newList[i].child[o].perms)
+        }
+      }
+      routeList.push(obj);
+    }else if(newList[i].menuType == 0 && newList[i].child){
+      let newRouteList = routePermissionsData(newList[i].child)
+      if(newRouteList[0]){
+        routeList = routeList.concat(newRouteList)
+      }
+    }
+  }
+  return routeList;
+}
+
+
 //路由数据格式处理(后台返回数据与路由参数不匹配在这里重新处理格式)
 function routeSetData(list,type){
   if(list && list[0]){

+ 4 - 1
src/store/modules/user.js

@@ -105,7 +105,10 @@ const user = {
             commit('SET_AVATAR', avatar)
             localStorage.setItem('user',JSON.stringify(user));
             commit('SET_ROLES', ['placeholder'])
-            commit('SET_PERMISSIONS', res.data.data)
+            if(res.data.data[0] == "*:*:*"){
+              commit('SET_PERMISSIONS', res.data.data)
+            }
+            // commit('SET_PERMISSIONS', res.data.data)//V3版本已废弃,使用新的路由数据权限
             resolve(res)
           }else{
             store.dispatch('LogOut').then(() => {

+ 0 - 1
src/utils/request.js

@@ -44,7 +44,6 @@ service.interceptors.request.use(config => {
   // 是否需要设置 token
   const isToken = (config.headers || {}).isToken === false
   if (getToken() && !isToken) {
-    // config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
     config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
   }
   // get请求映射params参数

+ 319 - 125
src/views/iotDevice/monitoringWarning/warningMode/index.vue

@@ -1,134 +1,184 @@
 <!--告警方式-->
 <template>
   <div class="app-container warningMode">
-    <div class="title-box">
-      <el-form :model="queryParams" class="form-box" ref="queryForm"
-               :inline="true" style="width:100%;">
-        <el-form-item label="名称" prop="queryData1" label-width="90px">
-          <el-input
-            maxLength="30"
-            v-model="queryParams.queryData1"
-            placeholder="请输入"
-            clearable
-            style="width: 200px"
-          />
-        </el-form-item>
-        <el-form-item label="方式" prop="queryData2">
-          <el-select v-model="queryParams.queryData2" clearable placeholder="请选择" style="width: 200px">
-            <el-option
-              v-for="dict in options"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
+    <div class="warningMode-page" v-if="pageType === 1">
+      <div class="title-box">
+        <el-form :model="queryParams" class="form-box" ref="queryForm"
+                 :inline="true" style="width:100%;">
+          <el-form-item label="名称" label-width="70px">
+            <el-input
+              maxLength="30"
+              v-model="queryParams.name"
+              placeholder="请输入关键词"
+              clearable
+              style="width: 200px"
             />
-          </el-select>
-        </el-form-item>
-        <el-form-item>
-          <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
-          <p class="reset-button-one" @click="resetQuery">重置</p>
-        </el-form-item>
-        <el-form-item label="" prop="title" style="float: right">
-          <el-col :span="1.5" style="margin-right:10px;">
-            <p class="add-button-one-90"
-               @click="dialogOpen"
-            >新增</p>
-          </el-col>
-        </el-form-item>
-      </el-form>
-    </div>
-    <div class="content-box">
-      <el-table v-loading="loading" border :data="dataList">
-        <el-table-column label="名称" width="80" align="left" prop="data1" />
-        <el-table-column label="方式" align="left" prop="data2" show-overflow-tooltip/>
-        <el-table-column label="类型" align="left" prop="data3" show-overflow-tooltip/>
-        <el-table-column label="说明" align="left" prop="data4" show-overflow-tooltip/>
-        <el-table-column label="状态" align="left" prop="data5" show-overflow-tooltip/>
-        <el-table-column label="创建时间" align="left" prop="data6" show-overflow-tooltip>
-          <template slot-scope="scope">
-            <span>{{ parseTime(scope.row.data6) }}</span>
-          </template>
-        </el-table-column>
-        <el-table-column label="操作" align="left" class-name="small-padding fixed-width">
-          <template slot-scope="scope">
-            <div class="table-button-box">
-              <p class="table-button-null"></p>
-              <p class="table-button-p"
-                 @click="tableButton(2,scope.row)"
-              >详情</p>
-              <p class="table-button-p"
-                 @click="tableButton(3,scope.row)"
-              >编辑</p>
-              <p class="table-button-p"
-                 @click="tableButton(4,scope.row)"
-              >删除</p>
-              <p class="table-button-null"></p>
+          </el-form-item>
+          <el-form-item label="方式">
+            <el-select v-model="queryParams.alarmType"
+                       style="width: 200px"
+                       clearable placeholder="请选择">
+              <el-option
+                v-for="dict in typeList"
+                :key="dict.id"
+                :label="dict.name"
+                :value="dict.id"
+              />
+            </el-select>
+          </el-form-item>
+          <el-form-item>
+            <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
+            <p class="reset-button-one" @click="resetQuery">重置</p>
+          </el-form-item>
+          <el-form-item label="" prop="title" style="float: right">
+            <el-col :span="1.5" style="margin-right:10px;">
+              <p class="add-button-one-90"
+                 @click="cardClick"
+              >{{cardType?'切换列表':'切换卡片'}}</p>
+            </el-col>
+          </el-form-item>
+          <el-form-item label="" prop="title" style="float: right">
+            <el-col :span="1.5" style="margin-right:10px;">
+              <p class="add-button-one-90"
+                 @click="tableButton(1)"
+              >新增</p>
+            </el-col>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div class="content-box">
+        <el-table v-loading="loading" border :data="dataList" v-if="!cardType">
+          <el-table-column label="名称" width="200" align="left" prop="name" show-overflow-tooltip/>
+          <el-table-column label="方式" width="120" align="left" prop="alarmType" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <p v-for="item in typeList" :key="index" v-show="item.id == scope.row.alarmType">{{item.name}}</p>
+            </template>
+          </el-table-column>
+          <el-table-column label="类型" width="140" align="left" prop="category" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <p v-for="item in categoryList" :key="index" v-show="item.id == scope.row.category">{{item.name}}</p>
+            </template>
+          </el-table-column>
+          <el-table-column label="配置信息" align="left" prop="params" show-overflow-tooltip/>
+          <el-table-column label="状态" width="100" align="left" prop="state" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <el-switch
+                @click.native="tableButton(5,scope.row)"
+                class="switch captcha-img"
+                :active-value="true"
+                :inactive-value="false"
+                active-color="#0183FA"
+                inactive-color="#999"
+                v-model="scope.row.state"
+                active-text="启用"
+                inactive-text="停用"
+                disabled
+              ></el-switch>
+            </template>
+          </el-table-column>
+          <el-table-column label="创建时间" width="200" align="left" prop="createTime" show-overflow-tooltip>
+            <template slot-scope="scope">
+              <span>{{ parseTime(scope.row.createTime) }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="操作" align="left" class-name="small-padding fixed-width" width="200">
+            <template slot-scope="scope">
+              <div class="table-button-box">
+                <p class="table-button-null"></p>
+                <p class="table-button-p"
+                   @click="tableButton(2,scope.row)"
+                >详情</p>
+                <p class="table-button-p"
+                   @click="tableButton(3,scope.row)"
+                >编辑</p>
+                <p class="table-button-p"
+                   @click="tableButton(4,scope.row)"
+                >删除</p>
+                <p class="table-button-null"></p>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <div class="card-max-box scrollbar-box" v-if="cardType">
+          <div class="for-card-box" v-for="(item,index) in dataList" :key="index">
+            <p class="for-card-title-p">
+              <span v-for="minItem in typeList" v-show="minItem.id == item.alarmType">{{minItem.name}}</span>
+              <span> | </span>
+              <span v-for="minItem in categoryList" v-show="minItem.id == item.category">{{minItem.name}}</span>
+              <span> -- </span>
+              <span>{{item.name}}</span>
+            </p>
+            <div class="for-content-box">
+              <img v-for="minItem in typeList" v-show="minItem.id == item.alarmType" :src="minItem.img">
+              <div>
+                <p>配置信息</p>
+                <p>{{item.params}}</p>
+              </div>
             </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <pagination :page-sizes="[20, 30, 40, 50]"
-                  v-show="total>0"
-                  :total="total"
-                  :page.sync="queryParams.page"
-                  :limit.sync="queryParams.pageSize"
-                  @pagination="getList"
-      />
-    </div>
-    <!--新增弹窗-->
-    <el-dialog class="warningMode-dialog" :title='dialogTitle' width="540px" append-to-body
-               :visible.sync="dialogType" v-if="dialogType" @close="dialogOff()"
-               :close-on-click-modal="false" :close-on-press-escape="false">
-      <div slot="footer" class="dialog-footer dialog-footer-box" style="display: flex">
-        <p class="dialog-footer-button-null"></p>
-        <p class="dialog-footer-button-info" @click="dialogOff()">取消</p>
-        <p class="dialog-footer-button-primary" @click="dialogSubmit">确定</p>
-        <p class="dialog-footer-button-null"></p>
+            <div class="for-car-button-box">
+              <p @click="tableButton(2,item)">详情</p>
+              <p @click="tableButton(3,item)">编辑</p>
+              <p @click="tableButton(5,item)">{{item.state?'停用':'启用'}}</p>
+              <p @click="tableButton(4,item)">删除</p>
+            </div>
+          </div>
+        </div>
+        <pagination :page-sizes="[20, 30, 40, 50]"
+                    v-show="total>0"
+                    :total="total"
+                    :page.sync="queryParams.page"
+                    :limit.sync="queryParams.pageSize"
+                    @pagination="getList"
+        />
       </div>
-    </el-dialog>
+    </div>
+    <addPage v-if="pageType === 2" :propsData="propsData"></addPage>
   </div>
 </template>
 
 <script>
+  import { iotAlarmType,iotAlarmTypeList } from "@/api/iotDevice/index";
+  import addPage from "./addPage.vue";
   export default {
     name: 'index',
+    components: {
+      addPage
+    },
     data(){
       return{
+        pageType:1,
+        cardType:true,
         loading:false,
-        options:[{label:'钉钉',value:1},{label:'微信',value:2},{label:'邮件',value:3},{label:'语音',value:4},{label:'短信',value:5},{label:'电话',value:6},],
+        typeList:[
+          {name:"钉钉",id:1,img:require('@/assets/ZDimages/iotDevice/dingding.png')},
+          {name:"微信",id:2,img:require('@/assets/ZDimages/iotDevice/weixin.png')},
+          {name:"邮件",id:3,img:require('@/assets/ZDimages/iotDevice/youjian.png')},
+          {name:"电话",id:4,img:require('@/assets/ZDimages/iotDevice/dianhua.png')},
+          {name:"短信",id:5,img:require('@/assets/ZDimages/iotDevice/duanxin.png')},
+        ],
+        categoryList:[],
         queryParams:{
           page:1,
           pageSize:20,
-          queryData1:"",
-          jobGroup:null,
-          queryData2:null,
+          name:"",
+          alarmType :null,
         },
         dataList:[],
         total:0,
-        dialogTitle:null,
-        dialogType:false,
-        dialogForm:{},
+        //组件传参
+        propsData:{},
       }
     },
     created(){
 
     },
     mounted(){
-
+      this.getList();
     },
     methods:{
-      //弹层关闭
-      dialogOff(){
-        this.$set(this,'dialogType',false);
-      },
-      //弹层开启
-      dialogOpen(){
-        this.dialogFormReset();
-        this.$set(this,'dialogTitle','新增');
-        this.$set(this,'dialogType',true);
-      },
-      //弹层确定
-      dialogSubmit(){
-        this.$set(this,'dialogType',false);
+      //卡片点击事件
+      cardClick(){
+        this.$set(this,'cardType',!this.cardType);
       },
       handleQuery(){
         this.$set(this.queryParams,'page',1);
@@ -143,27 +193,57 @@
         });
         this.getList();
       },
-      dialogFormReset(){
-        this.$set(this,'dialogForm',{
-
-        });
-      },
       //获取数据列表
       getList(){
-        // this.$set(this,'loading',true);
-        // listJobLog(this.queryParams).then(response => {
-        //   this.$set(this,'loading',false);
-        //   this.$set(this,'dataList',response.data.records);
-        //   this.$set(this,'total',response.data.total);
-        // });
+        this.$set(this,'loading',true);
+        iotAlarmTypeList(this.queryParams).then(response => {
+          this.$set(this,'loading',false);
+          this.$set(this,'dataList',response.data.records);
+          this.$set(this,'total',response.data.total);
+        });
       },
       tableButton(type,row){
-        if(type == 2){
-
+        if(type == 1){
+          this.$set(this,'pageType',2);
+          this.$set(this,'propsData',{});
+        }else if(type == 2){
+          this.$set(this,'pageType',2);
+          let obj = JSON.parse(JSON.stringify(row))
+          obj.showType = true;
+          this.$set(this,'propsData',obj);
         }else if(type == 3){
-          this.dialogFormReset();
+          this.$set(this,'pageType',2);
+          let obj = JSON.parse(JSON.stringify(row))
+          obj.showType = false;
+          this.$set(this,'propsData',obj);
         }else if(type == 4){
-
+          this.$confirm('是否确认删除?', "警告", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(function() {
+          }).then(() => {
+            // appInfoDelete({id:row.id}).then(response => {
+            //   self.msgSuccess(response.message)
+            //   self.getList();
+            // });
+          }).catch(() => {});
+        }else if(type == 5){
+          let text = row.state === "0" ? "启用" : "停用";
+          this.$confirm('确认要' + text + '?', "警告", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          }).then(function() {
+            return systemUserEditState({userId:row.userId, state:!row.state});
+          }).then(() => {
+            this.getList();
+            this.msgSuccess("操作成功");
+          }).catch(function() {
+          });
+        }else if(type == 6){
+          this.$set(this,'pageType',1);
+          this.getList();
         }
       },
     },
@@ -175,17 +255,131 @@
     flex:1;
     display: flex;
     flex-direction: column;
-    .title-box{
-      padding-top:20px;
-      border-bottom:1px solid #dedede;
-      display: flex;
-    }
-    .content-box{
-      flex: 1;
+    .warningMode-page{
+      flex:1;
       display: flex;
       flex-direction: column;
-      padding:20px;
       overflow: hidden;
+      .title-box{
+        padding-top:20px;
+        border-bottom:1px solid #dedede;
+        display: flex;
+        .icon-button{
+          cursor: pointer;
+          width:90px;
+          line-height:40px;
+          font-size:24px;
+          text-align: center;
+        }
+      }
+      .content-box{
+        flex: 1;
+        display: flex;
+        flex-direction: column;
+        padding:20px;
+        overflow: hidden;
+      }
+      .card-max-box{
+        flex: 1;
+        .for-card-box{
+          display: inline-block;
+          width:470px;
+          height:240px;
+          -webkit-box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.2);
+          border-radius:6px;
+          margin:20px;
+          overflow: hidden;
+          .for-card-title-p{
+            font-size:16px;
+            line-height:40px;
+            height:40px;
+            padding:0 20px;
+            color:#fff;
+            background: #3296fa;
+          }
+          .for-content-box{
+            height:159px;
+            display: flex;
+            img{
+              width:80px;
+              height:80px;
+              margin:40px 30px;
+            }
+            div{
+              padding-right:20px;
+              p{
+                line-height:40px;
+              }
+              p:nth-child(1){
+                margin-top:10px;
+              }
+              p:nth-child(2){
+                width:300px;
+                line-height:20px;
+                overflow-wrap: break-word;
+                color:#333;
+                display: -webkit-box;
+                -webkit-box-orient: vertical;
+                -webkit-line-clamp: 4;
+                overflow: hidden;
+              }
+            }
+          }
+          .for-car-button-box{
+            display: flex;
+            border-top:1px solid #dedede;
+            p{
+              cursor: pointer;
+              line-height:40px;
+              flex:1;
+              text-align: center;
+              color:#3296fa;
+            }
+            p:hover{
+              color:#fff;
+              background-color: #3296fa;
+            }
+          }
+        }
+        .for-card-box:hover{
+          -webkit-box-shadow: 0 0 8px 1px rgba(50,150,250,1);
+          .for-car-button-box{
+            border-top:1px solid rgba(50,150,250,0.5);
+          }
+        }
+      }
+    }
+  }
+</style>
+
+<style lang="scss">
+  .warningMode{
+    .warningMode-page{
+      .switch .el-switch__label {
+        position: absolute;
+        display: none;
+        color: #fff !important;
+      }
+      .switch .el-switch__label--right {
+        z-index: 1;
+      }
+      .switch .el-switch__label--right span{
+        margin-left: 10px;
+      }
+      .switch .el-switch__label--left {
+        z-index: 1;
+      }
+      .switch .el-switch__label--left span{
+        margin-left: 24px;
+      }
+      .switch .el-switch__label.is-active {
+        display: block;
+      }
+      .switch.el-switch .el-switch__core,
+      .el-switch .el-switch__label {
+        width: 64px !important;
+        margin: 0;
+      }
     }
   }
 </style>

+ 3 - 3
src/views/laboratoryManagement/personnelManage/major/index.vue

@@ -15,7 +15,7 @@
           <el-col :span="1.5">
             <p class="add-button-one-90"
                @click="handleAdd"
-               v-hasPermi="['system:major:add']"
+               v-hasPermiRouter="['system:major:add']"
             >新增</p>
           </el-col>
         </el-form-item>
@@ -38,11 +38,11 @@
               >班级管理</p>
               <p class="table-button-p"
                  @click="tableButton(2,scope.row)"
-                 v-hasPermiAnd="['system:major:query','system:major:edit']"
+                 v-hasPermiRouter="['system:major:edit']"
               >修改</p>
               <p class="table-button-p"
                  @click="tableButton(3,scope.row)"
-                 v-hasPermi="['system:major:remove']"
+                 v-hasPermiRouter="['system:major:remove']"
               >删除</p>
               <p class="table-button-null"></p>
             </div>

+ 12 - 12
src/views/laboratoryManagement/personnelManage/studentInfo/index.vue

@@ -3,7 +3,7 @@
   <div class="app-container student">
     <div v-show="pageType == 1" class="student-one-box">
       <el-form :model="queryParams" class="form-box" ref="queryForm" :inline="true" v-show="showSearch">
-        <!--v-hasPermi="['laboratory:plan:add']"-->
+        <!--v-hasPermiRouter="['laboratory:plan:add']"-->
         <el-form-item label="关键字" prop="searchValue" label-width="54px">
           <el-input
             maxLength="20"
@@ -40,20 +40,20 @@
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-dropdown @command="importButton" v-hasPermi="['system:user_student:import']">
+          <el-dropdown @command="importButton" v-hasPermiRouter="['system:user_student:import']">
             <div class="form-dropdown-box">
               <img src="@/assets/ZDimages/laboratoryManagement/icon_jzgxx_dr.png">
               <p>导入</p>
               <img src="@/assets/ZDimages/laboratoryManagement/icon_jzggl_xljt.png">
             </div>
             <el-dropdown-menu slot="dropdown">
-              <el-dropdown-item style="border-bottom:1px solid #E0E0E0;margin:0 10px;color:#333;" :command="{command:1}" v-hasPermi="['system:user_student:exceltemplate']">下载模板</el-dropdown-item>
+              <el-dropdown-item style="border-bottom:1px solid #E0E0E0;margin:0 10px;color:#333;" :command="{command:1}" v-hasPermiRouter="['system:user_student:exceltemplate']">下载模板</el-dropdown-item>
               <el-dropdown-item style="margin:0 10px;color:#666;" :command="{command:2}">导入数据</el-dropdown-item>
             </el-dropdown-menu>
           </el-dropdown>
         </el-form-item>
         <el-form-item>
-          <el-dropdown @command="exportButton" v-hasPermi="['system:user_student:export']">
+          <el-dropdown @command="exportButton" v-hasPermiRouter="['system:user_student:export']">
             <div class="form-dropdown-box">
               <img src="@/assets/ZDimages/laboratoryManagement/icon_jzgxx_sc.png">
               <p>导出</p>
@@ -66,14 +66,14 @@
           </el-dropdown>
         </el-form-item>
         <el-form-item style="float: right;">
-          <el-col :span="1.5" v-hasPermi="['system:user_student:add']">
+          <el-col :span="1.5" v-hasPermiRouter="['system:user_student:add']">
             <p class="add-button-one-90"
                @click="addButton"
             ><i class="el-icon-plus"></i>新增</p>
           </el-col>
         </el-form-item>
         <el-form-item style="float: right;">
-          <el-col :span="1.5" v-hasPermi="['system:user_student:check']">
+          <el-col :span="1.5" v-hasPermiRouter="['system:user_student:check']">
             <p class="add-button-one-90"
                @click="bindingCard"
             >批量绑卡</p>
@@ -122,18 +122,18 @@
             <div class="table-button-box">
               <p class="table-button-null"></p>
               <p class="table-button-p"
-                 v-hasPermi="['system:user_student:query']"
+                 v-hasPermiRouter="['system:user_student:query']"
                  @click="infoButton(scope.row)"
               >详情</p>
-              <el-dropdown @command="moreClick" v-hasPermi="['system:user_student:query','system:user_student:edit','system:user_student:remove','system:user_student:resetpwd']">
+              <el-dropdown @command="moreClick" v-hasPermiRouter="['system:user_student:query','system:user_student:edit','system:user_student:remove','system:user_student:resetpwd']">
                 <p class="table-button-p">更多>></p>
                 <el-dropdown-menu slot="dropdown">
                   <el-dropdown-item style="border-bottom:1px solid #E0E0E0;margin:0 10px;" :command="{row:scope.row,command:1}"
-                                    v-hasPermiAnd="['system:user_student:query','system:user_student:edit']">编辑</el-dropdown-item>
+                                    v-hasPermiRouter="['system:user_student:edit']">编辑</el-dropdown-item>
                   <el-dropdown-item style="border-bottom:1px solid #E0E0E0;margin:0 10px;" :command="{row:scope.row,command:2}"
-                                    v-hasPermi="['system:user_student:remove']">删除</el-dropdown-item>
+                                    v-hasPermiRouter="['system:user_student:remove']">删除</el-dropdown-item>
                   <el-dropdown-item style="margin:0 10px;" :command="{row:scope.row,command:3}"
-                                    v-hasPermi="['system:user_student:resetpwd']">重置密码</el-dropdown-item>
+                                    v-hasPermiRouter="['system:user_student:resetpwd']">重置密码</el-dropdown-item>
                 </el-dropdown-menu>
               </el-dropdown>
               <p class="table-button-null"></p>
@@ -186,7 +186,7 @@
         <div class="el-upload__tip" slot="tip">
           <el-checkbox v-model="upImportData.upDate">是否更新已经存在的用户数据</el-checkbox>
         </div>
-        <div class="el-upload__tip" slot="tip">仅允许导入xls、xlsx、格式文件。<span style="color:#0183FA;cursor: pointer" v-hasPermi="['system:user_student:exceltemplate']" @click="importTemplate">下载模板</span></div>
+        <div class="el-upload__tip" slot="tip">仅允许导入xls、xlsx、格式文件。<span style="color:#0183FA;cursor: pointer" v-hasPermiRouter="['system:user_student:exceltemplate']" @click="importTemplate">下载模板</span></div>
         <div class="el-upload-text-box" slot="tip" v-if="getImportData.downFile">
           <div class="img-text-box">
             <img src="@/assets/ZDimages/laboratoryManagement/icon_dr_wj.png">

+ 17 - 17
src/views/laboratoryManagement/personnelManage/teacherInfo/index.vue

@@ -6,22 +6,22 @@
         <div class="left-max-box ">
           <div class="top-button-max-box">
             <el-tooltip class="item" effect="dark" content="新增下级部门" placement="top">
-              <div class="new-button-box" @click="treeButtonClick(1)" v-hasPermi="['system:dept:add']"></div><!--新增-->
+              <div class="new-button-box" @click="treeButtonClick(1)" v-hasPermiRouter="['system:dept:add']"></div><!--新增-->
             </el-tooltip>
             <el-tooltip class="item" effect="dark" content="向上移动" placement="top">
-              <div class="superior-button-box" @click="treeButtonClick(2)" v-hasPermi="['system:dept:edit']"></div><!--上调-->
+              <div class="superior-button-box" @click="treeButtonClick(2)" v-hasPermiRouter="['system:dept:edit']"></div><!--上调-->
             </el-tooltip>
             <el-tooltip class="item" effect="dark" content="向下移动" placement="top">
-              <div class="down-button-box" @click="treeButtonClick(3)" v-hasPermi="['system:dept:edit']"></div><!--下调-->
+              <div class="down-button-box" @click="treeButtonClick(3)" v-hasPermiRouter="['system:dept:edit']"></div><!--下调-->
             </el-tooltip>
             <el-tooltip class="item" effect="dark" content="修改" placement="top">
-              <div class="edit-button-box" @click="treeButtonClick(4)" v-hasPermi="['system:dept:edit']"></div><!--编辑-->
+              <div class="edit-button-box" @click="treeButtonClick(4)" v-hasPermiRouter="['system:dept:edit']"></div><!--编辑-->
             </el-tooltip>
             <el-tooltip class="item" effect="dark" content="添加部门人员" placement="top">
-              <div class="add-button-box" @click="treeButtonClick(5)" v-hasPermi="['system:user_teacher:edit']"></div><!--人员添加-->
+              <div class="add-button-box" @click="treeButtonClick(5)" v-hasPermiRouter="['system:user_teacher:edit']"></div><!--人员添加-->
             </el-tooltip>
             <el-tooltip class="item" effect="dark" content="删除" placement="top">
-              <div class="delete-button-box" @click="treeButtonClick(6)" v-hasPermi="['system:dept:remove']"></div><!--删除-->
+              <div class="delete-button-box" @click="treeButtonClick(6)" v-hasPermiRouter="['system:dept:remove']"></div><!--删除-->
             </el-tooltip>
           </div>
           <div class="left-input-box">
@@ -94,20 +94,20 @@
               </el-select>
             </el-form-item>
             <el-form-item>
-              <el-dropdown @command="importButton" v-hasPermi="['system:user_teacher:import']">
+              <el-dropdown @command="importButton" v-hasPermiRouter="['system:user_teacher:import']">
                 <div class="form-dropdown-box" style="margin-left:5px;">
                   <img src="@/assets/ZDimages/laboratoryManagement/icon_jzgxx_dr.png">
                   <p>导入</p>
                   <img src="@/assets/ZDimages/laboratoryManagement/icon_jzggl_xljt.png">
                 </div>
                 <el-dropdown-menu slot="dropdown">
-                  <el-dropdown-item style="border-bottom:1px solid #E0E0E0;margin:0 10px;color:#333;" :command="{command:1}" v-hasPermi="['system:user_teacher:exceltemplate']">下载模板</el-dropdown-item>
+                  <el-dropdown-item style="border-bottom:1px solid #E0E0E0;margin:0 10px;color:#333;" :command="{command:1}" v-hasPermiRouter="['system:user_teacher:exceltemplate']">下载模板</el-dropdown-item>
                   <el-dropdown-item style="margin:0 10px;color:#666;" :command="{command:2}">导入数据</el-dropdown-item>
                 </el-dropdown-menu>
               </el-dropdown>
             </el-form-item>
             <el-form-item>
-              <el-dropdown @command="exportButton" v-hasPermi="['system:user_teacher:export']">
+              <el-dropdown @command="exportButton" v-hasPermiRouter="['system:user_teacher:export']">
                 <div class="form-dropdown-box">
                   <img src="@/assets/ZDimages/laboratoryManagement/icon_jzgxx_sc.png">
                   <p>导出</p>
@@ -120,14 +120,14 @@
               </el-dropdown>
             </el-form-item>
             <el-form-item style="float: right;">
-              <el-col :span="1.5" v-hasPermi="['system:user_teacher:add']">
+              <el-col :span="1.5" v-hasPermiRouter="['system:user_teacher:add']">
                 <p class="add-button-one-90"
                    @click="addButton"
                 ><i class="el-icon-plus"></i>新增</p>
               </el-col>
             </el-form-item>
             <el-form-item style="float: right;">
-              <el-col :span="1.5" v-hasPermi="['system:user_teacher:check']">
+              <el-col :span="1.5" v-hasPermiRouter="['system:user_teacher:check']">
                 <p class="add-button-one-90"
                    @click="bindingCard"
                 >批量绑卡</p>
@@ -199,18 +199,18 @@
                   <div class="table-button-box">
                     <p class="table-button-null"></p>
                     <p class="table-button-p"
-                       v-hasPermi="['system:user_teacher:query']"
+                       v-hasPermiRouter="['system:user_teacher:query']"
                        @click="infoButton(scope.row)"
                     >详情</p>
-                    <el-dropdown @command="moreClick" v-hasPermi="['system:user_teacher:query','system:user_teacher:edit','system:user_teacher:remove','system:user_teacher:resetpwd']">
+                    <el-dropdown @command="moreClick" v-hasPermiRouter="['system:user_teacher:query','system:user_teacher:edit','system:user_teacher:remove','system:user_teacher:resetpwd']">
                       <p class="table-button-p">更多>></p>
                       <el-dropdown-menu slot="dropdown">
                         <el-dropdown-item style="border-bottom:1px solid #E0E0E0;margin:0 10px;" :command="{row:scope.row,command:1}"
-                                          v-hasPermiAnd="['system:user_teacher:query','system:user_teacher:edit']">编辑</el-dropdown-item>
+                                          v-hasPermiRouter="['system:user_teacher:edit']">编辑</el-dropdown-item>
                         <el-dropdown-item style="border-bottom:1px solid #E0E0E0;margin:0 10px;" :command="{row:scope.row,command:2}"
-                                          v-hasPermi="['system:user_teacher:remove']">删除</el-dropdown-item>
+                                          v-hasPermiRouter="['system:user_teacher:remove']">删除</el-dropdown-item>
                         <el-dropdown-item style="margin:0 10px;" :command="{row:scope.row,command:3}"
-                                          v-hasPermi="['system:user_teacher:resetpwd']">重置密码</el-dropdown-item>
+                                          v-hasPermiRouter="['system:user_teacher:resetpwd']">重置密码</el-dropdown-item>
                       </el-dropdown-menu>
                     </el-dropdown>
                     <p class="table-button-null"></p>
@@ -266,7 +266,7 @@
         <div class="el-upload__tip" slot="tip">
           <el-checkbox v-model="upImportData.upDate">是否更新已经存在的用户数据</el-checkbox>
         </div>
-        <div class="el-upload__tip" slot="tip">仅允许导入xls、xlsx、格式文件。<span style="color:#0183FA;cursor: pointer" v-hasPermi="['system:user_teacher:exceltemplate']" @click="importTemplate">下载模板</span></div>
+        <div class="el-upload__tip" slot="tip">仅允许导入xls、xlsx、格式文件。<span style="color:#0183FA;cursor: pointer" v-hasPermiRouter="['system:user_teacher:exceltemplate']" @click="importTemplate">下载模板</span></div>
         <div class="el-upload-text-box" slot="tip" v-if="getImportData.downFile">
           <div class="img-text-box">
             <img src="@/assets/ZDimages/laboratoryManagement/icon_dr_wj.png">

+ 3 - 3
src/views/serviceCenter/apkManage/applyList/index.vue

@@ -30,7 +30,7 @@
           <el-col :span="1.5" style="margin-right: 10px;">
             <p class="add-button-one-120"
                @click="handleClick()"
-               v-hasPermi="['system:appManage:add']"
+               v-hasPermiRouter="['system:appManage:add']"
             >添加应用</p>
           </el-col>
         </el-form-item>
@@ -66,11 +66,11 @@
               >下载</p>
               <p class="table-button-p"
                  @click="tableButton(2,scope.row)"
-                 v-hasPermiAnd="['system:appManage:edit','system:appManage:detail']"
+                 v-hasPermiRouter="['system:appManage:edit']"
               >编辑</p>
               <p class="table-button-p"
                  @click="tableButton(3,scope.row)"
-                 v-hasPermi="['system:appManage:edit']"
+                 v-hasPermiRouter="['system:appManage:edit']"
               >删除</p>
               <p class="table-button-null"></p>
             </div>

+ 5 - 5
src/views/serviceCenter/certificationManagement/certificationAccredit/index.vue

@@ -40,7 +40,7 @@
           <el-col :span="1.5" style="margin-right:10px;">
             <p class="add-button-one-90"
                @click="dialogOpen"
-               v-hasPermi="['auth:license:add']"
+               v-hasPermiRouter="['auth:license:add']"
             >新增</p>
           </el-col>
         </el-form-item>
@@ -86,15 +86,15 @@
               <p class="table-button-null"></p>
               <p class="table-button-p"
                  @click="tableButton(1,scope.row)"
-                 v-hasPermiAnd="['auth:license:edit','auth:license:detail']"
+                 v-hasPermiRouter="['auth:license:edit']"
               >编辑</p>
               <p class="table-button-p"
                  @click="tableButton(2,scope.row)"
-                 v-hasPermi="['auth:license:edit']"
+                 v-hasPermiRouter="['auth:license:edit']"
               >重置密钥</p>
               <p class="table-button-p"
                  @click="tableButton(3,scope.row)"
-                 v-hasPermi="['auth:license:del']"
+                 v-hasPermiRouter="['auth:license:del']"
               >删除</p>
               <p class="table-button-null"></p>
             </div>
@@ -354,7 +354,7 @@
               customerId:response.data.appId,
               grantApis:newList,
               grantType:response.data.grantType,
-              expireTime:response.data.expireTime,
+              expireTime:response.data.expireTime.split('T')[0],
               state:response.data.state,
               remark:response.data.remark,
             });

+ 3 - 3
src/views/serviceCenter/certificationManagement/certificationInfo/index.vue

@@ -40,7 +40,7 @@
           <el-col :span="1.5" style="margin-right:10px;">
             <p class="add-button-one-90"
                @click="dialogOpen"
-               v-hasPermi="['auth:customer:add']"
+               v-hasPermiRouter="['auth:customer:add']"
             >新增</p>
           </el-col>
         </el-form-item>
@@ -70,11 +70,11 @@
               <p class="table-button-null"></p>
               <p class="table-button-p"
                  @click="tableButton(1,scope.row)"
-                 v-hasPermiAnd="['auth:customer:edit','auth:customer:detail']"
+                 v-hasPermiRouter="['auth:customer:edit']"
               >编辑</p>
               <p class="table-button-p"
                  @click="tableButton(2,scope.row)"
-                 v-hasPermi="['auth:customer:del']"
+                 v-hasPermiRouter="['auth:customer:del']"
               >删除</p>
               <p class="table-button-null"></p>
             </div>

+ 1 - 1
src/views/serviceCenter/logManagement/algorithmLogs/index.vue

@@ -89,7 +89,7 @@
                 <p class="table-button-null"></p>
                 <p class="table-button-p"
                    @click="tableButton(scope.row)"
-                   v-hasPermi="['system:alg:detail']"
+                   v-hasPermiRouter="['system:alg:detail']"
                 >详情</p>
                 <p class="table-button-null"></p>
               </div>

+ 1 - 1
src/views/serviceCenter/logManagement/systemLogs/index.vue

@@ -74,7 +74,7 @@
                 <p class="table-button-null"></p>
                 <p class="table-button-p"
                    @click="tableButton(scope.row)"
-                   v-hasPermi="['system:log:detail']"
+                   v-hasPermiRouter="['system:log:detail']"
                 >详情</p>
                 <p class="table-button-null"></p>
               </div>

+ 1 - 1
src/views/serviceCenter/onlineUser/index.vue

@@ -51,7 +51,7 @@
               <p class="table-button-null"></p>
               <p class="table-button-p"
                  @click="tableButton(scope.row)"
-                 v-hasPermi="['system:online:del']"
+                 v-hasPermiRouter="['system:online:del']"
               >踢出</p>
               <p class="table-button-null"></p>
             </div>

+ 1 - 1
src/views/serviceCenter/timingTask/index.vue

@@ -67,7 +67,7 @@
               type="text"
               icon="el-icon-view"
               @click="handleView(scope.row)"
-              v-hasPermi="['monitor:job:query']"
+              v-hasPermiRouter="['monitor:job:query']"
             >详细</el-button>
           </template>
         </el-table-column>

+ 4 - 4
src/views/systemManagement/dict/data.vue

@@ -30,7 +30,7 @@
       <el-col :span="1.5" style="margin-right:20px;float: right">
         <p class="add-button-one-90"
            @click="handleAdd"
-           v-hasPermi="['system:dict:add']"
+           v-hasPermiRouter="['system:dict:add']"
         >新增</p>
       </el-col>
     </el-form>
@@ -39,7 +39,7 @@
       <el-table-column label="字典名称" align="left" prop="label"/>
       <el-table-column label="字典数值" align="left" prop="value" />
       <el-table-column label="显示顺序" align="left" prop="sort" />
-      <el-table-column label="状态" align="left" prop="state" v-hasPermi="['system:dict:edit']">
+      <el-table-column label="状态" align="left" prop="state" v-hasPermiRouter="['system:dict:edit']">
         <template slot-scope="scope">
           <el-switch
             class="switch"
@@ -68,11 +68,11 @@
             <p class="table-button-null"></p>
             <p class="table-button-p"
                @click="handleUpdate(scope.row)"
-               v-hasPermiAnd="['system:dict:edit','system:dict:detail']"
+               v-hasPermiRouter="['system:dict:edit']"
             >编辑</p>
             <p class="table-button-p"
                @click="handleDelete(scope.row)"
-               v-hasPermi="['system:dict:del']"
+               v-hasPermiRouter="['system:dict:del']"
             >删除</p>
             <p class="table-button-null"></p>
           </div>

+ 5 - 5
src/views/systemManagement/dict/index.vue

@@ -34,7 +34,7 @@
         <el-col :span="1.5" >
           <p class="add-button-one-90"
              @click="handleAdd"
-             v-hasPermi="['system:dict:add']"
+             v-hasPermiRouter="['system:dict:add']"
           >新增字典</p>
         </el-col>
       </el-form-item>
@@ -47,7 +47,7 @@
     <el-table v-loading="loading" border :data="typeList" @selection-change="handleSelectionChange" class="table-box" v-if="pageType == 1">
       <el-table-column label="字典名称" align="left" prop="dictName"/>
       <el-table-column label="字典类型" align="left" prop="dictCode"/>
-      <el-table-column label="状态" align="left" prop="state" v-hasPermi="['system:dict:edit']">
+      <el-table-column label="状态" align="left" prop="state" v-hasPermiRouter="['system:dict:edit']">
         <template slot-scope="scope">
           <el-switch
             class="switch"
@@ -75,15 +75,15 @@
             <p class="table-button-null"></p>
             <p class="table-button-p"
                @click="clickPage(2,scope.row.dictId)"
-               v-hasPermi="['system:dict:list']"
+               v-hasPermiRouter="['system:dict:list']"
             >配置字典</p>
             <p class="table-button-p"
                @click="handleUpdate(scope.row)"
-               v-hasPermiAnd="['system:dict:edit','system:dict:detail']"
+               v-hasPermiRouter="['system:dict:edit']"
             >编辑</p>
             <p class="table-button-p"
                @click="handleDelete(scope.row)"
-               v-hasPermi="['system:dict:del']"
+               v-hasPermiRouter="['system:dict:del']"
             >删除</p>
             <p class="table-button-null"></p>
           </div>

+ 5 - 1
src/views/systemManagement/filePreview/index.vue

@@ -50,7 +50,11 @@
             <p class="clickCopy" @click="clickCopy(scope.row.fileUrl,'文件地址')">{{scope.row.fileUrl}}</p>
           </template>
         </el-table-column>
-        <el-table-column label="上传时间" align="center" prop="createTime" show-overflow-tooltip width="200"/>
+        <el-table-column label="上传时间" align="center" prop="createTime" show-overflow-tooltip width="200">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.createTime) }}</span>
+          </template>
+        </el-table-column>
         <el-table-column label="上传人" align="center" prop="userName" show-overflow-tooltip width="170"/>
         <el-table-column label="操作" align="center" prop="deptName" width="170">
           <template slot-scope="scope">

+ 5 - 5
src/views/systemManagement/menu/index.vue

@@ -29,7 +29,7 @@
             style="margin-right:20px;"
             size="mini"
             @click="handleAdd"
-            v-hasPermi="['system:menu:add']"
+            v-hasPermiRouter="['system:menu:add']"
           >新增</el-button>
         </el-col>
       </el-form-item>
@@ -81,15 +81,15 @@
             <p class="table-button-null"></p>
             <p class="table-button-p"
                @click="handleAdd(scope.row)"
-               v-hasPermi="['system:menu:add']"
+               v-hasPermiRouter="['system:menu:add']"
             >新增</p>
             <p class="table-button-p"
                @click="handleUpdate(scope.row)"
-               v-hasPermiAnd="['system:menu:edit','system:menu:detail']"
+               v-hasPermiRouter="['system:menu:edit']"
             >修改</p>
             <p class="table-button-p"
                @click="handleDelete(scope.row)"
-               v-hasPermi="['system:menu:del']"
+               v-hasPermiRouter="['system:menu:del']"
             >删除</p>
             <p class="table-button-null"></p>
           </div>
@@ -202,7 +202,7 @@
             <el-form-item v-if="form.menuType != '0'">
               <el-input v-model="form.perms" placeholder="请输入权限标识" maxlength="100" style="width:200px;"/>
               <span slot="label">
-                <el-tooltip content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasPermi('system:user:list')`)" placement="top">
+                <el-tooltip content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasPermiRouter('system:user:list')`)" placement="top">
                 <i class="el-icon-question" style="color:#999;"></i>
                 </el-tooltip>
                 权限字符

+ 3 - 3
src/views/systemManagement/notice/index.vue

@@ -27,7 +27,7 @@
             icon="el-icon-plus"
             size="mini"
             @click="handleAdd"
-            v-hasPermi="['system:notice:add']"
+            v-hasPermiRouter="['system:notice:add']"
           >新增</el-button>
         </el-col>
       </el-form-item>
@@ -52,11 +52,11 @@
             <p class="table-button-null"></p>
             <p class="table-button-p"
                @click="handleUpdate(scope.row)"
-               v-hasPermiAnd="['system:notice:edit','system:notice:detail']"
+               v-hasPermiRouter="['system:notice:edit']"
             >编辑</p>
             <p class="table-button-p"
                @click="handleDelete(scope.row)"
-               v-hasPermi="['system:notice:del']"
+               v-hasPermiRouter="['system:notice:del']"
             >删除</p>
             <p class="table-button-null"></p>
           </div>

+ 3 - 3
src/views/systemManagement/parameterSetting/index.vue

@@ -31,7 +31,7 @@
             icon="el-icon-plus"
             size="mini"
             @click="handleAdd"
-            v-hasPermi="['system:conf:add']"
+            v-hasPermiRouter="['system:conf:add']"
           >新增</el-button>
         </el-col>
       </el-form-item>
@@ -56,11 +56,11 @@
             <p class="table-button-null"></p>
             <p class="table-button-p"
                @click="handleUpdate(scope.row)"
-               v-hasPermiAnd="['system:conf:edit','system:conf:detail']"
+               v-hasPermiRouter="['system:conf:edit']"
             >编辑</p>
             <p class="table-button-p"
                @click="handleDelete(scope.row)"
-               v-hasPermi="['system:conf:del']"
+               v-hasPermiRouter="['system:conf:del']"
             >删除</p>
             <p class="table-button-null"></p>
           </div>

+ 1 - 1
src/views/systemManagement/publicConfig/basicsConfig.vue

@@ -50,7 +50,7 @@
         <p style="margin-left:160px;font-size:16px;color:#666;font-weight:500;">尺寸限制为110*500px,支持PNG格式</p>
       </div>
     </el-form>
-    <div class="sub_btn">
+    <div class="sub_btn" v-hasPermiRouter="['system:conf:edit']">
       <p class="null-p"></p>
       <p class="inquire-button-one"  @click="addOrUpdate">保存</p>
       <p class="null-p"></p>

+ 1 - 1
src/views/systemManagement/publicConfig/chemicalsConfig.vue

@@ -20,7 +20,7 @@
         </el-form-item>
       </div>
     </el-form>
-    <div class="sub_btn">
+    <div class="sub_btn" v-hasPermiRouter="['system:conf:edit']">
       <p class="null-p"></p>
       <p class="inquire-button-one"  @click="addOrUpdate">保存</p>
       <p class="null-p"></p>

+ 1 - 1
src/views/systemManagement/publicConfig/exploitConfig.vue

@@ -152,7 +152,7 @@
         <i class="tip"><i class="el-icon-question"></i>用于微信外部扫一扫跳转指引,需与微信小程序后台二维码规则配置一致</i>
       </div>
     </el-form>
-    <div class="sub_btn">
+    <div class="sub_btn" v-hasPermiRouter="['system:conf:edit']">
       <p class="null-p"></p>
       <p class="inquire-button-one"  @click="addOrUpdate">保存</p>
       <p class="null-p"></p>

+ 1 - 1
src/views/systemManagement/publicConfig/homeConfig.vue

@@ -319,7 +319,7 @@
           :props="{ value: 'menuId', label: 'menuName',emitPath:false  }"></el-cascader>
       </el-form-item>
     </el-form>
-    <div class="page-bottom-button-box">
+    <div class="page-bottom-button-box" v-hasPermiRouter="['system:conf:edit']">
       <p class="page-bottom-button-null"></p>
       <p class="page-bottom-button-p" @click="addOrUpdate">保存</p>
       <p class="page-bottom-button-null"></p>

+ 1 - 1
src/views/systemManagement/publicConfig/integrationConfig.vue

@@ -48,7 +48,7 @@
         </el-form-item>
       </div>
     </el-form>
-    <div class="sub_btn">
+    <div class="sub_btn" v-hasPermiRouter="['system:conf:edit']">
       <p class="null-p"></p>
       <p class="inquire-button-one"  @click="addOrUpdate">保存</p>
       <p class="null-p"></p>

+ 1 - 1
src/views/systemManagement/publicConfig/programConfig.vue

@@ -39,7 +39,7 @@
         </el-form-item>
       </div>
     </el-form>
-    <div class="sub_btn">
+    <div class="sub_btn" v-hasPermiRouter="['system:conf:edit']">
       <p class="null-p"></p>
       <p class="inquire-button-one"  @click="addOrUpdate">保存</p>
       <p class="null-p"></p>

+ 5 - 5
src/views/systemManagement/roleManagement/index.vue

@@ -30,7 +30,7 @@
           <el-col :span="1.5">
             <p class="add-button-one-90"
                @click="dialogOpen"
-               v-hasPermi="['system:role:add']"
+               v-hasPermiRouter="['system:role:add']"
             >新增</p>
           </el-col>
         </el-form-item>
@@ -58,19 +58,19 @@
               <p class="table-button-null"></p>
               <!--<p class="table-button-p"-->
                  <!--@click="copyButton(scope.row)"-->
-                 <!--v-hasPermiAnd="['system:role:edit','system:role:query']"-->
+                 <!--v-hasPermiRouter="['system:role:edit','system:role:query']"-->
               <!--&gt;复制</p>-->
               <p class="table-button-p"
                  @click="handleUpdate(scope.row)"
-                 v-hasPermiAnd="['system:role:edit','system:role:detail']"
+                 v-hasPermiRouter="['system:role:edit']"
               >编辑</p>
               <p class="table-button-p"
                  @click="copyButton(scope.row)"
-                 v-hasPermi="['system:role:edit']"
+                 v-hasPermiRouter="['system:role:edit']"
               >权限配置</p>
               <p class="table-button-p"
                  @click="handleDelete(scope.row)"
-                 v-hasPermi="['system:role:del']"
+                 v-hasPermiRouter="['system:role:del']"
               >删除</p>
               <p class="table-button-null"></p>
             </div>

+ 3 - 3
src/views/systemManagement/systemUser/index.vue

@@ -66,7 +66,7 @@
                 icon="el-icon-plus"
                 size="mini"
                 @click="handleAdd"
-                v-hasPermi="['system:user:add']"
+                v-hasPermiRouter="['system:user:add']"
               >新增</el-button>
             </el-col>
           </el-form-item>
@@ -112,11 +112,11 @@
                 <p class="table-button-null"></p>
                 <p class="table-button-p"
                    @click="handleUpdate(scope.row)"
-                   v-hasPermiAnd="['system:user:edit','system:user:detail']"
+                   v-hasPermiRouter="['system:user:edit']"
                 >修改</p>
                 <p class="table-button-p"
                    @click="handleDelete(scope.row)"
-                   v-hasPermi="['system:user:del']"
+                   v-hasPermiRouter="['system:user:del']"
                 >删除</p>
                 <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)">
                   <span class="table-button-p">更多>></span>