Commit c466518e authored by 赵茹林's avatar 赵茹林

期数名称更新为指定格式(1/n)

招生来源改成活动方案
外部订单列表 - 增加活动方案的筛选
班级列表 - 班级二维码隐藏
班级列表 - 期数下拉搜索框(样式优化);编辑班级 - 招生来源下拉框(样式优化);
系统配置 - 招生来源输入框(样式优化);招生来源表格(样式优化);等
parent cb969424
......@@ -141,6 +141,14 @@ html, body {
margin-bottom: 0;
}
}
.el-form--inline {
.el-form-item {
margin-right: 0;
& + .el-form-item {
margin-left: 10px;
}
}
}
.search-btn-wrapper {
display: flex;
}
......@@ -155,4 +163,73 @@ html, body {
border-bottom: solid 1px #ebeef5;
}
}
// cascader 支持多行
.refresh-cascader-multi {
&.width-480 .el-cascader-menu {
max-width: 480px;
}
&.width-520 .el-cascader-menu {
max-width: 520px;
}
&.width-560 .el-cascader-menu {
max-width: 560px;
}
.el-cascader-menu {
.el-cascader-menu__wrap {
height: 360px;
ul {
li {
padding: 5px 20px 5px 20px;
height: auto;
line-height: 24px;
.el-cascader-node__label {
white-space: normal;
}
}
}
}
}
}
// select 支持多行
.refresh-select-multi {
&.width-320 {
max-width: 320px;
}
&.width-480 {
max-width: 480px;
}
&.width-520 {
max-width: 520px;
}
&.width-560 {
max-width: 560px;
}
.el-select-dropdown__wrap {
max-height: 360px;
ul {
li {
padding: 5px 20px 5px 20px;
height: auto;
line-height: 24px;
span {
white-space: normal;
}
}
}
}
}
.el-dialog {
.el-form {
.el-form-item:last-child {
margin-bottom: 0;
}
}
}
</style>
......@@ -3,6 +3,8 @@
<el-form ref="form" :model="form" label-width="120px">
<el-form-item label="期数" v-if="!this.dialogObj.periodsId">
<el-cascader
class="refresh-cascader-multi width-480"
style="width: 480px"
:options="goodsList"
:props="{value:'id',label:'name'}"
@active-item-change="handleItemChange"
......@@ -24,8 +26,11 @@
<el-form-item label="最大学员">
<el-input-number v-model="form.max_join_num"></el-input-number>
</el-form-item>
<el-form-item label="招生来源">
<el-select v-model="form.source" placeholder="请选择" filterable>
<el-form-item label="活动方案">
<el-select
v-model="form.source" placeholder="请选择" filterable
:popper-class="'refresh-select-multi width-480'"
style="width: 480px">
<el-option
v-for="(data,index) in classSource"
:key="index"
......
<template>
<div class="class">
<div class="form-block">
<div class="class admin-refresh">
<div class="form-block section-search search-single">
<el-form label-width="90px" inline>
<el-form-item label="期数">
<el-form-item>
<el-cascader
:popper-class="'refresh-cascader-multi width-560'"
placeholder="请选择期数" style="width: 560px" filterable
:options="goodsList"
:props="{value:'id',label:'name'}"
@active-item-change="handleItemChange"
@change="changePeriods"
filterable
v-model="selectedGoods"
></el-cascader>
v-model="selectedGoods"></el-cascader>
</el-form-item>
<el-form-item label="老师">
<el-form-item>
<el-select
filterable
v-model="teacher_id"
placeholder="请选择"
@change="getClassList"
clearable
>
placeholder="请选择老师"
@change="getClassList" clearable>
<el-option
v-for="(data,index) in teacherList"
:key="index"
:label="data.teacher_name"
:value="data.teacher_id"
></el-option>
:value="data.teacher_id"></el-option>
</el-select>
</el-form-item>
<el-form-item label>
<el-button type="primary" @click="getClassList">搜索</el-button>
</el-form-item>
<el-form-item style="float: right">
<div class="search-btn-wrapper">
<el-button @click="onAdd" type="success" v-if="!$store.state.readonly">+添加班级</el-button>
<el-button type="success" @click="sendMsg">发送活动通知</el-button>
</div>
</el-form-item>
</el-form>
</div>
<div v-if="title && title.title " class="intro">
<el-table
border
size="mini"
style="display: block;margin: 20px auto;background: transparent"
:data="[title]"
>
<el-table-column label="期数名称" prop="title"></el-table-column>
<el-table border size="mini" :data="[title]"
style="display: block;margin: 10px auto;background: transparent">
<el-table-column label="期数名称" width="280px">
<template slot-scope="scope">
<span style="white-space: normal">{{periodName}}</span>
</template>
</el-table-column>
<el-table-column label="可看课包数" prop="watch_num"></el-table-column>
<el-table-column label="已看课包数" prop="has_watch_num"></el-table-column>
<el-table-column label="开始时间" prop="start_at"></el-table-column>
......@@ -98,7 +97,7 @@
</el-table>
</template>
</el-table-column>
<el-table-column label="班级名称">
<el-table-column label="班级名称" width="200px">
<template slot-scope="scope">{{scope.row.class_name}}</template>
</el-table-column>
<!--<el-table-column prop="qr" label="班级二维码">
......@@ -109,33 +108,31 @@
<p v-if="!scope.row.qr">&#45;&#45;</p>
</template>
</el-table-column>-->
<el-table-column prop="teacher_name" label="班主任"></el-table-column>
<el-table-column prop="teacher_name" label="班主任" width="120px"></el-table-column>
<el-table-column label="老师状态" width="80px">
<template slot-scope="scope">{{scope.row.teacher_status === 0 ? '带班' : '不带班'}}</template>
</el-table-column>
<el-table-column label="班级类型">
<el-table-column label="班级类型" width="80px">
<template slot-scope="scope">{{scope.row.type | classTypeFilter}}</template>
</el-table-column>
<el-table-column prop="max_join_num" label="最大人数"></el-table-column>
<el-table-column prop="join_num" label="现有人数"></el-table-column>
<el-table-column prop="source" label="招生来源">
<el-table-column prop="max_join_num" label="最大人数" width="100px"></el-table-column>
<el-table-column prop="join_num" label="现有人数" width="100px"></el-table-column>
<el-table-column prop="source" label="活动方案">
<template slot-scope="scope">{{scope.row.source | classSourceFilter}}</template>
</el-table-column>
<el-table-column width="250" label="操作">
<el-table-column label="操作" width="246">
<template slot-scope="scope">
<el-button @click="showUser(scope.row)" size="mini" type="primary">班级成员</el-button>
<el-button
@click="editClass(scope.row)"
size="mini"
v-if="!$store.state.readonly"
type="warning"
>编辑</el-button>
type="warning">编辑</el-button>
<el-button
@click="delClass(scope.row)"
size="mini"
v-if="$store.state.deletePermission && !$store.state.readonly"
type="danger"
>删除</el-button>
type="danger">删除</el-button>
</template>
</el-table-column>
</el-table>
......@@ -224,8 +221,17 @@ export default {
},
percent(val) {
return (val * 100).toFixed(2) + "%";
},
},
computed: {
periodName: function () {
if (this.selectedGoods.length) {
return `【${this.selectedGoods[0]}${this.title.title}${this.title.watch_num}课时(${this.title.start_at.slice(5).replace('-', '')})-d${this.title.has_watch_num}`
} else {
return ''
}
},
},
mounted() {
this.initPage();
},
......@@ -364,6 +370,7 @@ export default {
getGoodsListApi(json).then(res => {
console.log(res);
res.list.forEach(i => {
//i.name = `【${i.id}】`
i.name =
"[" +
i.id +
......@@ -466,15 +473,9 @@ export default {
data.transform_rate = 0;
});
this.title = res.periods;
this.title.count_join_num = res.count.count_join_num
? res.count.count_join_num
: "暂无";
this.title.count_max_join_num = res.count.count_max_join_num
? res.count.count_max_join_num
: "暂无";
this.title.count_teacher_num = res.count.count_teacher_num
? res.count.count_teacher_num
: "暂无";
this.title.count_join_num = res.count.count_join_num ? res.count.count_join_num : "暂无";
this.title.count_max_join_num = res.count.count_max_join_num ? res.count.count_max_join_num : "暂无";
this.title.count_teacher_num = res.count.count_teacher_num ? res.count.count_teacher_num : "暂无";
this.countObj = res.count ? res.count : "";
this.classList = res.list;
this.total = res.total;
......@@ -536,7 +537,7 @@ export default {
<style scoped lang="less">
.class {
padding: 20px 0;
/*padding: 20px 0;*/
}
.intro .el-form-item {
margin-bottom: 0;
......
......@@ -193,35 +193,16 @@
</el-collapse-item>
<el-collapse-item title="全勤活动星星期数(赠绘本)" name="10">
<div>
<el-button @click="periodDialogFn(1)">
添加期数
</el-button>
<el-table
:data="starList"
style="width: 100%">
<el-table-column
prop="id"
label="id" width="100">
</el-table-column>
<el-table-column
prop="goods_name"
label="商品名称">
</el-table-column>
<el-table-column
prop="title"
label="标题">
</el-table-column>
<el-table-column
label="操作"
min-width="150"
v-if="!$store.state.readonly">
<el-button @click="periodDialogFn(1)">添加期数</el-button>
<el-table :data="starList">
<el-table-column prop="id" label="id" width="100"></el-table-column>
<el-table-column prop="goods_name" label="商品名称"></el-table-column>
<el-table-column prop="title" label="标题"></el-table-column>
<el-table-column label="操作" width="120px" v-if="!$store.state.readonly">
<template slot-scope="scope">
<el-button
@click="delStarListFn(scope.row)"
type="warning"
plain
size="mini">
删除
type="warning" plain size="mini">删除
</el-button>
</template>
</el-table-column>
......@@ -230,76 +211,34 @@
</el-collapse-item>
<el-collapse-item title="全勤活动星星期数(返奖学金)" name="11">
<div>
<el-button @click="periodDialogFn(2)">
添加期数
</el-button>
<el-table
:data="starV2List"
style="width: 100%">
<el-table-column
prop="id"
label="id" width="100">
</el-table-column>
<el-table-column
prop="goods_name"
label="商品名称">
</el-table-column>
<el-table-column
prop="title"
label="标题">
</el-table-column>
<el-table-column
label="操作"
min-width="150"
v-if="!$store.state.readonly">
<el-button @click="periodDialogFn(2)">添加期数</el-button>
<el-table :data="starV2List">
<el-table-column prop="id" label="id" width="100"></el-table-column>
<el-table-column prop="goods_name" label="商品名称"></el-table-column>
<el-table-column prop="title" label="标题"></el-table-column>
<el-table-column label="操作" width="120px" v-if="!$store.state.readonly">
<template slot-scope="scope">
<el-button
@click="delStarV2ListFn(scope.row)"
type="warning"
plain
size="mini">
删除
@click="delStarV2ListFn(scope.row)" type="warning"
plain size="mini">删除
</el-button>
</template>
</el-table-column>
</el-table>
</div>
</el-collapse-item>
<el-collapse-item title="招生来源列表" name="12">
<el-collapse-item title="活动方案列表" name="12">
<div>
<el-button @click="addSource">
添加列表
</el-button>
<el-table
:data="sourceStudentList"
style="width: 100%">
<el-table-column
prop="name"
label="来源名称" >
</el-table-column>
<el-table-column
prop="type"
label="type" width='90'>
</el-table-column>
<el-table-column
label="操作"
min-width="150"
v-if="!$store.state.readonly">
<el-button @click="addSource">添加列表</el-button>
<el-table :data="sourceStudentList">
<el-table-column prop="name" label="来源名称"></el-table-column>
<el-table-column prop="type" label="type" width='80px'></el-table-column>
<el-table-column label="操作" width="160px" v-if="!$store.state.readonly">
<template slot-scope="scope">
<el-button
@click="delSourceStudent(scope.row)"
type="warning"
plain
size="mini">
删除
</el-button>
@click="delSourceStudent(scope.row)" type="warning" plain size="mini">删除</el-button>
<el-button
@click="initSource(scope.row)"
type=""
plain
size="mini">
编辑
</el-button>
@click="initSource(scope.row)" plain size="mini">编辑</el-button>
</template>
</el-table-column>
</el-table>
......@@ -360,41 +299,40 @@
:options="periodList"
:props="{value:'id',label:'name'}"
@active-item-change="handleItemChange"
v-model="secGoods"
>
v-model="secGoods">
</el-cascader>
<span slot="footer" class="dialog-footer">
<el-button @click="noticeDialog = false">取 消</el-button>
<el-button type="primary" @click="onSend">确 定</el-button>
</span>
</el-dialog>
<el-dialog
title="添加期数"
:visible.sync="periodDialog">
<el-dialog title="添加期数" :visible.sync="periodDialog">
<el-form>
<el-form-item label="选择期数">
<el-cascader
:popper-class="'refresh-cascader-multi width-480'"
style="width: 480px"
:options="periodList"
:props="{value:'id',label:'name'}"
@active-item-change="handleItemChange"
v-model="secGoods"
>
</el-cascader>
<span slot="footer" class="dialog-footer">
v-model="secGoods"></el-cascader>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="periodDialog = false">取 消</el-button>
<el-button type="primary" @click="addPeriod">确 定</el-button>
</span>
</div>
</el-dialog>
<el-dialog
:title="dialogTitle"
:visible.sync="sourceStudentDialog">
<el-form :model="formData" label-width="100px" inline>
<el-form-item label="来源名称" style="margin-left:10px;">
<el-input v-model="formData.name"></el-input>
<el-dialog :title="dialogTitle" :visible.sync="sourceStudentDialog">
<el-form :model="formData" label-width="80px">
<el-form-item label="来源名称">
<el-input type="textarea" :autosize="{ minRows: 2}" v-model="formData.name"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<div slot="footer" class="dialog-footer">
<el-button @click="sourceStudentDialog = false">取 消</el-button>
<el-button type="primary" @click="editSourceStudent">确 定</el-button>
</span>
</div>
</el-dialog>
<el-dialog
:title="dialogTitle"
......@@ -562,7 +500,7 @@ export default {
console.log(row)
this.formData = row
this.sourceStudentDialog = true
this.dialogTitle = '招生来源编辑'
this.dialogTitle = '活动方案编辑'
},
addSource(){
this.formData = {
......@@ -570,14 +508,14 @@ export default {
name:''
}
this.sourceStudentDialog = true
this.dialogTitle = '招生来源新增'
this.dialogTitle = '活动方案新增'
},
editSourceStudent(){
let json = {
type:this.formData.type,
source_name:this.formData.name,
}
if(this.dialogTitle=='招生来源编辑'){
if(this.dialogTitle=='活动方案编辑'){
putSourceStudentApi(this.formData.type,json).then(res =>{
this.$message({
type: "success",
......@@ -1123,12 +1061,28 @@ export default {
};
</script>
<style scoped lang="less">
.box{padding: 20px;background: white;text-indent: 10px;box-sizing: border-box;}
.el-form-item{display: inline-block;margin-right: 40px;}
.container{
.box {
padding: 20px;
background: white;
text-indent: 10px;
box-sizing: border-box;
}
.el-collapse .el-form-item {
display: inline-block;
margin-right: 40px;
}
.container {
display: flex;
.left{width: 60%;}
.el-collapse-item__arrow{margin-left: 0;}
}
.left {
width: 60%;
}
.el-collapse-item__arrow {
margin-left: 0;
}
}
</style>
......@@ -35,8 +35,7 @@
placeholder="请选择"
style="width: 150px"
clearable
@change="selectChange"
>
@change="selectChange">
<el-option
v-for="(data,index) in watchList"
:key="index"
......@@ -52,8 +51,7 @@
placeholder="请选择"
style="width: 150px"
@change="getChannelTransList"
clearable
>
clearable>
<el-option
v-for="(data,index) in typeList"
:key="index"
......@@ -86,8 +84,7 @@
placeholder="请选择"
@change="changeTeacher"
clearable
style="width: 100px"
>
style="width: 100px">
<el-option label="暂不分配" value="0"></el-option>
<el-option
v-for="(data,index) in teacherList"
......@@ -104,14 +101,7 @@
</div>
</el-form-item>
</el-form>
<el-table
border
:span-method="objectSpanMethod"
:data="list"
:style="{width: width+'px'}"
fixed
>
<el-table border :span-method="objectSpanMethod" :data="list" :style="{width: width+'px'}" fixed>
<!-- <div
class="no-data"
v-if="list.length == 0"
......@@ -121,13 +111,14 @@
<el-table-column prop="invite_type" label="渠道类型"></el-table-column>
<!-- <el-table-column prop="watch_num" label="商品课时数"></el-table-column> -->
<el-table-column prop="goods_name" label="商品名称" width="180"></el-table-column>
<el-table-column prop="periods_title" label="期数名称"></el-table-column>
<el-table-column prop="periods_title" label="期数名称">
<!--<template slot-scope="scope">
{{periodName(scope.row)}}
</template>-->
</el-table-column>
<el-table-column
prop="duration_over_at"
label="开课看课时间"
style="font-size:12px;"
width="200"
>
prop="duration_over_at" label="开课看课时间"
style="font-size:12px;" width="200">
<template slot-scope="scope">
开课日期:{{scope.row.start_at}}
<br>
......@@ -175,7 +166,6 @@ export default {
typeList:[],
width: 0,
nowPage: 1,
total: 0,
limit: 20,
list: [],
goods_id: null,
......@@ -273,7 +263,6 @@ export default {
];
}
},
propertyList: [],
spanArr: [],
contentSpanArr: [],
searchFrom: {
......@@ -300,6 +289,10 @@ export default {
},
components: { page },
methods: {
periodName(row) {
//return `【${row.goods_id}】${row.periods_title}${row.watch_num}课时(${row.start_at.slice(5).replace('-', '')})-d${this.title.has_watch_num}`
//return `【${row.goods_id}】${row.periods_title}${row.watch_num}课时(${row.start_at.slice(5).replace('-', '')})`
},
seachData() {
this.total = 0;
this.nowPage = 1;
......
<template>
<el-dialog :visible.sync="newIntegral.show" width="800px" center :title="newIntegral.id ? '修改兑换码' : '生成兑换码'">
<el-form label-width="150px" :model="newIntegral" ref="newIntegral">
<el-form-item label="名称"
prop="name"
<el-form-item label="名称" prop="name"
:rules="[{ required: true, message: '请输入名称', trigger: 'blur' }]">
<el-row :gutter="20">
<el-col :span="20">
<el-input v-model="newIntegral.name"/>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="商品"
prop="goods_id"
<el-form-item label="商品" prop="goods_id"
:rules="[{ required: true, message: '请选择商品', trigger: 'change' }]">
<el-row :gutter="20">
<el-col :span="20">
<el-select v-model="newIntegral.goods_id" filterable>
<el-option v-for="data in goodsList" :key="data.id" :label="`【${data.id}】${data.name}`" :value="data.id"/>
</el-select>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="招生来源">
<el-select v-model="newIntegral.source" placeholder="请选择" filterable>
<el-form-item label="活动方案">
<el-select
v-model="newIntegral.source"
:prop-class="'refresh-select-multi width-480'"
style="width: 480px" placeholder="请选择" filterable>
<el-option
v-for="(data,index) in classSource"
:key="index"
......@@ -31,20 +24,12 @@
</el-option>
</el-select>
</el-form-item >
<el-form-item label="数量"
prop="num"
<el-form-item label="数量" prop="num"
:rules="[{ required: true, message: '请输入数量', trigger: 'blur' }]">
<el-row :gutter="20">
<el-col :span="20">
<el-input-number v-model="newIntegral.num"/>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="失效时间"
prop="expire_at"
<el-form-item label="失效时间" prop="expire_at"
:rules="[{ required: true, message: '请选择失效时间', trigger: 'change' }]">
<el-row :gutter="20">
<el-col :span="20">
<el-date-picker
v-model="newIntegral.expire_at"
type="datetime"
......@@ -53,23 +38,16 @@
:picker-options="pickerOptions0"
placeholder="选择日期">
</el-date-picker>
</el-col>
</el-row>
</el-form-item>
<el-form-item label="备注"
prop="desc"
<el-form-item label="备注" prop="desc"
:rules="[{ required: true, message: '请填写备注信息', trigger: 'blur' }]">
<el-row :gutter="20">
<el-col :span="20">
<el-input v-model="newIntegral.desc"/>
</el-col>
</el-row>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<div slot="footer" class="dialog-footer">
<el-button @click="newIntegral.show = false">取 消</el-button>
<el-button type="primary" @click="onAdd">确 定</el-button>
</span>
</div>
</el-dialog>
</template>
......
......@@ -14,42 +14,21 @@
<el-button type="success" plain @click="addIntegral" v-if="!$store.state.readonly">生成兑换码</el-button>
</el-form-item>
</el-form>
<el-table
:data="list"
size="small"
style="width: 100%">
<el-table-column
prop="name"
label="名称">
</el-table-column>
<el-table-column
prop="goods_name"
label="商品">
<el-table :data="list" size="small">
<el-table-column prop="name" label="名称"></el-table-column>
<el-table-column prop="goods_name" label="商品">
<template slot-scope="scope">
{{scope.row.goods_id}}{{scope.row.goods_name}}
</template>
</el-table-column>
<el-table-column
prop="num"
label="数量">
</el-table-column>
<el-table-column prop="source" label="招生来源">
<el-table-column prop="num" label="数量" width="80px"></el-table-column>
<el-table-column prop="source" label="活动方案">
<template slot-scope="scope">{{scope.row.source | classSourceFilter}}</template>
</el-table-column>
<el-table-column
prop="desc"
label="备注"
/>
<el-table-column
prop="expire_at"
label="失效时间"
/>
<el-table-column
prop="created_at"
label="创建时间"
/>
<el-table-column
label="操作" width="180">
<el-table-column prop="desc" label="备注"/>
<el-table-column prop="expire_at" label="失效时间" width="90px"/>
<el-table-column prop="created_at" label="创建时间" width="90px"/>
<el-table-column label="操作" width="180">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="onDetail(scope.row)">查看详情</el-button>
<el-button type="warning" size="mini" v-if="!$store.state.readonly" @click="onEdit(scope.row)">编辑</el-button>
......
......@@ -74,7 +74,7 @@
{{scope.row.status == 0 ? '在职' : '离职'}}
</template>
</el-table-column>
<el-table-column label="操作" v-if="!$store.state.readonly">
<el-table-column label="操作" v-if="!$store.state.readonly" width="100">
<template slot-scope="scope">
<el-button size="mini" plain type="primary" @click="onEdit(scope.row)">编辑</el-button>
</template>
......
......@@ -139,43 +139,20 @@
</el-table>
</template>
</el-table-column>
<el-table-column
prop="periods_title"
label="期数名称">
</el-table-column>
<el-table-column
prop="class_name"
label="班级名称">
</el-table-column>
<el-table-column
prop="join_num"
label="已进班人数">
</el-table-column>
<el-table-column
prop="need_add_teacher_num"
label="需加好友数">
</el-table-column>
<el-table-column
prop="max_join_num"
label="最大班级人数">
</el-table-column>
<el-table-column
prop="start_at"
label="开课时间">
</el-table-column>
<el-table-column
prop="source"
label="招生来源">
<el-table-column prop="periods_title" label="期数名称"></el-table-column>
<el-table-column prop="class_name" label="班级名称"></el-table-column>
<el-table-column prop="join_num" label="已进班人数" width="90px"></el-table-column>
<el-table-column prop="need_add_teacher_num" label="需加好友数" width="90px"></el-table-column>
<el-table-column prop="max_join_num" label="最大班级人数" width="105px"></el-table-column>
<el-table-column prop="start_at" label="开课时间" width="110px"></el-table-column>
<el-table-column prop="source" label="活动方案">
<template slot-scope="scope">
{{scope.row.source | classSource}}
</template>
</el-table-column>
<el-table-column
label="操作" width="280">
<el-table-column label="操作" width="100">
<template slot-scope="scope">
<el-button @click="showUser(scope.row)" size="mini" plain type="primary">
班级成员
</el-button>
<el-button @click="showUser(scope.row)" size="mini" plain type="primary">班级成员</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -12,8 +12,7 @@
</el-form-item>
<el-form-item label="商品名称">
<el-select v-model="searchFrom.goods_id" placeholder="请选择" filterable style="width: 150px" @change="getList" clearable>
<el-option v-for="(data,index) in goodList" :key="index" :label="data | filterGoods" :value="data.id">
</el-option>
<el-option v-for="(data,index) in goodList" :key="index" :label="data | filterGoods" :value="data.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="来源" class="test">
......@@ -23,8 +22,7 @@
</el-form-item>
<el-form-item label="订单状态">
<el-select multiple v-model="searchFrom.status" style="width: 230px" placeholder="请选择" @change="getList" clearable>
<el-option v-for="item in orderStatusOption" :key="item.id" :label="item.value" :value="item.id">
</el-option>
<el-option v-for="item in orderStatusOption" :key="item.id" :label="item.value" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="沟通情况">
......@@ -53,6 +51,19 @@
<el-form-item label="子订单号">
<el-input v-model="searchFrom.sub_order_id"></el-input>
</el-form-item>
<el-form-item label="活动方案">
<el-select
v-model="searchFrom.class_source" placeholder="请选择" filterable
@change="getList" style="width: 320px" clearable
:popper-class="'refresh-select-multi width-320'">
<el-option
v-for="(data,index) in activityPlan"
:key="index"
:label="data.name"
:value="data.type">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="下单时间">
<el-date-picker
v-model="searchFrom.createTime"
......@@ -102,8 +113,7 @@
:onSuccess="fileSuccess"
:headers="uploadHeader"
:data="{param_token:param_token}"
action="/api/admin/order/import"
>
action="/api/admin/order/import">
<el-button type="primary" plain>导入</el-button>
</el-upload>
</el-form-item>
......@@ -120,22 +130,15 @@
<div style="position: absolute;top: 10px;right: 10px;font-size: 14px" v-if="$store.state.distribution">
老师:
<el-select size="small" v-model="teacherId" placeholder="请选择" clearable style="width: 150px" filterable>
<el-option label="暂不分配" value="0">
</el-option>
<el-option v-for="(data,index) in teacherList" :key="index" :label="data.name" :value="data.id">
</el-option>
<el-option label="暂不分配" value="0"></el-option>
<el-option v-for="(data,index) in teacherList" :key="index" :label="data.name" :value="data.id"></el-option>
</el-select>
<el-button size="small" type="success" @click="pullAll">批量分配</el-button>
<el-button size="small" type="primary" @click="initOeder">手动添加外部订单</el-button>
</div>
</div>
<el-table :data="list" size="mini" style="width: 100%"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
:selectable="selectedFlag"
width="55">
</el-table-column>
<el-table :data="list" size="mini" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" :selectable="selectedFlag" width="40"></el-table-column>
<el-table-column prop="order_id" width="80" label="订单号">
<template slot-scope="scope">
<p>主订单号:{{scope.row.order_id}}</p>
......@@ -146,13 +149,11 @@
</el-table-column> -->
<el-table-column prop="nickname" label="购买人">
<template slot-scope="scope">
<div v-if='scope.row.user_id !== 0' >
<div v-if='scope.row.user_id !== 0'>
<img class="avatar" :src="scope.row.avatar" />
<div>{{scope.row.nickname}}<br>(ID:{{scope.row.user_id}})</div>
</div>
<div v-if='scope.row.user_id === 0'>
暂未绑定用户
</div>
<div v-if='scope.row.user_id === 0'>用户未绑定</div>
</template>
</el-table-column>
<el-table-column prop="periods_title" label="期数">
......@@ -166,7 +167,7 @@
</el-table-column>
<el-table-column prop="teacher_name" label="班级老师">
</el-table-column>
<el-table-column prop="class_source" width="80" label="招生来源">
<el-table-column prop="class_source" width="80" label="活动方案">
<template slot-scope="scope">
{{scope.row.class_source|classType}}
</template>
......@@ -186,12 +187,12 @@
<template slot-scope="scope">
姓名:{{scope.row.receiver_name}}
<br>
tel{{scope.row.receiver_phone}}
电话{{scope.row.receiver_phone}}
<br>
{{scope.row.receiver_province}} {{scope.row.receiver_city}} {{scope.row.receiver_area}} {{scope.row.receiver_address}}
</template>
</el-table-column>
<el-table-column prop="active_at" label="时间" width="190">
<el-table-column prop="active_at" label="时间" width="200">
<template slot-scope="scope">
<p>激活时间:{{scope.row.active_at === '0000-00-00 00:00:00'?'未激活':scope.row.active_at}}</p>
<p>下单时间:{{scope.row.create_time}}</p>
......@@ -205,12 +206,12 @@
</el-table-column>
<el-table-column class="editBox" label="操作" fixed="right" v-if="!$store.state.readonly" width="130">
<template slot-scope="scope">
<div class="cell-btn-vertical">
<el-button @click="initClearOtherOrder(scope.row.order_id)" size="mini" plain type="primary">清除激活信息</el-button>
<el-button @click="editNote(scope.row.id, scope.row.desc)" size="mini" plain type="primary">编辑备注</el-button>
<el-button @click="onRefund(scope.row.id, scope.row.money)" type="warning" plain size="mini" v-if="(scope.row.status === 1 || scope.row.status === 4|| scope.row.status === 5) && $store.state.orderRefund">
退款
</el-button>
<el-button @click="onRefund(scope.row.id, scope.row.money)" type="warning" plain size="mini" v-if="(scope.row.status === 1 || scope.row.status === 4|| scope.row.status === 5) && $store.state.orderRefund">退款</el-button>
<el-button @click="editAdress(scope.row)" v-if="!$store.state.readonly" size="mini" plain type="success">编辑地址</el-button>
</div>
</template>
</el-table-column>
</el-table>
......@@ -350,6 +351,7 @@ export default {
sing: "singsingenglish21000"
};
return {
activityPlan: [],
adressDialog:false,
postOtherOrderDialog:false,
postOtherOrderData:{},
......@@ -399,17 +401,15 @@ export default {
nowPage: 1,
total: 0,
limit: 10,
useTypeList: [
{
useTypeList: [{
user_buy: 0,
value: "未绑定"
},
{
}, {
user_buy: 1,
value: "已绑定"
}
],
}],
searchFrom: {
class_source: '',
goods_id: "",
mobile: "",
active_at:[],
......@@ -489,6 +489,7 @@ export default {
this.getGoodsOption();
this.getTeacherList();
getSourceStudentApi().then(res=>{
this.activityPlan = res;
let obj = {}
res.forEach((item,index)=>{
obj[item.type]=item.name
......@@ -739,10 +740,11 @@ export default {
json.active_start_at = this.searchFrom.active_at[0];
json.active_end_at = this.searchFrom.active_at[1]
}
if (this.searchFrom.pullTime&&this.searchFrom.pullTime.length === 2){
if (this.searchFrom.pullTime && this.searchFrom.pullTime.length === 2) {
json.pay_start_at = this.searchFrom.pullTime[0];
json.pay_end_at = this.searchFrom.pullTime[1];
}
this.searchFrom.class_source ? json.class_source = this.searchFrom.class_source : '';
getyunjiApi(json).then(res => {
this.total = res.total;
this.list = res.list ? res.list : [];
......@@ -844,20 +846,21 @@ export default {
};
</script>
<style scoped>
<style lang="less" scoped>
.sms {
padding: 20px 0;
}
.el-button+.el-button{
.cell-btn-vertical {
.el-button+.el-button{
margin-left: 0;
margin-top: 10px;
}
}
.avatar {
width: 50px;
min-width: 50px;
margin-right: 10px;
height: 50px;
border-radius: 50%;
}
</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