Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
confucius
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
confucius
Commits
a6537e36
Commit
a6537e36
authored
Jul 20, 2021
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
ee2c7cab
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
543 additions
and
11 deletions
+543
-11
App.vue
src/App.vue
+1
-1
stopbill-form.vue
src/components/sale/stopbill-form.vue
+1
-1
temporaryClassbill-form.vue
src/components/sale/temporaryClassbill-form.vue
+3
-3
provisionalInviteForm.vue
src/components/teacher/provisionalInviteForm.vue
+11
-6
activeList.vue
src/pages/stuMan/activeList.vue
+523
-0
routes.js
src/router/routes.js
+4
-0
No files found.
src/App.vue
View file @
a6537e36
...
...
@@ -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
;
}
...
...
src/components/sale/stopbill-form.vue
View file @
a6537e36
...
...
@@ -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"
>
...
...
src/components/sale/temporaryClassbill-form.vue
View file @
a6537e36
...
...
@@ -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"
>
...
...
src/components/teacher/provisionalInviteForm.vue
View file @
a6537e36
...
...
@@ -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
=
tru
e
this
.
saveLoading
=
flas
e
})
}
},
...
...
src/pages/stuMan/activeList.vue
0 → 100644
View file @
a6537e36
<
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
>
src/router/routes.js
View file @
a6537e36
...
...
@@ -1022,6 +1022,10 @@ const routes = [{
path
:
"/teacher/teacherSchedule"
,
component
:
()
=>
import
(
"pages/teacher/teacherSchedule"
)
},
{
path
:
"/stuMan/activeList"
,
//学管 活动列表
component
:
()
=>
import
(
"pages/stuMan/activeList"
)
}
],
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment