Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
3657dccf
Commit
3657dccf
authored
Jul 11, 2025
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
e87d70d7
2cbf429f
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
778 additions
and
68 deletions
+778
-68
App.vue
src/App.vue
+6
-3
AI.png
src/assets/img/AI.png
+0
-0
robot.png
src/assets/img/robot.png
+0
-0
robot_hover.png
src/assets/img/robot_hover.png
+0
-0
czBillModule.vue
...nents/FinancialModule/FinancialSubmodule/czBillModule.vue
+50
-0
TempHoldPay.vue
...ents/FinancialModule/PrestorageManagement/TempHoldPay.vue
+148
-0
AdvanceDetailList.vue
...ule/PrestorageManagement/components/AdvanceDetailList.vue
+147
-0
prestoreList.vue
...nts/FinancialModule/PrestorageManagement/prestoreList.vue
+1
-1
addFinancialDocuments.vue
src/components/FinancialModule/addFinancialDocuments.vue
+129
-1
addReceivablesDocuments.vue
src/components/FinancialModule/addReceivablesDocuments.vue
+130
-3
hotelSpider.vue
src/components/Hotel/hotelSpider.vue
+97
-46
index.vue
src/components/commonPage/customerService/index.vue
+4
-4
index.vue
src/components/index.vue
+25
-5
Manfunds.vue
src/components/systemManagement/Manfunds.vue
+1
-1
RequirementDetail.vue
src/pages/requirements/components/RequirementDetail.vue
+32
-4
config.js
src/router/config.js
+8
-0
No files found.
src/App.vue
View file @
3657dccf
...
@@ -12,10 +12,10 @@
...
@@ -12,10 +12,10 @@
<div
class=
"showMyCareer"
v-if=
"showCareer"
>
<div
class=
"showMyCareer"
v-if=
"showCareer"
>
<mycareer
:show-close=
"true"
:uid=
"careerId"
@
close=
"closeCareer"
></mycareer>
<mycareer
:show-close=
"true"
:uid=
"careerId"
@
close=
"closeCareer"
></mycareer>
</div>
</div>
<customerService
v-show=
"showCustomerService"
@
close=
"showCustomerService=false"
/>
<customerService
v-show=
"showCustomerService"
/>
<img
@
click=
"showCustomerService=!showCustomerService"
<
!--
<
img
@
click=
"showCustomerService=!showCustomerService"
class=
"customerServiceButton"
class=
"customerServiceButton"
src=
"./assets/img/kefu1.png"
alt=
""
/>
src=
"./assets/img/kefu1.png"
alt=
""
/>
-->
</div>
</div>
</
template
>
</
template
>
...
@@ -237,6 +237,9 @@
...
@@ -237,6 +237,9 @@
this
.
MsgBus
.
$on
(
"changeTheme"
,
t
=>
{
this
.
MsgBus
.
$on
(
"changeTheme"
,
t
=>
{
this
.
isRed
=
t
==
1
;
this
.
isRed
=
t
==
1
;
});
});
this
.
MsgBus
.
$on
(
"showCustomerServiceHandler"
,
(
isShow
)
=>
{
this
.
showCustomerService
=
isShow
;
});
}
}
};
};
...
...
src/assets/img/AI.png
View replaced file @
e87d70d7
View file @
3657dccf
2.78 KB
|
W:
|
H:
2.69 KB
|
W:
|
H:
2-up
Swipe
Onion skin
src/assets/img/robot.png
0 → 100644
View file @
3657dccf
85.6 KB
src/assets/img/robot_hover.png
0 → 100644
View file @
3657dccf
85.4 KB
src/components/FinancialModule/FinancialSubmodule/czBillModule.vue
View file @
3657dccf
...
@@ -479,6 +479,36 @@
...
@@ -479,6 +479,36 @@
</table>
</table>
</div>
</div>
</div>
</div>
<div
v-if=
"OtherType==91"
>
<div
class=
"_tit"
>
<span
class=
"_text"
>
预存预付对象
</span>
<div>
<span
class=
"_btn"
v-if=
"tableShow"
@
click=
"tableShow=false"
>
{{
$t
(
'fnc.shouqi'
)
}}
<i
class=
"iconfont icon-gengduo _rotate"
></i>
</span>
<span
class=
"_btn"
v-else
@
click=
"tableShow=true"
>
{{
$t
(
'fnc.zhankai'
)
}}
<i
class=
"iconfont icon-gengduo"
></i>
</span>
</div>
</div>
<div
v-show=
"tableShow"
class=
"sanjiao-box _padding_20_15"
>
<table
border=
"1"
class=
"czBillModule _border_color_b Receipt_table"
bordercolor=
"#c94052"
style=
"border-collapse:collapse;width: 100%;"
v-loading=
'loading'
>
<tr>
<th>
{{
$t
(
'objFill.duixiangmc'
)
}}
</th>
<th>
{{
$t
(
'system.table_uniqueMark'
)
}}
</th>
<th
width=
"160"
>
{{
$t
(
'hotel.hotel_remark'
)
}}
</th>
<th>
{{
$t
(
'fnc.w_shou'
)
}}
</th>
<th>
{{
$t
(
'fnc.w_zhi'
)
}}
</th>
<th>
{{
$t
(
'fnc.yueacc'
)
}}
</th>
</tr>
<tr
class=
"_color_b"
v-for=
"(item,index) in advanceObjList"
:key=
"index"
>
<td>
{{
item
.
Name
}}
</td>
<th>
{{
item
.
DutyNo
}}
</th>
<td>
{{
item
.
Remark
}}
</td>
<!--
<td
class=
"hover_text"
@
click=
"goDetail(item.FrID)"
><span>
{{
item
.
FrID
}}
</span></td>
-->
<th>
{{
item
.
Income
}}
</th>
<td>
{{
item
.
Refund
}}
</td>
<td>
{{
item
.
Surplus
}}
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
@@ -515,6 +545,7 @@ export default {
...
@@ -515,6 +545,7 @@ export default {
JapanCarModel
:
{},
JapanCarModel
:
{},
saleClaimList
:
[],
saleClaimList
:
[],
IsFinanceORAdmin
:
false
,
IsFinanceORAdmin
:
false
,
advanceObjList
:[],
}
}
},
watch
:{
},
watch
:{
'GetDetail'
:
{
'GetDetail'
:
{
...
@@ -609,6 +640,8 @@ export default {
...
@@ -609,6 +640,8 @@ export default {
this
.
getSaleClaimList
();
this
.
getSaleClaimList
();
}
else
if
(
this
.
details
.
SpecialType
&&
this
.
details
.
SpecialType
==
17
){
}
else
if
(
this
.
details
.
SpecialType
&&
this
.
details
.
SpecialType
==
17
){
this
.
getOPFinanceFeeList
(
22
);
this
.
getOPFinanceFeeList
(
22
);
}
else
if
(
this
.
OtherType
==
91
){
this
.
getAdvanceObjList
();
}
}
},
},
goTravelControlList
(
id
){
goTravelControlList
(
id
){
...
@@ -727,6 +760,23 @@ export default {
...
@@ -727,6 +760,23 @@ export default {
}
}
},
err
=>
{})
},
err
=>
{})
},
},
getAdvanceObjList
(){
this
.
loading
=
true
let
msg
=
{
pageIndex
:
1
,
pageSize
:
12
,
Id
:
this
.
ReFinanceId
,
};
this
.
apipost
(
'Financial_post_GetAdvancePaymentPageList'
,
msg
,
res
=>
{
this
.
loading
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
advanceObjList
=
res
.
data
.
data
.
pageData
;
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
getSaleClaimList
(){
getSaleClaimList
(){
this
.
loading
=
true
this
.
loading
=
true
let
msg
=
{
let
msg
=
{
...
...
src/components/FinancialModule/PrestorageManagement/TempHoldPay.vue
0 → 100644
View file @
3657dccf
<
style
scoped
>
/
deep
/
.el-table
th
.el-table__cell
{
background-color
:
#E6E6E6
;
}
</
style
>
<
template
>
<div
class=
"page_fnDm page_RecPayQuery"
@
keyup
.
enter=
"resetPageIndex()"
>
<div
class=
"query-box"
style=
"margin-bottom: 0px;"
>
<el-form
class=
"_info_box clearfix"
label-width=
"110px"
>
<el-row
style=
"padding:15px 20px 0 0;"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"关键字"
>
<el-input
placeholder=
"请输入关键字查询"
class=
""
v-model=
"msg.Name"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item
label=
""
>
<el-checkbox
v-model=
"msg.IsBalance"
:true-label=
"1"
:false-label=
"0"
>
只看有余额
</el-checkbox>
</el-form-item>
</el-col>
</el-row>
</el-form>
<ul
class=
"clearfix"
>
<li
class=
"hight_query"
>
<button
class=
"hollowFixedBtn"
@
click=
"resetPageIndex()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"normalBtn"
@
click=
"method5()"
>
{{
$t
(
'visa.v_daochu'
)
}}
</button>
</li>
</ul>
</div>
<div
style=
"color: red;font-size: 13px;text-align: right;padding: 10px 0;"
>
注* 余额为正数表示待退回,余额为负数表示要待收回
</div>
<div
class=
"_fnDm_content"
v-loading=
'loading'
>
<el-table
ref=
"multipleTable"
:data=
"DataList"
tooltip-effect=
"dark"
style=
"width: 100%"
>
<el-table-column
prop=
"Name"
label=
"名称"
></el-table-column>
<el-table-column
prop=
"DutyNo"
label=
"唯一标识"
></el-table-column>
<el-table-column
prop=
"Remark"
label=
"备注"
></el-table-column>
<el-table-column
prop=
"StartMoney"
label=
"期初"
></el-table-column>
<el-table-column
prop=
"Income"
label=
"收"
>
<template
slot-scope=
"scope"
>
<span
style=
"cursor: pointer;color: #00C6FF;"
@
click=
"seeDeta(scope.row)"
>
{{
scope
.
row
.
Income
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"Refund"
label=
"支"
>
<
template
slot-scope=
"scope"
>
<span
style=
"cursor: pointer;color: #00C6FF;"
@
click=
"seeDeta(scope.row)"
>
{{
scope
.
row
.
Refund
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"Surplus"
label=
"余额"
></el-table-column>
<el-table-column
:label=
"$t('system.table_operation')"
>
<
template
slot-scope=
"scope"
>
<span
style=
"cursor: pointer;color: #00C6FF;"
@
click=
"downloadDetail(scope.row)"
>
{{
$t
(
'objFill.xiazamx'
)
}}
</span>
</
template
>
</el-table-column>
</el-table>
<div
style=
"padding-bottom:15px"
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
'total'
>
</el-pagination>
</div>
</div>
<detailList
v-if=
"showdetail"
:ClientId=
"detailObj&&detailObj.Id"
@
cancel=
"showdetail=false"
></detailList>
</div>
</template>
<
script
>
import
Vue
from
'vue'
import
detailList
from
"./components/AdvanceDetailList.vue"
;
export
default
{
components
:
{
detailList
},
data
(){
return
{
detailObj
:
null
,
showdetail
:
false
,
DataList
:[],
msg
:{
pageIndex
:
1
,
pageSize
:
10
,
Id
:
0
,
Name
:
''
,
IsBalance
:
1
,
EmployeeId
:
''
,
},
loading
:
false
,
total
:
0
,
productionDate
:[],
branchList
:[]
}
},
created
(){
if
(
this
.
$route
.
query
.
Id
){
this
.
msg
.
Id
=
this
.
$route
.
query
.
Id
}
},
mounted
(){
let
userInfo
=
this
.
getLocalStorage
();
this
.
msg
.
EmployeeId
=
userInfo
.
EmployeeId
;
this
.
getPageList
();
},
methods
:{
seeDeta
(
row
){
this
.
detailObj
=
row
this
.
showdetail
=
true
},
getPageList
(){
// 获取列表数据
this
.
loading
=
true
;
this
.
apipost
(
'Financial_post_GetAdvancePaymentPageList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
if
(
this
.
total
==
0
){
this
.
DataList
=
[];
}
else
{
this
.
DataList
=
data
;
}
this
.
loading
=
false
;
}
else
{
this
.
loading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
method5
()
{
let
time
=
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
))
var
fileName
=
`预收预付
${
time
}
.xls`
;
this
.
GetLocalFile
(
"Financial_post_DownLoadAdvancePayment"
,
this
.
msg
,
fileName
);
},
downloadDetail
(
item
)
{
let
time
=
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
))
var
fileName
=
`预收预付明细
${
time
}
.xls`
;
this
.
GetLocalFile
(
"Financial_post_DownLoadAdvancePaymentLog"
,
{
ReFinanceId
:
item
.
Id
,
EmployeeId
:
this
.
msg
.
EmployeeId
},
fileName
);
}
,
handleCurrentChange
(
val
)
{
//翻页
this
.
msg
.
pageIndex
=
val
;
this
.
getPageList
();
},
resetPageIndex
(){
// 重置页码
this
.
msg
.
pageIndex
=
1
;
this
.
getPageList
();
},
}
}
</
script
>
src/components/FinancialModule/PrestorageManagement/components/AdvanceDetailList.vue
0 → 100644
View file @
3657dccf
<
style
scoped
>
</
style
>
<
template
>
<el-dialog
:title=
"$t('objFill.shiyongmx')"
:visible
.
sync=
"showDetail"
center
@
close=
"cancelBtn"
>
<div
class=
"page_fnDm page_RecPayQuery"
>
<div
class=
"_fnDm_content"
v-loading=
'loading'
>
<el-table
ref=
"multipleTable"
:data=
"DataList"
tooltip-effect=
"dark"
style=
"width: 100%"
>
<el-table-column
prop=
"CreateDate"
:label=
"$t('pub.date')"
min-width=
"120"
></el-table-column>
<el-table-column
prop=
""
:label=
"$t('system.query_type')"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
Type
}}
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('objFill.jinchujine')"
>
<
template
slot-scope=
"scope"
>
<span
:style=
"
{'color': scope.row.Type==2?'#E95252':''}">
{{
scope
.
row
.
Type
==
1
?
'+'
:
'-'
}}{{
scope
.
row
.
Money
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('objFill.guanliandanhao')"
>
<
template
slot-scope=
"scope"
>
<span
style=
"cursor: pointer;color: #00C6FF;"
@
click=
"openDetails(scope.row.FrID)"
>
{{
scope
.
row
.
FrID
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
:label=
"$t('objFill.dabhaozhuantai')"
>
<
template
slot-scope=
"scope"
>
<span
style=
"font-size: 12px;"
>
<i
v-if=
"scope.row.Status===1"
class=
"iconfont icon-daiqueren"
style=
"color: #4BCA81;font-size: 12px;"
>
{{
scope
.
row
.
StatusName
}}
</i>
<i
v-if=
"scope.row.Status===4"
class=
"iconfont icon-yiquxiao"
style=
"color: #4BCA81"
>
{{
scope
.
row
.
StatusName
}}
</i>
<i
v-if=
"scope.row.Status===2"
class=
"iconfont icon-yiqueren"
style=
"color: #959595;font-size: 12px;"
>
{{
scope
.
row
.
StatusName
}}
</i>
<i
v-if=
"scope.row.Status===3"
class=
"iconfont icon-shenhebohui"
style=
"color: #E95252"
>
{{
scope
.
row
.
StatusName
}}
</i>
<i
v-if=
"scope.row.Status===0"
class=
"iconfont icon-zancun"
style=
"color: #FF9C01"
>
{{
scope
.
row
.
StatusName
}}
</i>
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"CreateName"
:label=
"$t('admin.admin_czPerson')"
min-width=
"130"
></el-table-column>
</el-table>
<div
style=
"padding-bottom:15px"
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
'total'
>
</el-pagination>
</div>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
class=
"hollowFixedBtn"
@
click=
"cancelBtn"
>
{{$t('pub.cancelBtn')}}
</el-button>
<el-button
class=
"normalBtn"
type=
"primary"
@
click=
"cancelBtn"
>
{{$t('pub.sureBtn')}}
</el-button>
</div>
</el-dialog>
</template>
<
script
>
import
Vue
from
'vue'
export
default
{
props
:[
'ClientId'
],
data
(){
return
{
showDetail
:
true
,
DataList
:[],
msg
:{
pageIndex
:
1
,
pageSize
:
10
,
OtherType
:
91
,
ReFinanceId
:
''
,
},
loading
:
false
,
total
:
0
,
productionDate
:[]
}
},
created
(){
},
components
:
{
},
mounted
(){
this
.
msg
.
ReFinanceId
=
this
.
ClientId
this
.
getPageList
();
},
methods
:{
// 单据详情
openDetails
(
FrID
)
{
this
.
cancelBtn
()
let
query
=
{
id
:
FrID
,
blank
:
"y"
,
};
this
.
$router
.
push
({
path
:
"/FinancialDocumentsDetail"
,
query
});
},
cancelBtn
(){
this
.
$emit
(
'cancel'
)
},
getPageList
(){
// 获取列表数据
this
.
loading
=
true
;
this
.
apipost
(
'Financial_post_GetAdvancePaymentLogPageList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
if
(
this
.
total
==
0
){
this
.
DataList
=
[];
}
else
{
this
.
DataList
=
data
;
}
this
.
loading
=
false
;
}
else
{
this
.
loading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
timeAdd
(){
// 日期格式
if
(
!
this
.
productionDate
){
this
.
msg
.
StartTime
=
''
;
this
.
msg
.
EndTime
=
''
;
return
}
this
.
msg
.
StartTime
=
this
.
productionDate
[
0
];
this
.
msg
.
EndTime
=
this
.
productionDate
[
1
];
},
method5
:
function
()
{
let
time
=
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
))
var
fileName
=
`
${
this
.
$t
(
'objFill.monthlystatementofcosts'
)}${
time
}
.xls`
;
this
.
GetLocalFile
(
"Financial_get_GetCostMonthALLExport"
,
this
.
msg
,
fileName
);
}
,
handleCurrentChange
(
val
)
{
//翻页
this
.
msg
.
pageIndex
=
val
;
this
.
getPageList
();
},
resetPageIndex
(){
// 重置页码
this
.
msg
.
pageIndex
=
1
;
this
.
getPageList
();
},
}
}
</
script
>
src/components/FinancialModule/PrestorageManagement/prestoreList.vue
View file @
3657dccf
...
@@ -186,7 +186,7 @@ export default {
...
@@ -186,7 +186,7 @@ export default {
},
},
downloadDetail
(
item
)
{
downloadDetail
(
item
)
{
let
time
=
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
))
let
time
=
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
))
var
fileName
=
`
${
this
.
$t
(
'objFill.kehuycmx'
)}${
t
t
ime
}
.xls`
;
var
fileName
=
`
${
this
.
$t
(
'objFill.kehuycmx'
)}${
time
}
.xls`
;
this
.
GetLocalFile
(
"Financial_post_DownLoadFinanceDepositLog"
,
{
DepositCustomerId
:
item
.
CustomerId
,
EmployeeId
:
this
.
msg
.
EmployeeId
},
fileName
);
this
.
GetLocalFile
(
"Financial_post_DownLoadFinanceDepositLog"
,
{
DepositCustomerId
:
item
.
CustomerId
,
EmployeeId
:
this
.
msg
.
EmployeeId
},
fileName
);
}
,
}
,
handleCurrentChange
(
val
)
{
//翻页
handleCurrentChange
(
val
)
{
//翻页
...
...
src/components/FinancialModule/addFinancialDocuments.vue
View file @
3657dccf
...
@@ -866,6 +866,7 @@
...
@@ -866,6 +866,7 @@
<
/div
>
<
/div
>
<!--
ld
2025
-
07
-
07
这个
<
template
v
-
if
=
"!BillSonName.includes('分摊')&&!BillSonName.includes('预付')"
>
<
template
v
-
if
=
"!BillSonName.includes('分摊')&&!BillSonName.includes('预付')"
>
<
div
>
<
div
>
<
p
>
<
p
>
...
@@ -882,7 +883,7 @@
...
@@ -882,7 +883,7 @@
<
/p
>
<
/p
>
<
/div
>
<
/div
>
<
/template
>
<
/template>
--
>
<
template
v
-
if
=
"(isHandFee&&is_HandFee)||(is_HandFee&&this.GetDetail.Status==0)"
>
<
template
v
-
if
=
"(isHandFee&&is_HandFee)||(is_HandFee&&this.GetDetail.Status==0)"
>
<
div
>
<
div
>
<
p
>
<
p
>
...
@@ -966,6 +967,60 @@
...
@@ -966,6 +967,60 @@
<
td
height
=
"26px"
>
{{
DepositCustomer
.
depositMoney
?
DepositCustomer
.
depositMoney
:
'-'
}}
<
/td
>
<
td
height
=
"26px"
>
{{
DepositCustomer
.
depositMoney
?
DepositCustomer
.
depositMoney
:
'-'
}}
<
/td
>
<
/tr
>
<
/tr
>
<
/table
>
<
/table
>
<!--
预收预付管理
-->
<
div
v
-
if
=
"IsAdvance==1||IsAdvance==2"
>
<
p
v
-
if
=
"IsAdvanceAdd==false"
>
<
span
style
=
"color:red"
>
{{(
IsAdvance
==
1
?
"保证金对象"
:
IsAdvance
==
2
?
"借贷对象"
:
""
)
}}
<
el
-
tooltip
class
=
"item"
effect
=
"dark"
content
=
"默认显示20个对象,请输入关键词(姓名/公司名称/税号等)查询更多对象"
placement
=
"top-start"
>
<
i
class
=
"el-tooltip el-icon-info"
><
/i>
:
<
/el-tooltip
>
<
/span
>
<
span
>
<
el
-
select
filterable
v
-
model
=
'AdvanceObjId'
class
=
"w135 _border_b_1"
placeholder
=
"请输入关键词"
remote
reserve
-
keyword
:
remote
-
method
=
"getAdvanceList"
>
<
el
-
option
v
-
for
=
'item in AdvanceObjList'
:
label
=
"`${item.Name
}
/${item.DutyNo
}
`"
:
value
=
'item.Id'
:
key
=
'item.Id'
>
<
/el-option
>
<
/el-select
>
<
/span
>
<
span
style
=
"margin-left:15px"
>
<
el
-
tooltip
class
=
"item"
effect
=
"dark"
content
=
"关键字未查询到相关对象、请新增对象"
placement
=
"top-start"
>
<
el
-
button
type
=
"primary"
icon
=
"el-icon-plus"
circle
size
=
"mini"
@
click
=
"IsAdvanceAdd=true"
><
/el-button
>
<
/el-tooltip
>
<
/span
>
<
/p
>
<
p
v
-
if
=
"IsAdvanceAdd"
>
<
span
style
=
"color:red"
>
{{(
IsAdvance
==
1
?
"保证金对象"
:
IsAdvance
==
2
?
"借贷对象"
:
""
)
}}
<
el
-
tooltip
class
=
"item"
effect
=
"dark"
content
=
"个人用户请填入姓名,供应商或平台等请填公司全称"
placement
=
"top-start"
>
<
i
class
=
"el-tooltip el-icon-info"
><
/i>
:
<
/el-tooltip
>
<
/span
>
<
el
-
input
class
=
"w120 _border_b_1"
v
-
model
=
"AdvanceObjMsg.Name"
placeholder
=
"请输入对象全称"
><
/el-input
>
<
/p
>
<
p
v
-
if
=
"IsAdvanceAdd"
>
<
span
style
=
"color:red"
>
唯一标识
<
el
-
tooltip
class
=
"item"
effect
=
"dark"
content
=
"个人用户请填入身份证,供应商或平台等请填入税号,财务部将审核唯一标识不合符标准的驳回处理"
placement
=
"top-start"
>
<
i
class
=
"el-tooltip el-icon-info"
><
/i>
:
<
/el-tooltip
>
<
/span
>
<
el
-
input
class
=
"w120 _border_b_1"
v
-
model
=
"AdvanceObjMsg.DutyNo"
placeholder
=
"请输入税号/身份证"
><
/el-input
>
<
/p
>
<
p
v
-
if
=
"IsAdvanceAdd"
>
<
span
style
=
"color:red"
>
备注:
<
/span
>
<
el
-
input
class
=
"w120 _border_b_1"
v
-
model
=
"AdvanceObjMsg.Remark"
placeholder
=
"请输入描述"
><
/el-input
>
<
/p
>
<
span
v
-
if
=
"IsAdvanceAdd"
style
=
"margin-left:15px"
>
<
el
-
tooltip
class
=
"item"
effect
=
"dark"
content
=
"保存对象"
placement
=
"top-start"
>
<
el
-
button
type
=
"primary"
icon
=
"el-icon-check"
circle
size
=
"mini"
@
click
=
"SaveAdvance()"
><
/el-button
>
<
/el-tooltip
>
<
el
-
tooltip
class
=
"item"
effect
=
"dark"
content
=
"取消"
placement
=
"top-start"
>
<
el
-
button
type
=
"primary"
icon
=
"el-icon-close"
circle
size
=
"mini"
@
click
=
"IsAdvanceAdd=false"
><
/el-button
>
<
/el-tooltip
>
<
/span
>
<
/div
>
<
/div
>
<
/div
>
<
div
class
=
"_remark"
>
<
div
class
=
"_remark"
>
<
p
>
{{
$t
(
'system.label_info'
)
}}
<
/p
>
<
p
>
{{
$t
(
'system.label_info'
)
}}
<
/p
>
...
@@ -1287,6 +1342,16 @@
...
@@ -1287,6 +1342,16 @@
isHandFee
:
false
,
isHandFee
:
false
,
is_HandFee
:
true
,
//是否开启
is_HandFee
:
true
,
//是否开启
HandlingChargeType
:
0
,
//月结制单 1转账手续费 2转账手续费差额
HandlingChargeType
:
0
,
//月结制单 1转账手续费 2转账手续费差额
IsAdvance
:
0
,
// 预存预付对象标识 1保证金 2借贷
IsAdvanceAdd
:
false
,
AdvanceObjId
:
''
,
AdvanceObjList
:[],
// 预存预付对象列表
AdvanceObjMsg
:{
Id
:
0
,
Name
:
''
,
DutyNo
:
''
,
Remark
:
''
}
}
}
}
,
}
,
methods
:
{
methods
:
{
...
@@ -1381,6 +1446,19 @@
...
@@ -1381,6 +1446,19 @@
}
,
}
,
// 获取当前手配费选项
// 获取当前手配费选项
chooseHandFee
()
{
chooseHandFee
()
{
//验证是否有暂存暂付款
if
(
this
.
msg
.
OrderSource
!=
8
&&
this
.
msg
.
OrderSource
!=
10
&&
this
.
msg
.
OrderID
<=
0
&&
this
.
msg
.
OtherType
!=
55
&&
this
.
msg
.
OtherType
!=
61
&&
this
.
msg
.
OtherType
!=
66
&&
this
.
msg
.
OtherType
!=
67
&&
this
.
msg
.
OtherType
!=
80
&&
this
.
msg
.
OtherType
!=
83
&&
!
this
.
$route
.
query
.
tradeObj
&&
!
this
.
$route
.
query
.
orderObj
&&
!
this
.
$route
.
query
.
crmOrderObj
){
this
.
IsAdvance
=
0
;
if
(
this
.
msg
.
OtherType
==
91
){
this
.
msg
.
OtherType
=
0
;
this
.
msg
.
ReFinanceId
=
0
;
this
.
msg
.
ReFinanceId2
=
0
;
}
this
.
msg
.
detailList
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
IsAdvance
==
1
||
x
.
IsAdvance
==
2
){
this
.
IsAdvance
=
x
.
IsAdvance
;
}
}
)
if
(
this
.
AdvanceObjList
.
length
==
0
&&
(
this
.
IsAdvance
==
1
||
this
.
IsAdvance
==
2
)){
this
.
getAdvanceToIdList
(
0
,
true
);
}
}
let
handfreeCount
=
0
;
let
handfreeCount
=
0
;
let
companyID
=
this
.
$route
.
query
.
companyID
;
let
companyID
=
this
.
$route
.
query
.
companyID
;
if
(
companyID
==
1220
)
{
if
(
companyID
==
1220
)
{
...
@@ -1984,6 +2062,17 @@
...
@@ -1984,6 +2062,17 @@
this
.
msg
.
ReTCID
=
this
.
czmsg
.
ReTCID
;
this
.
msg
.
ReTCID
=
this
.
czmsg
.
ReTCID
;
}
}
//预存预付对象
if
(
this
.
IsAdvance
==
1
||
this
.
IsAdvance
==
2
){
this
.
msg
.
OtherType
=
91
;
this
.
msg
.
ReFinanceId
=
this
.
AdvanceObjId
;
this
.
msg
.
ReFinanceId2
=
this
.
IsAdvance
;
if
(
this
.
AdvanceObjId
<=
0
){
this
.
Error
(
"请选择"
+
(
this
.
IsAdvance
==
1
?
"保证金对象"
:
"借贷对象"
));
return
;
}
}
// 是否是日本客户
// 是否是日本客户
let
that
=
this
let
that
=
this
let
ClientAccountObj
=
this
.
ClientAccountList
.
find
(
x
=>
{
let
ClientAccountObj
=
this
.
ClientAccountList
.
find
(
x
=>
{
...
@@ -2258,12 +2347,15 @@
...
@@ -2258,12 +2347,15 @@
if
(
x
.
ID
==
i
)
{
if
(
x
.
ID
==
i
)
{
if
(
t
>=
0
)
{
if
(
t
>=
0
)
{
this
.
msg
.
detailList
[
t
].
CostTypeName
=
x
.
Name
;
this
.
msg
.
detailList
[
t
].
CostTypeName
=
x
.
Name
;
this
.
msg
.
detailList
[
t
].
IsAdvance
=
x
.
IsA
;
console
.
log
(
'ld1:'
+
x
.
IsA
);
if
(
x
.
ID
===
56
)
{
if
(
x
.
ID
===
56
)
{
this
.
msg
.
detailList
[
t
].
Remark
=
this
.
orderObj
.
TCNUMS
?
this
.
msg
.
detailList
[
t
].
Remark
=
this
.
orderObj
.
TCNUMS
?
`${this.$t('objFill.dijiefeilqzdsc')
}
:${this.orderObj.TCNUMS
}
`
:
''
;
`${this.$t('objFill.dijiefeilqzdsc')
}
:${this.orderObj.TCNUMS
}
`
:
''
;
}
}
}
else
{
}
else
{
this
.
detailList
.
CostTypeName
=
x
.
Name
;
this
.
detailList
.
CostTypeName
=
x
.
Name
;
this
.
detailList
.
IsAdvance
=
x
.
IsA
;
if
(
x
.
ID
===
56
)
{
if
(
x
.
ID
===
56
)
{
this
.
detailList
.
Remark
=
this
.
orderObj
.
TCNUMS
?
this
.
detailList
.
Remark
=
this
.
orderObj
.
TCNUMS
?
`${this.$t('objFill.dijiefeilqzdsc')
}
:${this.orderObj.TCNUMS
}
`
:
''
;
`${this.$t('objFill.dijiefeilqzdsc')
}
:${this.orderObj.TCNUMS
}
`
:
''
;
...
@@ -2656,6 +2748,12 @@
...
@@ -2656,6 +2748,12 @@
}
}
this
.
GetDetail
=
data
;
this
.
GetDetail
=
data
;
this
.
GetHandFeeList
()
//获取手配费功能权限配置
this
.
GetHandFeeList
()
//获取手配费功能权限配置
//预收预付对象处理
if
(
data
.
OtherType
==
91
){
this
.
IsAdvance
=
data
.
ReFinanceId2
;
this
.
AdvanceObjId
=
data
.
ReFinanceId
;
this
.
getAdvanceToIdList
(
data
.
ReFinanceId
);
}
if
(
this
.
orderObj
!=
null
&&
this
.
orderObj
.
OrderSource
===
10
)
{
if
(
this
.
orderObj
!=
null
&&
this
.
orderObj
.
OrderSource
===
10
)
{
}
else
{
}
else
{
...
@@ -3055,6 +3153,36 @@
...
@@ -3055,6 +3153,36 @@
}
}
}
,
err
=>
{
}
)
}
,
err
=>
{
}
)
}
,
}
,
SaveAdvance
(){
this
.
apipost
(
'Financial_post_SetAdvancePaymentInfo'
,
this
.
AdvanceObjMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AdvanceObjId
=
res
.
data
.
data
;
this
.
getAdvanceToIdList
(
this
.
AdvanceObjId
);
this
.
IsAdvanceAdd
=
false
;
this
.
AdvanceObjMsg
.
Name
=
''
;
this
.
AdvanceObjMsg
.
DutyNo
=
''
;
this
.
AdvanceObjMsg
.
Remark
=
''
;
}
}
,
err
=>
{
}
)
}
,
getAdvanceList
(
query
){
if
(
query
!==
''
){
this
.
apipost
(
'Financial_post_GetAdvancePaymentPageList'
,
{
pageIndex
:
1
,
pageSize
:
20
,
Name
:
query
}
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AdvanceObjList
=
res
.
data
.
data
.
pageData
;
}
}
,
err
=>
{
}
)
}
}
,
getAdvanceToIdList
(
id
,
isAll
){
if
(
id
>
0
||
isAll
){
this
.
apipost
(
'Financial_post_GetAdvancePaymentPageList'
,
{
pageIndex
:
1
,
pageSize
:
20
,
Id
:
id
}
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AdvanceObjList
=
res
.
data
.
data
.
pageData
;
}
}
,
err
=>
{
}
)
}
}
}
,
}
,
created
()
{
created
()
{
var
that
=
this
;
var
that
=
this
;
...
...
src/components/FinancialModule/addReceivablesDocuments.vue
View file @
3657dccf
...
@@ -689,7 +689,7 @@
...
@@ -689,7 +689,7 @@
</template>
</template>
</div>
</div>
<
template
v-if=
"!BillSonName.includes('分摊')&&!BillSonName.includes('预付')"
>
<
!-- <
template v-if="!BillSonName.includes('分摊')&&!BillSonName.includes('预付')">
<div>
<div>
<p>
<p>
{{$t('objFill.daishoukuanyuangs')}}:
{{$t('objFill.daishoukuanyuangs')}}:
...
@@ -705,7 +705,7 @@
...
@@ -705,7 +705,7 @@
</p>
</p>
</div>
</div>
</
template
>
</template>
-->
<table
v-if=
"ContractCustomer"
class=
"Receipt_table"
border=
"1"
bordercolor=
"#c94052"
<table
v-if=
"ContractCustomer"
class=
"Receipt_table"
border=
"1"
bordercolor=
"#c94052"
style=
"border-collapse:collapse;margin-top: 10px;"
>
style=
"border-collapse:collapse;margin-top: 10px;"
>
<tr>
<tr>
...
@@ -741,6 +741,60 @@
...
@@ -741,6 +741,60 @@
<td
height=
"26px"
>
{{DepositCustomer.depositMoney?DepositCustomer.depositMoney:'-'}}
</td>
<td
height=
"26px"
>
{{DepositCustomer.depositMoney?DepositCustomer.depositMoney:'-'}}
</td>
</tr>
</tr>
</table>
</table>
<!-- 预收预付管理 -->
<div
v-if=
"IsAdvance==1||IsAdvance==2"
>
<p
v-if=
"IsAdvanceAdd==false"
>
<span
style=
"color:red"
>
{{(IsAdvance==1?"保证金对象":IsAdvance==2?"借贷对象":"")}}
<el-tooltip
class=
"item"
effect=
"dark"
content=
"默认显示20个对象,请输入关键词(姓名/公司名称/税号等)查询更多对象"
placement=
"top-start"
>
<i
class=
"el-tooltip el-icon-info"
></i>
:
</el-tooltip>
</span>
<span>
<el-select
filterable
v-model=
'AdvanceObjId'
class=
"w135 _border_b_1"
placeholder=
"请输入关键词"
remote
reserve-keyword
:remote-method=
"getAdvanceList"
>
<el-option
v-for=
'item in AdvanceObjList'
:label=
"`${item.Name}/${item.DutyNo}`"
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</span>
<span
style=
"margin-left:15px"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"关键字未查询到相关对象、请新增对象"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"el-icon-plus"
circle
size=
"mini"
@
click=
"IsAdvanceAdd=true"
></el-button>
</el-tooltip>
</span>
</p>
<p
v-if=
"IsAdvanceAdd"
>
<span
style=
"color:red"
>
{{(IsAdvance==1?"保证金对象":IsAdvance==2?"借贷对象":"")}}
<el-tooltip
class=
"item"
effect=
"dark"
content=
"个人用户请填入姓名,供应商或平台等请填公司全称"
placement=
"top-start"
>
<i
class=
"el-tooltip el-icon-info"
></i>
:
</el-tooltip>
</span>
<el-input
class=
"w120 _border_b_1"
v-model=
"AdvanceObjMsg.Name"
placeholder=
"请输入对象全称"
></el-input>
</p>
<p
v-if=
"IsAdvanceAdd"
>
<span
style=
"color:red"
>
唯一标识
<el-tooltip
class=
"item"
effect=
"dark"
content=
"个人用户请填入身份证,供应商或平台等请填入税号,财务部将审核唯一标识不合符标准的驳回处理"
placement=
"top-start"
>
<i
class=
"el-tooltip el-icon-info"
></i>
:
</el-tooltip>
</span>
<el-input
class=
"w120 _border_b_1"
v-model=
"AdvanceObjMsg.DutyNo"
placeholder=
"请输入税号/身份证"
></el-input>
</p>
<p
v-if=
"IsAdvanceAdd"
>
<span
style=
"color:red"
>
备注:
</span>
<el-input
class=
"w120 _border_b_1"
v-model=
"AdvanceObjMsg.Remark"
placeholder=
"请输入描述"
></el-input>
</p>
<span
v-if=
"IsAdvanceAdd"
style=
"margin-left:15px"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"保存对象"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"el-icon-check"
circle
size=
"mini"
@
click=
"SaveAdvance()"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"el-icon-close"
circle
size=
"mini"
@
click=
"IsAdvanceAdd=false"
></el-button>
</el-tooltip>
</span>
</div>
</div>
</div>
<div
class=
"_remark"
>
<div
class=
"_remark"
>
<p>
{{$t('system.label_info')}}
</p>
<p>
{{$t('system.label_info')}}
</p>
...
@@ -1091,7 +1145,17 @@
...
@@ -1091,7 +1145,17 @@
Type
:
2
,
Type
:
2
,
FinanceId
:
0
FinanceId
:
0
},
},
multipleSelection
:[]
multipleSelection
:[],
IsAdvance
:
0
,
// 预存预付对象标识 1保证金 2借贷
IsAdvanceAdd
:
false
,
AdvanceObjId
:
''
,
AdvanceObjList
:[],
// 预存预付对象列表
AdvanceObjMsg
:{
Id
:
0
,
Name
:
''
,
DutyNo
:
''
,
Remark
:
''
}
}
}
},
},
methods
:
{
methods
:
{
...
@@ -1721,6 +1785,17 @@
...
@@ -1721,6 +1785,17 @@
this
.
msg
.
OrderTradeWay
=
this
.
tradeWay
;
this
.
msg
.
OrderTradeWay
=
this
.
tradeWay
;
this
.
msg
.
PlatformAccountId
=
this
.
platformAccount
;
this
.
msg
.
PlatformAccountId
=
this
.
platformAccount
;
//预存预付对象
if
(
this
.
IsAdvance
==
1
||
this
.
IsAdvance
==
2
){
this
.
msg
.
OtherType
=
91
;
this
.
msg
.
ReFinanceId
=
this
.
AdvanceObjId
;
this
.
msg
.
ReFinanceId2
=
this
.
IsAdvance
;
if
(
this
.
AdvanceObjId
<=
0
){
this
.
Error
(
"请选择"
+
(
this
.
IsAdvance
==
1
?
"保证金对象"
:
"借贷对象"
));
return
;
}
}
if
(
this
.
clientData
&&
this
.
clientData
.
State
&&
this
.
clientData
.
State
==
1
if
(
this
.
clientData
&&
this
.
clientData
.
State
&&
this
.
clientData
.
State
==
1
&&
(
!
this
.
msg
.
PayReceipt_No
||
this
.
msg
.
PayReceipt_No
==
''
)){
&&
(
!
this
.
msg
.
PayReceipt_No
||
this
.
msg
.
PayReceipt_No
==
''
)){
let
text
=
this
.
$t
(
'objFill.xuanzheptname'
)
let
text
=
this
.
$t
(
'objFill.xuanzheptname'
)
...
@@ -1901,6 +1976,18 @@
...
@@ -1901,6 +1976,18 @@
}
}
this
.
countFee
();
this
.
countFee
();
//验证是否有暂存暂付款
if
(
this
.
msg
.
OrderSource
!=
8
&&
this
.
msg
.
OrderSource
!=
10
&&
this
.
msg
.
OrderID
<=
0
&&
this
.
msg
.
OtherType
!=
55
&&
this
.
msg
.
OtherType
!=
61
&&
this
.
msg
.
OtherType
!=
66
&&
this
.
msg
.
OtherType
!=
67
&&
this
.
msg
.
OtherType
!=
80
&&
this
.
msg
.
OtherType
!=
83
&&
!
this
.
$route
.
query
.
tradeObj
&&
!
this
.
$route
.
query
.
orderObj
&&
!
this
.
$route
.
query
.
crmOrderObj
){
this
.
IsAdvance
=
0
;
if
(
this
.
msg
.
OtherType
==
91
){
this
.
msg
.
OtherType
=
0
;
this
.
msg
.
ReFinanceId
=
0
;
this
.
msg
.
ReFinanceId2
=
0
;}
this
.
msg
.
detailList
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
IsAdvance
==
1
||
x
.
IsAdvance
==
2
){
this
.
IsAdvance
=
x
.
IsAdvance
;
}
})
if
(
this
.
AdvanceObjList
.
length
==
0
&&
(
this
.
IsAdvance
==
1
||
this
.
IsAdvance
==
2
)){
this
.
getAdvanceToIdList
(
0
,
true
);}
}
},
},
getcommission
()
{
//计算手续费 满足平台账户 而且是结算方式为百分比 SettlementType=1
getcommission
()
{
//计算手续费 满足平台账户 而且是结算方式为百分比 SettlementType=1
let
obj
=
null
let
obj
=
null
...
@@ -2045,8 +2132,10 @@
...
@@ -2045,8 +2132,10 @@
if
(
x
.
ID
==
i
)
{
if
(
x
.
ID
==
i
)
{
if
(
t
>=
0
)
{
if
(
t
>=
0
)
{
this
.
msg
.
detailList
[
t
].
CostTypeName
=
x
.
Name
;
this
.
msg
.
detailList
[
t
].
CostTypeName
=
x
.
Name
;
this
.
msg
.
detailList
[
t
].
IsAdvance
=
x
.
IsA
;
}
else
{
}
else
{
this
.
detailList
.
CostTypeName
=
x
.
Name
;
this
.
detailList
.
CostTypeName
=
x
.
Name
;
this
.
detailList
.
IsAdvance
=
x
.
IsA
;
}
}
}
}
})
})
...
@@ -2169,6 +2258,14 @@
...
@@ -2169,6 +2258,14 @@
this
.
msg
.
OrderID
=
data
.
OrderID
;
this
.
msg
.
OrderID
=
data
.
OrderID
;
this
.
msg
.
OrderSource
=
0
;
this
.
msg
.
OrderSource
=
0
;
this
.
msg
.
TCID
=
data
.
TCID
;
this
.
msg
.
TCID
=
data
.
TCID
;
//预收预付对象处理
if
(
data
.
OtherType
==
91
){
this
.
IsAdvance
=
data
.
ReFinanceId2
;
this
.
AdvanceObjId
=
data
.
ReFinanceId
;
this
.
getAdvanceToIdList
(
data
.
ReFinanceId
);
}
if
(
this
.
orderObj
)
{
if
(
this
.
orderObj
)
{
this
.
msg
.
OrderID
=
this
.
orderObj
.
OrderID
?
this
.
orderObj
.
OrderID
:
0
;
this
.
msg
.
OrderID
=
this
.
orderObj
.
OrderID
?
this
.
orderObj
.
OrderID
:
0
;
this
.
OrderSource
=
this
.
msg
.
OrderSource
=
this
.
orderObj
.
OrderSource
?
this
.
orderObj
.
OrderSource
:
0
;
this
.
OrderSource
=
this
.
msg
.
OrderSource
=
this
.
orderObj
.
OrderSource
?
this
.
orderObj
.
OrderSource
:
0
;
...
@@ -2478,6 +2575,36 @@
...
@@ -2478,6 +2575,36 @@
},
},
BankTradeDateChange
(){
BankTradeDateChange
(){
this
.
GetBankFlowData
(
0
);
this
.
GetBankFlowData
(
0
);
},
SaveAdvance
(){
this
.
apipost
(
'Financial_post_SetAdvancePaymentInfo'
,
this
.
AdvanceObjMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AdvanceObjId
=
res
.
data
.
data
;
this
.
getAdvanceToIdList
(
this
.
AdvanceObjId
);
this
.
IsAdvanceAdd
=
false
;
this
.
AdvanceObjMsg
.
Name
=
''
;
this
.
AdvanceObjMsg
.
DutyNo
=
''
;
this
.
AdvanceObjMsg
.
Remark
=
''
;
}
},
err
=>
{})
},
getAdvanceList
(
query
){
if
(
query
!==
''
){
this
.
apipost
(
'Financial_post_GetAdvancePaymentPageList'
,
{
pageIndex
:
1
,
pageSize
:
20
,
Name
:
query
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AdvanceObjList
=
res
.
data
.
data
.
pageData
;
}
},
err
=>
{})
}
},
getAdvanceToIdList
(
id
,
isAll
){
if
(
id
>
0
||
isAll
){
this
.
apipost
(
'Financial_post_GetAdvancePaymentPageList'
,
{
pageIndex
:
1
,
pageSize
:
20
,
Id
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AdvanceObjList
=
res
.
data
.
data
.
pageData
;
}
},
err
=>
{})
}
}
}
},
},
created
()
{
created
()
{
...
...
src/components/Hotel/hotelSpider.vue
View file @
3657dccf
...
@@ -33,49 +33,27 @@
...
@@ -33,49 +33,27 @@
</ul>
</ul>
</div>
</div>
<div>
<div>
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
'loading'
>
<div
style=
"color:red;margin-bottom:5px;"
>
价格实时变动,以下价格仅供参考。
</div>
<tr>
<el-table
:data=
"processedData"
border
style=
"width: 100%"
v-loading=
'loading'
:span-method=
"objectSpanMethod"
<th
width=
"200"
>
酒店名称
</th>
:header-cell-style=
"
{background: '#f5f7fa', fontWeight: 'bold'}" max-height="670px" highlight-current-row>
<th
width=
"70"
>
类型
</th>
<el-table-column
prop=
"DiDaHotelName"
label=
"酒店名称"
width=
"200"
align=
"center"
fixed
></el-table-column>
<template
v-if=
"dataList&&dataList.length>0"
>
<el-table-column
prop=
"priceType"
label=
"类型"
width=
"70"
align=
"center"
fixed
></el-table-column>
<template
v-for=
"(hItem,hIndex) in dataList[0].SubList"
>
<el-table-column
v-for=
"(header, index) in dateHeaders"
:key=
"index"
:label=
"header.label"
align=
"center"
<th
:key=
"`d_h_`+hIndex"
>
min-width=
"75"
>
{{
hItem
.
CheckInStr
}}
(
{{
hItem
.
WeekStr
}}
)
<template
slot-scope=
"scope"
>
</th>
<el-tooltip
content=
"点击查看详情"
>
</
template
>
<span
v-if=
"scope.row.priceType === '直客价'"
:style=
"
{color: scope.row.SubList[index].Price
<scope
.
row
.
SubList
[
index
].
TeamPrice
?
'
red
'
:
''}"
@
click=
"gotoPage(1,scope.row.SubList[index])"
style=
"cursor:pointer;"
>
{{
scope
.
row
.
SubList
[
index
].
Price
}}
</span>
<span
v-else
@
click=
"gotoPage(2,scope.row.SubList[index])"
style=
"cursor:pointer;"
>
{{
scope
.
row
.
SubList
[
index
].
TeamPrice
}}
</span>
</el-tooltip>
</
template
>
</
template
>
</tr>
</el-table-column>
<
template
v-for=
"(item,index) in dataList"
>
</el-table>
<tr
:key=
"`d_1_`+index"
>
<td
rowspan=
"2"
>
{{
item
.
DiDaHotelName
}}
</td>
<td>
直客价
</td>
<template
v-for=
"(hItem,hIndex) in item.SubList"
>
<td
:key=
"`d_1_`+index+`d1_`+hIndex"
>
<template
v-if=
"hItem.Price
<hItem
.
TeamPrice
"
>
<font
style=
"color:red;"
>
{{
hItem
.
Price
}}
</font>
</
template
>
<
template
v-else
>
{{
hItem
.
Price
}}
</
template
>
</td>
</template>
</tr>
<tr
:key=
"`d_2_`+index"
>
<td>
道旅价
</td>
<
template
v-for=
"(hItem,hIndex) in item.SubList"
>
<td
:key=
"`d_2_`+index+`d2_`+hIndex"
>
{{
hItem
.
TeamPrice
}}
</td>
</
template
>
</tr>
</template>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"msg.pageIndex"
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"msg.pageIndex"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"msg.total"
></el-pagination>
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"msg.total"
></el-pagination>
</div>
</div>
...
@@ -124,7 +102,80 @@
...
@@ -124,7 +102,80 @@
loading
:
false
,
loading
:
false
,
};
};
},
},
computed
:
{
// 处理表头数据
dateHeaders
()
{
if
(
this
.
dataList
.
length
>
0
&&
this
.
dataList
[
0
].
SubList
)
{
return
this
.
dataList
[
0
].
SubList
.
map
(
item
=>
({
label
:
`
${
item
.
CheckInStr
}
(
${
item
.
WeekStr
}
)`
}));
}
return
[];
},
// 处理表格数据
processedData
()
{
const
result
=
[];
this
.
dataList
.
forEach
(
hotel
=>
{
// 直客价行
result
.
push
({
DiDaHotelName
:
hotel
.
DiDaHotelName
,
priceType
:
'直客价'
,
SubList
:
hotel
.
SubList
,
rowspan
:
2
// 用于合并单元格
});
// 道旅价行
result
.
push
({
priceType
:
'道旅价'
,
SubList
:
hotel
.
SubList
,
rowspan
:
0
// 用于合并单元格
});
});
return
result
;
}
},
methods
:
{
methods
:
{
gotoPage
(
type
,
item
)
{
//直客,天巡
if
(
type
==
1
)
{
var
txUrl
=
"https://www.tianxun.com/hotels/search?entity_id="
+
item
.
HotelId
+
"&checkin="
+
item
.
CheckInDate
+
"&checkout="
+
item
.
CheckOutDate
+
"&adults=2&rooms=1&sort=-relevance"
;
window
.
open
(
txUrl
);
}
//道旅
else
if
(
type
==
2
)
{
var
dlUrl
=
`http://
${
window
.
location
.
host
}
/#/`
+
"HotelDetails?id="
+
item
.
DiDaHotelId
+
"&StartDate="
+
item
.
CheckInDate
+
"&EndDate="
+
item
.
CheckOutDate
;
window
.
open
(
dlUrl
);
}
},
// 单元格合并方法
objectSpanMethod
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
columnIndex
===
0
)
{
// 酒店名称列
if
(
row
.
rowspan
===
2
)
{
return
{
rowspan
:
2
,
colspan
:
1
};
}
else
{
return
{
rowspan
:
0
,
colspan
:
0
};
}
}
if
(
columnIndex
===
1
)
{
// 类型列不需要合并
return
{
rowspan
:
1
,
colspan
:
1
};
}
},
//翻页功能按钮
//翻页功能按钮
handleCurrentChange
(
val
)
{
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
msg
.
pageIndex
=
val
;
...
@@ -173,6 +224,7 @@
...
@@ -173,6 +224,7 @@
// }
// }
}
}
let
myDate
=
new
Date
();
let
myDate
=
new
Date
();
myDate
.
setDate
(
myDate
.
getDate
()
+
14
);
let
nowDate
=
let
nowDate
=
myDate
.
getFullYear
()
+
myDate
.
getFullYear
()
+
"-"
+
"-"
+
...
@@ -180,11 +232,10 @@
...
@@ -180,11 +232,10 @@
"-"
+
"-"
+
myDate
.
getDate
();
myDate
.
getDate
();
this
.
msg
.
QStartDate
=
nowDate
;
this
.
msg
.
QStartDate
=
nowDate
;
var
currentDate
=
new
Date
();
// 获取当前时间
currentDate
.
setMonth
(
current
Date
.
getMonth
()
+
1
);
// 将当前时间的月份加1
myDate
.
setMonth
(
my
Date
.
getMonth
()
+
1
);
// 将当前时间的月份加1
this
.
msg
.
QEndDate
=
currentDate
.
getFullYear
()
+
"-"
+
parseInt
(
currentDate
.
getMonth
()
+
1
)
+
"-"
+
current
Date
this
.
msg
.
QEndDate
=
myDate
.
getFullYear
()
+
"-"
+
parseInt
(
myDate
.
getMonth
()
+
1
)
+
"-"
+
my
Date
.
getDate
();
.
getDate
();
this
.
getHotelList
();
this
.
getHotelList
();
},
},
mounted
()
{
mounted
()
{
...
...
src/components/commonPage/customerService/index.vue
View file @
3657dccf
<
template
>
<
template
>
<div
class=
"dialogPptistVisible-box"
style=
"width: 100%;height: 100%;"
>
<div
class=
"dialogPptistVisible-box"
style=
"width: 100%;height: 100%;"
>
<div
style=
"position: relative;width: 800px;"
>
<div
style=
"position: relative;width: 800px;"
>
<span
style=
"opacity: 0;"
>
1
</span>
<span
style=
"opacity: 0;"
>
1
</span>
<div
class=
"item"
>
<div
class=
"item"
>
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
<iframe
id=
"myTemplateUrl"
v-if=
"Url!=''"
name=
"myTemplateUrl"
:src=
"Url"
class=
"TemplateIframe"
>
<iframe
id=
"myTemplateUrl"
v-if=
"Url!=''"
name=
"myTemplateUrl"
:src=
"Url"
class=
"TemplateIframe"
>
</iframe>
</iframe>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
compressToBase64
}
from
'@/utils/compression'
;
import
{
compressToBase64
}
from
'@/utils/compression'
;
...
@@ -47,7 +47,7 @@ import { compressToBase64 } from '@/utils/compression';
...
@@ -47,7 +47,7 @@ import { compressToBase64 } from '@/utils/compression';
},
},
methods
:
{
methods
:
{
close
()
{
close
()
{
this
.
$emit
(
'close'
)
this
.
MsgBus
.
$emit
(
"showCustomerServiceHandler"
,
false
);
},
},
async
createInitDifyAsync
(){
async
createInitDifyAsync
(){
const
userInfo
=
this
.
getLocalStorage
();
const
userInfo
=
this
.
getLocalStorage
();
...
@@ -113,7 +113,7 @@ import { compressToBase64 } from '@/utils/compression';
...
@@ -113,7 +113,7 @@ import { compressToBase64 } from '@/utils/compression';
right
:
-40px
;
right
:
-40px
;
top
:
-10px
;
top
:
-10px
;
z-index
:
99
;
z-index
:
99
;
}
}
.itemBox
{
.itemBox
{
width
:
30px
;
width
:
30px
;
...
...
src/components/index.vue
View file @
3657dccf
...
@@ -284,15 +284,22 @@
...
@@ -284,15 +284,22 @@
</el-dropdown>
</el-dropdown>
</li>
</li>
<
template
v-if=
"userInfo.RB_Group_id == 2"
>
<
template
v-if=
"userInfo.RB_Group_id == 2"
>
<li
style=
"position: relative;"
>
<!--
<li
style=
"position: relative;"
>
<!--||MsgCount>0-->
<i
class=
"iconfont icon-imessage_top"
<i
class=
"iconfont icon-imessage_top"
:class=
"[(hasNewMsg > 0) && !IM_bodyIsShow ? 'animation red' : '', IM_bodyIsShow ? 'red' : '']"
:class=
"[(hasNewMsg > 0) && !IM_bodyIsShow ? 'animation red' : '', IM_bodyIsShow ? 'red' : '']"
@
click=
"IM_bodyIsShow = !IM_bodyIsShow, IM_navType = 1"
></i>
@
click=
"IM_bodyIsShow = !IM_bodyIsShow, IM_navType = 1"
></i>
</li>
</li>
-->
<li
style=
"display: flex;flex-direction: column;align-items: center;justify-content: center;"
>
<li
style=
"display: flex;flex-direction: column;align-items: center;justify-content: center;"
>
<!--
<i
class=
"iconfont icon-banbengengxin"
@
click=
"goUrlLog()"
></i>
-->
<!--
<i
class=
"iconfont icon-banbengengxin"
@
click=
"goUrlLog()"
></i>
-->
<img
src=
"../assets/img/AI.png"
style=
"width: 25px;cursor: pointer;"
title=
"AI行程"
@
click=
"goRequirement()"
>
<el-tooltip
effect=
"dark"
content=
"AI行程"
placement=
"top"
>
<img
src=
"../assets/img/AI.png"
style=
"width: 30px;cursor: pointer;"
@
click=
"goRequirement()"
>
</el-tooltip>
</li>
<li
style=
"display: flex;flex-direction: column;align-items: center;justify-content: center;"
>
<el-tooltip
effect=
"dark"
content=
"ERP智能客服"
placement=
"top"
>
<!--
<img
src=
"../assets/img/AI.png"
style=
"width: 30px;cursor: pointer;"
@
click=
"goRequirement()"
>
-->
<div
class=
"top-right-menu-item"
style=
"margin-top: -10px;"
@
click=
"showCustomerServiceHandler()"
></div>
</el-tooltip>
</li>
</li>
<li
v-if=
"!useRed"
><i
class=
"iconfont icon-gonggao"
<li
v-if=
"!useRed"
><i
class=
"iconfont icon-gonggao"
@
click=
"IM_bodyIsShow = !IM_bodyIsShow, IM_navType = 52"
></i>
@
click=
"IM_bodyIsShow = !IM_bodyIsShow, IM_navType = 52"
></i>
...
@@ -2075,6 +2082,9 @@ export default {
...
@@ -2075,6 +2082,9 @@ export default {
}
}
},
},
methods
:
{
methods
:
{
showCustomerServiceHandler
()
{
this
.
MsgBus
.
$emit
(
"showCustomerServiceHandler"
,
true
);
},
// 销售看板
// 销售看板
SalesBoard
()
{
SalesBoard
()
{
this
.
apipost
(
this
.
apipost
(
...
@@ -4673,7 +4683,17 @@ export default {
...
@@ -4673,7 +4683,17 @@ export default {
.downmz .khd a {
.downmz .khd a {
color: #fff;
color: #fff;
}
}
.top-right-menu-item{
width: 30px;
height: 30px;
background-image: url('../assets/img/robot.png');
background-size: 100% 100%;
background-repeat: no-repeat;
cursor: pointer;
}
.top-right-menu-item:hover{
background-image: url('../assets/img/robot_hover.png');
}
.downmz .khd {
.downmz .khd {
display: inline-block;
display: inline-block;
width: 162px;
width: 162px;
...
...
src/components/systemManagement/Manfunds.vue
View file @
3657dccf
...
@@ -196,7 +196,7 @@
...
@@ -196,7 +196,7 @@
</li>
</li>
<li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"getList(),getTongji()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"
resetPageIndex(),
getList(),getTongji()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible=true"
>
{{
$t
(
'objFill.daoru'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible=true"
>
{{
$t
(
'objFill.daoru'
)
}}
</button>
<a
class=
"hollowFixedBtn downBtn"
style=
"padding:6px 9px;"
:href=
"downList"
>
{{
$t
(
'objFill.v101.FinancialModule.daorumobxz'
)
}}
</a>
<a
class=
"hollowFixedBtn downBtn"
style=
"padding:6px 9px;"
:href=
"downList"
>
{{
$t
(
'objFill.v101.FinancialModule.daorumobxz'
)
}}
</a>
<button
class=
"normalBtn"
@
click=
"method5()"
>
{{
$t
(
'visa.v_daochu'
)
}}
</button>
<button
class=
"normalBtn"
@
click=
"method5()"
>
{{
$t
(
'visa.v_daochu'
)
}}
</button>
...
...
src/pages/requirements/components/RequirementDetail.vue
View file @
3657dccf
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
<div
class=
"option-label"
>
{{ item.label }}
</div>
<div
class=
"option-label"
>
{{ item.label }}
</div>
</div>
</div>
</div>
</div>
<div
class=
"qrcode-area"
style=
"margin: 24px 0; text-align: center;"
v-loading=
"createQrcode"
>
<div
v-if=
"currentPublishOption!='pdfItinerary'"
class=
"qrcode-area"
style=
"margin: 24px 0; text-align: center;"
v-loading=
"createQrcode"
>
<div
style=
"height: 100px; width: 100px; background: #f5f5f5; display: inline-block; border-radius: 8px; line-height: 100px;"
>
<div
style=
"height: 100px; width: 100px; background: #f5f5f5; display: inline-block; border-radius: 8px; line-height: 100px;"
>
<!-- 这里放二维码图片 -->
<!-- 这里放二维码图片 -->
<img
:src=
"qrcodeUrl"
style=
"width: 100%; height: 100%;"
/>
<img
:src=
"qrcodeUrl"
style=
"width: 100%; height: 100%;"
/>
...
@@ -134,12 +134,13 @@
...
@@ -134,12 +134,13 @@
<el-input
<el-input
v-model=
"publishShareLink"
v-model=
"publishShareLink"
readonly
readonly
placeholder=
"
这里是分享链接
"
placeholder=
""
style=
"width: 100%;"
style=
"width: 100%;"
v-if=
"currentPublishOption!='wechatH5'"
v-if=
"currentPublishOption!='wechatH5'"
>
>
<
template
#
append
>
<
template
#
append
>
<el-button
@
click=
"copyPublishLink"
>
复制
</el-button>
<el-button
@
click=
"copyPublishLink"
>
复制
</el-button>
<el-button
@
click=
"openUrl(publishShareLink)"
>
打开
</el-button>
</
template
>
</
template
>
</el-input>
</el-input>
<div
style=
"height: 30px;"
></div>
<div
style=
"height: 30px;"
></div>
...
@@ -362,7 +363,7 @@ export default {
...
@@ -362,7 +363,7 @@ export default {
},
},
handlePDFItinerary
(
row
)
{
handlePDFItinerary
(
row
)
{
// 下载PDF行程书
// 下载PDF行程书
window
.
open
(
`
${
this
.
baseHref
}
/api/itinerary/pdf/book/
${
row
.
id
}
`
,
'_blank'
);
this
.
getDownloadTDUrl
(
row
);
},
},
handleWebSchedule
(
row
)
{
handleWebSchedule
(
row
)
{
// 打开Web行程单页面
// 打开Web行程单页面
...
@@ -453,6 +454,33 @@ export default {
...
@@ -453,6 +454,33 @@ export default {
);
);
}
}
},
},
getDownloadTDUrl
(
row
)
{
if
(
row
.
tdId
==
0
){
this
.
$message
.
error
(
'请先创建TD行程'
);
return
;
}
this
.
apipost
&&
this
.
apipost
(
"triptemplate_GetTripOther"
,
{
Id
:
row
.
tdId
},
res
=>
{
if
(
res
.
data
&&
res
.
data
.
resultCode
==
1
)
{
const
params
=
{
"Id"
:
row
.
tdId
,
"Hash"
:
res
.
data
.
data
.
HashInfo
,
"Range"
:
""
,
"Quality"
:
1
,
"DownloadType"
:
0
}
this
.
apipost
(
"ppt_get_downloadtoken"
,
params
,
res
=>
{
if
(
res
.
data
&&
res
.
data
.
resultCode
==
1
){
this
.
publishShareLink
=
`
${
this
.
domainManager
().
PptUrl
}
/download/
${
res
.
data
.
data
}
`
;
}
});
}
else
{
this
.
$message
.
error
(
'获取TD行程失败'
);
}
},
err
=>
{
this
.
$message
.
error
(
'获取TD行程失败'
);
}
);
},
openUrl
(
url
){
window
.
open
(
url
,
'_blank'
);
},
editTD
(
row
)
{
editTD
(
row
)
{
// 先请求接口获取uid,再拼接PPT预览链接
// 先请求接口获取uid,再拼接PPT预览链接
if
(
row
.
tdId
>
0
)
{
if
(
row
.
tdId
>
0
)
{
...
@@ -461,7 +489,7 @@ export default {
...
@@ -461,7 +489,7 @@ export default {
res
=>
{
res
=>
{
if
(
res
.
data
&&
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
&&
res
.
data
.
resultCode
==
1
)
{
let
href
=
this
.
domainManager
().
PptUrl
;
let
href
=
this
.
domainManager
().
PptUrl
;
const
pageUrl
=
`/editor/
${
row
.
tdId
}
/
1
/1/0/e/1/c/1`
const
pageUrl
=
`/editor/
${
row
.
tdId
}
/
${
row
.
tdTemplate
}
/1/0/e/1/c/1`
let
url
=
`
${
href
}
/autoLogin?uid=
${
res
.
data
.
data
}
&model=1001&redict=
${
encodeURIComponent
(
pageUrl
)}
`
;
let
url
=
`
${
href
}
/autoLogin?uid=
${
res
.
data
.
data
}
&model=1001&redict=
${
encodeURIComponent
(
pageUrl
)}
`
;
window
.
open
(
url
,
'_blank'
);
window
.
open
(
url
,
'_blank'
);
}
else
{
}
else
{
...
...
src/router/config.js
View file @
3657dccf
...
@@ -3479,6 +3479,14 @@ export default {
...
@@ -3479,6 +3479,14 @@ export default {
title
:
'财务单据审核'
title
:
'财务单据审核'
},
},
},
},
{
// 客户预存管理
path
:
'/TempHoldPay'
,
name
:
'TempHoldPay'
,
component
:
resolve
=>
require
([
'@/components/FinancialModule/PrestorageManagement/TempHoldPay'
],
resolve
),
meta
:
{
title
:
'预收预付管理'
},
},
{
// 客户预存管理
{
// 客户预存管理
path
:
'/prestoreList'
,
path
:
'/prestoreList'
,
name
:
'prestoreList'
,
name
:
'prestoreList'
,
...
...
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