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
6ae367e5
Commit
6ae367e5
authored
Jan 22, 2021
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
parents
a0cad821
42a9ef08
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
858 additions
and
82 deletions
+858
-82
class.js
src/api/course/class.js
+66
-3
fasong.png
src/assets/images/course/fasong.png
+0
-0
question-form.vue
src/components/question/question-form.vue
+3
-0
question-upload.vue
src/components/question/question-upload.vue
+9
-5
orderlist.vue
src/components/sale/orderlist.vue
+7
-7
MainLayout.vue
src/layouts/MainLayout.vue
+4
-4
achievements.vue
src/pages/course/achievements.vue
+1
-1
classHourReward.vue
src/pages/course/classHourReward.vue
+1
-1
course.vue
src/pages/course/course.vue
+6
-6
courseinfo.vue
src/pages/course/courseinfo.vue
+2
-2
lessonPreparation.vue
src/pages/course/lessonPreparation.vue
+242
-0
prepareclassDetails.vue
src/pages/course/prepareclassDetails.vue
+353
-0
question.vue
src/pages/course/question.vue
+11
-8
rewardDetailed.vue
src/pages/course/rewardDetailed.vue
+4
-4
teacherLesson.vue
src/pages/course/teacherLesson.vue
+134
-37
japaneseTrain.vue
src/pages/sale/japaneseTrain.vue
+4
-4
teacher.vue
src/pages/school/teacher.vue
+6
-0
routes.js
src/router/routes.js
+5
-0
No files found.
src/api/course/class.js
View file @
6ae367e5
...
...
@@ -156,7 +156,46 @@ export function GetTeacherPlan(data) {
data
})
}
/**
* 获取教案
*/
export
function
getClassLessPlan
(
data
)
{
return
request
({
url
:
"/Class/GetClassLessPlan"
,
method
:
'post'
,
data
})
}
/**
* 获取教案 评论列表
*/
export
function
getLessonCommentList
(
data
)
{
return
request
({
url
:
"/Class/GetLessonCommentList"
,
method
:
'post'
,
data
})
}
/**
* 获取教案 评论列表
*/
export
function
setLessonComment
(
data
)
{
return
request
({
url
:
"/Class/SetLessonComment"
,
method
:
'post'
,
data
})
}
/**
* 获取教案详情的 提交
*/
export
function
updateClassLessPlan
(
data
)
{
return
request
({
url
:
"/Class/UpdateClassLessPlan"
,
method
:
'post'
,
data
})
}
/**
* 教师课时奖励 分页列表
*/
...
...
@@ -262,7 +301,7 @@ export function setTeachingPerfFinance(data) {
/**
* 修改班级状态
* @param {JSON数据} data
* @param {JSON数据} data
*/
export
function
saveClassStatus
(
data
)
{
return
request
({
...
...
@@ -270,4 +309,28 @@ export function saveClassStatus(data) {
method
:
'post'
,
data
})
}
\ No newline at end of file
}
/**
* 获取老师教案
*/
export
function
GetClassLessPlan
(
data
)
{
return
request
({
url
:
'/Class/GetClassLessPlan'
,
method
:
'post'
,
data
});
}
/**
* 新增老师教案
*/
export
function
SetClassLessPlan
(
data
)
{
return
request
({
url
:
'/Class/SetClassLessPlan'
,
method
:
'post'
,
data
});
}
\ No newline at end of file
src/assets/images/course/fasong.png
0 → 100644
View file @
6ae367e5
3.53 KB
src/components/question/question-form.vue
View file @
6ae367e5
...
...
@@ -286,6 +286,7 @@
SortNum
:
0
,
//排序
Answer
:
""
,
//问题JSON
IsMutex
:
0
,
//填空题(答案顺序打乱也判正确)
Category
:
0
,
//大类
},
AnswerList
:
[],
optionTitle
:
""
,
...
...
@@ -399,6 +400,7 @@
this
.
objOption
.
IsMutex
=
res
.
Data
.
IsMutex
;
this
.
questionObj
.
Key
=
res
.
Data
.
QuestionTypeKey
;
this
.
questionObj
.
QId
=
res
.
Data
.
QuestionTypeId
;
this
.
objOption
.
Category
=
res
.
Data
.
Category
;
if
(
res
.
Data
.
QuestionContentObj
)
{
this
.
AnswerList
=
res
.
Data
.
QuestionContentObj
;
this
.
objOption
.
QuestionContent
=
JSON
.
stringify
(
res
.
Data
.
QuestionContentObj
);
...
...
@@ -423,6 +425,7 @@
this
.
objOption
.
SortNum
=
0
;
this
.
objOption
.
Answer
=
''
;
this
.
objOption
.
IsMutex
=
0
;
this
.
objOption
.
Category
=
0
;
}
},
//关闭弹窗
...
...
src/components/question/question-upload.vue
View file @
6ae367e5
...
...
@@ -3,16 +3,20 @@
</
style
>
<
template
>
<q-dialog
v-model=
"persistent"
persistent
content-class=
"bg-grey-1"
transition-show=
"scale"
transition-hide=
"scale"
>
<q-card
style=
"width: 1400px;m
ax-width:900px;m
in-height:100px;"
>
<q-card
style=
"width: 1400px;min-height:100px;"
>
<q-card-section>
<div
class=
"text-h6"
>
{{
importType
==
1
?
'模板导入(EXCEL)'
:
'智能导入(WORD)'
}}
<a
style=
"color:blue;cursor:pointer;float:right;margin-right:5px;text-decoration:none;"
:href=
"downLoadUrl"
<el-upload
class=
"upload-demo"
action=
""
style=
"display:inline-block;margin-left:80px;"
:accept=
"accept"
:show-file-list=
"false"
:http-request=
"UploadAttachment"
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
</el-upload>
<a
style=
"color:blue;font-size:14px;cursor:pointer;float:right;margin-right:5px;text-decoration:none;"
:href=
"downLoadUrl"
:download=
"downLoadName"
>
下载模板文件
</a>
</div>
</q-card-section>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<table>
<thead>
<
!--
<
thead>
<tr>
<td>
<el-upload
class=
"upload-demo"
action=
""
:accept=
"accept"
:show-file-list=
"false"
...
...
@@ -21,7 +25,7 @@
</el-upload>
</td>
</tr>
</thead>
</thead>
-->
<tr>
<td>
<template
v-for=
"(item,index) in questionData"
>
...
...
@@ -253,7 +257,7 @@
position
:
'top'
})
this
.
$emit
(
"success"
)
this
.
close
Sav
eForm
()
this
.
close
Cours
eForm
()
})
}
},
...
...
src/components/sale/orderlist.vue
View file @
6ae367e5
...
...
@@ -43,12 +43,12 @@
</td>
<td
style=
"border:none"
>
{{item.GuestNum}}人
</td>
<td
style=
"border:none"
>
{{item.Class_Price.toFixed(2)}}
</td>
<td
:style=
"{color:item.Class_Price!=item.Unit_Price?'
#f5576c
':'','border':'none'}"
>
<td
:style=
"{color:item.Class_Price!=item.Unit_Price?'
var(--q-color-negative)
':'','border':'none'}"
>
{{item.Unit_Price.toFixed(2)}}
</td>
<td
style=
"border:none"
>
{{item.PreferPrice.toFixed(2)}}
</td>
<td
style=
"border:none"
>
{{item.Income.toFixed(2)}}
</td>
<td
style=
"color:
#f5576c
;border:none"
>
{{item.DiscountMoney.toFixed(2)}}
</td>
<td
style=
"color:
var(--q-color-negative)
;border:none"
>
{{item.DiscountMoney.toFixed(2)}}
</td>
<td
style=
"border:none"
>
{{item.Refund.toFixed(2)}}
</td>
<td
style=
"color:#2961FE;border:none"
>
{{item.DueInMoney.toFixed(2)}}
</td>
<td
style=
"border:none"
>
...
...
@@ -137,7 +137,7 @@
<div
class=
"row"
v-if=
" item.GuestList.length>0&&getTkshow(item.GuestList)"
>
退课名单:
<span
v-for=
"(x,j) in item.GuestList"
:index=
"j"
v-if=
"x.GuestState==2"
style=
"color:
#f5576c
;margin-right: 5px"
>
{{x.GuestName}}
</span>
style=
"color:
var(--q-color-negative)
;margin-right: 5px"
>
{{x.GuestName}}
</span>
</div>
<span
v-if=
"item.GuestList.length==0"
>
暂无
</span>
</td>
...
...
@@ -299,12 +299,12 @@
</td>
<td
style=
"border:none"
>
{{item.GuestNum}}人
</td>
<td
style=
"border:none"
>
{{item.Class_Price.toFixed(2)}}
</td>
<td
:style=
"{color:item.Class_Price!=item.Unit_Price?'
#f5576c
':'','border':'none'}"
>
<td
:style=
"{color:item.Class_Price!=item.Unit_Price?'
var(--q-color-negative)
':'','border':'none'}"
>
{{item.Unit_Price.toFixed(2)}}
</td>
<td
style=
"border:none"
>
{{item.PreferPrice.toFixed(2)}}
</td>
<td
style=
"border:none"
>
{{item.Income.toFixed(2)}}
</td>
<td
style=
"color:
#f5576c
;border:none"
>
{{item.DiscountMoney.toFixed(2)}}
</td>
<td
style=
"color:
var(--q-color-negative)
;border:none"
>
{{item.DiscountMoney.toFixed(2)}}
</td>
<td
style=
"border:none"
>
{{item.Refund.toFixed(2)}}
</td>
<td
style=
"color:#2961FE;border:none"
>
{{item.DueInMoney.toFixed(2)}}
</td>
<td
style=
"border:none"
>
...
...
@@ -336,7 +336,7 @@
<div
class=
"row"
v-if=
" item.GuestList.length>0&&getTkshow(item.GuestList)"
>
退课名单:
<span
v-for=
"(x,j) in item.GuestList"
:index=
"j"
v-if=
"x.GuestState==2"
style=
"color:
#f5576c
;margin-right: 5px"
>
{{x.GuestName}}
</span>
style=
"color:
var(--q-color-negative)
;margin-right: 5px"
>
{{x.GuestName}}
</span>
</div>
<span
v-if=
"item.GuestList.length==0"
>
暂无
</span>
</td>
...
...
@@ -724,7 +724,7 @@
let
that
=
this
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
'<span style="color:
#f5576c
">是否取消此订单</span>'
,
message
:
'<span style="color:
var(--q-color-negative)
">是否取消此订单</span>'
,
cancel
:
true
,
persistent
:
true
,
html
:
true
,
...
...
src/layouts/MainLayout.vue
View file @
6ae367e5
...
...
@@ -137,8 +137,8 @@
v-if=
"secondNavs && secondNavs.length>0"
>
<div
class=
"full-width left-menu-box q-pt-md"
>
<div
class=
"is-show-menu-2"
@
click=
"changeLeft"
>
<a
v-if=
"!IsShowLeft"
><
<</
a
>
<a
v-else
class=
"is_Show_menu_3"
>
>>
</a>
<a
v-if=
"!IsShowLeft"
title=
"收起"
><
<</
a
>
<a
v-else
class=
"is_Show_menu_3"
title=
"展开"
>
>>
</a>
</div>
<q-list
style=
"width:180px;overflow:hidden"
>
<
template
v-for=
"(x,i) in secondNavs"
>
...
...
@@ -301,14 +301,14 @@
border-radius
:
10px
0
0
10px
;
padding
:
2px
8px
;
cursor
:
pointer
;
width
:
30px
;
/* width:30px; */
right
:
-1px
;
top
:
0px
;
z-index
:
999
;
}
.is_Show_menu_3
{
position
:
absolute
;
width
:
30px
;
/* width: 30px; */
background
:
#fff
;
color
:
#a1a4a9
;
border-radius
:
0
10px
10px
0
;
...
...
src/pages/course/achievements.vue
View file @
6ae367e5
...
...
@@ -649,7 +649,7 @@
}
.achievements
li
.d3
.d3-s
{
color
:
#f5576c
;
color
:
var
(
--q-color-negative
)
;
font-weight
:
bold
;
font-family
:
perfectFont
}
...
...
src/pages/course/classHourReward.vue
View file @
6ae367e5
...
...
@@ -67,7 +67,7 @@
</
template
>
<
template
v-slot:body-cell-Money=
"props"
>
<q-td
:props=
"props"
>
<span
style=
"color:
#f5576c
"
>
¥
{{
props
.
row
.
Money
.
toFixed
(
2
)
}}
</span>
<span
style=
"color:
var(--q-color-negative)
"
>
¥
{{
props
.
row
.
Money
.
toFixed
(
2
)
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-FrIdList=
"props"
>
...
...
src/pages/course/course.vue
View file @
6ae367e5
...
...
@@ -93,12 +93,12 @@
align
:
'left'
,
field
:
row
=>
row
.
CourseName
},
{
name
:
'CateName'
,
label
:
'所属分类'
,
field
:
'CateName'
,
align
:
'left'
},
//
{
//
name: 'CateName',
//
label: '所属分类',
//
field: 'CateName',
//
align: 'left'
//
},
{
name
:
'CoverImg'
,
label
:
'课程封面'
,
...
...
src/pages/course/courseinfo.vue
View file @
6ae367e5
...
...
@@ -85,7 +85,7 @@
<li
:class=
"
{'checkedLi':commonIndex==1}" @click="gotoPage('question',1)">
<i
class=
"iconfont icon-tiku"
></i>
题库
</li>
<li
:class=
"
{'checkedLi':commonIndex==2}" @click="gotoPage('teachplan',2)">
<
!--
<
li
:class=
"
{'checkedLi':commonIndex==2}" @click="gotoPage('teachplan',2)">
<i
style=
"font-size:20px;"
class=
"iconfont icon-PPT"
></i>
教案
</li>
<li
:class=
"
{'checkedLi':commonIndex==3}" @click="gotoPage('chapter',3)">
...
...
@@ -93,7 +93,7 @@
</li>
<li
:class=
"
{'checkedLi':commonIndex==4}" @click="gotoPage('coursejob',4)">
<i
class=
"iconfont icon-icon_zhangjielianxi"
></i>
作业
</li>
</li>
-->
</ul>
</div>
</q-list>
...
...
src/pages/course/lessonPreparation.vue
View file @
6ae367e5
<
style
>
.lessTop
{
color
:
#000000
;
font-weight
:
bold
;
font-size
:
14px
;
}
.Less_LeftIcon
{
background-color
:
#3FC4FF
;
width
:
2px
;
height
:
10px
;
}
.w260
{
width
:
260px
!important
;
}
.w180
{
width
:
180px
!important
;
}
.less_Time
{
color
:
#999999
;
font-size
:
13px
;
}
.teach_Content
{
color
:
#111111
;
font-size
:
14px
;
margin
:
20px
0
;
font-weight
:
bold
;
}
.add_Lesson
{
width
:
30px
;
height
:
30px
;
background-color
:
#2961FE
;
color
:
#fff
;
text-align
:
center
;
line-height
:
30px
;
border-radius
:
50%
;
display
:
inline-block
;
cursor
:
pointer
;
}
.lessonPreparation
.beikeBtn
{
padding
:
6px
30px
;
background-color
:
#2961FE
;
color
:
#fff
;
font-size
:
13px
;
border-radius
:
5px
;
margin-left
:
20px
;
cursor
:
pointer
;
}
.lessonPreparation
.beikeModule
{
padding
:
6px
15px
;
background-color
:
#FFFFFF
;
color
:
#A1AAB2
;
font-size
:
13px
;
border-radius
:
5px
;
margin-left
:
20px
;
cursor
:
pointer
;
border
:
1px
solid
#A1AAB2
;
}
</
style
>
<
template
>
<div
class=
"page-body lessonPreparation"
>
<div
class=
"lessTop"
>
备课编辑
</div>
<div
style=
"margin:20px 0;"
>
<span
class=
"Less_LeftIcon"
></span>
<el-input
v-model=
"addMsg.LessonPlan"
placeholder=
"教案名称"
class=
"w260"
></el-input>
<el-input
v-model=
"addMsg.CourseNum"
style=
"margin-left:20px;"
placeholder=
"第几课"
class=
"w180"
></el-input>
</div>
<div
style=
"display:flex;"
>
<div>
<span
class=
"less_Time"
>
时间:
</span>
<span>
2016年4月18日
</span>
</div>
<div
style=
"margin-left:200px;"
>
<span
class=
"less_Time"
>
担当者:
</span>
<span>
张三丰
</span>
</div>
</div>
<div
class=
"teach_Content"
>
上课内容
</div>
<div>
<span
class=
"add_Lesson"
@
click=
"addPlanList()"
>
<i
class=
"iconfont icon-add"
></i>
</span>
</div>
<div
style=
"margin-top:20px;"
v-for=
"(item,index) in addMsg.LessonPlanList"
>
<div
class=
"row"
>
<q-input
filled
stack-label
maxlength=
"20"
v-model=
"item.CourseName"
:dense=
"false"
class=
"col-2 q-pr-lg q-pb-lg"
label=
"课程名称"
/>
<q-input
filled
stack-label
maxlength=
"20"
v-model=
"item.CourseTitle"
:dense=
"false"
class=
"col-8 q-pr-lg q-pb-lg"
label=
"课程标题"
/>
</div>
<div>
<span
class=
"add_Lesson"
style=
"margin-top:70px;"
@
click=
"addPlanDetailsList(index)"
>
<i
class=
"iconfont icon-add"
></i>
</span>
</div>
<div
class=
"row"
v-for=
"(subItem,subIndex) in item.LessonPlanDetailsList"
>
<UeEditor
class=
"col-8"
v-model=
"subItem.ProjectContent"
:config=
"config"
></UeEditor>
<q-input
filled
stack-label
maxlength=
"20"
v-model=
"subItem.Duration"
style=
"margin-left:10px;"
:dense=
"false"
class=
"col-2 q-pr-lg q-pb-lg"
label=
"时长"
/>
</div>
<div
style=
"margin-top:20px;"
>
<el-tag
:key=
"tag"
v-for=
"tag in item.LessonPlanProjectsList"
closable
:disable-transitions=
"false"
@
close=
"handleClose(tag,index)"
>
{{
tag
}}
</el-tag>
<el-input
class=
"input-new-tag w260"
v-if=
"inputVisible"
v-model=
"inputValue"
ref=
"saveTagInput"
size=
"small"
@
keyup
.
enter
.
native=
"handleInputConfirm(index)"
@
blur=
"handleInputConfirm(index)"
>
</el-input>
<el-button
v-else
class=
"button-new-tag"
size=
"small"
@
click=
"showInput"
>
新增教案项目
</el-button>
</div>
</div>
<div
style=
"margin-top:30px;"
>
<span
class=
"beikeModule"
@
click=
"saveInfo(1)"
>
存为模板
</span>
<span
class=
"beikeBtn"
@
click=
"saveInfo(0)"
>
提交
</span>
</div>
</div>
</
template
>
<
script
>
import
UeEditor
from
'../../components/editor/UeEditor'
import
{
SetClassLessPlan
,
GetClassLessPlan
}
from
'../../api/course/class'
;
export
default
{
meta
:
{
title
:
"备课编辑"
},
props
:
{},
components
:
{
UeEditor
},
data
()
{
return
{
msg
:{
ClassId
:
0
,
School_Id
:
0
,
ClassPlanId
:
0
},
addMsg
:
{
CourseNum
:
''
,
//第几课
ClassId
:
0
,
//班级
School_Id
:
0
,
ClassPlanId
:
0
,
//排课id
LessonPlan
:
''
,
//教案名称
IsTemplate
:
0
,
//是否设置成模板0-否,1-是
LessonPlanList
:
[]
//老师教案详情
},
config
:
{
initialFrameWidth
:
null
,
initialFrameHeight
:
150
,
},
inputVisible
:
false
,
inputValue
:
''
}
},
created
()
{},
mounted
()
{
if
(
this
.
$route
.
query
)
{
this
.
msg
.
ClassId
=
this
.
$route
.
query
.
ClassId
;
this
.
msg
.
School_Id
=
this
.
$route
.
query
.
School_Id
;
this
.
msg
.
ClassPlanId
=
this
.
$route
.
query
.
ClassPlanId
;
}
this
.
getList
();
},
methods
:
{
getList
()
{
GetClassLessPlan
(
this
.
msg
).
then
(
res
=>
{
console
.
log
(
res
,
'数据来了'
);
if
(
res
.
Code
==
1
){
let
data
=
res
.
Data
;
this
.
addMsg
.
CourseNum
=
data
.
CourseNum
;
this
.
addMsg
.
ClassId
=
data
.
ClassId
;
this
.
addMsg
.
School_Id
=
data
.
School_Id
;
this
.
addMsg
.
ClassPlanId
=
data
.
ClassPlanId
;
this
.
addMsg
.
LessonPlan
=
data
.
LessonPlan
;
this
.
addMsg
.
IsTemplate
=
data
.
IsTemplate
;
this
.
addMsg
.
LessonPlanList
=
data
.
IsTemplate
;
}
})
},
handleClose
(
tag
,
index
)
{
this
.
addMsg
.
LessonPlanList
[
index
].
LessonPlanProjectsList
.
splice
(
this
.
addMsg
.
LessonPlanList
[
index
].
LessonPlanProjectsList
.
indexOf
(
tag
),
1
);
},
showInput
()
{
this
.
inputVisible
=
true
;
this
.
$nextTick
(()
=>
{
this
.
$refs
.
saveTagInput
[
0
].
$refs
.
input
.
focus
();
});
},
handleInputConfirm
(
index
)
{
let
inputValue
=
this
.
inputValue
;
if
(
inputValue
)
{
this
.
addMsg
.
LessonPlanList
[
index
].
LessonPlanProjectsList
.
push
(
inputValue
);
}
this
.
inputVisible
=
false
;
this
.
inputValue
=
''
;
},
//新增教案
addPlanList
(){
let
obj
=
{
CourseName
:
''
,
//课程名称(活动篇/理解篇)
CourseTitle
:
''
,
//课程标题
LessonPlanDetailsList
:[],
//老师教案详情
LessonPlanProjectsList
:[]
//老师教案详情
}
this
.
addMsg
.
LessonPlanList
.
push
(
obj
);
},
//添加老师教案详情
addPlanDetailsList
(
index
){
var
obj
=
{
ProjectContent
:
''
,
Duration
:
''
}
this
.
addMsg
.
LessonPlanList
[
index
].
LessonPlanDetailsList
.
push
(
obj
);
},
//提交
saveInfo
(
num
){
this
.
addMsg
.
IsTemplate
=
num
;
SetClassLessPlan
(
this
.
addMsg
).
then
(
res
=>
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'数据保存成功!'
,
position
:
'top'
})
})
},
},
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass');
</
style
>
src/pages/course/prepareclassDetails.vue
0 → 100644
View file @
6ae367e5
This diff is collapsed.
Click to expand it.
src/pages/course/question.vue
View file @
6ae367e5
...
...
@@ -9,8 +9,7 @@
overflow
:
hidden
;
white-space
:
nowrap
;
width
:
280px
;
height
:
30px
;
line-height
:
30px
;
}
</
style
>
...
...
@@ -19,20 +18,20 @@
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-input
@
change=
"
getQuestionList
"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.Title"
label=
"关键字"
@
clear=
"
getQuestionList
"
maxlength=
"20"
/>
<q-input
@
change=
"
research
"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.Title"
label=
"关键字"
@
clear=
"
research
"
maxlength=
"20"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"
getQuestionList
"
standout=
"bg-primary text-white"
option-value=
"QId"
option-label=
"Name"
<q-select
@
input=
"
research
"
standout=
"bg-primary text-white"
option-value=
"QId"
option-label=
"Name"
v-model=
"msg.QuestionTypeId"
:options=
"questionTypeList"
emit-value
map-options
label=
"题型"
multiple
clearable
/>
</div>
<div
class=
"col-3"
>
<q-input
@
change=
"
getQuestionList"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.PointName
"
label=
"知识点"
@
clear=
"getQuestionList
"
maxlength=
"20"
/>
<q-input
@
change=
"
research"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.PointName"
label=
"知识点
"
@
clear=
"research
"
maxlength=
"20"
/>
</div>
<div
class=
"col-3"
>
<q-select
@
input=
"
getQuestionList
"
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"Name"
<q-select
@
input=
"
research
"
standout=
"bg-primary text-white"
option-value=
"Id"
option-label=
"Name"
v-model=
"msg.DifficultyType"
:options=
"questionDifficultyTypeList"
emit-value
map-options
label=
"难度"
multiple
clearable
/>
</div>
...
...
@@ -181,6 +180,10 @@
this
.
getQuestionList
();
},
methods
:
{
research
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getQuestionList
();
},
importQuestion
(
type
)
{
this
.
importType
=
type
;
this
.
isShowImportUpload
=
true
;
...
...
src/pages/course/rewardDetailed.vue
View file @
6ae367e5
...
...
@@ -24,12 +24,12 @@
</
template
>
<
template
v-slot:body-cell-UnitPrice=
"props"
>
<q-td
:props=
"props"
color=
"negative"
>
<span
style=
"color:
#f5576c
"
>
¥
{{
props
.
row
.
UnitPrice
.
toFixed
(
2
)
}}
</span>
<span
style=
"color:
var(--q-color-negative)
"
>
¥
{{
props
.
row
.
UnitPrice
.
toFixed
(
2
)
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-Money=
"props"
>
<q-td
:props=
"props"
color=
"negative"
>
<span
style=
"color:
#f5576c
"
>
¥
{{
props
.
row
.
Money
.
toFixed
(
2
)
}}
</span>
<span
style=
"color:
var(--q-color-negative)
"
>
¥
{{
props
.
row
.
Money
.
toFixed
(
2
)
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-Type=
"props"
>
...
...
@@ -48,12 +48,12 @@
</
template
>
<
template
v-slot:body-cell-UnitPrice=
"props"
>
<q-td
:props=
"props"
color=
"negative"
>
<span
style=
"color:
#f5576c
"
>
¥
{{
props
.
row
.
UnitPrice
.
toFixed
(
2
)
}}
</span>
<span
style=
"color:
var(--q-color-negative)
"
>
¥
{{
props
.
row
.
UnitPrice
.
toFixed
(
2
)
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-Money=
"props"
>
<q-td
:props=
"props"
color=
"negative"
>
<span
style=
"color:
#f5576c
"
>
¥
{{
props
.
row
.
Money
.
toFixed
(
2
)
}}
</span>
<span
style=
"color:
var(--q-color-negative)
"
>
¥
{{
props
.
row
.
Money
.
toFixed
(
2
)
}}
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-Type=
"props"
>
...
...
src/pages/course/teacherLesson.vue
View file @
6ae367e5
...
...
@@ -180,6 +180,23 @@
.teacherLesson
.timeleft
{
margin-left
:
12px
;
}
.checkedPlan
{
background-color
:
#2961FE
!important
;
color
:
#fff
!important
;
}
/*.checkedPlan .beikeStatus{*/
/* background-color: #fff;*/
/* color:#2961FE!important;*/
/*}*/
.Cal_Content
.beike1
{
background
:
var
(
--q-color-negative
);
}
.Cal_Content
.beike2
{
background
:
var
(
--q-color-warning
);
}
.Cal_Content
.beike3
{
background
:
var
(
--q-color-dark
);
}
</
style
>
<
template
>
<div
class=
"page-body teacherLesson"
>
...
...
@@ -193,52 +210,57 @@
<div
class=
"Cal_List"
>
<div
class=
"Cal_Qiehuan"
@
click=
"getBeforeMonth()"
>
<div
class=
"Cal_Icon"
>
<
<
</div>
<div>
上个月
<
i
class=
"el-icon-arrow-left"
></i>
</div>
<div>
上个月
</div>
</div>
<div
class=
"Cal_Content"
>
<div
class=
"Cal_Inner"
v-for=
"(item,index) in dataNum"
>
{{
item
}}
<div
v-if=
"index==0"
class=
"beikeStatus"
>
已备课
</div>
<div
class=
"Cal_Inner"
v-for=
"(item,index) in dataNum"
:class=
"
{'checkedPlan':ckedIndex==item}" @click="getItem(item)">
{{
item
}}
<div
class=
"beikeStatus beike1"
v-if=
"getLessonStatus(item)=='未备课'"
>
<span>
{{
getLessonStatus
(
item
)
}}
</span>
</div>
<div
class=
"beikeStatus beike2"
v-if=
"getLessonStatus(item)=='部分'"
>
<span>
{{
getLessonStatus
(
item
)
}}
</span>
</div>
<div
class=
"beikeStatus beike3"
v-if=
"getLessonStatus(item)=='已备课'"
>
<span>
{{
getLessonStatus
(
item
)
}}
</span>
</div>
</div>
</div>
<div
class=
"Cal_Qiehuan"
@
click=
"getNextMonth()"
>
<div
class=
"Cal_Icon"
>
>
>
</div>
<i
class=
"el-icon-arrow-right"
></i
></div>
<div>
下个月
</div>
</div>
</div>
</div>
<div
class=
"TeacherYarr"
>
{{
tYear
}}
年
{{
tMonth
}}
月
</div>
<div
style=
"margin-top:40px;"
>
<template
v-for=
"(item,index) in dataList"
>
<div
class=
"TeacherInfo_List"
v-for=
"(SubItem,SubIndex) in item.PlanList"
>
<div
class=
"timeleft"
>
<div>
{{
SubItem
.
StartTime
}}
</div>
<div
class=
"TeacherYarr"
>
{{
tYear
}}
年
{{
tMonth
}}
月
{{
ckedIndex
}}
日
</div>
<div
style=
"margin-top:30px;"
>
<div
class=
"TeacherInfo_List"
v-for=
"(item,index) in newDataList"
>
<div
class=
"timeleft"
>
<div
style=
"width: 45px;"
>
{{
item
.
StartTime
}}
</div>
<div
class=
"timeright"
>
<div
class=
"record_List"
>
<div
class=
"TeacherNameList"
>
{{
SubItem
.
ClassName
}}
<li
class=
"cicle1"
>
{{
SubItem
.
ClassName
.
substr
(
0
,
1
)
}}
</li>
</div>
<div
class=
"TeacherContent"
>
{{
SubItem
.
GuestStr
}}
</div>
<div
style=
"margin:20px 0 30px 0;"
>
<span
class=
"saveModule"
>
存为模板
</span>
<span
class=
"beikeBtn"
v-if=
"SubItem.LessonPlanNum>0"
style=
"background:#3FC4FF;"
>
已备课
</span>
<span
class=
"beikeBtn"
v-else
@
click=
"goBeike()"
>
备课
</span>
</div>
</div>
<div
class=
"timeright"
>
<div
class=
"record_List"
>
<div
class=
"TeacherNameList"
>
{{
item
.
ClassName
}}
<li
class=
"cicle1"
>
{{
item
.
ClassName
.
substr
(
0
,
1
)
}}
</li>
</div>
<div
class=
"TeacherContent"
>
{{
item
.
GuestStr
}}
</div>
<div
style=
"margin:20px 0 30px 0;"
>
<span
class=
"beikeBtn"
v-if=
"item.LessonPlanNum>0"
style=
"background:#3FC4FF;"
@
click=
"goyibeike(item)"
>
已备课
</span>
<span
class=
"beikeBtn"
v-else
@
click=
"goBeike(item)"
>
备课
</span>
</div>
</div>
</div>
</
template
>
</
div
>
</div>
</div>
...
...
@@ -258,13 +280,16 @@
dataNum
:
0
,
//天数
tYear
:
0
,
//年
tMonth
:
0
,
//月
tDay
:
0
,
//日
ckedIndex
:
0
,
// 选中
msg
:
{
School_Id
:
1
,
//学校
Teacher_Id
:
2
,
//老师id
StartTime
:
'
2021-01-12
'
,
EndTime
:
'
2021-01-14
'
School_Id
:
0
,
//学校
// Teacher_Id: 5
, //老师id
StartTime
:
''
,
EndTime
:
''
},
dataList
:
[]
dataList
:
[],
newDataList
:[],
}
},
created
()
{},
...
...
@@ -272,7 +297,11 @@
var
myDate
=
new
Date
();
this
.
tYear
=
myDate
.
getFullYear
();
this
.
tMonth
=
myDate
.
getMonth
()
+
1
;
this
.
tDay
=
myDate
.
getDate
();
this
.
ckedIndex
=
this
.
tDay
;
this
.
dataNum
=
this
.
mGetDate
(
this
.
tYear
,
this
.
tMonth
);
this
.
msg
.
StartTime
=
this
.
tYear
+
'-'
+
this
.
tMonth
+
'-'
+
'01'
;
this
.
msg
.
EndTime
=
this
.
tYear
+
'-'
+
this
.
tMonth
+
'-'
+
this
.
dataNum
;
this
.
getList
();
},
methods
:
{
...
...
@@ -289,6 +318,9 @@
this
.
tMonth
=
this
.
tMonth
-
1
;
}
this
.
dataNum
=
this
.
mGetDate
(
this
.
tYear
,
this
.
tMonth
);
this
.
msg
.
StartTime
=
this
.
tYear
+
'-'
+
this
.
tMonth
+
'-'
+
'01'
;
this
.
msg
.
EndTime
=
this
.
tYear
+
'-'
+
this
.
tMonth
+
'-'
+
this
.
dataNum
;
this
.
getList
();
},
//点击下个月
getNextMonth
()
{
...
...
@@ -299,6 +331,9 @@
this
.
tMonth
=
this
.
tMonth
+
1
;
}
this
.
dataNum
=
this
.
mGetDate
(
this
.
tYear
,
this
.
tMonth
);
this
.
msg
.
StartTime
=
this
.
tYear
+
'-'
+
this
.
tMonth
+
'-'
+
'01'
;
this
.
msg
.
EndTime
=
this
.
tYear
+
'-'
+
this
.
tMonth
+
'-'
+
this
.
dataNum
;
this
.
getList
();
},
//获取数据
getList
()
{
...
...
@@ -306,12 +341,74 @@
console
.
log
(
res
,
'数据来了'
);
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
var
month
=
this
.
tMonth
;
var
day
=
this
.
ckedIndex
;
if
(
month
<
10
){
month
=
'0'
+
month
;
}
if
(
day
<
10
){
day
=
'0'
+
day
;
}
this
.
dataList
.
forEach
(
x
=>
{
if
(
x
.
DateYear
==
this
.
tYear
&&
x
.
DateMonth
==
month
&&
x
.
DateDay
==
day
){
this
.
newDataList
=
x
.
PlanList
;
}
})
}
})
},
//点击
getItem
(
item
){
this
.
ckedIndex
=
item
;
var
month
=
this
.
tMonth
;
var
day
=
item
;
if
(
month
<
10
){
month
=
'0'
+
month
;
}
if
(
day
<
10
){
day
=
'0'
+
day
;
}
this
.
dataList
.
forEach
(
x
=>
{
if
(
x
.
DateYear
==
this
.
tYear
&&
x
.
DateMonth
==
month
&&
x
.
DateDay
==
day
){
this
.
newDataList
=
x
.
PlanList
;
}
})
},
//获取备课状态
getLessonStatus
(
num
){
if
(
num
<
10
){
num
=
'0'
+
num
}
var
Str
=
''
;
this
.
dataList
.
forEach
(
x
=>
{
if
(
parseInt
(
x
.
DateDay
)
==
parseInt
(
num
)){
console
.
log
(
x
.
IsLessonStatus
);
if
(
x
.
IsLessonStatus
==
0
){
Str
=
'未备课'
}
if
(
x
.
IsLessonStatus
==
1
){
Str
=
'部分'
}
if
(
x
.
IsLessonStatus
==
2
){
Str
=
'已备课'
}
}
})
return
Str
;
},
//跳转至备课
goBeike
(){
goBeike
(
item
){
console
.
log
(
item
,
'item'
);
var
tempStr
=
'/course/lessonPreparation?ClassId='
+
item
.
ClassId
+
'&School_Id='
+
item
.
School_Id
+
'&ClassPlanId='
+
item
.
ClassPlanId
;
this
.
$router
.
push
({
path
:
tempStr
});
},
goyibeike
(
item
){
var
tempStr
=
'/course/prepareclassDetails?ClassId='
+
item
.
ClassId
+
'&ClassPlanId='
+
item
.
ClassPlanId
;
this
.
$router
.
push
({
path
:
tempStr
});
}
}
}
...
...
src/pages/sale/japaneseTrain.vue
View file @
6ae367e5
...
...
@@ -139,7 +139,7 @@
<div
style=
"margin: 0"
>
价格信息
</div>
<div><span
class=
"d2-n"
>
原价
</span><span>
{{item.OriginalPrice.toFixed(2)}}
</span></div>
<div><span
class=
"d2-n"
>
售价
</span><span
style=
"color:
#f5576c
;font-weight: bold"
>
{{item.SellPrice.toFixed(2)}}
</span></div>
style=
"color:
var(--q-color-negative)
;font-weight: bold"
>
{{item.SellPrice.toFixed(2)}}
</span></div>
<div
v-if=
"item.IsStepPrice==1 && item.ClassStepPriceList.length>0"
style=
"cursor: pointer"
>
更多优惠价格
<span
class=
"iconfont icon-xiangxia"
style=
"color: #2961FE;font-size: 10px"
></span>
<q-popup-proxy>
...
...
@@ -159,7 +159,7 @@
<div
style=
"margin: 0"
>
名额信息
</div>
<div><span
class=
"d2-n"
>
计划招生人数
</span><span>
{{item.ClassPersion}}人
</span></div>
<div><span
class=
"d2-n"
>
剩余招生名额
</span><span
style=
"color:
#f5576c
;font-weight: bold"
>
{{item.SurplusNum}}人
</span></div>
style=
"color:
var(--q-color-negative)
;font-weight: bold"
>
{{item.SurplusNum}}人
</span></div>
</div>
<div
class=
"d7"
>
<q-btn
color=
"primary"
label=
"立即下单"
v-if=
"item.IsCanApply==1"
@
click=
"placeAnorder(item)"
/>
...
...
@@ -172,7 +172,7 @@
</div>
</div>
<div
class=
"d6 row"
>
<p
style=
"color:
#f5576c
;font-weight: bold"
><span
style=
"color:#2D2D2D;"
>
OP备注:
</span>
{{item.OutRemark}}
</p>
<p
style=
"color:
var(--q-color-negative)
;font-weight: bold"
><span
style=
"color:#2D2D2D;"
>
OP备注:
</span>
{{item.OutRemark}}
</p>
<div
class=
"progress"
>
<q-linear-progress
size=
"5px"
color=
"#3FC4FF"
:value=
"(item.OrderStudentCount/item.ClassPersion)"
rounded
/>
...
...
@@ -613,7 +613,7 @@
}
.japaneseTrain
li
.d3
.d3-s
{
color
:
#f5576c
;
color
:
var
(
--q-color-negative
)
;
font-weight
:
bold
}
...
...
src/pages/school/teacher.vue
View file @
6ae367e5
...
...
@@ -235,6 +235,12 @@
align
:
'left'
,
field
:
'TeacherAccount'
},
{
name
:
'LeaveStatusName'
,
label
:
'状态'
,
align
:
'left'
,
field
:
'LeaveStatusName'
},
{
name
:
'optioned'
,
label
:
'操作'
,
...
...
src/router/routes.js
View file @
6ae367e5
...
...
@@ -143,6 +143,11 @@ const routes = [{
component
:
()
=>
import
(
"pages/course/lessonPreparation.vue"
)
},
{
path
:
"/course/prepareclassDetails"
,
//教师备课 备课详情
component
:
()
=>
import
(
"pages/course/prepareclassDetails.vue"
)
},
{
path
:
"/financial/PlatformAccount"
,
//平台账户
component
:
()
=>
...
...
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