diff --git a/src/views/base/company/form/CompanyForm.vue b/src/views/base/company/form/CompanyForm.vue index e7cbfab..190f11f 100644 --- a/src/views/base/company/form/CompanyForm.vue +++ b/src/views/base/company/form/CompanyForm.vue @@ -266,7 +266,8 @@ export default { // latitude:"", detailedAddress: "", address: "", - apikey: process.env.VUE_APP_AMAP_KEY, // 确保这里填写正确的高德地图 API Key + // apikey: process.env.VUE_APP_AMAP_KEY, // 高德地图 API Key + apikey: 'd0a6d2fc229e376f6bb20d976b4033ef', // 高德地图 API Key lng: "", lat: "", location: "", diff --git a/src/views/drivingSchool/DriveSchoolPay/api/index.js b/src/views/drivingSchool/DriveSchoolPay/api/index.js index 6aeed50..19ae183 100644 --- a/src/views/drivingSchool/DriveSchoolPay/api/index.js +++ b/src/views/drivingSchool/DriveSchoolPay/api/index.js @@ -90,4 +90,12 @@ export function getSourceUserById(userId) { }) } +// 获取课程对应提成方案 +export function getSchemeListByCourseId(courseId) { + return request({ + url: '/base/dl-drive-school-course/getSchemeList?id=' + courseId, + method: 'get' + }) +} + diff --git a/src/views/drivingSchool/DriveSchoolPay/api/schemeApi.js b/src/views/drivingSchool/DriveSchoolPay/api/schemeApi.js new file mode 100644 index 0000000..76113d1 --- /dev/null +++ b/src/views/drivingSchool/DriveSchoolPay/api/schemeApi.js @@ -0,0 +1,43 @@ +import request from '@/utils/request' + +// 查询提成方案列表 +export function getSchemeListByCourseId(courseId) { + return request({ + url: '/base/dl-drive-school-course/getSchemeList?id=' + courseId, + method: 'get' + }) +} + +// 查询提成方案详情 +export function getScheme(id) { + return request({ + url: `/courseScheme/get/${id}`, + method: 'get' + }) +} + +// 新增提成方案 +export function createScheme(data) { + return request({ + url: '/courseScheme/save', + method: 'post', + data: data + }) +} + +// 修改提成方案 +export function updateScheme(data) { + return request({ + url: '/courseScheme/save', + method: 'post', + data: data + }) +} + +// 删除提成方案 +export function deleteScheme(id) { + return request({ + url: `/courseScheme/delete/${id}`, + method: 'delete' + }) +} diff --git a/src/views/drivingSchool/DriveSchoolPay/form/SchoolCourseOrderForm.vue b/src/views/drivingSchool/DriveSchoolPay/form/SchoolCourseOrderForm.vue index ea895a9..4926d09 100644 --- a/src/views/drivingSchool/DriveSchoolPay/form/SchoolCourseOrderForm.vue +++ b/src/views/drivingSchool/DriveSchoolPay/form/SchoolCourseOrderForm.vue @@ -4,7 +4,7 @@ - + @@ -25,26 +25,34 @@ - + - + - - - - - - + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + {{ dict.label }} + + + + + + + - - - - {{ dict.label }} - - - + --> + + + + + + + {{ item.name }} + + *科1:{{ item.subject1Deduct }}元, + *科2:{{ item.subject2Deduct }}元, + *科3:{{ item.subject3Deduct }}元, + *科4:{{ item.subject4Deduct }}元, + *业务经理:{{ item.subject0Deduct }}元 + + + + + + + + 添加方案 + + + (如果没有合适的方案,请添加) + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/views/drivingSchool/StudentScoreInput/index.vue b/src/views/drivingSchool/StudentScoreInput/index.vue index c3bdb00..d7897f8 100644 --- a/src/views/drivingSchool/StudentScoreInput/index.vue +++ b/src/views/drivingSchool/StudentScoreInput/index.vue @@ -69,8 +69,15 @@ --> - 成绩录入 - 成绩修改 + 成绩录入 + 成绩修改 + 教练修改 @@ -79,17 +86,20 @@ + + + diff --git a/src/views/drivingSchool/schoolCourse/index.vue b/src/views/drivingSchool/schoolCourse/index.vue index 28e29ea..aa3504c 100644 --- a/src/views/drivingSchool/schoolCourse/index.vue +++ b/src/views/drivingSchool/schoolCourse/index.vue @@ -26,7 +26,7 @@ - + @@ -44,6 +44,78 @@ {{ scope.row.ifDisplay === '0' ? '开启' : '未开启' }} + + + + + + 提成方案列表 + + 新增提成方案 + + + + + + + + {{ row.subject1Deduct || 0 }} 元 + + + + + {{ row.subject2Deduct || 0 }} 元 + + + + + {{ row.subject3Deduct || 0 }} 元 + + + + + {{ row.subject4Deduct || 0 }} 元 + + + + + {{ row.subject0Deduct || 0 }} 元 + + + + + + {{ row.isDefault ? '是' : '否' }} + + + + + + 修改 + 删除 + + + + + + + + @@ -68,9 +141,12 @@ import * as DlDriveSchoolCourseApi from '@/views/drivingSchool/schoolCourse/courseApi'; import DlDriveSchoolCourseForm from '@/views/drivingSchool/schoolCourse/form/DlDriveSchoolCourseForm.vue'; import { getDictDatas } from '@/utils/dict' +import * as SchemeApi from '@/views/drivingSchool/schoolCourse/api/schemeApi' +import SchemeForm from '@/views/drivingSchool/schoolCourse/form/schemeForm.vue' export default { name: "DlDriveSchoolCourse", components: { + SchemeForm, DlDriveSchoolCourseForm, }, data() { @@ -99,6 +175,10 @@ export default { name: null, }, ageGroupList: getDictDatas("drive_school_age_group"), + // 用于记录每个课程的提成方案加载状态 + schemeLoading: {}, + // 记录当前展开的行 + expandedRows: [] }; }, created() { @@ -156,6 +236,67 @@ export default { this.exportLoading = false; } }, + async handleExpandChange(row, expandedRows) { + this.expandedRows = expandedRows.map(r => r.id); + if (expandedRows.includes(row)) { + // 展开时加载提成方案数据 + try { + this.$set(this.schemeLoading, row.id, true); + const res = await SchemeApi.getSchemeListByCourseId(row.id); + row.schemeList = res.data; + } finally { + this.$set(this.schemeLoading, row.id, false); + } + } + }, + + /** 打开提成方案表单 */ + openSchemeForm(schemeId, courseId) { + this.$refs.schemeFormRef.open(schemeId, courseId); + }, + + /** 提成方案操作成功回调 */ + async handleSchemeSuccess() { + // 重新加载当前展开的课程的提成方案 + for (const row of this.list) { + if (this.expandedRows.includes(row.id)) { + try { + this.$set(this.schemeLoading, row.id, true); + const res = await SchemeApi.getSchemeListByCourseId(row.id); + row.schemeList = res.data; + } finally { + this.$set(this.schemeLoading, row.id, false); + } + } + } + }, + + /** 删除提成方案 */ + async handleDeleteScheme(schemeId, courseId) { + await this.$modal.confirm('确认删除该提成方案吗?'); + try { + await SchemeApi.deleteScheme(schemeId); + this.$modal.msgSuccess("删除成功"); + // 重新加载该课程的提成方案 + const row = this.list.find(item => item.id === courseId); + if (row && this.expandedRows.includes(courseId)) { + try { + this.$set(this.schemeLoading, row.id, true); + const res = await SchemeApi.getSchemeListByCourseId(courseId); + row.schemeList = res.data; + } finally { + this.$set(this.schemeLoading, row.id, false); + } + } + } catch {} + }, + } }; +