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
5c83e269
Commit
5c83e269
authored
Dec 09, 2021
by
罗超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
into master
parents
e138ef6c
2ac5f55e
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
505 additions
and
162 deletions
+505
-162
customerstudent.js
src/api/customerstudent/customerstudent.js
+24
-12
peemanagement.js
src/api/sale/peemanagement.js
+11
-0
student-left.vue
src/components/school/student/student-left.vue
+11
-1
student-record.vue
src/components/school/student/student-record.vue
+52
-40
student-visit.vue
src/components/school/student/student-visit.vue
+178
-29
student-yuefang.vue
src/components/school/student/student-yuefang.vue
+135
-13
studentRight-form.vue
src/components/school/student/studentRight-form.vue
+47
-47
b2bwithdraw.vue
src/pages/sale/b2bwithdraw.vue
+47
-20
No files found.
src/api/customerstudent/customerstudent.js
View file @
5c83e269
...
...
@@ -128,21 +128,33 @@ export function saveStudentVisit(data) {
* @param {JSON参数} data
*/
export
function
queryStudentVisit
(
data
)
{
return
request
({
url
:
'/CustomerStudent/GetStudentVisit'
,
method
:
'post'
,
data
})
}
return
request
({
url
:
'/CustomerStudent/GetStudentVisit'
,
method
:
'post'
,
data
})
}
/**
* 跟进编号删除学员到访信息
* @param {JSON参数} data
*/
export
function
deleteStudentVisit
(
data
)
{
return
request
({
url
:
'/CustomerStudent/RemoveStudentVisit'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
return
request
({
url
:
'/CustomerStudent/RemoveStudentVisit'
,
method
:
'post'
,
data
})
}
/**
* 获取学员日志分页列表
* @param {JSON参数} data
*/
export
function
queryStudentLogPage
(
data
)
{
return
request
({
url
:
'/CustomerStudent/GetStudentLogPage'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/api/sale/peemanagement.js
View file @
5c83e269
...
...
@@ -172,6 +172,17 @@ export function queryCustomerFinishtaskDetailsPage(data) {
data
})
}
/**
* 设置同业提现状态
*
*/
export
function
setCustomerRemitState
(
data
)
{
return
request
({
url
:
'/B2BRemit/SetCustomerRemitState'
,
method
:
'post'
,
data
})
}
/**
* 奖品兑换
...
...
src/components/school/student/student-left.vue
View file @
5c83e269
...
...
@@ -119,7 +119,7 @@
<div
class=
"info_item"
>
<div
class=
"item_label"
>
创建人
</div>
<div
class=
"item_value"
>
<q-select
filled
v-model=
"customObj.CreateBy"
:options=
"e
mployeeList"
option-label=
"EmployeeName"
<q-select
filled
v-model=
"customObj.CreateBy"
@
filter=
"filterEmployee"
use-input
:options=
"myE
mployeeList"
option-label=
"EmployeeName"
option-value=
"Id"
emit-value
map-options
/>
</div>
</div>
...
...
@@ -215,6 +215,7 @@
goalsList
:
[],
//员工列表
employeeList
:
[],
myEmployeeList
:
[]
}
},
created
()
{
...
...
@@ -251,8 +252,17 @@
IsLeave
:
1
}).
then
(
res
=>
{
this
.
employeeList
=
res
.
Data
;
this
.
myEmployeeList
=
res
.
Data
;
})
},
//筛选员工
filterEmployee
(
val
,
update
,
abort
){
update
(()
=>
{
this
.
myEmployeeList
=
this
.
employeeList
.
filter
(
v
=>
v
.
EmployeeName
.
indexOf
(
val
)
>
-
1
);
});
},
//获取日语基础列表
getBasicList
()
{
getGuestBasicsEnumList
({}).
then
(
res
=>
{
...
...
src/components/school/student/student-record.vue
View file @
5c83e269
<
style
>
.TimeLineDiv
{
margin-top
:
20px
;
overflow
:
auto
;
height
:
620px
;
flex
:
1
;
height
:
100%
;
padding-right
:
20px
;
}
</
style
>
<
template
>
<div>
我是记录
<
!--
<
div
style=
"display:flex;flex:1;flex-direction: column;overflow:hidden;"
>
<div>
<div
style=
"display:flex;flex:1;flex-direction: column;overflow:hidden;"
>
<div
class=
"TimeLineDiv"
>
<q-timeline
color=
"primary"
>
<q-timeline-entry
v-for=
"(tItem,tIndex) in
data.tripDataList
"
:key=
"tIndex"
>
<q-timeline-entry
v-for=
"(tItem,tIndex) in
logData
"
:key=
"tIndex"
>
<template
v-slot:title
>
<div
style=
"font-size:14px;"
>
{{
tItem
.
Description
}}
</div>
<div
class=
"visit_Cont"
>
<div>
{{
tItem
.
LogTitle
}}
</div>
<div>
{{
tItem
.
LogContent
}}
</div>
</div>
</
template
>
<
template
v-slot:subtitle
>
<div
class=
"
customUpdateTime
"
>
<div>
{{
tItem
.
UpdateTime
}}
</div>
<div>
{{
tItem
.
Upd
ateByName
}}
</div>
<div
class=
"
Time_TopList
"
>
<div>
{{
tItem
.
CreateTimeStr
}}
</div>
<div>
{{
tItem
.
Cre
ateByName
}}
</div>
</div>
</
template
>
<div>
<div>
{{ tItem.Remark }}
</div>
<div
class=
"img_box"
>
<img
v-for=
"(e,i) in tItem.ImageList"
:key=
"i"
:src=
"e"
class=
"img"
/>
</div>
<div
class=
"file_box"
>
<div
v-for=
"(e,i) in tItem.FileList"
:key=
"i"
class=
"flex items-center file_name"
>
附件:
<span
style=
"color:#000"
>
{{ e.FileName }}
</span>
<div
class=
"del_btn"
@
click=
"DownLoadFileByUrl(e.FileUrl,e.FileName)"
>
下载
</div>
</div>
</div>
</div>
</q-timeline-entry>
</q-timeline>
</div>
</div>
<div
style=
"margin:20px 0;"
>
<q-pagination
class=
"full-width justify-end"
v-model=
"custom
TripMsg.pageIndex"
color=
"primary"
:max=
"data.TripPageCount"
input
@
update:model-value
=
"changePage"
/>
</div>
-->
<q-pagination
class=
"full-width justify-end"
v-model=
"custom
Msg.pageIndex"
color=
"primary"
:max=
"pageCount"
input
@
input
=
"changePage"
/>
</div>
</div>
</template>
<
script
>
import
{
queryStudentLogPage
,
//日志记录
}
from
'../../../api/customerstudent/customerstudent'
;
export
default
{
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
}
},
meta
:
{
title
:
""
},
components
:
{
},
props
:
{
},
data
()
{
return
{
customMsg
:
{
pageIndex
:
1
,
pageSize
:
10
,
StuId
:
0
,
},
pageCount
:
0
,
//日志记录信息
logData
:
[],
}
},
created
()
{
if
(
this
.
saveObj
&&
this
.
saveObj
.
StuId
>
0
)
{
this
.
customMsg
.
StuId
=
this
.
saveObj
.
StuId
;
}
},
mounted
()
{},
mounted
()
{
this
.
getStuLogPage
();
},
methods
:
{
getStuLogPage
()
{
queryStudentLogPage
(
this
.
customMsg
).
then
(
res
=>
{
console
.
log
(
"res"
,
res
);
if
(
res
.
Code
==
1
)
{
this
.
logData
=
res
.
Data
.
PageData
this
.
pageCount
=
res
.
Data
.
PageCount
}
});
},
changePage
(
val
){
this
.
customMsg
.
pageIndex
=
val
;
this
.
getStuLogPage
();
}
},
}
</
script
>
</
script
>
\ No newline at end of file
src/components/school/student/student-visit.vue
View file @
5c83e269
...
...
@@ -3,12 +3,13 @@
</
style
>
<
template
>
<div>
<div
style=
"overflow:auto;margin-top:30px;"
>
<div
class=
"row wrap"
>
<q-select
filled
option-value=
"SId"
class=
"col-6 q-pb-lg"
option-label=
"SName"
v-model=
"VisitMsg.School_Id"
:options=
"schoolList"
emit-value
map-options
label=
"到访校区"
/>
</div>
<q-btn
label=
"新增"
color=
"accent q-mb-lg"
size=
"sm"
@
click=
"isShowAdd=true"
/>
<q-btn
label=
"取消"
style=
"margin-left:20px;"
v-if=
"isShowAdd"
flat
color=
"grey-10 q-mb-lg"
size=
"sm"
@
click=
"isShowAdd=false"
/>
<template
v-if=
"isShowAdd"
>
<div
class=
"row wrap"
>
<q-select
filled
option-value=
"SId"
class=
"col-6 q-pb-lg q-pr-lg"
option-label=
"SName"
v-model=
"VisitMsg.School_Id"
:options=
"schoolList"
emit-value
map-options
label=
"到访校区"
/>
<q-input
filled
v-model=
"VisitMsg.Date"
class=
"col-6 q-pb-lg"
mask=
"date"
label=
"日期"
>
<template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
...
...
@@ -20,7 +21,7 @@
</q-input>
</div>
<div
class=
"row warp"
>
<q-input
filled
mask=
"time"
v-model=
"VisitMsg.VisitTime"
:rules=
"['time']"
class=
"col-6 q-pb-lg"
>
<q-input
filled
mask=
"time"
v-model=
"VisitMsg.VisitTime"
:rules=
"['time']"
class=
"col-6 q-pb-lg
q-pr-lg
"
>
<
template
v-slot:append
>
<q-icon
name=
"access_time"
class=
"cursor-pointer"
>
<q-popup-proxy
transition-show=
"scale"
transition-hide=
"scale"
>
...
...
@@ -33,19 +34,51 @@
</q-icon>
</
template
>
</q-input>
<q-select
filled
v-model=
"VisitMsg.ReceptionPersion"
@
filter=
"filterEmployee"
class=
"col-6 q-pb-lg"
:options=
"myEmployeeList"
option-label=
"EmployeeName"
use-input
option-value=
"Id"
emit-value
map-options
label=
"接待人"
/>
</div>
<div
class=
"row wrap"
>
<q-input
filled
v-model=
"VisitMsg.ReceptionPersion"
class=
"col-6 q-pb-lg"
label=
"接待人"
></q-input>
</div>
<div
class=
"row wrap"
>
<q-input
filled
v-model=
"VisitMsg.ReceptionPersion"
type=
"textarea"
class=
"col-6 q-pb-lg"
label=
"备注"
></q-input>
<q-input
filled
v-model=
"VisitMsg.Remark"
:rows=
"3"
type=
"textarea"
class=
"col-12 q-pb-lg"
label=
"备注"
>
</q-input>
</div>
<div
class=
"row wrap"
>
<q-input
filled
v-model=
"VisitMsg.Feedback"
type=
"textarea"
class=
"col-6 q-pb-lg"
label=
"反馈"
></q-input>
<q-input
filled
v-model=
"VisitMsg.Feedback"
:rows=
"3"
type=
"textarea"
class=
"col-12 q-pb-lg"
label=
"反馈"
>
</q-input>
</div>
<div
class=
"row wrap"
style=
"margin-bottom:10px;"
>
<q-btn
label=
"保存"
color=
"accent q-mb-lg"
s
tyle=
"width:200px;
"
@
click=
"saveVisit()"
/>
<q-btn
label=
"保存"
color=
"accent q-mb-lg"
s
ize=
"md
"
@
click=
"saveVisit()"
/>
</div>
</template>
<div
style=
"display:flex;flex:1;flex-direction: column;overflow:hidden;"
>
<div
class=
"TimeLineDiv"
>
<q-timeline
color=
"primary"
>
<q-timeline-entry
v-for=
"(tItem,tIndex) in dataList"
:key=
"tIndex"
>
<
template
v-slot:title
>
<div
class=
"visit_Cont"
>
<div>
到访校区:
{{
tItem
.
SchoolName
}}
</div>
<div>
接待人:
{{
tItem
.
ReceptionPersionName
}}
</div>
<div>
备注:
{{
tItem
.
Remark
}}
</div>
<div>
反馈:
{{
tItem
.
Feedback
}}
</div>
<div
@
click=
"delVisit(tItem.Id)"
class=
"visit_delete"
>
删除
</div>
</div>
</
template
>
<
template
v-slot:subtitle
>
<div
class=
"Time_TopList"
>
<div>
<span
style=
"margin-right:20px;"
>
{{
tItem
.
Date
}}
</span>
<span>
{{
tItem
.
VisitTime
}}
</span>
</div>
<div>
{{
tItem
.
CreateBy
}}
</div>
</div>
</
template
>
</q-timeline-entry>
</q-timeline>
</div>
</div>
<div
style=
"margin:20px 0;"
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"page_Count"
input
@
input=
"changePage"
/>
</div>
</div>
</template>
...
...
@@ -53,6 +86,15 @@
import
{
getSchoolDropdown
,
//获取校区列表
}
from
'../../../api/school/index'
;
import
{
queryStudentVisitPage
,
//获取到访列表
saveStudentVisit
,
deleteStudentVisit
}
from
'../../../api/customerstudent/customerstudent'
;
import
{
queryEmployee
}
from
'../../../api/users/user'
export
default
{
meta
:
{
title
:
""
...
...
@@ -61,29 +103,50 @@
},
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
return
{
schoolList
:[],
//到访msg
VisitMsg
:{
Id
:
0
,
//到访编号
StuId
:
0
,
//学员编号
School_Id
:
0
,
//到访校区
Date
:
''
,
//日期
VisitTime
:
''
,
//到访时间
ReceptionPersion
:
''
,
//接待人
Remark
:
''
,
//备注
Feedback
:
''
//反馈
}
schoolList
:
[],
//到访msg
VisitMsg
:
{
Id
:
0
,
//到访编号
StuId
:
0
,
//学员编号
School_Id
:
0
,
//到访校区
Date
:
''
,
//日期
VisitTime
:
''
,
//到访时间
ReceptionPersion
:
''
,
//接待人
Remark
:
''
,
//备注
Feedback
:
''
//反馈
},
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
StuId
:
0
,
},
isShowAdd
:
false
,
dataList
:
[],
page_Count
:
0
,
//员工列表
employeeList
:
[],
myEmployeeList
:
[]
}
},
created
()
{
if
(
this
.
saveObj
&&
this
.
saveObj
.
StuId
)
{
this
.
msg
.
StuId
=
this
.
saveObj
.
StuId
;
}
},
mounted
()
{
this
.
getSchool
();
this
.
getSchool
();
this
.
getEmployeeList
();
this
.
getList
();
},
methods
:
{
//获取校区列表
//获取校区列表
getSchool
()
{
getSchoolDropdown
({}).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
...
...
@@ -95,7 +158,93 @@
}
})
},
//获取员工列表
getEmployeeList
()
{
queryEmployee
({
IsLeave
:
1
}).
then
(
res
=>
{
this
.
employeeList
=
res
.
Data
;
this
.
myEmployeeList
=
this
.
ClassList
;
})
},
//下拉搜索
filterEmployee
(
val
,
update
,
abort
)
{
update
(()
=>
{
this
.
myEmployeeList
=
this
.
employeeList
.
filter
(
v
=>
v
.
EmployeeName
.
indexOf
(
val
)
>
-
1
);
});
},
//获取到访分页
getList
()
{
queryStudentVisitPage
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
page_Count
=
res
.
Data
.
PageCount
;
}
}).
catch
(()
=>
{
})
},
//保存数据
saveVisit
()
{
this
.
VisitMsg
.
StuId
=
this
.
saveObj
.
StuId
;
saveStudentVisit
(
this
.
VisitMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'数据保存成功!'
,
position
:
'top'
})
this
.
getList
();
this
.
clearMsg
();
}
}).
catch
(()
=>
{
})
},
//清除数据
clearMsg
()
{
this
.
VisitMsg
.
Id
=
0
;
this
.
VisitMsg
.
StuId
=
0
;
this
.
VisitMsg
.
School_Id
=
0
;
this
.
VisitMsg
.
Date
=
''
;
this
.
VisitMsg
.
VisitTime
=
''
;
this
.
VisitMsg
.
ReceptionPersion
=
''
;
this
.
VisitMsg
.
Remark
=
''
;
this
.
VisitMsg
.
Feedback
=
''
;
this
.
isShowAdd
=
false
;
},
//删除到访
delVisit
(
Id
)
{
let
that
=
this
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
'是否确定删除?'
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
deleteStudentVisit
({
Id
:
Id
}).
then
((
res
)
=>
{
that
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
'top'
})
that
.
getList
()
})
}).
onCancel
(()
=>
{});
},
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
}
},
}
</
script
>
</
script
>
\ No newline at end of file
src/components/school/student/student-yuefang.vue
View file @
5c83e269
...
...
@@ -3,31 +3,71 @@
</
style
>
<
template
>
<div>
<div
style=
"margin-top:30px;"
>
<div
class=
"row wrap"
>
<q-input
filled
class=
"col-6 q-pb-lg"
label=
"地点"
></q-input>
</div>
<div
class=
"row wrap"
>
<q-btn
label=
"新增"
color=
"accent q-mb-lg"
size=
"sm"
@
click=
"isShowAdd=true"
/>
<q-btn
label=
"取消"
style=
"margin-left:20px;"
v-if=
"isShowAdd"
flat
color=
"grey-10 q-mb-lg"
size=
"sm"
@
click=
"isShowAdd=false"
/>
</div>
<template
v-if=
"isShowAdd"
>
<div
class=
"row wrap"
>
<q-input
filled
class=
"col-6 q-pb-lg"
mask=
"date"
label=
"日期"
>
<q-input
filled
class=
"col-6 q-pb-lg q-pr-lg"
v-model=
"yueMsg.AppointmentPoint"
label=
"约访地点"
></q-input>
<q-input
filled
class=
"col-6 q-pb-lg"
v-model=
"yueMsg.AppointmentTime"
mask=
"date"
label=
"约访时间"
>
<template
v-slot:append
>
<q-icon
name=
"event"
class=
"cursor-pointer"
>
<q-popup-proxy
ref=
"qDateProxy1"
transition-show=
"scale"
transition-hide=
"scale"
>
<q-date
@
input=
"() => $refs.qDateProxy1.hide()"
/>
<q-date
v-model=
"yueMsg.AppointmentTime"
@
input=
"() => $refs.qDateProxy1.hide()"
/>
</q-popup-proxy>
</q-icon>
</
template
>
</q-input>
</div>
<div
class=
"row wrap"
>
<q-input
filled
type=
"textarea"
class=
"col-6 q-pb-lg"
label=
"目的"
></q-input>
<q-input
filled
v-model=
"yueMsg.Remark"
:rows=
"3"
type=
"textarea"
class=
"col-12 q-pb-lg"
label=
"备注"
>
</q-input>
</div>
<div
class=
"row wrap"
>
<q-btn
label=
"保存"
color=
"accent q-mb-lg"
style=
"width:200px;"
@
click=
"saveYuefang()"
/>
<q-input
filled
v-model=
"yueMsg.Feedback"
:rows=
"3"
type=
"textarea"
class=
"col-12 q-pb-lg"
label=
"反馈"
>
</q-input>
</div>
<div
class=
"row wrap"
style=
"margin-bottom:10px;"
>
<q-btn
label=
"保存"
color=
"accent q-mb-lg"
size=
"md"
@
click=
"savePoint()"
/>
</div>
</template>
<div
style=
"display:flex;flex:1;flex-direction: column;overflow:hidden;"
>
<div
class=
"TimeLineDiv"
>
<q-timeline
color=
"primary"
>
<q-timeline-entry
v-for=
"(tItem,tIndex) in dataList"
:key=
"tIndex"
>
<
template
v-slot:title
>
<div
class=
"visit_Cont"
>
<div>
约访地点:
{{
tItem
.
AppointmentPoint
}}
</div>
<div>
接待人:
{{
tItem
.
ReceptionPersion
}}
</div>
<div>
备注:
{{
tItem
.
Remark
}}
</div>
<div>
反馈:
{{
tItem
.
Feedback
}}
</div>
<div
@
click=
"delVisit(tItem.Id)"
class=
"visit_delete"
>
删除
</div>
</div>
</
template
>
<
template
v-slot:subtitle
>
<div
class=
"Time_TopList"
>
<div>
{{
tItem
.
AppointmentTime
}}
</div>
</div>
</
template
>
</q-timeline-entry>
</q-timeline>
</div>
</div>
<div
style=
"margin:20px 0;"
>
<q-pagination
class=
"full-width justify-end"
v-model=
"msg.pageIndex"
color=
"primary"
:max=
"page_Count"
input
@
input=
"changePage"
/>
</div>
</div>
</template>
<
script
>
import
{
saveStudentAppointment
,
queryStudentAppointmentPage
,
deleteStudentAppointment
}
from
'../../../api/customerstudent/customerstudent'
;
export
default
{
meta
:
{
title
:
""
...
...
@@ -36,21 +76,103 @@
},
props
:
{
saveObj
:
{
type
:
Object
,
default
:
null
}
},
data
()
{
return
{
isShowAdd
:
false
,
yueMsg
:
{
Id
:
0
,
//约访编号
StuId
:
0
,
//学员编号
AppointmentPoint
:
''
,
//约访地点
AppointmentTime
:
''
,
//约访时间
Remark
:
''
,
//备注
Feedback
:
''
//反馈
},
msg
:
{
pageIndex
:
1
,
pageSize
:
12
},
dataList
:[],
page_Count
:
0
}
},
mounted
()
{
this
.
getList
();
},
methods
:
{
//保存
saveYuefang
()
{
//保存约访
savePoint
()
{
this
.
yueMsg
.
StuId
=
this
.
saveObj
.
StuId
;
saveStudentAppointment
(
this
.
yueMsg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'数据保存成功!'
,
position
:
'top'
})
this
.
getList
();
this
.
clearMsg
();
}
}).
catch
(()
=>
{
})
},
},
//获取数据
getList
(){
queryStudentAppointmentPage
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
.
PageData
;
this
.
page_Count
=
res
.
Data
.
PageCount
;
}
}).
catch
(()
=>
{
})
},
//清除数据
clearMsg
()
{
this
.
yueMsg
.
Id
=
0
;
this
.
yueMsg
.
StuId
=
0
;
this
.
yueMsg
.
AppointmentPoint
=
''
;
this
.
yueMsg
.
AppointmentTime
=
''
;
this
.
yueMsg
.
Remark
=
''
;
this
.
yueMsg
.
Feedback
=
''
;
this
.
isShowAdd
=
false
;
},
//删除到访
delVisit
(
Id
)
{
let
that
=
this
this
.
$q
.
dialog
({
title
:
'提示信息'
,
message
:
'是否确定删除?'
,
cancel
:
true
,
persistent
:
true
,
ok
:
"确定"
,
cancel
:
"取消"
,
}).
onOk
(()
=>
{
deleteStudentAppointment
({
Id
:
Id
}).
then
((
res
)
=>
{
that
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
timeout
:
2000
,
message
:
res
.
Message
,
position
:
'top'
})
that
.
getList
()
})
}).
onCancel
(()
=>
{});
},
changePage
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
}
}
}
</
script
>
src/components/school/student/studentRight-form.vue
View file @
5c83e269
...
...
@@ -32,7 +32,7 @@
<q-tab
name=
"3"
label=
"订单"
/>
<q-tab
name=
"4"
label=
"合同"
/>
</q-tabs>
<div
style=
"flex:1;overflow:hidden;"
>
<div
class=
"operate_Content"
style=
"flex:1;"
>
<div
class=
"detail_Main"
>
<div
class=
"tripTypeContent"
style=
"flex-shrink:0"
v-if=
"ckedTab==2"
>
<div
v-for=
"(qItem,qIndex) in visitList"
:key=
"qIndex"
...
...
@@ -41,15 +41,15 @@
</div>
<!-- 记录 -->
<template
v-if=
"ckedTab==1"
>
<student-record></student-record>
<student-record
:save-obj=
"baseObj"
></student-record>
</
template
>
<!-- 操作 -->
<
template
v-if=
"ckedTab==2"
>
<div
style=
"overflow:auto;
"
>
<student-visit
v-if=
"secondType==1"
></student-visit>
<student-yuefang
v-if=
"secondType==2"
></student-yuefang>
<student-genjin
v-if=
"secondType==3"
></student-genjin>
<student-hetong
v-if=
"secondType==4"
></student-hetong>
<div
class=
"operate_Content
"
>
<student-visit
:save-obj=
"baseObj"
:StuId=
"baseObj.StuId"
v-if=
"secondType==1"
></student-visit>
<student-yuefang
:save-obj=
"baseObj"
v-if=
"secondType==2"
></student-yuefang>
<student-genjin
:save-obj=
"baseObj"
v-if=
"secondType==3"
></student-genjin>
<student-hetong
:save-obj=
"baseObj"
v-if=
"secondType==4"
></student-hetong>
</div>
</
template
>
<!-- 订单 -->
...
...
@@ -100,7 +100,7 @@
data
()
{
return
{
persistent
:
true
,
ckedTab
:
1
,
ckedTab
:
'1'
,
secondType
:
1
,
visitList
:[{
Name
:
'到访'
,
...
...
@@ -146,7 +146,7 @@
}
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
>
.custom_RModel
{
width
:
500px
;
height
:
100%
;
...
...
@@ -315,13 +315,6 @@
border-radius
:
5px
;
}
.q-textarea
.q-field__native
{
padding-top
:
0
;
}
.editer_input
.q-field__native
{
height
:
50px
;
}
.detail_first
{
margin
:
0
22px
;
...
...
@@ -336,39 +329,8 @@
width
:
100%
;
height
:
100%
;
padding-top
:
10px
;
overflow
:
hidden
;
}
.img_box
{
margin-top
:
10px
;
.img
{
width
:
100px
;
height
:
100px
;
object-fit
:
cover
;
box-shadow
:
0px
10px
30px
0px
rgba
(
36
,
36
,
36
,
0
.2
);
margin
:
5px
;
border-radius
:
10px
;
}
}
.file_box
{
margin-top
:
10px
;
.file_name
{
font-size
:
14px
;
color
:
#9696A6
;
margin
:
3px
0
;
.del_btn
{
margin-left
:
10px
;
padding-left
:
5px
;
border-left
:
1px
solid
var
(
--
q-primary
);
color
:
var
(
--
q-primary
);
cursor
:
pointer
;
}
}
}
.student_Name
{
width
:
100%
;
height
:
100%
;
...
...
@@ -378,4 +340,42 @@
line-height
:
60px
;
font-size
:
20px
;
}
.TimeLineDiv
{
overflow
:
auto
;
height
:
620px
;
flex
:
1
;
height
:
100%
;
padding-right
:
20px
;
}
.Time_TopList
{
display
:
flex
;
justify-content
:
space-between
;
}
.visit_Cont
{
font-size
:
14px
;
}
.visit_delete
{
color
:
#3470ff
;
font-size
:
14px
;
cursor
:
pointer
;
}
.operate_Content
{
overflow
:
auto
;
margin-top
:
30px
;
padding-right
:
20px
;
}
.operate_Content
::-webkit-scrollbar
{
width
:
6px
;
height
:
8px
;
}
.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
{
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#EDEDED
;
}
</
style
>
src/pages/sale/b2bwithdraw.vue
View file @
5c83e269
...
...
@@ -72,10 +72,10 @@
</
template
>
<
template
v-slot:body-cell-AuditStatus=
"props"
>
<q-td
:props=
"props"
>
<span
v-if=
"props.row.
Type
== 1"
>
申请中
</span>
<span
v-if=
"props.row.
Type
== 2"
>
待打款
</span>
<span
v-if=
"props.row.
Type
== 3"
>
已打款
</span>
<span
v-if=
"props.row.
Type
== 4"
>
拒绝
</span>
<span
v-if=
"props.row.
AuditStatus
== 1"
>
申请中
</span>
<span
v-if=
"props.row.
AuditStatus
== 2"
>
待打款
</span>
<span
v-if=
"props.row.
AuditStatus
== 3"
>
已打款
</span>
<span
v-if=
"props.row.
AuditStatus
== 4"
>
拒绝
</span>
</q-td>
</
template
>
<
template
v-slot:body-cell-TimeStr=
"props"
>
...
...
@@ -107,7 +107,7 @@
</q-td>
</
template
>
<
template
v-slot:body-cell-optioned=
"props"
>
<q-td
:props=
"props"
style=
"width:
2
00px;"
>
<q-td
:props=
"props"
style=
"width:
1
00px;"
>
<q-btn
v-if=
"props.row.AuditStatus==1"
flat
...
...
@@ -115,19 +115,10 @@
icon=
"edit"
color=
"done"
style=
"font-weight:400"
label=
"审核通过"
@
click=
"operation(props.row,1)"
/>
<q-btn
v-if=
"props.row.AuditStatus==1"
flat
size=
"xs"
icon=
"highlight_off"
style=
"font-weight:400;color: red;"
label=
"审核驳回"
@
click=
"operation(props.row,2)"
label=
"审核"
@
click=
"operation(props.row)"
/>
</q-td>
</
template
>
...
...
@@ -144,12 +135,31 @@
@
input=
"changePage"
/>
</div>
<q-dialog
v-model=
"isShow"
persistent
>
<q-card
style=
"width: 520px; max-width: 80vw;"
>
<q-card-section>
<div
class=
"text-h6"
>
提现审核
</div>
</q-card-section>
<q-separator
/>
<q-card-section
class=
"q-pt-none"
style=
"margin-top: 15px;padding:10px 20px;"
>
<q-radio
v-model=
"remitMsg.State"
val=
"1"
label=
"审核通过"
/>
<q-radio
v-model=
"remitMsg.State"
val=
"2"
label=
"审核驳回"
/>
<q-input
filled
clearable
v-model=
"remitMsg.Remark"
label=
"备注"
style=
"margin-top: 20px;"
type=
"textarea"
/>
</q-card-section>
<q-separator
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
class=
"q-mr-md"
label=
"取消"
@
click=
"isShow = false"
/>
<q-btn
color=
"accent"
class=
"q-mr-md"
label=
"确定"
@
click=
"submit()"
/>
</q-card-actions>
</q-card>
</q-dialog>
</div>
</template>
<
script
>
import
{
getCustomerRemitPageList
,
RemoveCustomer
setCustomerRemitState
}
from
'../../api/sale/peemanagement'
;
export
default
{
...
...
@@ -162,6 +172,7 @@ export default {
data
()
{
return
{
pageCount
:
0
,
isShow
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
12
,
...
...
@@ -299,8 +310,24 @@ export default {
},
operation
(
row
,
type
){
this
.
remitMsg
.
RemitId
=
row
.
Id
;
this
.
remitMsg
.
State
=
row
.
type
;
this
.
remitMsg
.
Remark
=
''
this
.
remitMsg
.
State
=
'1'
;
this
.
remitMsg
.
Remark
=
''
;
this
.
isShow
=
true
},
submit
(){
setCustomerRemitState
(
this
.
remitMsg
).
then
(
res
=>
{
this
.
$q
.
notify
({
icon
:
'iconfont icon-chenggong'
,
color
:
'accent'
,
timeout
:
2000
,
message
:
'操作成功'
,
position
:
'top'
})
this
.
isShow
=
false
this
.
getList
();
}).
catch
(()
=>
{
})
}
}
}
...
...
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