对接培训模板导出
This commit is contained in:
parent
005a3a8e98
commit
3eadd103e6
|
@ -52,11 +52,12 @@ export function importVehicleModelTraining(data) {
|
|||
})
|
||||
}
|
||||
|
||||
// // 导出车型培训记录
|
||||
// export function exportVehicleModelTraining(data) {
|
||||
// return request({
|
||||
// url: '/admin/vehicleModelTraining/export',
|
||||
// method: 'post',
|
||||
// data
|
||||
// })
|
||||
// }
|
||||
// 导出车型培训模板
|
||||
export function exportVehicleTemplate(data) {
|
||||
return request({
|
||||
url: '/admin/vehicleModelTraining/templateExport',
|
||||
method: 'post',
|
||||
responseType: 'blob',
|
||||
data
|
||||
})
|
||||
}
|
|
@ -7,7 +7,7 @@ export default {
|
|||
/**
|
||||
* 侧边栏主题 深色主题theme-dark,浅色主题theme-light
|
||||
*/
|
||||
sideTheme: 'theme-dark',
|
||||
sideTheme: 'theme-light',
|
||||
|
||||
/**
|
||||
* 是否系统布局配置
|
||||
|
|
|
@ -13,25 +13,25 @@
|
|||
<el-card>
|
||||
<template #header>
|
||||
<div class="card-header">
|
||||
<span>导出</span>
|
||||
<span>导出模板</span>
|
||||
</div>
|
||||
</template>
|
||||
<el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" label-position="top">
|
||||
<div class="applyFormContainer">
|
||||
<el-row class="myRow" :gutter="20">
|
||||
<el-col :span="12">
|
||||
<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="dependencyId">
|
||||
<el-select v-model="ruleForm.dependencyId" 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="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="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>
|
||||
|
@ -49,50 +49,90 @@
|
|||
|
||||
</template>
|
||||
<script setup>
|
||||
import { reactive } from 'vue'
|
||||
import { onMounted, reactive } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { UploadFilled } from '@element-plus/icons-vue'
|
||||
import { exportVehicleTemplate } from "@/api/qualification/vehicleTrain"
|
||||
import { getBusDependencyPage } from "@/api/system/dependency"
|
||||
|
||||
const router = useRouter()
|
||||
const levelList = ref([
|
||||
{ title: '资质管理', path: '/qualification' },
|
||||
{ title: '车型培训情况', path: '/qualification/vehicleTrain' },
|
||||
{ title: '导出', path: '/qualification/vehicleTrain/exportForm' }
|
||||
{ title: '导出模板', path: '/qualification/vehicleTrain/exportForm' }
|
||||
])
|
||||
const { proxy } = getCurrentInstance()
|
||||
const { vehicle_model } = proxy.useDict("vehicle_model")
|
||||
|
||||
const data = reactive({
|
||||
ruleForm: {},
|
||||
rules: {
|
||||
vehicleModel: [{ required: true, message: "车型不能为空", trigger: "change" }],
|
||||
dependencyId: [{ required: true, message: "属地不能为空", trigger: "change" }],
|
||||
},
|
||||
})
|
||||
const { ruleForm, rules } = toRefs(data)
|
||||
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getBusDependencyData()
|
||||
});
|
||||
// 属地数据
|
||||
const busDependencyData = ref([])
|
||||
// 获取属地数据
|
||||
const getBusDependencyData = () => {
|
||||
getBusDependencyPage({
|
||||
pageIndex: 1,
|
||||
pageSize: 100,
|
||||
}).then(response => {
|
||||
if (response.code == 200) {
|
||||
busDependencyData.value = response.data.list
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const handleCancel = () => {
|
||||
proxy.resetForm("ruleFormRef")
|
||||
router.push({
|
||||
path: '/qualification/vehicleTrain'
|
||||
})
|
||||
}
|
||||
const getCurrentTime = () => {
|
||||
//获取当前时间并打印
|
||||
var getTime = new Date().getTime(); //获取到当前时间戳
|
||||
var time = new Date(getTime); //创建一个日期对象
|
||||
var year = time.getFullYear(); // 年
|
||||
var month = (time.getMonth() + 1).toString().padStart(2, '0'); // 月
|
||||
var date = time.getDate().toString().padStart(2, '0'); // 日
|
||||
var hour = time.getHours().toString().padStart(2, '0'); // 时
|
||||
var minute = time.getMinutes().toString().padStart(2, '0'); // 分
|
||||
var second = time.getSeconds().toString().padStart(2, '0'); // 秒
|
||||
var gettime = year + month + date + hour + minute + second
|
||||
return gettime
|
||||
}
|
||||
const handleSubmit = () => {
|
||||
proxy.$refs["ruleFormRef"].validate(valid => {
|
||||
if (valid) {
|
||||
router.push({
|
||||
path: '/qualification/vehicleTrain'
|
||||
exportVehicleTemplate(ruleForm.value).then(res => {
|
||||
console.log('导出结果', res)
|
||||
var downFileName = getCurrentTime()
|
||||
// 通过a标签打开新页面下载文件
|
||||
const a = document.createElement('a')
|
||||
a.href = URL.createObjectURL(res)
|
||||
// a标签里有download属性可以自定义文件名
|
||||
a.setAttribute(
|
||||
'download',
|
||||
downFileName
|
||||
)
|
||||
document.body.appendChild(a)
|
||||
a.click();
|
||||
document.body.removeChild(a)
|
||||
|
||||
proxy.$modal.msgSuccess("导出成功")
|
||||
open.value = false
|
||||
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()
|
||||
// })
|
||||
// }
|
||||
}
|
||||
})
|
||||
}
|
||||
|
|
|
@ -196,8 +196,7 @@ const selectChanged = (value) => {
|
|||
|
||||
// 获取详情
|
||||
const getDetailInfo = (id) => {
|
||||
getVehicleModelTraining(id).then(res => {
|
||||
console.log('详情', res)
|
||||
getVehicleModelTraining(id).then(res => {
|
||||
if(res.code == 200) ruleForm.value = res.data
|
||||
})
|
||||
}
|
||||
|
|
|
@ -6,13 +6,19 @@
|
|||
<el-row class="myRow">
|
||||
<el-col :span="20">
|
||||
<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 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">
|
||||
<el-input v-model="queryParams.userName" placeholder="请输入员工姓名" clearable
|
||||
style="width: 200px" @keyup.enter="handleQuery" />
|
||||
<el-form-item label="员工姓名" prop="userId">
|
||||
<!-- <el-input v-model="queryParams.userId" placeholder="请输入员工姓名" clearable
|
||||
style="width: 200px" @keyup.enter="handleQuery" /> -->
|
||||
<el-select v-model="queryParams.userId" filterable placeholder="请选择员工姓名" style="width: 200px">
|
||||
<el-option v-for="item in allUsers" :key="item.userId" :label="item.nickName"
|
||||
:value="item.userId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4" style="text-align: right;">
|
||||
|
@ -33,7 +39,7 @@
|
|||
</el-button>
|
||||
<el-button type="primary" class="qualificationApplyBtn" @click="handleOpenApplyForm">
|
||||
<img :src="exprotIcon" class="custom-icon" />
|
||||
导出
|
||||
导出模板
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="borderLine"></div>
|
||||
|
@ -43,21 +49,23 @@
|
|||
{{ scope.$index + 1 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="dependencyName" label="属地" />
|
||||
<el-table-column prop="deptName" label="部门" />
|
||||
<el-table-column prop="sectionName" label="科室" />
|
||||
<el-table-column prop="dependencyName" label="属地" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="deptName" label="部门" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="sectionName" label="科室" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="workNo" label="工号" />
|
||||
<el-table-column prop="userName" label="员工姓名" />
|
||||
<el-table-column prop="vehicleModel" label="车型" />
|
||||
<el-table-column prop="vehicleModel" label="车型" :show-overflow-tooltip="true" />
|
||||
<el-table-column prop="trainingTime" label="培训时间" width="130">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.trainingTime"> {{ moment(scope.row.trainingTime).format('YYYY-MM-DD') }}</span>
|
||||
<span v-if="scope.row.trainingTime"> {{ moment(scope.row.trainingTime).format('YYYY-MM-DD')
|
||||
}}</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(scope.row)">编辑</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"
|
||||
@click="handleDelete(scope.row)">删除</el-button>
|
||||
|
@ -78,11 +86,13 @@ 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 { listUser } from "@/api/system/user"
|
||||
import moment from 'moment'
|
||||
|
||||
const { proxy } = getCurrentInstance()
|
||||
// 初始化
|
||||
onMounted(() => {
|
||||
getAllUser();
|
||||
getList();
|
||||
getBusDependencyData()
|
||||
});
|
||||
|
@ -111,6 +121,18 @@ const getBusDependencyData = () => {
|
|||
})
|
||||
}
|
||||
|
||||
// 用户数据
|
||||
const allUsers = ref([])
|
||||
// 获取所有用户
|
||||
const getAllUser = () => {
|
||||
listUser({
|
||||
pageNum: 1,
|
||||
pageSize: 5000
|
||||
}).then(res => {
|
||||
allUsers.value = res.rows
|
||||
})
|
||||
}
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
const handleQuery = () => {
|
||||
queryParams.value.pageIndex = 1
|
||||
|
|
|
@ -103,13 +103,23 @@
|
|||
{{ scope.$index + 1 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="用户编号" align="center" min-width="100" key="userId" prop="userId"
|
||||
v-if="columns[0].visible" /> -->
|
||||
<el-table-column label="用户账号" align="center" min-width="130" key="userName" prop="userName"
|
||||
v-if="columns[1].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="真实姓名" align="center" min-width="130" key="nickName" prop="nickName"
|
||||
<el-table-column label="工号" align="center" min-width="130" key="workNo" prop="workNo"
|
||||
v-if="columns[2].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="中文姓名" align="center" min-width="130" key="nickName" prop="nickName"
|
||||
v-if="columns[2].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="部门" align="center" min-width="130" key="deptName" prop="dept.deptName"
|
||||
<el-table-column label="英文姓名" align="center" min-width="210" key="englishName" prop="englishName"
|
||||
v-if="columns[2].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="登录账号" align="center" min-width="130" key="userName" prop="userName"
|
||||
v-if="columns[1].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="邮箱" align="center" min-width="280" key="email" prop="email"
|
||||
v-if="columns[1].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="部门" align="center" min-width="180" key="deptName" prop="dept.deptName"
|
||||
v-if="columns[3].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="科室" align="center" min-width="180" key="sectionName" prop="sectionName"
|
||||
v-if="columns[3].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="属地" align="center" min-width="180" key="dependencyName" prop="dependencyName"
|
||||
v-if="columns[3].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="属地ESC" align="center" min-width="130" key="escUserName" prop="escUserName"
|
||||
v-if="columns[3].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="手机号码" align="center" width="160" key="phonenumber" prop="phonenumber"
|
||||
v-if="columns[4].visible" />
|
||||
|
|
Loading…
Reference in New Issue
Block a user