更新
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