对接用户管理
This commit is contained in:
parent
f9ef4f5cd3
commit
005a3a8e98
|
@ -28,6 +28,7 @@
|
|||
"js-beautify": "1.14.11",
|
||||
"js-cookie": "3.0.5",
|
||||
"jsencrypt": "3.3.2",
|
||||
"moment": "^2.30.1",
|
||||
"nprogress": "0.2.0",
|
||||
"pinia": "2.1.7",
|
||||
"splitpanes": "3.1.5",
|
||||
|
|
|
@ -94,6 +94,7 @@ import { getSysSectionPage } from "@/api/system/section"
|
|||
import { addVehicleModelTraining, getVehicleModelTraining, updateVehicleModelTraining } from "@/api/qualification/vehicleTrain"
|
||||
|
||||
const router = useRouter()
|
||||
const route = useRoute()
|
||||
|
||||
const levelList = ref([
|
||||
{ title: '资质管理', path: '/qualification' },
|
||||
|
@ -106,7 +107,7 @@ onMounted(() => {
|
|||
getBusDependencyData();
|
||||
getDeptTree();
|
||||
getSysSectionData();
|
||||
const id = router.params && router.params.Id
|
||||
const id = route.params && route.params.Id
|
||||
if (id) {
|
||||
ruleForm.value.id = id
|
||||
getDetailInfo(id)
|
||||
|
@ -195,7 +196,7 @@ const selectChanged = (value) => {
|
|||
|
||||
// 获取详情
|
||||
const getDetailInfo = (id) => {
|
||||
getVehicleModelTraining(id).thne(res => {
|
||||
getVehicleModelTraining(id).then(res => {
|
||||
console.log('详情', res)
|
||||
if(res.code == 200) ruleForm.value = res.data
|
||||
})
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
<el-table-column prop="vehicleModel" label="车型" />
|
||||
<el-table-column prop="trainingTime" label="培训时间" width="130">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.trainingTime"> {{ scope.row.trainingTime }}</span>
|
||||
<span v-if="scope.row.trainingTime"> {{ moment(scope.row.trainingTime).format('YYYY-MM-DD') }}</span>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -78,7 +78,9 @@ import importIcon from '@/assets/images/ImportIcon.png'
|
|||
import addIcon from '@/assets/images/addIcon.png'
|
||||
import { getVehicleTrainingPageList, deleteVehicleModelTraining } from "@/api/qualification/vehicleTrain"
|
||||
import { getBusDependencyPage } from "@/api/system/dependency"
|
||||
import moment from 'moment'
|
||||
|
||||
const { proxy } = getCurrentInstance()
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getList();
|
||||
|
|
|
@ -161,22 +161,20 @@
|
|||
<el-form :model="form" :rules="rules" ref="userRef" label-width="100px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="用户昵称" prop="nickName">
|
||||
<el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
|
||||
<el-form-item label="员工工号" prop="workNo">
|
||||
<el-input v-model="form.workNo" placeholder="请输入员工工号" @input="handleInput" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="归属部门" prop="deptId">
|
||||
<el-tree-select v-model="form.deptId" :data="enabledDeptOptions"
|
||||
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id" placeholder="请选择归属部门"
|
||||
check-strictly />
|
||||
<el-form-item label="中文姓名" prop="nickName">
|
||||
<el-input v-model="form.nickName" placeholder="请输入中文姓名" maxlength="30" />
|
||||
</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 label="英文姓名" prop="englishName">
|
||||
<el-input v-model="form.englishName" placeholder="请输入英文姓名" maxlength="30" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
|
@ -187,13 +185,46 @@
|
|||
</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 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 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="归属部门" prop="deptId">
|
||||
<el-tree-select v-model="form.deptId" filterable :data="enabledDeptOptions"
|
||||
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id" placeholder="请选择归属部门"
|
||||
check-strictly />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="科室" prop="sectionId">
|
||||
<el-select v-model="form.sectionId" filterable placeholder="请选择科室">
|
||||
<el-option v-for="item in sectionData" :key="item.sectionId" :label="item.sectionName"
|
||||
:value="item.sectionId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="属地" prop="dependencyId">
|
||||
<el-select v-model="form.dependencyId" filterable placeholder="请选择属地">
|
||||
<el-option v-for="item in busDependencyData" :key="item.id" :label="item.dependencyName"
|
||||
:value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<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-row>
|
||||
|
@ -216,15 +247,15 @@
|
|||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<!-- <el-col :span="12">
|
||||
<el-form-item label="岗位">
|
||||
<el-select v-model="form.postIds" multiple placeholder="请选择">
|
||||
<el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId"
|
||||
:disabled="item.status == 1"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
</el-col> -->
|
||||
<el-col :span="24">
|
||||
<el-form-item label="角色">
|
||||
<el-select v-model="form.roleIds" multiple placeholder="请选择">
|
||||
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId"
|
||||
|
@ -278,10 +309,13 @@
|
|||
</template>
|
||||
|
||||
<script setup name="User">
|
||||
import { onMounted, ref } from 'vue'
|
||||
import { getToken } from "@/utils/auth"
|
||||
import useAppStore from '@/store/modules/app'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser, deptTreeSelect } from "@/api/system/user"
|
||||
import { getSysSectionPage } from "@/api/system/section"
|
||||
import { getBusDependencyPage } from "@/api/system/dependency"
|
||||
import { Splitpanes, Pane } from "splitpanes"
|
||||
import "splitpanes/dist/splitpanes.css"
|
||||
|
||||
|
@ -343,16 +377,51 @@ const data = reactive({
|
|||
deptId: undefined
|
||||
},
|
||||
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" }, { pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }],
|
||||
email: [{ type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
|
||||
phonenumber: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
|
||||
workNo: [{ required: true, message: "员工工号不能为空", trigger: "blur" }],
|
||||
nickName: [{ required: true, message: "中文姓名不能为空", trigger: "blur" }, { min: 2, max: 20, message: "中文姓名长度必须介于 2 和 20 之间", trigger: "blur" }],
|
||||
englishName: [{ required: true, message: "英文姓名不能为空", trigger: "blur" }, { min: 2, max: 20, message: "英文姓名长度必须介于 2 和 20 之间", trigger: "blur" }],
|
||||
userName: [{ required: true, message: "登录账号不能为空", trigger: "blur" }, { min: 2, max: 20, message: "登录账号长度必须介于 2 和 20 之间", trigger: "blur" }],
|
||||
password: [{ required: true, message: "登录密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "登录密码长度必须介于 5 和 20 之间", trigger: "blur" }, { pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" }],
|
||||
email: [{ required: true, type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] }],
|
||||
phonenumber: [{ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
|
||||
deptId: [{ required: true, message: "请选择归属部门", trigger: ["change"] }],
|
||||
sectionId: [{ required: true, message: "请选择科室", trigger: ["change"] }],
|
||||
dependencyId: [{ required: true, message: "请选择属地", trigger: ["change"] }],
|
||||
}
|
||||
})
|
||||
|
||||
const { queryParams, form, rules } = toRefs(data)
|
||||
// 工号输入后 自动关联账号
|
||||
const handleInput = (value) => {
|
||||
form.value.userName = value
|
||||
}
|
||||
// 科室数据
|
||||
const sectionData = ref([])
|
||||
// 获取科室数据
|
||||
const getSysSectionData = () => {
|
||||
getSysSectionPage({
|
||||
pageIndex: 1,
|
||||
pageSize: 100,
|
||||
}).then(res => {
|
||||
if (res.code == 200) {
|
||||
sectionData.value = res.data.list
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 属地数据
|
||||
const busDependencyData = ref([])
|
||||
// 获取属地数据
|
||||
const getBusDependencyData = () => {
|
||||
getBusDependencyPage({
|
||||
pageIndex: 1,
|
||||
pageSize: 100,
|
||||
}).then(response => {
|
||||
if (response.code == 200) {
|
||||
busDependencyData.value = response.data.list
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const unfoldFlag = ref(false)
|
||||
const handleFlod = () => {
|
||||
|
@ -606,6 +675,8 @@ function submitForm() {
|
|||
|
||||
onMounted(() => {
|
||||
getDeptTree()
|
||||
getBusDependencyData();
|
||||
getSysSectionData();
|
||||
getList()
|
||||
proxy.getConfigKey("sys.user.initPassword").then(response => {
|
||||
initPassword.value = response.msg
|
||||
|
@ -623,7 +694,7 @@ onMounted(() => {
|
|||
margin-bottom: 20px !important;
|
||||
}
|
||||
|
||||
:deep(.el-form-item--label-left .el-form-item__label) {
|
||||
:deep(.el-form-item__label) {
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 700;
|
||||
font-size: 18px;
|
||||
|
@ -632,7 +703,7 @@ onMounted(() => {
|
|||
padding: 0 10px 0 0;
|
||||
}
|
||||
|
||||
:deep(.el-form-item--label-left .el-form-item__content) {
|
||||
:deep(.el-form-item__content) {
|
||||
font-family: Arial;
|
||||
font-weight: 400;
|
||||
font-size: 18px;
|
||||
|
|
Loading…
Reference in New Issue
Block a user