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

View File

@ -244,7 +244,10 @@ export const DICT_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'
// 创建驾校课程分类
export function createDlDriveSchoolCourse(data) {
return request({
url: '/base/dl-drive-school-course/create',
method: 'post',
data: data
})
}
// 更新驾校课程分类
export function updateDlDriveSchoolCourse(data) {
return request({
url: '/base/dl-drive-school-course/update',
method: 'put',
data: data
})
}
// 删除驾校课程分类
export function deleteDlDriveSchoolCourse(id) {
return request({
url: '/base/dl-drive-school-course/delete?id=' + id,
method: 'delete'
})
}
// 获得驾校课程分类
export function getDlDriveSchoolCourse(id) {
return request({
url: '/base/dl-drive-school-course/get?id=' + id,
method: 'get'
})
}
// 获得驾校课程分类分页
export function getDlDriveSchoolCoursePage(params) {
return request({
url: '/base/dl-drive-school-course/page',
method: 'get',
params
})
}
// 导出驾校课程分类 Excel
export function exportDlDriveSchoolCourseExcel(params) {
return request({
url: '/base/dl-drive-school-course/export-excel',
method: 'get',
params,
responseType: 'blob'
})
}
import request from '@/utils/request'
// 创建驾校课程分类
export function saveDlDriveSchoolCourse(data) {
return request({
url: '/base/dl-drive-school-course/save',
method: 'post',
data: data
})
}
// 删除驾校课程分类
export function deleteDlDriveSchoolCourse(id) {
return request({
url: '/base/dl-drive-school-course/delete?id=' + id,
method: 'delete'
})
}
// 获得驾校课程分类
export function getDlDriveSchoolCourse(id) {
return request({
url: '/base/dl-drive-school-course/get?id=' + id,
method: 'get'
})
}
// 获得驾校课程分类分页
export function getDlDriveSchoolCoursePage(params) {
return request({
url: '/base/dl-drive-school-course/page',
method: 'get',
params
})
}
// 导出驾校课程分类 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-form ref="formRef" :model="formData" :rules="formRules" v-loading="formLoading" label-width="100px">
<el-form-item label="课程类型" prop="automatic">
<el-select v-model="formData.automatic" placeholder="请选择课程类型">
<el-option label="请选择字典生成" value=""/>
</el-select>
</el-form-item>
<el-form-item label="驾照类型" prop="license">
<el-input v-model="formData.license" placeholder="请输入驾照类型"/>
</el-form-item>
<el-form-item
label="驾证类型 1C1小型手动挡汽车 2C2小型自动档汽车 3B1中型客车 4B2大型货车 5A1大型客车 6A2牵引车 7A3城市公交车 8D三轮摩托车 9E两轮摩托车 10F轻便摩托车"
prop="type">
<el-select v-model="formData.type"
placeholder="请选择驾证类型 1C1小型手动挡汽车 2C2小型自动档汽车 3B1中型客车 4B2大型货车 5A1大型客车 6A2牵引车 7A3城市公交车 8D三轮摩托车 9E两轮摩托车 10F轻便摩托车">
<el-option label="请选择字典生成" value=""/>
</el-select>
</el-form-item>
<el-form-item label="课程名字" prop="name">
<el-input v-model="formData.name" placeholder="请输入课程名字"/>
</el-form-item>
<el-form-item label="课程开始时间" prop="dayStart">
<el-input v-model="formData.dayStart" placeholder="请输入课程开始时间"/>
</el-form-item>
<el-form-item label="课程结束时间" prop="dayEnd">
<el-input v-model="formData.dayEnd" placeholder="请输入课程结束时间"/>
</el-form-item>
<el-form-item label="价格" prop="price">
<el-input v-model="formData.price" placeholder="请输入价格"/>
</el-form-item>
<el-form-item label="封面图" prop="photo">
<el-input v-model="formData.photo" placeholder="请输入封面图"/>
</el-form-item>
<el-form-item label="课程简介" prop="describ">
<el-input v-model="formData.describ" placeholder="请输入课程简介"/>
</el-form-item>
<el-form-item label="订金" prop="reserveMoney">
<el-input v-model="formData.reserveMoney" placeholder="请输入订金"/>
</el-form-item>
<el-form-item label="交付定金的优惠" prop="favour">
<el-input v-model="formData.favour" placeholder="请输入交付定金的优惠"/>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="课程名称" prop="name">
<el-input v-model="formData.name" placeholder="请输入课程名字"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="小程序标题" prop="tittle">
<el-input v-model="formData.tittle" placeholder="请输小程序标题"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="驾证类型"
prop="type">
<el-select v-model="formData.type" placeholder="请选择驾证类型">
<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-col>
<el-col :span="12">
<el-form-item label="价格" prop="price">
<el-input-number v-model="formData.price" placeholder="请输入价格" :precision="2" :step="0.1" ></el-input-number>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="开始时间" prop="dayStart">
<el-date-picker clearable
v-model="formData.dayStart"
type="date"
value-format="yyyy-MM-dd"
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>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" :disabled="formLoading"> </el-button>
@ -67,20 +111,26 @@ export default {
formLoading: false,
//
formData: {
automatic: undefined,
license: undefined,
tittle: undefined,
type: undefined,
name: undefined,
dayStart: undefined,
dayEnd: undefined,
price: undefined,
photo: undefined,
describ: undefined,
remark: undefined,
reserveMoney: 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: {
@ -110,14 +160,14 @@ export default {
const data = this.formData;
//
if (data.id) {
await DlDriveSchoolCourseApi.updateDlDriveSchoolCourse(data);
await DlDriveSchoolCourseApi.saveDlDriveSchoolCourse(data);
this.$modal.msgSuccess("修改成功");
this.dialogVisible = false;
this.$emit('success');
return;
}
//
await DlDriveSchoolCourseApi.createDlDriveSchoolCourse(data);
await DlDriveSchoolCourseApi.saveDlDriveSchoolCourse(data);
this.$modal.msgSuccess("新增成功");
this.dialogVisible = false;
this.$emit('success');
@ -128,15 +178,14 @@ export default {
/** 表单重置 */
reset() {
this.formData = {
automatic: undefined,
license: undefined,
tittle: undefined,
type: undefined,
name: undefined,
dayStart: undefined,
dayEnd: undefined,
price: undefined,
photo: undefined,
describ: undefined,
remark: undefined,
reserveMoney: undefined,
favour: undefined,
};

View File

@ -2,14 +2,15 @@
<div class="app-container">
<!-- 搜索工作栏 -->
<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-input v-model="queryParams.name" placeholder="请输入课程名字" clearable @keyup.enter.native="handleQuery"/>
</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-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
@ -26,23 +27,22 @@
</el-row>
<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="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="dayEnd" />
<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="favour" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)"
v-hasPermi="['base:dl-drive-school-course:update']">修改</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>
<el-button size="mini" type="text" icon="el-icon-edit" @click="openForm(scope.row.id)">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
@ -84,7 +84,7 @@ export default {
queryParams: {
pageNo: 1,
pageSize: 10,
automatic: null,
type: null,
name: null,
},
};
@ -121,7 +121,7 @@ export default {
/** 删除按钮操作 */
async handleDelete(row) {
const id = row.id;
await this.$modal.confirm('是否确认删除驾校课程分类编号为"' + id + '"的数据项?')
await this.$modal.confirm('是否确认删除驾校课程名称为"' + row.name + '"的数据项?')
try {
await DlDriveSchoolCourseApi.deleteDlDriveSchoolCourse(id);
await this.getList();