Commit 492ff3d2 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/luochao/confucius into master

parents 5eccdf9f cf699c21
...@@ -28,6 +28,10 @@ body, ...@@ -28,6 +28,10 @@ body,
.q-position-engine { .q-position-engine {
z-index: 9999; z-index: 9999;
} }
.el-date-picker,
.time-select{
z-index: 999999 !important;
}
.remark-font{ .remark-font{
font-size:12px; font-size:12px;
font-family: Poppins,Helvetica,sans-serif; font-family: Poppins,Helvetica,sans-serif;
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<q-tab :ripple="false" name="second" label="审批记录" /> <q-tab :ripple="false" name="second" label="审批记录" />
</q-tabs> </q-tabs>
<div v-if="tabCheck=='first'" style="margin:0 15px;"> <div v-if="tabCheck=='first'" style="margin:0 15px;">
 <backinfoForm :seting-obj="dataObj" :showType="showType" @close="closeShenheForm" @success="refreshPage">  <backinfoForm :seting-obj="setingObj" :showType="showType" @close="closeShenheForm" @success="refreshPage">
</backinfoForm> </backinfoForm>
</div> </div>
<div v-if="tabCheck=='second'"> <div v-if="tabCheck=='second'">
...@@ -86,10 +86,7 @@ ...@@ -86,10 +86,7 @@
type: Number, type: Number,
default: 1 default: 1
}, },
Id:{
type: Number,
default: null
}
}, },
components: { components: {
backinfoForm, backinfoForm,
...@@ -100,14 +97,14 @@ ...@@ -100,14 +97,14 @@
persistent: true, persistent: true,
tabCheck: 'first', //默认选第一个 tabCheck: 'first', //默认选第一个
loading: false, loading: false,
dataObj:{}
} }
}, },
created() { created() {
}, },
mounted() { mounted() {
this.dataObj = this.setingObj.DataObj; x
}, },
methods: { methods: {
refreshPage() { refreshPage() {
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
} }
.backinfoContent .topBaseInfo { .backinfoContent .topBaseInfo {
height: 300px; /* height: 300px; */
overflow: auto; overflow: auto;
} }
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
<div class="row backInfo_One"> <div class="row backInfo_One">
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">编号:</span> <span class="backInfo_Title">编号:</span>
<span class="backOtherInfo">{{setingObj.BackNum}}</span> <span class="backOtherInfo">{{setingObj.DataObj.BackNum}}</span>
</div> </div>
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">申请人:</span> <span class="backInfo_Title">申请人:</span>
...@@ -101,12 +101,12 @@ ...@@ -101,12 +101,12 @@
<div class="row backInfo_One"> <div class="row backInfo_One">
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">学员姓名:</span> <span class="backInfo_Title">学员姓名:</span>
<span class="backOtherInfo">{{setingObj.GuestName}}</span> <span class="backOtherInfo">{{setingObj.DataObj.GuestName}}</span>
</div> </div>
<!-- <div class="col-6"> <div class="col-6">
<span class="backInfo_Title">申请时间:</span> <span class="backInfo_Title">申请时间:</span>
<span class="backOtherInfo">{{setingObj.CreateTimeStr}}</span> <span class="backOtherInfo">{{setingObj.CreateTime}}</span>
</div> --> </div>
</div> </div>
<div class="backinfo_Item"> <div class="backinfo_Item">
<span class="role_Line" style="background-color:#F28C1D"></span>教学信息 <span class="role_Line" style="background-color:#F28C1D"></span>教学信息
...@@ -114,21 +114,24 @@ ...@@ -114,21 +114,24 @@
<div class="row backInfo_One"> <div class="row backInfo_One">
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">校区:</span> <span class="backInfo_Title">校区:</span>
<span class="backOtherInfo">{{setingObj.SchoolName}}</span> <span class="backOtherInfo">{{setingObj.DataObj.SchoolName}}</span>
</div> </div>
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">班级信息:</span> <span class="backInfo_Title">班级信息:</span>
<span class="backOtherInfo">{{setingObj.ClassName}}</span> <span class="backOtherInfo">
{{setingObj.DataObj.ClassName}}
<span style="color:blue;cursor:pointer;" @click="goClassManage(setingObj.DataObj.ClassName)">{{setingObj.DataObj.ClassNo}}</span>
</span>
</div> </div>
</div> </div>
<div class="row backInfo_One"> <div class="row backInfo_One">
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">带班老师:</span> <span class="backInfo_Title">带班老师:</span>
<span class="backOtherInfo">{{setingObj.TeacherName}}</span> <span class="backOtherInfo">{{setingObj.DataObj.TeacherName}}</span>
</div> </div>
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">学习课程:</span> <span class="backInfo_Title">学习课程:</span>
<span class="backOtherInfo">{{setingObj.CourseName}}</span> <span class="backOtherInfo">{{setingObj.DataObj.CourseName}}</span>
</div> </div>
</div> </div>
<div class="backinfo_Item"> <div class="backinfo_Item">
...@@ -137,7 +140,7 @@ ...@@ -137,7 +140,7 @@
<div class="row backInfo_One"> <div class="row backInfo_One">
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">学习课时:</span> <span class="backInfo_Title">学习课时:</span>
<span class="backOtherInfo">{{setingObj.FinishHours}} 课时</span> <span class="backOtherInfo">{{setingObj.DataObj.FinishHours}} 课时</span>
</div> </div>
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">缺勤次数:</span> <span class="backInfo_Title">缺勤次数:</span>
...@@ -156,37 +159,37 @@ ...@@ -156,37 +159,37 @@
<div class="row backInfo_One"> <div class="row backInfo_One">
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">关联单号:</span> <span class="backInfo_Title">关联单号:</span>
<span class="backOtherInfo" style="color:#2961FE">{{setingObj.OrderId}}</span> <span class="backOtherInfo" style="color:#2961FE;cursor:pointer" @click="goOrderStatic(setingObj.DataObj.OrderId)">{{setingObj.DataObj.OrderId}}</span>
</div> </div>
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">关联销售:</span> <span class="backInfo_Title">关联销售:</span>
<span class="backOtherInfo">{{setingObj.EnterName}}</span> <span class="backOtherInfo">{{setingObj.DataObj.EnterName}}</span>
</div> </div>
</div> </div>
<div class="row backInfo_One"> <div class="row backInfo_One">
<div class="col-6"> <div class="col-6">
<span class="backInfo_Title">预计退费:</span> <span class="backInfo_Title">预计退费:</span>
<span class="backOtherInfo" style="color:#F72E52">¥{{setingObj.BackMoney}}</span> <span class="backOtherInfo" style="color:#F72E52">¥{{setingObj.DataObj.BackMoney}}</span>
</div> </div>
</div> </div>
</div> </div>
<div class="replayReason"> <div class="replayReason">
<div class="replay_Title">退课原因</div> <div class="replay_Title">退课原因</div>
<div style="color:#666666;margin-top:5px;"> <div style="color:#666666;margin-top:5px;">
{{setingObj.ApplyReason}} {{setingObj.DataObj.ApplyReason}}
</div> </div>
</div> </div>
<template v-if="setingObj.SpecialNode==1"> <template v-if="setingObj.SpecialNode==1">
<span> <span>
<q-input filled stack-label :dense="false" v-model="backBillMsg.BackMoney" class="col-12" label="退课金额" <q-input filled stack-label :dense="false" v-model="backBillMsg.BackMoney" class="col-12" label="退课金额"
:rules="[val => !!val || '请填退课金额']" /> />
</span> </span>
<span> <span>
系统计算课时费为:{{(classPriceObj.ClassHours-classPriceObj.FinishHours)}}(课时)*{{classPriceObj.classHourPrice}}(课单价)={{classPriceObj.backMoney}}元,请你最终确认退款金额 系统计算课时费为:{{(classPriceObj.ClassHours-classPriceObj.FinishHours)}}(课时)*{{classPriceObj.classHourPrice}}(课单价)={{classPriceObj.backMoney}}元,请你最终确认退款金额
</span> </span>
</template> </template>
<div v-if="showType==2"> <div v-if="showType==2">
<div style="display:flex;justify-content:space-between;align-items:center;"> <div style="display:flex;justify-content:space-between;align-items:center;margin-top:20px;">
<div>审批意见</div> <div>审批意见</div>
<div> <div>
<q-radio v-model="backBillMsg.AuditStatus" :val="2" label="通过" /> <q-radio v-model="backBillMsg.AuditStatus" :val="2" label="通过" />
...@@ -268,7 +271,7 @@ ...@@ -268,7 +271,7 @@
Id: 0, Id: 0,
BackMoney: 0, //实际退款金额 BackMoney: 0, //实际退款金额
Description: "", //审批意见 Description: "", //审批意见
AuditStatus: 0, //审核状态 AuditStatus: 2, //审核状态
SpecialNode: 0, //是否特殊节点 SpecialNode: 0, //是否特殊节点
RecipientIds: "", //抄送人 RecipientIds: "", //抄送人
}, },
...@@ -290,7 +293,7 @@ ...@@ -290,7 +293,7 @@
methods: { methods: {
getBackBillMoney() { getBackBillMoney() {
queryBackBillMoney({ queryBackBillMoney({
BackId: this.backBillMsg.BackId BackId: this.setingObj.RelationId
}).then(res => { }).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
this.classPriceObj = res.Data; this.classPriceObj = res.Data;
...@@ -363,6 +366,18 @@ ...@@ -363,6 +366,18 @@
} }
}) })
return str; return str;
},
//跳转到班级管理
goClassManage(ClassName){
this.OpenNewUrl('/course/classManage',{
'ClassName':ClassName
})
},
//跳转到报名统计
goOrderStatic(OrderId){
this.OpenNewUrl('/sale/orderStatistics',{
'OrderId':OrderId
})
} }
}, },
} }
......
...@@ -35,18 +35,19 @@ ...@@ -35,18 +35,19 @@
@input="changeTypeResult" /> @input="changeTypeResult" />
</div> </div>
<div class="row items-center"> <div class="row items-center">
<div class="text-caption q-my-lg q-px-md text-grey-6 col">变更内容</div> <div class="text-caption q-my-lg q-px-md text-grey-6 col">变更内容 注意:需要对变更的内容进行打钩</div>
<div class="row items-center"> <div class="row items-center">
<div class="text-grey-6">变更范围:</div> <div class="text-grey-6">变更范围:</div>
<q-radio size="xs" v-model="msg.SettingType" val="1" label="单个或多个" /> <q-radio size="xs" v-model="msg.SettingType" val="1" label="单个或多个" />
<q-radio size="xs" v-model="msg.SettingType" val="2" label="全局" /> <q-radio size="xs" v-model="msg.SettingType" val="2" label="全局" />
</div> </div>
</div> </div>
<div v-if="msg.SettingType==1" class="row items-center"> <div v-if="msg.SettingType=='1'" class="row items-center">
<div class="col"> <div class="col">
<q-table no-data-label="暂无相关数据" flat style="height: 300px;" <q-table no-data-label="暂无相关数据" flat style="max-height: 300px;" :pagination="pages"
class="sticky-column-table sticky-header-column-table" separator="none" :data="currentClass" class="sticky-column-table sticky-header-column-table" separator="none"
:columns="columns" row-key="name"> :data="currentClass" :columns="msg.ChangeType==1?columns:columns2"
row-key="ClassPlanId" selection="multiple" :selected.sync="selected">
<template v-slot:body-cell-TimeList="props"> <template v-slot:body-cell-TimeList="props">
<q-td auto-width :props="props"> <q-td auto-width :props="props">
...@@ -55,38 +56,91 @@ ...@@ -55,38 +56,91 @@
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-CheckNum="props"> <template v-slot:body-cell-TargetClassDate="props">
<q-td> <q-td auto-width :props="props" style="border-left:1xp solid #000;">
<div v-for="(item,index) in props.row.TimeList" class="lessForm_Class"> {{props.row.NewPlan.ClassDate}}
<span style="color:green;">{{item.CheckNum}}</span>/<span <q-popup-edit v-model="props.row.NewPlan.ClassDate" title="变更日期" persistent buttons label-set="确认"
style="color:red;">{{item.NoCheckNum}}</span> label-cancel="取消">
</div> <el-date-picker
v-model="props.row.NewPlan.ClassDate"
type="date"
:picker-options="pickerOptions"
:clearable="false"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</q-popup-edit>
</q-td> </q-td>
</template> </template>
</q-table> <template v-slot:body-cell-TargetTimeList="props">
</div>
<div class="col">
<q-table no-data-label="暂无相关数据" flat style="height: 300px;"
class="sticky-column-table sticky-header-column-table" separator="none" :data="currentClass"
:columns="columns2" row-key="name">
<template v-slot:body-cell-TimeList="props">
<q-td auto-width :props="props"> <q-td auto-width :props="props">
<div v-for="(item,index) in props.row.TimeList" class="lessForm_Class"> <div v-for="(item,index) in props.row.NewPlan.TimeList" class="lessForm_Class">
{{index+1}}节课 {{item.StartTime}}-{{item.EndTime}} {{index+1}}节课 {{item.StartTime}}-{{item.EndTime}}
</div> </div>
</q-td> <q-popup-edit :validate="proteinRangeValidation" persistent v-model="props.row.NewPlan.TimeList" title="变更时间" buttons label-set="确认"
</template> label-cancel="取消">
<template v-slot:body-cell-CheckNum="props"> <div v-for="(item,index) in props.row.NewPlan.TimeList" class="q-mb-md row items-center" style="width:430px">
<q-td> <div class="lessForm_Class col">
<div v-for="(item,index) in props.row.TimeList" class="lessForm_Class"> {{index+1}}节课
<span style="color:green;">{{item.CheckNum}}</span>/<span
style="color:red;">{{item.NoCheckNum}}</span>
</div> </div>
<div class="row items-center">
<el-time-select
placeholder="起始时间"
v-model="item.StartTime"
style="width:100px"
:picker-options="pickers">
</el-time-select>
<el-time-select
placeholder="结束时间"
v-model="item.EndTime"
style="width:100px;margin-left:12px;"
:picker-options="{
start: '09:00',
step: '00:15',
end: '22:30',
minTime: item.StartTime
}">
</el-time-select>
<q-input filled v-model="item.TimeHour" size="xs" mask="#.#" fill-mask="0.0" label="有效课时" suffix="课时" style="width:100px;margin-left:12px" />
<q-btn v-if="props.row.NewPlan.TimeList.length>1" round color="negative" class="q-ml-md" size="xs" icon="iconfont icon-guanbi1" @click="removeTime(props.row.NewPlan,index)"></q-btn>
</div>
</div>
<q-btn round color="primary" size="xs" icon="iconfont icon-img_haha" @click="addTime(props.row.NewPlan)"></q-btn>
</q-popup-edit>
</q-td> </q-td>
</template> </template>
<template v-slot:bottom></template>
</q-table> </q-table>
</div> </div>
</div>
<div v-if="msg.ChangeType==3">
<div class="text-caption q-mb-lg q-px-md text-grey-6 col">目标教室</div>
<div class="row">
<q-select standout="bg-dark text-white" option-value="RoomId" option-label="RoomName"
v-model="msg.TargetRoom" :options="roomList" emit-value map-options
label="教室" class="col-6">
<template v-slot:option="{ itemProps, itemEvents, opt, selected, toggleOption }">
<q-item v-bind="itemProps" v-on="itemEvents">
<q-item-section>
<q-item-label v-html="opt.RoomName"></q-item-label>
</q-item-section>
<q-item-section side>
<q-item-label v-html="opt.SchoolName"></q-item-label>
</q-item-section>
</q-item>
</template>
</q-select>
</div>
</div>
<div v-if="msg.ChangeType==2">
<div class="text-caption q-mb-lg q-px-md text-grey-6 col">目标老师</div>
<div class="row">
<q-select standout="bg-dark text-white" option-value="TId" option-label="TeacherName"
v-model="msg.TargetTeacherId" :options="TeacherList" emit-value map-options
label="老师" class="col-6">
</q-select>
</div>
</div> </div>
</q-scroll-area> </q-scroll-area>
</q-card-section> </q-card-section>
...@@ -104,7 +158,9 @@ ...@@ -104,7 +158,9 @@
<script> <script>
import { import {
getClassDropDownList, getClassDropDownList,
getSchoolDropdown getSchoolDropdown,
queryClassRoomPage,
getTeacherDropDownList
} from "../../api/school/index"; } from "../../api/school/index";
import { import {
queryCourseDropdownList, queryCourseDropdownList,
...@@ -113,10 +169,25 @@ ...@@ -113,10 +169,25 @@
export default { export default {
data() { data() {
return { return {
TeacherList:[],
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now();
}
},
pages:{
rowsPerPage:100000
},
persistent: true, persistent: true,
saveLoading: false, saveLoading: false,
contentStyle: {}, contentStyle: {},
contentActiveStyle: {}, contentActiveStyle: {},
pickers: {
start: '09:00',
step: '00:15',
end: '22:30'
},
thumbStyle: { thumbStyle: {
right: '2px', right: '2px',
borderRadius: '5px', borderRadius: '5px',
...@@ -129,9 +200,11 @@ ...@@ -129,9 +200,11 @@
SchoolId: -1, SchoolId: -1,
CouseId: 0, CouseId: 0,
ChangeType: 1, ChangeType: 1,
SettingType: "1",
SettingType: 1 TargetRoom:0,
TargetTeacherId:0
}, },
selected: [],
classList: [], classList: [],
schoolList: [], schoolList: [],
courseList: [], courseList: [],
...@@ -144,7 +217,7 @@ ...@@ -144,7 +217,7 @@
IsQuerySurplusPlan: 1 IsQuerySurplusPlan: 1
}, },
currentClass: [], currentClass: [],
columns: [{ columns2: [{
name: 'RoomName', name: 'RoomName',
label: '教室名称', label: '教室名称',
field: 'RoomName', field: 'RoomName',
...@@ -168,17 +241,40 @@ ...@@ -168,17 +241,40 @@
align: 'left' align: 'left'
} }
], ],
columns2: [{ columns: [{
name: 'RoomName',
label: '教室名称',
field: 'RoomName',
align: 'left',
}, {
name: 'ClassDate', name: 'ClassDate',
label: '目标日期', label: '上课日期',
field: 'ClassDate', field: 'ClassDate',
align: 'left' align: 'left'
}, },
{
name: 'TeacherName',
label: '老师',
field: 'TeacherName',
align: 'left'
},
{ {
name: 'TimeList', name: 'TimeList',
label: '目标时间', label: '上课时间',
field: 'TimeList', field: 'TimeList',
align: 'left' align: 'left'
},
{
name: 'TargetClassDate',
label: '目标日期',
field: 'TargetClassDate',
align: 'left'
},
{
name: 'TargetTimeList',
label: '目标时间',
field: 'TargetTimeList',
align: 'left'
} }
], ],
changeType: [{ changeType: [{
...@@ -197,7 +293,8 @@ ...@@ -197,7 +293,8 @@
Id: 4, Id: 4,
Name: "取消上课" Name: "取消上课"
} }
] ],
roomList:[]
} }
}, },
mounted() { mounted() {
...@@ -208,18 +305,86 @@ ...@@ -208,18 +305,86 @@
this.getClass() this.getClass()
this.getSchool() this.getSchool()
this.getCourseList() this.getCourseList()
this.getClassRoomPage()
this.GetTeacherList()
}, },
methods: { methods: {
GetTeacherList() {
getTeacherDropDownList({}).then(res => {
if (res.Code == 1) {
this.TeacherList = res.Data;
var obj = {
TeacherName: '请选择',
TId: 0
}
this.TeacherList.unshift(obj);
}
})
},
getClassRoomPage() {
queryClassRoomPage({
pageIndex: 1,
pageSize: 10000,
RoomName: "",
School_Id: 0, //校区编号
Status: '-1', //状态
}).then(res => {
this.roomList = res.Data.PageData;
var obj = {
RoomName: '请选择',
RoomId: 0,
SchoolName:""
}
this.roomList.push(obj)
})
},
closeSaveForm() { closeSaveForm() {
this.$emit('close') this.$emit('close')
this.persistent = false this.persistent = false
}, },
save() { save() {
},
proteinRangeValidation(val){
let newList=[]
let errorMsg=""
val.forEach(x=>{
if(x.StartTime&&x.EndTime&&x.TimeHour&&x.StartTime!=""&&x.EndTime!=""&&x.TimeHour!="0.0"){
newList.push({
StartTime:x.StartTime,
EndTime:x.EndTime,
TimeHour:x.TimeHour
});
}else{
errorMsg="存在不完善的数据,请完善数据信息"
}
})
if(errorMsg!=""){
this.$q.notify({
icon: 'iconfont icon-guanbi1',
color: 'negative',
timeout: 2000,
message: errorMsg,
position: 'top'
})
}
console.log(val)
return errorMsg==""
},
removeTime(plan,i){
plan.TimeList.splice(i,1)
},
addTime(plan){
let obj={
EndTime: "",
StartTime: "",
TimeHour: 0
}
plan.TimeList.push(plan)
}, },
changeClass(val) { changeClass(val) {
this.currentClass = this.classList.find(x=>{ this.currentClass = this.classList.find(x => {
return x.ClassId==val return x.ClassId == val
}).PlanList }).PlanList
console.log(this.currentClass) console.log(this.currentClass)
}, },
...@@ -237,6 +402,13 @@ ...@@ -237,6 +402,13 @@
this.classList = []; this.classList = [];
this.msg.classId = 0 this.msg.classId = 0
if (res.Code == 1) { if (res.Code == 1) {
res.Data.forEach(x => {
x.PlanList.forEach(y => {
let newPlan = JSON.parse(JSON.stringify(y))
y.NewPlan = newPlan
})
})
this.classList = res.Data; this.classList = res.Data;
var obj = { var obj = {
ClassName: '请选择', ClassName: '请选择',
......
...@@ -24,11 +24,11 @@ ...@@ -24,11 +24,11 @@
label="学员名称/班级名称/老师名称" /> label="学员名称/班级名称/老师名称" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="resetSearch" filled v-model="msg.AuditStatus" :options="ShowOpts" <q-select @input="resetSearch" clearable filled v-model="msg.AuditStatus" :options="ShowOpts"
emit-value map-options label="审核状态" /> emit-value map-options label="审核状态" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="resetSearch" option-value="Id" option-label="Name" filled v-model="msg.ReceiptType" :options="OrderTypeList" <q-select @input="resetSearch" clearable option-value="Id" option-label="Name" filled v-model="msg.ReceiptType" :options="OrderTypeList"
emit-value map-options label="单据类型" /> emit-value map-options label="单据类型" />
</div> </div>
<div class="col-3 Sysuser_Date"> <div class="col-3 Sysuser_Date">
......
...@@ -6,19 +6,30 @@ ...@@ -6,19 +6,30 @@
.Sysuser_Date .el-range-editor.el-input__inner { .Sysuser_Date .el-range-editor.el-input__inner {
background-color: transparent; background-color: transparent;
} }
.ReceipTypeName{
display: inline-block;
padding: 2px 8px;
color: white;
background-color: rgb(233, 82, 82);
line-height: 16px;
border-radius: 4px;
}
</style> </style>
<template> <template>
<div class="page-body"> <div class="page-body">
<div class="page-search row items-center"> <div class="page-search row items-center">
<div class="col row wrap q-col-gutter-md"> <div class="col row wrap q-col-gutter-md">
<div class="col-3"> <div class="col-3">
<q-input @change="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ClassName" <q-input @change="resetSearch" clearable filled v-model="msg.ClassName"
label="学员名称/班级名称/老师名称" /> label="学员名称/班级名称/老师名称" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.AuditStatus" :options="ShowOpts" <q-select @input="resetSearch" filled v-model="msg.AuditStatus" :options="ShowOpts"
emit-value map-options label="流程状态" /> emit-value map-options label="审核状态" />
</div>
<div class="col-3">
<q-select @input="resetSearch" option-value="Id" option-label="Name" filled v-model="msg.ReceiptType" :options="OrderTypeList"
emit-value map-options label="单据类型" />
</div> </div>
<div class="col-3 Sysuser_Date"> <div class="col-3 Sysuser_Date">
<q-field filled> <q-field filled>
...@@ -40,22 +51,9 @@ ...@@ -40,22 +51,9 @@
</q-tabs> </q-tabs>
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table" <q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
separator="none" :data="data" :columns="columns" row-key="name"> separator="none" :data="data" :columns="columns" row-key="name">
<template v-slot:body-cell-Status="props"> <template v-slot:body-cell-ReceiptTypeName="props">
<q-td :props="props"> <q-td :props="props">
<q-toggle size="sm" color="secondary" :false-value="1" :true-value="0" v-model="props.row.Status" <span class="ReceipTypeName">{{props.row.ReceiptTypeName}}</span>
title="注意:关闭后,分类将无法正常使用." @input="SetDeptStatus(props.row)" />
</q-td>
</template>
<template v-slot:body-cell-School_Id="props">
<q-td :props="props">
{{props.row.School_Id>0? props.row.SchoolName:'总部'}}
</q-td>
</template>
<template v-slot:body-cell-RealityBackMoney="props">
<q-td :props="props">
<template v-if="props.row.AuditStatus==2">
<span style="color:red">{{props.row.RealityBackMoney}}</span>
</template>
</q-td> </q-td>
</template> </template>
<template v-slot:bottom> <template v-slot:bottom>
...@@ -94,8 +92,10 @@ ...@@ -94,8 +92,10 @@
</template> </template>
<script> <script>
import { import {
queryStudentBackClassPage, GetEducationReceiptPage,
} from '../../api/sale/bill' GetEducationReceiptType
} from '../../api/teacher/index'
import backbillForm from '../../components/sale/backbill-form'; import backbillForm from '../../components/sale/backbill-form';
import createbackbillForm from '../../components/sale/createbackbill-form'; import createbackbillForm from '../../components/sale/createbackbill-form';
export default { export default {
...@@ -110,65 +110,40 @@ ...@@ -110,65 +110,40 @@
return { return {
currentUrl: "", currentUrl: "",
columns: [{ columns: [{
name: 'AuditStatusName', name: 'Id',
label: '状态', label: '单号',
align: 'left', field: 'Id',
field: row => row.AuditStatusName
},
{
name: 'GuestName',
label: '学员名称',
field: 'GuestName',
align: 'left'
},
{
name: 'SchoolName',
label: '所属校区',
field: 'SchoolName',
align: 'left' align: 'left'
}, },{
{ name: 'Title',
name: 'ClassName', label: '标题',
label: '所属班级', field: 'Title',
field: 'ClassName',
align: 'left' align: 'left'
}, },
{ {
name: 'TeacherName', name: 'ReceiptTypeName',
label: '带班老师', label: '单据类型',
field: 'TeacherName', field: 'ReceiptTypeName',
align: 'left' align: 'left'
}, },
{ {
name: 'FinishHours', name: 'AuditStatusName',
label: '已上课时', label: '审核状态',
field: 'FinishHours', field: 'AuditStatusName',
align: 'left' align: 'left'
}, },
{ {
name: 'BackMoney', name: 'CreateByName',
label: '预计退费金额', label: '创建人',
field: 'BackMoney', field: 'CreateByName',
align: 'left' align: 'left'
}, },
{ {
name: 'RealityBackMoney', name: 'CreateTime',
label: '实际退费金额', label: '创建时间',
field: 'RealityBackMoney', field: 'CreateTime',
align: 'left' align: 'left'
}, },
{
name: 'CreateTimeStr',
label: '申请时间',
field: 'CreateTimeStr',
align: 'left',
},
{
name: 'CreateByName',
label: '申请人',
field: 'CreateByName',
align: 'left',
},
{ {
name: 'optioned', name: 'optioned',
label: '操作', label: '操作',
...@@ -178,10 +153,7 @@ ...@@ -178,10 +153,7 @@
data: [], data: [],
loading: true, loading: true,
applyDateList: [], //申请日期 applyDateList: [], //申请日期
ShowOpts: [{ ShowOpts: [
label: '全部',
value: '0'
},
{ {
label: '审核中', label: '审核中',
value: '1' value: '1'
...@@ -204,10 +176,11 @@ ...@@ -204,10 +176,11 @@
pageSize: 12, pageSize: 12,
rowsPerPage: 12, rowsPerPage: 12,
ClassName: "", //学员、班级、老师名称 ClassName: "", //学员、班级、老师名称
AuditStatus: "0", //审核状态 AuditStatus: "", //审核状态
QStartTime: "", //开始时间 StartTime: "", //开始时间
QEndTime: "", //结束时间 EndTime: "", //结束时间
Conditon: 1, Conditon: 1,
ReceiptType:'' //单据类型
}, },
tabCheck: "1", tabCheck: "1",
pageCount: 0, pageCount: 0,
...@@ -215,6 +188,8 @@ ...@@ -215,6 +188,8 @@
isShowCreateBillForm: false, //是否显示制单表单 isShowCreateBillForm: false, //是否显示制单表单
billObj: {}, //单据信息 billObj: {}, //单据信息
showType: 1, //1-查看,2-审核 showType: 1, //1-查看,2-审核
OrderTypeList: [],
} }
}, },
created() { created() {
...@@ -222,6 +197,7 @@ ...@@ -222,6 +197,7 @@
}, },
mounted() { mounted() {
this.currentUrl = this.$route.path; this.currentUrl = this.$route.path;
this.getEducationType();
this.getStuBackBill(); this.getStuBackBill();
}, },
methods: { methods: {
...@@ -252,6 +228,7 @@ ...@@ -252,6 +228,7 @@
this.isShowBillForm = true; this.isShowBillForm = true;
this.showType = type; this.showType = type;
this.billObj = item; this.billObj = item;
}, },
//重新查询 //重新查询
resetSearch() { resetSearch() {
...@@ -270,13 +247,13 @@ ...@@ -270,13 +247,13 @@
this.pageCount = 0; this.pageCount = 0;
this.msg.Conditon = this.tabCheck; this.msg.Conditon = this.tabCheck;
if (this.applyDateList && this.applyDateList.length > 0) { if (this.applyDateList && this.applyDateList.length > 0) {
this.msg.QStartTime = this.applyDateList[0]; this.msg.StartTime = this.applyDateList[0];
this.msg.QEndTime = this.applyDateList[1]; this.msg.EndTime = this.applyDateList[1];
} else { } else {
this.msg.QStartTime = ''; this.msg.StartTime = '';
this.msg.QEndTime = ''; this.msg.EndTime = '';
} }
queryStudentBackClassPage(this.msg).then(res => { GetEducationReceiptPage(this.msg).then(res => {
this.loading = false; this.loading = false;
this.data = res.Data.PageData; this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount; this.pageCount = res.Data.PageCount;
...@@ -290,6 +267,14 @@ ...@@ -290,6 +267,14 @@
this.billObj = {}; this.billObj = {};
this.getStuBackBill(); this.getStuBackBill();
}, },
//获取下拉数据
getEducationType() {
GetEducationReceiptType().then(res => {
if (res.Code == 1) {
this.OrderTypeList = res.Data;
}
}).catch(() => {})
}
}, },
watch: { watch: {
tabCheck: function (val) { tabCheck: function (val) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment