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
22c73014
Commit
22c73014
authored
Mar 09, 2022
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2
parent
99363e06
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
43 additions
and
415 deletions
+43
-415
subscribe.js
src/api/studyabroad/subscribe.js
+10
-0
detail.vue
src/components/stuMan/subscribe/detail.vue
+8
-22
makeUp.vue
src/components/stuMan/subscribe/makeUp.vue
+23
-12
reStudy.vue
src/components/stuMan/subscribe/reStudy.vue
+0
-176
replenish.vue
src/components/stuMan/subscribe/replenish.vue
+0
-170
subscribeForm.vue
src/components/stuMan/subscribe/subscribeForm.vue
+2
-35
No files found.
src/api/studyabroad/subscribe.js
View file @
22c73014
...
...
@@ -150,4 +150,14 @@ export function setAdminScrollAppointment_V2(data) {
method
:
'post'
,
data
})
}
/**
* 补录约课
*/
export
function
setAdminScrollMakeUp
(
data
)
{
return
request
({
url
:
'/Scroll/SetAdminScrollMakeUp'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/components/stuMan/subscribe/detail.vue
View file @
22c73014
...
...
@@ -45,7 +45,8 @@
<div>
<span
v-if=
"saveObj.ClassType == 1"
>
{{
saveObj
.
Ranks
}}
/
{{
saveObj
.
TotalPlanNum
}}
</span>
<span
v-if=
"saveObj.ClassType == 3"
>
第
{{
saveObj
.
Ranks
||
0
}}
次课
</span>
<span
class=
"q-ml-sm"
v-if=
"saveObj.ClassType == 3&&saveObj.CourseGradeName"
>
(
{{
saveObj
.
CourseGradeName
}}
)
</span>
<span
class=
"q-ml-sm"
v-if=
"saveObj.ClassType == 3&&saveObj.CourseGradeName"
>
(
{{
saveObj
.
CourseGradeName
}}
)
</span>
</div>
</
template
>
</q-field>
...
...
@@ -90,9 +91,6 @@
class=
"q-mr-sm"
/>
<q-btn
color=
"accent"
size=
"xs"
label=
"取消预约"
@
click=
"cancelSub()"
:disable=
"checkStuType2.length == 0"
class=
"q-mr-sm"
/>
<q-btn
color=
"accent"
size=
"xs"
label=
"补录"
@
click=
"showMakeUpDig = true"
style=
"margin-left:440px"
/>
<!--
<q-btn
color=
"accent"
size=
"xs"
label=
"补课"
@
click=
"showRelenishDig = true"
style=
"margin-left:440px"
/>
<q-btn
color=
"accent"
size=
"xs"
label=
"重学"
@
click=
"showReStudyDig = true"
class=
"q-ml-sm"
/>
-->
</div>
<div
class=
"row"
>
...
...
@@ -103,7 +101,10 @@
</q-checkbox>
</div>
</div>
<div
v-else
>
<div
class=
"row col-12 relative-position"
v-else
>
<div
class=
"absolute"
style=
"top:-20px;right:0"
v-if=
"auth.IsEdit"
>
<q-btn
color=
"accent"
size=
"xs"
label=
"补录"
@
click=
"showMakeUpDig = true"
/>
</div>
<span
v-for=
"(x, y) in saveObj.GuestList"
:key=
"y"
>
{{
x
.
GuestName
}}
<span
v-if=
"x.AppointType == 2"
>
(补)
</span>
...
...
@@ -125,9 +126,7 @@
</q-field>
</div>
<ChangeCourse
v-model=
"showChangeDig"
:saveObj=
"CourseObj"
@
success=
"ChangeCourseSuccessHandle"
/>
<ReStudy
v-model=
"showReStudyDig"
:saveObj=
"saveObj"
:date=
"dateObj.date"
@
success=
"ReStudyHandle"
></ReStudy>
<Relenish
v-model=
"showRelenishDig"
:saveObj=
"saveObj"
:date=
"dateObj.date"
@
success=
"RelenishHandle"
></Relenish>
<MakeUp
v-model=
"showMakeUpDig"
:saveObj=
"saveObj"
:date=
"dateObj.date"
@
success=
"RelenishHandle"
></MakeUp>
<MakeUp
v-model=
"showMakeUpDig"
:saveObj=
"saveObj"
:date=
"dateObj.date"
@
success=
"makeUpHandle"
></MakeUp>
</div>
</template>
<
script
>
...
...
@@ -136,14 +135,10 @@
SetSureAppointment
}
from
"../../../api/studyabroad/subscribe.js"
;
import
ChangeCourse
from
"./changeCourse"
;
import
ReStudy
from
"./reStudy"
;
import
Relenish
from
"./replenish.vue"
;
import
MakeUp
from
"./makeUp.vue"
export
default
{
components
:
{
ChangeCourse
,
ReStudy
,
Relenish
,
MakeUp
},
props
:
{
...
...
@@ -168,8 +163,6 @@
return
{
checkStuType2
:
[],
//
showChangeDig
:
false
,
showReStudyDig
:
false
,
showRelenishDig
:
false
,
showMakeUpDig
:
false
,
CourseObj
:
{}
};
...
...
@@ -235,7 +228,6 @@
position
:
"top"
,
type
:
"positive"
});
// this.saveObj.AppointState = 2
this
.
$emit
(
"close"
);
}
});
...
...
@@ -251,13 +243,7 @@
ChangeCourseSuccessHandle
()
{
this
.
$emit
(
"close"
);
},
ReStudyHandle
(
val
)
{
let
arr
=
this
.
saveObj
.
GuestList
||
[];
arr
.
push
(
val
);
this
.
$set
(
this
.
saveObj
,
"GuestList"
,
arr
);
this
.
$emit
(
"success"
);
},
RelenishHandle
(
val
)
{
makeUpHandle
(
val
)
{
let
arr
=
this
.
saveObj
.
GuestList
||
[];
arr
.
push
(
val
);
this
.
$set
(
this
.
saveObj
,
"GuestList"
,
arr
);
...
...
src/components/stuMan/subscribe/makeUp.vue
View file @
22c73014
...
...
@@ -19,7 +19,7 @@
<q-input
filled
stack-label
v-model=
"
reStuM
sg.StuName"
v-model=
"
m
sg.StuName"
label=
"学员姓名"
class=
"col-10"
hint=
"提示:需输入学员姓名查询学员列表"
...
...
@@ -52,6 +52,17 @@
</q-item-section>
</q-item>
</
template
>
<
template
v-slot:option=
"scope"
>
<q-item
v-bind=
"scope.itemProps"
v-on=
"scope.itemEvents"
>
<q-item-section
>
<div
class=
"flex"
>
<span>
{{
scope
.
opt
.
StuName
}}
</span>
<span
v-if=
"scope.opt.State===3"
>
(重)
</span>
<span
class=
"q-ml-sm"
>
{{
scope
.
opt
.
CourseName
}}
</span>
</div>
</q-item-section>
</q-item>
</
template
>
</q-select>
<div
class=
"col-2 q-pt-md"
>
<q-btn
...
...
@@ -75,8 +86,8 @@
</template>
<
script
>
import
{
getCanAppointment
AgainList
,
setA
ppointmentAgain
getCanAppointment
StuList_V2
,
setA
dminScrollMakeUp
}
from
"../../../api/studyabroad/subscribe.js"
;
export
default
{
model
:
{
...
...
@@ -106,9 +117,9 @@ export default {
},
data
()
{
return
{
reStuM
sg
:
{
m
sg
:
{
StuName
:
""
,
CourseGradeNo
:
0
,
Next
CourseGradeNo
:
0
,
CourseGradeId
:
0
},
stuInfo
:
""
,
...
...
@@ -121,16 +132,16 @@ export default {
this
.
$emit
(
"changeshow"
,
val
);
},
getStu
()
{
if
(
!
this
.
reStuM
sg
.
StuName
)
{
if
(
!
this
.
m
sg
.
StuName
)
{
this
.
$q
.
notify
({
message
:
"请输入学生姓名"
,
position
:
"top"
});
return
;
}
this
.
reStuMsg
.
CourseGradeNo
=
this
.
saveObj
.
Ranks
,
this
.
reStuM
sg
.
CourseGradeId
=
this
.
saveObj
.
CourseGradeId
;
getCanAppointment
AgainList
(
this
.
reStuM
sg
).
then
(
res
=>
{
this
.
msg
.
Next
CourseGradeNo
=
this
.
saveObj
.
Ranks
,
this
.
m
sg
.
CourseGradeId
=
this
.
saveObj
.
CourseGradeId
;
getCanAppointment
StuList_V2
(
this
.
m
sg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
stuOptions
=
res
.
Data
;
}
...
...
@@ -154,7 +165,7 @@ export default {
CourseGradeNo
:
this
.
saveObj
.
Ranks
,
CourseGradeId
:
this
.
saveObj
.
CourseGradeId
};
setA
ppointmentAgain
(
saveMsg
).
then
(
res
=>
{
setA
dminScrollMakeUp
(
saveMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
message
:
"操作成功"
,
...
...
@@ -162,12 +173,12 @@ export default {
});
this
.
$emit
(
"success"
,
{
GuestName
:
this
.
stuInfo
.
StuName
,
AppointType
:
3
,
AppointType
:
1
,
AppointmentId
:
res
.
Data
});
this
.
msg
.
StuName
=
[]
this
.
stuInfo
=
""
;
this
.
stuOptions
=
[];
this
.
getStu
();
}
});
}
...
...
src/components/stuMan/subscribe/reStudy.vue
deleted
100644 → 0
View file @
99363e06
<
template
>
<div>
<q-dialog
v-model=
"show"
persistent
transition-show=
"scale"
transition-hide=
"scale"
@
input=
"changeDig"
>
<q-card
style=
"width: 600px;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 scroll"
style=
"max-height: 70vh"
>
<div
class=
"row col q-mr-lg q-col-gutter-md changeCourse"
>
<div
class=
"row col-12"
>
<q-input
filled
stack-label
v-model=
"reStuMsg.StuName"
label=
"学员姓名"
class=
"col-10"
hint=
"提示:需输入学员姓名查询学员列表"
/>
<div
class=
"col-2 q-pt-md"
>
<q-btn
size=
"sm"
color=
"accent"
label=
"查询"
@
click=
"getStu"
class=
"q-ml-md"
/>
</div>
</div>
<div
class=
"row col-12"
>
<q-select
filled
v-model=
"stuInfo"
stack-label
option-value=
"StuId"
option-label=
"StuName"
:options=
"stuOptions"
label=
"学员列表"
class=
"col-10"
>
<template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
未找到相关数据
</q-item-section>
</q-item>
</
template
>
</q-select>
<div
class=
"col-2 q-pt-md"
>
<q-btn
size=
"sm"
color=
"accent"
label=
"添加"
@
click=
"save"
class=
"q-ml-md"
/>
</div>
</div>
</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-card-actions>
</q-card>
</q-dialog>
</div>
</template>
<
script
>
import
{
getCanAppointmentAgainList
,
setAppointmentAgain
}
from
"../../../api/studyabroad/subscribe.js"
;
export
default
{
model
:
{
prop
:
"show"
,
event
:
"changeshow"
},
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
},
date
:
{
type
:
String
,
default
:
""
},
show
:
{
type
:
Boolean
,
default
:
false
}
},
watch
:
{
show
(
val
)
{
if
(
val
)
{
this
.
stuOptions
=
[];
}
}
},
data
()
{
return
{
reStuMsg
:
{
StuName
:
""
,
CourseGradeNo
:
0
,
CourseGradeId
:
0
},
stuInfo
:
""
,
stuOptions
:
[]
};
},
methods
:
{
//开关弹窗
changeDig
(
val
)
{
this
.
$emit
(
"changeshow"
,
val
);
},
getStu
()
{
if
(
!
this
.
reStuMsg
.
StuName
)
{
this
.
$q
.
notify
({
message
:
"请输入学生姓名"
,
position
:
"top"
});
return
;
}
this
.
reStuMsg
.
CourseGradeNo
=
this
.
saveObj
.
Ranks
,
this
.
reStuMsg
.
CourseGradeId
=
this
.
saveObj
.
CourseGradeId
;
getCanAppointmentAgainList
(
this
.
reStuMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
stuOptions
=
res
.
Data
;
}
});
},
save
()
{
if
(
!
this
.
stuInfo
.
StuId
)
{
this
.
$q
.
notify
({
message
:
"请选择学生"
,
position
:
"top"
});
return
;
}
const
saveMsg
=
{
Date
:
this
.
date
,
TeacherId
:
this
.
saveObj
.
Tid
,
ShiftSort
:
this
.
saveObj
.
ShiftSort
,
StuId
:
this
.
stuInfo
.
StuId
,
GuestId
:
this
.
stuInfo
.
GuestId
,
CourseId
:
this
.
saveObj
.
CourseId
,
CourseGradeNo
:
this
.
saveObj
.
Ranks
,
CourseGradeId
:
this
.
saveObj
.
CourseGradeId
};
setAppointmentAgain
(
saveMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
message
:
"操作成功"
,
position
:
"top"
});
this
.
$emit
(
"success"
,
{
GuestName
:
this
.
stuInfo
.
StuName
,
AppointType
:
3
,
AppointmentId
:
res
.
Data
});
this
.
stuInfo
=
""
;
this
.
stuOptions
=
[];
this
.
getStu
();
}
});
}
}
};
</
script
>
src/components/stuMan/subscribe/replenish.vue
deleted
100644 → 0
View file @
99363e06
<
template
>
<div>
<q-dialog
v-model=
"show"
persistent
transition-show=
"scale"
transition-hide=
"scale"
@
input=
"changeDig"
>
<q-card
style=
"width: 600px;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 scroll"
style=
"max-height: 70vh"
>
<div
class=
"row col q-mr-lg q-col-gutter-md changeCourse"
>
<div
class=
"row col-12"
>
<q-select
filled
v-model=
"stuInfo"
use-input
stack-label
option-value=
"StuId"
option-label=
"StuName"
:options=
"stuOptions"
label=
"学员列表"
class=
"col-10"
@
filter=
"filterStu"
>
<template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
未找到相关数据
</q-item-section>
</q-item>
</
template
>
</q-select>
<div
class=
"col-2 q-pt-md"
>
<q-btn
size=
"sm"
color=
"accent"
label=
"添加"
@
click=
"save"
class=
"q-ml-md"
/>
</div>
</div>
</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-card-actions>
</q-card>
</q-dialog>
</div>
</template>
<
script
>
import
{
getCanMakeupStuList
,
setAppointmentMakeup
}
from
"../../../api/studyabroad/subscribe.js"
;
export
default
{
model
:
{
prop
:
"show"
,
event
:
"changeshow"
},
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
},
date
:
{
type
:
String
,
default
:
""
},
show
:
{
type
:
Boolean
,
default
:
false
}
},
watch
:
{
show
(
val
)
{
if
(
val
)
{
this
.
getStu
();
this
.
stuOptions
=
[];
this
.
AllStuOptions
=
[];
}
}
},
data
()
{
return
{
reStuMsg
:
{
ChapterNo
:
0
},
stuInfo
:
"请选择"
,
stuOptions
:
[],
AllStuOptions
:
[]
};
},
methods
:
{
//开关弹窗
changeDig
(
val
)
{
this
.
$emit
(
"changeshow"
,
val
);
},
getStu
()
{
const
msg
=
{
CourseGradeNo
:
this
.
saveObj
.
Ranks
,
CourseGradeId
:
this
.
saveObj
.
CourseGradeId
};
getCanMakeupStuList
(
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
stuOptions
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
this
.
AllStuOptions
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
}
});
},
//筛选学生
filterStu
(
val
,
update
)
{
update
(()
=>
{
if
(
val
===
""
)
{
this
.
stuOptions
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
AllStuOptions
));
}
else
{
const
needle
=
val
.
toLowerCase
();
this
.
stuOptions
=
this
.
AllStuOptions
.
filter
(
v
=>
v
.
StuName
.
toLowerCase
().
indexOf
(
needle
)
>
-
1
);
}
});
},
save
()
{
if
(
!
this
.
stuInfo
.
StuId
)
{
this
.
$q
.
notify
({
message
:
"请选择学生"
,
position
:
"top"
});
return
;
}
const
saveMsg
=
{
Date
:
this
.
date
,
TeacherId
:
this
.
saveObj
.
Tid
,
ShiftSort
:
this
.
saveObj
.
ShiftSort
,
StuId
:
this
.
stuInfo
.
StuId
,
GuestId
:
this
.
stuInfo
.
GuestId
,
CourseId
:
this
.
saveObj
.
CourseId
,
CourseGradeNo
:
this
.
saveObj
.
Ranks
,
CourseGradeId
:
this
.
saveObj
.
CourseGradeId
};
setAppointmentMakeup
(
saveMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
message
:
"操作成功"
,
position
:
"top"
});
this
.
$emit
(
"success"
,
{
GuestName
:
this
.
stuInfo
.
StuName
,
AppointType
:
2
,
AppointmentId
:
res
.
Data
});
this
.
stuInfo
=
""
;
this
.
stuOptions
=
[];
this
.
AllStuOptions
=
[];
this
.
getStu
();
}
});
}
}
};
</
script
>
src/components/stuMan/subscribe/subscribeForm.vue
View file @
22c73014
...
...
@@ -101,7 +101,7 @@
<div
class=
"flex"
>
<span>
{{
scope
.
opt
.
StuName
}}
</span>
<span
v-if=
"scope.opt.State===3"
>
(重)
</span>
<span
>
-
{{
scope
.
opt
.
CourseName
}}
</span>
<span
class=
"q-ml-sm"
>
{{
scope
.
opt
.
CourseName
}}
</span>
</div>
</q-item-section>
</q-item>
...
...
@@ -135,8 +135,6 @@
<
script
>
import
{
GetCanTeacherClassTimeList
,
GetCanAppointmentStuList
,
// SetAdminScrollAppointment,
getCanAppointmentStuList_V2
,
setAdminScrollAppointment_V2
}
from
"../../../api/studyabroad/subscribe.js"
;
...
...
@@ -201,9 +199,6 @@
this
.
stuList
=
[];
this
.
allStuList
=
[];
this
.
stuMsg_v2
.
StuName
=
""
// if (this.editType == 2 && this.saveObj.ClassType == 3) {
// this.getStu_V2();
// }
}
}
},
...
...
@@ -219,10 +214,6 @@
},
stuList
:
[],
allStuList
:
[],
stuMsg
:
{
CourseId
:
0
,
NextCourseGradeNo
:
0
},
stuMsg_v2
:
{
StuName
:
""
,
NextCourseGradeNo
:
0
,
...
...
@@ -240,7 +231,6 @@
StuId
:
0
,
GuestId
:
0
,
CourseId
:
0
,
// ChapterNo: 0,
CourseGradeId
:
0
,
CourseGradeNo
:
0
},
...
...
@@ -255,7 +245,6 @@
};
},
mounted
()
{
this
.
getCourseList
();
},
methods
:
{
...
...
@@ -316,24 +305,6 @@
this
.
teacherTimeList
=
res
.
Data
;
});
},
//获取学生列表
getStu
()
{
console
.
log
(
this
.
checkChapter
)
return
this
.
stuMsg
.
CourseId
=
this
.
teaClassMsg
.
CourseId
||
0
;
if
(
this
.
editType
==
1
)
{
this
.
stuMsg
.
CourseGradeId
=
this
.
checkChapter
.
CourseRate
||
0
;
this
.
stuMsg
.
NextCourseGradeNo
=
this
.
checkChapter
.
ChapterGradeNo
||
0
;
}
if
(
this
.
editType
==
2
)
{
this
.
stuMsg
.
CourseGradeId
=
this
.
saveObj
.
CourseGradeId
||
0
;
this
.
stuMsg
.
NextCourseGradeNo
=
this
.
saveObj
.
Ranks
||
0
;
}
GetCanAppointmentStuList
(
this
.
stuMsg
).
then
(
res
=>
{
this
.
stuList
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
this
.
allStuList
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
});
},
//筛选学生
filterStu
(
val
,
update
)
{
update
(()
=>
{
...
...
@@ -366,7 +337,6 @@
this
.
stuMsg_v2
.
CourseGradeId
=
this
.
saveObj
.
CourseGradeId
}
getCanAppointmentStuList_V2
(
this
.
stuMsg_v2
).
then
(
res
=>
{
console
.
log
(
337
,
res
)
this
.
stuList
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
this
.
allStuList
=
JSON
.
parse
(
JSON
.
stringify
(
res
.
Data
));
})
...
...
@@ -403,9 +373,6 @@
return
;
}
});
if
(
this
.
checkChapter
.
CourseRate
&&
this
.
checkChapter
.
ChapterNo
)
{
// this.getStu();
}
this
.
teaClassMsg
.
TeacherId
=
0
;
this
.
teacherTimeList
=
[];
},
...
...
@@ -511,7 +478,7 @@
});
}
this
.
stuInfo
=
""
;
this
.
getStu_V2
();
this
.
stuMsg_v2
.
StuName
=
""
this
.
$emit
(
"success"
);
}
})
...
...
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