Commit 5bb62fd3 authored by 赵茹林's avatar 赵茹林

期数名称

parent e9d96da5
......@@ -10,7 +10,8 @@
</head>
<body>
<!-- 先引入 Vue -->
<script src="https://lib.baomitu.com/vue/2.5.17/vue.min.js"></script>
<!--<script src="https://lib.baomitu.com/vue/2.5.17/vue.min.js"></script>-->
<script src="https://lib.baomitu.com/vue/2.5.17/vue.js"></script>
<script src="https://lib.baomitu.com/vuex/3.0.1/vuex.min.js"></script>
<!-- 引入组件库 -->
<script src="https://lib.baomitu.com/axios/0.18.0/axios.min.js"></script>
......
......@@ -200,10 +200,7 @@
<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">删除
</el-button>
<el-button @click="delStarListFn(scope.row)" type="warning" plain size="mini">删除</el-button>
</template>
</el-table-column>
</el-table>
......
......@@ -11,8 +11,7 @@
end-placeholder="结束日期"
:picker-options="{shortcuts:[today,yesterday,last7Day,last30Day]}"
:default-time="['00:00:00','23:59:59']"
@change="getList"
></el-date-picker>
@change="getList"></el-date-picker>
</el-form-item>
<el-form-item label="商品课时数">
<el-select
......@@ -21,14 +20,12 @@
placeholder="请选择"
style="width: 150px"
clearable
@change="selectChange"
>
@change="selectChange">
<el-option
v-for="(data,index) in watchList"
:key="index"
:label="data.title"
:value="data.id"
></el-option>
:value="data.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="渠道code">
......@@ -63,7 +60,13 @@
:row-class-name="tableRowClassName"
:span-method="arraySpanMethod">
<!--height="calc(100vh - 210px)"-->
<el-table-column prop="periods_title" align="center" min-width="80" fixed label="期数名称"></el-table-column>
<!--<el-table-column prop="periods_title" align="center" min-width="80" fixed label="期数名称"></el-table-column>-->
<el-table-column align="center" fixed label="期数名称" width="120px">
<template slot-scope="scope">
<div v-html="periodName(scope.row)"></div>
<!--{{periodName(scope.row)}}-->
</template>
</el-table-column>
<el-table-column prop="is_other" min-width="160" align="left" fixed label="渠道信息">
<template slot-scope="scope">
来源:{{scope.row.is_other==0?"内部":"外部"}}<br>
......@@ -178,6 +181,27 @@ export default {
};
},
methods: {
periodName(val) {
let str = '';
if (val.goods_id) {
str += `【${val.goods_id}】`
}
if (val.periods_title) {
str += `${val.periods_title}`
}
if (val.watch_num) {
str += `${val.watch_num}课时<br>`
} else {
str += `<br>`
}
if (val.start_at) {
str += `(${val.start_at.slice(5).replace('-', '')})`
}
if (val.has_watch_num || val.has_watch_num == 0) {
str += `-d${val.has_watch_num}`
}
return str
},
selectChange(value) {
this.searchFrom.watch_num = this.watchList[value].title;
this.getList();
......
......@@ -87,7 +87,13 @@
@sort-change="sortMethod"
:style="{width: width+'px'}"
fixed>
<el-table-column prop="periods_title" label="期数名称" ></el-table-column>
<!--<el-table-column prop="periods_title" label="期数名称"></el-table-column>-->
<el-table-column label="期数名称" width="170px">
<template slot-scope="scope">
<div v-html="periodName(scope.row)"></div>
<!--{{periodName(scope.row)}}-->
</template>
</el-table-column>
<el-table-column
prop="duration_over_at"
label="开课看课时间"
......@@ -134,12 +140,7 @@
</div>
</template>
<script>
import {
getPeriodsConversionListApi,
getGoodsListApi,
getPeriodsOtherListApi,
getTeacherListApi
} from "../../service/api";
import { getPeriodsConversionListApi, getGoodsListApi, getPeriodsOtherListApi, getTeacherListApi } from "../../service/api";
import page from "../framework/page";
import { GOODSTYPE, CLASSSOURCE } from "../../util/wordbook";
import { tipArr3 } from "../../util/tipArr";
......@@ -242,7 +243,6 @@ export default {
];
}
},
propertyList: [],
spanArr: [],
contentSpanArr: [],
searchFrom: {
......@@ -269,6 +269,27 @@ export default {
},
components: { page },
methods: {
periodName(val) {
let str = '';
if (val.goods_id) {
str += `【${val.goods_id}】`
}
if (val.periods_title) {
str += `${val.periods_title}<br>`
} else {
str += `<br>`
}
if (val.watch_num) {
str += `${val.watch_num}课时`
}
if (val.start_at) {
str += `(${val.start_at.slice(5).replace('-', '')})`
}
if (val.has_watch_num || val.has_watch_num == 0) {
str += `-d${val.has_watch_num}`
}
return str
},
rendertip(h, { column }) {
// console.log(h)
return h("span", [
......
......@@ -170,13 +170,7 @@
</div>
</template>
<script>
import {
getPeriodsConversionListApi,
getSourceConversionListApi,
getGoodsListApi,
getPeriodsOtherListApi,
getTeacherListApi
} from "../../service/api";
import { getPeriodsConversionListApi, getSourceConversionListApi, getGoodsListApi, getPeriodsOtherListApi, getTeacherListApi } from "../../service/api";
import page from "../framework/page";
import { GOODSTYPE, CLASSSOURCE,ORDERSTATUS } from "../../util/wordbook";
import { tipArr3 } from "../../util/tipArr";
......@@ -295,7 +289,6 @@ export default {
teacher_id: "",
periods_title: ""
},
propertyList: [],
watchList: [
{ id: 0, title: 5 },
{ id: 1, title: 6 },
......
<template>
<div class="sms">
<div class="admin-refresh sms">
<div class="section-search">
<el-form ref="searchFrom" :model="searchFrom" label-width="100px" inline size="small">
<el-form-item label="用户ID">
<el-input v-model="searchFrom.user_id" style="width: 80px"></el-input>
......@@ -16,13 +17,14 @@
</el-form-item>-->
<el-form-item label="期数">
<el-cascader
:popper-class="'refresh-cascader-multi width-480'"
style="width: 480px"
: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-select filterable v-model="searchFrom.theme_id" placeholder="请选择" clearable>
......@@ -50,49 +52,57 @@
:onSuccess="fileSuccess"
:headers="uploadHeader"
:data="{param_token:param_token}"
action="/api/admin/order/deliver/list/import"
>
action="/api/admin/order/deliver/list/import">
<el-button type="success" plain>导入发货信息</el-button>
</el-upload>
</el-form-item>
</el-form>
<el-tabs v-model="searchFrom.type" type="card" @tab-click="handleClick">
</div>
<el-tabs v-model="searchFrom.type" type="card" @tab-click="handleClick" style="padding-top: 10px;background-color: #fff">
<el-tab-pane label="当前待发货" name="0"></el-tab-pane>
<el-tab-pane label="所有待发货" name="1"></el-tab-pane>
<el-tab-pane label="所有已发货" name="2"></el-tab-pane>
</el-tabs>
<el-table :data="deliverList" size="mini" style="width: 100%">
<el-table-column width="220" class="f-c" label="用户">
<el-table-column width="200" class="f-c" label="用户">
<template slot-scope="scope">
<img class="avatar" :src="scope.row.user_avatar" />
<img style="vertical-align: top" class="avatar" :src="scope.row.user_avatar" />
<span style="display: inline-block;">
{{scope.row.user_nickname}}
<br />
(ID:{{scope.row.user_id}})
<br />
手机:{{scope.row.user_mobile}}
</span>
</template>
</el-table-column>
<el-table-column prop="address" label="收货地址">
<template slot-scope="scope">
{{scope.row.receive_name}}
<br />
<br/>
{{scope.row.receive_mobile}}
<br />
<br/>
{{scope.row.province_name}}{{scope.row.city_name}}{{scope.row.area_name}}{{scope.row.address}}
</template>
</el-table-column>
<el-table-column prop="periods_title" label="期数名称"></el-table-column>
<!--<el-table-column prop="periods_title" label="期数名称"></el-table-column>-->
<el-table-column prop="periods_title" label="期数名称">
<template slot-scope="scope">
<div v-html="periodName(scope.row)"></div>
<!--{{periodName(scope.row)}}-->
</template>
</el-table-column>
<el-table-column prop="theme_name" label="主题"></el-table-column>
<el-table-column prop="deliver_start_at" label="预计发货开始时间"></el-table-column>
<el-table-column prop="deliver_end_at" label="预计发货结束时间"></el-table-column>
<el-table-column prop="deliver_at" label="发货时间"></el-table-column>
<el-table-column prop="deliver_start_at" label="预计发货开始时间" width="100px"></el-table-column>
<el-table-column prop="deliver_end_at" label="预计发货结束时间" width="100px"></el-table-column>
<el-table-column prop="deliver_at" label="发货时间" width="100px"></el-table-column>
<el-table-column prop="status" label="物流状态">
<template slot-scope="scope">
{{scope.row.status|LogisticsStatusFil}}
<br />
{{scope.row.status|LogisticsStatusFil}}<br/>
<span v-if="searchFrom.type==2">
名称:{{scope.row.express_name}}
<br />
名称:{{scope.row.express_name}}<br/>
单号:{{scope.row.express_no}}
</span>
</template>
......@@ -182,6 +192,27 @@ export default {
this.init();
},
methods: {
periodName(val) {
let str = '';
if (val.goods_id) {
str += `【${val.goods_id}】`
}
if (val.periods_title) {
str += `${val.periods_title}<br>`
} else {
str += `<br>`
}
if (val.watch_num) {
str += `${val.watch_num}课时`
}
if (val.start_at) {
str += `(${val.start_at.slice(5).replace('-', '')})`
}
if (val.has_watch_num || val.has_watch_num == 0) {
str += `-d${val.has_watch_num}`
}
return str
},
cancelEvent() {
this.showFlag = false;
},
......@@ -402,9 +433,6 @@ export default {
</script>
<style scoped>
.sms {
padding: 20px 0;
}
.el-button + .el-button {
margin-left: 0;
/* margin-top: 10px; */
......
......@@ -10,7 +10,7 @@
:span-method="arraySpanMethod">
<el-table-column min-width="180" prop="wait_join_num" align="left" fixed="left" label="期数总状况">
<template slot-scope="scope">
期数名称:{{scope.row.title}}
期数名称:{{scope.row.title=='合计' ? '合计' : periodName(scope.row)}}
<br />
开始时间:{{scope.row.start_at}}
<br />
......@@ -77,6 +77,25 @@ export default {
};
},
methods: {
periodName(val) {
let str = '';
if (val.goods_id) {
str += `【${val.goods_id}】`
}
if (val.title) {
str += `${val.title}`
}
if (val.watch_num) {
str += `${val.watch_num}课时`
}
if (val.start_at) {
str += `(${val.start_at.slice(5).replace('-', '')})`
}
if (val.has_watch_num || val.has_watch_num == 0) {
str += `-d${val.has_watch_num}`
}
return str
},
initPage() {
getPeriodsClassCurDataApi().then(res => {
this.list = res;
......
This diff is collapsed.
......@@ -35,12 +35,14 @@
</template>
</el-table-column>
<el-table-column prop="class_name" label="班级名称">
</el-table-column>
<el-table-column label="期数标题" prop="periods_name">
</el-table-column>
<el-table-column label="商品名称" prop="goods_name">
<el-table-column prop="class_name" label="班级名称"></el-table-column>
<el-table-column label="期数名称" prop="periods_name" width="170px">
<template slot-scope="scope">
<div v-html="periodName(scope.row)"></div>
<!--{{periodName(scope.row)}}-->
</template>
</el-table-column>
<el-table-column label="商品名称" prop="goods_name"></el-table-column>
<el-table-column label="手机号" prop="mobile">
</el-table-column>
<el-table-column prop="created_at" label="创建时间" sortable>
......@@ -54,19 +56,19 @@
</template>
</el-table-column>
</el-table>
<page :nowPage="nowPage" :total="total" @pageChange="onPageChange" @sizeChange="onSizeChange" />
<page :nowPage="nowPage" :total="total" @pageChange="onPageChange" @sizeChange="onSizeChange"/>
<entrance :entranceObj="entranceObj"/>
</div>
</template>
<script>
import entrance from "./entrance";
import { getClassConfigApi ,getGoodsListApi,updateDescApi,exportExcelApi } from "../../service/api";
import page from "../framework/page";
import entrance from "./entrance";
import {getClassConfigApi, getGoodsListApi, updateDescApi, exportExcelApi} from "../../service/api";
import page from "../framework/page";
import {GOODSTYPE} from "../../util/wordbook";
export default {
export default {
name: "notBuyClass",
data() {
return {
......@@ -78,21 +80,21 @@ export default {
title: "无需登录入口",
show: false
},
searchFrom:{
user_id:"",
goods_id:"",
mobile:"",
searchFrom: {
user_id: "",
goods_id: "",
mobile: "",
},
goodList:[],
goodList: [],
};
},
components: {
entrance,
page
},
filters:{
filterGoods(val){
return '[' + GOODSTYPE[val.goods_type] + ']' + '[' +val.current_price / 100 + '元]' + val.name
filters: {
filterGoods(val) {
return '[' + GOODSTYPE[val.goods_type] + ']' + '[' + val.current_price / 100 + '元]' + val.name
}
},
mounted() {
......@@ -101,6 +103,29 @@ export default {
},
methods: {
periodName(val) {
let str = '';
if (!val.periods_name) {
str = '-'
} else {
if (val.goods_id) {
str += `【${val.goods_id}】`
}
if (val.periods_name) {
str += `${val.periods_name}<br>`
}
if (val.watch_num) {
str += `${val.watch_num}课时`
}
if (val.start_at) {
str += `(${val.start_at.slice(5).replace('-', '')})`
}
if (val.has_watch_num || val.has_watch_num == 0) {
str += `-d${val.has_watch_num}`
}
}
return str
},
onPageChange(val) {
this.nowPage = val;
this.getList();
......@@ -116,29 +141,29 @@ export default {
page: this.nowPage
};
// 搜索筛选
if(this.searchFrom.user_id){
json.user_id=this.searchFrom.user_id
if (this.searchFrom.user_id) {
json.user_id = this.searchFrom.user_id
}
if(this.searchFrom.goods_id){
json.goods_id=this.searchFrom.goods_id
if (this.searchFrom.goods_id) {
json.goods_id = this.searchFrom.goods_id
}
if(this.searchFrom.nickname){
json.nickname=this.searchFrom.nickname
if (this.searchFrom.nickname) {
json.nickname = this.searchFrom.nickname
}
if(this.searchFrom.mobile){
json.mobile=this.searchFrom.mobile
if (this.searchFrom.mobile) {
json.mobile = this.searchFrom.mobile
}
getClassConfigApi(json).then(res => {
this.total = res.total;
this.configList=res.list;
this.configList = res.list;
});
},
getGoodsOption(){
getGoodsOption() {
let json = {
page: 1,
limit: 100
};
getGoodsListApi(json).then(res=>{
getGoodsListApi(json).then(res => {
this.goodList = res.list;
})
},
......@@ -146,15 +171,15 @@ export default {
this.$prompt('', '编辑备注', {
confirmButtonText: '确定',
cancelButtonText: '取消',
inputType:'textarea',
inputType: 'textarea',
inputValue: desc || ''
}).then(({ value }) => {
}).then(({value}) => {
this.$confirm('确定保存?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(()=>{
updateDescApi({desc: value},id).then(res=>{
}).then(() => {
updateDescApi({desc: value}, id).then(res => {
this.$message({
type: 'success',
message: '编辑备注成功'
......@@ -164,48 +189,51 @@ export default {
});
})
},
exportTable(){
exportTable() {
let json = {};
if(this.searchFrom.user_id){
json.user_id=this.searchFrom.user_id
if (this.searchFrom.user_id) {
json.user_id = this.searchFrom.user_id
}
if(this.searchFrom.goods_id){
json.goods_id=this.searchFrom.goods_id
if (this.searchFrom.goods_id) {
json.goods_id = this.searchFrom.goods_id
}
if(this.searchFrom.mobile){
json.mobile=this.searchFrom.mobile
if (this.searchFrom.mobile) {
json.mobile = this.searchFrom.mobile
}
if(this.searchFrom.nickname){
json.nickname=this.searchFrom.nickname
if (this.searchFrom.nickname) {
json.nickname = this.searchFrom.nickname
}
exportExcelApi('/api/admin/user/receive/course/log/export',json)
exportExcelApi('/api/admin/user/receive/course/log/export', json)
},
}
};
};
</script>
<style scoped lang="less">
.not_buy {
.not_buy {
.head {
margin-bottom: 10px;
}
width: 100%;
padding: 20px 0;
.page-div {
text-align: center;
padding-top: 20px;
}
}
}
.avatar {
width: 50px;
min-width:50px !important;
min-width: 50px !important;
height: 50px;
border-radius: 50%;
line-height:1;
line-height: 1;
}
</style>
<style>
.userInfo >div{
.userInfo > div {
display: flex;
flex-flow: row nowrap;
justify-content: flex-start;
......
This diff is collapsed.
......@@ -550,7 +550,7 @@
<style scoped lang="less">
@import "../../util/public";
.user{
height: 100%;
/*height: 100%;*/
overflow: auto;
padding: 20px 0;
.btn-content{
......
This diff is collapsed.
......@@ -25,7 +25,8 @@
<div class="title" style="width:8%">
<div class="header bg-h">期数</div>
<div>
{{data.title}}
<!--{{data.title}}-->
<div v-html="periodName(data)"></div>
</div>
</div>
<div class="over_work" style="background-color: #fffbe4">
......@@ -563,6 +564,29 @@
}
},
methods:{
periodName(val) {
let str = '';
if (!val.title) {
str = '-'
} else {
if (val.goods_id) {
str += `【${val.goods_id}】`
}
if (val.title) {
str += `${val.title}<br>`
}
if (val.watch_num) {
str += `${val.watch_num}课时`
}
if (val.start_at) {
str += `(${val.start_at.slice(5).replace('-', '')})`
}
if (val.has_watch_num || val.has_watch_num == 0) {
str += `-d${val.has_watch_num}`
}
}
return str
},
formatTime(date){
let year = date.getFullYear();
let Month = date.getMonth()+1;
......
This diff is collapsed.
......@@ -156,7 +156,12 @@
<div v-if='scope.row.user_id === 0'>用户未绑定</div>
</template>
</el-table-column>
<el-table-column prop="periods_title" label="期数">
<!--<el-table-column prop="periods_title" label="期数名称"></el-table-column>-->
<el-table-column prop="periods_title" label="期数名称" width="150px">
<template slot-scope="scope">
<div v-html="periodName(scope.row)"></div>
<!--{{periodName(scope.row)}}-->
</template>
</el-table-column>
<el-table-column prop="goods_name" label="商品名称">
</el-table-column>
......@@ -500,6 +505,29 @@ export default {
});
},
methods: {
periodName(val) {
let str = '';
if (!val.periods_title) {
str = '-'
} else {
if (val.goods_id) {
str += `【${val.goods_id}】`
}
if (val.periods_title) {
str += `${val.periods_title}<br>`
}
if (val.watch_num) {
str += `${val.watch_num}课时`
}
if (val.start_at) {
str += `(${val.start_at.slice(5).replace('-', '')})`
}
if (val.has_watch_num || val.has_watch_num == 0) {
str += `-d${val.has_watch_num}`
}
}
return str
},
initClearOtherOrder(id){
this.$confirm('确认清除?', '提示', {
confirmButtonText: '确定',
......
......@@ -1364,7 +1364,7 @@ export const getStaffRecordApi = function (json) {
// 系统配置设备
export const getTeacherTypeListApi = function (json) {
return Vue.prototype.$fetch(`${_baseUrl}api/admin/teacher/type/list`, json)
};
};
export const postTeacherTypeListApi = function (json) {
return Vue.prototype.$post(`${_baseUrl}api/admin/teacher/type/add`, json)
};
......@@ -1375,3 +1375,7 @@ export const postMediaConvertApi = function (json) {
return Vue.prototype.$post(`${_baseUrl}api/public/media/convert`, json)
};
///api/public/media/convert
// 最近更新时间
export const getUpdateTimeApi = function () {
return Vue.prototype.$fetch(`${_baseUrl}api/admin/get/report/time`)
};
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