Commit a6537e36 authored by 罗超's avatar 罗超

1

parent ee2c7cab
......@@ -12,7 +12,7 @@ export default {
<style>
@import url('~assets/css/font.css');
@import url('//at.alicdn.com/t/font_2077629_tknu7rklxe.css');
@import url('//at.alicdn.com/t/font_2077629_gab1nkk31vv.css');
.q-scrollarea__thumb{
z-index: 999999!important;
}
......
......@@ -237,7 +237,7 @@
<div class="replayReason">
<div class="replay_Title">停课原因</div>
<div style="color:#666666;margin-top:5px;">
{{setingObj.DataObj.Remarks}}
{{setingObj.DataObj.Remarks||'无'}}
</div>
</div>
<!-- <template v-if="setingObj.SpecialNode==1">
......
......@@ -195,9 +195,9 @@
class="sticky-column-table" separator="none" :data="setingObj.DataObj.ClassPlanTimeList"
:columns="columns" row-key="name">
<template v-slot:body-cell-time="props">
<td class="flex items-center full-height" style="height:100%">
<q-td >
{{props.row.StartTime}}-{{props.row.EndTime}}
</td>
</q-td>
</template>
<template v-slot:bottom>
</template>
......@@ -221,7 +221,7 @@
<div class="replayReason">
<div class="replay_Title">申请原因</div>
<div style="color:#666666;margin-top:5px;">
{{setingObj.DataObj.Remarks}}
{{setingObj.DataObj.Remarks||'无'}}
</div>
</div>
<div v-if="showType==2">
......
......@@ -74,9 +74,9 @@
</q-item>
</template>
</q-select>
<q-input filled v-model="msg.GuestName" clearable class="col-6" label="学员姓名" maxlength="200">
<template v-slot:append>
<q-icon name="search" @click="getNotClassStudentList" @keyup.enter="getNotClassStudentList" />
<q-input filled v-model="msg.GuestName" clearable class="col-6" label="学员姓名" maxlength="200" @clear="getNotClassStudentList">
<template v-slot:append >
<q-icon name="search" style="cursor:pointer;" @click="getNotClassStudentList"/>
</template>
</q-input>
</div>
......@@ -199,7 +199,13 @@
},
stuList: [],
selectedStu: [],
stuColumns: [{
stuColumns: [
{
name: 'Id',
label: '编号',
field: 'Id',
align: 'left'
},{
name: 'GuestName',
label: '姓名',
field: 'GuestName',
......@@ -372,7 +378,6 @@
OrderGuestIds: stuIds,
Remarks: this.msg.Remarks
}
console.log(366,obj)
this.saveLoading = true
setStuInviteApply(obj).then(res => {
this.saveLoading = false
......@@ -394,7 +399,7 @@
})
}
}).catch(err => {
this.saveLoading = true
this.saveLoading = flase
})
}
},
......
<style>
li {
list-style-type: none;
}
.activeType ul {
padding: 0px;
}
.activeType li {
background: rgba(221, 222, 224, 0.2);
border-radius: 4px;
margin-top: 15px;
}
.activeType li .dline {
display: table;
width: 100%;
display: flex;
flex-direction: row;
}
.activeType li .d1,
.activeType li .d2,
.activeType li .d3,
.activeType li .d4,
.activeType li .d5 {
width: 18%;
padding: 20px 20px 10px;
}
.activeType li .d7 {
flex: 1;
width: 1px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.activeType li .d1 .di-title {
font-size: 16px;
color: #111111;
}
.activeType li .d1 .di-c {
font-size: 14px;
display: flex;
line-height: 28px;
color: #111111;
}
.activeType li .d6 {
padding: 10px 20px;
width: 100%;
height: inherit;
position: relative;
border-top: 1px solid #dddee0;
}
.activeType li .d6 .progress {
width: 100%;
height: 5px;
position: absolute;
left: 0;
bottom: 0;
}
.activeType li .d2 div {
margin: 2px 0;
font-size: 14px;
color: #111111;
}
.activeType li .d2-n {
font-size: 12px;
color: #999999;
margin-right: 20px;
}
.activeType li .d3 .d3-s {
color: var(--q-color-negative);
font-weight: bold;
}
.activeType li .d3 div {
margin: 2px 0;
font-size: 14px;
}
.activeType li .d4 div {
font-size: 14px;
color: #111111;
margin: 2px 0;
}
.activeType li .d5 div {
font-size: 14px;
color: #111111;
margin: 2px 0;
}
.activeType .myCourseNName {
width: 25px;
height: 25px;
border-radius: 50%;
color: #fff !important;
text-align: center;
line-height: 25px;
background-color: #004d40;
}
.activeType .app-image {
background-position: center center;
width: 50px;
height: 50px;
border-radius: 0%;
float: left;
margin-right: 8px;
}
.Sysuser_Date .el-input {
width: 100%;
border: none;
background-color: transparent;
}
.Sysuser_Date .el-input__inner {
width: 100%;
border: none;
background-color: transparent;
}
.syster_qDropdown .q-btn__wrapper {
padding: 0 3px;
min-height: 0 !important;
}
</style>
<template>
<div class="page-body activeType">
<div class="page-search row items-center flex">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input @input="resetSearch" clearable standout="bg-primary text-white" v-model="msg.ActivityName"
label="活动名称" @clear="resetSearch" maxlength="20" />
</div>
<div class="col-3 Sysuser_Date">
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="msg.SelectStartTimeStr" type="date" placeholder="选择开始日期"
value-format="yyyy-MM-dd" @change="resetSearch">
</el-date-picker>    
</template>
</q-field>
</div>
<div class="col-3 Sysuser_Date">
<q-field filled>
 <template v-slot:control>
<el-date-picker v-model="msg.SelectEndTimeStr" type="date" placeholder="选择结束日期" value-format="yyyy-MM-dd"
@change="resetSearch">
</el-date-picker>    
</template>
</q-field>
</div>
<div class="col-3 ">
<q-select @input="resetSearch" standout="bg-primary text-white" v-model="msg.SelectIsEnd"
class="col-6 q-pr-lg q-pr-lg" :options="statusOpts" emit-value map-options label="状态"
/>
</div>
</div>
</div>
<div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
class="sticky-tow-column-table sticky-right-column-table" separator="none" :data="data" :columns="columns"
row-key="name">
<template v-slot:top="props">
<div class="col-2 q-table__title">活动列表</div>
<q-space />
<div class="page-option">
<q-btn color="accent" size="sm" class="q-mr-md" icon="add" label="新增"
@click="goUrl('/activity/activeDetail',null)" />
</div>
</template>
<template v-slot:body-cell-activeName="props">
<q-td :props="props">
<div style="display:flex;align-items:center">
<div class="app-image"
:style="{backgroundImage:'url(' + props.row.CoverImg + ')',backgroundSize:'cover'}">
</div>
{{props.row.ActivityName}}
</div>
</q-td>
</template>
<template v-slot:body-cell-ActivityTime="props">
<q-td :props="props">
<div>
<div>活动时间:</div>
<div>{{props.row.StartTimeStr}}~{{props.row.EndTimeStr}}</div>
<div>报名时间:</div>
<div>{{props.row.SignStartTimeStr}}</div>
<div>{{props.row.SignEndTimeStr}}</div>
</div>
</q-td>
</template>
<template v-slot:body-cell-AgeAndPeopleNum="props">
<q-td :props="props">
<div>
<!-- <div>{{props.row.AgeLimit ==1?'不区分年龄':'区分年龄'}}</div>
<div v-if="props.row.AgeLimit==0">范围:{{props.row.StartAge}}岁~{{props.row.EndAge}}</div>-->
<!-- <div>报名人数</div> -->
<div v-if="props.row.Distinguish ==1">总人数:{{props.row.ManNum}}</div>
<div v-if="props.row.Distinguish ==0">男性:{{props.row.ManNum}}<span
style="margin-left:10px">女性:{{props.row.WoManNum}}</span> </div>
<div >
已报入:{{props.row.JoinNum}}
</div>
</div>
</q-td>
</template>
<template v-slot:body-cell-activePrice="props">
<q-td :props="props">
<div>
<div v-if="props.row.IsFree==1" style="color:green;">免费</div>
<div v-if="props.row.IsFree==2" style="color:red;">现金价格:{{props.row.Price}}</div>
<!-- <div v-if="props.row.IsFree==2" style="color:red;">现金点数:{{props.row.PointNum}}</div> -->
<div>报名取消确认:{{props.row.IsCancelConfirm==1?'是':'否'}}</div>
<div>内部限制:{{props.row.IsCancelConfirm==1?'是':'否'}}</div>
</div>
</q-td>
</template>
<template v-slot:body-cell-LocationName="props">
<q-td :props="props">
<div style="width:200px;white-space: pre-line;">
{{props.row.LocationName}}
</div>
</q-td>
</template>
<!-- <template v-slot:body-cell-JoinNum="props">
<q-td :props="props">
<div>
{{props.row.JoinNum}} 人
</div>
</q-td>
</template> -->
<template v-slot:body-cell-optioned="props">
<q-td :props="props">
<div>
<q-btn flat size="xs" color="accent" style="font-weight:400" label="复制"
@click="goUrl('/activity/copyActive',props.row)" />
<!-- <q-btn flat size="xs" icon="edit"
color="accent" style="font-weight:400" label="删除" @click="delActive(props.row)" /> -->
<q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;">
<q-list>
<q-item clickable v-close-popup @click="delActive(props.row)">
<q-item-section>
<q-item-label>删除</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="goUrl1('/activity/activeSignUpList',props.row)">
<q-item-section>
<q-item-label>报名列表</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="goUrl('/activity/payment',props.row)">
<q-item-section>
<q-item-label>活动收支</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="goUrl('/activity/activeDetail',props.row)">
<q-item-section>
<q-item-label>活动详情</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="goUrl('/activity/activeSummary',props.row)"
v-if="props.row.ActivityStatus==2">
<q-item-section>
<q-item-label>活动总结</q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-close-popup @click="goUrl('/activity/materialMan',props.row)"
v-if="props.row.ActivityStatus==2">
<q-item-section>
<q-item-label>活动图片与视频</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</div>
</q-td>
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
</template>
</q-table>
</div>
<!-- 新增修改活动类型 -->
<!-- <ActiveForm v-if="showForm" @close="closeruleset" :save-obj="typeObj" :activeTypeOptions="activityTypeList" @success="resetSearch">
</ActiveForm> -->
</div>
</template>
<script>
import ActiveForm from '../../components/activity/active-from'
export default {
meta: {
title: "活动列表"
},
components: {
ActiveForm
},
data() {
return {
data: [],
loading: true,
msg: {
pageIndex: 1,
pageSize: 10,
ActivityName: '',
SelectStartTimeStr: "",
SelectEndTimeStr: "",
SelectIsEnd: -1,
rowsPerPage: 10
},
pageCount: 0,
statusOpts: [{
label: "全部",
value: -1
},
{
label: "未开始",
value: 0
},
{
label: "已结束",
value: 1
},
{
label: "进行中",
value: 2
},
],
columns: [{
name: "Id",
label: "编号",
field: "Id",
align: "left",
required: true,
},
{
name: "activeName",
label: "活动名称",
align: "left",
required: true,
},
{
name: "ActivityTypeName",
label: "活动类型",
align: "left",
field: "ActivityTypeName"
},
{
name: "ActivityTime",
label: "活动时间",
align: "left"
},
{
name: "AgeAndPeopleNum",
label: "总人数/已报入",
align: "left"
},
{
name: "activePrice",
label: "活动费用",
align: "left"
},
{
name: "LocationName",
label: "位置",
field: "LocationName",
align: "left",
style: "width:100px"
},
{
name: "activeStutes",
label: "活动状态",
field: "ActivityStatusStr",
align: "left"
},
// {
// name: "JoinNum",
// label: "报名人数",
// field:"JoinNum",
// align: "left"
// },
{
name: 'optioned',
label: '操作',
required: true,
align: "left"
}
],
// //报名列表
// dialogTableVisible: false, //是否显示弹窗
// joinData: [], //报名信息
// joinMsg: {
// LinkMan: '',
// EnrollState: 1,
// ActivityId: 0
// },
showForm: false,
typeObj: {}
}
},
mounted() {
this.getList();
},
methods: {
// getItem(item) {
// this.joinMsg.ActivityId = item.Id;
// this.getJoinData();
// },
getList() {
this.loading = true;
this.apipostDS("/api/Education/GetActivityPage", this.msg, (res) => {
this.loading = false
if (res.data.resultCode === 1) {
this.data = res.data.data.pageData;
this.pageCount = res.data.data.pageCount;
}
})
},
delActive(item) {
let that = this;
that.Confirm("是否删除?", function () {
that.apipostDS(
"/api/Education/RemoveActivity", {
Id: item.Id,
Status: 1
},
res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.getList();
} else {
that.Error(res.data.message);
}
},
);
})
},
//刷新页面
refreshPage() {
this.showForm = false;
this.getList();
},
//显示修改
editQuotation(item) {
this.showForm = true;
if (item) {
this.typeObj = item;
} else {
this.typeObj = {};
}
},
//重新查询
resetSearch() {
this.msg.pageIndex = 1;
this.getList();
},
//翻页
changePage(val) {
this.msg.pageIndex = val;
this.getList()
},
//关闭弹窗
closeruleset() {
this.showForm = false;
},
goUrl(url, item) {
if (item) {
this.$router.push({
path: url,
query: {
Id: item.Id
}
})
} else {
this.$router.push({
path: url,
query: {
Id: 0
}
})
}
},
goUrl1(url,item){
this.$router.push({
path: url,
query: {
Id: item.Id,
name:item.ActivityName
}
})
}
}
}
</script>
<style lang="sass">
@import url('~assets/css/table.sass')
</style>
......@@ -1022,6 +1022,10 @@ const routes = [{
path: "/teacher/teacherSchedule",
component: () =>
import("pages/teacher/teacherSchedule")
}, {
path: "/stuMan/activeList",//学管 活动列表
component: () =>
import("pages/stuMan/activeList")
}
],
......
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