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
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) {
...
@@ -156,7 +156,46 @@ export function GetTeacherPlan(data) {
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) {
...
@@ -262,7 +301,7 @@ export function setTeachingPerfFinance(data) {
/**
/**
* 修改班级状态
* 修改班级状态
* @param {JSON数据} data
* @param {JSON数据} data
*/
*/
export
function
saveClassStatus
(
data
)
{
export
function
saveClassStatus
(
data
)
{
return
request
({
return
request
({
...
@@ -270,4 +309,28 @@ export function saveClassStatus(data) {
...
@@ -270,4 +309,28 @@ export function saveClassStatus(data) {
method
:
'post'
,
method
:
'post'
,
data
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 @@
...
@@ -286,6 +286,7 @@
SortNum
:
0
,
//排序
SortNum
:
0
,
//排序
Answer
:
""
,
//问题JSON
Answer
:
""
,
//问题JSON
IsMutex
:
0
,
//填空题(答案顺序打乱也判正确)
IsMutex
:
0
,
//填空题(答案顺序打乱也判正确)
Category
:
0
,
//大类
},
},
AnswerList
:
[],
AnswerList
:
[],
optionTitle
:
""
,
optionTitle
:
""
,
...
@@ -399,6 +400,7 @@
...
@@ -399,6 +400,7 @@
this
.
objOption
.
IsMutex
=
res
.
Data
.
IsMutex
;
this
.
objOption
.
IsMutex
=
res
.
Data
.
IsMutex
;
this
.
questionObj
.
Key
=
res
.
Data
.
QuestionTypeKey
;
this
.
questionObj
.
Key
=
res
.
Data
.
QuestionTypeKey
;
this
.
questionObj
.
QId
=
res
.
Data
.
QuestionTypeId
;
this
.
questionObj
.
QId
=
res
.
Data
.
QuestionTypeId
;
this
.
objOption
.
Category
=
res
.
Data
.
Category
;
if
(
res
.
Data
.
QuestionContentObj
)
{
if
(
res
.
Data
.
QuestionContentObj
)
{
this
.
AnswerList
=
res
.
Data
.
QuestionContentObj
;
this
.
AnswerList
=
res
.
Data
.
QuestionContentObj
;
this
.
objOption
.
QuestionContent
=
JSON
.
stringify
(
res
.
Data
.
QuestionContentObj
);
this
.
objOption
.
QuestionContent
=
JSON
.
stringify
(
res
.
Data
.
QuestionContentObj
);
...
@@ -423,6 +425,7 @@
...
@@ -423,6 +425,7 @@
this
.
objOption
.
SortNum
=
0
;
this
.
objOption
.
SortNum
=
0
;
this
.
objOption
.
Answer
=
''
;
this
.
objOption
.
Answer
=
''
;
this
.
objOption
.
IsMutex
=
0
;
this
.
objOption
.
IsMutex
=
0
;
this
.
objOption
.
Category
=
0
;
}
}
},
},
//关闭弹窗
//关闭弹窗
...
...
src/components/question/question-upload.vue
View file @
6ae367e5
...
@@ -3,16 +3,20 @@
...
@@ -3,16 +3,20 @@
</
style
>
</
style
>
<
template
>
<
template
>
<q-dialog
v-model=
"persistent"
persistent
content-class=
"bg-grey-1"
transition-show=
"scale"
transition-hide=
"scale"
>
<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>
<q-card-section>
<div
class=
"text-h6"
>
{{
importType
==
1
?
'模板导入(EXCEL)'
:
'智能导入(WORD)'
}}
<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>
:download=
"downLoadName"
>
下载模板文件
</a>
</div>
</div>
</q-card-section>
</q-card-section>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<q-card-section
class=
"q-pt-none scroll"
style=
"max-height: 70vh"
>
<table>
<table>
<thead>
<
!--
<
thead>
<tr>
<tr>
<td>
<td>
<el-upload
class=
"upload-demo"
action=
""
:accept=
"accept"
:show-file-list=
"false"
<el-upload
class=
"upload-demo"
action=
""
:accept=
"accept"
:show-file-list=
"false"
...
@@ -21,7 +25,7 @@
...
@@ -21,7 +25,7 @@
</el-upload>
</el-upload>
</td>
</td>
</tr>
</tr>
</thead>
</thead>
-->
<tr>
<tr>
<td>
<td>
<template
v-for=
"(item,index) in questionData"
>
<template
v-for=
"(item,index) in questionData"
>
...
@@ -253,7 +257,7 @@
...
@@ -253,7 +257,7 @@
position
:
'top'
position
:
'top'
})
})
this
.
$emit
(
"success"
)
this
.
$emit
(
"success"
)
this
.
close
Sav
eForm
()
this
.
close
Cours
eForm
()
})
})
}
}
},
},
...
...
src/components/sale/orderlist.vue
View file @
6ae367e5
...
@@ -43,12 +43,12 @@
...
@@ -43,12 +43,12 @@
</td>
</td>
<td
style=
"border:none"
>
{{item.GuestNum}}人
</td>
<td
style=
"border:none"
>
{{item.GuestNum}}人
</td>
<td
style=
"border:none"
>
{{item.Class_Price.toFixed(2)}}
</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)}}
{{item.Unit_Price.toFixed(2)}}
</td>
</td>
<td
style=
"border:none"
>
{{item.PreferPrice.toFixed(2)}}
</td>
<td
style=
"border:none"
>
{{item.PreferPrice.toFixed(2)}}
</td>
<td
style=
"border:none"
>
{{item.Income.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=
"border:none"
>
{{item.Refund.toFixed(2)}}
</td>
<td
style=
"color:#2961FE;border:none"
>
{{item.DueInMoney.toFixed(2)}}
</td>
<td
style=
"color:#2961FE;border:none"
>
{{item.DueInMoney.toFixed(2)}}
</td>
<td
style=
"border:none"
>
<td
style=
"border:none"
>
...
@@ -137,7 +137,7 @@
...
@@ -137,7 +137,7 @@
<div
class=
"row"
v-if=
" item.GuestList.length>0&&getTkshow(item.GuestList)"
>
<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"
<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>
</div>
<span
v-if=
"item.GuestList.length==0"
>
暂无
</span>
<span
v-if=
"item.GuestList.length==0"
>
暂无
</span>
</td>
</td>
...
@@ -299,12 +299,12 @@
...
@@ -299,12 +299,12 @@
</td>
</td>
<td
style=
"border:none"
>
{{item.GuestNum}}人
</td>
<td
style=
"border:none"
>
{{item.GuestNum}}人
</td>
<td
style=
"border:none"
>
{{item.Class_Price.toFixed(2)}}
</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)}}
{{item.Unit_Price.toFixed(2)}}
</td>
</td>
<td
style=
"border:none"
>
{{item.PreferPrice.toFixed(2)}}
</td>
<td
style=
"border:none"
>
{{item.PreferPrice.toFixed(2)}}
</td>
<td
style=
"border:none"
>
{{item.Income.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=
"border:none"
>
{{item.Refund.toFixed(2)}}
</td>
<td
style=
"color:#2961FE;border:none"
>
{{item.DueInMoney.toFixed(2)}}
</td>
<td
style=
"color:#2961FE;border:none"
>
{{item.DueInMoney.toFixed(2)}}
</td>
<td
style=
"border:none"
>
<td
style=
"border:none"
>
...
@@ -336,7 +336,7 @@
...
@@ -336,7 +336,7 @@
<div
class=
"row"
v-if=
" item.GuestList.length>0&&getTkshow(item.GuestList)"
>
<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"
<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>
</div>
<span
v-if=
"item.GuestList.length==0"
>
暂无
</span>
<span
v-if=
"item.GuestList.length==0"
>
暂无
</span>
</td>
</td>
...
@@ -724,7 +724,7 @@
...
@@ -724,7 +724,7 @@
let
that
=
this
let
that
=
this
this
.
$q
.
dialog
({
this
.
$q
.
dialog
({
title
:
'提示信息'
,
title
:
'提示信息'
,
message
:
'<span style="color:
#f5576c
">是否取消此订单</span>'
,
message
:
'<span style="color:
var(--q-color-negative)
">是否取消此订单</span>'
,
cancel
:
true
,
cancel
:
true
,
persistent
:
true
,
persistent
:
true
,
html
:
true
,
html
:
true
,
...
...
src/layouts/MainLayout.vue
View file @
6ae367e5
...
@@ -137,8 +137,8 @@
...
@@ -137,8 +137,8 @@
v-if=
"secondNavs && secondNavs.length>0"
>
v-if=
"secondNavs && secondNavs.length>0"
>
<div
class=
"full-width left-menu-box q-pt-md"
>
<div
class=
"full-width left-menu-box q-pt-md"
>
<div
class=
"is-show-menu-2"
@
click=
"changeLeft"
>
<div
class=
"is-show-menu-2"
@
click=
"changeLeft"
>
<a
v-if=
"!IsShowLeft"
><
<</
a
>
<a
v-if=
"!IsShowLeft"
title=
"收起"
><
<</
a
>
<a
v-else
class=
"is_Show_menu_3"
>
>>
</a>
<a
v-else
class=
"is_Show_menu_3"
title=
"展开"
>
>>
</a>
</div>
</div>
<q-list
style=
"width:180px;overflow:hidden"
>
<q-list
style=
"width:180px;overflow:hidden"
>
<
template
v-for=
"(x,i) in secondNavs"
>
<
template
v-for=
"(x,i) in secondNavs"
>
...
@@ -301,14 +301,14 @@
...
@@ -301,14 +301,14 @@
border-radius
:
10px
0
0
10px
;
border-radius
:
10px
0
0
10px
;
padding
:
2px
8px
;
padding
:
2px
8px
;
cursor
:
pointer
;
cursor
:
pointer
;
width
:
30px
;
/* width:30px; */
right
:
-1px
;
right
:
-1px
;
top
:
0px
;
top
:
0px
;
z-index
:
999
;
z-index
:
999
;
}
}
.is_Show_menu_3
{
.is_Show_menu_3
{
position
:
absolute
;
position
:
absolute
;
width
:
30px
;
/* width: 30px; */
background
:
#fff
;
background
:
#fff
;
color
:
#a1a4a9
;
color
:
#a1a4a9
;
border-radius
:
0
10px
10px
0
;
border-radius
:
0
10px
10px
0
;
...
...
src/pages/course/achievements.vue
View file @
6ae367e5
...
@@ -649,7 +649,7 @@
...
@@ -649,7 +649,7 @@
}
}
.achievements
li
.d3
.d3-s
{
.achievements
li
.d3
.d3-s
{
color
:
#f5576c
;
color
:
var
(
--q-color-negative
)
;
font-weight
:
bold
;
font-weight
:
bold
;
font-family
:
perfectFont
font-family
:
perfectFont
}
}
...
...
src/pages/course/classHourReward.vue
View file @
6ae367e5
...
@@ -67,7 +67,7 @@
...
@@ -67,7 +67,7 @@
</
template
>
</
template
>
<
template
v-slot:body-cell-Money=
"props"
>
<
template
v-slot:body-cell-Money=
"props"
>
<q-td
:props=
"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>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-FrIdList=
"props"
>
<
template
v-slot:body-cell-FrIdList=
"props"
>
...
...
src/pages/course/course.vue
View file @
6ae367e5
...
@@ -93,12 +93,12 @@
...
@@ -93,12 +93,12 @@
align
:
'left'
,
align
:
'left'
,
field
:
row
=>
row
.
CourseName
field
:
row
=>
row
.
CourseName
},
},
{
//
{
name
:
'CateName'
,
//
name: 'CateName',
label
:
'所属分类'
,
//
label: '所属分类',
field
:
'CateName'
,
//
field: 'CateName',
align
:
'left'
//
align: 'left'
},
//
},
{
{
name
:
'CoverImg'
,
name
:
'CoverImg'
,
label
:
'课程封面'
,
label
:
'课程封面'
,
...
...
src/pages/course/courseinfo.vue
View file @
6ae367e5
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
<li
:class=
"
{'checkedLi':commonIndex==1}" @click="gotoPage('question',1)">
<li
:class=
"
{'checkedLi':commonIndex==1}" @click="gotoPage('question',1)">
<i
class=
"iconfont icon-tiku"
></i>
题库
<i
class=
"iconfont icon-tiku"
></i>
题库
</li>
</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>
教案
<i
style=
"font-size:20px;"
class=
"iconfont icon-PPT"
></i>
教案
</li>
</li>
<li
:class=
"
{'checkedLi':commonIndex==3}" @click="gotoPage('chapter',3)">
<li
:class=
"
{'checkedLi':commonIndex==3}" @click="gotoPage('chapter',3)">
...
@@ -93,7 +93,7 @@
...
@@ -93,7 +93,7 @@
</li>
</li>
<li
:class=
"
{'checkedLi':commonIndex==4}" @click="gotoPage('coursejob',4)">
<li
:class=
"
{'checkedLi':commonIndex==4}" @click="gotoPage('coursejob',4)">
<i
class=
"iconfont icon-icon_zhangjielianxi"
></i>
作业
<i
class=
"iconfont icon-icon_zhangjielianxi"
></i>
作业
</li>
</li>
-->
</ul>
</ul>
</div>
</div>
</q-list>
</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
<
style
>
.prepareclassDetails
{
height
:
100%
;
margin
:
0
;
}
.prepareclassDetails
.page-body
{
margin
:
5px
!important
;
}
.prepareclassDetails
.q-table__title
{
font-size
:
16px
;
font-family
:
perfectFont
;
color
:
#000000
;
font-weight
:
bold
;
}
.prepareclassDetails
.comment
{
height
:
600px
;
overflow
:
auto
;
padding
:
0
15px
;
}
.prepareclassDetails
.comment-item
{
border-bottom
:
1px
solid
#E2E2E2
;
padding
:
20px
0
;
}
.prepareclassDetails
.c-i-t-l
{
width
:
47px
;
height
:
47px
;
border-radius
:
50%
;
background
:
rgba
(
41
,
97
,
254
,
0.2
);
align-items
:
center
;
justify-content
:
center
;
font-size
:
20px
;
color
:
#2961FE
;
font-weight
:
bold
;
font-family
:
perfectFont
;
}
.prepareclassDetails
.c-i-t-r
{
flex
:
1
;
height
:
40px
;
justify-content
:
space-between
;
font-size
:
14px
;
color
:
#2D2D2D
;
margin-left
:
10px
;
}
.prepareclassDetails
.c-i-Comment
{
font-size
:
14px
;
color
:
#2D2D2D
;
margin-top
:
18px
;
}
.prepareclassDetails
.pl
{
background
:
#ffffff
;
position
:
absolute
;
left
:
0
;
bottom
:
0
;
width
:
100%
;
border-top
:
1px
solid
#E2E2E2
;
padding
:
15px
;
font-size
:
13px
;
}
.prepareclassDetails
.ratestyle
{
margin-left
:
10px
;
}
.prepareclassDetails
.beike-jan
{
width
:
15px
;
}
.prepareclassDetails
.marginl-15
{
margin-left
:
15px
;
}
.prepareclassDetails
.margint-15
{
margin-top
:
15px
;
}
.prepareclassDetails
.jan-l
{
width
:
3px
;
height
:
12px
;
background
:
#3FC4FF
;
}
.prepareclassDetails
.text12-o
{
font-size
:
12px
;
color
:
#111111
;
}
.prepareclassDetails
.text12-n
{
font-size
:
12px
;
color
:
#999999
;
}
.prepareclassDetails
.text14-o
{
font-size
:
14px
;
color
:
#2D2D2D
;
}
.prepareclassDetails
.text-title
{
font-size
:
14px
;
color
:
#111111
;
}
.prepareclassDetails
.text14-l
{
font-size
:
12px
;
color
:
#2961FE
;
}
::-webkit-scrollbar
{
display
:
none
;
/* Chrome Safari */
}
.prepareclassDetails
.width70
{
width
:
70px
;
}
</
style
>
<
template
>
<div
class=
"row prepareclassDetails"
>
<div
class=
"page-body col"
>
<div
class=
"q-table__title"
>
备课内容
</div>
<div
style=
"width: 100%;"
>
<div
class=
"row"
style=
"margin-top: 10px;align-items: center"
>
<div
class=
"beike-jan"
>
<div
class=
"jan-l"
></div>
</div>
<div
class=
"row"
style=
"font-size: 14px;color: #000000;font-weight: bold;font-family: perfectFont"
>
教案·
{{
data
.
ClassId
}}
班
<span
class=
"text12-o marginl-15"
style=
"line-height: 21px;font-weight: inherit"
>
{{
data
.
LessonPlan
}}
·第
{{
data
.
CourseNum
}}
课
</span>
</div>
</div>
<div
class=
"row marginl-15 margint-15"
>
<div
class=
"row"
>
<span
class=
"text12-n"
>
时间:
</span>
<span
class=
"text12-o"
>
{{
data
.
WorkDate
}}
(
{{
data
.
WeekStr
}}
)
{{
data
.
DayTime
}}
</span>
</div>
<div
class=
"row"
style=
"margin-left: 100px"
>
<span
class=
"text12-n"
>
担当者:
</span>
<span
class=
"text12-o"
>
{{
data
.
TeacherName
}}
</span>
</div>
</div>
<div
class=
"marginl-15 margint-15 "
>
<div
class=
"text-title"
>
指導内容
</div>
<div
class=
"marginl-15 margint-15 row"
style=
"align-items: flex-start"
v-for=
"(item,index) in data.LessonPlanList"
:key=
"index"
>
<div
class=
"text12-n width70"
>
{{
item
.
CourseName
}}
:
</div>
<div
class=
"text12-o "
style=
"flex:1"
>
{{
item
.
CourseTitle
}}
</div>
</div>
</div>
<div
class=
"marginl-15 margint-15 "
>
<div
class=
"text-title"
>
指導項目
</div>
<div
class=
"marginl-15 margint-15 row"
style=
"align-items: flex-start"
v-for=
"(item,index) in data.LessonPlanList"
:key=
"index"
>
<div
class=
"text12-n width70"
>
{{
item
.
CourseName
}}
:
</div>
<div
class=
"text12-o"
style=
"flex:1"
v-for=
"(x,y) in item.LessonPlanProjectsList"
:key=
"y"
>
{{
x
.
ProjectContent
}}
</div>
</div>
</div>
<div
class=
"marginl-15 margint-15 "
>
<div
class=
"text-title"
>
上课内容
</div>
<div
class=
"marginl-15 margint-15 row"
style=
"align-items: flex-start;flex-wrap: nowrap"
v-for=
"(item,index) in data.LessonPlanList"
:key=
"index"
>
<div
class=
"text12-n width70"
>
{{
item
.
CourseName
}}
:
</div>
<div
class=
"text12-o"
style=
"flex:1"
>
<div
class=
"column"
v-for=
"(x,y) in item.LessonPlanDetailsList"
:key=
"y"
>
<div
class=
"text14-l"
>
{{
x
.
Duration
}}
分钟-
{{
x
.
DurationEndTime
}}
</div>
<div
class=
"text12-o"
>
{{
x
.
ProjectContent
}}
</div>
<div
style=
"width: 100%;background: #F0F5FB;border-radius: 5px;margin: 10px 0"
>
<q-input
style=
"background:#F0F5FB ;font-size: 12px"
v-model=
"x.Summary"
label=
"课后总结"
type=
"textarea"
filled
clearable
autogrow
:disable=
"AccountType"
/>
</div>
</div>
</div>
</div>
</div>
<q-btn
color=
"accent"
size=
"sm"
class=
"q-mr-md marginl-15 margint-15"
label=
"提交"
@
click=
"saveOrderInfo()"
:loading=
"Dloading"
/>
</div>
</div>
<div
class=
"col-3"
style=
"position: relative;overflow: hidden;border-radius: 6px;background: #FFF;margin: 5px;height: 800px"
>
<div
class=
"q-table__title"
style=
"padding: 15px;"
>
评价
</div>
<div
class=
"comment"
>
<div
class=
"row"
style=
"width: 100%;height: 50px;align-items: center;justify-content: center;font-size: 16px;color: #999999"
v-if=
"CommentList.length==0"
>
暂无评论
</div>
<div
class=
"comment-item"
v-for=
"(item,index) in CommentList"
:key=
"index"
v-if=
"CommentList.length>0"
>
<div
class=
"row"
>
<!--
<div
class=
"c-i-t-l row"
>
{{
item
.
CreateByName
.
substr
(
0
,
1
)
}}
</div>
-->
<q-avatar
size=
"35px"
rounded
color=
"primary"
text-color=
"white"
>
<img
:src=
"userInfo.UserIcon"
v-if=
"item.UserIcon"
>
<span
v-else
>
{{
item
.
CreateByName
.
substring
(
0
,
1
)
}}
</span>
</q-avatar>
<div
class=
"c-i-t-r column"
>
<div
class=
"row"
style=
"align-items: center"
>
<span
style=
"margin-right: 10px"
>
{{
item
.
CreateByName
}}
</span>
<q-rating
v-model=
"item.Score"
size=
"1em"
icon=
"thumb_up"
readonly
/>
</div>
<span
style=
"font-size: 12px;color: #999999"
>
{{
item
.
CreateTimeStr
}}
</span>
</div>
</div>
<div
class=
"c-i-Comment"
>
{{
item
.
Comment
}}
</div>
</div>
</div>
<!-- 评论区域-->
<div
class=
"pl column"
>
<div
class=
"row"
style=
"align-items: center"
>
<span
style=
"margin-right: 5px"
>
备课打分:
</span>
<q-rating
v-model=
"plmsg.Score"
size=
"1.5em"
icon=
"thumb_up"
/>
<span
class=
"ratestyle"
v-if=
"plmsg.Score==5"
>
非常满意
</span>
<span
class=
"ratestyle"
v-if=
"plmsg.Score==4"
>
满意
</span>
<span
class=
"ratestyle"
v-if=
"plmsg.Score==3"
>
感觉一般
</span>
<span
class=
"ratestyle"
v-if=
"plmsg.Score==2"
>
不满意
</span>
<span
class=
"ratestyle"
v-if=
"plmsg.Score==1"
>
非常不满意
</span>
</div>
<div
class=
"row"
style=
"margin-top: 20px;align-items: center"
>
<q-input
filled
v-model=
"plmsg.Comment"
label=
"写下你想评价的内容"
style=
"flex:1"
/>
<img
src=
"../../assets/images/course/fasong.png"
alt=
""
style=
"width: 35px;height: 35px;margin-left: 20px"
@
click=
"btnpl()"
>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
getClassLessPlan
,
getLessonCommentList
,
setLessonComment
,
updateClassLessPlan
}
from
'../../api/course/class'
;
export
default
{
name
:
"prepareclassDetails"
,
data
(){
return
{
msg
:{
ClassId
:
0
,
School_Id
:
0
,
ClassPlanId
:
0
,
},
Dloading
:
false
,
plmsg
:{
Comment
:
''
,
Score
:
5
,
LessonPlanId
:
0
,
ClassId
:
0
,
ClassPlanId
:
0
,
},
data
:{},
CommentList
:[],
AccountType
:
false
}
},
created
(){
},
mounted
(){
this
.
msg
.
ClassId
=
this
.
$route
.
query
.
ClassId
?
this
.
$route
.
query
.
ClassId
:
0
;
this
.
msg
.
ClassPlanId
=
this
.
$route
.
query
.
ClassPlanId
?
this
.
$route
.
query
.
ClassPlanId
:
0
;
this
.
plmsg
.
ClassId
=
this
.
$route
.
query
.
ClassId
?
this
.
$route
.
query
.
ClassId
:
0
;
this
.
plmsg
.
ClassPlanId
=
this
.
$route
.
query
.
ClassPlanId
?
this
.
$route
.
query
.
ClassPlanId
:
0
;
let
userInfo
=
this
.
getLocalStorage
();
this
.
AccountType
=
userInfo
.
AccountType
==
2
?
false
:
true
;
//是否是教师
this
.
getList
()
//备课内容
this
.
getCommentList
()
//评价
},
methods
:{
getList
()
{
getClassLessPlan
(
this
.
msg
).
then
(
res
=>
{
console
.
log
(
res
,
'数据来了'
);
if
(
res
.
Code
==
1
)
{
this
.
data
=
res
.
Data
}
})
},
getCommentList
(){
getLessonCommentList
({
ClassId
:
this
.
msg
.
ClassId
,
ClassPlanId
:
this
.
msg
.
ClassPlanId
,
}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
CommentList
=
res
.
Data
}
})
},
btnpl
(){
if
(
this
.
plmsg
.
Comment
==
''
){
this
.
$q
.
notify
({
type
:
'warning'
,
position
:
'top'
,
timeout
:
1500
,
message
:
`请输入评论内容`
})
return
}
if
(
this
.
plmsg
.
Score
==
0
||
this
.
plmsg
.
Score
==
''
){
this
.
$q
.
notify
({
type
:
'warning'
,
position
:
'top'
,
timeout
:
1500
,
message
:
`请对备课评分`
})
return
}
setLessonComment
(
this
.
plmsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'评论成功'
,
position
:
'top'
})
this
.
plmsg
.
Score
=
5
;
this
.
plmsg
.
Comment
=
''
;
this
.
getCommentList
()
}
})
},
saveOrderInfo
(){
this
.
Dloading
=
true
;
updateClassLessPlan
(
this
.
data
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
'top'
})
}
})
}
}
}
</
script
>
src/pages/course/question.vue
View file @
6ae367e5
...
@@ -9,8 +9,7 @@
...
@@ -9,8 +9,7 @@
overflow
:
hidden
;
overflow
:
hidden
;
white-space
:
nowrap
;
white-space
:
nowrap
;
width
:
280px
;
width
:
280px
;
height
:
30px
;
line-height
:
30px
;
}
}
</
style
>
</
style
>
...
@@ -19,20 +18,20 @@
...
@@ -19,20 +18,20 @@
<div
class=
"page-search row items-center"
>
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-input
@
change=
"
getQuestionList
"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.Title"
label=
"关键字"
<q-input
@
change=
"
research
"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.Title"
label=
"关键字"
@
clear=
"
getQuestionList
"
maxlength=
"20"
/>
@
clear=
"
research
"
maxlength=
"20"
/>
</div>
</div>
<div
class=
"col-3"
>
<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
v-model=
"msg.QuestionTypeId"
:options=
"questionTypeList"
emit-value
map-options
label=
"题型"
multiple
clearable
/>
clearable
/>
</div>
</div>
<div
class=
"col-3"
>
<div
class=
"col-3"
>
<q-input
@
change=
"
getQuestionList"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.PointName
"
<q-input
@
change=
"
research"
clearable
standout=
"bg-primary text-white"
v-model=
"msg.PointName"
label=
"知识点
"
label=
"知识点"
@
clear=
"getQuestionList
"
maxlength=
"20"
/>
@
clear=
"research
"
maxlength=
"20"
/>
</div>
</div>
<div
class=
"col-3"
>
<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=
"难度"
v-model=
"msg.DifficultyType"
:options=
"questionDifficultyTypeList"
emit-value
map-options
label=
"难度"
multiple
clearable
/>
multiple
clearable
/>
</div>
</div>
...
@@ -181,6 +180,10 @@
...
@@ -181,6 +180,10 @@
this
.
getQuestionList
();
this
.
getQuestionList
();
},
},
methods
:
{
methods
:
{
research
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getQuestionList
();
},
importQuestion
(
type
)
{
importQuestion
(
type
)
{
this
.
importType
=
type
;
this
.
importType
=
type
;
this
.
isShowImportUpload
=
true
;
this
.
isShowImportUpload
=
true
;
...
...
src/pages/course/rewardDetailed.vue
View file @
6ae367e5
...
@@ -24,12 +24,12 @@
...
@@ -24,12 +24,12 @@
</
template
>
</
template
>
<
template
v-slot:body-cell-UnitPrice=
"props"
>
<
template
v-slot:body-cell-UnitPrice=
"props"
>
<q-td
:props=
"props"
color=
"negative"
>
<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>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-Money=
"props"
>
<
template
v-slot:body-cell-Money=
"props"
>
<q-td
:props=
"props"
color=
"negative"
>
<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>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-Type=
"props"
>
<
template
v-slot:body-cell-Type=
"props"
>
...
@@ -48,12 +48,12 @@
...
@@ -48,12 +48,12 @@
</
template
>
</
template
>
<
template
v-slot:body-cell-UnitPrice=
"props"
>
<
template
v-slot:body-cell-UnitPrice=
"props"
>
<q-td
:props=
"props"
color=
"negative"
>
<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>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-Money=
"props"
>
<
template
v-slot:body-cell-Money=
"props"
>
<q-td
:props=
"props"
color=
"negative"
>
<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>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-Type=
"props"
>
<
template
v-slot:body-cell-Type=
"props"
>
...
...
src/pages/course/teacherLesson.vue
View file @
6ae367e5
...
@@ -180,6 +180,23 @@
...
@@ -180,6 +180,23 @@
.teacherLesson
.timeleft
{
.teacherLesson
.timeleft
{
margin-left
:
12px
;
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
>
</
style
>
<
template
>
<
template
>
<div
class=
"page-body teacherLesson"
>
<div
class=
"page-body teacherLesson"
>
...
@@ -193,52 +210,57 @@
...
@@ -193,52 +210,57 @@
<div
class=
"Cal_List"
>
<div
class=
"Cal_List"
>
<div
class=
"Cal_Qiehuan"
@
click=
"getBeforeMonth()"
>
<div
class=
"Cal_Qiehuan"
@
click=
"getBeforeMonth()"
>
<div
class=
"Cal_Icon"
>
<div
class=
"Cal_Icon"
>
<
<
</div>
<div>
上个月
<
i
class=
"el-icon-arrow-left"
></i>
</div>
<div>
上个月
</div>
</div>
</div>
</div>
<div
class=
"Cal_Content"
>
<div
class=
"Cal_Content"
>
<div
class=
"Cal_Inner"
v-for=
"(item,index) in dataNum"
>
<div
class=
"Cal_Inner"
v-for=
"(item,index) in dataNum"
:class=
"
{'checkedPlan':ckedIndex==item}" @click="getItem(item)">
{{
item
}}
{{
item
}}
<div
v-if=
"index==0"
class=
"beikeStatus"
>
已备课
</div>
<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>
</div>
<div
class=
"Cal_Qiehuan"
@
click=
"getNextMonth()"
>
<div
class=
"Cal_Qiehuan"
@
click=
"getNextMonth()"
>
<div
class=
"Cal_Icon"
>
<div
class=
"Cal_Icon"
>
>
>
</div>
<i
class=
"el-icon-arrow-right"
></i
></div>
<div>
下个月
<div>
下个月
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"TeacherYarr"
>
{{
tYear
}}
年
{{
tMonth
}}
月
</div>
<div
class=
"TeacherYarr"
>
{{
tYear
}}
年
{{
tMonth
}}
月
{{
ckedIndex
}}
日
</div>
<div
style=
"margin-top:40px;"
>
<div
style=
"margin-top:30px;"
>
<template
v-for=
"(item,index) in dataList"
>
<div
class=
"TeacherInfo_List"
v-for=
"(item,index) in newDataList"
>
<div
class=
"TeacherInfo_List"
v-for=
"(SubItem,SubIndex) in item.PlanList"
>
<div
class=
"timeleft"
>
<div
class=
"timeleft"
>
<div
style=
"width: 45px;"
>
<div>
{{
item
.
StartTime
}}
{{
SubItem
.
StartTime
}}
</div>
</div>
</div>
<div
class=
"timeright"
>
</div>
<div
class=
"record_List"
>
<div
class=
"timeright"
>
<div
class=
"TeacherNameList"
>
<div
class=
"record_List"
>
{{
SubItem
.
ClassName
}}
<div
class=
"TeacherNameList"
>
<li
class=
"cicle1"
>
{{
item
.
ClassName
}}
{{
SubItem
.
ClassName
.
substr
(
0
,
1
)
}}
<li
class=
"cicle1"
>
</li>
{{
item
.
ClassName
.
substr
(
0
,
1
)
}}
</div>
</li>
<div
class=
"TeacherContent"
>
</div>
{{
SubItem
.
GuestStr
}}
<div
class=
"TeacherContent"
>
</div>
{{
item
.
GuestStr
}}
<div
style=
"margin:20px 0 30px 0;"
>
</div>
<span
class=
"saveModule"
>
存为模板
</span>
<div
style=
"margin:20px 0 30px 0;"
>
<span
class=
"beikeBtn"
v-if=
"SubItem.LessonPlanNum>0"
style=
"background:#3FC4FF;"
>
已备课
</span>
<span
class=
"beikeBtn"
v-if=
"item.LessonPlanNum>0"
style=
"background:#3FC4FF;"
@
click=
"goyibeike(item)"
>
已备课
</span>
<span
class=
"beikeBtn"
v-else
@
click=
"goBeike()"
>
备课
</span>
<span
class=
"beikeBtn"
v-else
@
click=
"goBeike(item)"
>
备课
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</
template
>
</
div
>
</div>
</div>
</div>
</div>
...
@@ -258,13 +280,16 @@
...
@@ -258,13 +280,16 @@
dataNum
:
0
,
//天数
dataNum
:
0
,
//天数
tYear
:
0
,
//年
tYear
:
0
,
//年
tMonth
:
0
,
//月
tMonth
:
0
,
//月
tDay
:
0
,
//日
ckedIndex
:
0
,
// 选中
msg
:
{
msg
:
{
School_Id
:
1
,
//学校
School_Id
:
0
,
//学校
Teacher_Id
:
2
,
//老师id
// Teacher_Id: 5
, //老师id
StartTime
:
'
2021-01-12
'
,
StartTime
:
''
,
EndTime
:
'
2021-01-14
'
EndTime
:
''
},
},
dataList
:
[]
dataList
:
[],
newDataList
:[],
}
}
},
},
created
()
{},
created
()
{},
...
@@ -272,7 +297,11 @@
...
@@ -272,7 +297,11 @@
var
myDate
=
new
Date
();
var
myDate
=
new
Date
();
this
.
tYear
=
myDate
.
getFullYear
();
this
.
tYear
=
myDate
.
getFullYear
();
this
.
tMonth
=
myDate
.
getMonth
()
+
1
;
this
.
tMonth
=
myDate
.
getMonth
()
+
1
;
this
.
tDay
=
myDate
.
getDate
();
this
.
ckedIndex
=
this
.
tDay
;
this
.
dataNum
=
this
.
mGetDate
(
this
.
tYear
,
this
.
tMonth
);
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
();
this
.
getList
();
},
},
methods
:
{
methods
:
{
...
@@ -289,6 +318,9 @@
...
@@ -289,6 +318,9 @@
this
.
tMonth
=
this
.
tMonth
-
1
;
this
.
tMonth
=
this
.
tMonth
-
1
;
}
}
this
.
dataNum
=
this
.
mGetDate
(
this
.
tYear
,
this
.
tMonth
);
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
()
{
getNextMonth
()
{
...
@@ -299,6 +331,9 @@
...
@@ -299,6 +331,9 @@
this
.
tMonth
=
this
.
tMonth
+
1
;
this
.
tMonth
=
this
.
tMonth
+
1
;
}
}
this
.
dataNum
=
this
.
mGetDate
(
this
.
tYear
,
this
.
tMonth
);
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
()
{
getList
()
{
...
@@ -306,12 +341,74 @@
...
@@ -306,12 +341,74 @@
console
.
log
(
res
,
'数据来了'
);
console
.
log
(
res
,
'数据来了'
);
if
(
res
.
Code
==
1
)
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
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 @@
...
@@ -139,7 +139,7 @@
<div
style=
"margin: 0"
>
价格信息
</div>
<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>
{{item.OriginalPrice.toFixed(2)}}
</span></div>
<div><span
class=
"d2-n"
>
售价
</span><span
<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"
>
<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>
更多优惠价格
<span
class=
"iconfont icon-xiangxia"
style=
"color: #2961FE;font-size: 10px"
></span>
<q-popup-proxy>
<q-popup-proxy>
...
@@ -159,7 +159,7 @@
...
@@ -159,7 +159,7 @@
<div
style=
"margin: 0"
>
名额信息
</div>
<div
style=
"margin: 0"
>
名额信息
</div>
<div><span
class=
"d2-n"
>
计划招生人数
</span><span>
{{item.ClassPersion}}人
</span></div>
<div><span
class=
"d2-n"
>
计划招生人数
</span><span>
{{item.ClassPersion}}人
</span></div>
<div><span
class=
"d2-n"
>
剩余招生名额
</span><span
<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>
<div
class=
"d7"
>
<div
class=
"d7"
>
<q-btn
color=
"primary"
label=
"立即下单"
v-if=
"item.IsCanApply==1"
@
click=
"placeAnorder(item)"
/>
<q-btn
color=
"primary"
label=
"立即下单"
v-if=
"item.IsCanApply==1"
@
click=
"placeAnorder(item)"
/>
...
@@ -172,7 +172,7 @@
...
@@ -172,7 +172,7 @@
</div>
</div>
</div>
</div>
<div
class=
"d6 row"
>
<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"
>
<div
class=
"progress"
>
<q-linear-progress
size=
"5px"
color=
"#3FC4FF"
:value=
"(item.OrderStudentCount/item.ClassPersion)"
<q-linear-progress
size=
"5px"
color=
"#3FC4FF"
:value=
"(item.OrderStudentCount/item.ClassPersion)"
rounded
/>
rounded
/>
...
@@ -613,7 +613,7 @@
...
@@ -613,7 +613,7 @@
}
}
.japaneseTrain
li
.d3
.d3-s
{
.japaneseTrain
li
.d3
.d3-s
{
color
:
#f5576c
;
color
:
var
(
--q-color-negative
)
;
font-weight
:
bold
font-weight
:
bold
}
}
...
...
src/pages/school/teacher.vue
View file @
6ae367e5
...
@@ -235,6 +235,12 @@
...
@@ -235,6 +235,12 @@
align
:
'left'
,
align
:
'left'
,
field
:
'TeacherAccount'
field
:
'TeacherAccount'
},
},
{
name
:
'LeaveStatusName'
,
label
:
'状态'
,
align
:
'left'
,
field
:
'LeaveStatusName'
},
{
{
name
:
'optioned'
,
name
:
'optioned'
,
label
:
'操作'
,
label
:
'操作'
,
...
...
src/router/routes.js
View file @
6ae367e5
...
@@ -143,6 +143,11 @@ const routes = [{
...
@@ -143,6 +143,11 @@ const routes = [{
component
:
()
=>
component
:
()
=>
import
(
"pages/course/lessonPreparation.vue"
)
import
(
"pages/course/lessonPreparation.vue"
)
},
},
{
path
:
"/course/prepareclassDetails"
,
//教师备课 备课详情
component
:
()
=>
import
(
"pages/course/prepareclassDetails.vue"
)
},
{
{
path
:
"/financial/PlatformAccount"
,
//平台账户
path
:
"/financial/PlatformAccount"
,
//平台账户
component
:
()
=>
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