web
2025-03-21 de1de0e73bd260cb1babe7b15c9e943a381009de
src/views/system/user/index.vue
@@ -43,12 +43,12 @@
                align="center"
              >
                <template #default="scope">
                    <div v-if="key.toString() == 'headImg'" style="width: 50px;height: 50px;margin: 0 auto">
                        <img :src="preUrl + scope.row.headImg" class="table-headImg"/>
                    <div v-if="key === 'userType'">
                        {{userTypeList?.filter(fil => fil.dictValue == scope.row.userType.toString())[0].dictLabel}}
                    </div>
                </template>
            </el-table-column>
              <el-table-column label="操作" width="180" align="center" class-name="small-padding fixed-width">
              <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
                <template #default="scope">
                    <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)">修改</el-button>
                    <el-button v-if="scope.row.userType == 3" link type="primary" icon="Edit" @click="handleRole(scope.row)">绑定角色</el-button>
@@ -67,7 +67,7 @@
          <el-dialog :title="title" v-model="open" append-to-body center>
              <el-form class="form-box"  ref="userRef" :model="form" :rules="rules">
                      <el-form-item label="用户名" prop="userName">
                          <el-input :disabled ="form.id" v-model="form.userName" placeholder="请输入用户名称"/>
                          <el-input :disabled ="!!form.id" v-model="form.userName" placeholder="请输入用户名称"/>
                      </el-form-item>
                      <el-form-item v-if="!form.id" label="密码" prop="password">
                          <el-input v-model="form.password" placeholder="请输入密码" />
@@ -132,9 +132,8 @@
    import  user from "@/api/system/user";
    import  role from "@/api/system/role";
    import  { PREURL } from "@/config/index";
    import  userClassify from "@/api/configuration/userClassify";
    import  { sysDictData } from "@/api/system/dict";
    import setPostParams from "../../../utils/searchParams.js";
    import setPostParams from "@/utils/searchParams.js";
    const { proxy } = getCurrentInstance();
    
    /**
@@ -154,8 +153,6 @@
    /**
      *  Table表格权限数据列表相关
      */
    let preUrl = ref(PREURL)
    const pageParam = ref({
        total:0,
        limit:0,
@@ -163,14 +160,12 @@
    })
    const tableData = ref([]);
    let  tableHeader = ref({
            userName: '用户名称',
            nickName: '昵称',
          //  headImg:'头像',
            userTypeView:'用户类型',
            // userTypeView:'用户角色',
            contact:'联系方式',
            email:'邮箱地址',
            createTimeView:'创建时间'
        userName: '用户名称',
        nickName: '昵称',
        userType:'用户类型',
        contact:'联系方式',
        email:'邮箱地址',
        createTimeView:'创建时间'
      })
    /** 获取列表 */
    async function getList(val) {
@@ -228,7 +223,6 @@
        password: [{ required: true, message: "请输入密码", trigger: "blur" }],
        nickName: [{ required: true, message: "请输入昵称", trigger: "blur" }],
        userType: [{ required: true, message: "请选择用户类型", trigger: "blur" }],
        // userRelId: [{ required: true, message: "请选择用户角色", trigger: "blur" }],
        contact: [{ required: true, message: "请输入联系方式", trigger: "blur" }],
        email: [{ required: true, message: "请输入邮箱地址", trigger: "blur" }],
        headImg: [{ required: true, message: "请上传用户头像", trigger: "blur" }],
@@ -288,7 +282,6 @@
            nickName: '',
            headImg:undefined,
            userType:undefined,
            // userRelId:undefined,
            contact:'',
            email:'',
      };
@@ -306,7 +299,7 @@
    //获取用户角色列表
    const getUserRole = async() =>{
      await role().search({limit:1000,page:1}).then((res) =>{
      await role().search({limit:100,page:1}).then((res) =>{
        roleSelectList.value = res.data.list
        })
    }
@@ -348,7 +341,7 @@
    getUserType()
    getList();
    </script>
    <style lang="scss">
    <style lang="scss" scoped>
    .table-headImg{
        max-width: 100px;
        height: 50px;