更新
This commit is contained in:
parent
1fe3616e16
commit
bdd53f26cf
@ -0,0 +1,199 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!-- 对话框(添加 / 修改) -->
|
||||||
|
<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="orderNo">
|
||||||
|
<el-input v-model="formData.orderNo" placeholder="请输入订单号"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="用户姓名" prop="userName">
|
||||||
|
<el-input v-model="formData.userName" placeholder="请输入用户姓名"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="用户手机号" prop="userPhone">
|
||||||
|
<el-input v-model="formData.userPhone" placeholder="请输入用户手机号"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="用户身份证号" prop="userNo">
|
||||||
|
<el-input v-model="formData.userNo" placeholder="请输入用户身份证号"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="性别" prop="userSex">
|
||||||
|
<el-radio-group v-model="formData.sex">
|
||||||
|
<el-radio v-for="dict in this.getDictDatas(DICT_TYPE.SYSTEM_USER_SEX)"
|
||||||
|
:key="dict.value" :label="dict.value">{{ dict.label }}
|
||||||
|
</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="课程名字" prop="courseName">
|
||||||
|
<el-input v-model="formData.courseName" placeholder="请输入课程名字"/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="负责教练" prop="coachUserName">
|
||||||
|
<el-input v-model="formData.coachUserName" 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="ifEnd">
|
||||||
|
<el-radio-group v-model="formData.ifEnd">
|
||||||
|
<el-radio v-for="item in ifEndRadio"
|
||||||
|
:key="item.value" :label="item.value">{{ item.label }}
|
||||||
|
</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="终止原因" prop="endReason">
|
||||||
|
<el-input v-model="formData.endReason" placeholder="请输入终止原因"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="终止时间" prop="endTime">
|
||||||
|
<el-date-picker clearable v-model="formData.endTime" type="date" value-format="timestamp"
|
||||||
|
placeholder="选择终止时间"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="订单状态" prop="paymentStatus">
|
||||||
|
<el-select v-model="formData.paymentStatus" placeholder="请选择订单状态">
|
||||||
|
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DRIVE_SCHOOL_ORDER_STATUS)"
|
||||||
|
:key="dict.value" :label="dict.label" :value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="是否已面签" prop="isSign">
|
||||||
|
<el-select v-model="formData.isSign" placeholder="请选择是否已面签">
|
||||||
|
<el-option label="请选择字典生成" value=""/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="尾款" prop="restMoney">
|
||||||
|
<el-input v-model="formData.restMoney" placeholder="请输入尾款"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="支付类型" prop="payType">
|
||||||
|
<el-select v-model="formData.paymentStatus" placeholder="请选择支付类型">
|
||||||
|
<el-option v-for="dict in this.getDictDatas(DICT_TYPE.DRIVE_SCHOOL_PAY_TYPE)"
|
||||||
|
:key="dict.value" :label="dict.label" :value="dict.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm" :disabled="formLoading">确 定</el-button>
|
||||||
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as SchoolCourseOrderApi from '@/views/drivingSchool/DriveSchoolPay/api';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "SchoolCourseOrderForm",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 弹出层标题
|
||||||
|
dialogTitle: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
dialogVisible: false,
|
||||||
|
// 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
|
formLoading: false,
|
||||||
|
// 表单参数
|
||||||
|
formData: {
|
||||||
|
orderNo: undefined,
|
||||||
|
userName: undefined,
|
||||||
|
userPhone: undefined,
|
||||||
|
userNo: undefined,
|
||||||
|
userSex: undefined,
|
||||||
|
courseId: undefined,
|
||||||
|
courseName: undefined,
|
||||||
|
coachUserId: undefined,
|
||||||
|
coachUserName: undefined,
|
||||||
|
reserveMoney: undefined,
|
||||||
|
courseType: undefined,
|
||||||
|
ifEnd: undefined,
|
||||||
|
endReason: undefined,
|
||||||
|
endTime: undefined,
|
||||||
|
paymentStatus: undefined,
|
||||||
|
isSign: undefined,
|
||||||
|
restMoney: undefined,
|
||||||
|
payType: undefined,
|
||||||
|
},
|
||||||
|
ifEndRadio:[
|
||||||
|
{
|
||||||
|
label:'是',
|
||||||
|
value:'1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label:'否',
|
||||||
|
value:'0'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
// 表单校验
|
||||||
|
formRules: {},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 打开弹窗 */
|
||||||
|
async open(id) {
|
||||||
|
this.dialogVisible = true;
|
||||||
|
this.reset();
|
||||||
|
// 修改时,设置数据
|
||||||
|
if (id) {
|
||||||
|
this.formLoading = true;
|
||||||
|
try {
|
||||||
|
const res = await SchoolCourseOrderApi.getSchoolCourseOrder(id);
|
||||||
|
this.formData = res.data;
|
||||||
|
this.title = "修改驾照报名订单";
|
||||||
|
} finally {
|
||||||
|
this.formLoading = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.title = "新增驾照报名订单";
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
async submitForm() {
|
||||||
|
// 校验主表
|
||||||
|
await this.$refs["formRef"].validate();
|
||||||
|
this.formLoading = true;
|
||||||
|
try {
|
||||||
|
const data = this.formData;
|
||||||
|
// 修改的提交
|
||||||
|
if (data.id) {
|
||||||
|
await SchoolCourseOrderApi.updateSchoolCourseOrder(data);
|
||||||
|
this.$modal.msgSuccess("修改成功");
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.$emit('success');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 添加的提交
|
||||||
|
await SchoolCourseOrderApi.createSchoolCourseOrder(data);
|
||||||
|
this.$modal.msgSuccess("新增成功");
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.$emit('success');
|
||||||
|
} finally {
|
||||||
|
this.formLoading = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 表单重置 */
|
||||||
|
reset() {
|
||||||
|
this.formData = {
|
||||||
|
orderNo: undefined,
|
||||||
|
userName: undefined,
|
||||||
|
userPhone: undefined,
|
||||||
|
userNo: undefined,
|
||||||
|
userSex: undefined,
|
||||||
|
courseId: undefined,
|
||||||
|
courseName: undefined,
|
||||||
|
coachUserId: undefined,
|
||||||
|
coachUserName: undefined,
|
||||||
|
reserveMoney: undefined,
|
||||||
|
courseType: undefined,
|
||||||
|
ifEnd: undefined,
|
||||||
|
endReason: undefined,
|
||||||
|
endTime: undefined,
|
||||||
|
paymentStatus: undefined,
|
||||||
|
isSign: undefined,
|
||||||
|
restMoney: undefined,
|
||||||
|
payType: undefined,
|
||||||
|
};
|
||||||
|
this.resetForm("formRef");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
149
src/views/drivingSchool/DriveSchoolPay/form/assignmentCoach.vue
Normal file
149
src/views/drivingSchool/DriveSchoolPay/form/assignmentCoach.vue
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!-- 对话框(分配) -->
|
||||||
|
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="55%" v-dialogDrag append-to-body>
|
||||||
|
<!-- 表格 -->
|
||||||
|
<el-table
|
||||||
|
v-loading="formLoading"
|
||||||
|
:data="process"
|
||||||
|
border
|
||||||
|
style="width: 100%"
|
||||||
|
>
|
||||||
|
<el-table-column label="科目" prop="subjectStr" align="center" width=""></el-table-column>
|
||||||
|
<el-table-column label="教练" align="center" width="">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-select v-model="scope.row.coachId" placeholder="请选择" @change="handleChange(scope.row)">
|
||||||
|
<el-option
|
||||||
|
v-for="item in scope.row.coachList"
|
||||||
|
:key="item.coachId"
|
||||||
|
:label="item.coachName"
|
||||||
|
:value="item.coachId"
|
||||||
|
></el-option>
|
||||||
|
</el-select>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm" :disabled="formLoading">确 定</el-button>
|
||||||
|
<el-button @click="dialogVisible = false;">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as SchoolCourseOrderApi from '@/views/drivingSchool/DriveSchoolPay/api';
|
||||||
|
import {getCoachByCourseId} from "@/views/drivingSchool/schoolCoachCourse/api/achoolCoachCourse";
|
||||||
|
import {saveProcess} from "@/views/drivingSchool/process/api";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "AssignmentCoach",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 弹出层标题
|
||||||
|
dialogTitle: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
dialogVisible: false,
|
||||||
|
// 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
|
formLoading: false,
|
||||||
|
process: [],
|
||||||
|
// 表单校验
|
||||||
|
formRules: {},
|
||||||
|
orderId: '',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 打开弹窗 */
|
||||||
|
async open(data) {
|
||||||
|
this.dialogVisible = true;
|
||||||
|
this.orderId = data.id
|
||||||
|
this.getData(data)
|
||||||
|
this.reset();
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
async submitForm() {
|
||||||
|
console.log('this.process', this.process)
|
||||||
|
// 校验this.process中是否选择教练
|
||||||
|
for (let i = 0; i < this.process.length; i++) {
|
||||||
|
const item = this.process[i];
|
||||||
|
if (!item.coachId) {
|
||||||
|
this.$modal.msgError(`请选择${item.subjectStr}的教练`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.formLoading = true
|
||||||
|
|
||||||
|
const data = {
|
||||||
|
"orderId": this.orderId,
|
||||||
|
"processList": this.process
|
||||||
|
}
|
||||||
|
const res = await saveProcess(data)
|
||||||
|
this.$modal.msgSuccess("分配成功");
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.$emit('success');
|
||||||
|
this.formLoading = false;
|
||||||
|
},
|
||||||
|
// 获取科目信息
|
||||||
|
async getData(data) {
|
||||||
|
// 根据课程id查询课程信息
|
||||||
|
const params = {
|
||||||
|
courseId: data.courseId
|
||||||
|
}
|
||||||
|
const res = await getCoachByCourseId(params)
|
||||||
|
|
||||||
|
if (res.data.length === 0) {
|
||||||
|
this.$modal.msgError("该课程暂无教练");
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const subjectArr = ['科目一', '科目二', '科目三', '科目四']
|
||||||
|
// 渲染科目一到科目四
|
||||||
|
for (let i = 1; i <= 4; i++) {
|
||||||
|
//根据res中subject判断与当前i相同的教练
|
||||||
|
const coachArr = res.data.filter(item => item.subject === i + '')
|
||||||
|
const item = {
|
||||||
|
subject: i,
|
||||||
|
subjectStr: subjectArr[i - 1],
|
||||||
|
coachList: coachArr,
|
||||||
|
selectedCoachId: '', // 初始化选择的值
|
||||||
|
selectedCoachName: '', // 初始化选择的值
|
||||||
|
courseId: data.courseId, //课程id
|
||||||
|
courseName: data.courseName, //课程名称
|
||||||
|
courseType: data.courseType, //课程类型
|
||||||
|
userId: data.userId,
|
||||||
|
userName: data.userName,
|
||||||
|
userMobile: data.userPhone,
|
||||||
|
status: 0
|
||||||
|
}
|
||||||
|
//判断data中的教练id是否在coachArr中,如果在设置默认教练
|
||||||
|
if (data.coachUserId) {
|
||||||
|
const selectedCoach = coachArr.find(item => item.coachId == data.coachUserId);
|
||||||
|
if (selectedCoach) {
|
||||||
|
item.coachId = selectedCoach.coachId;
|
||||||
|
item.coachName = selectedCoach.coachName;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (i === 1) {
|
||||||
|
item.status = 1
|
||||||
|
}
|
||||||
|
this.process.push(item)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleChange(row) {
|
||||||
|
// 你可以在这里处理选择变化后的逻辑
|
||||||
|
//找出该行的selectedCoachId对应的coachList中的name
|
||||||
|
const selectedCoach = row.coachList.find(item => item.coachId === row.coachId);
|
||||||
|
if (selectedCoach) {
|
||||||
|
row.coachName = selectedCoach.coachName;
|
||||||
|
} else {
|
||||||
|
row.coachName = '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 表单重置 */
|
||||||
|
reset() {
|
||||||
|
this.process = []
|
||||||
|
this.resetForm("assignmentCoachRef");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
114
src/views/drivingSchool/DriveSchoolPay/form/endOrder.vue
Normal file
114
src/views/drivingSchool/DriveSchoolPay/form/endOrder.vue
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<!-- 对话框(添加 / 修改) -->
|
||||||
|
<el-dialog :title="dialogTitle" :visible.sync="dialogVisible" width="45%" v-dialogDrag append-to-body>
|
||||||
|
<el-form ref="endOrderRef" :model="formData" :rules="formRules" v-loading="formLoading" label-width="100px">
|
||||||
|
<el-form-item label="订单号" prop="orderNo">
|
||||||
|
<el-input v-model="formData.orderNo" disabled placeholder="请输入订单号"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="终止原因" prop="endReason">
|
||||||
|
<el-input v-model="formData.endReason" placeholder="请输入终止原因"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="终止时间" prop="endTime">
|
||||||
|
<el-date-picker clearable v-model="formData.endTime" type="date" value-format="timestamp"
|
||||||
|
placeholder="选择终止时间"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm" :disabled="formLoading">确 定</el-button>
|
||||||
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as SchoolCourseOrderApi from '@/views/drivingSchool/DriveSchoolPay/api';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "EndOrder",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 弹出层标题
|
||||||
|
dialogTitle: "",
|
||||||
|
// 是否显示弹出层
|
||||||
|
dialogVisible: false,
|
||||||
|
// 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用
|
||||||
|
formLoading: false,
|
||||||
|
// 表单参数
|
||||||
|
formData: {
|
||||||
|
orderNo: undefined,
|
||||||
|
ifEnd: undefined,
|
||||||
|
endReason: undefined,
|
||||||
|
endTime: undefined,
|
||||||
|
},
|
||||||
|
ifEndRadio: [
|
||||||
|
{
|
||||||
|
label: '是',
|
||||||
|
value: '1'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '否',
|
||||||
|
value: '0'
|
||||||
|
},
|
||||||
|
],
|
||||||
|
// 表单校验
|
||||||
|
formRules: {
|
||||||
|
orderNo: [
|
||||||
|
{required: true, message: "订单号不能为空", trigger: "blur"},
|
||||||
|
],
|
||||||
|
endReason: [
|
||||||
|
{required: true, message: "终止原因不能为空", trigger: "blur"},
|
||||||
|
],
|
||||||
|
endTime: [
|
||||||
|
{required: true, message: "终止时间不能为空", trigger: "blur"},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 打开弹窗 */
|
||||||
|
async open(data) {
|
||||||
|
if (!data.id) {
|
||||||
|
this.$modal.msgError("请选择要终止的订单");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.formData.orderNo = data.orderNo;
|
||||||
|
this.formData.endTime = new Date().getTime();
|
||||||
|
});
|
||||||
|
console.log('tanchuang data', this.formData)
|
||||||
|
this.dialogVisible = true;
|
||||||
|
this.reset();
|
||||||
|
this.dialogTitle = "终止驾照报名订单";
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
async submitForm() {
|
||||||
|
// 校验主表
|
||||||
|
await this.$refs["endOrderRef"].validate();
|
||||||
|
this.formLoading = true;
|
||||||
|
try {
|
||||||
|
const data = this.formData;
|
||||||
|
// 提交终止订单
|
||||||
|
const res = await SchoolCourseOrderApi.endOrder(data);
|
||||||
|
this.$modal.msgSuccess("终止成功");
|
||||||
|
this.dialogVisible = false;
|
||||||
|
this.$emit('success');
|
||||||
|
} finally {
|
||||||
|
this.formLoading = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/** 表单重置 */
|
||||||
|
reset() {
|
||||||
|
this.formData = {
|
||||||
|
orderNo: undefined,
|
||||||
|
ifEnd: undefined,
|
||||||
|
endReason: undefined,
|
||||||
|
endTime: undefined,
|
||||||
|
};
|
||||||
|
this.resetForm("endOrderRef");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
Loading…
Reference in New Issue
Block a user