This commit is contained in:
Lx 2025-06-19 15:34:26 +08:00
parent f4cd37a8b0
commit d5cefa31f8
6 changed files with 180 additions and 14 deletions

View File

@ -14,7 +14,7 @@
</el-select>
</el-form-item>
<el-form-item label="教练选择" prop="coachUserId">
<el-select v-model="formData.coachUserId" placeholder="请选择课程" @change="handleCoachChange()">
<el-select v-model="formData.coachUserId" placeholder="请选择教练" @change="handleCoachChange()">
<el-option v-for="dict in coachList"
:key="dict.userId" :label="dict.name" :value="dict.userId"
/>
@ -105,7 +105,7 @@ export default {
const coachRes = await listCoach()
this.coachList = coachRes.data
console.log('当前数据', this.coachList);
this.formLoading = false;
},
/** 提交按钮 */

View File

@ -83,14 +83,79 @@
<el-button size="mini" type="text" icon="el-icon-edit" @click="viewContract(scope.row)">合同信息</el-button>
</template>
</el-table-column>
<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">
<el-button size="mini" type="text" v-if="scope.row.ifEnd == true">订单已终止</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-edit" @click="openAssignmentCoach(scope.row)" v-if="scope.row.paymentStatus == 2 && scope.row.ifAssignmentCoach == 0 && scope.row.ifEnd == false">分配教练</el-button>
<el-button size="mini" type="text" icon="el-icon-close" @click="openEndOrder(scope.row)" v-if="scope.row.paymentStatus == 2 && scope.row.ifEnd == false">终止</el-button>
<el-button size="mini" type="text" icon="el-icon-plus" @click="openAddForm(scope.row)" v-if="scope.row.paymentStatus == 2 && scope.row.ifEnd == true && scope.row.isCreated == false">快速创建订单</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<!-- 如果订单已终止只显示"订单已终止" -->
<el-button
size="mini"
type="text"
v-if="scope.row.ifEnd == true"
disabled
>
该订单已终止
</el-button>
<!-- 如果订单未终止显示其他操作按钮 -->
<template v-if="scope.row.ifEnd == false">
<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-edit"
@click="openAssignmentCoach(scope.row)"
v-if="scope.row.paymentStatus == 2 && scope.row.ifAssignmentCoach == 0"
>
分配教练
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-close"
@click="openEndOrder(scope.row)"
>
终止
</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
>
删除
</el-button>
</template>
<!-- 快速创建订单仅针对已终止订单 -->
<el-button
size="mini"
type="text"
icon="el-icon-plus"
@click="openAddForm(scope.row)"
v-if="scope.row.ifEnd == true && scope.row.isCreated == false"
>
快速创建订单
</el-button>
</template>
</el-table-column>
</el-table>

View File

@ -141,6 +141,28 @@
</el-col>
</el-row>-->
</el-collapse-item>
<el-collapse-item title="审核信息" name="3">
<el-row>
<el-col :span="24">
<el-form-item label="是否通过" prop="financePass">
<el-select :disabled="readonly" v-model="formData.financePass" disabled placeholder="待审核">
<el-option
v-for="item in financePassOption"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="审批意见" prop="financeRemark">
<el-input type="textarea" :readonly="readonly" v-model="formData.financeRemark" disabled placeholder="暂无信息"/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
</el-collapse>
</el-form>
@ -167,7 +189,7 @@ export default {
dialogTitle: "",
//
dialogVisible: false,
activeNames: ['1','2'],
activeNames: ['1','2','3'],
// 12
formLoading: false,
addressList:[],

View File

@ -30,7 +30,7 @@
<!-- <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"-->
<!-- v-hasPermi="['drive:school-commission:export']">导出</el-button>-->
<!-- </el-col>-->
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
<el-col :span="1.5">
<el-button
type="primary"
@ -45,11 +45,14 @@
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="教练姓名" align="center" prop="coachName" />
<el-table-column label="学生姓名" align="center" prop="studentName" />
<el-table-column label="学生身份证号" align="center" prop="studentIdCard" />
<el-table-column label="课程名称" align="center" prop="courseName" />
<el-table-column label="课程类型" align="center" prop="courseType" />
<el-table-column label="提成金额" align="center" prop="commissionAmount" />
<el-table-column label="科目" align="center" prop="subject" />
<el-table-column label="审核人姓名" align="center" prop="checkName" />
<el-table-column label="审核意见" align="center" prop="checkRemark" />
<el-table-column label="审核日期" align="center" prop="createTime" :formatter="formatDate"/>
<!-- <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)"-->
@ -379,6 +382,18 @@ export default {
this.form.studentName = null; //
}
},
formatDate(row, column, cellValue) {
return this.formatTimestampToDate(cellValue);
},
formatTimestampToDate(timestamp) {
if (!timestamp) return '';
const date = new Date(timestamp);
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0');
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
},
// /** */
// async handleDelete(row) {

