This commit is contained in:
PQZ 2025-02-07 11:23:41 +08:00
parent 8aab8b5921
commit 406f879ded
4 changed files with 162 additions and 119 deletions
src
utils
views/drivingSchool/schoolCourse

View File

@ -244,7 +244,10 @@ export const DICT_TYPE = {
INS_EQU_TYPE: 'ins_equ_type', INS_EQU_TYPE: 'ins_equ_type',
// ----------驾校相关------------ // ----------驾校相关------------
DRIVE_TYPE: 'drive_type' //人员类型
DRIVE_TYPE: 'drive_type',
//驾校课程类型
DRIVE_COURSE_TYPE: 'course_type',
} }

View File

@ -1,53 +1,44 @@
import request from '@/utils/request' import request from '@/utils/request'
// 创建驾校课程分类 // 创建驾校课程分类
export function createDlDriveSchoolCourse(data) { export function saveDlDriveSchoolCourse(data) {
return request({ return request({
url: '/base/dl-drive-school-course/create', url: '/base/dl-drive-school-course/save',
method: 'post', method: 'post',
data: data data: data
}) })
} }
// 更新驾校课程分类 // 删除驾校课程分类
export function updateDlDriveSchoolCourse(data) { export function deleteDlDriveSchoolCourse(id) {
return request({ return request({
url: '/base/dl-drive-school-course/update', url: '/base/dl-drive-school-course/delete?id=' + id,
method: 'put', method: 'delete'
data: data })
}) }
}
// 获得驾校课程分类
// 删除驾校课程分类 export function getDlDriveSchoolCourse(id) {
export function deleteDlDriveSchoolCourse(id) { return request({
return request({ url: '/base/dl-drive-school-course/get?id=' + id,
url: '/base/dl-drive-school-course/delete?id=' + id, method: 'get'
method: 'delete' })
}) }
}
// 获得驾校课程分类分页
// 获得驾校课程分类 export function getDlDriveSchoolCoursePage(params) {
export function getDlDriveSchoolCourse(id) { return request({
return request({ url: '/base/dl-drive-school-course/page',
url: '/base/dl-drive-school-course/get?id=' + id, method: 'get',
method: 'get' params
}) })
} }
// 导出驾校课程分类 Excel
// 获得驾校课程分类分页 export function exportDlDriveSchoolCourseExcel(params) {
export function getDlDriveSchoolCoursePage(params) { return request({
return request({ url: '/base/dl-drive-school-course/export-excel',
url: '/base/dl-drive-school-course/page', method: 'get',
method: 'get', params,
params responseType: 'blob'
}) })
} }
// 导出驾校课程分类 Excel
export function exportDlDriveSchoolCourseExcel(params) {
return request({
url: '/base/dl-drive-school-course/export-excel',
method: 'get',
params,
responseType: 'blob'
})
}

View File

