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
62100a1c
Commit
62100a1c
authored
May 30, 2023
by
沈良进
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
36a5af38
121761c5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
1073 additions
and
531 deletions
+1073
-531
TeamRevenueReport.vue
...mponents/FinancialModule/ReportForm/TeamRevenueReport.vue
+3
-0
SignName.vue
src/components/SignName.vue
+205
-200
TravelContractConfirm.vue
src/components/TravelContractConfirm.vue
+1
-10
TravelControlList.vue
...components/TravelManager/TravelList/TravelControlList.vue
+8
-5
TravelControlListSale.vue
...onents/TravelManager/TravelList/TravelControlListSale.vue
+41
-8
ContractManage.vue
src/components/administrative/ContractManage.vue
+88
-6
clientConfirm.vue
src/components/clientConfirm.vue
+4
-3
TravelManager2.vue
...ts/newTravelmanager/TravelGroupControl/TravelManager2.vue
+1
-1
TravelPrice2.vue
...ents/newTravelmanager/TravelGroupControl/TravelPrice2.vue
+7
-7
rightHead.vue
src/components/public/rightHead.vue
+344
-0
ExpectedCommission.vue
src/components/sale/ExpectedCommission.vue
+1
-6
sale.vue
src/components/sale/sale.vue
+4
-234
operation.vue
src/components/temp/operation.vue
+320
-12
index.js
src/plug/index.js
+46
-39
No files found.
src/components/FinancialModule/ReportForm/TeamRevenueReport.vue
View file @
62100a1c
...
@@ -2130,6 +2130,9 @@ export default {
...
@@ -2130,6 +2130,9 @@ export default {
},
},
components
:
{},
components
:
{},
mounted
()
{
mounted
()
{
let
STime
=
this
.
getBeforeDate
(
31
,
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
)))
let
ETime
=
this
.
getBeforeDate
(
0
,
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
)))
this
.
productionDate
=
[
STime
,
ETime
]
let
allH
,
allW
,
cH
,
cW
;
let
allH
,
allW
,
cH
,
cW
;
allH
=
document
.
documentElement
.
clientHeight
;
allH
=
document
.
documentElement
.
clientHeight
;
allW
=
document
.
documentElement
.
clientWidth
;
allW
=
document
.
documentElement
.
clientWidth
;
...
...
src/components/SignName.vue
View file @
62100a1c
<
style
scoped
>
<
style
scoped
>
.SignName
.CanvasDiv
{
.SignName
.CanvasDiv
{
width
:
100%
;
width
:
100%
;
height
:
calc
(
100%
-
8rem
);
height
:
calc
(
100%
-
8rem
);
padding-top
:
20px
;
padding-top
:
20px
;
}
}
.SignName
.CanvasDiv
#canvas
{
.SignName
.CanvasDiv
#canvas
{
width
:
100%
;
width
:
100%
;
height
:
100%
;
height
:
100%
;
}
}
.SignName
.dash
{
.SignName
.dash
{
padding
:
10px
;
padding
:
10px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
border
:
1px
dashed
#ccc
;
border
:
1px
dashed
#ccc
;
width
:
95%
;
width
:
95%
;
height
:
98%
;
height
:
98%
;
margin
:
0
auto
;
margin
:
0
auto
;
overflow
:
hidden
;
overflow
:
hidden
;
}
}
.SignName
.bg
{
.SignName
.bg
{
display
:
inline-block
;
display
:
inline-block
;
width
:
25px
;
width
:
25px
;
height
:
25px
;
height
:
25px
;
}
}
.SignName
.bg1
{
.SignName
.bg1
{
background-image
:
url('../assets/img/dzht/bg1.png')
;
background-image
:
url('../assets/img/dzht/bg1.png')
;
background-size
:
132px
;
background-size
:
132px
;
background-position
:
-1px
-2px
;
background-position
:
-1px
-2px
;
}
}
.SignName
.bg2
{
.SignName
.bg2
{
background-image
:
url('../assets/img/dzht/bg1.png')
;
background-image
:
url('../assets/img/dzht/bg1.png')
;
background-size
:
132px
;
background-size
:
132px
;
background-position
:
28px
-2px
;
background-position
:
28px
-2px
;
}
}
.SignName
.bottom
.el-col
>
div
{
.SignName
.bottom
.el-col
>
div
{
display
:
inline-flex
;
display
:
inline-flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
center
;
justify-content
:
center
;
}
}
.SignName
.signTc
{
.SignName
.signTc
{
position
:
fixed
;
position
:
fixed
;
top
:
0
;
top
:
0
;
left
:
0
;
left
:
0
;
...
@@ -48,7 +54,8 @@
...
@@ -48,7 +54,8 @@
z-index
:
200
;
z-index
:
200
;
text-align
:
center
;
text-align
:
center
;
}
}
.SignName
.signTc
.closeTc
{
.SignName
.signTc
.closeTc
{
position
:
relative
;
position
:
relative
;
display
:
inline-block
;
display
:
inline-block
;
width
:
60%
;
width
:
60%
;
...
@@ -60,6 +67,7 @@
...
@@ -60,6 +67,7 @@
top
:
50%
;
top
:
50%
;
font-size
:
2rem
;
font-size
:
2rem
;
}
}
</
style
>
</
style
>
<
template
>
<
template
>
...
@@ -71,68 +79,61 @@
...
@@ -71,68 +79,61 @@
<div
class=
"CanvasDiv"
>
<div
class=
"CanvasDiv"
>
<div
class=
"dash"
>
<div
class=
"dash"
>
<div
id=
"canvas"
style=
"position:relative;top:0;"
>
<div
id=
"canvas"
style=
"position:relative;top:0;"
>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"bottom"
style=
"text-align:center;height:80px;line-height:80px"
>
<div
class=
"bottom"
style=
"text-align:center;height:80px;line-height:80px"
>
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<div
style=
"width:100%;"
@
click=
"handelClearEl()"
>
<div
style=
"width:100%;"
@
click=
"handelClearEl()"
>
<!--
<span
class=
"bg bg1"
></span>
-->
<span
style=
"font-size:3rem;color:rgb(36, 173, 229)"
class=
"iconfont icon-zhongzhi1"
></span>
<span
style=
"font-size:3rem;color:rgb(36, 173, 229)"
class=
"iconfont icon-zhongzhi1"
></span>
<span
style=
"font-size:2rem"
>
重置签名
</span>
<span
style=
"font-size:2rem"
>
重置签名
</span>
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<div
style=
"width:100%;"
@
click=
"handelSaveEl()"
>
<div
style=
"width:100%;"
@
click=
"handelSaveEl()"
>
<!--
<span
class=
"bg bg2"
></span>
-->
<span
style=
"font-size:3rem;color:rgb(36, 173, 229)"
class=
"iconfont icon-wancheng1"
></span>
<span
style=
"font-size:3rem;color:rgb(36, 173, 229)"
class=
"iconfont icon-wancheng1"
></span>
<span
style=
"font-size:2rem"
>
完成签名
</span>
<span
style=
"font-size:2rem"
>
完成签名
</span>
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
<!--
<input
type=
"button"
@
click=
"handelClearEl()"
class=
"CV_Btn"
value=
"清除"
/>
<input
type=
"button"
@
click=
"handelSaveEl()"
class=
"CV_Btn"
value=
"保存"
/>
-->
</div>
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
tripBusOrderVue
from
'./busManagement/tripBusOrder.vue'
;
import
tripBusOrderVue
from
'./busManagement/tripBusOrder.vue'
;
let
canvas
=
document
.
createElement
(
"canvas"
);
let
canvas
=
document
.
createElement
(
"canvas"
);
let
cxt
=
canvas
.
getContext
(
"2d"
);
let
cxt
=
canvas
.
getContext
(
"2d"
);
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
tcStatus
:
false
,
tcStatus
:
false
,
linewidth
:
3
,
//线条粗细,选填
linewidth
:
3
,
//线条粗细,选填
color
:
"black"
,
//线条颜色,选填
color
:
"black"
,
//线条颜色,选填
background
:
"#fff"
,
//线条背景,选填
background
:
"#fff"
,
//线条背景,选填
SignInfo
:{},
SignInfo
:
{},
msg
:{
msg
:
{
TCID
:
0
,
TCID
:
0
,
orderID
:
0
orderID
:
0
,
guestId
:
0
,
},
},
}
}
},
},
created
(){
created
()
{
this
.
SignInfo
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"SignInfo"
));
this
.
SignInfo
=
JSON
.
parse
(
sessionStorage
.
getItem
(
"SignInfo"
));
},
},
mounted
(){
mounted
()
{
this
.
msg
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
msg
.
TCID
=
this
.
$route
.
query
.
TCID
;
this
.
msg
.
orderID
=
this
.
$route
.
query
.
orderID
;
this
.
msg
.
orderID
=
this
.
$route
.
query
.
orderID
;
this
.
getCanvas
();
this
.
getCanvas
();
document
.
getElementsByTagName
(
'body'
)[
0
].
style
=
"overscroll-behavior-y: contain;"
document
.
getElementsByTagName
(
'body'
)[
0
].
style
=
"overscroll-behavior-y: contain;"
},
},
beforeDestroy
()
{
beforeDestroy
()
{
document
.
getElementsByTagName
(
'body'
)[
0
].
style
=
""
document
.
getElementsByTagName
(
'body'
)[
0
].
style
=
""
},
},
methods
:{
methods
:
{
getCanvas
()
{
getCanvas
()
{
let
el
=
document
.
getElementById
(
"canvas"
);
let
el
=
document
.
getElementById
(
"canvas"
);
el
.
appendChild
(
canvas
);
el
.
appendChild
(
canvas
);
...
@@ -146,7 +147,7 @@ export default {
...
@@ -146,7 +147,7 @@ export default {
//开始绘制
//开始绘制
canvas
.
addEventListener
(
canvas
.
addEventListener
(
"touchstart"
,
"touchstart"
,
function
(
e
)
{
function
(
e
)
{
cxt
.
beginPath
();
cxt
.
beginPath
();
cxt
.
lineWidth
=
linewidth
;
//当前线条的宽度,以像素计
cxt
.
lineWidth
=
linewidth
;
//当前线条的宽度,以像素计
cxt
.
moveTo
(
e
.
changedTouches
[
0
].
pageX
,
e
.
changedTouches
[
0
].
pageY
);
cxt
.
moveTo
(
e
.
changedTouches
[
0
].
pageX
,
e
.
changedTouches
[
0
].
pageY
);
...
@@ -156,7 +157,7 @@ export default {
...
@@ -156,7 +157,7 @@ export default {
//绘制中
//绘制中
canvas
.
addEventListener
(
canvas
.
addEventListener
(
"touchmove"
,
"touchmove"
,
function
(
e
)
{
function
(
e
)
{
cxt
.
lineTo
(
e
.
changedTouches
[
0
].
pageX
,
e
.
changedTouches
[
0
].
pageY
);
cxt
.
lineTo
(
e
.
changedTouches
[
0
].
pageX
,
e
.
changedTouches
[
0
].
pageY
);
cxt
.
stroke
();
cxt
.
stroke
();
}.
bind
(
this
),
}.
bind
(
this
),
...
@@ -165,7 +166,7 @@ export default {
...
@@ -165,7 +166,7 @@ export default {
//结束绘制
//结束绘制
canvas
.
addEventListener
(
canvas
.
addEventListener
(
"touchend"
,
"touchend"
,
function
()
{
function
()
{
cxt
.
closePath
();
cxt
.
closePath
();
}.
bind
(
this
),
}.
bind
(
this
),
false
false
...
@@ -173,7 +174,7 @@ export default {
...
@@ -173,7 +174,7 @@ export default {
//开始绘制
//开始绘制
canvas
.
addEventListener
(
canvas
.
addEventListener
(
"mousedown"
,
"mousedown"
,
function
(
e
)
{
function
(
e
)
{
this
.
isMouseDown
=
tripBusOrderVue
this
.
isMouseDown
=
tripBusOrderVue
cxt
.
beginPath
();
cxt
.
beginPath
();
cxt
.
lineWidth
=
linewidth
;
//当前线条的宽度,以像素计
cxt
.
lineWidth
=
linewidth
;
//当前线条的宽度,以像素计
...
@@ -184,8 +185,8 @@ export default {
...
@@ -184,8 +185,8 @@ export default {
//绘制中
//绘制中
canvas
.
addEventListener
(
canvas
.
addEventListener
(
"mousemove"
,
"mousemove"
,
function
(
e
)
{
function
(
e
)
{
if
(
this
.
isMouseDown
)
{
if
(
this
.
isMouseDown
)
{
cxt
.
lineTo
(
e
.
pageX
-
20
,
e
.
pageY
-
20
);
cxt
.
lineTo
(
e
.
pageX
-
20
,
e
.
pageY
-
20
);
cxt
.
stroke
();
cxt
.
stroke
();
}
}
...
@@ -195,7 +196,7 @@ export default {
...
@@ -195,7 +196,7 @@ export default {
//结束绘制
//结束绘制
canvas
.
addEventListener
(
canvas
.
addEventListener
(
"mouseup"
,
"mouseup"
,
function
()
{
function
()
{
this
.
isMouseDown
=
false
this
.
isMouseDown
=
false
cxt
.
closePath
();
cxt
.
closePath
();
}.
bind
(
this
),
}.
bind
(
this
),
...
@@ -211,21 +212,25 @@ export default {
...
@@ -211,21 +212,25 @@ export default {
this
.
SaveMsg
();
this
.
SaveMsg
();
},
},
//提交数据
//提交数据
SaveMsg
(){
SaveMsg
()
{
// this.apiJavaPost("/api/contract/dosaveOrUpdate",this.SignInfo,res => {
this
.
apipost
(
"travelcontract_post_UpdateCompanySignatureService"
,
this
.
SignInfo
,
res
=>
{
this
.
apipost
(
"travelcontract_post_UpdateCompanySignatureService"
,
this
.
SignInfo
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
Success
(
res
.
data
.
message
);
this
.
$router
.
push
({
name
:
"clientConfirm"
,
query
:
{
TCID
:
this
.
msg
.
TCID
,
orderID
:
this
.
msg
.
orderID
,
str
:
1
}})
this
.
$router
.
push
({
name
:
"clientConfirm"
,
query
:
{
TCID
:
this
.
msg
.
TCID
,
orderID
:
this
.
msg
.
orderID
,
str
:
1
,
guestId
:
this
.
msg
.
guestId
,
}
})
}
else
{
}
else
{
this
.
Error
(
res
.
data
.
message
);
this
.
Error
(
res
.
data
.
message
);
}
}
},
null
);
},
null
);
},
},
}
}
}
}
</
script
>
</
script
>
src/components/TravelContractConfirm.vue
View file @
62100a1c
...
@@ -3681,19 +3681,10 @@
...
@@ -3681,19 +3681,10 @@
}
}
return
serviceCount
;
return
serviceCount
;
},
},
goUrl
()
{
sessionStorage
.
setItem
(
"SignInfo"
,
JSON
.
stringify
(
this
.
dataList
))
this
.
$router
.
push
({
name
:
"SignName"
,
query
:
{
ContractId
:
this
.
msg
.
ContractId
,
}
})
},
ChangeTab
(
num
)
{
ChangeTab
(
num
)
{
this
.
ActiveTab
=
num
;
this
.
ActiveTab
=
num
;
},
},
//获取数据
//获取数据
getList
()
{
getList
()
{
this
.
apipost
(
this
.
apipost
(
...
...
src/components/TravelManager/TravelList/TravelControlList.vue
View file @
62100a1c
...
@@ -612,7 +612,8 @@
...
@@ -612,7 +612,8 @@
</p>
</p>
<p
class=
"travelnowrap"
v-if=
"item.Config_OfferId&&item.Config_OfferId>0"
>
<p
class=
"travelnowrap"
v-if=
"item.Config_OfferId&&item.Config_OfferId>0"
>
<span
style=
"cursor:pointer;text-decoration:underline;color:blue;"
@
click=
"showDialog(item.ID, item.Config_OfferId)"
>
报价详情
</span>
<span
style=
"cursor:pointer;text-decoration:underline;color:blue;"
@
click=
"showDialog(item.ID, item.Config_OfferId)"
>
报价详情
</span>
</p>
</p>
<p
class=
"travelnowrap flex"
v-if=
"item.OfferShouPeiFee>0"
>
<p
class=
"travelnowrap flex"
v-if=
"item.OfferShouPeiFee>0"
>
<span>
手配费
</span>
<span>
手配费
</span>
...
@@ -683,7 +684,8 @@
...
@@ -683,7 +684,8 @@
</div>
</div>
</el-popover>
</el-popover>
</p>
</p>
<p
class=
"travelnowrap"
v-if=
"item.LineID==14 && item.IsOpenHotel==1"
>
<p
class=
"travelnowrap"
v-if=
"(item.LineID==14 || item.LineID==90|| item.LineID==168) && item.IsOpenHotel==1"
>
<span
style=
"color:red;font-weight:bold;"
>
※ {{$t('op.DJyiguanbi')}}.
</span>
<span
style=
"color:red;font-weight:bold;"
>
※ {{$t('op.DJyiguanbi')}}.
</span>
</p>
</p>
...
@@ -1061,7 +1063,8 @@
...
@@ -1061,7 +1063,8 @@
{{$t('op.HotelXJ')}}
{{$t('op.HotelXJ')}}
</el-dropdown-item>
</el-dropdown-item>
<!-- 结团 -->
<!-- 结团 -->
<el-dropdown-item
v-if=
"item.Status==1&&Number(item.OrderGuestNum)>0"
@
click
.
native=
"OutGroup(item.TCID,2,item.TravelEndAudit)"
>
<el-dropdown-item
v-if=
"item.Status==1&&Number(item.OrderGuestNum)>0"
@
click
.
native=
"OutGroup(item.TCID,2,item.TravelEndAudit)"
>
{{$t('Operation.Op_jietuan')}}
{{$t('Operation.Op_jietuan')}}
</el-dropdown-item>
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.Status==2"
@
click
.
native=
"OutGroup(item.TCID,1,item.TravelEndAudit)"
>
<el-dropdown-item
v-if=
"item.Status==2"
@
click
.
native=
"OutGroup(item.TCID,1,item.TravelEndAudit)"
>
...
...
src/components/TravelManager/TravelList/TravelControlListSale.vue
View file @
62100a1c
...
@@ -482,7 +482,26 @@
...
@@ -482,7 +482,26 @@
{{item.OutBranchName}}
{{item.OutBranchName}}
</p>
</p>
<p
class=
"travelnowrap"
v-if=
"item.Config_OfferId"
>
<p
class=
"travelnowrap"
v-if=
"item.Config_OfferId"
>
<span
style=
"cursor:pointer;text-decoration:underline;color:blue;"
@
click=
"showDialog(item.ID, item.Config_OfferId)"
>
报价详情
</span>
<span
style=
"cursor:pointer;text-decoration:underline;color:blue;"
@
click=
"showDialog(item.ID, item.Config_OfferId)"
>
报价详情
</span>
</p>
<p
v-if=
"(item.LineID==14 || item.LineID==90|| item.LineID==168) && item.HotelOrderListReports && item.HotelOrderListReports.length>0 "
>
<el-popover
width=
"980"
trigger=
"click"
popper-class=
"TC_HotelPop"
>
<commonHotelInfo
:HotelObj=
"item.HotelOrderListReports"
:showHotelObj=
"showHotelObj"
:TCID=
"item.TCID"
:DMCNum=
"item.DMCNum"
:TCNUM=
"item.TCNUM"
@
SetShouPeiShu=
"SetShouPeiShu(item.TCID,item.ShouPeiStatus)"
></commonHotelInfo>
<div
slot=
"reference"
>
<span
class=
"price"
style=
"cursor:pointer;text-decoration:underline;"
>
{{$t('salesModule.HotelOrder')}}
</span>
<span
style=
"color: #e95252"
>
op{{item.OpSureHouse==2 ? '已确认' : '未确认'}}{{$t('op.Fenfang')}}
</span>
</div>
</el-popover>
</p>
<p
class=
"travelnowrap"
v-if=
"(item.LineID==14 || item.LineID==90|| item.LineID==168) && item.IsOpenHotel==1"
>
<span
style=
"color:red;font-weight:bold;"
>
※ {{$t('op.DJyiguanbi')}}.
</span>
</p>
</p>
</div>
</div>
</div>
</div>
...
@@ -723,7 +742,8 @@
...
@@ -723,7 +742,8 @@
@
click
.
native=
"setUpPlat(item)"
>
{{$t('Operation.Op_shangjia')}}
</el-dropdown-item>
@
click
.
native=
"setUpPlat(item)"
>
{{$t('Operation.Op_shangjia')}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.TCState==3"
@
click
.
native=
"Setshelves(item.TCID)"
>
<el-dropdown-item
v-if=
"item.TCState==3"
@
click
.
native=
"Setshelves(item.TCID)"
>
{{$t('Operation.Op_xiajia')}}
</el-dropdown-item>
{{$t('Operation.Op_xiajia')}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.Status==1&&Number(item.OrderGuestNum)>0"
@
click
.
native=
"OutGroup(item.TCID,2)"
>
<el-dropdown-item
v-if=
"item.Status==1&&Number(item.OrderGuestNum)>0"
@
click
.
native=
"OutGroup(item.TCID,2)"
>
{{$t('Operation.Op_jietuan')}}
{{$t('Operation.Op_jietuan')}}
</el-dropdown-item>
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
"goB2B(item.ConfigId)"
>
{{$t('Operation.Op_b2bView')}}
<el-dropdown-item
@
click
.
native=
"goB2B(item.ConfigId)"
>
{{$t('Operation.Op_b2bView')}}
...
@@ -820,10 +840,12 @@
...
@@ -820,10 +840,12 @@
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
commonHotelInfo
from
"../../commonPage/commonHotelInfo.vue"
;
import
priceDialog
from
'../TravelNewQuotation/priceDialog.vue'
;
import
priceDialog
from
'../TravelNewQuotation/priceDialog.vue'
;
export
default
{
export
default
{
components
:
{
components
:
{
priceDialog
priceDialog
,
commonHotelInfo
,
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -903,7 +925,7 @@
...
@@ -903,7 +925,7 @@
LineIdList
:
[],
LineIdList
:
[],
LineteamId
:
0
,
LineteamId
:
0
,
TCNUM
:
""
,
TCNUM
:
""
,
TCID
:
""
,
TCID
:
""
,
StartGroupDate
:
""
,
StartGroupDate
:
""
,
EndGroupDate
:
""
,
EndGroupDate
:
""
,
OutBranchId
:
-
1
,
OutBranchId
:
-
1
,
...
@@ -937,6 +959,17 @@
...
@@ -937,6 +959,17 @@
//团控状态
//团控状态
FreePlanType
:
-
1
FreePlanType
:
-
1
},
},
showHotelObj
:
{
showPrice
:
true
,
//是否显示价格
showPay
:
false
,
//是否显示支付方式
showZhan
:
true
,
//占房时间
showBtnList
:
false
,
//是否下载、确认按钮
ShowTaxType
:
false
,
//显示税入税别
ShowRebateRatio
:
false
,
//显示返佣比列
ShowSupplier
:
true
,
//是否显示供应商
showCaozuoTime
:
true
,
//操作时间
colspanLength
:
5
//跨行
},
remarkMsg
:
{
remarkMsg
:
{
TCID
:
0
,
TCID
:
0
,
OPRemark
:
""
,
OPRemark
:
""
,
...
@@ -1372,7 +1405,7 @@
...
@@ -1372,7 +1405,7 @@
query
:
{
query
:
{
id
:
id
,
id
:
id
,
OutBranchId
:
OutBranchId
,
OutBranchId
:
OutBranchId
,
IsHaveAuth
:
true
,
IsHaveAuth
:
true
,
blank
:
"y"
,
blank
:
"y"
,
tab
:
"团队收支明细"
tab
:
"团队收支明细"
}
}
...
@@ -1640,7 +1673,7 @@
...
@@ -1640,7 +1673,7 @@
this
.
queryMsg
=
this
.
$store
.
state
.
pageCondition
;
this
.
queryMsg
=
this
.
$store
.
state
.
pageCondition
;
}
}
}
}
if
(
!
this
.
$route
.
query
.
tcmun
)
{
if
(
!
this
.
$route
.
query
.
tcmun
)
{
var
myDate
=
new
Date
();
var
myDate
=
new
Date
();
var
nowDate
=
var
nowDate
=
myDate
.
getFullYear
()
+
myDate
.
getFullYear
()
+
...
...
src/components/administrative/ContractManage.vue
View file @
62100a1c
...
@@ -32,6 +32,48 @@
...
@@ -32,6 +32,48 @@
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
/*灰色遮罩层*/
.ContractManage
.fade
{
width
:
100%
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,
0.5
);
position
:
fixed
;
left
:
0
;
top
:
0
;
z-index
:
99
;
}
/*弹出层*/
.ContractManage
.qrCodeDiv
{
width
:
236px
;
height
:
275px
;
background-color
:
#fff
;
text-align
:
center
;
border
:
1px
solid
#d1d1d1
;
position
:
fixed
;
left
:
50%
;
top
:
50%
;
margin-left
:
-100px
;
margin-top
:
-118px
;
z-index
:
999
;
border-radius
:
5px
;
}
.ContractManage
.Ec_cha
{
position
:
absolute
;
cursor
:
pointer
;
right
:
-20px
;
top
:
-25px
;
width
:
30px
;
height
:
30px
;
background-color
:
#fff
;
text-align
:
center
;
border-radius
:
50%
;
line-height
:
30px
;
}
.ContractManage
.Ec_cha
:hover
{
color
:
red
;
}
</
style
>
</
style
>
<
template
>
<
template
>
...
@@ -189,15 +231,21 @@
...
@@ -189,15 +231,21 @@
<el-button
type=
"warning"
icon=
"iconfont icon-copy"
circle
@
click=
"CopyContract(item)"
style=
"padding:4px;"
>
<el-button
type=
"warning"
icon=
"iconfont icon-copy"
circle
@
click=
"CopyContract(item)"
style=
"padding:4px;"
>
</el-button>
</el-button>
</el-tooltip>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"下载"
placement=
"top-start"
v-if=
"item.Status==2||item.Status==4"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"下载"
placement=
"top-start"
v-if=
"item.Status==2||item.Status==4"
>
<el-button
type=
"success"
icon=
"el-icon-download"
circle
@
click=
"DownLoadContract(item)"
></el-button>
<el-button
type=
"success"
icon=
"el-icon-download"
circle
@
click=
"DownLoadContract(item)"
></el-button>
</el-tooltip>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"提交审核"
placement=
"top-start"
v-if=
"item.Status==0||item.Status==3"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"提交审核"
placement=
"top-start"
v-if=
"item.Status==0||item.Status==3"
>
<el-button
type=
"info"
icon=
"el-icon-upload2"
circle
@
click=
"SubmitContract(item)"
></el-button>
<el-button
type=
"info"
icon=
"el-icon-upload2"
circle
@
click=
"SubmitContract(item)"
></el-button>
</el-tooltip>
</el-tooltip>
<el-tooltip
class=
"item"
v-if=
"item.Status==2"
effect=
"dark"
content=
"复制链接发送给客户"
>
<
!-- <
el-tooltip class="item" v-if="item.Status==2" effect="dark" content="复制链接发送给客户">
<el-button type="info" icon="iconfont icon-copy-l" circle @click="CopyUrl(item)"
<el-button type="info" icon="iconfont icon-copy-l" circle @click="CopyUrl(item)"
style="padding:4px;background-color:#9266f9;border-color:#9266f9;"></el-button>
style="padding:4px;background-color:#9266f9;border-color:#9266f9;"></el-button>
</el-tooltip> -->
<el-tooltip
class=
"item"
v-if=
"item.Status==2"
effect=
"dark"
content=
"复制链接发送给客户"
>
<el-button
type=
"info"
icon=
"iconfont icon-copy-l"
circle
@
click=
"GetQrCode(item)"
style=
"padding:4px;background-color:#9266f9;border-color:#9266f9;"
></el-button>
</el-tooltip>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消"
placement=
"top-start"
v-if=
"item.Status==0"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消"
placement=
"top-start"
v-if=
"item.Status==0"
>
<el-button
type=
"danger"
icon=
"el-icon-close"
circle
@
click=
"DeleteContract(item)"
></el-button>
<el-button
type=
"danger"
icon=
"el-icon-close"
circle
@
click=
"DeleteContract(item)"
></el-button>
...
@@ -213,6 +261,15 @@
...
@@ -213,6 +261,15 @@
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"total"
>
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"total"
>
</el-pagination>
</el-pagination>
<div
class=
"fade"
v-show=
"isShowFade"
></div>
<div
class=
"qrCodeDiv"
v-show=
"isShowFade"
>
<div
style=
"margin-top:15px;"
>
请扫码签字
<br/>
【{{clickObj.T_ContractNum}}】
</div>
<div
id=
"qrcode"
style=
"margin:25px;"
ref=
"qrcode"
>
<img
class=
"WeiXinShare"
:src=
"'data:image/png;base64,'+QRCodeStr"
/>
</div>
<i
class=
"iconfont icon-cha Ec_cha"
@
click=
"isShowFade=false"
></i>
</div>
</div>
</div>
</template>
</template>
...
@@ -237,7 +294,7 @@
...
@@ -237,7 +294,7 @@
TravelAgency_DealMan
:
""
,
//经办人
TravelAgency_DealMan
:
""
,
//经办人
C_TCNUM
:
""
,
//团号
C_TCNUM
:
""
,
//团号
C_ProductName
:
""
,
//线路名称
C_ProductName
:
""
,
//线路名称
IsQueryAll
:
0
IsQueryAll
:
0
},
},
pickerBeginDateBefore
:
{
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
disabledDate
:
time
=>
{
...
@@ -254,7 +311,10 @@
...
@@ -254,7 +311,10 @@
let
startTime
=
new
Date
(
this
.
msg
.
StartDate
);
let
startTime
=
new
Date
(
this
.
msg
.
StartDate
);
return
startTime
.
getTime
()
>=
time
.
getTime
();
return
startTime
.
getTime
()
>=
time
.
getTime
();
}
}
}
},
clickObj
:{},
//当前选择的合同
isShowFade
:
false
,
//是否显示二维码图片
QRCodeStr
:
""
,
//二维码图片
};
};
},
},
mounted
()
{
mounted
()
{
...
@@ -303,6 +363,29 @@
...
@@ -303,6 +363,29 @@
);
);
});
});
},
},
//生成二维码
GetQrCode
(
item
)
{
let
urlObj
=
this
.
domainManager
();
let
msg
=
{
ContractId
:
item
.
ID
,
};
this
.
clickObj
=
item
;
this
.
$http
({
headers
:
{
'Content-Type'
:
'application/json'
},
method
:
'post'
,
url
:
urlObj
.
DomainUrl
+
'/api/file/GetSingleContractQrCode?'
,
data
:
{
"msg"
:
msg
}
}).
then
(
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
isShowFade
=
true
;
this
.
QRCodeStr
=
res
.
data
.
data
;
}
}).
catch
(
err
=>
{})
},
//复制URL
//复制URL
CopyUrl
(
item
)
{
CopyUrl
(
item
)
{
var
oInput
=
document
.
createElement
(
'input'
);
var
oInput
=
document
.
createElement
(
'input'
);
...
@@ -322,7 +405,6 @@
...
@@ -322,7 +405,6 @@
this
.
goContract
(
'SingleContract'
,
0
,
'单项委托合同'
);
this
.
goContract
(
'SingleContract'
,
0
,
'单项委托合同'
);
}
}
},
},
//下载合同
//下载合同
DownLoadContract
(
item
)
{
DownLoadContract
(
item
)
{
let
msg
=
{
let
msg
=
{
...
...
src/components/clientConfirm.vue
View file @
62100a1c
...
@@ -2115,6 +2115,7 @@
...
@@ -2115,6 +2115,7 @@
query
:
{
query
:
{
TCID
:
this
.
msg
.
TCID
,
TCID
:
this
.
msg
.
TCID
,
orderID
:
this
.
msg
.
orderID
,
orderID
:
this
.
msg
.
orderID
,
guestId
:
this
.
msg
.
guestId
}
}
})
})
},
},
...
@@ -2123,7 +2124,7 @@
...
@@ -2123,7 +2124,7 @@
},
},
//获取数据
//获取数据
getList
()
{
getList
()
{
// this.apiJavaPost("/api/contract/getContractInfo", this.msg, res => {
this
.
apipost
(
"travelcontract_post_GetContractInfoService"
,
this
.
msg
,
res
=>
{
this
.
apipost
(
"travelcontract_post_GetContractInfoService"
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
dataList
=
res
.
data
.
data
;
this
.
dataList
=
res
.
data
.
data
;
...
@@ -2219,7 +2220,7 @@
...
@@ -2219,7 +2220,7 @@
},
},
//提交数据
//提交数据
SaveMsg
()
{
SaveMsg
()
{
// this.apiJavaPost("/api/contract/dosaveOrUpdate", this.dataList, res => {
this
.
apipost
(
"travelcontract_post_UpdateCompanySignatureService"
,
this
.
dataList
,
res
=>
{
this
.
apipost
(
"travelcontract_post_UpdateCompanySignatureService"
,
this
.
dataList
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
Success
(
res
.
data
.
message
);
...
@@ -2246,7 +2247,7 @@
...
@@ -2246,7 +2247,7 @@
this
.
getList
();
this
.
getList
();
this
.
getCanvas
();
this
.
getCanvas
();
}
catch
(
error
)
{
}
catch
(
error
)
{
//alert("mounted:"+error.message)
}
}
}
}
};
};
...
...
src/components/newTravelmanager/TravelGroupControl/TravelManager2.vue
View file @
62100a1c
...
@@ -50,7 +50,7 @@
...
@@ -50,7 +50,7 @@
:priceList=
"PriceList"
v-if=
"TeamType==0"
:PostConfig=
"PostConfig"
:modifyTcid=
"modifyTcid"
:priceList=
"PriceList"
v-if=
"TeamType==0"
:PostConfig=
"PostConfig"
:modifyTcid=
"modifyTcid"
:TeamType=
"TeamType"
:CurrentUserInfo=
"CurrentUserInfo"
:IsDirect=
"PostConfig.IsDirect"
></TravelPrice>
:TeamType=
"TeamType"
:CurrentUserInfo=
"CurrentUserInfo"
:IsDirect=
"PostConfig.IsDirect"
></TravelPrice>
<!--小包团-->
<!--小包团-->
<TravelPrice2
ref=
"TravelPrice"
id=
"fiveAnchor"
@
headCallBack=
"getPrice"
:PostDaysTrip=
"PostDaysTrip"
<TravelPrice2
@
saveMsg=
"SaveData(1)"
ref=
"TravelPrice"
id=
"fiveAnchor"
@
headCallBack=
"getPrice"
:PostDaysTrip=
"PostDaysTrip"
v-if=
"TeamType==1"
:priceList=
"PriceList"
:PostConfig=
"PostConfig"
:modifyTcid=
"modifyTcid"
v-if=
"TeamType==1"
:priceList=
"PriceList"
:PostConfig=
"PostConfig"
:modifyTcid=
"modifyTcid"
:TeamType=
"TeamType"
:CurrentUserInfo=
"CurrentUserInfo"
:IsDirect=
"PostConfig.IsDirect"
></TravelPrice2>
:TeamType=
"TeamType"
:CurrentUserInfo=
"CurrentUserInfo"
:IsDirect=
"PostConfig.IsDirect"
></TravelPrice2>
<!--一日游-->
<!--一日游-->
...
...
src/components/newTravelmanager/TravelGroupControl/TravelPrice2.vue
View file @
62100a1c
...
@@ -301,7 +301,6 @@
...
@@ -301,7 +301,6 @@
.TphotelTable
tr
td
{
.TphotelTable
tr
td
{
background-color
:
#fff
;
background-color
:
#fff
;
/* padding:8px 0; */
border
:
1px
solid
#d1d1d1
;
border
:
1px
solid
#d1d1d1
;
}
}
...
@@ -454,8 +453,8 @@
...
@@ -454,8 +453,8 @@
<el-checkbox
v-model=
"priceData.IsLessPrice"
:true-label=
"CheckedVaule"
<el-checkbox
v-model=
"priceData.IsLessPrice"
:true-label=
"CheckedVaule"
:false-label=
"UnCheckedLessPrice"
>
{{
$t
(
'op.CanLessPrice'
)
}}
:false-label=
"UnCheckedLessPrice"
>
{{
$t
(
'op.CanLessPrice'
)
}}
</el-checkbox>
</el-checkbox>
<el-checkbox
v-model=
"priceData.IsNeedAirportShuttle"
@
change=
"IsNeedAirportShuttleChange"
:true-label=
"CheckedVaule"
<el-checkbox
v-model=
"priceData.IsNeedAirportShuttle"
@
change=
"IsNeedAirportShuttleChange"
:false-label=
"UnCheckedLessPrice"
>
是否需要送团
:
true-label=
"CheckedVaule"
:
false-label=
"UnCheckedLessPrice"
>
是否需要送团
</el-checkbox>
</el-checkbox>
<template
v-if=
"CurrentUserInfo.RB_Group_id==2"
>
<template
v-if=
"CurrentUserInfo.RB_Group_id==2"
>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('op.HotelUse')"
@
click=
"outerVisible=true"
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('op.HotelUse')"
@
click=
"outerVisible=true"
...
@@ -739,7 +738,8 @@
...
@@ -739,7 +738,8 @@
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"SendPersion"
>
<el-form-item
prop=
"SendPersion"
>
<el-input
class=
"w260"
:disabled=
"!priceData.IsNeedAirportShuttle"
placeholder=
"请输入送团人"
v-model=
"priceData.SendPersion"
>
<el-input
class=
"w260"
:disabled=
"!priceData.IsNeedAirportShuttle"
placeholder=
"请输入送团人"
v-model=
"priceData.SendPersion"
>
<
template
slot=
"prepend"
>
送团人
</
template
>
<
template
slot=
"prepend"
>
送团人
</
template
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
...
@@ -1221,7 +1221,7 @@
...
@@ -1221,7 +1221,7 @@
},
},
methods
:
{
methods
:
{
IsNeedAirportShuttleChange
()
{
IsNeedAirportShuttleChange
()
{
if
(
!
this
.
priceData
.
IsNeedAirportShuttle
)
{
if
(
!
this
.
priceData
.
IsNeedAirportShuttle
)
{
this
.
priceData
.
SendPersion
=
''
this
.
priceData
.
SendPersion
=
''
}
}
},
},
...
...
src/components/public/rightHead.vue
0 → 100644
View file @
62100a1c
This diff is collapsed.
Click to expand it.
src/components/sale/ExpectedCommission.vue
View file @
62100a1c
...
@@ -315,9 +315,7 @@
...
@@ -315,9 +315,7 @@
<detailsButtom
:type=
"2"
:obj=
"commissionMsg"
:Month=
"Month"
/>
<detailsButtom
:type=
"2"
:obj=
"commissionMsg"
:Month=
"Month"
/>
</div>
</div>
</div>
</div>
<p
style=
"padding: 0 0 10px 0;text-align: left;"
>
<p
style=
"padding: 0 0 10px 0;text-align: left;"
></p>
</p>
<div
class=
"ExpectedCommission-table"
>
<div
class=
"ExpectedCommission-table"
>
<el-table
border
ref=
"multipleTable"
:data=
"isExpansion?newRlistAll:newRlist"
>
<el-table
border
ref=
"multipleTable"
:data=
"isExpansion?newRlistAll:newRlist"
>
<el-table-column
width=
"80"
prop=
"RuleName"
<el-table-column
width=
"80"
prop=
"RuleName"
...
@@ -462,9 +460,6 @@
...
@@ -462,9 +460,6 @@
data
()
{
data
()
{
return
{
return
{
isExpansion
:
false
,
isExpansion
:
false
,
detailsInfor
:{
},
CommissionJJ
:
0
,
CommissionJJ
:
0
,
CommissionTC
:
0
,
CommissionTC
:
0
,
GNOrderNum
:
0
,
GNOrderNum
:
0
,
...
...
src/components/sale/sale.vue
View file @
62100a1c
This diff is collapsed.
Click to expand it.
src/components/temp/operation.vue
View file @
62100a1c
This diff is collapsed.
Click to expand it.
src/plug/index.js
View file @
62100a1c
...
@@ -119,9 +119,9 @@ export default {
...
@@ -119,9 +119,9 @@ export default {
let
lxymallUrl
=
''
;
//国内游api
let
lxymallUrl
=
''
;
//国内游api
let
crmUrl
=
""
;
//crm API
let
crmUrl
=
""
;
//crm API
let
locationName
=
window
.
location
.
hostname
;
let
locationName
=
window
.
location
.
hostname
;
//
domainUrl = "http://192.168.10.128";
domainUrl
=
"http://192.168.10.128"
;
// domainUrl = "http://192.168.10.9:8083" // 刘东电脑
// domainUrl = "http://192.168.10.9:8083" // 刘东电脑
domainUrl
=
"http://192.168.10.226"
;
//
domainUrl = "http://192.168.10.226";
//domainUrl = "http://reborn.oytour.com";
//domainUrl = "http://reborn.oytour.com";
let
crmLocalFileStreamDownLoadUrl
=
""
;
let
crmLocalFileStreamDownLoadUrl
=
""
;
crmLocalFileStreamDownLoadUrl
=
locationName
.
indexOf
(
'oytour'
)
!==
-
1
?
"http://crm.oytour.com"
:
"http://testcrm.oytour.com"
;
crmLocalFileStreamDownLoadUrl
=
locationName
.
indexOf
(
'oytour'
)
!==
-
1
?
"http://crm.oytour.com"
:
"http://testcrm.oytour.com"
;
...
@@ -253,7 +253,7 @@ export default {
...
@@ -253,7 +253,7 @@ export default {
}
}
//HTTP提交数据
//HTTP提交数据
Vue
.
prototype
.
apipost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
,
isOnline
,
isTerminate
)
{
Vue
.
prototype
.
apipost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
,
isOnline
,
isTerminate
)
{
if
(
this
.
$route
.
name
.
indexOf
(
'login'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'clientConfirm'
)
===
-
1
&&
if
(
this
.
$route
.
name
.
indexOf
(
'login'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'clientConfirm'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'confirmationOrderDownLoad'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'PrintPage'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'confirmationOrderDownLoad'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'PrintPage'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'TravelContractConfirm'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'ViittoContractConfirm'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'TravelContractConfirm'
)
===
-
1
&&
this
.
$route
.
name
.
indexOf
(
'ViittoContractConfirm'
)
===
-
1
&&
...
@@ -283,11 +283,13 @@ export default {
...
@@ -283,11 +283,13 @@ export default {
}
else
if
(
this
.
$route
.
path
==
"/clientConfirm"
)
{
}
else
if
(
this
.
$route
.
path
==
"/clientConfirm"
)
{
let
TCID
=
this
.
$route
.
query
.
TCID
;
let
TCID
=
this
.
$route
.
query
.
TCID
;
let
orderID
=
this
.
$route
.
query
.
orderID
;
let
orderID
=
this
.
$route
.
query
.
orderID
;
let
guestId
=
this
.
$route
.
query
.
guestId
;
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
"clientConfirm"
,
name
:
"clientConfirm"
,
query
:
{
query
:
{
TCID
:
TCID
,
TCID
:
TCID
,
orderID
:
orderID
orderID
:
orderID
,
guestId
:
guestId
,
}
}
})
})
}
else
if
(
this
.
$route
.
path
==
"/TravelContractConfirm"
)
{
}
else
if
(
this
.
$route
.
path
==
"/TravelContractConfirm"
)
{
...
@@ -338,20 +340,23 @@ export default {
...
@@ -338,20 +340,23 @@ export default {
let
pending
=
[];
//声明一个数组用于存储每个请求的取消函数和axios标识
let
pending
=
[];
//声明一个数组用于存储每个请求的取消函数和axios标识
let
cancelToken
=
axios
.
CancelToken
;
let
cancelToken
=
axios
.
CancelToken
;
let
removePending
=
(
config
)
=>
{
let
removePending
=
(
config
)
=>
{
for
(
let
p
in
pending
)
{
for
(
let
p
in
pending
)
{
if
(
pending
[
p
].
u
===
config
.
url
+
'&'
+
config
.
method
)
{
//当当前请求在数组中存在时执行函数体
if
(
pending
[
p
].
u
===
config
.
url
+
'&'
+
config
.
method
)
{
//当当前请求在数组中存在时执行函数体
pending
[
p
].
f
();
//执行取消操作
pending
[
p
].
f
();
//执行取消操作
pending
.
splice
(
p
,
1
);
pending
.
splice
(
p
,
1
);
}
}
}
}
}
}
// 我的财务单防止多次请求导致数据混乱
// 我的财务单防止多次请求导致数据混乱
if
(
isTerminate
>
0
)
{
if
(
isTerminate
>
0
)
{
this
.
$http
.
interceptors
.
request
.
use
(
config
=>
{
this
.
$http
.
interceptors
.
request
.
use
(
config
=>
{
removePending
(
config
);
//在一个axios发送前执行一下取消操作
removePending
(
config
);
//在一个axios发送前执行一下取消操作
config
.
cancelToken
=
new
cancelToken
((
c
)
=>
{
config
.
cancelToken
=
new
cancelToken
((
c
)
=>
{
// 这里的axios标识我是用请求地址&请求方式拼接的字符串,当然你可以选择其他的一些方式
// 这里的axios标识我是用请求地址&请求方式拼接的字符串,当然你可以选择其他的一些方式
pending
.
push
({
u
:
config
.
url
+
'&'
+
config
.
method
,
f
:
c
});
pending
.
push
({
u
:
config
.
url
+
'&'
+
config
.
method
,
f
:
c
});
});
});
return
Promise
.
resolve
(
config
)
return
Promise
.
resolve
(
config
)
...
@@ -445,11 +450,13 @@ export default {
...
@@ -445,11 +450,13 @@ export default {
}
else
if
(
this
.
$route
.
path
==
"/clientConfirm"
)
{
}
else
if
(
this
.
$route
.
path
==
"/clientConfirm"
)
{
let
TCID
=
this
.
$route
.
query
.
TCID
;
let
TCID
=
this
.
$route
.
query
.
TCID
;
let
orderID
=
this
.
$route
.
query
.
orderID
;
let
orderID
=
this
.
$route
.
query
.
orderID
;
let
guestId
=
this
.
$route
.
query
.
guestId
;
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
"clientConfirm"
,
name
:
"clientConfirm"
,
query
:
{
query
:
{
TCID
:
TCID
,
TCID
:
TCID
,
orderID
:
orderID
orderID
:
orderID
,
guestId
:
guestId
}
}
})
})
}
else
if
(
this
.
$route
.
path
==
"/TravelContractConfirm"
)
{
}
else
if
(
this
.
$route
.
path
==
"/TravelContractConfirm"
)
{
...
@@ -1657,28 +1664,28 @@ export default {
...
@@ -1657,28 +1664,28 @@ export default {
window
.
open
(
newUrl
.
href
,
'_blank'
);
window
.
open
(
newUrl
.
href
,
'_blank'
);
}
}
//验证文件格式
//验证文件格式
Vue
.
prototype
.
verificationFile
=
function
(
img
,
type
)
{
Vue
.
prototype
.
verificationFile
=
function
(
img
,
type
)
{
if
(
type
==
1
)
{
if
(
type
==
1
)
{
if
(
img
.
indexOf
(
'.DOCX'
)
!=-
1
||
img
.
indexOf
(
'.docx'
)
!=-
1
if
(
img
.
indexOf
(
'.DOCX'
)
!=
-
1
||
img
.
indexOf
(
'.docx'
)
!=
-
1
||
||
img
.
indexOf
(
'.DOC'
)
!=-
1
||
img
.
indexOf
(
'.doc'
)
!=-
1
img
.
indexOf
(
'.DOC'
)
!=
-
1
||
img
.
indexOf
(
'.doc'
)
!=
-
1
||
||
img
.
indexOf
(
'.XLSX'
)
!=-
1
||
img
.
indexOf
(
'.xlsx'
)
!=-
1
img
.
indexOf
(
'.XLSX'
)
!=
-
1
||
img
.
indexOf
(
'.xlsx'
)
!=
-
1
||
||
img
.
indexOf
(
'.XLS'
)
!=-
1
||
img
.
indexOf
(
'.xls'
)
!=-
1
img
.
indexOf
(
'.XLS'
)
!=
-
1
||
img
.
indexOf
(
'.xls'
)
!=
-
1
||
||
img
.
indexOf
(
'.PPT'
)
!=-
1
||
img
.
indexOf
(
'.ppt'
)
!=-
1
img
.
indexOf
(
'.PPT'
)
!=
-
1
||
img
.
indexOf
(
'.ppt'
)
!=
-
1
||
||
img
.
indexOf
(
'.PPTX'
)
!=-
1
||
img
.
indexOf
(
'.pptx'
)
!=-
1
img
.
indexOf
(
'.PPTX'
)
!=
-
1
||
img
.
indexOf
(
'.pptx'
)
!=
-
1
||
||
img
.
indexOf
(
'.PDF'
)
!=-
1
||
img
.
indexOf
(
'.pdf'
)
!=-
1
)
{
img
.
indexOf
(
'.PDF'
)
!=
-
1
||
img
.
indexOf
(
'.pdf'
)
!=
-
1
)
{
return
true
return
true
}
else
{
}
else
{
return
false
return
false
}
}
}
}
if
(
type
==
3
)
{
if
(
type
==
3
)
{
if
(
img
.
indexOf
(
'.png'
)
!=-
1
||
img
.
indexOf
(
'.PNG'
)
!=-
1
if
(
img
.
indexOf
(
'.png'
)
!=
-
1
||
img
.
indexOf
(
'.PNG'
)
!=
-
1
||
||
img
.
indexOf
(
'.GIF'
)
!=-
1
||
img
.
indexOf
(
'.gif'
)
!=-
1
img
.
indexOf
(
'.GIF'
)
!=
-
1
||
img
.
indexOf
(
'.gif'
)
!=
-
1
||
||
img
.
indexOf
(
'.JPEG'
)
!=-
1
||
img
.
indexOf
(
'.jpeg'
)
!=-
1
img
.
indexOf
(
'.JPEG'
)
!=
-
1
||
img
.
indexOf
(
'.jpeg'
)
!=
-
1
||
||
img
.
indexOf
(
'.JPG'
)
!=-
1
||
img
.
indexOf
(
'.jpg'
)
!=-
1
img
.
indexOf
(
'.JPG'
)
!=
-
1
||
img
.
indexOf
(
'.jpg'
)
!=
-
1
||
||
img
.
indexOf
(
'.BMP'
)
!=-
1
||
img
.
indexOf
(
'.bmp'
)
!=-
1
)
{
img
.
indexOf
(
'.BMP'
)
!=
-
1
||
img
.
indexOf
(
'.bmp'
)
!=
-
1
)
{
return
true
return
true
}
else
{
}
else
{
return
false
return
false
}
}
}
}
...
...
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