RuoYi
2022-11-21 0effee74b176638329d6d378de44293219fd8de2
src/views/system/user/index.vue
@@ -19,6 +19,8 @@
                  :expand-on-click-node="false"
                  :filter-node-method="filterNode"
                  ref="deptTreeRef"
                  node-key="id"
                  highlight-current
                  default-expand-all
                  @node-click="handleNodeClick"
               />
@@ -152,36 +154,16 @@
               <el-table-column label="操作" align="center" width="150" class-name="small-padding fixed-width">
                  <template #default="scope">
                     <el-tooltip content="修改" placement="top" v-if="scope.row.userId !== 1">
                        <el-button
                           type="text"
                           icon="Edit"
                           @click="handleUpdate(scope.row)"
                           v-hasPermi="['system:user:edit']"
                        ></el-button>
                        <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:user:edit']"></el-button>
                     </el-tooltip>
                     <el-tooltip content="删除" placement="top" v-if="scope.row.userId !== 1">
                        <el-button
                           type="text"
                           icon="Delete"
                           @click="handleDelete(scope.row)"
                           v-hasPermi="['system:user:remove']"
                        ></el-button>
                        <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']"></el-button>
                     </el-tooltip>
                     <el-tooltip content="重置密码" placement="top" v-if="scope.row.userId !== 1">
                        <el-button
                           type="text"
                           icon="Key"
                           @click="handleResetPwd(scope.row)"
                           v-hasPermi="['system:user:resetPwd']"
                        ></el-button>
                         <el-button link type="primary" icon="Key" @click="handleResetPwd(scope.row)" v-hasPermi="['system:user:resetPwd']"></el-button>
                     </el-tooltip>
                     <el-tooltip content="分配角色" placement="top" v-if="scope.row.userId !== 1">
                        <el-button
                           type="text"
                           icon="CircleCheck"
                           @click="handleAuthRole(scope.row)"
                           v-hasPermi="['system:user:edit']"
                        ></el-button>
                        <el-button link type="primary" icon="CircleCheck" @click="handleAuthRole(scope.row)" v-hasPermi="['system:user:edit']"></el-button>
                     </el-tooltip>
                  </template>
               </el-table-column>
@@ -349,8 +331,7 @@
<script setup name="User">
import { getToken } from "@/utils/auth";
import { treeselect } from "@/api/system/dept";
import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser } from "@/api/system/user";
import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser, deptTreeSelect } from "@/api/system/user";
const router = useRouter();
const { proxy } = getCurrentInstance();
@@ -428,8 +409,8 @@
  proxy.$refs["deptTreeRef"].filter(val);
});
/** 查询部门下拉树结构 */
function getTreeselect() {
  treeselect().then(response => {
function getDeptTree() {
  deptTreeSelect().then(response => {
    deptOptions.value = response.data;
  });
};
@@ -456,6 +437,8 @@
function resetQuery() {
  dateRange.value = [];
  proxy.resetForm("queryRef");
  queryParams.value.deptId = undefined;
  proxy.$refs.tree.setCurrentKey(null);
  handleQuery();
};
/** 删除按钮操作 */
@@ -541,22 +524,13 @@
const handleFileSuccess = (response, file, fileList) => {
  upload.open = false;
  upload.isUploading = false;
  proxy.$refs["uploadRef"].clearFiles();
  proxy.$refs["uploadRef"].handleRemove(file);
  proxy.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
  getList();
};
/** 提交上传文件 */
function submitFileForm() {
  proxy.$refs["uploadRef"].submit();
};
/** 初始化部门数据 */
function initTreeData() {
  // 判断部门的数据是否存在,存在不获取,不存在则获取
  if (deptOptions.value === undefined) {
    treeselect().then(response => {
      deptOptions.value = response.data;
    });
  }
};
/** 重置操作表单 */
function reset() {
@@ -584,7 +558,6 @@
/** 新增按钮操作 */
function handleAdd() {
  reset();
  initTreeData();
  getUser().then(response => {
    postOptions.value = response.posts;
    roleOptions.value = response.roles;
@@ -596,7 +569,6 @@
/** 修改按钮操作 */
function handleUpdate(row) {
  reset();
  initTreeData();
  const userId = row.userId || ids.value;
  getUser(userId).then(response => {
    form.value = response.data;
@@ -630,6 +602,6 @@
  });
};
getTreeselect();
getDeptTree();
getList();
</script>