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
1812c884
Commit
1812c884
authored
Feb 22, 2022
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
22
parent
bdf50cdf
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
247 additions
and
14 deletions
+247
-14
App.vue
src/App.vue
+1
-1
index.js
src/api/stuMan/index.js
+8
-0
jumpCourse.vue
src/components/stuMan/jumpCourse.vue
+196
-0
detail.vue
src/components/stuMan/subscribe/detail.vue
+1
-0
subscribeForm.vue
src/components/stuMan/subscribe/subscribeForm.vue
+10
-9
stuList.vue
src/pages/stuMan/stuList.vue
+31
-4
No files found.
src/App.vue
View file @
1812c884
...
...
@@ -20,7 +20,7 @@ export default {
</
script
>
<
style
>
@import
url("//at.alicdn.com/t/font_2077629_
bgk17xi4zj
.css")
;
@import
url("//at.alicdn.com/t/font_2077629_
w1o8daso6r9
.css")
;
@font-face
{
font-family
:
'din'
;
src
:
url('./assets/font/DIN-Bold.otf')
format
(
'opentype'
);
...
...
src/api/stuMan/index.js
View file @
1812c884
...
...
@@ -79,4 +79,12 @@ export function getEventLogPageList(data) {
method
:
'post'
,
data
})
}
// 设置学生跳课
export
function
setGuestStartChapter
(
data
)
{
return
request
({
url
:
'/Scroll/SetGuestStartChapter'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/components/stuMan/jumpCourse.vue
0 → 100644
View file @
1812c884
<
template
>
<!-- 跳课 -->
<q-dialog
v-model=
"show"
content-class=
"bg-grey-1"
persistent
transition-show=
"scale"
transition-hide=
"scale"
>
<q-card
style=
"width: 900px; max-width: 900px"
>
<q-card-section
class=
"row items-center q-pb-none"
>
<div
class=
"text-h6"
>
跳课
</div>
<q-space
/>
<q-btn
icon=
"close"
flat
round
dense
@
click=
"changeDig(false)"
/>
</q-card-section>
<q-card-section
class=
"q-pt-none"
>
<div
class=
"row col flex q-col-gutter-md"
>
<q-field
filled
label=
"姓名"
readonly
stack-label
class=
"col-4"
>
<template
v-slot:control
>
<div>
{{
saveObj
.
GuestName
}}
</div>
</
template
>
</q-field>
<!-- <q-field filled label="课程" readonly stack-label class="col-4">
<template v-slot:control>
<div>{{ saveObj.CourseName }}</div>
</template>
</q-field>
<q-field filled label="班级" readonly stack-label class="col-4">
<template v-slot:control>
<div>{{ saveObj.ClassName }}</div>
</template>
</q-field> -->
<q-field
filled
label=
"已上课次数"
readonly
stack-label
class=
"col-4"
>
<
template
v-slot:control
>
<div>
{{
saveObj
.
CourseChapterNo
}}
</div>
</
template
>
</q-field>
<q-field
filled
label=
"预约次数"
readonly
stack-label
class=
"col-4"
>
<
template
v-slot:control
>
<div>
{{
saveObj
.
AppointNum
}}
</div>
</
template
>
</q-field>
</div>
<div
class=
"q-my-xs"
>
类型:
<q-radio
v-model=
"type"
val=
"a"
label=
"第一次课开始"
color=
"teal"
@
input=
"changeType"
/>
<q-radio
v-model=
"type"
val=
"b"
label=
"中途已上课"
color=
"teal"
@
input=
"changeType"
/>
<q-radio
v-model=
"type"
val=
"c"
label=
"后续未上课"
color=
"teal"
@
input=
"changeType"
/>
</div>
<div
class=
"row col q-col-gutter-md"
>
<q-input
filled
v-model
.
number=
"msg.SChapterNo"
label=
"跳课开始章节"
type=
"number"
class=
"col-4"
stack-label
:min=
"0"
v-if=
"type == 'b'"
@
input=
"changeStartChapter"
/>
<q-input
filled
v-model
.
number=
"endSChapterNo"
label=
"跳课结束章节"
type=
"number"
class=
"col-4"
stack-label
:min=
"0"
@
input=
"changeEndChapter"
/>
</div>
<div
class=
"q-my-xs"
>
跳课章节列表:{{ msg.ChapterNos }}
</div>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
@
click=
"changeDig(false)"
/>
<q-btn
label=
"保存"
color=
"accent q-px-md"
@
click=
"save"
/>
</q-card-actions>
</q-card>
</q-dialog>
</template>
<
script
>
import
{
setGuestStartChapter
}
from
"../../api/stuMan/index.js"
;
export
default
{
model
:
{
prop
:
"show"
,
event
:
"changeshow"
},
props
:
{
show
:
{
type
:
Boolean
,
default
:
false
},
saveObj
:
{
type
:
Object
}
},
watch
:
{
saveObj
:
{
handler
(
val
)
{
console
.
log
(
56
,
val
);
},
deep
:
true
}
},
data
()
{
return
{
type
:
"c"
,
saveLoading
:
false
,
msg
:
{
StuId
:
0
,
GuestId
:
0
,
CourseId
:
0
,
ChapterNos
:
""
,
SChapterNo
:
0
},
endSChapterNo
:
0
};
},
mounted
()
{},
methods
:
{
//开关弹窗
changeDig
(
val
)
{
this
.
$emit
(
"changeshow"
,
val
);
},
changeType
()
{
this
.
msg
.
SChapterNo
=
0
;
this
.
msg
.
ChapterNos
=
""
;
this
.
endSChapterNo
=
0
;
},
changeStartChapter
()
{
if
(
!
this
.
msg
.
SChapterNo
)
{
this
.
msg
.
SChapterNo
=
0
;
}
this
.
changeEndChapter
();
},
changeEndChapter
()
{
if
(
!
this
.
endSChapterNo
)
{
this
.
endSChapterNo
=
0
;
}
const
end
=
parseInt
(
this
.
endSChapterNo
);
let
arr
=
[];
if
(
this
.
type
==
"a"
)
{
for
(
let
i
=
1
;
i
<=
end
;
i
++
)
{
arr
.
push
(
i
);
}
}
else
if
(
this
.
type
==
"b"
)
{
for
(
let
i
=
this
.
msg
.
SChapterNo
;
i
<=
end
;
i
++
)
{
arr
.
push
(
i
);
}
}
else
if
(
this
.
type
==
"c"
)
{
let
start
=
this
.
saveObj
.
CourseChapterNo
+
this
.
saveObj
.
AppointNum
;
for
(
let
i
=
start
+
1
;
i
<=
end
;
i
++
)
{
arr
.
push
(
i
);
}
}
this
.
msg
.
ChapterNos
=
arr
.
toString
();
},
save
()
{
this
.
msg
.
StuId
=
this
.
saveObj
.
Student_Id
this
.
msg
.
GuestId
=
this
.
saveObj
.
Id
this
.
msg
.
CourseId
=
this
.
saveObj
.
CourseId
setGuestStartChapter
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
message
:
'操作成功'
,
position
:
"top"
,
});
this
.
changeDig
(
false
);
this
.
$emit
(
"success"
);
}
});
}
}
};
</
script
>
src/components/stuMan/subscribe/detail.vue
View file @
1812c884
...
...
@@ -237,6 +237,7 @@ export default {
position
:
"top"
,
type
:
"positive"
});
// this.saveObj.AppointState = 2
this
.
$emit
(
"close"
);
}
});
...
...
src/components/stuMan/subscribe/subscribeForm.vue
View file @
1812c884
...
...
@@ -80,7 +80,7 @@
map-options
label=
"老师"
class=
"col-12"
@
input=
"getCanTeacherTimeList
()
"
@
input=
"getCanTeacherTimeList"
/>
<q-field
filled
...
...
@@ -150,7 +150,6 @@
:dense=
"false"
class=
"col-6"
@
filter=
"filterStu"
@
input=
"addStu"
>
<
template
v-slot:no-option
>
<q-item>
...
...
@@ -288,7 +287,7 @@ export default {
addLoading
:
false
,
chapterList
:
[],
//章节列表,
checkChapter
:
{},
//选择的章节
returnString
:
[]
//章节默认值
returnString
:
[]
,
//章节默认值
};
},
mounted
()
{
...
...
@@ -345,6 +344,7 @@ export default {
//获取老师的空闲上课时段
getCanTeacherTimeList
()
{
this
.
teaClassMsg
.
Date
=
this
.
dateObj
.
date
;
this
.
stuInfo
=
""
;
if
(
this
.
teaClassMsg
.
TeacherId
==
0
)
return
;
GetCanTeacherClassTimeList
(
this
.
teaClassMsg
).
then
(
res
=>
{
this
.
teacherTimeList
=
res
.
Data
;
...
...
@@ -374,7 +374,6 @@ export default {
}
});
},
addStu
()
{},
//获取章节
getChapterTree
()
{
if
(
this
.
teaClassMsg
.
CourseId
==
0
)
return
;
...
...
@@ -449,6 +448,7 @@ export default {
const
totalTime
=
this
.
courseCheckList
.
reduce
((
pre
,
cur
)
=>
{
return
(
pre
+=
cur
.
Minutes
);
},
0
);
console
.
log
(
452
,
this
.
courseCheckList
,
totalTime
);
if
(
this
.
checkChapter
.
StudyMinutes
!==
totalTime
)
{
this
.
$q
.
notify
({
message
:
"课时不匹配,请重新上课时段"
,
...
...
@@ -503,11 +503,12 @@ export default {
message
:
"操作成功"
,
position
:
"top"
});
this
.
saveObj
.
GuestList
.
push
({
GuestName
:
this
.
stuInfo
.
StuName
,
AppointmentId
:
res
.
Data
})
if
(
this
.
editType
==
2
)
{
this
.
saveObj
.
GuestList
.
push
({
GuestName
:
this
.
stuInfo
.
StuName
,
AppointmentId
:
res
.
Data
});
}
this
.
stuInfo
=
""
;
this
.
getStu
();
this
.
$emit
(
"success"
);
...
...
src/pages/stuMan/stuList.vue
View file @
1812c884
...
...
@@ -384,9 +384,14 @@
@
click=
"transferClass(props.row, 1)"
/>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left: 10px"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"showAddEvent(props.row)"
>
<q-item
dense
clickable
v-close-popup
@
click=
"showAddEvent(props.row)"
>
<q-item-section>
<q-item-label>
添加事件
</q-item-label>
<q-item-label
overline
>
添加事件
</q-item-label>
</q-item-section>
</q-item>
<q-item
dense
clickable
v-close-popup
@
click=
"showChangeCourse(props.row)"
>
<q-item-section>
<q-item-label
overline
>
跳课
</q-item-label>
</q-item-section>
</q-item>
</q-list>
...
...
@@ -422,6 +427,8 @@
<studentRight-form
v-if=
"isShowStuRight"
:isJudgeTrans=
"isJudgeTrans"
:BelongType=
"BelongType"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"refreshStuList"
@
reload=
"refreshStuList"
>
</studentRight-form>
<!-- 跳课 -->
<JumpCourse
v-model=
"isShowChangeCourse"
:saveObj=
"ChangeCourseObj"
@
success=
"refreshPage"
></JumpCourse>
</div>
</template>
<
script
>
...
...
@@ -453,6 +460,7 @@
import
list
from
"../../components/stuMan/makeUpHours.vue"
;
//可补课课时,缺勤次数,请假次数
import
eventLog
from
"../../components/stuMan/eventRecord.vue"
;
//事件记录
import
studentRightForm
from
"../../components/school/student/studentRight-form"
;
import
JumpCourse
from
"../../components/stuMan/jumpCourse"
import
{
queryEmployee
}
from
"../../api/users/user"
;
...
...
@@ -469,7 +477,8 @@
myOrderForm
,
list
,
eventLog
,
studentRightForm
studentRightForm
,
JumpCourse
},
data
()
{
...
...
@@ -644,6 +653,18 @@
field
:
"MakeUpHours"
,
align
:
"left"
},
{
name
:
"CourseChapterNo"
,
label
:
"已上课次数"
,
field
:
"CourseChapterNo"
,
align
:
"left"
},
{
name
:
"AppointNum"
,
label
:
"预约次数"
,
field
:
"AppointNum"
,
align
:
"left"
},
{
name
:
"AbsenceNum"
,
label
:
"缺勤次数"
,
...
...
@@ -742,7 +763,9 @@
TransListData
:
[],
//转介人数据
MyTransListData
:
[],
source
:
0
,
//1:从课程列表进入
courseName
:
""
courseName
:
""
,
isShowChangeCourse
:
false
,
ChangeCourseObj
:{}
};
},
created
()
{
...
...
@@ -1145,6 +1168,10 @@
},
refreshStuList
()
{
this
.
getList
();
},
showChangeCourse
(
item
){
this
.
isShowChangeCourse
=
true
this
.
ChangeCourseObj
=
item
}
}
};
...
...
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