Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CRM
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
华国豪
CRM
Commits
dba7464a
Commit
dba7464a
authored
May 11, 2022
by
zhengke
Browse files
Options
Browse Files
Download
Plain Diff
no message
parents
201dde7f
40fc3caf
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1583 additions
and
618 deletions
+1583
-618
App.vue
src/App.vue
+143
-141
orderDetailsDrawer.vue
src/components/customerManage/orderDetailsDrawer.vue
+14
-4
orderList.vue
src/components/customerManage/orderList.vue
+888
-434
orderProfits.vue
src/components/customerManage/orderProfits.vue
+538
-39
No files found.
src/App.vue
View file @
dba7464a
...
...
@@ -4,39 +4,40 @@
</div>
</
template
>
<
script
>
export
default
{
export
default
{
data
()
{
return
{};
},
ceated
()
{
},
ceated
()
{},
mounted
()
{
let
getData
let
getData
;
if
(
this
.
$route
.
query
)
{
getData
=
JSON
.
stringify
(
this
.
$route
.
query
)
getData
=
JSON
.
parse
(
getData
)
getData
=
JSON
.
stringify
(
this
.
$route
.
query
);
getData
=
JSON
.
parse
(
getData
);
if
(
getData
.
erpOrderObj
)
{
getData
=
JSON
.
parse
(
getData
.
erpOrderObj
)
getData
=
JSON
.
parse
(
getData
.
erpOrderObj
);
}
}
if
(
!
this
.
getLocalStorage
()
&&
!
getData
)
{
this
.
$router
.
push
({
path
:
"/login"
,
});
}
else
if
(
getData
&&
getData
.
path
)
{
// erp自动登陆传过来的参数
let
parameter
=
getData
}
else
if
(
getData
&&
getData
.
path
)
{
// erp自动登陆传过来的参数
let
parameter
=
getData
;
this
.
$router
.
push
({
path
:
`/automaticLogin?toke=
${
data
.
token
}
&data=
${
JSON
.
stringify
(
parameter
)}
`
,
})
path
:
`/automaticLogin?toke=
${
data
.
token
}
&data=
${
JSON
.
stringify
(
parameter
)}
`
,
});
}
else
{
this
.
$router
.
push
({
name
:
"Home"
,
});
}
setTimeout
(()
=>
{
this
.
getUserInfo
()
},
100
)
this
.
getUserInfo
();
},
100
);
},
methods
:
{
// 获取用户权限信息
...
...
@@ -44,11 +45,11 @@
this
.
apipost
(
"/api/AutoLogin/GetCRMLoginMenu"
,
{},
(
res
)
=>
{
var
jsonData
=
res
.
data
;
if
(
jsonData
.
resultCode
==
1
)
{
var
userData
=
jsonData
.
data
var
userData
=
jsonData
.
data
;
var
userJson
=
userData
;
var
userInfo
=
JSON
.
parse
(
localStorage
.
userInfo
)
userInfo
.
UserMenu
=
userJson
localStorage
.
userInfo
=
JSON
.
stringify
(
userInfo
)
var
userInfo
=
JSON
.
parse
(
localStorage
.
userInfo
);
userInfo
.
UserMenu
=
userJson
;
localStorage
.
userInfo
=
JSON
.
stringify
(
userInfo
);
}
else
{
this
.
$message
({
message
:
res
.
data
.
message
,
...
...
@@ -59,60 +60,61 @@
});
},
},
};
};
</
script
>
<
style
>
@import
"./assets/css/tablevoerride.css"
;
@import
"./assets/global/font.css"
;
@import
"//at.alicdn.com/t/font_1627123_xio004ni8y.css"
;
@import
url("//at.alicdn.com/t/font_1627123_grz80mbm3sv.css")
;
/* @import './assets/css/common.css'; */
@import
"./assets/css/tablevoerride.css"
;
@import
"./assets/global/font.css"
;
@import
"//at.alicdn.com/t/font_1627123_xio004ni8y.css"
;
@import
url("//at.alicdn.com/t/font_1627123_grz80mbm3sv.css")
;
@import
url("//at.alicdn.com/t/font_635492_63x5920i6sn.css")
;
/* @import './assets/css/common.css'; */
@import
"./assets/css/init.css"
;
body
,
html
{
@import
"./assets/css/init.css"
;
body
,
html
{
padding
:
0px
;
margin
:
0px
;
font-family
:
"微软雅黑"
,
" Microsoft YaHei"
,
"PingFang"
,
"PingFangR"
;
-webkit-font-smoothing
:
antialiased
;
height
:
100%
;
}
}
#app
{
#app
{
height
:
100%
;
}
}
.el-scrollbar
{
.el-scrollbar
{
height
:
100%
;
}
}
.el-scrollbar__wrap
{
.el-scrollbar__wrap
{
overflow
:
auto
!important
;
width
:
100%
;
height
:
100%
;
}
}
.el-scrollbar__view
{
.el-scrollbar__view
{
width
:
100%
;
height
:
100%
;
}
}
.page-component-up
{
.page-component-up
{
position
:
fixed
;
right
:
calc
(
8.3%
-
60px
);
bottom
:
150px
;
width
:
40px
;
height
:
90px
;
z-index
:
2000
;
}
}
.page-component-up
img
{
.page-component-up
img
{
width
:
38px
;
height
:
38px
;
}
}
.page-component-up
i
{
.page-component-up
i
{
background-color
:
#fff
;
cursor
:
pointer
;
transition
:
0.3s
;
...
...
@@ -123,28 +125,28 @@
line-height
:
40px
;
text-align
:
center
;
display
:
inline-block
;
}
}
.page-component-up
i
{
.page-component-up
i
{
font-size
:
36px
;
color
:
#bbb
;
}
}
.page-component-up
i
:hover
{
.page-component-up
i
:hover
{
background-color
:
#ef4455
;
border
:
1px
solid
#ec3346
;
}
}
.page-component-up
:hover
i
{
.page-component-up
:hover
i
{
color
:
#f1f1f1
;
}
}
.el-form-item
.el-form-item__label
{
.el-form-item
.el-form-item__label
{
color
:
#3d3b4f
!important
;
}
}
.el-button
[
class
*=
"el-icon-"
]+
span
{
.el-button
[
class
*=
"el-icon-"
]
+
span
{
margin-left
:
5px
;
font-family
:
"perfectFont"
;
}
}
</
style
>
src/components/customerManage/orderDetailsDrawer.vue
View file @
dba7464a
...
...
@@ -15,6 +15,8 @@
}
.orderDetails-body
{
height
:
calc
(
100%
-
83px
);
display
:
flex
;
flex-direction
:
column
;
}
.orderDetails-body
.order-info
{
padding
:
30px
;
...
...
@@ -27,14 +29,22 @@
justify-content
:
space-between
;
color
:
#999999
;
}
.order-lable-box
:last-child
{
.orderDetails-content
{
flex
:
1
;
position
:
relative
;
padding
:
0
20px
;
}
.no-relative
.el-tabs__content
{
position
:
unset
!important
;
}
.order-lable-box
:last-child
{
margin-top
:
20px
;
}
.order-lable
{
.order-lable
{
display
:
flex
;
flex-direction
:
column
;
}
.order-lable
span
:last-child
{
.order-lable
span
:last-child
{
font-size
:
18px
;
font-weight
:
bold
;
color
:
#333
;
...
...
@@ -65,7 +75,7 @@
</div>
</div>
<div
class=
"orderDetails-content"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tabs
v-model=
"activeName"
class=
"no-relative"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"产品详情"
name=
"1"
>
</el-tab-pane>
...
...
src/components/customerManage/orderList.vue
View file @
dba7464a
...
...
@@ -233,7 +233,7 @@
<customerInfoBox
:CustomerId=
"CustomerId"
/>
</el-drawer>
<!-- 单号抽屉 -->
<el-drawer
:with-header=
"false"
size=
'70%'
:visible
.
sync=
"orderDrawer"
direction=
"rtl"
:before-close=
"handleClose"
>
<el-drawer
@
closed=
"closeOrderDrawerHandler"
:with-header=
"false"
size=
'70%'
:visible
.
sync=
"orderDrawer"
direction=
"rtl"
:before-close=
"handleClose"
>
<orderDetailsDrawer
v-if=
"currentOrder"
:orderId=
"currentOrder.OrderId"
/>
</el-drawer>
...
...
@@ -241,18 +241,18 @@
</template>
<
script
>
import
customerInfoBox
from
"../guestManagement/customerInfoBox"
;
import
orderDetailsDrawer
from
"./orderDetailsDrawer"
;
export
default
{
import
customerInfoBox
from
"../guestManagement/customerInfoBox"
;
import
orderDetailsDrawer
from
"./orderDetailsDrawer"
;
export
default
{
components
:
{
customerInfoBox
,
orderDetailsDrawer
orderDetailsDrawer
,
},
props
:
{
//订单
dataList
:
{
type
:
Array
,
default
:
null
default
:
null
,
},
loading
:
{
type
:
Boolean
,
...
...
@@ -260,8 +260,8 @@
},
superManage
:
{
type
:
String
,
default
:
""
}
default
:
""
,
},
},
data
()
{
return
{
...
...
@@ -284,104 +284,111 @@
}
],
userInfo
:
{},
MoreList
:
[{
Name
:
'取消订单'
,
Id
:
'1'
},
{
Name
:
'订单转交'
,
Id
:
'2'
},
{
Name
:
'修改出票状态'
,
Id
:
'4'
},
{
Name
:
'操作日志'
,
Id
:
'3'
},
],
clickMore
:
''
,
MoreList
:
[
{
Name
:
"取消订单"
,
Id
:
"1"
,
},
{
Name
:
"订单转交"
,
Id
:
"2"
,
},
{
Name
:
"修改出票状态"
,
Id
:
"4"
,
},
{
Name
:
"操作日志"
,
Id
:
"3"
,
},
],
clickMore
:
""
,
drawer
:
false
,
orderDrawer
:
false
,
CustomerId
:
''
,
CustomerName
:
''
,
currentOrder
:
null
CustomerId
:
""
,
CustomerName
:
""
,
currentOrder
:
null
,
};
},
created
()
{
},
created
()
{},
watch
:
{
loading
:
{
handler
(
val
,
oldVal
)
{
this
.
loading
=
val
this
.
loading
=
val
;
},
deep
:
true
,
},
deep
:
true
}
},
mounted
()
{
this
.
userInfo
=
this
.
getLocalStorage
();
let
$this
=
this
let
$this
=
this
;
$this
.
MsgBus
.
$on
(
"closeBillMaking"
,
function
()
{
for
(
let
i
=
0
;
i
<
$this
.
dataList
.
length
;
i
++
)
{
$this
.
dataList
[
i
].
checkList
=
[]
$this
.
dataList
[
i
].
selectedType
=
""
$this
.
dataList
[
i
].
actuallyReceived
=
false
$this
.
dataList
[
i
].
cost
=
false
for
(
let
i
=
0
;
i
<
$this
.
dataList
.
length
;
i
++
)
{
$this
.
dataList
[
i
].
checkList
=
[];
$this
.
dataList
[
i
].
selectedType
=
""
;
$this
.
dataList
[
i
].
actuallyReceived
=
false
;
$this
.
dataList
[
i
].
cost
=
false
;
}
});
},
methods
:
{
// 多选发生变化
clickMultipleChoice
(
row
,
index
,
num
)
{
if
(
num
==
1
)
{
if
(
row
.
checkList
.
slice
(
-
1
)[
0
]
==
4
)
{
this
.
delType
(
row
,
1
)
this
.
delType
(
row
,
2
)
this
.
delType
(
row
,
3
)
this
.
delType
(
row
,
5
)
row
.
selectedType
=
row
.
checkList
.
join
(
','
)
}
else
if
(
row
.
checkList
.
slice
(
-
1
)[
0
]
==
5
)
{
this
.
delType
(
row
,
1
)
this
.
delType
(
row
,
2
)
this
.
delType
(
row
,
3
)
this
.
delType
(
row
,
4
)
row
.
selectedType
=
row
.
checkList
.
join
(
','
)
}
else
{
this
.
delType
(
row
,
4
)
this
.
delType
(
row
,
5
)
row
.
selectedType
=
row
.
checkList
.
join
(
','
)
if
(
num
==
1
)
{
if
(
row
.
checkList
.
slice
(
-
1
)[
0
]
==
4
)
{
this
.
delType
(
row
,
1
);
this
.
delType
(
row
,
2
);
this
.
delType
(
row
,
3
);
this
.
delType
(
row
,
5
);
row
.
selectedType
=
row
.
checkList
.
join
(
","
);
}
else
if
(
row
.
checkList
.
slice
(
-
1
)[
0
]
==
5
)
{
this
.
delType
(
row
,
1
);
this
.
delType
(
row
,
2
);
this
.
delType
(
row
,
3
);
this
.
delType
(
row
,
4
);
row
.
selectedType
=
row
.
checkList
.
join
(
","
);
}
else
{
this
.
delType
(
row
,
4
);
this
.
delType
(
row
,
5
);
row
.
selectedType
=
row
.
checkList
.
join
(
","
);
}
}
},
// 删除套餐值
delType
(
row
,
item
)
{
delType
(
row
,
item
)
{
for
(
let
i
=
0
;
i
<
row
.
checkList
.
length
;
i
++
)
{
if
(
row
.
checkList
[
i
]
==
item
)
{
row
.
checkList
.
splice
(
i
,
1
)
row
.
checkList
.
splice
(
i
,
1
);
}
}
},
// 取消
popCancelClick
(
row
,
index
,
num
)
{
this
.
dataList
.
forEach
(
item
=>
{
item
.
checkList
=
[]
item
.
selectedType
=
''
item
.
actuallyReceived
=
false
item
.
cost
=
false
})
popCancelClick
(
row
,
index
,
num
)
{
this
.
dataList
.
forEach
((
item
)
=>
{
item
.
checkList
=
[];
item
.
selectedType
=
""
;
item
.
actuallyReceived
=
false
;
item
.
cost
=
false
;
});
},
// 确定弹窗
popClick
(
row
,
index
,
num
)
{
if
(
!
row
.
selectedType
)
{
this
.
$message
.
warning
(
'请选择类型!'
);
return
}
this
.
makeAdocumentFun
(
row
,
index
,
num
)
this
.
dataList
[
index
].
actuallyReceived
=
false
this
.
dataList
[
index
].
cost
=
false
popClick
(
row
,
index
,
num
)
{
if
(
!
row
.
selectedType
)
{
this
.
$message
.
warning
(
"请选择类型!"
);
return
;
}
this
.
makeAdocumentFun
(
row
,
index
,
num
);
this
.
dataList
[
index
].
actuallyReceived
=
false
;
this
.
dataList
[
index
].
cost
=
false
;
},
// 点击单号
clickSingleNumber
(
item
){
this
.
currentOrder
=
item
this
.
orderDrawer
=
true
clickSingleNumber
(
item
)
{
this
.
currentOrder
=
item
;
this
.
orderDrawer
=
true
;
},
closeOrderDrawerHandler
()
{
this
.
currentOrder
=
null
;
this
.
orderDrawer
=
false
;
},
handleClose
(
done
)
{
done
();
...
...
@@ -394,160 +401,187 @@
// 查看出票凭据
viewCredentials
(
row
)
{
let
$this
=
this
;
this
.
MsgBus
.
$emit
(
"CredentialsOrderTicketOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
this
.
MsgBus
.
$emit
(
"CredentialsOrderTicketOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
},
chooseMore
(
row
)
{
// 取消订单
if
(
row
.
More
==
'1'
)
{
this
.
cancelOrder
(
row
)
if
(
row
.
More
==
"1"
)
{
this
.
cancelOrder
(
row
);
}
// 订单转换
if
(
row
.
More
==
'2'
)
{
this
.
convertOrder
(
row
)
if
(
row
.
More
==
"2"
)
{
this
.
convertOrder
(
row
);
}
// 操作日志
if
(
row
.
More
==
'3'
)
{
this
.
operationLog
(
row
)
if
(
row
.
More
==
"3"
)
{
this
.
operationLog
(
row
);
}
// 修改出票状态
if
(
row
.
More
==
'4'
)
{
this
.
modifyStatus
(
row
)
if
(
row
.
More
==
"4"
)
{
this
.
modifyStatus
(
row
);
}
// 编辑订单金额
if
(
row
.
More
==
'5'
)
{
this
.
editOrderAmount
(
row
)
if
(
row
.
More
==
"5"
)
{
this
.
editOrderAmount
(
row
);
}
},
// 转换订单
convertOrder
(
row
)
{
this
.
MsgBus
.
$emit
(
"convertOrderTicketOrderBoxOpen"
,
row
.
GuestId
,
row
,
true
);
this
.
MsgBus
.
$emit
(
"convertOrderTicketOrderBoxOpen"
,
row
.
GuestId
,
row
,
true
);
},
// 验证操作员
ValidateOperator
()
{
this
.
$message
({
type
:
'warning'
,
message
:
'抱歉,该订单您没有操作权限!'
type
:
"warning"
,
message
:
"抱歉,该订单您没有操作权限!"
,
});
this
.
$emit
(
'emptyMore'
)
this
.
$emit
(
"emptyMore"
);
},
// 制作单据
makeAdocument
(
row
,
index
,
num
)
{
let
list
=
row
.
OrderType
&&
row
.
OrderType
.
split
(
','
)
if
(
list
!=
null
&&
list
.
length
>
1
&&
num
==
1
){
let
list
=
row
.
OrderType
&&
row
.
OrderType
.
split
(
","
);
this
.
dataList
.
forEach
(
item
=>
{
return
item
.
cost
=
false
})
this
.
dataList
.
forEach
(
item
=>
{
return
item
.
actuallyReceived
=
false
})
this
.
dataList
[
index
].
actuallyReceived
=
true
}
else
if
(
list
!=
null
&&
list
.
length
>
1
&&
num
==
3
){
this
.
dataList
.
forEach
(
item
=>
{
return
item
.
actuallyReceived
=
false
})
this
.
dataList
.
forEach
(
item
=>
{
return
item
.
cost
=
false
})
this
.
dataList
[
index
].
cost
=
true
}
else
{
this
.
makeAdocumentFun
(
row
,
index
,
num
)
if
(
list
!=
null
&&
list
.
length
>
1
&&
num
==
1
)
{
this
.
dataList
.
forEach
((
item
)
=>
{
return
(
item
.
cost
=
false
);
});
this
.
dataList
.
forEach
((
item
)
=>
{
return
(
item
.
actuallyReceived
=
false
);
});
this
.
dataList
[
index
].
actuallyReceived
=
true
;
}
else
if
(
list
!=
null
&&
list
.
length
>
1
&&
num
==
3
)
{
this
.
dataList
.
forEach
((
item
)
=>
{
return
(
item
.
actuallyReceived
=
false
);
});
this
.
dataList
.
forEach
((
item
)
=>
{
return
(
item
.
cost
=
false
);
});
this
.
dataList
[
index
].
cost
=
true
;
}
else
{
this
.
makeAdocumentFun
(
row
,
index
,
num
);
}
},
makeAdocumentFun
(
row
,
index
,
num
)
{
let
type
type
=
num
==
1
?
1
:
2
// 1收款 2退款 3成本
let
href
let
url
=
this
.
domainManager
().
erpRoutingUrl
let
data
let
list
=
row
.
OrderType
&&
row
.
OrderType
.
split
(
','
)
makeAdocumentFun
(
row
,
index
,
num
)
{
let
type
;
type
=
num
==
1
?
1
:
2
;
// 1收款 2退款 3成本
let
href
;
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
let
data
;
let
list
=
row
.
OrderType
&&
row
.
OrderType
.
split
(
","
);
if
(
this
.
userInfo
.
EmName
!=
row
.
EnterName
)
{
this
.
ValidateOperator
()
this
.
ValidateOperator
();
}
else
{
if
(
row
.
OrderStatus
!=
'2'
)
{
if
(
list
&&
list
.
length
>
1
)
{
let
typeList
=
row
.
selectedType
.
split
(
','
)
if
(
num
==
1
&&
typeList
.
length
>=
2
)
{
if
(
row
.
OrderStatus
!=
"2"
)
{
if
(
list
&&
list
.
length
>
1
)
{
let
typeList
=
row
.
selectedType
.
split
(
","
);
if
(
num
==
1
&&
typeList
.
length
>=
2
)
{
let
$this
=
this
;
row
.
ReFinanceId2
=
num
row
.
ReFinanceId2
=
num
;
this
.
MsgBus
.
$emit
(
"BillMakingOrderBoxOpen"
,
$this
.
ID
,
row
,
true
);
}
if
(
typeList
.
length
==
1
&&
num
==
'1'
||
num
==
'3'
){
data
=
[{
path
:
'ChoiceAddFinancialDocuments'
,
}
if
((
typeList
.
length
==
1
&&
num
==
"1"
)
||
num
==
"3"
)
{
data
=
[
{
path
:
"ChoiceAddFinancialDocuments"
,
type
:
type
,
OtherType
:
55
,
ReFinanceId
:
row
.
OrderId
,
ReFinanceId2
:
num
,
GuestId
:
row
.
GuestId
,
RelevanceFrId
:
row
.
selectedType
,
// 单据类型
}]
href
=
url
+
'automaticLogin?token='
+
this
.
getLocalStorage
().
token
+
'&data='
+
JSON
.
stringify
(
data
)
},
];
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
window
.
open
(
href
);
for
(
let
i
=
0
;
i
<
this
.
dataList
.
length
;
i
++
){
this
.
dataList
[
i
].
checkList
=
[]
this
.
dataList
[
i
].
selectedType
=
""
this
.
dataList
[
i
].
actuallyReceived
=
false
this
.
dataList
[
i
].
cost
=
false
}
}
if
(
num
==
'2'
){
data
=
[{
path
:
'ChoiceAddFinancialDocuments'
,
for
(
let
i
=
0
;
i
<
this
.
dataList
.
length
;
i
++
)
{
this
.
dataList
[
i
].
checkList
=
[];
this
.
dataList
[
i
].
selectedType
=
""
;
this
.
dataList
[
i
].
actuallyReceived
=
false
;
this
.
dataList
[
i
].
cost
=
false
;
}
}
if
(
num
==
"2"
)
{
data
=
[
{
path
:
"ChoiceAddFinancialDocuments"
,
type
:
type
,
OtherType
:
55
,
ReFinanceId
:
row
.
OrderId
,
ReFinanceId2
:
num
,
GuestId
:
row
.
GuestId
,
}]
href
=
url
+
'automaticLogin?token='
+
this
.
getLocalStorage
().
token
+
'&data='
+
JSON
.
stringify
(
data
)
},
];
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
window
.
open
(
href
);
for
(
let
i
=
0
;
i
<
this
.
dataList
.
length
;
i
++
)
{
this
.
dataList
[
i
].
checkList
=
[]
this
.
dataList
[
i
].
selectedType
=
""
this
.
dataList
[
i
].
actuallyReceived
=
false
this
.
dataList
[
i
].
cost
=
false
for
(
let
i
=
0
;
i
<
this
.
dataList
.
length
;
i
++
)
{
this
.
dataList
[
i
].
checkList
=
[];
this
.
dataList
[
i
].
selectedType
=
""
;
this
.
dataList
[
i
].
actuallyReceived
=
false
;
this
.
dataList
[
i
].
cost
=
false
;
}
}
}
else
{
if
(
num
==
1
||
num
==
2
){
data
=
[
{
path
:
'ChoiceAddFinancialDocuments'
,
}
else
{
if
(
num
==
1
||
num
==
2
)
{
data
=
[
{
path
:
"ChoiceAddFinancialDocuments"
,
type
:
type
,
OtherType
:
55
,
ReFinanceId
:
row
.
OrderId
,
ReFinanceId2
:
num
,
GuestId
:
row
.
GuestId
,
RelevanceFrId
:
row
.
OrderType
,
// 单据类型
}]
},
];
}
if
(
num
==
3
){
data
=
[{
path
:
'ChoiceAddFinancialDocuments'
,
if
(
num
==
3
)
{
data
=
[
{
path
:
"ChoiceAddFinancialDocuments"
,
type
:
type
,
OtherType
:
55
,
ReFinanceId
:
row
.
OrderId
,
ReFinanceId2
:
num
,
GuestId
:
row
.
GuestId
,
}]
}
href
=
url
+
'automaticLogin?token='
+
this
.
getLocalStorage
().
token
+
'&data='
+
JSON
.
stringify
(
data
)
},
];
}
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
window
.
open
(
href
);
for
(
let
i
=
0
;
i
<
this
.
dataList
.
length
;
i
++
)
{
this
.
dataList
[
i
].
checkList
=
[]
this
.
dataList
[
i
].
selectedType
=
""
this
.
dataList
[
i
].
actuallyReceived
=
false
this
.
dataList
[
i
].
cost
=
false
for
(
let
i
=
0
;
i
<
this
.
dataList
.
length
;
i
++
)
{
this
.
dataList
[
i
].
checkList
=
[];
this
.
dataList
[
i
].
selectedType
=
""
;
this
.
dataList
[
i
].
actuallyReceived
=
false
;
this
.
dataList
[
i
].
cost
=
false
;
}
}
}
}
},
...
...
@@ -558,18 +592,22 @@
// 修改出票状态
modifyStatus
(
row
)
{
if
(
this
.
superManage
)
{
this
.
ModifyStatusfun
(
row
)
this
.
ModifyStatusfun
(
row
);
}
else
{
if
(
this
.
userInfo
.
EmName
!=
row
.
EnterName
)
{
this
.
ValidateOperator
()
this
.
ValidateOperator
();
}
else
{
this
.
ModifyStatusfun
(
row
)
this
.
ModifyStatusfun
(
row
);
}
}
},
ModifyStatusfun
(
row
)
{
if
(
row
.
TicketStatus
==
3
||
row
.
TicketStatus
==
4
||
row
.
OrderStatus
==
'2'
)
{
return
if
(
row
.
TicketStatus
==
3
||
row
.
TicketStatus
==
4
||
row
.
OrderStatus
==
"2"
)
{
return
;
}
else
{
this
.
MsgBus
.
$emit
(
"reviseTicketOrderBoxOpen"
,
row
.
GuestId
,
row
,
true
);
}
...
...
@@ -577,71 +615,87 @@
// 取消订单
cancelOrder
(
row
)
{
if
(
this
.
superManage
)
{
this
.
cancelOrderfun
(
row
)
this
.
cancelOrderfun
(
row
);
}
else
{
if
(
this
.
userInfo
.
EmName
!=
row
.
EnterName
)
{
this
.
ValidateOperator
()
this
.
ValidateOperator
();
}
else
{
this
.
cancelOrderfun
(
row
)
this
.
cancelOrderfun
(
row
);
}
}
},
cancelOrderfun
(
row
)
{
if
(
row
.
OrderStatus
!=
'2'
&&
row
.
IncomeFinance
.
length
==
0
&&
row
.
BackFinance
.
length
==
0
&&
row
.
PayFinance
.
length
==
0
)
{
let
tips
=
'此操作将取消该订单,是否继续取消?'
this
.
$confirm
(
tips
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'/api/Order/SetGuestOrderState'
,
{
if
(
row
.
OrderStatus
!=
"2"
&&
row
.
IncomeFinance
.
length
==
0
&&
row
.
BackFinance
.
length
==
0
&&
row
.
PayFinance
.
length
==
0
)
{
let
tips
=
"此操作将取消该订单,是否继续取消?"
;
this
.
$confirm
(
tips
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
this
.
apipost
(
"/api/Order/SetGuestOrderState"
,
{
OrderId
:
row
.
OrderId
,
Type
:
'1'
,
},
res
=>
{
Type
:
"1"
,
},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
getList
()
this
.
getList
();
}
}
);
})
})
.
catch
(()
=>
{
this
.
$emit
(
'emptyMore'
)
.
catch
(()
=>
{
this
.
$emit
(
"emptyMore"
);
this
.
$message
({
type
:
'info'
,
message
:
'已取消'
type
:
"info"
,
message
:
"已取消"
,
});
});
}
else
{
this
.
$emit
(
'emptyMore'
)
this
.
$emit
(
"emptyMore"
);
}
},
// 编辑订单
editOrder
(
row
)
{
if
(
this
.
superManage
)
{
this
.
editOrderfun
(
row
)
this
.
editOrderfun
(
row
);
}
else
{
if
(
this
.
userInfo
.
EmName
!=
row
.
EnterName
)
{
this
.
ValidateOperator
()
this
.
ValidateOperator
();
}
else
{
this
.
editOrderfun
(
row
)
this
.
editOrderfun
(
row
);
}
}
},
editOrderfun
(
row
)
{
if
(
row
.
TicketStatus
==
1
&&
row
.
OrderStatus
==
1
)
{
this
.
MsgBus
.
$emit
(
"editOrderTicketOrderBoxOpen"
,
row
.
GuestId
,
row
,
true
);
this
.
MsgBus
.
$emit
(
"editOrderTicketOrderBoxOpen"
,
row
.
GuestId
,
row
,
true
);
}
else
{
this
.
$emit
(
'emptyMore'
)
this
.
$emit
(
"emptyMore"
);
}
},
// 编辑订单金额
editOrderAmount
(
row
)
{
if
(
this
.
superManage
)
{
this
.
editOrderAmountfun
(
row
)
this
.
editOrderAmountfun
(
row
);
}
else
{
if
(
this
.
userInfo
.
EmName
!=
row
.
EnterName
)
{
this
.
ValidateOperator
()
this
.
ValidateOperator
();
}
else
{
this
.
editOrderAmountfun
(
row
)
this
.
editOrderAmountfun
(
row
);
}
}
},
...
...
@@ -649,42 +703,47 @@
if
(
row
.
TicketStatus
==
1
&&
row
.
OrderStatus
==
1
)
{
this
.
MsgBus
.
$emit
(
"editTicketOrderBoxOpen"
,
row
.
GuestId
,
row
,
true
);
}
else
{
this
.
$emit
(
'emptyMore'
)
this
.
$emit
(
"emptyMore"
);
}
},
openDetails
(
item
)
{
let
href
let
url
=
this
.
domainManager
().
erpRoutingUrl
let
data
=
[{
path
:
'FinancialDocumentsDetail'
,
id
:
item
.
FrID
}]
href
=
url
+
'automaticLogin?token='
+
this
.
getLocalStorage
().
token
+
'&data='
+
JSON
.
stringify
(
data
)
let
href
;
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
let
data
=
[
{
path
:
"FinancialDocumentsDetail"
,
id
:
item
.
FrID
,
},
];
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
window
.
open
(
href
);
},
// 获取出票状态枚举
GetTicketStatusEnumList
()
{
this
.
msg
.
GuestId
=
row
.
GuestId
this
.
apipost
(
"/api/Order/GetTicketStatusEnumList"
,
{},
(
res
)
=>
{
this
.
msg
.
GuestId
=
row
.
GuestId
;
this
.
apipost
(
"/api/Order/GetTicketStatusEnumList"
,
{},
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
ticketingStatusList
=
res
.
data
.
data
;
let
data
=
{
Name
:
'全部'
,
Id
:
'0'
}
this
.
ticketingStatusList
.
unshift
(
data
)
Name
:
"全部"
,
Id
:
"0"
,
};
this
.
ticketingStatusList
.
unshift
(
data
);
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
}
);
});
},
}
};
},
};
</
script
>
<
style
>
<<<<<<<
HEAD
li
{
list-style-type
:
none
;
}
...
...
@@ -1104,3 +1163,398 @@
background-color
:
rgba
(
97
,
225
,
165
,
.2
);
}
</
style
>
=======
li {
list-style-type: none;
}
.classorder ul {
padding: 0px;
}
.classorder .price-popup {
border-radius: 4px;
}
.classorder .el-range-editor .el-range-input {
background: none;
}
.classorder .el-range-editor.el-input__inner {
background-color: transparent;
}
.classorder .q-mb-md {
margin-bottom: 0;
}
.classorder .stics {
padding: 10px 20px;
background: #dddee0;
border-radius: 4px;
font-size: 14px;
color: #000000;
font-weight: bold;
}
.classorder .stics .stics-name {
color: #2d2d2d;
font-weight: 600;
margin-right: 10px;
}
.classorder .tis {
margin: 10px 0;
align-items: center;
}
.classorder .tis .tis-k {
width: 10px;
height: 10px;
margin-right: 8px;
}
.classorder .tis span {
font-size: 14px;
color: #2d2d2d;
font-weight: 600;
margin-right: 20px;
}
.classorder table {
padding: 10px 0;
width: 100%;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.enrollTotalSearchTable td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid rgba(138, 138, 138, 0.09);
text-align: left;
}
.classorder table ._color_666 {
color: #666666;
}
.classorder table tr._color_666 th {
padding: 9px 15px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.classorder table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
}
.classorder table ._color_666 {
color: #666666;
}
.classorder table tr._color_666 th {
padding: 9px 15px;
}
.classorder .enrollTotalSearchTable {
width: 100%;
font-size: 14px;
color: #333;
border-bottom: 1px solid #cccccc;
border-right: 1px solid #cccccc;
border-collapse: collapse;
}
.classorder .enrollTotalSearchTable tr {
}
.classorder .enrollTotalSearchTable tr th {
background: #dddee0;
height: 30px;
font-size: 12px;
text-align: left;
}
.classorder .enrollTotalSearchTable tr {
background: #fff;
text-align: left;
}
.classorder .enrollTotalSearchTable tbody tr:last-child {
border-bottom: 2px solid #ddd;
}
.classorder .enrollTotalSearchTable tr:first-child td:first-child {
border-bottom: 2px solid #ddd;
}
.classorder .enrollTotalSearchTable tr td {
height: 46px;
padding: 10px;
}
.classorder .enrollTotalSearchTable tr td > img {
width: 32px;
height: 32px;
border-radius: 16px;
vertical-align: middle;
margin-right: 5px;
}
.classorder .enrollTotalSearchTable tr td p {
line-height: 20px;
}
.classorder .remarks {
font-size: 14px;
color: #2d2d2d;
}
.classorder .remarks-b {
height: 34px;
background: #f0f5fb;
margin-top: 10px;
padding: 15px;
font-size: 12px;
color: #999999;
position: relative;
overflow: hidden;
display: -webkit-box;
line-height: 20px;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}
.classorder .remarks-b-b {
text-align: right;
position: absolute;
right: 0px;
bottom: 0px;
}
.classorder .on-left {
margin-right: 5px;
}
.classorder .finance {
padding: 1px 10px;
align-items: center;
justify-content: center;
border-radius: 4px;
margin: 5px 3px 3px 0;
}
.classorder .order_OfferId {
font-size: 18px;
color: #2961fe;
margin-bottom: 10px;
font-weight: bold;
text-decoration: underline;
cursor: pointer;
}
.takeContract {
cursor: pointer;
color: rgb(41, 97, 254);
}
.Contract_Table {
width: 100%;
border-collapse: collapse;
}
.Contract_Table th,
.Contract_Table td {
padding: 5px;
color: #000;
text-align: center;
}
.table-body {
overflow-x: hidden;
overflow-y: auto;
}
.classorder .redstyle {
color: var(--q-color-negative);
}
.order_OferTitle {
font-size: 14px;
color: #333333;
margin-bottom: 10px;
}
.tatusText.grey {
color: grey;
}
.tatusText.success {
color: #21ba45;
}
.tatusText.error {
color: #f2c037;
}
.tatusText.Black {
color: Black;
}
.ToBeReceived.red {
color: #fd397a;
}
.ToBeReceived.blue {
color: #409eff;
}
.documents-text {
display: flex;
justify-content: space-between;
}
.documents-left {
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: 2px 0;
}
.documents-left span {
margin-right: 10px;
border-radius: 3px;
padding: 2px 6px;
}
.documents-left span:hover {
cursor: pointer;
}
.documents-left span.one {
background-color: rgba(41, 97, 254, 0.2);
color: rgb(41, 97, 254);
}
.documents-left span.two {
background-color: rgba(242, 140, 29, 0.2);
color: rgb(242, 140, 29);
}
.documents-left span.three {
background-color: rgba(63, 196, 255, 0.2);
color: rgb(63, 196, 255);
}
.documents-left.num span {
background-color: rgba(41, 97, 254, 0);
color: rgb(41, 97, 254);
padding: 0;
}
.documents-right {
margin-right: 20px;
position: relative;
}
.OrderId-text {
font-size: 19px;
/* text-decoration:underline; */
font-weight: bold;
color: #2961fe;
margin-bottom: 10px;
cursor: pointer;
}
.CreateByName-text {
margin-bottom: 10px;
}
.colorblue {
color: #2961fe;
}
.enedit-box {
display: flex;
align-items: center;
}
.select-right {
margin-left: 5px;
}
.Credentials {
color: #2961fe;
}
.TicketVoucher-box {
display: flex;
}
.TicketVoucher-box span {
flex-shrink: 0;
}
.TicketVoucher-box i {
margin-left: 5px;
}
.agreement-IncomeMoney-box {
position: relative;
}
.agreement-IncomeMoney-pop {
position: absolute;
top: -20px;
left: -270px;
z-index: 1;
background: #fff;
padding: 10px 19px 10px 19px;
box-shadow: 5px 5px 10px 5px #ccc;
}
.agreement-Cancel {
text-align: right;
color: #409eff;
}
.agreement-Cancel span:first-child {
color: #999999;
margin-right: 20px;
}
.agreement-Cancel span:hover {
cursor: pointer;
}
.float-flag-shape {
position: absolute;
top: 20px;
border: 1px solid #fff;
height: 0;
width: 0;
border-top: 6px solid transparent;
border-left: 10px solid #fff;
border-bottom: 3px solid transparent;
right: -11px;
}
.el-checkbox-group,
.el-radio-group {
display: flex !important;
margin-bottom: 10px !important;
}
.font-color-link {
cursor: pointer;
}
</style>
>>>>>>> 40fc3cafc0b05769fd3a8d6b3d843f8259bbaf70
src/components/customerManage/orderProfits.vue
View file @
dba7464a
<
template
>
<div
style=
"padding:0 20px 20px 20px;
"
>
<div
class=
"finance-list-box"
v-loading=
"loading
"
>
<div
style=
"font-size:16px;"
>
订单利润核算表
</div>
<div
class=
"Team_Content"
v-
loading=
"loading
"
>
<div
class=
"Team_Content"
v-
if=
"d
"
>
<el-row
:gutter=
"12"
v-if=
"d"
>
<el-col
:span=
"
5
"
>
<el-col
:span=
"
4
"
>
<div
class=
"Team_DList"
>
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_shou"
>
<i
class=
"iconfont icon-qian"
></i>
</span>
团费
收入
</span>
订单
收入
</div>
<div
class=
"Team_Incontent"
>
<div>
应收:
<span>
¥
{{
DataList
.
TeamBalance
.
ShouldReceive
}}
</span></div>
<div>
实收:
<span
class=
"Team_Coins"
>
¥
{{
DataList
.
TeamBalance
.
ActualReceive
}}
</span></div>
<div>
待收:
<span
class=
"Team_Coins"
>
¥
{{
DataList
.
TeamBalance
.
WaitRecive
}}
</span></div>
<div>
应收:
<span>
¥
{{
d
.
YSMoney
}}
</span></div>
<div>
实收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
SSMoney
}}
</span></div>
<div>
手续费:
<span
class=
"Team_Coins"
>
¥
{{
d
.
SSFee
}}
</span></div>
<div>
待收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
DSMoney
}}
</span></div>
<div>
注:应收=订单应收总额,实收=订单实收总额
注:应收=订单应收总额,实收=订单实收总额
(不包含手续费)
</div>
</div>
</div>
...
...
@@ -25,48 +26,66 @@
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_shou"
>
<i
class=
"iconfont icon-qian"
></i>
</span>
其他
</span>
其他
收入
</div>
<div
class=
"Team_Incontent"
>
<div>
应收:
<span>
¥
{{
moneyFormat
(
moneyAll
.
otheryTotalyf
)
}}
</span></div>
<div>
实收:
<span
class=
"Team_Coins"
>
¥
{{
moneyFormat
(
moneyAll
.
otheryTotalsf
)
}}
</span></div>
<div>
待收:
<span
class=
"Team_Coins"
>
¥
{{
moneyFormat
(
moneyAll
.
otheryTotalyf
-
moneyAll
.
otheryTotalsf
)
}}
</span></div>
<div>
应收:
<span>
¥
{{
d
.
OtherYS
}}
</span></div>
<div>
实收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherSS
}}
</span></div>
<div>
手续费:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherFee
}}
</span></div>
<div>
待收:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherDS
}}
</span></div>
<div>
注:
此处不进入'利润'计算,单纯只统计除团费
外的其他总收入
注:
统计除订单上主业务
外的其他总收入
</div>
</div>
</div>
</el-col>
<el-col
:span=
"
5
"
>
<el-col
:span=
"
4
"
>
<div
class=
"Team_DList"
>
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_zhichu"
>
<i
class=
"iconfont icon-qian"
></i>
</span>
支出
</span>
成本
支出
</div>
<div
class=
"Team_Incontent"
>
<div>
应付:
<span>
¥
{{
DataList
.
TeamBalance
.
ShouldPa
y
}}
</span></div>
<div>
实付:
<span
class=
"Team_Coins"
>
¥
{{
DataList
.
TeamBalance
.
ActualPa
y
}}
</span></div>
<div>
待付:
<span
class=
"Team_Coins"
>
¥
{{
DataList
.
TeamBalance
.
WaitPa
y
}}
</span></div>
<div>
应付:
<span>
¥
{{
d
.
CostYFMone
y
}}
</span></div>
<div>
实付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
CostSFMone
y
}}
</span></div>
<div>
待付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
CostDFMone
y
}}
</span></div>
<div>
注:成本
单据总额(包含退款)+提成-小费收入-地接收入
注:成本
总额+订单提成
</div>
</div>
</div>
</el-col>
<el-col
:span=
"
5
"
>
<el-col
:span=
"
4
"
>
<div
class=
"Team_DList"
>
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_
lirun
"
>
<span
class=
"Team_comCoinType Team_
zhichu
"
>
<i
class=
"iconfont icon-qian"
></i>
</span>
利润(计算规则请看注解)
</span>
退款
</div>
<div
class=
"Team_Incontent"
>
<div>
实际利润:
<span>
¥
{{
DataList
.
TeamBalance
.
ExpectedProfit
}}
</span></div>
<div>
当前利润:
<span
class=
"Team_Coins"
>
¥
{{
DataList
.
TeamBalance
.
ActualProfit
}}
</span></div>
<div>
应退:
<span>
¥
{{
d
.
BackYFMoney
}}
</span></div>
<div>
实退:
<span
class=
"Team_Coins"
>
¥
{{
d
.
BackSFMoney
}}
</span></div>
<div>
待退:
<span
class=
"Team_Coins"
>
¥
{{
d
.
BackDFMoney
}}
</span></div>
<div>
注:实收-(应付/实付)+佣金收入+自费收入+其他收入
-联运成本+挂账总收入-挂账总支出+冲抵总收入-冲抵总支出
注:订单产生的退款总额
</div>
</div>
</div>
</el-col>
<el-col
:span=
"4"
>
<div
class=
"Team_DList"
>
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_zhichu"
>
<i
class=
"iconfont icon-qian"
></i>
</span>
其他支出
</div>
<div
class=
"Team_Incontent"
>
<div>
应付:
<span>
¥
{{
d
.
OtherYF
}}
</span></div>
<div>
实付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherSF
}}
</span></div>
<div>
待付:
<span
class=
"Team_Coins"
>
¥
{{
d
.
OtherDF
}}
</span></div>
<div>
注:订单产生的其他项目支出
</div>
</div>
</div>
...
...
@@ -76,23 +95,294 @@
<div
class=
"Team_firstTitle"
>
<span
class=
"Team_comCoinType Team_lirun"
>
<i
class=
"iconfont icon-qian"
></i>
</span>
提成
</span>
利润(计算规则请看注解)
</div>
<div
class=
"Team_Incontent"
style=
"margin-bottom:0;"
>
<div
class=
"TeamExpectList"
>
<template
v-for=
"subItem in DataList.ExpectedCutList"
>
<div
style=
"margin-bottom:5px;"
>
{{
subItem
.
BranchName
}}
¥
{{
subItem
.
expectedCut
}}
</
div>
</
template
>
<div
class=
"Team_Incontent"
>
<div>
实际利润:
<span>
¥
{{
d
.
RealityProfit
}}
</span></div
>
<div>
当前利润:
<span
class=
"Team_Coins"
>
¥
{{
d
.
NowProfit
}}
</span></div
>
<
div>
注:(实收+其他收入)-成本(应付/实付)-其他(应付/实付)-退款(应付/实付)
</div>
</div>
<div>
联运成本:
<span>
¥{{DataList.LYCB}}
</span></div>
<div>
额外返佣:
<span>
¥{{DataList.EWFY}}
</span></div>
<div>
OP提成:
<span>
¥{{DataList.OpCommMoney}}
</span></div>
<div>
票务提成:
<span>
¥{{DataList.AirCommMoney}}
</span></div>
</div>
</el-col>
</el-row>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
订单收入:
<span>
<span
class=
"span_all"
>
应收:¥
{{
d
.
YSMoney
}}
</span>
<span
class=
"span_all"
>
实收:¥
{{
d
.
SSMoney
}}
</span>
</span>
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<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>
<template
v-if=
"isExsitList(1).length>0"
>
<tr
v-for=
"item in isExsitList(1)"
:key=
"item.FrID"
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item.FrID)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
其他收入
<span>
<span
class=
"span_all"
>
应收:¥{{d.OtherYS}}
</span>
<span
class=
"span_all"
>
实收:¥{{d.OtherSS}}
</span>
</span>
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<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>
<
template
v-if=
"isExsitList(2).length>0"
>
<tr
v-for=
"item in isExsitList(2)"
:key=
"item.FrID"
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item.FrID)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
成本支出:
<span>
<span
class=
"span_all"
>
应付:¥{{d.CostYFMoney}}
</span>
<span
class=
"span_all"
>
实付:¥{{d.CostSFMoney}}
</span>
</span>
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<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>
<
template
v-if=
"isExsitList(3).length>0"
>
<tr
v-for=
"item in isExsitList(3)"
:key=
"item.FrID"
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item.FrID)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
其他支出:
<span>
<span
class=
"span_all"
>
应付:¥{{d.OtherYF}}
</span>
<span
class=
"span_all"
>
实付:¥{{d.OtherSF}}
</span>
</span>
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<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>
<
template
v-if=
"isExsitList(4).length>0"
>
<tr
v-for=
"item in isExsitList(4)"
:key=
"item.FrID"
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item.FrID)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
<div
class=
"Team_collection"
v-if=
"d"
>
<div
class=
"clearfix TB_PrintDiv"
>
<div
class=
"TB_comtitle TB-Title"
>
退款:
<span>
<span
class=
"span_all"
>
应退:¥{{d.BackYFMoney}}
</span>
<span
class=
"span_all"
>
实退:¥{{d.BackSFMoney}}
</span>
</span>
</div>
</div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<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>
<
template
v-if=
"isExsitList(4).length>0"
>
<tr
v-for=
"item in isExsitList(4)"
:key=
"item.FrID"
>
<td><span
class=
"Team_income"
@
click=
"openDetails(item.FrID)"
>
{{
item
.
FrID
}}
</span>
</td>
<td><span
v-for=
"(subItem,i) in item.CostTypeList"
:key=
"i"
>
{{
subItem
}}
</span></td>
<td>
<div
v-for=
"childItem in item.TradeWayList"
>
支付方式:
{{
childItem
.
Alias
}}
<span
class=
"TB_Rate"
>
币种:
{{
childItem
.
CurrencyName
}}
</span>
<span
class=
"Team_Coins"
>
{{
childItem
.
OriginalMoney
}}
*
{{
childItem
.
Rate
}}
</span>
<span
class=
"TB_Rate"
>
汇率:
{{
childItem
.
Rate
}}
</span>
</div>
</td>
<td
style=
"font-size:14px;"
>
应收:
{{
item
.
Money
}}
<br
/>
实收:
{{
item
.
PayMoney
}}
</td>
<td>
{{
item
.
TradeDate
}}
</td>
<td>
<div>
{{
item
.
EmName
}}
</div>
<div
class=
"Team_btmDiv"
>
{{
item
.
CreateDate
}}
</div>
</td>
<td>
{{
item
.
StatusStr
}}
</td>
<td>
<div
v-for=
"AuditItem in item.AuditList"
>
{{
AuditItem
.
EmName
}}
<span
class=
"TB_Rate"
>
{{
AuditItem
.
AuditDate
}}
</span>
</div>
</td>
</tr>
</
template
>
<tr
v-else
>
<td
colspan=
"8"
class=
"none-finance"
>
暂无相关单据
</td>
</tr>
</table>
</div>
</div>
</template>
...
...
@@ -105,6 +395,9 @@ export default {
d
:
null
,
};
},
mounted
()
{
this
.
init
();
},
methods
:
{
init
()
{
this
.
apipost2
(
...
...
@@ -113,15 +406,221 @@ export default {
(
res
)
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
d
=
res
.
data
.
data
;
console
.
log
(
d
);
}
this
.
loading
=
false
;
},
(
err
)
=>
{}
);
},
openDetails
(
item
)
{
let
href
;
let
url
=
this
.
domainManager
().
erpRoutingUrl
;
let
data
=
[
{
path
:
"FinancialDocumentsDetail"
,
id
:
item
.
FrID
,
},
];
href
=
url
+
"automaticLogin?token="
+
this
.
getLocalStorage
().
token
+
"&data="
+
JSON
.
stringify
(
data
);
window
.
open
(
href
);
},
isExsitList
(
code
)
{
if
(
code
==
1
)
{
return
this
.
d
.
FinanceList
.
filter
(
(
x
)
=>
x
.
ReFinanceId2
==
2
&&
x
.
RelevanceFrId
!=
5
);
}
else
if
(
code
==
2
)
{
return
this
.
d
.
FinanceList
.
filter
(
(
x
)
=>
x
.
ReFinanceId2
==
2
&&
x
.
RelevanceFrId
==
5
);
}
else
if
(
code
==
3
)
{
return
this
.
d
.
FinanceList
.
filter
(
(
x
)
=>
x
.
ReFinanceId2
==
3
&&
x
.
RelevanceFrId
!=
5
);
}
else
if
(
code
==
4
)
{
return
this
.
d
.
FinanceList
.
filter
(
(
x
)
=>
x
.
ReFinanceId2
==
3
&&
x
.
RelevanceFrId
==
5
);
}
else
if
(
code
==
5
)
{
return
this
.
d
.
FinanceList
.
filter
((
x
)
=>
x
.
ReFinanceId2
==
2
);
}
},
},
};
</
script
>
<
style
>
.finance-list-box
{
padding
:
0
20px
20px
20px
;
position
:
absolute
;
top
:
54px
;
bottom
:
0
;
left
:
0
;
right
:
0
;
overflow-y
:
auto
;
}
.none-finance
{
height
:
30px
;
text-align
:
center
;
color
:
#666666
;
}
.TB_comtitle
{
color
:
#333333
;
padding-left
:
10px
;
height
:
14px
;
line-height
:
14px
;
font-size
:
14px
;
border-left
:
3px
solid
#4d7afd
;
margin-bottom
:
20px
;
}
.Team_Details
{
margin-top
:
20px
;
font-size
:
12px
;
}
.Team_DList
{
border
:
1px
solid
#e6e6e6
;
background-color
:
#fff
;
margin-top
:
20px
;
padding
:
20px
;
height
:
167px
;
}
.tipTable
tr
td
{
height
:
30px
!important
;
}
.singeRowTable
tr
th
{
height
:
30px
;
text-align
:
left
!important
;
}
.singeRowTable
tr
td
{
border
:
1px
solid
#e5e5e5
;
padding
:
0px
!important
;
padding-left
:
12px
!important
;
}
/* .Team_Content .el-col-5 {
margin-right: 18px;
} */
.Team_Coins
{
color
:
#ff9c00
;
}
.Team_income
{
color
:
#4d7afd
;
text-decoration
:
underline
;
cursor
:
pointer
;
}
.TB-Title
{
float
:
left
;
position
:
relative
;
top
:
10px
;
}
.Team_ComCoin
{
width
:
60%
;
margin
:
auto
;
text-align
:
left
;
}
.Team_btmDiv
{
margin-top
:
5px
;
}
.Team_collection
{
margin-top
:
40px
;
}
.Team_outCome
{
color
:
#ff9c00
;
}
.Team_Pay
{
color
:
#ff5150
;
}
.TeamAddBtn
{
float
:
right
;
margin-bottom
:
10px
;
}
.Team_DList
div
{
margin-bottom
:
8px
;
color
:
#666666
;
}
.Team_firstTitle
{
font-size
:
14px
;
/* font-family: "PingFang-SC-Bold"; */
color
:
#333333
!important
;
}
.Team_comCoinType
{
display
:
inline-block
;
width
:
24px
;
height
:
24px
;
border-radius
:
50%
;
position
:
relative
;
top
:
-1px
;
}
.Team_shou
{
background-color
:
#d7e6ff
;
color
:
#4d7afd
;
}
.Team_firstTitle
span
{
margin-right
:
10px
;
text-align
:
center
;
line-height
:
24px
;
font-size
:
12px
;
vertical-align
:
middle
;
}
.Team_Incontent
{
font-size
:
12px
;
}
.Team_Incontent
span
{
font-size
:
12px
;
font-family
:
"PingFangSC-Fine"
;
}
.Team_zhichu
{
background-color
:
#fde2df
;
color
:
#ff504f
;
}
.Team_lirun
{
background-color
:
#d1f3ea
;
color
:
#1bc594
;
}
.Team_BtnList
{
margin-top
:
30px
;
text-align
:
center
;
}
.TB_Rate
,
.TB_PayMoney
{
margin-left
:
20px
;
}
.TeamBalancePayment
.TB_PrintDiv
{
height
:
40px
;
}
.span_all
{
margin-left
:
15px
;
}
.TeamExpectList
{
max-height
:
105px
;
overflow
:
auto
;
margin-bottom
:
0
!important
;
}
</
style
>
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