Commit 024155b8 authored by 罗超's avatar 罗超

2

parent 1d48a559
...@@ -20,7 +20,7 @@ export default { ...@@ -20,7 +20,7 @@ export default {
</script> </script>
<style> <style>
@import url("//at.alicdn.com/t/font_2077629_qyots58c4km.css"); @import url("//at.alicdn.com/t/font_2077629_bgk17xi4zj.css");
@font-face{ @font-face{
font-family: 'din'; font-family: 'din';
src: url('./assets/font/DIN-Bold.otf') format('opentype'); src: url('./assets/font/DIN-Bold.otf') format('opentype');
......
...@@ -66,7 +66,16 @@ ...@@ -66,7 +66,16 @@
<span @click="goOrderdetails(item, 1)" class="order_OfferId">{{ <span @click="goOrderdetails(item, 1)" class="order_OfferId">{{
item.OrderId item.OrderId
}}</span> }}</span>
<!-- <q-chip color="blue" text-color="white" size="sm" v-if="item.ClassScrollType==1">跟班</q-chip>
<q-chip color="green" text-color="white" size="sm" v-if="item.ClassScrollType==2">约课</q-chip> -->
<q-badge v-if="item.JoinType == 3" color="red" label="续费订单" style="margin-left:5px;" class="q-mr-xs" /> <q-badge v-if="item.JoinType == 3" color="red" label="续费订单" style="margin-left:5px;" class="q-mr-xs" />
<!-- <q-badge
v-if="item.JoinType !== 3"
color="green"
label="新订单"
style="margin-left:5px;"
class="q-mr-xs"
/> -->
<q-badge v-if="item.OrderType == 2 && item.LXConfirmState == 1" color="primary" label="已确认" <q-badge v-if="item.OrderType == 2 && item.LXConfirmState == 1" color="primary" label="已确认"
style="margin-left:5px;" class="q-mr-xs" /> style="margin-left:5px;" class="q-mr-xs" />
......
...@@ -3,43 +3,103 @@ ...@@ -3,43 +3,103 @@
<div class="page-search row items-center"> <div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md"> <div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3"> <div class="col-3">
<q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.CourseName" label="课程名称" <q-input
@clear="resetSearch" maxlength="20" /> @input="resetSearch"
clearable
standout="bg-primary text-white"
v-model="msg.CourseName"
label="课程名称"
@clear="resetSearch"
maxlength="20"
/>
</div> </div>
<div class="col-3"> <div class="col-3">
<select-tree :treeData="TreeCategoryList" :defaultArray="returnString" nodeKey="CateId" :multiple="true" <select-tree
labelKey="CateName" childrenKey="ChildList" tipText="课程系列" @getChild="getChild"></select-tree> :treeData="TreeCategoryList"
:defaultArray="returnString"
nodeKey="CateId"
:multiple="true"
labelKey="CateName"
childrenKey="ChildList"
tipText="课程系列"
@getChild="getChild"
></select-tree>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.CourseSubject" <q-select
:options="CourseSubjectList" option-label="SubjectName" option-value="Id" emit-value map-options label="所属科目" @input="resetSearch"
clearable /> standout="bg-primary text-white"
v-model="msg.CourseSubject"
:options="CourseSubjectList"
option-label="SubjectName"
option-value="Id"
emit-value
map-options
label="所属科目"
clearable
/>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.Status" :options="ShowOpts" <q-select
emit-value map-options label="状态" /> @input="resetSearch"
standout="bg-primary text-white"
v-model="msg.Status"
:options="ShowOpts"
emit-value
map-options
label="状态"
/>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.Saleplat" :options="platOpts" <q-select
option-label="Name" option-value="Id" emit-value map-options label="上架渠道" /> @input="resetSearch"
standout="bg-primary text-white"
v-model="msg.Saleplat"
:options="platOpts"
option-label="Name"
option-value="Id"
emit-value
map-options
label="上架渠道"
/>
</div> </div>
</div> </div>
</div> </div>
<div class="page-content"> <div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat <q-table
class="sticky-two-header-table sticky-tow-column-table sticky-right-column-table" style="height: calc(100vh - 250px) !important;" separator="none" :data="data" :columns="columns" :pagination="msg"
row-key="name"> :loading="loading"
no-data-label="暂无相关数据"
flat
class="sticky-two-header-table sticky-tow-column-table sticky-right-column-table"
style="height: calc(100vh - 250px) !important;"
separator="none"
:data="data"
:columns="columns"
row-key="name"
>
<template v-slot:top="props"> <template v-slot:top="props">
<div class="col-2 q-table__title">课程信息</div> <div class="col-2 q-table__title">课程信息</div>
<q-space /> <q-space />
<div class="page-option"> <div class="page-option">
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增课程" @click="EditCourse(null, 1)" /> <q-btn
color="accent"
size="sm"
class="q-mr-md"
icon="add"
label="新增课程"
@click="EditCourse(null, 1)"
/>
</div> </div>
</template> </template>
<template v-slot:body-cell-CoverImg="props"> <template v-slot:body-cell-CoverImg="props">
<q-td :props="props"> <q-td :props="props">
<q-img :src="props.value" spinner-color="white" style="height: 54px; max-width: 100px" <q-img
class="rounded-borders"> :src="props.value"
spinner-color="white"
style="height: 54px; max-width: 100px"
class="rounded-borders"
>
</q-img> </q-img>
</q-td> </q-td>
</template> </template>
...@@ -49,70 +109,97 @@ ...@@ -49,70 +109,97 @@
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-B2CRatio="props"> <template v-slot:body-cell-B2CRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.B2CRatio}}%</span> <span>{{ props.row.B2CRatio }}%</span>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-B2CReNewRatio="props"> <template v-slot:body-cell-B2CReNewRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.B2CReNewRatio}}%</span> <span>{{ props.row.B2CReNewRatio }}%</span>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-B2BRebateRatio="props"> <template v-slot:body-cell-B2BRebateRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.B2BRebateRatio}}{{props.row.CommissionReType==1?'%':''}}</span> <span
>{{ props.row.B2BRebateRatio
}}{{ props.row.CommissionReType == 1 ? "%" : "" }}</span
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-B2BReNewRatio="props"> <template v-slot:body-cell-B2BReNewRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.B2BReNewRatio}}{{props.row.CommissionReType==1?'%':''}}</span> <span
>{{ props.row.B2BReNewRatio
}}{{ props.row.CommissionReType == 1 ? "%" : "" }}</span
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-SchoolRebateRatio="props"> <template v-slot:body-cell-SchoolRebateRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.SchoolRebateRatio}}{{props.row.CommissionReType==1?'%':''}}</span> <span
>{{ props.row.SchoolRebateRatio
}}{{ props.row.CommissionReType == 1 ? "%" : "" }}</span
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-SchoolReNewRatio="props"> <template v-slot:body-cell-SchoolReNewRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.SchoolReNewRatio}}{{props.row.CommissionReType==1?'%':''}}</span> <span
>{{ props.row.SchoolReNewRatio
}}{{ props.row.CommissionReType == 1 ? "%" : "" }}</span
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-TransIntroductceRatio="props"> <template v-slot:body-cell-TransIntroductceRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.TransIntroductceRatio}}{{props.row.CommissionReType==1?'%':''}}</span> <span
>{{ props.row.TransIntroductceRatio
}}{{ props.row.CommissionReType == 1 ? "%" : "" }}</span
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-TransIntroductceReNewRatio="props"> <template v-slot:body-cell-TransIntroductceReNewRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.TransIntroductceReNewRatio}}{{props.row.CommissionReType==1?'%':''}}</span> <span
>{{ props.row.TransIntroductceReNewRatio
}}{{ props.row.CommissionReType == 1 ? "%" : "" }}</span
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-InnerRecommendRatio="props"> <template v-slot:body-cell-InnerRecommendRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.InnerRecommendRatio}}{{props.row.CommissionReType==1?'%':''}}</span> <span
>{{ props.row.InnerRecommendRatio
}}{{ props.row.CommissionReType == 1 ? "%" : "" }}</span
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-InnerRecommendReNewRatio="props"> <template v-slot:body-cell-InnerRecommendReNewRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.InnerRecommendReNewRatio}}{{props.row.CommissionReType==1?'%':''}}</span> <span
>{{ props.row.InnerRecommendReNewRatio
}}{{ props.row.CommissionReType == 1 ? "%" : "" }}</span
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-B2CRbRatio="props"> <template v-slot:body-cell-B2CRbRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.B2CRbRatio}}{{props.row.CommissionReType==1?'%':''}}</span> <span
>{{ props.row.B2CRbRatio
}}{{ props.row.CommissionReType == 1 ? "%" : "" }}</span
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-B2CRNRatio="props"> <template v-slot:body-cell-B2CRNRatio="props">
<q-td :props="props"> <q-td :props="props">
<span>{{props.row.B2CRNRatio}}{{props.row.CommissionReType==1?'%':''}}</span> <span
>{{ props.row.B2CRNRatio
}}{{ props.row.CommissionReType == 1 ? "%" : "" }}</span
>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-PreferentialList="props"> <template v-slot:body-cell-PreferentialList="props">
<q-td :props="props" style="padding-right: 0px"> <q-td :props="props" style="padding-right: 0px">
<div v-for="x in props.value"> <div v-for="x in props.value">
...@@ -140,8 +227,12 @@ ...@@ -140,8 +227,12 @@
<template v-slot:body-cell-PreferentialListSellCommission="props"> <template v-slot:body-cell-PreferentialListSellCommission="props">
<q-td :props="props" style="padding-right: 0px; padding-left: 0px"> <q-td :props="props" style="padding-right: 0px; padding-left: 0px">
<div v-for="x in props.value"> <div v-for="x in props.value">
<div class="border-bottom" style="padding-left: 16px; padding-right: 16px" <div
:class="{ 'text-red': x.SaleCommissionType == 1 }" v-if="x.PriceDiscountType != 0"> class="border-bottom"
style="padding-left: 16px; padding-right: 16px"
:class="{ 'text-red': x.SaleCommissionType == 1 }"
v-if="x.PriceDiscountType != 0"
>
{{ x.SaleCommissionType == 1 ? "¥" : "" {{ x.SaleCommissionType == 1 ? "¥" : ""
}}{{ x.SaleCommissionMoney }}{{ x.SaleCommissionMoney
}}{{ x.SaleCommissionType == 0 ? "%" : "" }} }}{{ x.SaleCommissionType == 0 ? "%" : "" }}
...@@ -158,8 +249,12 @@ ...@@ -158,8 +249,12 @@
<template v-slot:body-cell-PreferentialListB2BCommission="props"> <template v-slot:body-cell-PreferentialListB2BCommission="props">
<q-td :props="props" style="padding-left: 0px"> <q-td :props="props" style="padding-left: 0px">
<div v-for="x in props.value"> <div v-for="x in props.value">
<div class="border-bottom" style="padding-left: 16px" :class="{ 'text-red': x.B2BCommissionType == 1 }" <div
v-if="x.PriceDiscountType != 0"> class="border-bottom"
style="padding-left: 16px"
:class="{ 'text-red': x.B2BCommissionType == 1 }"
v-if="x.PriceDiscountType != 0"
>
{{ x.B2BCommissionType == 1 ? "¥" : "" {{ x.B2BCommissionType == 1 ? "¥" : ""
}}{{ x.B2BCommissionMoney }}{{ x.B2BCommissionMoney
}}{{ x.B2BCommissionType == 0 ? "%" : "" }} }}{{ x.B2BCommissionType == 0 ? "%" : "" }}
...@@ -176,8 +271,12 @@ ...@@ -176,8 +271,12 @@
<template v-slot:body-cell-EducationCommission="props"> <template v-slot:body-cell-EducationCommission="props">
<q-td :props="props" style="padding-left: 0px"> <q-td :props="props" style="padding-left: 0px">
<div v-for="x in props.value"> <div v-for="x in props.value">
<div class="border-bottom" style="padding-left: 16px" :class="{ 'text-red': x.EduCommissionType == 1 }" <div
v-if="x.PriceDiscountType != 0"> class="border-bottom"
style="padding-left: 16px"
:class="{ 'text-red': x.EduCommissionType == 1 }"
v-if="x.PriceDiscountType != 0"
>
{{ x.EduCommissionType == 1 ? "¥" : "" {{ x.EduCommissionType == 1 ? "¥" : ""
}}{{ x.EduCommissionMoney }}{{ x.EduCommissionMoney
}}{{ x.EduCommissionType == 0 ? "%" : "" }} }}{{ x.EduCommissionType == 0 ? "%" : "" }}
...@@ -193,32 +292,81 @@ ...@@ -193,32 +292,81 @@
</template> </template>
<template v-slot:body-cell-plat="props"> <template v-slot:body-cell-plat="props">
<q-td :props="props"> <q-td :props="props">
<q-badge color="green" label="小程序" v-if="props.row.Saleplat.includes(4)" /> <q-badge
color="green"
label="小程序"
v-if="props.row.Saleplat.includes(4)"
/>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-Status="props"> <template v-slot:body-cell-Status="props">
<q-td :props="props"> <q-td :props="props">
<q-badge :color="props.value == 1 ? 'negative' : 'primary'" :label="props.value == 0 ? '正常' : '删除'" /> <q-badge
:color="props.value == 1 ? 'negative' : 'primary'"
:label="props.value == 0 ? '正常' : '删除'"
/>
</q-td>
</template>
<template v-slot:body-cell-IsScrollClass="props">
<q-td :props="props">
<span>{{ props.row.IsScrollClass == 0 ? "否" : "是" }}</span>
</q-td> </q-td>
</template> </template>
<template v-slot:bottom> <template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount" <q-pagination
:input="true" @input="changePage" /> class="full-width justify-end"
v-model="msg.pageIndex"
color="primary"
:max="pageCount"
:input="true"
@input="changePage"
/>
</template> </template>
<template v-slot:body-cell-optioned="props"> <template v-slot:body-cell-optioned="props">
<q-td :props="props"> <q-td :props="props">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight: 400" label="编辑" <q-btn
@click="EditCourse(props.row, 1)" /> flat
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight: 400" label="价格设置" size="xs"
@click="EditCourse(props.row, 2)" v-if="isHavePriceAction" /> icon="edit"
<q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left: 10px"> color="accent"
style="font-weight: 400"
label="编辑"
@click="EditCourse(props.row, 1)"
/>
<q-btn
flat
size="xs"
icon="edit"
color="accent"
style="font-weight: 400"
label="价格设置"
@click="EditCourse(props.row, 2)"
v-if="isHavePriceAction"
/>
<q-btn-dropdown
flat
size="xs"
color="dark"
label="更多"
style="margin-left: 10px"
>
<q-list> <q-list>
<q-item clickable v-close-popup @click="DeleteCourse(props.row, 1)" v-if="props.row.Status == 0"> <q-item
clickable
v-close-popup
@click="DeleteCourse(props.row, 1)"
v-if="props.row.Status == 0"
>
<q-item-section> <q-item-section>
<q-item-label>删除</q-item-label> <q-item-label>删除</q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-item clickable v-close-popup @click="DeleteCourse(props.row, 0)" v-if="props.row.Status == 1"> <q-item
clickable
v-close-popup
@click="DeleteCourse(props.row, 0)"
v-if="props.row.Status == 1"
>
<q-item-section> <q-item-section>
<q-item-label>恢复</q-item-label> <q-item-label>恢复</q-item-label>
</q-item-section> </q-item-section>
...@@ -228,190 +376,205 @@ ...@@ -228,190 +376,205 @@
<q-item-label>课程详情</q-item-label> <q-item-label>课程详情</q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
<!-- <q-item clickable v-close-popup @click="goMyroster(props.row,1)"> <q-item
clickable
v-close-popup
@click="goMyroster(props.row, 1)"
>
<q-item-section> <q-item-section>
<q-item-label>学员名单</q-item-label> <q-item-label>学员名单</q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-item clickable v-close-popup @click="goMyroster(props.row,2)"> <q-item
clickable
v-close-popup
@click="goMyroster(props.row, 2)"
>
<q-item-section> <q-item-section>
<q-item-label>学员订单</q-item-label> <q-item-label>学员订单</q-item-label>
</q-item-section> </q-item-section>
</q-item> --> </q-item>
</q-list> </q-list>
</q-btn-dropdown> </q-btn-dropdown>
</q-td> </q-td>
</template> </template>
</q-table> </q-table>
<course-form v-if="isShowCourseForm" :save-obj="courseObjOption" @close="closeMenuSaveForm" <course-form
@success="refreshPage"> v-if="isShowCourseForm"
:save-obj="courseObjOption"
@close="closeMenuSaveForm"
@success="refreshPage"
>
</course-form> </course-form>
<courseprice-form v-if="isShowCoursePriceForm" :save-obj="courseObjOption" @close="closeMenuSaveForm" <courseprice-form
@success="refreshPage"> v-if="isShowCoursePriceForm"
:save-obj="courseObjOption"
@close="closeMenuSaveForm"
@success="refreshPage"
>
</courseprice-form> </courseprice-form>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { import {
queryCoursePage, queryCoursePage,
queryCourseCategoryTree, queryCourseCategoryTree,
deleteCourseInfo, deleteCourseInfo,
querySaleplatList, querySaleplatList,
getCourseSubject getCourseSubject
} from "../../api/course/index"; } from "../../api/course/index";
import courseForm from "../../components/course/course-form"; import courseForm from "../../components/course/course-form";
import coursepriceForm from "../../components/course/courseprice-form"; import coursepriceForm from "../../components/course/courseprice-form";
import selectTree from "../../components/common/select-tree"; import selectTree from "../../components/common/select-tree";
import { import { openURL } from "quasar";
openURL import { mapState } from "vuex";
} from "quasar"; export default {
import {
mapState
} from "vuex";
export default {
meta: { meta: {
title: "课程管理", title: "课程管理"
}, },
components: { components: {
courseForm, courseForm,
selectTree, selectTree,
coursepriceForm, coursepriceForm
}, },
data() { data() {
return { return {
currentUrl: "", currentUrl: "",
columns: [{ columns: [
{
name: "CoverImg", name: "CoverImg",
label: "课程封面", label: "课程封面",
field: "CoverImg", field: "CoverImg",
align: "left", align: "left"
}, },
{ {
name: "CourseName", name: "CourseName",
required: true, required: true,
label: "课程名称", label: "课程名称",
align: "left", align: "left",
field: (row) => row.CourseName, field: row => row.CourseName
}, },
{ {
name: "CourseSubjectName", name: "CourseSubjectName",
required: true, required: true,
label: "所属科目", label: "所属科目",
align: "left", align: "left",
field: (row) => row.CourseSubjectName, field: row => row.CourseSubjectName
}, },
{ {
name: "CateName", name: "CateName",
required: true, required: true,
label: "系列", label: "系列",
align: "left", align: "left",
field: (row) => row.CateName, field: row => row.CateName
},
{
name: "GuestNum",
label: "学员数量",
align: "left",
field: "GuestNum",
sortable: true,
sort: (a, b, rowA, rowB) => parseInt(a, 10) - parseInt(b, 10)
},
{
name: "OrderNum",
label: "订单数量",
align: "left",
field: "OrderNum",
sortable: true,
sort: (a, b, rowA, rowB) => parseInt(a, 10) - parseInt(b, 10)
}, },
// {
// name: "SellPrice",
// required: true,
// label: "学员数量",
// align: "left",
// field: (row) => row.SellPrice.toFixed(2),
// },
// {
// name: "SellPrice",
// required: true,
// label: "订单数量",
// align: "left",
// field: (row) => row.SellPrice.toFixed(2),
// },
{ {
name: "SellPrice", name: "SellPrice",
required: true, required: true,
label: "直客价", label: "直客价",
align: "left", align: "left",
field: (row) => row.SellPrice.toFixed(2), field: row => row.SellPrice.toFixed(2)
}, },
{ {
name: "B2CRatio", name: "B2CRatio",
required: true, required: true,
label: "直客优惠比例", label: "直客优惠比例",
align: "left", align: "left",
field: (row) => row.B2CRatio field: row => row.B2CRatio
}, },
{ {
name: "B2CReNewRatio", name: "B2CReNewRatio",
required: true, required: true,
label: "直客优惠续费比例", label: "直客优惠续费比例",
align: "left", align: "left",
field: (row) => row.B2CReNewRatio field: row => row.B2CReNewRatio
}, },
{ {
name: "B2BRebateRatio", name: "B2BRebateRatio",
required: true, required: true,
label: "一般同行返佣", label: "一般同行返佣",
align: "left", align: "left",
field: (row) => row.B2BRebateRatio field: row => row.B2BRebateRatio
}, },
{ {
name: "B2BReNewRatio", name: "B2BReNewRatio",
required: true, required: true,
label: "一般同行续费返佣", label: "一般同行续费返佣",
align: "left", align: "left",
field: (row) => row.B2BReNewRatio field: row => row.B2BReNewRatio
}, },
{ {
name: "SchoolRebateRatio", name: "SchoolRebateRatio",
required: true, required: true,
label: "校园同行返佣", label: "校园同行返佣",
align: "left", align: "left",
field: (row) => row.SchoolRebateRatio field: row => row.SchoolRebateRatio
}, },
{ {
name: "SchoolReNewRatio", name: "SchoolReNewRatio",
required: true, required: true,
label: "校园同行续费返佣", label: "校园同行续费返佣",
align: "left", align: "left",
field: (row) => row.SchoolReNewRatio field: row => row.SchoolReNewRatio
}, },
{ {
name: "TransIntroductceRatio", name: "TransIntroductceRatio",
required: true, required: true,
label: "转介返佣", label: "转介返佣",
align: "left", align: "left",
field: (row) => row.TransIntroductceRatio field: row => row.TransIntroductceRatio
}, },
{ {
name: "TransIntroductceReNewRatio", name: "TransIntroductceReNewRatio",
required: true, required: true,
label: "转介续费返佣", label: "转介续费返佣",
align: "left", align: "left",
field: (row) => row.TransIntroductceReNewRatio field: row => row.TransIntroductceReNewRatio
}, },
{ {
name: "InnerRecommendRatio", name: "InnerRecommendRatio",
required: true, required: true,
label: "内推返佣", label: "内推返佣",
align: "left", align: "left",
field: (row) => row.InnerRecommendRatio field: row => row.InnerRecommendRatio
}, },
{ {
name: "InnerRecommendReNewRatio", name: "InnerRecommendReNewRatio",
required: true, required: true,
label: "内推续费返佣", label: "内推续费返佣",
align: "left", align: "left",
field: (row) => row.InnerRecommendReNewRatio field: row => row.InnerRecommendReNewRatio
}, },
{ {
name: "B2CRbRatio", name: "B2CRbRatio",
required: true, required: true,
label: "直客返佣", label: "直客返佣",
align: "left", align: "left",
field: (row) => row.B2CRbRatio field: row => row.B2CRbRatio
}, },
{ {
name: "B2CRNRatio", name: "B2CRNRatio",
required: true, required: true,
label: "直客续费返佣", label: "直客续费返佣",
align: "left", align: "left",
field: (row) => row.B2CRNRatio field: row => row.B2CRNRatio
}, },
// { // {
...@@ -447,52 +610,71 @@ ...@@ -447,52 +610,71 @@
label: "课时长度", label: "课时长度",
field: "ClassHours", field: "ClassHours",
align: "left", align: "left",
format: (val, row) => `${val}课时`, format: (val, row) => `${val}课时`
}, },
{ {
name: "plat", name: "plat",
label: "上架渠道", label: "上架渠道",
field: "plat", field: "plat",
align: "left", align: "left"
}, },
{ {
name: "CreateByName", name: "CreateByName",
label: "创建人", label: "创建人",
field: "CreateByName", field: "CreateByName",
align: "left", align: "left"
}, },
{ {
name: "UpdateTimeStr", name: "UpdateTimeStr",
label: "更新时间", label: "更新时间",
field: "UpdateTimeStr", field: "UpdateTimeStr",
align: "left", align: "left"
}, },
{ {
name: "Status", name: "Status",
label: "状态", label: "状态",
align: "left", align: "left",
field: "Status", field: "Status"
},
{
name: "IsScrollClass",
label: "是否开启滚动开班",
align: "left",
field: "IsScrollClass"
},
{
name: "ScrollMinNum",
label: "最小上课人数",
align: "left",
field: "ScrollMinNum"
},
{
name: "ScrollMaxNum",
label: "最大上课人数",
align: "left",
field: "ScrollMaxNum"
}, },
{ {
name: "optioned", name: "optioned",
label: "操作", label: "操作",
field: "CourseId", field: "CourseId"
}, }
], ],
data: [], data: [],
loading: true, loading: true,
ShowOpts: [{ ShowOpts: [
{
label: "全部", label: "全部",
value: "-1", value: "-1"
}, },
{ {
label: "正常", label: "正常",
value: "0", value: "0"
}, },
{ {
label: "删除", label: "删除",
value: "1", value: "1"
}, }
], ],
platOpts: [], //上架渠道 platOpts: [], //上架渠道
msg: { msg: {
...@@ -504,7 +686,7 @@ ...@@ -504,7 +686,7 @@
IsQPrice: 1, IsQPrice: 1,
Status: "0", Status: "0",
Saleplat: 0, Saleplat: 0,
CourseSubject: "", //所属科目 CourseSubject: "" //所属科目
}, },
//课程分类树形列表 //课程分类树形列表
TreeCategoryList: [], TreeCategoryList: [],
...@@ -514,7 +696,7 @@ ...@@ -514,7 +696,7 @@
isShowCoursePriceForm: false, //是否显示课程价格表单 isShowCoursePriceForm: false, //是否显示课程价格表单
courseObjOption: null, //课程对象 courseObjOption: null, //课程对象
isShowPriceEditBtn: 1, //是否显示价格设置 isShowPriceEditBtn: 1, //是否显示价格设置
CourseSubjectList: [], //科目列表 CourseSubjectList: [] //科目列表
}; };
}, },
computed: mapState({ computed: mapState({
...@@ -524,7 +706,7 @@ ...@@ -524,7 +706,7 @@
state.user.userInfo.ActionMenuList && state.user.userInfo.ActionMenuList &&
state.user.userInfo.ActionMenuList.length > 0 state.user.userInfo.ActionMenuList.length > 0
) { ) {
let action = state.user.userInfo.ActionMenuList.find((x) => { let action = state.user.userInfo.ActionMenuList.find(x => {
if (x.FunctionCode == "Edit_CoursePrice") { if (x.FunctionCode == "Edit_CoursePrice") {
return x; return x;
} }
...@@ -532,14 +714,14 @@ ...@@ -532,14 +714,14 @@
return action && action.FunctionCode; return action && action.FunctionCode;
} }
return false; return false;
}, }
}), }),
mounted() { mounted() {
if (this.$route.query && this.$route.query.Name) { if (this.$route.query && this.$route.query.Name) {
//从订单完成统计跳转过来的带的参数 //从订单完成统计跳转过来的带的参数
this.msg.CourseName = decodeURI(this.$route.query.Name); this.msg.CourseName = decodeURI(this.$route.query.Name);
} }
this.queryCourseSubject() this.queryCourseSubject();
this.getSaleplat(); this.getSaleplat();
this.getCategorytree(); this.getCategorytree();
this.currentUrl = this.$route.path; this.currentUrl = this.$route.path;
...@@ -551,13 +733,13 @@ ...@@ -551,13 +733,13 @@
if (res.Code == 1) { if (res.Code == 1) {
this.CourseSubjectList = res.Data; this.CourseSubjectList = res.Data;
} }
}) });
}, },
//删除课程 //删除课程
DeleteCourse(item, status) { DeleteCourse(item, status) {
let delMsg = { let delMsg = {
CourseId: item.CourseId, CourseId: item.CourseId,
Status: status, Status: status
}; };
var message = "是否要删除该课程?"; var message = "是否要删除该课程?";
if (status == 0) { if (status == 0) {
...@@ -570,17 +752,17 @@ ...@@ -570,17 +752,17 @@
cancel: true, cancel: true,
persistent: true, persistent: true,
ok: "确定", ok: "确定",
cancel: "取消", cancel: "取消"
}) })
.onOk(() => { .onOk(() => {
deleteCourseInfo(delMsg).then((res) => { deleteCourseInfo(delMsg).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
this.$q.notify({ this.$q.notify({
icon: "iconfont icon-chenggong", icon: "iconfont icon-chenggong",
color: "accent", color: "accent",
timeout: 2000, timeout: 2000,
message: "删除成功!", message: "删除成功!",
position: "top", position: "top"
}); });
this.getcourselist(); this.getcourselist();
} else { } else {
...@@ -589,7 +771,7 @@ ...@@ -589,7 +771,7 @@
color: "accent", color: "accent",
timeout: 2000, timeout: 2000,
message: res.Message, message: res.Message,
position: "top", position: "top"
}); });
} }
}); });
...@@ -599,7 +781,7 @@ ...@@ -599,7 +781,7 @@
gotoSub(obj, routeStr) { gotoSub(obj, routeStr) {
var tempStr = "/course/" + routeStr + "?CourseId=" + obj.CourseId; var tempStr = "/course/" + routeStr + "?CourseId=" + obj.CourseId;
this.$router.push({ this.$router.push({
path: tempStr, path: tempStr
}); });
}, },
//分类改变 //分类改变
...@@ -615,7 +797,7 @@ ...@@ -615,7 +797,7 @@
getCategorytree() { getCategorytree() {
this.TreeCategoryList = []; this.TreeCategoryList = [];
var qMsg = {}; var qMsg = {};
queryCourseCategoryTree(qMsg).then((res) => { queryCourseCategoryTree(qMsg).then(res => {
this.TreeCategoryList = res.Data; this.TreeCategoryList = res.Data;
}); });
}, },
...@@ -633,7 +815,7 @@ ...@@ -633,7 +815,7 @@
getcourselist() { getcourselist() {
this.loading = true; this.loading = true;
queryCoursePage(this.msg) queryCoursePage(this.msg)
.then((res) => { .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;
...@@ -676,29 +858,42 @@ ...@@ -676,29 +858,42 @@
}, },
//获取销售端口列表 //获取销售端口列表
getSaleplat() { getSaleplat() {
querySaleplatList().then((res) => { querySaleplatList().then(res => {
this.platOpts = res.Data; this.platOpts = res.Data;
this.platOpts.unshift({ this.platOpts.unshift({
Name: "不限", Name: "不限",
Id: 0, Id: 0
}); });
}); });
}, },
goMyroster(row,type){//type 1 是学员名单 2 学员订单 goMyroster(row, type) {
//type 1 是学员名单 2 学员订单
} if (type == 1) {
}, const obj = {
CourseId: row.CourseId,
CourseName: encodeURIComponent(row.CourseName),
source: 1
}; };
this.OpenNewUrl("/stuMan/stuList", obj);
} else if (type == 2) {
const obj = {
CourseId: row.CourseId,
CourseName: encodeURIComponent(row.CourseName),
source: 1
};
this.OpenNewUrl("/sale/orderStatistics", obj);
}
}
}
};
</script> </script>
<style scoped> <style scoped>
.border-bottom { .border-bottom {
border-bottom: 1px dashed #eee; border-bottom: 1px dashed #eee;
padding-bottom: 5px; padding-bottom: 5px;
margin-bottom: 5px; margin-bottom: 5px;
} }
</style> </style>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style> </style>
...@@ -155,23 +155,25 @@ ...@@ -155,23 +155,25 @@
padding: 5px 10px; padding: 5px 10px;
align-items: center; align-items: center;
} }
</style> </style>
<template> <template>
<div class="page-body stuList"> <div class="page-body stuList">
<div class="row q-mb-md"> <div class="row q-mb-md" v-if="source!=1">
<q-space></q-space> <q-space></q-space>
<div style="position: relative"> <div style="position: relative">
<q-btn color="accent" label="高级查询" @click="IsShowQuery = true"></q-btn> <q-btn color="accent" label="高级查询" @click="IsShowQuery = true"></q-btn>
<q-badge floating rounded color="red">{{ queryNum }}</q-badge> <q-badge floating rounded color="red">{{ queryNum }}</q-badge>
</div> </div>
</div> </div>
<div v-else class="q-mb-sm" style="font-size:20px">{{courseName}}</div>
<div class="page-search row items-center flex"> <div class="page-search row items-center flex">
<div class="col row wrap q-mr-lg q-col-gutter-md"> <div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3"> <div class="col-3">
<q-select @input="changeSchool" standout="bg-primary text-white" v-model="msg.School_Id" class="col-6" <q-select @input="changeSchool" standout="bg-primary text-white" v-model="msg.School_Id" class="col-6"
option-label="SName" option-value="SId" :options="SchoolList" emit-value map-options label="校区" /> option-label="SName" option-value="SId" :options="SchoolList" emit-value map-options label="校区" />
</div> </div>
<div class="col-3"> <div class="col-3" v-if="source!=1">
<q-select @input="changeCourse" standout="bg-primary text-white" v-model="msg.CourseId" class="col-6" <q-select @input="changeCourse" standout="bg-primary text-white" v-model="msg.CourseId" class="col-6"
option-label="CourseName" option-value="CourseId" use-input :options="CourseList" @filter="filterCourse" option-label="CourseName" option-value="CourseId" use-input :options="CourseList" @filter="filterCourse"
emit-value map-options label="课程" clearable> emit-value map-options label="课程" clearable>
...@@ -193,7 +195,7 @@ ...@@ -193,7 +195,7 @@
itemEvents, itemEvents,
opt, opt,
selected, selected,
toggleOption, toggleOption
}"> }">
<q-item v-bind="itemProps" v-on="itemEvents"> <q-item v-bind="itemProps" v-on="itemEvents">
<q-item-section> <q-item-section>
...@@ -231,22 +233,14 @@ ...@@ -231,22 +233,14 @@
</q-select> </q-select>
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select <q-select @input="
@input="msg.StuSourceId='',msg.StuChannelId='',resetSearch()" (msg.StuSourceId = ''), (msg.StuChannelId = ''), resetSearch()
:dense="false" " :dense="false" clearable filled option-value="Id" option-label="Name" v-model="msg.CreateType"
clearable :options="customFromList" emit-value map-options label="客户来源" />
filled
option-value="Id"
option-label="Name"
v-model="msg.CreateType"
:options="customFromList"
emit-value
map-options
label="客户来源"
/>
</div> </div>
<div class="col-3" v-if="msg.CreateType==1"> <div class="col-3" v-if="msg.CreateType == 1">
<q-select filled v-model="msg.StuChannelId" @input="resetSearch" label="收客渠道" :dense="false" :options="StuChannelList" option-label="Name" option-value="Id" emit-value map-options use-input clearable <q-select filled v-model="msg.StuChannelId" @input="resetSearch" label="收客渠道" :dense="false"
:options="StuChannelList" option-label="Name" option-value="Id" emit-value map-options use-input clearable
@filter="filterStuChannel"> @filter="filterStuChannel">
<template v-slot:no-option> <template v-slot:no-option>
<q-item> <q-item>
...@@ -257,10 +251,10 @@ ...@@ -257,10 +251,10 @@
</template> </template>
</q-select> </q-select>
</div> </div>
<div class="col-3" v-if="msg.CreateType==2"> <div class="col-3" v-if="msg.CreateType == 2">
<q-select filled v-model="msg.StuSourceId" :dense="false" :options="customList" use-input label="关联同行" <q-select filled v-model="msg.StuSourceId" :dense="false" :options="customList" use-input label="关联同行"
@filter="filterFn" option-label="CustomerName" @input="resetSearch" clearable @filter="filterFn" option-label="CustomerName" @input="resetSearch" clearable option-value="CustomerId"
option-value="CustomerId" emit-value map-options> emit-value map-options>
<template v-slot:no-option> <template v-slot:no-option>
<q-item> <q-item>
<q-item-section class="text-grey"> <q-item-section class="text-grey">
...@@ -270,17 +264,16 @@ ...@@ -270,17 +264,16 @@
</template> </template>
</q-select> </q-select>
</div> </div>
<div class="col-3" v-if="msg.CreateType==3"> <div class="col-3" v-if="msg.CreateType == 3">
<q-select filled v-model="msg.StuSourceId" :dense="false" @filter="filterEmployee" label="介绍人" <q-select filled v-model="msg.StuSourceId" :dense="false" @filter="filterEmployee" label="介绍人" use-input
use-input :options="myEmployeeList" option-label="EmployeeName" @input="resetSearch" clearable :options="myEmployeeList" option-label="EmployeeName" @input="resetSearch" clearable option-value="Id"
option-value="Id" emit-value map-options /> emit-value map-options />
</div> </div>
<div class="col-3" v-if="msg.CreateType==4"> <div class="col-3" v-if="msg.CreateType == 4">
<q-select filled v-model="msg.StuSourceId" :dense="false" use-input @filter="filterStudent" label="转介人" <q-select filled v-model="msg.StuSourceId" :dense="false" use-input @filter="filterStudent" label="转介人"
:options="MyTransListData" option-label="StuName" @input="resetSearch" clearable :options="MyTransListData" option-label="StuName" @input="resetSearch" clearable option-value="StuId"
option-value="StuId" emit-value map-options /> emit-value map-options />
</div> </div>
</div> </div>
</div> </div>
<div class="page-content"> <div class="page-content">
...@@ -308,7 +301,7 @@ ...@@ -308,7 +301,7 @@
<template v-slot:body-cell-StuSourceIdName="props"> <template v-slot:body-cell-StuSourceIdName="props">
<q-td :props="props"> <q-td :props="props">
<div> <div>
<span v-if="props.row.CreateType == 2 && props.row.EnterpriseName">{{props.row.EnterpriseName}}:</span> <span v-if="props.row.CreateType == 2 && props.row.EnterpriseName">{{ props.row.EnterpriseName }}:</span>
{{ props.row.StuSourceIdName }} {{ props.row.StuSourceIdName }}
</div> </div>
</q-td> </q-td>
...@@ -426,15 +419,8 @@ ...@@ -426,15 +419,8 @@
<list v-if="isShowList" :type="showType" :set-obj="eventObj" @close="closeHandle" /> <list v-if="isShowList" :type="showType" :set-obj="eventObj" @close="closeHandle" />
<!-- 事件记录 --> <!-- 事件记录 -->
<eventLog v-if="isShowEventLog" :set-obj="eventObj" @modify="modifyEvent" @close="closeHandle" /> <eventLog v-if="isShowEventLog" :set-obj="eventObj" @modify="modifyEvent" @close="closeHandle" />
<studentRight-form <studentRight-form v-if="isShowStuRight" :isJudgeTrans="isJudgeTrans" :BelongType="BelongType" :save-obj="stuOption"
v-if="isShowStuRight" @close="closeStuForm" @success="refreshStuList" @reload="refreshStuList">
:isJudgeTrans="isJudgeTrans"
:BelongType="BelongType"
:save-obj="stuOption"
@close="closeStuForm"
@success="refreshStuList"
@reload="refreshStuList"
>
</studentRight-form> </studentRight-form>
</div> </div>
</template> </template>
...@@ -450,11 +436,10 @@ ...@@ -450,11 +436,10 @@
import { import {
getStuList, getStuList,
getEarlyWarningEnum, getEarlyWarningEnum,
getTypeEnum, getTypeEnum
} from "../../api/stuMan/index.js"; } from "../../api/stuMan/index.js";
import { import {
queryGuestStateList, queryGuestStateList,
CreateTypeList, CreateTypeList,
GetStuChannelList, GetStuChannelList,
GetCustomerList GetCustomerList
...@@ -473,7 +458,7 @@ ...@@ -473,7 +458,7 @@
} from "../../api/users/user"; } from "../../api/users/user";
export default { export default {
meta: { meta: {
title: "学员名单", title: "学员名单"
}, },
components: { components: {
MoreQuery, MoreQuery,
...@@ -496,7 +481,7 @@ ...@@ -496,7 +481,7 @@
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
rowsPerPage: 10, rowsPerPage: 10,
School_Id: '', //校区 School_Id: "", //校区
CourseId: 0, //课程 CourseId: 0, //课程
ClassId: 0, //班级 ClassId: 0, //班级
GuestName: "", //学生姓名 GuestName: "", //学生姓名
...@@ -509,9 +494,9 @@ ...@@ -509,9 +494,9 @@
OrderTime: "", //下单时间 OrderTime: "", //下单时间
EndOrderTime: "", //下单结束时间 EndOrderTime: "", //下单结束时间
GuestState: "", //学员状态 GuestState: "", //学员状态
CreateType:'', //客户来源 CreateType: "", //客户来源
StuChannelId: "" ,//收客渠道 StuChannelId: "", //收客渠道
StuSourceId:'', StuSourceId: ""
}, },
pageCount: 0, pageCount: 0,
columns: [{ columns: [{
...@@ -519,7 +504,7 @@ ...@@ -519,7 +504,7 @@
label: "编号", label: "编号",
field: "Id", field: "Id",
align: "left", align: "left",
required: true, required: true
}, },
{ {
...@@ -527,7 +512,7 @@ ...@@ -527,7 +512,7 @@
label: "姓名", label: "姓名",
align: "left", align: "left",
field: "GuestName", field: "GuestName",
required: true, required: true
}, },
{ {
name: "CurseManager", name: "CurseManager",
...@@ -543,17 +528,19 @@ ...@@ -543,17 +528,19 @@
name: "CreateTypeName", name: "CreateTypeName",
label: "客户来源", label: "客户来源",
field: "CreateTypeName", field: "CreateTypeName",
align: "left", align: "left"
},{ },
{
name: "StuSourceIdName", name: "StuSourceIdName",
label: "来源关联人", label: "来源关联人",
field: "StuSourceIdName", field: "StuSourceIdName",
align: "left", align: "left"
},{ },
{
name: "StuChannelName", name: "StuChannelName",
label: "收客渠道", label: "收客渠道",
field: "StuChannelName", field: "StuChannelName",
align: "left", align: "left"
}, },
{ {
name: "StuCreateByName", name: "StuCreateByName",
...@@ -565,148 +552,148 @@ ...@@ -565,148 +552,148 @@
name: "Mobile", name: "Mobile",
label: "电话", label: "电话",
align: "left", align: "left",
field: "Mobile", field: "Mobile"
}, },
{ {
name: "ContractNo", name: "ContractNo",
label: "合同编号", label: "合同编号",
align: "left", align: "left",
field: "ContractNo", field: "ContractNo"
}, },
{ {
name: "ClassName", name: "ClassName",
label: "班级", label: "班级",
align: "left", align: "left",
field: "ClassName", field: "ClassName"
}, },
{ {
name: "CourseName", name: "CourseName",
label: "课程", label: "课程",
align: "left", align: "left",
field: "CourseName", field: "CourseName"
}, },
{ {
name: "TeacherName", name: "TeacherName",
label: "老师", label: "老师",
align: "left", align: "left",
field: "TeacherName", field: "TeacherName"
}, },
{ {
name: "OrderId", name: "OrderId",
label: "订单号", label: "订单号",
align: "left", align: "left",
field: "OrderId", field: "OrderId"
}, },
{ {
name: "OrderTime", name: "OrderTime",
label: "报名时间", label: "报名时间",
align: "left", align: "left",
field: "OrderTime", field: "OrderTime"
}, },
{ {
name: "EnterName", name: "EnterName",
label: "业务员", label: "业务员",
field: "EnterName", field: "EnterName",
align: "left", align: "left"
}, },
{ {
name: "PreferPrice", name: "PreferPrice",
label: "应收金额", label: "应收金额",
field: "PreferPrice", field: "PreferPrice",
align: "left", align: "left"
}, },
{ {
name: "Income", name: "Income",
label: "实收金额", label: "实收金额",
field: "Income", field: "Income",
align: "left", align: "left"
}, },
{ {
name: "Refund", name: "Refund",
label: "退款金额", label: "退款金额",
field: "Refund", field: "Refund",
align: "left", align: "left"
}, },
{ {
name: "TotalHours", name: "TotalHours",
label: "课程总课时", label: "课程总课时",
field: "TotalHours", field: "TotalHours",
align: "left", align: "left"
}, },
{ {
name: "ValidClassHours", name: "ValidClassHours",
label: "有效课时", label: "有效课时",
field: "ValidClassHours", field: "ValidClassHours",
align: "left", align: "left"
}, },
{ {
name: "CompleteHours", name: "CompleteHours",
label: "消耗课时", label: "消耗课时",
field: "CompleteHours", field: "CompleteHours",
align: "left", align: "left"
}, },
{ {
name: "SurplusHours", name: "SurplusHours",
label: "剩余课时", label: "剩余课时",
field: "SurplusHours", field: "SurplusHours",
align: "left", align: "left"
}, },
{ {
name: "MakeUpHours", name: "MakeUpHours",
label: "可补课课时", label: "可补课课时",
field: "MakeUpHours", field: "MakeUpHours",
align: "left", align: "left"
}, },
{ {
name: "AbsenceNum", name: "AbsenceNum",
label: "缺勤次数", label: "缺勤次数",
field: "AbsenceNum", field: "AbsenceNum",
align: "left", align: "left"
}, },
{ {
name: "LeaveNum", name: "LeaveNum",
label: "请假次数", label: "请假次数",
field: "LeaveNum", field: "LeaveNum",
align: "left", align: "left"
}, },
{ {
name: "EventlogNum", name: "EventlogNum",
label: "事件记录", label: "事件记录",
field: "EventlogNum", field: "EventlogNum",
align: "left", align: "left"
}, },
{ {
name: "GuestStateStr", name: "GuestStateStr",
label: "状态", label: "状态",
field: "GuestStateStr", field: "GuestStateStr",
align: "left", align: "left"
}, },
{ {
name: "GraduationTime", name: "GraduationTime",
label: "毕业时间", label: "毕业时间",
field: "GraduationTime", field: "GraduationTime",
align: "left", align: "left"
}, },
{ {
name: "CourseRateName", name: "CourseRateName",
label: "毕业课程等级", label: "毕业课程等级",
field: "CourseRateName", field: "CourseRateName",
align: "left", align: "left"
}, },
{ {
name: "JoinTypeStr", name: "JoinTypeStr",
label: "类型", label: "类型",
field: "JoinTypeStr", field: "JoinTypeStr",
align: "left", align: "left"
}, },
{ {
name: "optioned", name: "optioned",
label: "操作", label: "操作",
required: true, required: true,
align: "left", align: "left"
}, }
], ],
SchoolList: [], SchoolList: [],
CourseList: [], CourseList: [],
...@@ -716,10 +703,10 @@ ...@@ -716,10 +703,10 @@
queryClass: { queryClass: {
CourseId: 0, CourseId: 0,
IsAddDefault: 1, IsAddDefault: 1,
SchoolId: '', SchoolId: "",
Teacher_Id: 0, Teacher_Id: 0,
MoreStatus: "1,2,3", MoreStatus: "1,2,3",
IsQuerySurplusPlan: 0, IsQuerySurplusPlan: 0
}, },
typeEnum: [], typeEnum: [],
warnEnum: [], warnEnum: [],
...@@ -738,9 +725,9 @@ ...@@ -738,9 +725,9 @@
isShowEventLog: false, //是否显示事件记录 isShowEventLog: false, //是否显示事件记录
GuestStateList: [], //学员状态列表 GuestStateList: [], //学员状态列表
stuOption: null, stuOption: null,
BelongType:1, BelongType: 1,
isShowStuRight:false, isShowStuRight: false,
isJudgeTrans:1, isJudgeTrans: 1,
customFromList: [], //客户来源 customFromList: [], //客户来源
StuChannelList: [], //收客渠道 StuChannelList: [], //收客渠道
...@@ -754,11 +741,21 @@ ...@@ -754,11 +741,21 @@
TransListData: [], //转介人数据 TransListData: [], //转介人数据
MyTransListData: [], MyTransListData: [],
source: 0, //1:从课程列表进入
courseName: ""
}; };
}, },
created() { created() {
this.getGuestStateList(); this.getGuestStateList();
if (this.$route.query.source) {
this.source = this.$route.query.source;
}
if (this.$route.query.CourseId) {
this.msg.CourseId = parseInt(this.$route.query.CourseId);
}
if (this.$route.query.CourseName) {
this.courseName = decodeURIComponent(this.$route.query.CourseName);
}
}, },
mounted() { mounted() {
this.getSchool(); this.getSchool();
...@@ -771,8 +768,8 @@ ...@@ -771,8 +768,8 @@
this.getCustomFrom(); this.getCustomFrom();
this.GetStuChannelList(); this.GetStuChannelList();
this.GetCustomerList(); this.GetCustomerList();
this.getEmployeeList() this.getEmployeeList();
this.getStudentDorpDown() this.getStudentDorpDown();
}, },
methods: { methods: {
//获取收客渠道 //获取收客渠道
...@@ -867,17 +864,15 @@ ...@@ -867,17 +864,15 @@
}); });
}, },
//获取学员状态列表 //获取学员状态列表
getGuestStateList() { getGuestStateList() {
queryGuestStateList({}).then(res => { queryGuestStateList({}).then(res => {
this.GuestStateList = res.Data; this.GuestStateList = res.Data;
}) });
}, },
//获取校区下拉 //获取校区下拉
getSchool() { getSchool() {
getSchoolDropdown({}).then((res) => { getSchoolDropdown({}).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
this.SchoolList = res.Data; this.SchoolList = res.Data;
} }
...@@ -885,7 +880,7 @@ ...@@ -885,7 +880,7 @@
}, },
//获取课程 //获取课程
getCourseList() { getCourseList() {
queryCourseDropdownList({}).then((res) => { queryCourseDropdownList({}).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
var tempArray = res.Data; var tempArray = res.Data;
if (!tempArray) { if (!tempArray) {
...@@ -893,7 +888,7 @@ ...@@ -893,7 +888,7 @@
} }
tempArray.unshift({ tempArray.unshift({
CourseId: 0, CourseId: 0,
CourseName: "不限", CourseName: "不限"
}); });
this.CourseList = tempArray; this.CourseList = tempArray;
this.AllCourseList = tempArray; this.AllCourseList = tempArray;
...@@ -908,14 +903,14 @@ ...@@ -908,14 +903,14 @@
} else { } else {
const needle = val.toLowerCase(); const needle = val.toLowerCase();
this.CourseList = this.AllCourseList.filter( this.CourseList = this.AllCourseList.filter(
(v) => v.CourseName.toLowerCase().indexOf(needle) > -1 v => v.CourseName.toLowerCase().indexOf(needle) > -1
); );
} }
}); });
}, },
//获取班级 //获取班级
getClass() { getClass() {
getClassDropDownList(this.queryClass).then((res) => { getClassDropDownList(this.queryClass).then(res => {
this.classList = []; this.classList = [];
this.msg.ClassId = 0; this.msg.ClassId = 0;
if (res.Code == 1) { if (res.Code == 1) {
...@@ -923,7 +918,7 @@ ...@@ -923,7 +918,7 @@
this.AllClassList = res.Data; this.AllClassList = res.Data;
var obj = { var obj = {
ClassName: "不限", ClassName: "不限",
ClassId: 0, ClassId: 0
}; };
this.classList.unshift(obj); this.classList.unshift(obj);
} }
...@@ -937,7 +932,7 @@ ...@@ -937,7 +932,7 @@
} else { } else {
const needle = val.toLowerCase(); const needle = val.toLowerCase();
this.classList = this.AllClassList.filter( this.classList = this.AllClassList.filter(
(v) => v.ClassName.toLowerCase().indexOf(needle) > -1 v => v.ClassName.toLowerCase().indexOf(needle) > -1
); );
} }
}); });
...@@ -955,14 +950,14 @@ ...@@ -955,14 +950,14 @@
getList() { getList() {
this.loading = true; this.loading = true;
getStuList(this.msg) getStuList(this.msg)
.then((res) => { .then(res => {
this.loading = false; this.loading = false;
if (res.Code === 1) { if (res.Code === 1) {
this.data = res.Data.PageData; this.data = res.Data.PageData;
this.pageCount = res.Data.PageCount; this.pageCount = res.Data.PageCount;
} }
}) })
.catch((err) => { .catch(err => {
this.loading = false; this.loading = false;
}); });
}, },
...@@ -1018,15 +1013,15 @@ ...@@ -1018,15 +1013,15 @@
this.$router.push({ this.$router.push({
path: url, path: url,
query: { query: {
Id: item.Id, Id: item.Id
}, }
}); });
} else { } else {
this.$router.push({ this.$router.push({
path: url, path: url,
query: { query: {
Id: 0, Id: 0
}, }
}); });
} }
}, },
...@@ -1035,23 +1030,23 @@ ...@@ -1035,23 +1030,23 @@
path: url, path: url,
query: { query: {
Id: item.Id, Id: item.Id,
name: item.ActivityName, name: item.ActivityName
}, }
}); });
}, },
getTypeEnum() { getTypeEnum() {
getTypeEnum({}).then((res) => { getTypeEnum({}).then(res => {
if (res.Code === 1) { if (res.Code === 1) {
res.Data.unshift({ res.Data.unshift({
Name: "不限", Name: "不限",
Id: 0, Id: 0
}); });
this.typeEnum = res.Data; this.typeEnum = res.Data;
} }
}); });
}, },
getEarlyWarningEnum() { getEarlyWarningEnum() {
getEarlyWarningEnum({}).then((res) => { getEarlyWarningEnum({}).then(res => {
if (res.Code === 1) { if (res.Code === 1) {
this.warnEnum = res.Data; this.warnEnum = res.Data;
} }
...@@ -1083,7 +1078,7 @@ ...@@ -1083,7 +1078,7 @@
let obj = { let obj = {
StudentId: item.Id, StudentId: item.Id,
TeacherId: item.Teacher_Id, TeacherId: item.Teacher_Id,
ClassId: item.ClassId, ClassId: item.ClassId
}; };
this.OpenNewUrl("/teacher/studentsClassSee", obj); this.OpenNewUrl("/teacher/studentsClassSee", obj);
}, },
...@@ -1137,7 +1132,10 @@ ...@@ -1137,7 +1132,10 @@
}, },
getStuRight(obj) { getStuRight(obj) {
if (obj) { if (obj) {
this.stuOption = {StuId:obj.Student_Id,noEdit:true} this.stuOption = {
StuId: obj.Student_Id,
noEdit: true
};
this.BelongType = obj.BelongType; this.BelongType = obj.BelongType;
} }
this.isShowStuRight = true; this.isShowStuRight = true;
...@@ -1145,12 +1143,14 @@ ...@@ -1145,12 +1143,14 @@
closeStuForm() { closeStuForm() {
this.isShowStuRight = false; this.isShowStuRight = false;
}, },
refreshStuList(){ refreshStuList() {
this.getList() this.getList();
}
} }
},
}; };
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style> </style>
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