瀏覽代碼

Merge branch 'dev' of http://10.87.10.227:4000/jzyd_yyds/soc_web into dev

jiawuxian 2 年之前
父節點
當前提交
b1a0bc6fa4

+ 0 - 12
src/api/menu.js

@@ -304,17 +304,5 @@ export const json = {
         }
       ]
     },
-    {
-      "name": "Http://ruoyi.vip",
-      "path": "http://ruoyi.vip",
-      "hidden": false,
-      "component": "Layout",
-      "meta": {
-        "title": "若依官网",
-        "icon": "guide",
-        "noCache": false,
-        "link": "http://ruoyi.vip"
-      }
-    }
   ]
 }

+ 6 - 6
src/api/system/knowledge.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询详细知识库标签
 export function queryKnowledgeList() {
   return request({
-    url: '/system/knowledge/dataList' ,
+    url: '/core/knowledge/dataList' ,
     method: 'get'
   })
 }
@@ -11,7 +11,7 @@ export function queryKnowledgeList() {
 // 查询列表知识库标签
 export function listKnowledge(query) {
   return request({
-    url: '/system/knowledge/list',
+    url: '/core/knowledge/list',
     method: 'get',
     params: query
   })
@@ -20,7 +20,7 @@ export function listKnowledge(query) {
 // 查询详细知识库标签
 export function getKnowledge(id) {
   return request({
-    url: '/system/knowledge/' + id,
+    url: '/core/knowledge/' + id,
     method: 'get'
   })
 }
@@ -28,7 +28,7 @@ export function getKnowledge(id) {
 // 新增知识库标签
 export function addKnowledge(data) {
   return request({
-    url: '/system/knowledge',
+    url: '/core/knowledge',
     method: 'post',
     data: data
   })
@@ -37,7 +37,7 @@ export function addKnowledge(data) {
 // 修改知识库标签
 export function updateKnowledge(data) {
   return request({
-    url: '/system/knowledge',
+    url: '/core/knowledge',
     method: 'put',
     data: data
   })
@@ -46,7 +46,7 @@ export function updateKnowledge(data) {
 // 删除知识库标签
 export function delKnowledge(id) {
   return request({
-    url: '/system/knowledge/' + id,
+    url: '/core/knowledge/' + id,
     method: 'delete'
   })
 }

+ 6 - 6
src/api/system/materials.js

@@ -3,7 +3,7 @@ import request from '@/utils/request'
 // 查询列表学习资料
 export function listMaterials(query) {
   return request({
-    url: '/system/materials/list',
+    url: '/core/materials/list',
     method: 'get',
     params: query
   })
@@ -12,7 +12,7 @@ export function listMaterials(query) {
 //设置为公开或者非公开
 export function editOpen(id, isOpen) {
   return request({
-    url: '/system/materials/' + id + "/" + isOpen,
+    url: '/core/materials/' + id + "/" + isOpen,
     method: 'get'
   })
 }
@@ -20,7 +20,7 @@ export function editOpen(id, isOpen) {
 // 查询详细学习资料
 export function getMaterials(id) {
   return request({
-    url: '/system/materials/' + id,
+    url: '/core/materials/' + id,
     method: 'get'
   })
 }
@@ -28,7 +28,7 @@ export function getMaterials(id) {
 // 新增学习资料
 export function addMaterials(data) {
   return request({
-    url: '/system/materials',
+    url: '/core/materials',
     method: 'post',
     data: data
   })
@@ -37,7 +37,7 @@ export function addMaterials(data) {
 // 修改学习资料
 export function updateMaterials(data) {
   return request({
-    url: '/system/materials',
+    url: '/core/materials',
     method: 'put',
     data: data
   })
@@ -46,7 +46,7 @@ export function updateMaterials(data) {
 // 删除学习资料
 export function delMaterials(id) {
   return request({
-    url: '/system/materials/' + id,
+    url: '/core/materials/' + id,
     method: 'delete'
   })
 }

+ 24 - 7
src/api/system/public.js

@@ -1,23 +1,40 @@
 import request from '@/utils/request'
+
 // 查询部门下拉树结构
 export function deptTreeSelect() {
-    return request({
-      url: '/system/dept/deptTree',
-      method: 'get'
-    })
-  }
+  return request({
+    url: '/system/dept/deptTree',
+    method: 'get'
+  })
+}
+
 // 查询文件
 export function getFile(code) {
   return request({
-    url: '/file/file/getFile/' +code,
+    url: '/file/file/getFile/' + code,
     method: 'get'
   })
 }
 
-  // 查询机构下拉树结构
+// 查询机构下拉树结构
 export function deptTreeList() {
   return request({
     url: '/system/dept/sysDeptTree',
     method: 'get'
   })
 }
+
+
+export function upload(data,type) {
+  return request({
+    url: '/file/file/upload',
+    method: 'post',
+    headers: {
+      'Content-Type': 'multipart/form-data',
+    },
+    data: data,
+    params:{
+      busType: type
+    }
+  })
+}

+ 108 - 24
src/components/ImageUpload/index.vue

@@ -1,8 +1,9 @@
 <template>
   <div class="component-upload-image">
     <el-upload
+      v-if="type === 'more'"
       multiple
-      :action="uploadImgUrl"
+      action="#"
       list-type="picture-card"
       :on-success="handleUploadSuccess"
       :before-upload="handleBeforeUpload"
@@ -15,48 +16,78 @@
       :headers="headers"
       :file-list="fileList"
       :on-preview="handlePictureCardPreview"
-      :class="{hide: this.fileList.length >= this.limit}"
-    >
+      :http-request="uploadImage"
+      :class="{hide: fileList.length >= limit}">
       <i class="el-icon-plus"></i>
+      <!-- 上传提示 -->
+      <div class="el-upload__tip" slot="tip" v-if="showTip">
+        请上传
+        <template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> </template>
+        <template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template>
+        的文件
+      </div>
     </el-upload>
 
-    <!-- 上传提示 -->
-    <div class="el-upload__tip" slot="tip" v-if="showTip">
-      请上传
-      <template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> </template>
-      <template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template>
-      的文件
-    </div>
+    <el-upload
+      v-if="type === 'alone'"
+      drag
+      action="#"
+      :before-upload="handleBeforeUpload"
+      :limit="2"
+      :on-error="handleUploadError"
+      ref="imageUpload"
+      :show-file-list="false"
+      :file-list="fileList"
+      :http-request="uploadImage">
+      <div v-if="fileList.length > 0" class="img-box">
+        <img style="width:100%;height: 100%;" :src="fileList[0].url" alt="" >
+        <div class="img-model" @click.stop="clickImg">
+          <span>预览</span>
+        </div>
+      </div>
+      <div v-else>
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+        <div class="el-upload__tip" slot="tip" v-if="showTip">
+          请上传
+          <template v-if="fileSize"> 大小不超过 <b style="color: #f56c6c">{{ fileSize }}MB</b> </template>
+          <template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template>
+          的文件
+        </div>
+<!--        <div class="el-upload__tip" slot="tip">只能上传jpg/png/jpeg文件,且不超过500kb</div>-->
+      </div>
+    </el-upload>
 
     <el-dialog
       :visible.sync="dialogVisible"
       title="预览"
       width="800"
-      append-to-body
-    >
-      <img
-        :src="dialogImageUrl"
-        style="display: block; max-width: 100%; margin: 0 auto"
-      />
+      append-to-body>
+      <img :src="dialogImageUrl" style="display: block; max-width: 100%; margin: 0 auto"/>
     </el-dialog>
   </div>
 </template>
 
 <script>
 import { getToken } from "@/utils/auth";
-import {getFile} from "@/api/system/public";
+import { upload } from "@/api/system/public"
 
 export default {
   props: {
     value: [String, Object, Array],
-    // 图片数量限制
+    //两种模式:more(多选)、alone(单选)
+    type:{
+      type:String,
+      default: 'more',
+    },
+    // 图片数量限制(单选模式下失效)
     limit: {
       type: Number,
       default: 5,
     },
     // 大小限制(MB)
     fileSize: {
-       type: Number,
+      type: Number,
       default: 5,
     },
     // 文件类型, 例如['png', 'jpg', 'jpeg']
@@ -81,7 +112,8 @@ export default {
       headers: {
         Authorization: "Bearer " + getToken(),
       },
-      fileList: []
+      fileList: [],
+      file:null
     };
   },
   watch: {
@@ -113,6 +145,31 @@ export default {
     },
   },
   methods: {
+    //单传模式下的预览
+    clickImg(){
+      this.dialogImageUrl = this.fileList[0].url;
+      this.dialogVisible = true;
+    },
+    //自定义上传方式(自带的成功回调及失败回调会失效)
+    uploadImage(fileObj){
+      let formData = new FormData();
+      formData.append('file',fileObj.file);
+      upload(formData,'image').then(res=>{
+        /*上传成功*/
+        this.$modal.closeLoading();
+        let imgUrl = process.env.VUE_APP_BASE_API + res.data.url;
+        let arr = [];
+        arr.push({ name: res.data.name, url: imgUrl})
+        this.fileList = arr;
+        this.$emit("input", this.listToString(this.fileList));
+      }).catch(err=>{
+        /*上传失败*/
+        this.$modal.closeLoading();
+        //this.$modal.msgError(res.msg);
+        this.$refs.imageUpload.handleRemove(fileObj.file);
+        //this.uploadedSuccessfully();
+      })
+    },
     // 上传前loading加载
     handleBeforeUpload(file) {
       let isImg = false;
@@ -143,6 +200,7 @@ export default {
       }
       this.$modal.loading("正在上传图片,请稍候...");
       this.number++;
+      this.file = file;
     },
     // 文件个数超出
     handleExceed() {
@@ -152,7 +210,7 @@ export default {
     handleUploadSuccess(res, file) {
       console.log(res,'res')
       if (res.code === 200) {
-        let imgUrl = process.env.VUE_APP_BASE_API + res.data.url
+        let imgUrl = process.env.VUE_APP_BASE_API + res.data.url;
         this.uploadList.push({ name: res.data.name, url: imgUrl});
         this.uploadedSuccessfully();
 
@@ -175,6 +233,7 @@ export default {
         this.fileList.splice(findex, 1);
         this.$emit("input", this.listToString(this.fileList));
       }
+      console.log( this.listToString(this.fileList),'删除图片')
     },
     // 上传失败
     handleUploadError() {
@@ -187,7 +246,6 @@ export default {
         this.fileList = this.fileList.concat(this.uploadList);
         this.uploadList = [];
         this.number = 0;
-        console.log(this.listToString(this.fileList),'ppppp')
         this.$emit("input", this.listToString(this.fileList));
         this.$modal.closeLoading();
       }
@@ -213,8 +271,8 @@ export default {
 </script>
 <style scoped lang="scss">
 // .el-upload--picture-card 控制加号部分
-::v-deep.hide .el-upload--picture-card {
-    display: none;
+::v-deep .hide .el-upload--picture-card {
+    display: none !important;
 }
 // 去掉动画效果
 ::v-deep .el-list-enter-active,
@@ -226,5 +284,31 @@ export default {
     opacity: 0;
     transform: translateY(0);
 }
+.img-box{
+  width: 100%;
+  height: 100%;
+  position: relative;
+  .img-model{
+    width: 100%;
+    display: none;
+    position: absolute;
+    left: 0;
+    top: 0;
+    align-items: center;
+    >span{
+      background-color: rgba(30, 30, 30, .3);
+      display: block;
+      padding: 5px;
+      color:#fff;
+      text-shadow: 0 0 2px #1e1e1e;
+    }
+  }
+  &:hover{
+    .img-model{
+      display: block;
+    }
+  }
+}
+
 </style>
 

+ 95 - 0
src/components/k-orgTree/index.vue

@@ -0,0 +1,95 @@
+<template>
+  <div>
+    <div class="head-container">
+      <el-input
+        v-model="deptName"
+        placeholder="请输入机构名称"
+        clearable
+        size="small"
+        prefix-icon="el-icon-search"
+        style="margin-bottom: 20px"/>
+    </div>
+    <div class="tree-container">
+      <div style="margin-bottom: 10px;">
+        <el-checkbox v-model="checkSub" @change="changeCheckBox">是否关联上级</el-checkbox>
+      </div>
+      <el-tree
+        :data="treeList"
+        :props="defaultProps"
+        :expand-on-click-node="false"
+        :filter-node-method="filterNode"
+        ref="tree"
+        node-key="id"
+        :default-expanded-keys="defaultKeys"
+        :default-checked-keys="defaultKeys"
+        @node-click="handleNodeClick"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+import tableListMixins from "@/mixins/tableList";
+import {deptTreeSelect} from "@/api/system/public";
+
+export default {
+  name: "k-orgTree",
+  mixins:[tableListMixins],
+  data(){
+    return {
+      //过滤信息
+      deptName:'',
+      //是否关联下级
+      checked: false,
+      // 机构树列表
+      treeList: [],
+      //默认选中节点
+      defaultKeys:[],
+      //自定义取值
+      defaultProps: {
+        children: "children",
+        label: "name"
+      },
+      checkSub:true,
+      defaultKey:null,
+    }
+  },
+  watch: {
+    // 根据名称筛选机构树
+    deptName(val) {
+      this.$refs.tree.filter(val);
+    }
+  },
+  created() {
+    this.getDeptTree();
+  },
+  methods:{
+    /** 下穿状态改变*/
+    changeCheckBox(state){
+      this.$emit('checkChange',state);
+    },
+    /** 查询机构下拉树结构 */
+    getDeptTree() {
+      deptTreeSelect().then(response => {
+        this.treeList = response.data;
+        this.defaultKeys.push(response.data[0].id);
+        this.$emit('defaultKey',response.data[0].id);
+        this.defaultKey = response.data[0].id;
+      });
+    },
+    // 筛选节点
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.name.indexOf(value) !== -1;
+    },
+    // 节点单击事件
+    handleNodeClick(data) {
+      this.$emit('click',data);
+    },
+  },
+}
+</script>
+
+<style scoped>
+
+</style>

+ 1 - 1
src/layout/components/Navbar.vue

@@ -107,7 +107,7 @@ export default {
         type: 'warning'
       }).then(() => {
         this.$store.dispatch('LogOut').then(() => {
-          location.href = '/index';
+          location.href = '/';
         })
       }).catch(() => {});
     }

+ 1 - 0
src/mixins/tableList.js

@@ -9,6 +9,7 @@ export default {
       },
       // 遮罩层
       loading: false,
+      queryParams:{},
     }
   },
   methods:{

+ 3 - 4
src/permission.js

@@ -11,13 +11,13 @@ NProgress.configure({ showSpinner: false })
 const whiteList = ['/login', '/register']
 
 router.beforeEach((to, from, next) => {
-  console.log(to,from,'路由跳转')
+  console.log('从'+from.path+'到'+to.path,'路由跳转')
   NProgress.start()
   if (getToken()) {
     to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
     /* has token*/
     if (to.path === '/login') {
-      next({ path: '/' })
+      next()
       NProgress.done()
     } else {
       if (store.getters.roles.length === 0) {
@@ -32,7 +32,6 @@ router.beforeEach((to, from, next) => {
           })
         }).catch(err => {
           console.log(err,'err')
-          sessionStorage.clear();
           next({ path: '/login' })
           store.dispatch('LogOut').then(() => {
             Message.error(err)
@@ -49,7 +48,7 @@ router.beforeEach((to, from, next) => {
       // 在免登录白名单,直接进入
       next()
     } else {
-      next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
+      next(`/login`) // 否则全部重定向到登录页
       NProgress.done()
     }
   }

+ 3 - 3
src/router/index.js

@@ -87,12 +87,12 @@ export const constantRoutes = [
   {
     path: '',
     component: Layout,
-    redirect: 'index',
+    redirect: 'home',
     children: [
       {
-        path: 'index',
+        path: 'home',
         component: () => import('@/views/index'),
-        name: 'Index',
+        name: 'home',
         meta: { title: '首页', icon: 'dashboard', affix: true }
       }
     ]

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

@@ -50,6 +50,7 @@ const permission = {
           commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes))
           commit('SET_DEFAULT_ROUTES', sidebarRoutes)
           commit('SET_TOPBAR_ROUTES', sidebarRoutes)
+          console.log(rewriteRoutes,'rewriteRoutes')
           resolve(rewriteRoutes)
         })
         //前端模拟数据

+ 1 - 16
src/utils/request.js

@@ -6,6 +6,7 @@ import errorCode from '@/utils/errorCode'
 import { tansParams, blobValidate } from "@/utils/ruoyi";
 import cache from '@/plugins/cache'
 import { saveAs } from 'file-saver'
+import permission from "@/store/modules/permission";
 
 let loading;
 let downloadLoadingInstance;
@@ -23,7 +24,6 @@ const service = axios.create({
 
 // request拦截器
 service.interceptors.request.use(config => {
-  console.log(config,'con')
   // 不传递默认关闭loading
   if (config.showLoading) loading = Loading.service({ fullscreen: true, background: "transparent" });
   // 是否需要设置 token
@@ -153,20 +153,5 @@ export function download(url, params, filename, config) {
     downloadLoadingInstance.close();
   })
 }
-export function upload(url, params, filename, config) {
 
-  try {
-    service.post(url, params, { headers: {
-      'Content-Type': 'multipart/form-data',
-    },}).then((data) => {
-      // 处理上传成功的逻辑
-      console.log('上传成功', data);
-    });
-
-
-  } catch (error) {
-    // 处理上传失败的逻辑
-    console.log('上传失败', error);
-  }
- }
 export default service

+ 3 - 10
src/views/login.vue

@@ -102,8 +102,8 @@ export default {
   watch: {
     $route: {
       handler: function(route) {
-        this.redirect = route.query && route.query.redirect;
-        console.log(this.redirect,'redirect')
+        //this.redirect = route.query && route.query.redirect;
+        console.log(this.redirect,'重定向')
       },
       immediate: true
     }
@@ -150,14 +150,7 @@ export default {
           this.$store.dispatch("Login", this.loginForm).then(() => {
             this.loading = false;
             console.log(this.redirect,'this.redirect')
-            this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
-            // this.$store.dispatch('GenerateRoutes').then(accessRoutes => {
-            //    // 根据roles权限生成可访问的路由表
-            //   this.$router.addRoutes(accessRoutes) // 动态添加可访问路由表
-            //   //next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
-            // })
-            // console.log(this.redirect,'11111')
-            // this.$router.push({ path: 'index' });
+            this.$router.push({ path:"/home" }).catch(()=>{});
           }).catch(() => {
             this.loading = false;
             if (this.captchaEnabled) {

+ 4 - 4
src/views/register.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="register">
     <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
-      <h3 class="title">若依后台管理系统</h3>
+      <h3 class="title">移动安全保卫管理平台</h3>
       <el-form-item prop="username">
         <el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
           <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
@@ -60,9 +60,9 @@
       </el-form-item>
     </el-form>
     <!--  底部  -->
-    <div class="el-register-footer">
-      <span>Copyright © 2018-2023 ruoyi.vip All Rights Reserved.</span>
-    </div>
+<!--    <div class="el-register-footer">-->
+<!--      <span>Copyright © 2018-2023 ruoyi.vip All Rights Reserved.</span>-->
+<!--    </div>-->
   </div>
 </template>
 

+ 12 - 14
src/views/system/dept/extend.vue

@@ -224,23 +224,26 @@
           :active-value="1"
           :inactive-value="0"
         ></el-switch>
-        <div v-if="askari">
-          <div class="image-container" style="margin-left: 20px">
-            <p style="font-size: 12px; color: #999">上传保安证正面</p>
-            <image-upload :limit="1" :fileSize="2"></image-upload>
+        <div>
+
+        </div>
+        <el-row v-if="askari">
+          <el-col :span="12" :xs="24">
+            <p style="font-size: 12px; color: #999;">上传保安证正面</p>
+            <image-upload :fileSize="2" :type="'alone'"></image-upload>
 
             <!--            <el-image class="zoom-image border-color-change" :src="uploadp" fit="contain" @click="triggerFileInput"></el-image>-->
             <!--            <input type="file"-->
             <!--                   ref="fileInput"-->
             <!--                   @change="handleFileChange"-->
             <!--                   style="display: none;"/>-->
-          </div>
-          <div class="image-container" style="margin-right: 0">
+          </el-col>
+          <el-col :span="12">
             <p style="font-size: 12px; color: #999">上传保安证反面</p>
-            <image-upload :limit="1" :fileSize="2"></image-upload>
+            <image-upload :fileSize="2" :type="'alone'"></image-upload>
             <!--            <el-image class="zoom-image border-color-change" :src="uplp" fit="contain"></el-image>-->
-          </div>
-        </div>
+          </el-col>
+        </el-row>
       </div>
     </div>
 
@@ -1229,11 +1232,6 @@ export default {
 }
 .container {
 }
-.image-container {
-  display: inline-block;
-  width: 200px;
-  margin-right: 20px; /* 设置与下一个div的水平间距 */
-}
 .zoom-image {
   transition: transform 0.3s ease;
 }

+ 22 - 8
src/views/system/materials/index.vue

@@ -3,8 +3,8 @@
     <el-row :gutter="20">
       <!--机构数据-->
       <el-col :span="4" :xs="24">
-        <org-tree v-model="queryParams.orgId" @defaultKey="getDefaultKey" @checkChange="checkChange"
-                  @click="clickTreeNode"></org-tree>
+        <k-org-tree v-model="queryParams.orgId" @defaultKey="getDefaultKey" @checkChange="checkChange"
+                  @click="clickTreeNode"></k-org-tree>
       </el-col>
       <!--用户数据-->
       <el-col :span="20" :xs="24">
@@ -201,10 +201,11 @@ import {deptTreeSelect} from "@/api/system/public";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import {queryKnowledgeList} from "@/api/system/knowledge";
 import OrgTree from "@/components/orgTree/index.vue";
+import kOrgTree from "@/components/k-orgTree/index.vue";
 
 export default {
   name: "Materials",
-  components: {OrgTree},
+  components: {OrgTree,kOrgTree},
   data() {
     return {
       // 遮罩层
@@ -387,11 +388,24 @@ export default {
 
     handleOpen(row, isOpen) {
       const str = 1 === isOpen ? "公开" : "取消公开";
-      editOpen(row.id, isOpen).then(response => {
-        this.$modal.msgSuccess("操作成功");
-        this.getList();
-      });
-
+      this.$confirm(`确认要${str}吗?`, "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      })
+        .then(() => {
+          editOpen(row.id, isOpen)
+            .then(response => {
+              this.$message.success("操作成功");
+              this.getList();
+            })
+            .catch(error => {
+              this.$message.error("操作失败");
+            });
+        })
+        .catch(() => {
+          // 用户取消操作
+        });
     },
     /** 新增按钮操作 */
     handleAdd() {

+ 7 - 19
src/views/system/user/index.vue

@@ -276,12 +276,13 @@ import OrgTree from '@/components/orgTree'
 import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus } from "@/api/system/user";
 import { getToken } from "@/utils/auth";
 import {deptTreeSelect} from "@/api/system/public";
-
+import tableList from "@/mixins/tableList";
 
 export default {
   name: "User",
   dicts: ['sys_normal_disable', 'sys_user_sex'],
   components: { OrgTree },
+  mixins:[tableList],
   data() {
     return {
       // 遮罩层
@@ -385,12 +386,12 @@ export default {
   },
   created() {
     this.getDeptTree();
-    this.getConfigKey("sys.user.initPassword").then(response => {
-      this.initPassword = response.msg;
-    });
+    // this.getConfigKey("sys.user.initPassword").then(response => {
+    //   this.initPassword = response.msg;
+    // });
   },
   mounted(){
-    console.log(this.queryParams,'aaaaaa')
+
   },
   methods: {
     /** 查询机构树数据 */
@@ -421,7 +422,7 @@ export default {
       }
     },
     /** 查询列表 */
-    getList(id) {
+    getList() {
       this.loading = true;
       listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
         //兼容框架userId字段
@@ -482,19 +483,6 @@ export default {
       };
       this.resetForm("form");
     },
-    /** 搜索按钮操作 */
-    handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
-    },
-    /** 重置按钮操作 */
-    resetQuery() {
-      this.dateRange = [];
-      this.resetForm("queryForm");
-      this.queryParams.orgId = undefined;
-      this.$refs.tree.setCurrentKey(null);
-      this.handleQuery();
-    },
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.userId);

+ 1 - 1
vue.config.js

@@ -20,7 +20,7 @@ module.exports = {
   // 部署生产环境和开发环境下的URL。
   // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
   // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
-  publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
+  publicPath: process.env.NODE_ENV === "production" ? "./" : "./",
   // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)
   outputDir: 'dist',
   // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)