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
1582f3ec
Commit
1582f3ec
authored
Aug 28, 2024
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
0f1d7d23
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
310 additions
and
30 deletions
+310
-30
scrollBar.vue
src/components/common/scrollBar.vue
+61
-0
editOrder-form.vue
src/components/sale/editOrder-form.vue
+2
-2
stulist.vue
src/components/school/student/stulist.vue
+24
-28
StudentProgress.vue
src/pages/stuMan/StudentProgress.vue
+218
-0
routes.js
src/router/routes.js
+5
-0
No files found.
src/components/common/scrollBar.vue
0 → 100644
View file @
1582f3ec
<
template
>
<div
class=
"col"
></div>
</
template
>
<
script
>
export
default
{
props
:
{
targetBox
:
{
type
:
String
,
required
:
true
},
targetWrap
:
{
type
:
String
,
required
:
true
}
},
data
()
{
return
{};
},
methods
:
{
createResizeObserver
()
{
this
.
resizeObserver
=
new
ResizeObserver
(
entries
=>
{
for
(
let
entry
of
entries
)
{
console
.
log
(
"Element size changed:"
,
entry
.
contentRect
);
// 你可以在这里处理大小变化的逻辑
}
});
this
.
resizeObserver
.
observe
(
this
.
$refs
.
resizeElement
);
},
destroyResizeObserver
()
{
if
(
this
.
resizeObserver
)
{
this
.
resizeObserver
.
disconnect
();
}
}
},
mounted
()
{
this
.
createResizeObserver
();
},
beforeDestroy
()
{
this
.
destroyResizeObserver
();
}
};
</
script
>
<
style
>
.scroll-box
::-webkit-scrollbar
{
width
:
6px
;
height
:
6px
;
}
.scroll-box
::-webkit-scrollbar-thumb
{
background-color
:
#888
;
border-radius
:
6px
;
}
.scroll-box
::-webkit-scrollbar-thumb:hover
{
background-color
:
#555
;
}
.scroll-box
::-webkit-scrollbar-track
{
background-color
:
#f1f1f1
;
}
</
style
>
src/components/sale/editOrder-form.vue
View file @
1582f3ec
...
...
@@ -98,7 +98,7 @@
</q-item>
</
template
>
</q-select>
<q-select
:disable=
"(modityOrderType==2)||(OrderMsg.JoinType==3)"
v-model=
"OrderMsg.CourseConsultantId"
<
!-- <
q-select :disable="(modityOrderType==2)||(OrderMsg.JoinType==3)" v-model="OrderMsg.CourseConsultantId"
:options="EmployeeList" filled use-input label="课程顾问" option-label="EmployeeName" option-value="Id"
ref="EmployeeName" class="col-6 q-pb-lg" emit-value map-options @filter="filterFn">
<template v-slot:no-option>
...
...
@@ -108,7 +108,7 @@
</q-item-section>
</q-item>
</template>
</q-select>
</q-select>
-->
<q-select
style=
"display:none;"
:disable=
"(modityOrderType==2)||(OrderMsg.JoinType==3)"
v-model=
"OrderMsg.CustomerId"
:options=
"myCustomerList"
filled
use-input
label=
"同行"
option-label=
"CustomerName"
option-value=
"CustomerId"
ref=
"CustomerName"
class=
"col-6 q-pb-lg"
emit-value
map-options
@
filter=
"cusfilterFn"
>
...
...
src/components/school/student/stulist.vue
View file @
1582f3ec
...
...
@@ -73,9 +73,9 @@
@
click=
"pushMode = true"
/>
<!-- <q-btn color="accent" outline class="q-mr-md" size="sm" icon="swap_horiz" label="推送课程顾问"
v-if="userInfo.IsCourseConsultant == 0" @click="pushMode = true" /> -->
<q-btn
color=
"accent"
v-if=
"StudentType !=2"
class=
"q-mr-md"
size=
"sm"
icon=
"swap_horiz"
label=
"转订单"
<q-btn
color=
"accent"
class=
"q-mr-md"
size=
"sm"
icon=
"swap_horiz"
label=
"转订单"
:disable=
"selection.length === 0"
@
click=
"transferOrder"
/>
<q-btn
color=
"accent"
v-if=
"StudentType==2"
class=
"q-mr-md"
size=
"sm"
icon=
"swap_horiz"
label=
"转留学"
<q-btn
color=
"accent"
class=
"q-mr-md"
size=
"sm"
icon=
"swap_horiz"
label=
"转留学"
:disable=
"selection.length === 0"
@
click=
"transferAbroad"
/>
<q-btn
color=
"accent"
class=
"q-mr-md"
size=
"sm"
icon=
"add"
label=
"新增学员"
@
click=
"EditStudent(null)"
/>
<q-btn
v-if=
"authObj && authObj.isShowDownload&&IsDownLoadStu()"
color=
"accent"
class=
"q-mr-md"
size=
"sm"
...
...
@@ -265,7 +265,7 @@
:checkType=
"checkType"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"refreshStuList"
@
reload=
"referDataHandler"
>
</studentRight-form>
<studentAdd-form
v-if=
"isShowAdd"
:
StudentType=
"StudentType"
:
save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"refreshStuList"
>
<studentAdd-form
v-if=
"isShowAdd"
:save-obj=
"stuOption"
@
close=
"closeStuForm"
@
success=
"refreshStuList"
>
</studentAdd-form>
<transfer-order
v-if=
"isShowTransfer"
:select=
"selection"
@
close=
"closeStuForm"
@
success=
"refreshStuList"
>
</transfer-order>
...
...
@@ -309,10 +309,6 @@
type
:
Array
,
default
:
null
},
StudentType
:
{
type
:
Number
,
default
:
1
},
//是否显示转交按钮
isJudgeTrans
:
{
type
:
Number
,
...
...
@@ -367,11 +363,11 @@
align
:
"left"
,
field
:
row
=>
row
.
StuName
},
//
{
//
name: "CurseManager",
//
label: "课程顾问",
//
align: "left"
//
},
{
name
:
"CurseManager"
,
label
:
"课程顾问"
,
align
:
"left"
},
{
name
:
"TeacherManager"
,
label
:
"协助老师"
,
...
...
@@ -382,12 +378,12 @@
label
:
"是否报名"
,
align
:
"left"
},
//
{
//
name: "VisitCount",
//
label: "到访次数",
//
field: "VisitCount",
//
align: "left"
//
},
{
name
:
"VisitCount"
,
label
:
"到访次数"
,
field
:
"VisitCount"
,
align
:
"left"
},
{
name
:
"TrialLessonCount"
,
label
:
"试听次数"
,
...
...
@@ -827,8 +823,8 @@
let
CreateTimeStr2
=
date
.
formatDate
(
new
Date
(
'2023-03-22'
),
'YYYY-MM-DD'
)
if
(
CreateTimeStr
>=
CreateTimeStr2
)
{
if
(
!
this
.
selection
[
0
].
FileVoucher
)
{
//
this.$message.error('需先上传学员到访表')
//
return
this
.
$message
.
error
(
'需先上传学员到访表'
)
return
}
}
const
firstId
=
this
.
selection
[
0
].
CustomerId
;
...
...
@@ -836,12 +832,12 @@
return
e
.
CustomerId
==
firstId
;
});
if
(
!
flag
)
{
//
this.$q.notify({
//
type: "negative",
//
position: "top",
//
message: `所属同行不一致,请重新选择`
//
});
//
return;
this
.
$q
.
notify
({
type
:
"negative"
,
position
:
"top"
,
message
:
`所属同行不一致,请重新选择`
});
return
;
}
this
.
isShowTransfer
=
true
;
},
...
...
@@ -851,8 +847,8 @@
let
CreateTimeStr2
=
date
.
formatDate
(
new
Date
(
'2023-03-22'
),
'YYYY-MM-DD'
)
if
(
CreateTimeStr
>=
CreateTimeStr2
)
{
if
(
!
this
.
selection
[
0
].
FileVoucher
)
{
//
this.$message.error('需先上传学员到访表')
//
return
this
.
$message
.
error
(
'需先上传学员到访表'
)
return
}
}
this
.
isShowAbroad
=
true
;
...
...
src/pages/stuMan/StudentProgress.vue
0 → 100644
View file @
1582f3ec
<
template
>
<!--
<div
class=
"page-body"
style=
"height:calc(100% - 30px);"
>
-->
<div
class=
"sptable-box"
>
<div
class=
"sptable-wrap"
>
<table
class=
"sptable"
>
<thead>
<tr
class=
"sticky-header"
>
<th
class=
"sticky-column"
>
Header 1
</th>
<th>
Header 2
</th>
<th>
Header 3
</th>
<th>
Header 4
</th>
<th>
Header 1
</th>
<th>
Header 2
</th>
<th>
Header 3
</th>
<th>
Header 4
</th>
<th>
Header 1
</th>
<th>
Header 2
</th>
<th>
Header 3
</th>
<th>
Header 4
</th>
<th>
Header 1
</th>
<th>
Header 2
</th>
<th>
Header 3
</th>
<th>
Header 4
</th>
<th>
Header 1
</th>
<th>
Header 2
</th>
<th>
Header 3
</th>
<th>
Header 4
</th>
<!-- 更多表头列... -->
</tr>
</thead>
<tbody>
<!-- 表格内容 -->
<tr
v-for=
"i in 50"
:key=
"i"
>
<td
class=
"sticky-column"
>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
<td>
1
</td>
</tr>
</tbody>
</table>
</div>
<div
class=
"cusor-tools row"
>
<div
class=
"item active"
>
N5
</div>
<div
class=
"item"
>
N4
</div>
<div
class=
"item"
>
N3
</div>
<div
class=
"item"
>
N2
</div>
<div
class=
"item"
>
N1
</div>
<div
class=
"item"
>
一对一中教
</div>
</div>
</div>
<!--
</div>
-->
</
template
>
<
script
>
import
scrollBar
from
'src/components/common/scrollBar.vue'
;
export
default
{
meta
:
{
title
:
"学员学习进度表"
},
data
()
{
return
{};
},
methods
:
{}
};
</
script
>
<
style
>
.sptable-box
{
width
:
100%
;
height
:
100%
;
overflow
:
auto
;
overflow
:
overlay
;
padding-bottom
:
20px
;
}
.sptable-box
.sptable-wrap
{
position
:
relative
;
}
.sptable-box
::-webkit-scrollbar
{
width
:
6px
;
height
:
6px
;
}
.sptable-box
::-webkit-scrollbar-thumb
{
background-color
:
#888
;
border-radius
:
6px
;
}
.sptable-box
::-webkit-scrollbar-thumb:hover
{
background-color
:
#555
;
}
.sptable-box
::-webkit-scrollbar-track
{
background-color
:
#f1f1f1
;
}
.sptable
{
border-collapse
:
collapse
;
border
:
1px
solid
#000
;
border-top
:
none
;
min-width
:
100%
;
}
.sptable
td
,
.sptable
th
{
border-right
:
1px
solid
#000
;
border-bottom
:
1px
solid
#000
;
padding
:
3px
6px
;
min-width
:
200px
;
}
.sptable
tr
td
:last-child
{
border-right
:
none
;
}
.sptable
tr
:last-child
td
:last-child
{
border
:
none
;
}
.sptable
.sticky-header
th
{
position
:
sticky
;
top
:
0px
;
background
:
#FFF
;
z-index
:
2
;
border-bottom
:
none
;
}
.sptable
.sticky-column
{
position
:
sticky
;
left
:
0px
;
background
:
#FFF
;
box-shadow
:
inset
-4px
-2px
0px
-3px
#1FBB7D
;
border-right
:
0
;
z-index
:
1
;
}
.sptable
.sticky-header
th
::before
,
.sptable
.sticky-header
th
::after
,
.sptable
.sticky-column
::before
{
position
:
absolute
;
content
:
''
;
display
:
block
;
width
:
1px
;
background
:
#000
;
top
:
0
;
left
:
-1px
;
bottom
:
0
;
z-index
:
5
;
height
:
100%
;
}
.sptable
.sticky-header
th
::before
{
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
1px
;
}
.sptable
.sticky-header
th
::after
{
top
:
unset
;
bottom
:
0
;
left
:
0
;
width
:
100%
;
height
:
1px
;
background
:
#1FBB7D
;
}
.sptable
.sticky-header
.sticky-column
{
z-index
:
3
;
border-right
:
0
;
}
.sptable-box
.cusor-tools
{
position
:
absolute
;
left
:
0
;
right
:
0
;
bottom
:
0
;
height
:
27px
;
background
:
#E3E6ED
;
border-top
:
1px
solid
#C9CCD2
;
border-bottom
:
1px
solid
#C9CCD2
;
border-left
:
1px
solid
#000
;
border-right
:
1px
solid
#000
;
z-index
:
9
;
padding
:
0
30px
;
}
.sptable-box
.cusor-tools
.item
{
height
:
22px
;
line-height
:
22px
;
border
:
1px
solid
transparent
;
border-radius
:
5px
;
border-top-left-radius
:
0
;
border-top-right-radius
:
0
;
font-size
:
12px
;
color
:
#000
;
padding
:
0
15px
;
cursor
:
pointer
;
position
:
relative
;
}
.sptable-box
.cusor-tools
.item
:hover
{
background
:
#CFCFCF
;
}
.sptable-box
.cusor-tools
.item.active
{
background
:
#FFF
!important
;
cursor
:
default
!important
;
border-color
:
#C9CCD2
;
border-top
:
transparent
;
margin-top
:
-1px
;
font-weight
:
bold
;
color
:
#007A6B
;
height
:
23px
;
line-height
:
23px
;
}
</
style
>
src/router/routes.js
View file @
1582f3ec
...
...
@@ -1861,6 +1861,11 @@ const routes = [{
component
:
()
=>
import
(
"pages/stuMan/coffeeManage/index"
)
},
{
path
:
"/stuMan/sp"
,
//学管 商品管理
component
:
()
=>
import
(
"pages/stuMan/StudentProgress"
)
},
{
path
:
"/stuMan/coffeeManage/coffeeOrderList"
,
//学管 咖啡订单列表
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