|
@@ -6,11 +6,13 @@
|
|
|
<el-form-item label="员工编码:" prop="userName">
|
|
|
<el-input v-model="queryParams.userName" placeholder="请输入员工编码" clearable style="width: 130px" @keyup.enter="handleQuery" />
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="员工姓名:" prop="nickName">
|
|
|
+ <el-input v-model="queryParams.nickname" placeholder="请输入员工姓名" clearable style="width: 130px" @keyup.enter="handleQuery" />
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="手机号码:" prop="phoneNumber">
|
|
|
<el-input v-model="queryParams.phoneNumber" placeholder="请输入手机号码" clearable style="width: 130px" @keyup.enter="handleQuery" />
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <span>  </span>
|
|
|
<el-button type="info" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
|
</el-form-item>
|
|
@@ -25,12 +27,12 @@
|
|
|
<div class="el-table-inner-container">
|
|
|
<el-table v-loading="loading" :data="userList" height="100%" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="40" align="center" />
|
|
|
- <!--<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />-->
|
|
|
<el-table-column label="员工编码" width="100" align="center" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
|
|
|
<el-table-column label="员工姓名" width="100" align="center" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
|
|
|
<el-table-column label="手机号码" width="120" align="center" prop="phoneNumber" v-if="columns[3].visible" />
|
|
|
- <el-table-column label="合同单位" width="120" align="center" prop="contractCompanyName" v-if="columns[4].visible" />
|
|
|
+ <el-table-column label="合同单位" width="300" align="center" prop="contractCompanyName" v-if="columns[4].visible" />
|
|
|
<el-table-column label="性别" width="60" align="center" prop="sex" v-if="columns[5].visible" />
|
|
|
+ <el-table-column label="备注" header-align="center" prop="remark" />
|
|
|
<el-table-column label="操作" align="center" width="140">
|
|
|
<template #default="scope">
|
|
|
<el-tooltip content="修改" placement="top" v-if="scope.row.userId !== '1'">
|
|
@@ -44,97 +46,57 @@
|
|
|
</el-tooltip>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column />
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
|
|
|
|
|
|
<!-- 添加或修改用户配置对话框 -->
|
|
|
- <el-dialog title="员工信息" v-model="open" width="600px" append-to-body draggable>
|
|
|
+ <el-dialog title="员工信息" v-model="open" width="400px" append-to-body draggable>
|
|
|
<div class="form-container">
|
|
|
- <el-form :model="form" :rules="rules" ref="userRef" label-width="80px">
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="员工姓名" prop="nickName">
|
|
|
- <el-input v-model="form.nickName" placeholder="请输入员工姓名" maxlength="30" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="合同单位:" prop="deptName">
|
|
|
- <el-select-v2 v-model="form.contractCompanyId" clearable filterable :options="contractCompanyList" placeholder="请选择客户" size="small" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="手机号码" prop="phoneNumber">
|
|
|
- <el-input v-model="form.phoneNumber" placeholder="请输入手机号码" maxlength="11" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="邮箱" prop="email">
|
|
|
- <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item v-if="form.userId == undefined" label="员工编码" prop="userName">
|
|
|
- <el-input v-model="form.userName" placeholder="请输入员工编码" maxlength="30" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item v-if="form.userId == undefined" label="登录密码" prop="password">
|
|
|
- <el-input v-model="form.password" placeholder="请输入登录密码" type="password" maxlength="20" show-password />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="12">
|
|
|
- <el-form-item label="用户性别">
|
|
|
- <el-select v-model="form.sex" placeholder="请选择">
|
|
|
- <el-option v-for="dict in sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <!-- <el-col :span="12">
|
|
|
- <el-form-item label="状态">
|
|
|
- <el-radio-group v-model="form.status">
|
|
|
- <el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label
|
|
|
- }}</el-radio>
|
|
|
- </el-radio-group>
|
|
|
- </el-form-item>
|
|
|
- </el-col> -->
|
|
|
- </el-row>
|
|
|
- <el-row> </el-row>
|
|
|
- <el-row>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="备注">
|
|
|
- <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ <el-form ref="userRef" :model="form" class="master-container" :rules="rules" label-width="80px">
|
|
|
+ <el-form-item label="员工姓名" prop="nickName">
|
|
|
+ <el-input v-model="form.nickName" placeholder="请输入员工姓名" maxlength="30" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="合同单位:" prop="deptName">
|
|
|
+ <el-select-v2 v-model="form.contractCompanyId" filterable :options="contractCompanyList" placeholder="请选择客户" style="width: 100%" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="手机号码" prop="phoneNumber">
|
|
|
+ <el-input v-model="form.phoneNumber" placeholder="请输入手机号码" maxlength="11" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="邮箱" prop="email">
|
|
|
+ <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="form.userId == undefined" label="员工编码" prop="userName">
|
|
|
+ <el-input v-model="form.userName" placeholder="请输入员工编码" maxlength="30" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item v-if="form.userId == undefined" label="登录密码" prop="password">
|
|
|
+ <el-input v-model="form.password" placeholder="请输入登录密码" type="password" maxlength="20" show-password />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="用户性别">
|
|
|
+ <el-select v-model="form.sex" placeholder="请选择">
|
|
|
+ <el-option v-for="dict in sys_user_sex" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="备注">
|
|
|
+ <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<template #footer>
|
|
|
- <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
- <el-button @click="cancel">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="handleSave">确 定</el-button>
|
|
|
+ <el-button @click="handleCancel">取 消</el-button>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script setup name="User">
|
|
|
-import { getToken } from '@/utils/auth'
|
|
|
import { listEmployee, resetUserPwd, delUser, getUser, updateUser, addUser } from '@/api/system/user'
|
|
|
import { getDeptList } from '@/api/system/dept'
|
|
|
-import useUserStore from '@/store/modules/user'
|
|
|
|
|
|
-const router = useRouter()
|
|
|
const { proxy } = getCurrentInstance()
|
|
|
const { sys_user_sex } = proxy.useDict('sys_user_sex')
|
|
|
-const { user_tenant } = proxy.useDict('user_tenant')
|
|
|
|
|
|
const userList = ref([])
|
|
|
const contractCompanyList = ref([])
|
|
@@ -165,20 +127,16 @@ const data = reactive({
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
userName: '',
|
|
|
- phoneNumber: '0',
|
|
|
+ nickName: '',
|
|
|
+ phoneNumber: '',
|
|
|
status: 0
|
|
|
},
|
|
|
rules: {
|
|
|
- // userName: [
|
|
|
- // { required: true, message: '员工编码不能为空', trigger: 'blur' },
|
|
|
- // { min: 2, max: 20, message: '员工编码长度必须介于 2 和 20 之间', trigger: 'blur' }
|
|
|
- // ],
|
|
|
- // nickName: [{ required: true, message: '员工姓名不能为空', trigger: 'blur' }],
|
|
|
- // password: [
|
|
|
- // { required: true, message: '登录密码不能为空', trigger: 'blur' },
|
|
|
- // { min: 5, max: 20, message: '登录密码长度必须介于 5 和 20 之间', trigger: 'blur' }
|
|
|
- // ],
|
|
|
- // email: [{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }],
|
|
|
+ userName: [
|
|
|
+ { required: true, message: '员工编码不能为空', trigger: 'blur' },
|
|
|
+ { min: 2, max: 20, message: '员工编码长度必须介于 2 和 20 之间', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ nickName: [{ required: true, message: '员工姓名不能为空', trigger: 'blur' }]
|
|
|
// phoneNumber: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: '请输入正确的手机号码', trigger: 'blur' }]
|
|
|
}
|
|
|
})
|
|
@@ -193,10 +151,10 @@ function getList() {
|
|
|
userList.value = res.rows
|
|
|
total.value = res.total
|
|
|
})
|
|
|
- getDeptList({type: 1}).then((res) => {
|
|
|
- if(res.code ==200){
|
|
|
- contractCompanyList.value = res.data
|
|
|
- console.log(contractCompanyList.value)
|
|
|
+ getDeptList({ type: 1 }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ contractCompanyList.value = res.data
|
|
|
+ console.log(contractCompanyList.value)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
@@ -261,12 +219,11 @@ function reset() {
|
|
|
sex: '男',
|
|
|
remark: '',
|
|
|
contractCompanyId: ''
|
|
|
-
|
|
|
}
|
|
|
- proxy.resetForm('userRef')
|
|
|
+ proxy.resetForm('userRef')
|
|
|
}
|
|
|
/** 取消按钮 */
|
|
|
-function cancel() {
|
|
|
+function handleCancel() {
|
|
|
open.value = false
|
|
|
reset()
|
|
|
}
|
|
@@ -285,23 +242,22 @@ function handleUpdate(row) {
|
|
|
const userId = row.userId || ids.value
|
|
|
getUser(userId).then((response) => {
|
|
|
form.value = response.data
|
|
|
-console.log(form.value,"77777")
|
|
|
+ console.log(form.value, '77777')
|
|
|
open.value = true
|
|
|
form.password = ''
|
|
|
})
|
|
|
}
|
|
|
/** 提交按钮 */
|
|
|
-function submitForm() {
|
|
|
+function handleSave() {
|
|
|
proxy.$refs['userRef'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
- for(var i = 0;i<contractCompanyList.value.length;i++) {
|
|
|
- if(form.value.contractCompanyId == contractCompanyList.value[i].value) {
|
|
|
+ for (var i = 0; i < contractCompanyList.value.length; i++) {
|
|
|
+ if (form.value.contractCompanyId == contractCompanyList.value[i].value) {
|
|
|
form.value.contractCompanyName = contractCompanyList.value[i].label
|
|
|
}
|
|
|
}
|
|
|
- console.log(form.value)
|
|
|
if (form.value.userId != undefined) {
|
|
|
- console.log(form.value)
|
|
|
+ console.log(form.value)
|
|
|
updateUser(form.value).then((response) => {
|
|
|
proxy.$modal.msgSuccess('修改成功')
|
|
|
open.value = false
|
|
@@ -309,7 +265,7 @@ function submitForm() {
|
|
|
})
|
|
|
} else {
|
|
|
addUser(form.value).then((response) => {
|
|
|
- console.log(response,"879414")
|
|
|
+ console.log(response, '879414')
|
|
|
proxy.$modal.msgSuccess('新增成功')
|
|
|
open.value = false
|
|
|
getList()
|