View File

@ -96,12 +96,47 @@
</el-form-item>
</el-col>
</el-row>
<el-form-item label="报名时间" prop="createTime">
<el-date-picker :readonly="readonly" clearable v-model="formData.createTime" type="date" value-format="timestamp" disabled=""/>
</el-form-item>
<el-row>
<el-col :span="12">
<el-form-item label="报名时间" prop="createTime">
<el-date-picker :readonly="readonly" clearable v-model="formData.createTime" type="date" value-format="timestamp" disabled=""/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="studentIdCard">
<el-input :readonly="readonly" v-model="formData.studentIdCard" disabled/>
</el-form-item>
</el-col>
</el-row>
</el-collapse-item>
<el-collapse-item title="提成信息" name="2">
<el-collapse-item title="各科目成绩信息" name="2">
<el-table :data="formData.processList" border style="width: 100%">
<el-table-column prop="subject" label="科目" width="100">
<template slot-scope="scope">
{{ getSubjectName(scope.row.subject) }}
</template>
</el-table-column>
<el-table-column prop="examStatus" label="考试状态" width="120">
<template slot-scope="scope">
{{ getExamStatusName(scope.row.examStatus) }}
</template>
</el-table-column>
<el-table-column prop="examTime" label="考试时间" width="180">
<template slot-scope="scope">
{{ formatDate(scope.row.examTime) }}
</template>
</el-table-column>
<el-table-column prop="examScore" label="考试分数" width="100">
<template slot-scope="scope">
{{ scope.row.examScore || '-' }}
</template>
</el-table-column>
</el-table>
</el-collapse-item>
<el-collapse-item title="提成信息" name="3">
<el-row>
<el-col :span="8">
<el-form-item label="提成金额" prop="coachCommission">
@ -121,7 +156,7 @@
</el-row>
</el-collapse-item>
<el-collapse-item title="财务审核" name="3">
<el-collapse-item title="财务审核" name="4">
<el-row>
<el-col :span="24">
@ -167,7 +202,7 @@ export default {
dialogTitle: "",
//
dialogVisible: false,
activeNames: ['1','2','3'],
activeNames: ['1','3','4'],
// 12
formLoading: false,
statusOptions:[
@ -303,6 +338,34 @@ export default {
this.formLoading = false;
}
},
getSubjectName(subject) {
const subjectMap = {
1: '科目一',
2: '科目二',
3: '科目三',
4: '科目四'
};
return subjectMap[subject] || subject;
},
getExamStatusName(status) {
const statusMap = {
'0': '未通过',
'1': '已通过',
'9': '已送考',
'null': '未送考'
};
return statusMap[status] || status;
},
formatDate(timestamp) {
if (!timestamp) return '-'; //
const date = new Date(timestamp);
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0'); //
const day = String(date.getDate()).padStart(2, '0'); //
return `${year}-${month}-${day}`;
},
/** 表单重置 */
reset() {
this.formData = {

View File

@ -130,7 +130,7 @@ export default {
data() {
return {
activeTab: 'all',
showPassedOnly: false,
showPassedOnly: true,
//
loading: true,
//
@ -162,6 +162,7 @@ export default {
},
created() {
this.queryParams.examStatus = '1';
this.getList();
},
methods: {
@ -185,8 +186,8 @@ export default {
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.showPassedOnly = false;
this.queryParams.examStatus = undefined;
this.showPassedOnly = true;
this.queryParams.examStatus = '1';
this.handleQuery();
},
/** 添加/修改操作 */