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
085e6935
Commit
085e6935
authored
Mar 30, 2021
by
zhengke
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/confucius
parents
a9f7a8ca
b8052eaf
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
855 additions
and
91 deletions
+855
-91
video.dev.js
public/static/UE/third-party/video-js/video.dev.js
+0
-3
index.vue
src/components/relation/index.vue
+3
-11
offertransorder-form.vue
src/components/sale/offertransorder-form.vue
+54
-30
orderlist.vue
src/components/sale/orderlist.vue
+4
-3
quotationstudy-form.vue
src/components/sale/quotationstudy-form.vue
+5
-8
course.vue
src/pages/course/course.vue
+2
-2
courseoffer.vue
src/pages/sale/courseoffer.vue
+14
-7
myoffer.vue
src/pages/sale/myoffer.vue
+5
-1
studyOrder.vue
src/pages/sale/studyOrder.vue
+1
-1
studyjob.vue
src/pages/sale/studyjob.vue
+0
-1
employment.vue
src/pages/studyAbroad/employment.vue
+64
-10
studyProAudit.vue
src/pages/studyAbroad/studyProAudit.vue
+3
-3
studyabroad.vue
src/pages/studyAbroad/studyabroad.vue
+64
-10
studyemploymentorder.vue
src/pages/studyAbroad/studyemploymentorder.vue
+105
-0
studypayment.vue
src/pages/studyAbroad/studypayment.vue
+521
-0
routes.js
src/router/routes.js
+10
-1
No files found.
public/static/UE/third-party/video-js/video.dev.js
View file @
085e6935
...
...
@@ -1252,9 +1252,6 @@ vjs.getAbsoluteURL = function(url){
vjs
.
log
=
function
(){
vjs
.
log
.
history
=
vjs
.
log
.
history
||
[];
// store logs to an array for reference
vjs
.
log
.
history
.
push
(
arguments
);
if
(
window
.
console
){
window
.
console
.
log
(
Array
.
prototype
.
slice
.
call
(
arguments
));
}
};
// Offset Left
...
...
src/components/relation/index.vue
View file @
085e6935
...
...
@@ -337,11 +337,7 @@
var
_stuff_height
=
_max_y
-
_min_y
+
50
var
_final_x
=
(
this
.
graphSetting
.
viewSize
.
width
-
_stuff_width
)
/
2
-
_min_x
var
_final_y
=
(
this
.
graphSetting
.
viewSize
.
height
-
_stuff_height
)
/
2
-
_min_y
// if (window.SeeksGraphDebug) console.log('_min_x, _min_y, _stuff_width, _stuff_height:', _min_x, _min_y, _stuff_width, _stuff_height)
// var _final_x = -_min_x
// var _final_y = -_min_y
this
.
animateGoto
(
_final_x
,
_final_y
,
500
,
()
=>
{
// this.graphSetting.checkedNodeId = thisNode.id
this
.
refreshNVAnalysisInfo
()
})
})
...
...
@@ -365,9 +361,7 @@
}
else
{
this
.
graphSetting
.
layouter
=
SeeksRGLayouters
.
createLayout
(
_defaultLayoutSetting
,
this
.
graphSetting
)
}
}
else
{
console
.
log
(
'你需要设置layouts来指定当前图谱可以使用的布局器!'
)
}
}
this
.
doLayout
()
callback
(
this
)
},
...
...
@@ -788,9 +782,7 @@
}
else
{
this
.
graphSetting
.
layouter
=
SeeksRGLayouters
.
createLayout
(
_defaultLayoutSetting
,
this
.
graphSetting
)
}
}
else
{
console
.
log
(
'你需要设置layouts来指定当前图谱可以使用的布局器!'
)
}
}
var
__root_id
=
jsonData
[
'rootId'
]
this
.
loadGraphJsonData
(
jsonData
)
...
...
@@ -1056,7 +1048,7 @@
this
.
graphSetting
.
canvasOffset
.
y
=
_origin_offset_y
this
.
canvasBackgroundColor
=
'transparent'
}
catch
(
e
)
{
console
.
log
(
'[SEEKS Graph]Create and download image error:'
,
e
)
}
})
})
...
...
src/components/sale/offertransorder-form.vue
View file @
085e6935
...
...
@@ -50,12 +50,19 @@
</div>
</div>
<div
class=
"text-subtitle2 text-weight-bold q-mb-md"
>
<span>
课程信息
</span>
<span>
<
template
v-if=
"obj.OfferType==1"
>
课程信息
</
template
>
<
template
v-else
>
留学就业信息
</
template
>
</span>
</div>
<div
class=
"q-mt-md"
>
<q-table
:pagination=
"pageInfo"
no-data-label=
"暂无相关数据"
flat
class=
"sticky-header-table sticky-right-column-table no-bottom-table"
separator=
"none"
:
data=
"chosenCourses"
:columns=
"columns"
row-key=
"name
"
>
class=
"sticky-header-table sticky-right-column-table no-bottom-table"
separator=
"none"
:data=
"chosenCourses"
:
columns=
"columns"
row-key=
"name"
:visible-columns=
"visibleColumns
"
>
<
template
v-slot:body-cell-DiscountRemark=
"props"
>
<q-td
:props=
"props"
class=
"text-negative"
>
<div
v-for=
"(x, i) in props.value.split('^')"
style=
"border-bottom:1px dotted #f5f6f7;"
>
...
...
@@ -66,31 +73,33 @@
<!--设置课程-->
<
template
v-slot:body-cell-ClassId=
"props"
>
<q-td>
<template
v-if=
"props.row.ClassId>0"
>
{{
props
.
row
.
ClassName
}}
</
template
>
<
template
v-else
>
选择班级
<template
v-if=
"obj.OfferType==1"
>
<template
v-if=
"props.row.ClassId>0"
>
{{
props
.
row
.
ClassName
}}
</
template
>
<
template
v-else
>
选择班级
</
template
>
<i
class=
"iconfont icon-edit"
@
click
.
stop=
"setClass(props.row)"
title=
"选择班级"
>
<q-popup-proxy>
<q-banner
v-if=
"isShowClass"
>
<div
class=
"calenderDialog"
>
<div
style=
"margin:10px 0 15px 0;"
>
选择班级
</div>
<q-select
standout=
"bg-primary text-white"
option-value=
"ClassId"
option-label=
"ClassName"
v-model=
"props.row.ClassId"
:options=
"props.row.ClassList"
emit-value
map-options
label=
"班级"
@
input=
"changeClass(props.row)"
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
@
click=
"isShowClass=false"
style=
"font-weight:400 !important"
/>
<q-btn
label=
"确认"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"isShowClass=false"
/>
</q-card-actions>
</div>
</q-banner>
</q-popup-proxy>
</i>
</template>
<i
class=
"iconfont icon-edit"
@
click
.
stop=
"setClass(props.row)"
title=
"选择班级"
>
<q-popup-proxy>
<q-banner
v-if=
"isShowClass"
>
<div
class=
"calenderDialog"
>
<div
style=
"margin:10px 0 15px 0;"
>
选择班级
</div>
<q-select
standout=
"bg-primary text-white"
option-value=
"ClassId"
option-label=
"ClassName"
v-model=
"props.row.ClassId"
:options=
"props.row.ClassList"
emit-value
map-options
label=
"班级"
@
input=
"changeClass(props.row)"
/>
<q-card-actions
align=
"right"
class=
"bg-white"
>
<q-btn
label=
"取消"
flat
color=
"grey-10"
@
click=
"isShowClass=false"
style=
"font-weight:400 !important"
/>
<q-btn
label=
"确认"
color=
"accent q-px-md"
style=
"font-weight:400 !important"
@
click=
"isShowClass=false"
/>
</q-card-actions>
</div>
</q-banner>
</q-popup-proxy>
</i>
</q-td>
</template>
<
template
v-slot:bottom
>
...
...
@@ -106,7 +115,14 @@
}}
</span>
</div>
<div
class=
"col text-right"
>
<span>
课程总价:
</span>
<span>
<
template
v-if=
"obj.OfferType==1"
>
课程总价:
</
template
>
<
template
v-else
>
留学就业总价:
</
template
>
</span>
<span
class=
"q-ml-xs text-weight-bold"
>
¥{{
model.TotalPrice ? model.TotalPrice.toFixed(2) : "0.00"
}}
</span>
...
...
@@ -206,6 +222,11 @@
field
:
row
=>
row
.
ClassId
},
],
//表格可见列
visibleColumns
:
[
'CourseName'
,
'OriginalPrice'
,
'JoinNum'
,
"DiscountPrice"
,
"DiscountRemark"
,
"ActualPrice"
,
"ClassId"
,
],
//可见列
pageInfo
:
{
pageIndex
:
1
,
pageSize
:
12
,
...
...
@@ -219,7 +240,9 @@
},
created
()
{
if
(
this
.
obj
&&
this
.
obj
.
OfferType
!=
1
)
{
this
.
visibleColumns
.
splice
(
this
.
visibleColumns
.
length
-
1
,
1
);
}
},
mounted
()
{
this
.
initObj
();
...
...
@@ -230,7 +253,7 @@
this
.
isShowClass
=
true
;
getClassDropDownList
({
CourseId
:
item
.
CourseId
,
IsAddDefault
:
1
,
//添加默认选项
IsAddDefault
:
1
,
//添加默认选项
}).
then
(
res
=>
{
item
.
ClassList
=
[];
if
(
res
.
Code
==
1
)
{
...
...
@@ -302,6 +325,7 @@
transOfferToOrder
()
{
var
sMsg
=
{
OfferId
:
this
.
model
.
Id
,
OfferType
:
this
.
obj
.
OfferType
,
OfferDetails
:
this
.
model
.
OfferDetails
};
saveOfferToOrder
(
sMsg
).
then
(
res
=>
{
...
...
src/components/sale/orderlist.vue
View file @
085e6935
...
...
@@ -259,7 +259,7 @@
<div
class=
"col"
>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
收款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"
isShowClass
"
style=
"font-weight:400;color: #02C499"
label=
"修改"
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"
AuthorityObj.isShowFinanceBtn
"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,1)"
/>
</div>
<div
class=
"row wrap"
>
...
...
@@ -272,7 +272,7 @@
</div>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
付款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"
isShowClass
"
style=
"font-weight:400;color: #02C499"
label=
"修改"
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"
AuthorityObj.isShowFinanceBtn
"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,2)"
/>
</div>
<div
class=
"row wrap"
>
...
...
@@ -470,7 +470,7 @@
</div>
</div>
<div
class=
"row"
style=
"justify-content: space-between"
>
<span>
付款单据:
</span>
<span>
付款单据:
</span>
<q-btn
flat
size=
"xs"
icon=
"edit"
v-if=
"AuthorityObj.isShowFinanceBtn"
style=
"font-weight:400;color: #02C499"
label=
"修改"
@
click=
"chanceType(item,2)"
/>
</div>
...
...
@@ -660,6 +660,7 @@
this
.
AuthorityObj
.
isShowRenewClass
=
this
.
authObj
.
isShowRenewClass
;
}
}
console
.
log
(
" this.AuthorityObj"
,
this
.
AuthorityObj
)
},
closeQuota
()
{
this
.
isShowviewQuo
=
false
;
...
...
src/components/sale/quotationstudy-form.vue
View file @
085e6935
...
...
@@ -256,26 +256,23 @@
this
.
model
.
OfferDetails
=
tempObj
.
OfferDetails
;
this
.
chosenProductList
=
tempObj
.
OfferDetails
;
}
console
.
log
(
"this.model"
,
this
.
model
);
console
.
log
(
"this.tempObj"
,
tempObj
);
console
.
log
(
"this.chosenProductList"
,
this
.
chosenProductList
);
}
})
}
else
{
this
.
model
=
{
Id
:
0
,
Name
:
"
测试
"
,
Name
:
""
,
OfferType
:
2
,
//默认留学(2-留学,3-就业)
EffectiveStart
:
""
,
EffectiveEnd
:
"
2021-04-04
"
,
EffectiveEnd
:
""
,
CustomerType
:
1
,
CustomerSource
:
1
,
TotalOriginalPrice
:
0.0
,
TotalPrice
:
0.0
,
TotalDiscountPrice
:
0.0
,
CustomerInfo
:
"
客户信息
"
,
CustomerName
:
"
客户姓名
"
,
CustomerTel
:
"
电话
"
,
CustomerInfo
:
""
,
CustomerName
:
""
,
CustomerTel
:
""
,
OfferDetails
:
[],
JoinNum
:
1
};
...
...
src/pages/course/course.vue
View file @
085e6935
...
...
@@ -132,8 +132,8 @@
@
click=
"EditCourse(props.row, 1)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"价格设置"
@
click=
"EditCourse(props.row, 2)"
v-if=
"isHavePriceAction"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400;"
label=
"详情"
@
click=
"goMycourse(props.row)"
/>
<
!--
<
q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400;"
label=
"详情"
@
click=
"goMycourse(props.row)"
/>
-->
</q-td>
</
template
>
</q-table>
...
...
src/pages/sale/courseoffer.vue
View file @
085e6935
...
...
@@ -130,7 +130,7 @@
<div
class=
"col-3"
>
<q-select
filled
stack-label
use-input
input-debounce=
"0"
option-value=
"Id"
clearable
@
input=
"resetSearch"
option-label=
"EmployeeName"
v-model=
"msg.CreateBy"
:options=
"EmployeeList"
label=
"员工"
:dense=
"false"
emit-value
map-options
@
filter=
"filterFn"
>
emit-value
map-options
@
filter=
"filterFn"
>
<template
v-slot:no-option
>
<q-item>
<q-item-section
class=
"text-grey"
>
...
...
@@ -231,6 +231,12 @@
field
:
"Name"
,
align
:
"left"
},
{
name
:
"OfferTypeName"
,
label
:
"类型"
,
field
:
"OfferTypeName"
,
align
:
"left"
},
{
name
:
"CustomerName"
,
required
:
true
,
...
...
@@ -313,7 +319,8 @@
},
computed
:
mapState
({
isHavePriceAction
(
state
)
{
if
(
state
.
user
.
userInfo
&&
state
.
user
.
userInfo
.
ActionMenuList
&&
state
.
user
.
userInfo
.
ActionMenuList
.
length
>
0
)
{
if
(
state
.
user
.
userInfo
&&
state
.
user
.
userInfo
.
ActionMenuList
&&
state
.
user
.
userInfo
.
ActionMenuList
.
length
>
0
)
{
let
action
=
state
.
user
.
userInfo
.
ActionMenuList
.
find
(
x
=>
{
if
(
x
.
FunctionCode
==
"Edit_Offer_Price"
)
{
return
x
;
...
...
@@ -352,10 +359,6 @@
if
(
res
.
Code
==
1
)
{
var
jsonData
=
res
.
Data
;
if
(
jsonData
&&
jsonData
.
length
>
0
)
{
// jsonData.unshift({
// Id: 0,
// EmployeeName: "请选择"
// });
this
.
AllemployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
jsonData
));
this
.
EmployeeList
=
JSON
.
parse
(
JSON
.
stringify
(
jsonData
));;
}
...
...
@@ -366,8 +369,12 @@
},
//跳转到订单列表
goOrderList
(
item
)
{
var
url
=
"/sale/myOrder"
;
if
(
item
.
OfferType
!=
1
)
{
url
=
"/sale/studyOrder"
;
}
this
.
$router
.
push
({
path
:
"/sale/myOrder"
,
path
:
url
,
query
:
{
OrderId
:
item
}
...
...
src/pages/sale/myoffer.vue
View file @
085e6935
...
...
@@ -400,8 +400,12 @@
},
//跳转到订单列表
goOrderList
(
item
)
{
var
url
=
"/sale/myOrder"
;
if
(
item
.
OfferType
!=
1
)
{
url
=
"/sale/studyOrder"
;
}
this
.
$router
.
push
({
path
:
"/sale/myOrder"
,
path
:
url
,
query
:
{
OrderId
:
item
}
...
...
src/pages/sale/studyOrder.vue
View file @
085e6935
...
...
@@ -80,7 +80,7 @@
</div>
</div>
<div
class=
"page-content"
>
<orderlist
:dataList=
"data.List"
:isShowClass=
"false"
:authObj=
"authObj"
@
success=
"refreshClassOrder"
ref=
"orderL"
>
<orderlist
:dataList=
"data.List"
:authObj=
"authObj"
@
success=
"refreshClassOrder"
ref=
"orderL"
>
</orderlist>
<div
class=
"row"
style=
"justify-content: flex-end;padding: 5px 20px"
>
<q-pagination
v-model=
"msg.pageIndex"
:max=
"pageCount"
@
input=
"changePage"
class=
"full-width justify-end"
...
...
src/pages/sale/studyjob.vue
View file @
085e6935
...
...
@@ -267,7 +267,6 @@
methods
:
{
//显示下单弹窗
showOrderForm
(
item
)
{
console
.
log
(
"item"
,
item
)
this
.
isShowOrderForm
=
true
;
this
.
studyObj
=
item
;
},
...
...
src/pages/studyAbroad/employment.vue
View file @
085e6935
...
...
@@ -27,6 +27,10 @@
</
template
>
<
template
v-slot:body=
"props"
>
<q-tr
:props=
"props"
>
<q-td
auto-width
>
<q-btn
size=
"sm"
color=
"accent"
round
dense
@
click=
"props.row.expand = !props.row.expand"
:icon=
"props.row.expand ? 'remove' : 'add'"
/>
</q-td>
<template
v-for=
"col in props.cols"
>
<q-td
v-if=
"col.name == 'Name'"
style=
"width:200px;"
>
{{
col
.
value
}}
...
...
@@ -56,7 +60,7 @@
<template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
</
template
>
优惠
...
...
@@ -65,7 +69,7 @@
双人报名享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
</
template
>
优惠
...
...
@@ -74,7 +78,7 @@
续费享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
</
template
>
优惠
...
...
@@ -146,14 +150,35 @@
<q-td
v-else-if=
"col.name == 'Id'"
style=
"width:200px;"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"EditStudy(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"价格设置"
@
click=
"EditStudyPrice(props.row)"
/>
<q-btn
v-if=
"props.row.SaleState==1||props.row.SaleState==4"
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"申请审核"
@
click=
"applyApply(props.row)"
/>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"EditStudyPrice(props.row)"
>
<q-item-section>
<q-item-label>
价格设置
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-if=
"props.row.SaleState==1||props.row.SaleState==4"
@
click=
"applyApply(props.row)"
>
<q-item-section>
<q-item-label>
申请审核
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"GoToOrder(props.row)"
>
<q-item-section>
<q-item-label>
订单中心
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"GoToPayment(props.row)"
>
<q-item-section>
<q-item-label>
收支明细
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</q-td>
</template>
</q-tr>
<q-tr
:props=
"props"
>
<q-tr
v-show=
"props.row.expand"
:props=
"props"
>
<q-td
colspan=
"100%"
class=
"bg-grey-2"
>
<div
style=
"display:flex;"
>
<div
style=
"flex-shrink:0"
>
备注:
</div>
...
...
@@ -214,6 +239,12 @@
dataList
:
[],
loading
:
true
,
columns
:
[{
name
:
'Remark'
,
label
:
'备注'
,
field
:
'Remark'
,
align
:
'left'
},
{
name
:
'Name'
,
label
:
'项目名称'
,
field
:
'Name'
,
...
...
@@ -281,7 +312,7 @@
],
//表格可见列
visibleColumns
:
[
'Name'
,
'SuggestPrice'
,
'SellPrice'
,
"PreferentialList"
,
"PreferentialListSellCommission"
,
'
Remark'
,
'
Name'
,
'SuggestPrice'
,
'SellPrice'
,
"PreferentialList"
,
"PreferentialListSellCommission"
,
"PreferentialListB2BCommission"
,
"EducationCommission"
,
'SaleStateName'
,
'Id'
,
'SupplierName'
,
],
//可见列
...
...
@@ -331,6 +362,23 @@
}
},
methods
:
{
//跳转到留学就业订单中心
GoToOrder
(
item
)
{
var
tempStr
=
'/studyAbroad/studyemploymentorder?SourceId='
+
item
.
Id
;
this
.
$router
.
push
({
path
:
tempStr
});
},
//跳转到收支明细
GoToPayment
(
item
)
{
this
.
$router
.
push
({
path
:
'/studyAbroad/studypayment'
,
query
:
{
SourceId
:
item
.
Id
,
blank
:
'y'
}
})
},
//显示详情
ShowInfo
(
item
)
{
this
.
studyObj
=
item
;
...
...
@@ -352,7 +400,13 @@
this
.
loading
=
true
;
queryStudyAbroadPage
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
dataList
=
res
.
Data
.
PageData
;
var
tempArray
=
res
.
Data
.
PageData
;
if
(
tempArray
&&
tempArray
.
length
>
0
)
{
tempArray
.
forEach
(
item
=>
{
item
.
expand
=
false
;
})
}
this
.
dataList
=
tempArray
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
})
.
catch
(()
=>
{
...
...
src/pages/studyAbroad/studyProAudit.vue
View file @
085e6935
...
...
@@ -55,7 +55,7 @@
<template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
</
template
>
优惠
...
...
@@ -64,7 +64,7 @@
双人报名享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
</
template
>
优惠
...
...
@@ -73,7 +73,7 @@
续费享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
</
template
>
优惠
...
...
src/pages/studyAbroad/studyabroad.vue
View file @
085e6935
...
...
@@ -27,6 +27,10 @@
</
template
>
<
template
v-slot:body=
"props"
>
<q-tr
:props=
"props"
>
<q-td
auto-width
>
<q-btn
size=
"sm"
color=
"accent"
round
dense
@
click=
"props.row.expand = !props.row.expand"
:icon=
"props.row.expand ? 'remove' : 'add'"
/>
</q-td>
<template
v-for=
"col in props.cols"
>
<q-td
v-if=
"col.name == 'Name'"
style=
"width:200px;"
>
{{
col
.
value
}}
...
...
@@ -56,7 +60,7 @@
<template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
</
template
>
优惠
...
...
@@ -65,7 +69,7 @@
双人报名享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
</
template
>
优惠
...
...
@@ -74,7 +78,7 @@
续费享
<
template
v-if=
"x.PriceType==0"
>
{{
100
-
x
.
PriceMoney
}}
折
</
template
>
<
template
>
<
template
v-else
>
{{
x
.
PriceMoney
}}
元
</
template
>
优惠
...
...
@@ -146,14 +150,35 @@
<q-td
v-else-if=
"col.name == 'Id'"
style=
"width:200px;"
>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"编辑"
@
click=
"EditStudy(props.row)"
/>
<q-btn
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"价格设置"
@
click=
"EditStudyPrice(props.row)"
/>
<q-btn
v-if=
"props.row.SaleState==1||props.row.SaleState==4"
flat
size=
"xs"
icon=
"edit"
color=
"accent"
style=
"font-weight:400"
label=
"申请审核"
@
click=
"applyApply(props.row)"
/>
<q-btn-dropdown
flat
size=
"xs"
color=
"dark"
label=
"更多"
style=
"margin-left:10px;"
>
<q-list>
<q-item
clickable
v-close-popup
@
click=
"EditStudyPrice(props.row)"
>
<q-item-section>
<q-item-label>
价格设置
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
v-if=
"props.row.SaleState==1||props.row.SaleState==4"
@
click=
"applyApply(props.row)"
>
<q-item-section>
<q-item-label>
申请审核
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"GoToOrder(props.row)"
>
<q-item-section>
<q-item-label>
订单中心
</q-item-label>
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@
click=
"GoToPayment(props.row)"
>
<q-item-section>
<q-item-label>
收支明细
</q-item-label>
</q-item-section>
</q-item>
</q-list>
</q-btn-dropdown>
</q-td>
</template>
</q-tr>
<q-tr
:props=
"props"
>
<q-tr
v-show=
"props.row.expand"
:props=
"props"
>
<q-td
colspan=
"100%"
class=
"bg-grey-2"
>
<div
style=
"display:flex;"
>
<div
style=
"flex-shrink:0"
>
备注:
</div>
...
...
@@ -215,6 +240,12 @@
dataList
:
[],
loading
:
true
,
columns
:
[{
name
:
'Remark'
,
label
:
'备注'
,
field
:
'Remark'
,
align
:
'left'
},
{
name
:
'Name'
,
label
:
'项目名称'
,
field
:
'Name'
,
...
...
@@ -282,7 +313,7 @@
],
//表格可见列
visibleColumns
:
[
'Name'
,
'SuggestPrice'
,
'SellPrice'
,
"PreferentialList"
,
"PreferentialListSellCommission"
,
'
Remark'
,
'
Name'
,
'SuggestPrice'
,
'SellPrice'
,
"PreferentialList"
,
"PreferentialListSellCommission"
,
"PreferentialListB2BCommission"
,
"EducationCommission"
,
'SaleStateName'
,
'Id'
,
'SupplierName'
,
],
//可见列
...
...
@@ -332,6 +363,23 @@
}
},
methods
:
{
//跳转到留学就业订单中心
GoToOrder
(
item
)
{
var
tempStr
=
'/studyAbroad/studyemploymentorder?SourceId='
+
item
.
Id
;
this
.
$router
.
push
({
path
:
tempStr
});
},
//跳转到收支明细
GoToPayment
(
item
)
{
this
.
$router
.
push
({
path
:
'/studyAbroad/studypayment'
,
query
:
{
SourceId
:
item
.
Id
,
blank
:
'y'
}
})
},
//显示详情
ShowInfo
(
item
)
{
this
.
studyObj
=
item
;
...
...
@@ -353,7 +401,13 @@
this
.
loading
=
true
;
queryStudyAbroadPage
(
this
.
msg
).
then
(
res
=>
{
this
.
loading
=
false
;
this
.
dataList
=
res
.
Data
.
PageData
;
var
tempArray
=
res
.
Data
.
PageData
;
if
(
tempArray
&&
tempArray
.
length
>
0
)
{
tempArray
.
forEach
(
item
=>
{
item
.
expand
=
false
;
})
}
this
.
dataList
=
tempArray
;
this
.
PageCount
=
res
.
Data
.
PageCount
;
})
.
catch
(()
=>
{
...
...
src/pages/studyAbroad/studyemploymentorder.vue
0 → 100644
View file @
085e6935
<
template
>
<div
class=
"page-body myOrder"
>
<div
class=
"row col"
style=
"height: 40px"
>
<div
class=
"row col"
style=
"justify-content: space-between;align-items: center;margin-bottom: 10px"
>
<div>
<template
v-if=
"data&& data.ClassInfo"
>
{{
data
.
ClassInfo
.
StudyName
}}
</
template
>
</div>
</div>
</div>
<div
class=
"page-content"
>
<orderlist
:dataList=
"dataList"
ref=
"orderL"
:authObj=
"authObj"
:cancelList=
"CancelList"
@
success=
"refreshClassOrder"
></orderlist>
</div>
</div>
</template>
<
script
>
import
{
quertClassOrderList
}
from
'../../api/sale/sale'
;
import
orderlist
from
'../../components/sale/orderlist'
export
default
{
components
:
{
orderlist
},
data
()
{
return
{
data
:
{},
msg
:
{
SourceId
:
0
},
//正常订单
dataList
:
[],
//取消订单
CancelList
:
[],
//权限判断
authObj
:
{
isShowName
:
false
,
//不显示班级名称
isShowEditSale
:
true
,
//显示修改销售按钮
isShowEducationRemark
:
true
,
//显示修改教务备注
isShowPrincipalRemark
:
true
,
//显示校长备注
isShowManagerRemark
:
true
,
//显示总经理备注
isShowCommissionEdit
:
true
,
//显示修改提成按钮
isShowRewardEdit
:
true
,
//显示修改额外提成按钮
}
}
},
created
()
{
if
(
this
.
$route
.
query
.
SourceId
)
{
this
.
msg
.
SourceId
=
this
.
$route
.
query
.
SourceId
;
}
this
.
getList
();
},
mounted
()
{
},
methods
:
{
//获取菜单分页列表
getList
()
{
this
.
loading
=
true
;
quertClassOrderList
(
this
.
msg
).
then
(
res
=>
{
this
.
data
=
res
.
Data
;
if
(
this
.
data
&&
this
.
data
.
OrderList
&&
this
.
data
.
OrderList
.
NorList
)
{
this
.
dataList
=
this
.
data
.
OrderList
.
NorList
;
let
OrderIds
=
[]
this
.
dataList
.
forEach
(
x
=>
{
OrderIds
.
push
(
x
.
OrderId
)
})
if
(
OrderIds
.
length
>
0
)
{
OrderIds
=
OrderIds
.
join
(
','
)
if
(
this
.
dataList
.
length
>
0
)
{
this
.
$refs
.
orderL
.
getOrderFinanceList
(
OrderIds
,
1
)
}
}
}
if
(
this
.
data
&&
this
.
data
.
OrderList
&&
this
.
data
.
OrderList
.
CancelList
)
{
this
.
CancelList
=
this
.
data
.
OrderList
.
CancelList
;
let
OrderIds
=
[]
this
.
CancelList
.
forEach
(
x
=>
{
OrderIds
.
push
(
x
.
OrderId
)
})
if
(
OrderIds
.
length
>
0
)
{
OrderIds
=
OrderIds
.
join
(
','
)
if
(
this
.
CancelList
.
length
>
0
)
{
this
.
$refs
.
orderL
.
getOrderFinanceList
(
OrderIds
,
2
)
}
}
}
this
.
loading
=
false
}).
catch
(()
=>
{
this
.
loading
=
false
})
},
//刷新页面
refreshClassOrder
()
{
this
.
getList
();
}
}
}
</
script
>
<
style
>
</
style
>
src/pages/studyAbroad/studypayment.vue
0 → 100644
View file @
085e6935
<
style
>
.studyPayment
.p_title
{
font-weight
:
bold
;
color
:
#000000
;
font-size
:
14px
;
margin-bottom
:
20px
;
}
.studyPayment
.paymentList
{
height
:
170px
;
border-radius
:
3px
;
box-shadow
:
0
0
5px
#d1d1d1
;
margin-right
:
10px
;
padding
:
12px
;
}
.studyPayment
.paymentList
:last-child
{
margin-right
:
0
;
}
.studyPayment
.pay_topList
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
10px
;
}
.studyPayment
.pay_Title
{
margin-left
:
5px
;
color
:
#111111
;
font-size
:
13px
;
font-weight
:
bold
;
}
.studyPayment
.pay_ListMent
{
display
:
flex
;
font-size
:
12px
;
margin-bottom
:
6px
;
}
.studyPayment
.pay_ListOne
{
width
:
50px
;
color
:
#999999
;
text-align
:
left
;
}
.studyPayment
.pay_Inner
{
margin-left
:
10px
;
color
:
#111111
;
font-weight
:
bold
;
}
.studyPayment
.orangeStyle
{
color
:
#F28C1D
;
}
.studyPayment
.pay_ListTwo
{
width
:
25px
;
color
:
#999999
;
text-align
:
left
;
}
.studyPayment
.pay_InorOut
{
margin-top
:
20px
;
}
.studyPayment
.Pay_Line
{
width
:
3px
;
height
:
11px
;
margin-right
:
10px
;
background-color
:
#3FC4FF
;
display
:
inline-block
;
}
.studyPayment
.pay_TopTitle
{
font-weight
:
bold
;
color
:
#000000
;
font-size
:
13px
;
}
.studyPayment
.payTable
{
width
:
100%
;
border-collapse
:
collapse
;
}
.studyPayment
.payTable
tr
th
{
background
:
#fff
;
height
:
40px
;
font-size
:
12px
;
font-weight
:
bold
;
color
:
#2D2D2D
;
background
:
#DDDEE0
;
}
.studyPayment
.payTable
tr
{
background
:
#fff
;
text-align
:
center
;
height
:
40px
;
}
.studyPayment
.payTable
tr
td
{
font-size
:
13px
;
text-align
:
center
;
color
:
#2D2D2D
;
padding
:
10px
0
;
font-weight
:
bold
;
border-bottom
:
1px
solid
#E5E5E5
;
}
.studyPayment
.finince_Order
{
color
:
#2961FE
;
text-decoration
:
underline
;
cursor
:
pointer
;
font-weight
:
bold
;
}
.studyPayment
.finice_pass
{
display
:
inline-block
;
width
:
50px
;
height
:
25px
;
line-height
:
25px
;
background
:
#ccf3eb
;
color
:
#02C499
;
border-radius
:
2px
;
}
.studyPayment
.financeYing
{
width
:
110px
;
text-align
:
left
;
margin
:
auto
;
}
.p_titleList
{
position
:
relative
;
}
</
style
>
<
template
>
<div
class=
"page-body studyPayment"
>
<div
class=
"page-search items-center"
>
<div
class=
"p_titleList"
>
<div
class=
"p_title"
>
留学就业收支明细
</div>
<q-btn
label=
"导出"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important;position:absolute;right:0;top:0"
@
click=
"exportOrder"
/>
</div>
<div
class=
"row"
>
<div
class=
"col paymentList"
v-if=
"dataList&&dataList.ClassInfo"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/bjqk.png"
alt=
""
/>
<span
class=
"pay_Title"
>
项目情况
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
项目名称
</div>
<div
class=
"pay_Inner"
>
{{
dataList
.
ClassInfo
.
ClassName
}}
</div>
</div>
</div>
<div
class=
"col paymentList"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/bjsr.png"
alt=
""
/>
<span
class=
"pay_Title"
>
收入
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
应收
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
IncomeReceive
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
实收
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
dataList
.
IncomeActual
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
待收
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
getShiShou
(
dataList
.
IncomeReceive
,
dataList
.
IncomeActual
)
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
注
</div>
<div
class=
"pay_Inner"
>
应收=订单应收总额,实收=订单 实收总额
</div>
</div>
</div>
<div
class=
"col paymentList"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/qt.png"
alt=
""
/>
<span
class=
"pay_Title"
>
其他
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
应收
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
OtherIncomeReceive
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
实收
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
dataList
.
OtherIncomeActual
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
待收
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
getShiShou
(
dataList
.
OtherIncomeReceive
,
dataList
.
OtherIncomeActual
)
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
注
</div>
<div
class=
"pay_Inner"
>
此处不进入"利润"计算,单纯只统计除班级费外的其他总收入
</div>
</div>
</div>
<div
class=
"col paymentList"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/zc.png"
alt=
""
/>
<span
class=
"pay_Title"
>
支出
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
应付
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
PayReceive
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
实付
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
dataList
.
PayActual
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
待付
</div>
<div
class=
"pay_Inner orangeStyle "
>
¥
{{
getShiShou
(
dataList
.
PayReceive
,
dataList
.
PayActual
)
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListTwo"
>
注
</div>
<div
class=
"pay_Inner"
>
成本单据总额(含退款)+销售提成+ 课时费
</div>
</div>
</div>
<div
class=
"col paymentList"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/lr.png"
alt=
""
/>
<span
class=
"pay_Title"
>
利润
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
实际利润
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
ProfitActual
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
当前利润
</div>
<div
class=
"pay_Inner orangeStyle"
>
¥
{{
dataList
.
ProfitNow
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
注
</div>
<div
class=
"pay_Inner"
>
实收-(应付/实付)+其他收入-总支出
</div>
</div>
</div>
<div
class=
"col paymentList"
>
<div
class=
"pay_topList"
>
<img
src=
"../../assets/images/myimg/tc.png"
alt=
""
/>
<span
class=
"pay_Title"
>
提成
</span>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
销售提成
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
SaleCommission
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
课时费
</div>
<div
class=
"pay_Inner"
>
¥
{{
dataList
.
TeacherProfitNow
}}
</div>
</div>
<div
class=
"pay_ListMent"
>
<div
class=
"pay_ListOne"
>
绩效奖励
</div>
<div
class=
"pay_Inner orangeStyle "
>
¥
{{
dataList
.
MeritsProfit
}}
</div>
</div>
</div>
</div>
<div
class=
"pay_InorOut"
>
<div
class=
"pay_TopTitle"
style=
"display:flex;justify-content: space-between;align-items:center;"
>
<div><span
class=
"Pay_Line"
></span>
收入
</div>
<q-btn
label=
"新增收款"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important;"
@
click=
"goShoukuan(1)"
/>
</div>
<div
class=
"pay_TopTitle"
style=
"margin:15px 0 15px 20px;font-size:12px;"
>
<span
class=
"Pay_Line"
style=
"background-color:#02C499;"
></span>
学费收入
</div>
<table
class=
"payTable"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<tr
v-if=
"dataList && dataList.FiniceReciveList==0"
>
<td
:colspan=
"8"
align=
"center"
>
暂无数据
</td>
</tr>
<tr
v-for=
"(item,index) in dataList.FiniceReciveList"
:key=
"index"
>
<td>
<span
class=
"finince_Order"
@
click=
"goOrderDetail('FinancialDocumentsDetail',item)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"subItem in item.CostTypeList"
:key=
"subItem.subCode"
>
{{
subItem
}}
</span></td>
<td
style=
"text-align:left;"
>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins orangeStyle"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
style=
"margin-left:10px;"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td>
<div
class=
"financeYing"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</div>
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
RB_CreateByName
}}
</div>
<div>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
<div
class=
"finice_pass"
>
{{
item
.
StatusStr
}}
</div>
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
AuditEmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</table>
<div
class=
"pay_TopTitle"
style=
"margin:30px 0 15px 20px;font-size:12px;"
>
<span
class=
"Pay_Line"
style=
"background-color:#02C499;"
></span>
其他收入
</div>
<table
class=
"payTable"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<tr
v-if=
"dataList && dataList.OtherFiniceReciveList==0"
>
<td
:colspan=
"8"
align=
"center"
>
暂无数据
</td>
</tr>
<tr
v-for=
"(item,index) in dataList.OtherFiniceReciveList"
:key=
"index"
>
<td>
<span
class=
"finince_Order"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"subItem in item.CostTypeList"
:key=
"subItem.subCode"
>
{{
subItem
}}
</span></td>
<td
style=
"text-align:left;"
>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins orangeStyle"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
style=
"margin-left:10px;"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td>
<div
class=
"financeYing"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</div>
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
RB_CreateByName
}}
</div>
<div>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
<div
class=
"finice_pass"
>
{{
item
.
StatusStr
}}
</div>
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
AuditEmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</table>
<div
class=
"pay_TopTitle"
style=
"margin-top:30px;display:flex;justify-content: space-between;align-items:center;"
>
<div><span
class=
"Pay_Line"
style=
"background:#F72E52;"
></span>
支出
</div>
<q-btn
label=
"新增付款"
color=
"accent q-px-md"
size=
"sm"
style=
"font-weight:400 !important;"
@
click=
"goShoukuan(2)"
/>
</div>
<div
class=
"pay_TopTitle"
style=
"margin:15px 0 15px 20px;font-size:12px;"
>
<span
class=
"Pay_Line"
style=
"background-color:#F28C1D;"
></span>
其他支出
</div>
<table
class=
"payTable"
>
<tr>
<th
width=
"180"
>
单号
</th>
<th
width=
"200"
>
费用类型
</th>
<th
width=
"500"
>
交易明细
</th>
<th
width=
"300"
>
金额
</th>
<th
width=
"200"
>
交易日期
</th>
<th
width=
"250"
>
制单人员
</th>
<th
width=
'180'
>
审核状态
</th>
<th
width=
"200"
>
当前审核人
</th>
</tr>
<tr
v-if=
"dataList && dataList.OtherFinicePayList==0"
>
<td
:colspan=
"8"
align=
"center"
>
暂无数据
</td>
</tr>
<tr
v-for=
"(item,index) in dataList.OtherFinicePayList"
:key=
"index"
>
<td>
<span
class=
"finince_Order"
@
click=
"goOrderDetail('FinancialDocumentsDetail',item)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"subItem in item.CostTypeList"
:key=
"subItem.subCode"
>
{{
subItem
}}
</span></td>
<td
style=
"text-align:left;"
>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins orangeStyle"
>
-
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
style=
"margin-left:10px;"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td>
<div
class=
"financeYing"
>
应付:
{{
item
.
Money
}}
<br
/>
实付:
{{
item
.
PayMoney
}}
</div>
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
RB_CreateByName
}}
</div>
<div>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
<div
class=
"finice_pass"
>
{{
item
.
StatusStr
}}
</div>
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
AuditEmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
GetClassBalanceSheet
,
}
from
'../../api/finance/index'
;
import
{
EduDownLoad
,
}
from
'../../api/common/common'
;
export
default
{
props
:
{},
components
:
{},
data
()
{
return
{
dataList
:
[],
//数据
msg
:
{
SourceId
:
0
,
},
}
},
created
()
{
},
mounted
()
{
if
(
this
.
$route
.
query
.
SourceId
&&
this
.
$route
.
query
.
SourceId
)
{
this
.
msg
.
SourceId
=
this
.
$route
.
query
.
SourceId
;
}
this
.
getData
();
},
methods
:
{
getData
()
{
GetClassBalanceSheet
(
this
.
msg
).
then
(
res
=>
{
if
(
res
.
Code
==
1
)
{
this
.
dataList
=
res
.
Data
;
}
})
},
//减法 得实收
getShiShou
(
num1
,
num2
)
{
if
(
num1
!==
''
&&
num2
!==
''
)
{
return
parseInt
(
num1
)
-
parseInt
(
num2
);
}
else
{
return
0
;
}
},
//跳转到订单详情
goOrderDetail
(
path
,
item
)
{
this
.
$router
.
push
({
path
:
'/financial/financalDocument/'
+
path
,
query
:
{
"id"
:
item
.
FrID
,
blank
:
'y'
,
tab
:
'单据详情'
}
})
},
//导出单据
exportOrder
()
{
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
));
EduDownLoad
(
"/Finance/GetClassBalanceSheetToExcel"
,
msg
,
"收支明细.xls"
)
},
//跳转到收款单
goShoukuan
(
type
)
{
let
TCIDARR
=
[]
TCIDARR
.
push
(
this
.
msg
.
ClassId
)
let
orderObj
=
{
OrderID
:
0
,
OrderSource
:
17
,
Obj
:
{},
SourceID
:
0
,
TCIDList
:
TCIDARR
}
this
.
$router
.
push
({
path
:
'/financial/financalDocument/ChoiceAddFinancialDocuments'
,
query
:
{
"Type"
:
type
,
"companyID"
:
this
.
msg
.
School_Id
,
"path"
:
""
,
'blank'
:
'y'
,
'orderObj'
:
JSON
.
stringify
(
orderObj
),
'tradeWay'
:
''
,
}
});
}
}
}
</
script
>
<
style
lang=
"sass"
>
@import
url('~assets/css/table.sass')
</
style
>
src/router/routes.js
View file @
085e6935
...
...
@@ -127,7 +127,6 @@ const routes = [{
component
:
()
=>
import
(
"pages/course/classorder.vue"
)
},
{
path
:
"/course/socialclass"
,
//教学奖励-社会班设置
component
:
()
=>
...
...
@@ -552,6 +551,16 @@ const routes = [{
component
:
()
=>
import
(
"pages/studyAbroad/employment.vue"
)
},
{
path
:
"/studyAbroad/studyemploymentorder"
,
//留学就业订单中心
component
:
()
=>
import
(
"pages/studyAbroad/studyemploymentorder.vue"
)
},
{
path
:
"/studyAbroad/studypayment"
,
//留学就业收支明细
component
:
()
=>
import
(
"pages/studyAbroad/studypayment.vue"
)
},
{
path
:
"/studyAbroad/supplier"
,
//供应商
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