对接车型培训
This commit is contained in:
parent
84f52f64e3
commit
ac0ac2776a
44
src/api/qualification/myQualifications.js
Normal file
44
src/api/qualification/myQualifications.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 获取我的资质申请记录列表
|
||||
export function getBusUserQualification(query) {
|
||||
return request({
|
||||
url: '/admin/busUserQualification/pageList',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询属地详细
|
||||
export function getBusDependency(busDependencyId) {
|
||||
return request({
|
||||
url: '/admin/busDependency/getBusDependency/' + busDependencyId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增属地
|
||||
export function addBusDependency(data) {
|
||||
return request({
|
||||
url: '/admin/busDependency/addBusDependency',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改属地
|
||||
export function updateBusDependency(data) {
|
||||
return request({
|
||||
url: '/admin/busDependency/updateBusDependency',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除属地
|
||||
export function deleteBusDependency(busDependencyId) {
|
||||
return request({
|
||||
url: '/admin/busDependency/deleteBusDependency/' + busDependencyId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
62
src/api/qualification/vehicleTrain.js
Normal file
62
src/api/qualification/vehicleTrain.js
Normal file
|
@ -0,0 +1,62 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 获取车型培训列表
|
||||
export function getVehicleTrainingPageList(query) {
|
||||
return request({
|
||||
url: '/admin/vehicleModelTraining/pageList',
|
||||
method: 'post',
|
||||
data: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询车型培训详细
|
||||
export function getVehicleModelTraining(trainingId) {
|
||||
return request({
|
||||
url: '/admin/vehicleModelTraining/getVehicleModelTraining/' + trainingId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增车型培训记录
|
||||
export function addVehicleModelTraining(data) {
|
||||
return request({
|
||||
url: '/admin/vehicleModelTraining/addVehicleModelTraining',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改车型培训记录
|
||||
export function updateVehicleModelTraining(data) {
|
||||
return request({
|
||||
url: '/admin/vehicleModelTraining/update',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除属地
|
||||
export function deleteVehicleModelTraining(trainingId) {
|
||||
return request({
|
||||
url: '/admin/vehicleModelTraining/delete/' + trainingId,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
// 导入车型培训记录
|
||||
export function importVehicleModelTraining(data) {
|
||||
return request({
|
||||
url: '/admin/vehicleModelTraining/import',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// // 导出车型培训记录
|
||||
// export function exportVehicleModelTraining(data) {
|
||||
// return request({
|
||||
// url: '/admin/vehicleModelTraining/export',
|
||||
// method: 'post',
|
||||
// data
|
||||
// })
|
||||
// }
|
|
@ -134,3 +134,11 @@ export function deptTreeSelect() {
|
|||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 获取当前登录用户信息
|
||||
export function getUserInfo() {
|
||||
return request({
|
||||
url: '/system/user/info',
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
|
|
@ -150,33 +150,33 @@ export const dynamicRoutes = [
|
|||
]
|
||||
},
|
||||
{
|
||||
path: '/qualification/vehicleTrain/addForm',
|
||||
component: Layout,
|
||||
hidden: true,
|
||||
permissions: ['qualification:vehicleTrain:addForm'],
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: () => import('@/views/qualification/vehicleTrain/addForm'),
|
||||
name: 'addForm',
|
||||
meta: { title: '新建车型培训记录', activeMenu: '/qualification/vehicleTrain' }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/qualification/vehicleTrain/editForm',
|
||||
path: '/qualification/vehicleTrain/Form',
|
||||
component: Layout,
|
||||
hidden: true,
|
||||
permissions: ['qualification:vehicleTrain:editForm'],
|
||||
children: [
|
||||
{
|
||||
path: '',
|
||||
component: () => import('@/views/qualification/vehicleTrain/editForm'),
|
||||
name: 'editForm',
|
||||
meta: { title: '编辑车型培训记录', activeMenu: '/qualification/vehicleTrain' }
|
||||
path: 'operation/:Id(\\d+)?',
|
||||
component: () => import('@/views/qualification/vehicleTrain/addForm'),
|
||||
name: 'vehicleTrainForm',
|
||||
meta: { title: '车型培训记录维护', activeMenu: '/qualification/vehicleTrain' }
|
||||
}
|
||||
]
|
||||
},
|
||||
},
|
||||
// {
|
||||
// path: '/qualification/vehicleTrain/editForm',
|
||||
// component: Layout,
|
||||
// hidden: true,
|
||||
// permissions: ['qualification:vehicleTrain:editForm'],
|
||||
// children: [
|
||||
// {
|
||||
// path: '',
|
||||
// component: () => import('@/views/qualification/vehicleTrain/editForm'),
|
||||
// name: 'editForm',
|
||||
// meta: { title: '编辑车型培训记录', activeMenu: '/qualification/vehicleTrain' }
|
||||
// }
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
path: '/qualification/vehicleTrain/importForm',
|
||||
component: Layout,
|
||||
|
@ -204,7 +204,7 @@ export const dynamicRoutes = [
|
|||
meta: { title: '导出车型培训记录', activeMenu: '/qualification/vehicleTrain' }
|
||||
}
|
||||
]
|
||||
},
|
||||
},
|
||||
{
|
||||
path: '/labelManage/labelEscApproval/approvalDetail',
|
||||
component: Layout,
|
||||
|
@ -247,7 +247,7 @@ export const dynamicRoutes = [
|
|||
}
|
||||
]
|
||||
},
|
||||
|
||||
|
||||
{
|
||||
path: '/system/userApproval/userApprovalDetail',
|
||||
component: Layout,
|
||||
|
|
|
@ -6,9 +6,10 @@
|
|||
<el-splitter-panel size="280">
|
||||
<div class="demo-panell">
|
||||
<div class="my-profile-container">
|
||||
<el-avatar :size="120" :src="myAvatar" />
|
||||
<div class="chineseName">官思成</div>
|
||||
<div class="englishName">GuanSiCheng</div>
|
||||
<el-avatar :size="120"
|
||||
:src="curUserInfo.avatar ? baseUrl + curUserInfo.avatar : myAvatar" />
|
||||
<div class="chineseName">{{ curUserInfo.nickName }}</div>
|
||||
<div class="englishName">{{ curUserInfo.englishName }}</div>
|
||||
</div>
|
||||
<div class="my-info-container">
|
||||
<div class="info-item">
|
||||
|
@ -16,35 +17,35 @@
|
|||
<el-avatar shape="square" :size="16" :src="jobNumberIcon" />
|
||||
</span>
|
||||
<span class="infoLable lableSpacing">工号</span>
|
||||
<span class="infoValue">NO.30424</span>
|
||||
<span class="infoValue">{{ curUserInfo.workNo }}</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="icon-container">
|
||||
<el-avatar shape="square" :size="16" :src="jobNumberIcon" />
|
||||
</span>
|
||||
<span class="infoLable">所属部门</span>
|
||||
<span class="infoValue">XXXX部门</span>
|
||||
<span class="infoValue">{{ curUserInfo.dept?.deptName }}</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="icon-container">
|
||||
<el-avatar shape="square" :size="16" :src="jobNumberIcon" />
|
||||
</span>
|
||||
<span class="infoLable">所属科室</span>
|
||||
<span class="infoValue">xxxx科室</span>
|
||||
<span class="infoValue">{{ curUserInfo.workNo }}</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="icon-container">
|
||||
<el-avatar shape="square" :size="16" :src="jobNumberIcon" />
|
||||
</span>
|
||||
<span class="infoLable lableSpacing">属地</span>
|
||||
<span class="infoValue">XXXXXX属地XXXXXX属地</span>
|
||||
<span class="infoValue">{{ curUserInfo.workNo }}</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="icon-container">
|
||||
<el-avatar shape="square" :size="16" :src="jobNumberIcon" />
|
||||
</span>
|
||||
<span class="infoLable">所属ESC</span>
|
||||
<span class="infoValue">刘文静</span>
|
||||
<span class="infoValue">{{ curUserInfo.workNo }}</span>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<span class="icon-container">
|
||||
|
@ -64,7 +65,7 @@
|
|||
</div>
|
||||
</el-splitter-panel>
|
||||
<el-splitter-panel size="880" :resizable="resizable">
|
||||
<div class="demo-panel2">
|
||||
<div class="demo-panel2">
|
||||
<el-button-group>
|
||||
<el-button v-for="(item, index) in ToolOptions" :key="index"
|
||||
:type="activeIndex === index ? 'primary' : ''" @click="activeIndex = index">
|
||||
|
@ -92,20 +93,23 @@ import VehicleTrain from './components/VehicleTrain.vue'
|
|||
import QualificationApply from './components/QualificationApply.vue'
|
||||
import LableApply from './components/LableApply.vue'
|
||||
// import { addMenu, delMenu, getMenu, listMenu, updateMenu } from "@/api/system/menu"
|
||||
import { getUserInfo } from "@/api/system/user"
|
||||
import jobNumberIcon from '@/assets/images/job-number-icon.png'
|
||||
import myAvatar from '@/assets/images/my-avatar.png'
|
||||
import { onMounted, ref } from 'vue'
|
||||
import useUserStore from '@/store/modules/user'
|
||||
|
||||
const userStore = useUserStore()
|
||||
const baseUrl = import.meta.env.VITE_APP_BASE_API
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getUserInfo()
|
||||
getUserInfos()
|
||||
});
|
||||
|
||||
// 获取当前登录用户详情
|
||||
const getUserInfo = () => {
|
||||
|
||||
const getUserInfos = () => {
|
||||
getUserInfo().then(response => {
|
||||
console.log('用户详情', response)
|
||||
if (response.code == 200) curUserInfo.value = response.data
|
||||
})
|
||||
}
|
||||
|
||||
// 按钮组配置
|
||||
|
@ -113,7 +117,7 @@ const ToolOptions = ref(['高压资质培训信息', '高压车型培训信息',
|
|||
const activeIndex = ref(0)
|
||||
// panel禁止拖拽
|
||||
const resizable = ref(false)
|
||||
|
||||
const curUserInfo = ref({})
|
||||
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
|
@ -127,17 +131,17 @@ const resizable = ref(false)
|
|||
background-color: #F8F8F8 !important;
|
||||
}
|
||||
|
||||
.demo-panell {
|
||||
.demo-panell {
|
||||
border-radius: 6px;
|
||||
background: #ffffff;
|
||||
height: 100%;
|
||||
background-image: url("../../../assets/images/myQualifiction-background.png");
|
||||
background-image: url("../../../assets/images/myQualifiction-background.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% auto;
|
||||
background-position: 0 100%;
|
||||
}
|
||||
|
||||
.demo-panel2 {
|
||||
.demo-panel2 {
|
||||
padding: 20px 20px 20px 30px;
|
||||
border-radius: 6px;
|
||||
background: #ffffff;
|
||||
|
|
|
@ -20,42 +20,55 @@
|
|||
<div class="applyFormContainer">
|
||||
<el-row class="myRow" :gutter="20">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="员工工号" prop="employeeNumber">
|
||||
<el-input v-model="ruleForm.employeeNumber" placeholder="请输入员工工号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="车型" prop="targetQualification">
|
||||
<el-select v-model="ruleForm.targetQualification" placeholder="请选择车型">
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
<el-form-item label="员工工号" prop="workNo">
|
||||
<el-select v-model="ruleForm.workNo" filterable placeholder="请选择员工工号"
|
||||
@change="selectChanged">
|
||||
<el-option v-for="item in allUsers" :key="item.userId" :label="item.workNo"
|
||||
:value="item.workNo" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="员工姓名" prop="employeeChineseName">
|
||||
<el-input v-model="ruleForm.employeeChineseName" placeholder="请输入员工姓名(中文)" />
|
||||
<el-form-item label="员工姓名">
|
||||
<el-input v-show="false" v-model="ruleForm.userId" />
|
||||
<el-input v-model="ruleForm.userName" placeholder="请输入员工姓名(中文)" disabled />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="属地" prop="localityName">
|
||||
<el-select v-model="ruleForm.localityName" placeholder="请选择属地">
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
<el-form-item label="属地" prop="dependencyId">
|
||||
<el-select v-model="ruleForm.dependencyId" placeholder="请选择属地" disabled>
|
||||
<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="8">
|
||||
<el-form-item label="部门" prop="departmentName">
|
||||
<el-select v-model="ruleForm.departmentName" placeholder="请选择部门">
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
<el-form-item label="部门" prop="deptId">
|
||||
<el-tree-select v-model="ruleForm.deptId" :data="enabledDeptOptions" disabled
|
||||
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id"
|
||||
placeholder="请选择部门" check-strictly />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="科室" prop="sectionId">
|
||||
<el-select v-model="ruleForm.sectionId" placeholder="请选择科室" disabled>
|
||||
<el-option v-for="item in sectionData" :key="item.sectionId"
|
||||
:label="item.sectionName" :value="item.sectionId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="培训时间" prop="officeName">
|
||||
<el-date-picker v-model="ruleForm.trainTime" type="date" placeholder="请选择培训时间" style="width: 100%;" />
|
||||
<el-form-item label="车型" prop="vehicleModel">
|
||||
<el-select v-model="ruleForm.vehicleModel" placeholder="请选择车型" clearable>
|
||||
<el-option v-for="dict in vehicle_model" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="培训时间" prop="trainingTime">
|
||||
<el-date-picker v-model="ruleForm.trainingTime" type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" placeholder="请选择培训时间"
|
||||
style="width: 100%;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -72,27 +85,131 @@
|
|||
|
||||
</template>
|
||||
<script setup>
|
||||
import { onMounted, ref } from 'vue'
|
||||
import { reactive } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { getBusDependencyPage } from "@/api/system/dependency"
|
||||
import { deptTreeSelect, listUser } from "@/api/system/user"
|
||||
import { getSysSectionPage } from "@/api/system/section"
|
||||
import { addVehicleModelTraining, getVehicleModelTraining, updateVehicleModelTraining } from "@/api/qualification/vehicleTrain"
|
||||
|
||||
const router = useRouter()
|
||||
|
||||
const levelList = ref([
|
||||
{ title: '资质管理', path: '/qualification' },
|
||||
{ title: '车型培训情况', path: '/qualification/vehicleTrain' },
|
||||
{ title: '新建', path: '/qualification/vehicleTrain/addForm' }
|
||||
])
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getAllUser();
|
||||
getBusDependencyData();
|
||||
getDeptTree();
|
||||
getSysSectionData();
|
||||
const id = router.params && router.params.Id
|
||||
if (id) {
|
||||
ruleForm.value.id = id
|
||||
getDetailInfo(id)
|
||||
levelList.value = [
|
||||
{ title: '资质管理', path: '/qualification' },
|
||||
{ title: '车型培训情况', path: '/qualification/vehicleTrain' },
|
||||
{ title: '编辑', path: '/qualification/vehicleTrain/addForm' }
|
||||
]
|
||||
} else {
|
||||
ruleForm.value.id = null
|
||||
levelList.value = [{ title: '资质管理', path: '/qualification' },
|
||||
{ title: '车型培训情况', path: '/qualification/vehicleTrain' },
|
||||
{ title: '新建', path: '/qualification/vehicleTrain/addForm' }]
|
||||
}
|
||||
});
|
||||
// 用户数据
|
||||
const allUsers = ref([])
|
||||
// 获取所有用户
|
||||
const getAllUser = () => {
|
||||
listUser({
|
||||
pageNum: 1,
|
||||
pageSize: 5000
|
||||
}).then(res => {
|
||||
allUsers.value = res.rows
|
||||
})
|
||||
}
|
||||
// 属地数据
|
||||
const busDependencyData = ref([])
|
||||
// 获取属地数据
|
||||
const getBusDependencyData = () => {
|
||||
getBusDependencyPage({
|
||||
pageIndex: 1,
|
||||
pageSize: 100,
|
||||
}).then(response => {
|
||||
if (response.code == 200) {
|
||||
busDependencyData.value = response.data.list
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// 部门数据
|
||||
const enabledDeptOptions = ref(undefined)
|
||||
// 获取部门数据
|
||||
const getDeptTree = () => {
|
||||
deptTreeSelect().then(res => {
|
||||
enabledDeptOptions.value = filterDisabledDept(JSON.parse(JSON.stringify(res.data)))
|
||||
})
|
||||
}
|
||||
/** 过滤禁用的部门 */
|
||||
const filterDisabledDept = (deptList) => {
|
||||
return deptList.filter(dept => {
|
||||
if (dept.disabled) {
|
||||
return false
|
||||
}
|
||||
if (dept.children && dept.children.length) {
|
||||
dept.children = filterDisabledDept(dept.children)
|
||||
}
|
||||
return true
|
||||
})
|
||||
}
|
||||
|
||||
// 科室数据
|
||||
const sectionData = ref([])
|
||||
// 获取科室数据
|
||||
const getSysSectionData = () => {
|
||||
getSysSectionPage({
|
||||
pageIndex: 1,
|
||||
pageSize: 100,
|
||||
}).then(res => {
|
||||
if (res.code == 200) {
|
||||
sectionData.value = res.data.list
|
||||
}
|
||||
})
|
||||
}
|
||||
// 工号选择事件
|
||||
const selectChanged = (value) => {
|
||||
if (value) {
|
||||
const curUser = allUsers.value.find(item => item.workNo == value)
|
||||
ruleForm.value.userId = curUser.userId
|
||||
ruleForm.value.userName = curUser.nickName
|
||||
ruleForm.value.dependencyId = curUser.dependencyId
|
||||
ruleForm.value.deptId = curUser.deptId
|
||||
ruleForm.value.sectionId = curUser.sectionId
|
||||
}
|
||||
}
|
||||
|
||||
// 获取详情
|
||||
const getDetailInfo = (id) => {
|
||||
getVehicleModelTraining(id).thne(res => {
|
||||
console.log('详情', res)
|
||||
if(res.code == 200) ruleForm.value = res.data
|
||||
})
|
||||
}
|
||||
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { vehicle_model } = proxy.useDict("vehicle_model")
|
||||
|
||||
const data = reactive({
|
||||
ruleForm: {},
|
||||
rules: {
|
||||
targetQualification: [{ required: true, message: "目标资质不能为空", trigger: "change" }],
|
||||
employeeNumber: [{ required: true, message: "员工工号不能为空", trigger: "blur" }],
|
||||
employeeChineseName: [{ required: true, message: "员工姓名(中文)不能为空", trigger: "blur" }],
|
||||
employeeEnglishName: [{ required: true, message: "员工姓名(英文)", trigger: "blur" }],
|
||||
departmentName: [{ required: true, message: "部门不能为空", trigger: "change" }],
|
||||
officeName: [{ required: true, message: "科室不能为空", trigger: "change" }],
|
||||
localityName: [{ required: true, message: "属地不能为空", trigger: "change" }],
|
||||
localityManager: [{ required: true, message: "属地ESC不能为空", trigger: "blur" }],
|
||||
workNo: [{ required: true, message: "员工工号不能为空", trigger: "blur" }],
|
||||
vehicleModel: [{ required: true, message: "车型不能为空", trigger: "change" }],
|
||||
trainingTime: [{ required: true, message: "培训时间不能为空", trigger: "change" }],
|
||||
},
|
||||
})
|
||||
const { ruleForm, rules } = toRefs(data)
|
||||
|
@ -105,24 +222,23 @@ const handleCancel = () => {
|
|||
const handleSubmit = () => {
|
||||
proxy.$refs["ruleFormRef"].validate(valid => {
|
||||
if (valid) {
|
||||
router.push({
|
||||
path: '/qualification/vehicleTrain'
|
||||
})
|
||||
// if (form.value.roleId != undefined) {
|
||||
// form.value.menuIds = getMenuAllCheckedKeys()
|
||||
// updateRole(form.value).then(response => {
|
||||
// proxy.$modal.msgSuccess("修改成功")
|
||||
// open.value = false
|
||||
// getList()
|
||||
// })
|
||||
// } else {
|
||||
// form.value.menuIds = getMenuAllCheckedKeys()
|
||||
// addRole(form.value).then(response => {
|
||||
// proxy.$modal.msgSuccess("新增成功")
|
||||
// open.value = false
|
||||
// getList()
|
||||
// })
|
||||
// }
|
||||
if (ruleForm.value.id != undefined) {
|
||||
updateVehicleModelTraining(ruleForm.value).then(response => {
|
||||
proxy.$modal.msgSuccess("修改成功")
|
||||
open.value = false
|
||||
router.push({
|
||||
path: '/qualification/vehicleTrain'
|
||||
})
|
||||
})
|
||||
} else {
|
||||
addVehicleModelTraining(ruleForm.value).then(response => {
|
||||
proxy.$modal.msgSuccess("新增成功")
|
||||
open.value = false
|
||||
router.push({
|
||||
path: '/qualification/vehicleTrain'
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -5,10 +5,9 @@
|
|||
<el-form :model="queryParams" ref="queryRef" :inline="true">
|
||||
<el-row class="myRow">
|
||||
<el-col :span="20">
|
||||
<el-form-item label="属地" prop="deptId">
|
||||
<el-select v-model="queryParams.deptId" placeholder="请选择属地" clearable style="width: 200px">
|
||||
<el-option label="Zone one" value="shanghai" />
|
||||
<el-option label="Zone two" value="beijing" />
|
||||
<el-form-item label="属地" prop="dependencyId">
|
||||
<el-select v-model="queryParams.dependencyId" placeholder="请选择属地" clearable style="width: 200px">
|
||||
<el-option v-for="item in busDependencyData" :key="item.id" :label="item.dependencyName" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="员工姓名" prop="userName">
|
||||
|
@ -38,29 +37,30 @@
|
|||
</el-button>
|
||||
</div>
|
||||
<div class="borderLine"></div>
|
||||
<el-table :data="tableData" height="calc(100% - 170px)" style="width: 100%">
|
||||
<el-table v-loading="loading" :data="tableData" height="calc(100% - 170px)" style="width: 100%">
|
||||
<el-table-column label="序号" width="60">
|
||||
<template #default="scope">
|
||||
{{ scope.$index + 1 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="localityName" label="属地" />
|
||||
<el-table-column prop="departmentName" label="部门" />
|
||||
<el-table-column prop="officeName" label="科室" />
|
||||
<el-table-column prop="jobNumber" label="工号" />
|
||||
<el-table-column prop="name" label="员工姓名" />
|
||||
<el-table-column prop="vehicleType" label="车型" />
|
||||
<el-table-column prop="tarinTime" label="培训时间" width="130">
|
||||
<el-table-column prop="dependencyName" label="属地" />
|
||||
<el-table-column prop="deptName" label="部门" />
|
||||
<el-table-column prop="sectionName" label="科室" />
|
||||
<el-table-column prop="workNo" label="工号" />
|
||||
<el-table-column prop="userName" label="员工姓名" />
|
||||
<el-table-column prop="vehicleModel" label="车型" />
|
||||
<el-table-column prop="trainingTime" label="培训时间" width="130">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.tarinTime"> {{ scope.row.tarinTime }}</span>
|
||||
<span v-if="scope.row.trainingTime"> {{ scope.row.trainingTime }}</span>
|
||||
<span v-else>-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="`5`0">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" text class="replayTextBtn" @click="handleEdit">编辑</el-button>
|
||||
<el-button type="primary" text class="replayTextBtn" @click="handleEdit(scope.row)">编辑</el-button>
|
||||
<el-divider direction="vertical" class="verticalLine" />
|
||||
<el-button type="primary" text class="deleteTextBtn">删除</el-button>
|
||||
<el-button type="primary" text class="deleteTextBtn"
|
||||
@click="handleDelete(scope.row)">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
@ -70,135 +70,84 @@
|
|||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref } from 'vue'
|
||||
import { onMounted, ref } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import exprotIcon from '@/assets/images/exprotIcon.png'
|
||||
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"
|
||||
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getList();
|
||||
getBusDependencyData()
|
||||
});
|
||||
|
||||
const router = useRouter()
|
||||
const total = ref(16)
|
||||
const loading = ref(true)
|
||||
const total = ref(0)
|
||||
const queryParams = ref({
|
||||
pageNum: 1,
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
userName: undefined,
|
||||
deptId: undefined,
|
||||
qualification: undefined
|
||||
dependencyId: undefined,
|
||||
userId: undefined
|
||||
})
|
||||
const tableData = [
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
vehicleType: 'BR 205',
|
||||
tarinTime: '2025-10-24',
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
vehicleType: 'BR 205',
|
||||
tarinTime: '2025-10-24',
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
vehicleType: 'BR 205',
|
||||
tarinTime: '2025-10-24',
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
vehicleType: 'BR 205',
|
||||
tarinTime: '2025-10-24',
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
vehicleType: 'BR 205',
|
||||
tarinTime: '2025-10-24',
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
vehicleType: 'BR 205',
|
||||
tarinTime: '2025-10-24',
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
vehicleType: 'BR 205',
|
||||
tarinTime: '2025-10-24',
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
vehicleType: 'BR 205',
|
||||
tarinTime: '2025-10-24',
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
vehicleType: 'BR 205',
|
||||
tarinTime: '2025-10-24',
|
||||
},
|
||||
{
|
||||
localityName: 'XXX属地',
|
||||
departmentName: 'XXX部门',
|
||||
officeName: 'XXX科室',
|
||||
jobNumber: '3523213',
|
||||
name: '赵丽娟',
|
||||
vehicleType: 'BR 205',
|
||||
tarinTime: '2025-10-24',
|
||||
},
|
||||
]
|
||||
const tableData = ref([])
|
||||
// 属地数据
|
||||
const busDependencyData = ref([])
|
||||
// 获取属地数据
|
||||
const getBusDependencyData = () => {
|
||||
getBusDependencyPage({
|
||||
pageIndex: 1,
|
||||
pageSize: 100,
|
||||
}).then(response => {
|
||||
if (response.code == 200) {
|
||||
busDependencyData.value = response.data.list
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageNum = 1
|
||||
queryParams.value.pageIndex = 1
|
||||
getList()
|
||||
}
|
||||
|
||||
/** 重置按钮操作 */
|
||||
const resetQuery = () => {
|
||||
dateRange.value = []
|
||||
proxy.resetForm("queryRef")
|
||||
queryParams.value.deptId = undefined
|
||||
proxy.$refs.deptTreeRef.setCurrentKey(null)
|
||||
proxy.resetForm("queryRef")
|
||||
handleQuery()
|
||||
}
|
||||
const getList = () => {
|
||||
|
||||
loading.value = true
|
||||
getVehicleTrainingPageList(queryParams.value).then(res => {
|
||||
if (res.code == 200) {
|
||||
tableData.value = res.data.list
|
||||
total.value = res.data.total
|
||||
}
|
||||
loading.value = false
|
||||
}).catch(() => {
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
const handleOpenAddForm = () => {
|
||||
router.push('/qualification/vehicleTrain/addForm')
|
||||
router.push('/qualification/vehicleTrain/Form/operation')
|
||||
}
|
||||
const handleEdit = () => {
|
||||
router.push('/qualification/vehicleTrain/editForm')
|
||||
const handleEdit = (record) => {
|
||||
router.push("/qualification/vehicleTrain/Form/operation/" + record.id)
|
||||
}
|
||||
/** 删除按钮操作 */
|
||||
const handleDelete = (row) => {
|
||||
const rowId = row.id
|
||||
proxy.$modal.confirm('是否确认删除该项数据项?').then(function () {
|
||||
return deleteVehicleModelTraining(rowId)
|
||||
}).then(() => {
|
||||
getList()
|
||||
proxy.$modal.msgSuccess("删除成功")
|
||||
}).catch(() => { })
|
||||
}
|
||||
const handleOpenImportForm = () => {
|
||||
router.push('/qualification/vehicleTrain/importForm')
|
||||
|
|
Loading…
Reference in New Issue
Block a user