@ -3,46 +3,90 @@
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="45%" v-dialogDrag append-to-body> <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="45%" v-dialogDrag append-to-body>
<el-form ref="formRef" :model="formData" :rules="formRules" v-loading="formLoading" label-width="100px"> <el-form ref="formRef" :model="formData" :rules="formRules" v-loading="formLoading" label-width="100px">
<el-form-item label="课程类型" prop="automatic"> <el-row>
<el-select v-model="formData.automatic" placeholder="请选择课程类型"> <el-col :span="12">
<el-option label="请选择字典生成" value=""/> <el-form-item label="课程名称" prop="name">
</el-select> <el-input v-model="formData.name" placeholder="请输入课程名字"/>
</el-form-item> </el-form-item>
<el-form-item label="驾照类型" prop="license"> </el-col>
<el-input v-model="formData.license" placeholder="请输入驾照类型"/> <el-col :span="12">
</el-form-item> <el-form-item label="小程序标题" prop="tittle">
<el-form-item <el-input v-model="formData.tittle" placeholder="请输小程序标题"/>
label="驾证类型 1C1小型手动挡汽车 2C2小型自动档汽车 3B1中型客车 4B2大型货车 5A1大型客车 6A2牵引车 7A3城市公交车 8D三轮摩托车 9E两轮摩托车 10F轻便摩托车" </el-form-item>
prop="type"> </el-col>
<el-select v-model="formData.type" </el-row>
placeholder="请选择驾证类型 1C1小型手动挡汽车 2C2小型自动档汽车 3B1中型客车 4B2大型货车 5A1大型客车 6A2牵引车 7A3城市公交车 8D三轮摩托车 9E两轮摩托车 10F轻便摩托车">
<el-option label="请选择字典生成" value=""/> <el-row>
</el-select> <el-col :span="12">
</el-form-item> <el-form-item
<el-form-item label="课程名字" prop="name"> label="驾证类型"
<el-input v-model="formData.name" placeholder="请输入课程名字"/> prop="type">
</el-form-item> <el-select v-model="formData.type" placeholder="请选择驾证类型">
<el-form-item label="课程开始时间" prop="dayStart"> <el-option v-for="dict in this.getDictDatas(DICT_TYPE.DRIVE_COURSE_TYPE)" :key="dict.value" :label="dict.label"
<el-input v-model="formData.dayStart" placeholder="请输入课程开始时间"/> :value="dict.value" />
</el-form-item> </el-select>
<el-form-item label="课程结束时间" prop="dayEnd"> </el-form-item>
<el-input v-model="formData.dayEnd" placeholder="请输入课程结束时间"/> </el-col>
</el-form-item> <el-col :span="12">
<el-form-item label="价格" prop="price"> <el-form-item label="价格" prop="price">
<el-input v-model="formData.price" placeholder="请输入价格"/> <el-input-number v-model="formData.price" placeholder="请输入价格" :precision="2" :step="0.1" ></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="封面图" prop="photo"> </el-col>
<el-input v-model="formData.photo" placeholder="请输入封面图"/>
</el-form-item> </el-row>
<el-form-item label="课程简介" prop="describ">
<el-input v-model="formData.describ" placeholder="请输入课程简介"/> <el-row>
</el-form-item> <el-col :span="12">
<el-form-item label="订金" prop="reserveMoney"> <el-form-item label="开始时间" prop="dayStart">
<el-input v-model="formData.reserveMoney" placeholder="请输入订金"/> <el-date-picker clearable
</el-form-item> v-model="formData.dayStart"
<el-form-item label="交付定金的优惠" prop="favour"> type="date"
<el-input v-model="formData.favour" placeholder="请输入交付定金的优惠"/> value-format="yyyy-MM-dd"
</el-form-item> placeholder="请选择开始时间">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="结束时间" prop="dayEnd">
<el-date-picker clearable
v-model="formData.dayEnd"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择结束时间">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="订金" prop="reserveMoney">
<el-input-number v-model="formData.reserveMoney" placeholder="请输入订金" :precision="2" :step="0.1" ></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="优惠" prop="favour">
<el-input-number v-model="formData.favour" placeholder="请输入订金" :precision="2" :step="0.1" :max="1"></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="课程简介" prop="remark">
<el-input type="textarea" :rows="2" v-model="formData.remark" placeholder="请输入课程简介"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col>
<el-form-item label="封面图" prop="photo">
<ImageUpload v-model="formData.photo" :limit="1"/>
</el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" :disabled="formLoading"> </el-button> <el-button type="primary" @click="submitForm" :disabled="formLoading"> </el-button>
@ -67,20 +111,26 @@ export default {
formLoading: false, formLoading: false,
// //
formData: { formData: {
automatic: undefined, tittle: undefined,
license: undefined,
type: undefined, type: undefined,
name: undefined, name: undefined,
dayStart: undefined, dayStart: undefined,
dayEnd: undefined, dayEnd: undefined,
price: undefined, price: undefined,
photo: undefined, photo: undefined,
describ: undefined, remark: undefined,
reserveMoney: undefined, reserveMoney: undefined,
favour: undefined, favour: undefined,
}, },
// //
formRules: {}, formRules: {
type: [{ required: true, message: '驾证类型不能为空', trigger: 'blur' }],
name: [{ required: true, message: '课程名称不能为空', trigger: 'blur' }],
tittle: [{ required: true, message: '小程序标题不能为空', trigger: 'blur' }],
price: [{ required: true, message: '价格不能为空', trigger: 'blur' }],
dayStart: [{ required: true, message: '开始时间不能为空', trigger: 'blur' }],
dayEnd: [{ required: true, message: '结束时间不能为空', trigger: 'blur' }],
},
}; };
}, },
methods: { methods: {
@ -110,14 +160,14 @@ export default {
const data = this.formData; const data = this.formData;
// //
if (data.id) { if (data.id) {
await DlDriveSchoolCourseApi.updateDlDriveSchoolCourse(data); await DlDriveSchoolCourseApi.saveDlDriveSchoolCourse(data);
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.dialogVisible = false; this.dialogVisible = false;
this.$emit('success'); this.$emit('success');
return; return;
} }
// //
await DlDriveSchoolCourseApi.createDlDriveSchoolCourse(data); await DlDriveSchoolCourseApi.saveDlDriveSchoolCourse(data);
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.dialogVisible = false; this.dialogVisible = false;
this.$emit('success'); this.$emit('success');
@ -128,15 +178,14 @@ export default {
/** 表单重置 */ /** 表单重置 */
reset() { reset() {
this.formData = { this.formData = {
automatic: undefined, tittle: undefined,
license: undefined,
type: undefined, type: undefined,
name: undefined, name: undefined,
dayStart: undefined, dayStart: undefined,
dayEnd: undefined, dayEnd: undefined,
price: undefined, price: undefined,
photo: undefined, photo: undefined,
describ: undefined, remark: undefined,
reserveMoney: undefined, reserveMoney: undefined,
favour: undefined, favour: undefined,
}; };

View File

@ -2,14 +2,15 @@
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="课程类型" prop="automatic">
<el-select v-model="queryParams.automatic" placeholder="请选择课程类型" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="课程名字" prop="name"> <el-form-item label="课程名字" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入课程名字" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.name" placeholder="请输入课程名字" clearable @keyup.enter.native="handleQuery"/>
</el-form-item> </el-form-item>
<el-form-item label="驾证类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择课程类型 " clearable size="small">
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DRIVE_COURSE_TYPE)" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
@ -26,23 +27,22 @@
</el-row> </el-row>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="课程类型" align="center" prop="automatic" />
<el-table-column label="驾照类型" align="center" prop="license" />
<el-table-column label="驾证类型" align="center" prop="type" />
<el-table-column label="课程名字" align="center" prop="name" /> <el-table-column label="课程名字" align="center" prop="name" />
<el-table-column label="驾照类型" align="center" prop="type">
<template v-slot="scope">
<dict-tag :type="DICT_TYPE.DRIVE_COURSE_TYPE" :value="scope.row.type" />
</template>
</el-table-column>
<el-table-column label="宣传标语" align="center" prop="tittle" />
<el-table-column label="课程开始时间" align="center" prop="dayStart" /> <el-table-column label="课程开始时间" align="center" prop="dayStart" />
<el-table-column label="课程结束时间" align="center" prop="dayEnd" /> <el-table-column label="课程结束时间" align="center" prop="dayEnd" />
<el-table-column label="价格" align="center" prop="price" /> <el-table-column label="价格" align="center" prop="price" />
<el-table-column label="封面图" align="center" prop="photo" />
<el-table-column label="课程简介" align="center" prop="describ" />
<el-table-column label="订金" align="center" prop="reserveMoney" /> <el-table-column label="订金" align="center" prop="reserveMoney" />
<el-table-column label="交付定金的优惠" align="center" prop="favour" /> <el-table-column label="交付定金的优惠" align="center" prop="favour" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope"> <template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)" <el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)">修改</el-button>
v-hasPermi="['base:dl-drive-school-course:update']">修改</el-button> <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['base:dl-drive-school-course:delete']">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -84,7 +84,7 @@ export default {
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
automatic: null, type: null,
name: null, name: null,
}, },
}; };
@ -121,7 +121,7 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
async handleDelete(row) { async handleDelete(row) {
const id = row.id; const id = row.id;
await this.$modal.confirm('是否确认删除驾校课程分类编号为"' + id + '"的数据项?') await this.$modal.confirm('是否确认删除驾校课程名称为"' + row.name + '"的数据项?')
try { try {
await DlDriveSchoolCourseApi.deleteDlDriveSchoolCourse(id); await DlDriveSchoolCourseApi.deleteDlDriveSchoolCourse(id);
await this.getList(); await this.getList();