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
3e749111
Commit
3e749111
authored
Feb 23, 2022
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
6d5d8738
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
688 additions
and
828 deletions
+688
-828
studentAdd-form.vue
src/components/school/student/studentAdd-form.vue
+0
-3
studentFU-form.vue
src/components/school/student/studentFU-form.vue
+377
-422
studentRight-form.vue
src/components/school/student/studentRight-form.vue
+1
-1
transfer-order.vue
src/components/school/student/transfer-order.vue
+310
-401
stuList.vue
src/pages/stuMan/stuList.vue
+0
-1
No files found.
src/components/school/student/studentAdd-form.vue
View file @
3e749111
...
...
@@ -32,9 +32,6 @@
data
()
{
return
{
persistent
:
true
,
msg
:
{
},
baseObj
:
{},
}
},
...
...
src/components/school/student/studentFU-form.vue
View file @
3e749111
<
template
>
<q-dialog
v-model=
"persistent"
full-height
maximized
position=
"right"
persistent
@
hide=
"closeCutomer"
transition-show=
"slide-left"
>
<q-dialog
v-model=
"persistent"
full-height
maximized
position=
"right"
persistent
@
hide=
"closeCutomer"
transition-show=
"slide-left"
>
<div
class=
"customMain"
>
<div
class=
"custom_Top"
>
<div
class=
"custom_HLeft"
>
<div
class=
"nameplate_avatar"
>
<img
v-if=
"baseObj.StuIcon"
style=
"width:100%;height:100%;"
:src=
"baseObj.StuIcon"
alt
/>
<img
v-if=
"baseObj.StuIcon"
style=
"width:100%;height:100%;"
:src=
"baseObj.StuIcon"
alt
/>
<div
class=
"student_Name"
v-else
>
<span
v-if=
"baseObj.StuName"
>
{{
baseObj
.
StuName
.
substring
(
0
,
1
)
...
...
@@ -28,21 +16,15 @@
<div
class=
"F_16"
>
{{
baseObj
.
StuName
}}
</div>
</div>
</div>
</div>
<div
class=
"custom_Bottom"
>
<div
class=
"detail-travel"
>
<div
class=
"detail_first"
>
<div
class=
"operate_Content"
style=
"flex:1;"
>
<div
class=
"detail_Main"
>
<!-- 操作 -->
<template
>
<template>
<div
class=
"operate_Content"
style=
"margin-top:20px;"
>
<div
style=
"display:flex;flex:1;flex-direction: column;overflow:hidden;"
>
<div
class=
"TimeLineDiv"
>
<q-timeline
color=
"primary"
>
...
...
@@ -50,7 +32,6 @@
<template
v-slot:title
>
<div
class=
"visit_Cont"
>
<div
class=
"Log_Content"
v-html=
"tItem.Remark"
></div>
</div>
</
template
>
<
template
v-slot:subtitle
>
...
...
@@ -64,14 +45,8 @@
</div>
</div>
<div
style=
"margin-bottom:20px;"
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"page_Count"
input
@
input=
"changePage"
/>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"page_Count"
input
@
input=
"changePage"
/>
</div>
</div>
</template>
...
...
@@ -87,15 +62,22 @@
</q-dialog>
</template>
<
script
>
import
{
queryEmployee
}
from
"../../../api/users/user"
;
import
{
ForwardStudent
,
queryStudentFollowPage
}
from
"../../../api/customerstudent/customerstudent"
;
import
{
import
{
queryEmployee
}
from
"../../../api/users/user"
;
import
{
ForwardStudent
,
queryStudentFollowPage
}
from
"../../../api/customerstudent/customerstudent"
;
import
{
getStudentInfo
,
//获取学员客户信息
queryStuStageList
//获取客户阶段列表
}
from
"../../../api/school/index"
;
import
studentGenjin
from
"../student/student-genjin"
;
import
{
SetStudentAssistBatch
}
from
"../../../api/sale/sale"
;
export
default
{
}
from
"../../../api/school/index"
;
import
studentGenjin
from
"../student/student-genjin"
;
import
{
SetStudentAssistBatch
}
from
"../../../api/sale/sale"
;
export
default
{
meta
:
{
title
:
"学员管理"
},
...
...
@@ -107,48 +89,25 @@ export default {
type
:
Object
,
default
:
null
},
isJudgeTrans
:
{
type
:
Number
,
default
:
null
},
BelongType
:
{
type
:
Number
,
default
:
null
}
},
data
()
{
return
{
persistent
:
true
,
ckedTab
:
"1"
,
secondType
:
1
,
pushing
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
StuId
:
0
},
baseObj
:
{},
transMsg
:
{
StuId
:
1
,
CreateBy
:
""
},
//员工列表
employeeList
:
[],
myEmployeeList
:
[],
isShowTrans
:
false
,
customStateList
:
[],
stateId
:
0
,
stuData
:
{},
userInfo
:
{},
dataList
:
[],
page_Count
:
0
,
page_Count
:
0
,
};
},
created
()
{
this
.
msg
.
StuId
=
this
.
saveObj
.
StuId
;
this
.
msg
.
STime
=
this
.
saveObj
.
STime
?
this
.
saveObj
.
STime
:
''
;
this
.
msg
.
ETime
=
this
.
saveObj
.
ETime
?
this
.
saveObj
.
ETime
:
''
;
this
.
msg
.
STime
=
this
.
saveObj
.
STime
?
this
.
saveObj
.
STime
:
''
;
this
.
msg
.
ETime
=
this
.
saveObj
.
ETime
?
this
.
saveObj
.
ETime
:
''
;
this
.
getList
()
this
.
userInfo
=
this
.
getLocalStorage
();
},
...
...
@@ -178,32 +137,28 @@ export default {
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
closeCutomer
()
{
this
.
$emit
(
"close"
);
},
}
};
};
</
script
>
<
style
scoped
>
.custom_RModel
{
.custom_RModel
{
width
:
500px
;
height
:
100%
;
}
}
.customMain
{
.customMain
{
width
:
600px
!important
;
display
:
flex
;
flex-direction
:
column
;
height
:
100
vh
;
padding
:
15px
17px
0
17px
;
background-color
:
#f4f4f6
;
}
}
.custom_Top
{
.custom_Top
{
width
:
100%
;
padding
:
22px
;
background
:
#fff
;
...
...
@@ -211,47 +166,47 @@ export default {
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
}
}
.custom_HLeft
{
.custom_HLeft
{
display
:
flex
;
}
}
.nameplate_avatar
{
.nameplate_avatar
{
width
:
60px
;
height
:
60px
;
flex-shrink
:
0
;
margin-right
:
14px
;
border-radius
:
5px
;
overflow
:
hidden
;
}
}
.F_16
{
.F_16
{
font-size
:
16px
;
}
}
.Name_List
{
.Name_List
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-around
;
overflow
:
hidden
;
}
}
.wechat_Name
{
.wechat_Name
{
color
:
#9999a8
;
display
:
flex
;
font-size
:
14px
;
}
}
.custom_Bottom
{
.custom_Bottom
{
margin-top
:
17px
;
flex
:
1
;
display
:
flex
;
margin-top
:
17px
;
overflow
:
hidden
;
}
}
.detail-info
{
.detail-info
{
flex-shrink
:
0
;
box-sizing
:
border-box
;
display
:
flex
;
...
...
@@ -263,13 +218,13 @@ export default {
background
:
#fff
;
border-radius
:
8px
8px
0
0
;
overflow
:
auto
;
}
}
.detail-info
::-webkit-scrollbar
{
.detail-info
::-webkit-scrollbar
{
display
:
none
;
}
}
.detail-travel
{
.detail-travel
{
width
:
100%
;
flex-grow
:
1
;
display
:
flex
;
...
...
@@ -278,26 +233,26 @@ export default {
background
:
#fff
;
border-radius
:
8px
8px
0
0
;
overflow
:
hidden
;
}
}
.edit_bar
{
.edit_bar
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
padding
:
12px
22px
;
}
}
.edit_info_wrap
{
.edit_info_wrap
{
padding
:
0
22px
12px
;
}
}
.custom_Line
{
.custom_Line
{
width
:
calc
(
100%
-
44px
);
margin
:
16px
22px
;
border-bottom
:
1px
solid
#d7d7d7
;
}
}
.custom_Edit
{
.custom_Edit
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
...
...
@@ -308,63 +263,63 @@ export default {
border-radius
:
4px
;
font-size
:
12px
;
cursor
:
pointer
;
}
}
.tripTypeContent
{
.tripTypeContent
{
display
:
flex
;
overflow-x
:
auto
;
white-space
:
nowrap
;
}
}
.StuCkedType
{
.StuCkedType
{
color
:
#3470ff
;
font-weight
:
700
;
}
}
.tripTypeContent
div
{
.tripTypeContent
div
{
margin-right
:
20px
;
cursor
:
pointer
;
}
}
.q-timeline__title
{
.q-timeline__title
{
margin-bottom
:
5px
;
}
}
.customUpdateTime
{
.customUpdateTime
{
display
:
flex
;
justify-content
:
space-between
;
font-size
:
14px
;
color
:
#9696a6
;
}
}
.q-timeline__subtitle
{
.q-timeline__subtitle
{
opacity
:
1
;
font-weight
:
normal
;
}
}
.follow_Component
{
.follow_Component
{
padding
:
0
22px
;
margin-top
:
10px
;
width
:
100%
;
background-color
:
#f6f6f6
;
border-radius
:
5px
;
}
}
.detail_first
{
.detail_first
{
margin
:
0
22px
;
display
:
flex
;
flex-direction
:
column
;
height
:
100%
;
}
}
.detail_Main
{
.detail_Main
{
display
:
flex
;
flex-direction
:
column
;
width
:
100%
;
height
:
100%
;
}
}
.student_Name
{
.student_Name
{
width
:
100%
;
height
:
100%
;
background
:
#004d40
;
...
...
@@ -372,53 +327,53 @@ export default {
text-align
:
center
;
line-height
:
60px
;
font-size
:
20px
;
}
}
.TimeLineDiv
{
.TimeLineDiv
{
height
:
620px
;
flex
:
1
;
height
:
100%
;
padding-right
:
20px
;
}
}
.Time_TopList
{
.Time_TopList
{
display
:
flex
;
justify-content
:
space-between
;
}
}
.visit_Cont
{
.visit_Cont
{
font-size
:
14px
;
}
}
.visit_delete
{
.visit_delete
{
font-size
:
14px
;
cursor
:
pointer
;
width
:
30px
;
}
}
.operate_Content
{
.operate_Content
{
overflow
:
auto
;
/* padding-right: 20px; */
}
}
.operate_Content
::-webkit-scrollbar
{
.operate_Content
::-webkit-scrollbar
{
width
:
6px
;
height
:
8px
;
}
}
.operate_Content
::-webkit-scrollbar-thumb
{
.operate_Content
::-webkit-scrollbar-thumb
{
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;
}
}
.operate_Content
::-webkit-scrollbar-thumb
{
.operate_Content
::-webkit-scrollbar-thumb
{
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#ededed
;
}
}
.Log_Content
{
.Log_Content
{
padding
:
10px
;
border-radius
:
5px
;
background-color
:
#f4f4f6
;
...
...
@@ -426,42 +381,42 @@ export default {
line-height
:
2
;
margin-top
:
10px
;
word-break
:
break-all
;
}
}
.stu_ComFeed
{
.stu_ComFeed
{
color
:
#3470ff
;
cursor
:
pointer
;
margin-left
:
20px
;
}
}
.StuCom_Remark
{
.StuCom_Remark
{
display
:
flex
;
}
}
.StuCom_Inner
{
.StuCom_Inner
{
width
:
100%
;
}
}
.StuCom_Left
{
.StuCom_Left
{
flex-shrink
:
0
;
width
:
57px
;
text-align-last
:
justify
;
}
}
.Stu_OrderId
{
.Stu_OrderId
{
color
:
#2961fe
;
font-weight
:
bold
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
}
.Stu_HtLeft
{
.Stu_HtLeft
{
width
:
57px
;
display
:
inline-block
;
text-align-last
:
justify
;
}
}
.fullscreen
{
.fullscreen
{
z-index
:
3000
;
}
}
</
style
>
\ No newline at end of file
src/components/school/student/studentRight-form.vue
View file @
3e749111
...
...
@@ -151,6 +151,7 @@
type
:
Object
,
default
:
null
},
//是否显示转交
isJudgeTrans
:
{
type
:
Number
,
default
:
null
...
...
@@ -554,7 +555,6 @@
.operate_Content
{
overflow
:
auto
;
/* padding-right: 20px; */
}
.operate_Content
::-webkit-scrollbar
{
...
...
src/components/school/student/transfer-order.vue
View file @
3e749111
<
template
>
<div
class=
"transfer-order"
>
<q-dialog
v-model=
"persistent"
persistent
content-class=
"bg-grey-1"
transition-show=
"scale"
transition-hide=
"scale"
@
hide=
"$emit('close')"
>
<q-dialog
v-model=
"persistent"
persistent
content-class=
"bg-grey-1"
transition-show=
"scale"
transition-hide=
"scale"
@
hide=
"$emit('close')"
>
<q-card
style=
"width: 800px;max-width:800px;"
>
<q-card-section
class=
"row items-center q-pb-none"
>
<div
class=
"text-h6"
>
转订单
</div>
...
...
@@ -24,57 +18,23 @@
<div
class=
"page-search row items-center"
>
<div
class=
"col row wrap q-mr-lg q-col-gutter-md"
>
<div
class=
"col-3"
>
<q-select
@
input=
"resetSearch"
filled
option-value=
"SId"
option-label=
"SName"
v-model=
"courseMsg.School_Id"
:options=
"schoolList"
emit-value
map-options
label=
"关联校区"
clearable
/>
<q-select
@
input=
"resetSearch"
filled
option-value=
"SId"
option-label=
"SName"
v-model=
"courseMsg.School_Id"
:options=
"schoolList"
emit-value
map-options
label=
"关联校区"
clearable
/>
</div>
<div
class=
"col-3"
>
<q-input
@
change=
"resetSearch"
clearable
filled
v-model=
"courseMsg.ClassNo"
label=
"班号"
@
clear=
"resetSearch"
maxlength=
"20"
/>
<q-input
@
change=
"resetSearch"
clearable
filled
v-model=
"courseMsg.ClassNo"
label=
"班号"
@
clear=
"resetSearch"
maxlength=
"20"
/>
</div>
<div
class=
"col-6"
>
<q-input
@
change=
"resetSearch"
clearable
filled
v-model=
"courseMsg.ClassName"
label=
"班级名称"
@
clear=
"resetSearch"
maxlength=
"20"
/>
<q-input
@
change=
"resetSearch"
clearable
filled
v-model=
"courseMsg.ClassName"
label=
"班级名称"
@
clear=
"resetSearch"
maxlength=
"20"
/>
</div>
<div
class=
"col-6"
>
<q-select
@
input=
"resetSearch"
@
filter=
"filterCourseFn"
use-input
filled
option-value=
"CourseId"
option-label=
"CourseName"
v-model=
"courseMsg.CouseId"
:options=
"myClassList"
emit-value
map-options
label=
"学习课程"
clearable
>
<q-select
@
input=
"resetSearch"
@
filter=
"filterCourseFn"
use-input
filled
option-value=
"CourseId"
option-label=
"CourseName"
v-model=
"courseMsg.CouseId"
:options=
"myClassList"
emit-value
map-options
label=
"学习课程"
clearable
>
<template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
...
...
@@ -84,31 +44,15 @@
</
template
>
</q-select>
</div>
<div
class=
"col-6"
>
<div
class=
"col-3 Sysuser_Date"
>
<q-field
filled
>
<
template
v-slot:control
>
<el-date-picker
v-model=
"courseMsg.StartTime"
type=
"date"
placeholder=
"开学日期"
size=
"small"
style=
"width:47%;"
@
change=
"resetSearch"
clear-icon=
"iconfont icon-guanbi"
>
</el-date-picker
>
至
<el-date-picker
v-model=
"courseMsg.EndTime"
type=
"date"
placeholder=
"结束日期"
size=
"small"
style=
"width:47%;"
@
change=
"resetSearch"
clear-icon=
"iconfont icon-guanbi"
>
<el-date-picker
v-model=
"courseMsg.StartTime"
type=
"date"
placeholder=
"开学日期"
size=
"small"
style=
"width:47%;"
@
change=
"resetSearch"
clear-icon=
"iconfont icon-guanbi"
>
</el-date-picker>
至
<el-date-picker
v-model=
"courseMsg.EndTime"
type=
"date"
placeholder=
"结束日期"
size=
"small"
style=
"width:47%;"
@
change=
"resetSearch"
clear-icon=
"iconfont icon-guanbi"
>
</el-date-picker>
</
template
>
</q-field>
...
...
@@ -116,60 +60,25 @@
</div>
</div>
</div>
<Course
:dataList=
"courseData"
@
select=
"selectClass"
:select=
"defaultCourse"
></Course>
<q-pagination
class=
"full-width justify-end"
v-model=
"courseMsg.pageIndex"
color=
"primary"
:max=
"coursePageCount"
:input=
"true"
@
input=
"changePage"
/>
<Course
:dataList=
"courseData"
@
select=
"selectClass"
:select=
"defaultCourse"
></Course>
<q-pagination
class=
"full-width justify-end"
v-model=
"courseMsg.pageIndex"
color=
"primary"
:max=
"coursePageCount"
:input=
"true"
@
input=
"changePage"
/>
</template>
<
template
v-if=
"mode == 2"
>
<yueke
@
select=
"selectCourse"
:select=
"defaultCourse"
></yueke>
</
template
>
</q-step>
<q-step
:name=
"3"
title=
"确认"
icon=
"settings"
:done=
"step > 3"
>
<orderForm
ref=
"orderForm"
:mode=
"mode"
:schoolList=
"schoolList"
:save-obj=
"saveObj"
:stuData=
"stuData"
:modityOrderType=
"1"
@
success=
"$emit('close')"
@
cancelloading=
"cancelloading"
></orderForm>
<orderForm
ref=
"orderForm"
:mode=
"mode"
:schoolList=
"schoolList"
:save-obj=
"saveObj"
:stuData=
"stuData"
:modityOrderType=
"1"
@
success=
"$emit('close')"
@
cancelloading=
"cancelloading"
></orderForm>
</q-step>
</q-stepper>
</q-card-section>
<q-card-actions
align=
"right"
class=
"bg-white q-mx-md "
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
v-close-popup
/>
<q-btn
@
click=
"$refs.stepper.previous()"
color=
"primary"
label=
"上一步"
v-if=
"step > 1"
/>
<q-btn
label=
"取消"
flat
color=
"grey-10"
style=
"font-weight:400 !important"
v-close-popup
/>
<q-btn
@
click=
"$refs.stepper.previous()"
color=
"primary"
label=
"上一步"
v-if=
"step > 1"
/>
<q-btn
@
click=
"next"
color=
"primary"
label=
"下一步"
v-if=
"step < 3"
/>
<q-btn
label=
"保存"
color=
"primary"
:loading=
"loading1"
@
click=
"saveOrderForm"
v-if=
"step == 3"
/>
<q-btn
label=
"保存"
color=
"primary"
:loading=
"loading1"
@
click=
"saveOrderForm"
v-if=
"step == 3"
/>
</q-card-actions>
</q-card>
</q-dialog>
...
...
@@ -177,24 +86,24 @@
</template>
<
script
>
import
{
import
{
getClassPruductList
,
//获取日语培训列表
setClassOrder
,
//新增 修改订单
getOrderGuestRenewState
}
from
"../../../api/sale/sale"
;
import
{
}
from
"../../../api/sale/sale"
;
import
{
getSchoolDropdown
,
//获取校区列表
getTeacherDropDownList
}
from
"../../../api/school/index"
;
import
{
}
from
"../../../api/school/index"
;
import
{
queryCourseDropdownList
,
getCourseSubject
}
from
"../../../api/course/index"
;
import
Mode
from
"./transfer-order/tickMode"
;
import
Course
from
"./transfer-order/courselist"
;
import
orderForm
from
"./transfer-order/order-form"
;
import
yueke
from
"./transfer-order/yueke"
;
export
default
{
}
from
"../../../api/course/index"
;
import
Mode
from
"./transfer-order/tickMode"
;
import
Course
from
"./transfer-order/courselist"
;
import
orderForm
from
"./transfer-order/order-form"
;
import
yueke
from
"./transfer-order/yueke"
;
export
default
{
props
:
{
select
:
{
type
:
Array
,
...
...
@@ -368,7 +277,7 @@ export default {
this
.
saveObj
=
val
[
0
];
this
.
saveObj
.
Unit_Price
=
this
.
saveObj
.
SellPrice
;
this
.
defaultCourse
=
val
;
}
else
{
}
else
{
this
.
saveObj
=
{};
this
.
saveObj
.
Unit_Price
=
0
;
this
.
defaultCourse
=
[];
...
...
@@ -380,7 +289,7 @@ export default {
this
.
saveObj
=
val
[
0
];
this
.
saveObj
.
Unit_Price
=
this
.
saveObj
.
SellPrice
;
this
.
defaultCourse
=
val
;
}
else
{
}
else
{
this
.
saveObj
=
{};
this
.
saveObj
.
Unit_Price
=
0
;
this
.
defaultCourse
=
[];
...
...
@@ -468,15 +377,15 @@ export default {
this
.
loading1
=
false
;
}
}
};
};
</
script
>
<
style
scoped
>
/
deep
/
.el-input__inner
{
/
deep
/
.el-input__inner
{
background-color
:
transparent
;
border
:
none
;
}
}
/
deep
/
.q-stepper__step-inner
{
/
deep
/
.q-stepper__step-inner
{
padding
:
0
24px
;
}
}
</
style
>
\ No newline at end of file
src/pages/stuMan/stuList.vue
View file @
3e749111
...
...
@@ -881,7 +881,6 @@
if
(
res
.
Code
==
1
)
{
this
.
TransListData
=
res
.
Data
;
this
.
MyTransListData
=
res
.
Data
;
console
.
log
(
res
,
'数据'
);
}
});
},
...
...
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