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
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
<
style
lang=
"less"
scoped
>
@import "../../assets/css/main.less";
@import "../../assets/css/home/Saleshomepage_1920.css";
.saleChartCont {
width: 100%;
height: 95%;
box-sizing: border-box;
}
.personal {
width: 100%;
height: 100%;
}
.l_title {
width: 100%;
height: 30px
}
.Sale_Share {
color: #83ACFF;
cursor: pointer;
font-size: 12px;
margin-left: 10px;
}
.ShareDisClick {
color: gray;
}
.Sale_UnlessWords {
display: inline-block;
margin: 25px 0 0 80px;
color: #E95252;
}
</
style
>
<
template
>
<div
class=
"l_top"
style=
"position: relative;"
>
<img
v-if=
"data.icon !=null && data.icon !='' "
:src=
"data.icon"
alt=
""
class=
"tx_img"
:onerror=
'defaultHeadImg'
>
<img
v-else
src=
"../../assets/img/default_head_img.jpg"
alt=
""
alt=
""
class=
"tx_img"
>
<div
class=
"p_name"
>
<span>
{{
data
.
emName
}}
</span>
<span>
{{
data
.
postName
}}
</span>
<div
@
click=
"goAnticipate(5)"
style=
"cursor: pointer;"
>
<div
v-if=
"SumPreferPrice"
style=
"padding: 2px 0 0 0;"
><a
style=
"color: #666666;font-size: 14px;font-weight: bold;"
>
{{
SumPreferPrice
}}
</a></div>
<div
style=
"font-size: 14px;color: #333333;"
v-if=
"rankingNum"
>
第
<a
style=
"color: #FF8C00;margin-left: 3px;margin-right: 3px;
font-size: 18px;font-weight: bold;"
>
{{
rankingNum
}}
</a
>
名
</div>
</div>
</div>
<div
style=
"display: flex;justify-content: space-between;"
>
<!--
<img
style=
"cursor: pointer;"
src=
"../../assets/img/jinbin@2x.png"
alt=
""
class=
"img"
@
click=
"goAnticipate(1)"
>
-->
<div
style=
"cursor: pointer;cursor: pointer;position: relative;"
class=
"royalty"
@
click=
"goAnticipate(1)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{
data
.
totalCommission
}}
</span>
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{
data
.
periodsName
}}
期
<el-tag
v-if=
"data.peopelBonus"
size=
"mini"
type=
"danger"
effect=
"dark"
style=
"color: #ffff;position: absolute;left: 70px;bottom: 23px;font-size: 11px;"
>
奖+
{{
data
.
peopelBonus
}}
</el-tag></p>
</div>
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<span>
出境提成
</span>
<template
v-if=
"data.comissionGeneralId>0"
>
<span
v-if=
"data.share==1"
class=
"Sale_Share"
style=
"color:#333;cursor:default;"
>
已确认
</span>
<span
v-if=
"data.share==0"
@
click=
"tichengDialog=true"
class=
"Sale_Share"
:class=
"
{'ShareDisClick':!isSubmit}">分享并确认
</span>
</
template
>
</div>
</div>
<div
style=
"border-left: 1px solid #eeeeee;width: 1px;"
>
</div>
<!-- <img style="cursor: pointer;" src="../../assets/img/jinbin@2x.png" alt="" class="img" @click="goAnticipate(2)"> -->
<div
style=
"cursor: pointer;margin-left: 0;"
class=
"royalty"
@
click=
"goAnticipate(2)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{data.gnSaleCommission}}
</span>
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{data.gnPeriodsName}}期
</p>
</div>
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<span>
国内提成
</span>
</div>
</div>
<div
style=
"border-left: 1px solid #eeeeee;width: 1px;"
>
</div>
<!-- <img style="cursor: pointer;" src="../../assets/img/jinbin@2x.png" alt="" class="img" @click="goAnticipate(3)"> -->
<div
style=
"cursor: pointer;margin-left: 0;"
class=
"royalty"
@
click=
"goAnticipate(3)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{data.dxSaleCommission}}
</span>
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{data.dxPeriodsName}}期
</p>
</div>
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<span>
历史单项提成
</span>
</div>
</div>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"预期提成"
placement=
"top"
v-if=
"pagesTitle==1"
>
<img
src=
"../../assets/img/xiaosouYQ.png"
@
click=
"goAnticipate(4)"
style=
"width: 20px;height: auto; position: absolute;right: -0;top: -13px;cursor: pointer;color: #33B3FF;"
></img>
</el-tooltip>
</div>
<!-- 分享业绩 -->
<el-dialog
custom-class=
'w500'
title=
"分享提成"
:visible
.
sync=
"tichengDialog"
center
:before-close=
"resetCommission"
>
<el-form
:model=
"shareMsg"
:rules=
"rules"
ref=
"shareMsg"
label-width=
"80px"
>
<el-form-item
label=
"个人宣言"
style=
"margin-bottom:0;"
prop=
"ShareContent"
>
<el-input
type=
"textarea"
rows=
"6"
resize=
"none"
maxlength=
"100"
v-model=
"shareMsg.ShareContent"
placeholder=
""
></el-input>
</el-form-item>
</el-form>
<span
class=
"Sale_UnlessWords"
>
不能少于10个字
</span>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"tichengDialog=false"
>
取消
</button>
<button
class=
"normalBtn"
@
click=
"shareCommission"
>
确定
</button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
leftNav
from
'../public/leftNav.vue'
import
moment
from
'moment'
export
default
{
props
:[
'pagesTitle'
],
data
()
{
return
{
SumPreferPrice
:
0
,
rankingNum
:
0
,
type
:
1
,
defaultHeadImg
:
'this.src="'
+
require
(
"../../assets/img/default_head_img.jpg"
)
+
'"'
,
style
:
{
width
:
0
,
background
:
"#FFFFFF"
},
data
:
[],
groupdata
:
[],
screenWidth
:
0
,
zoom
:
1
,
tichengDialog
:
false
,
shareMsg
:
{
ShareContent
:
''
,
PeriodsId
:
0
,
totalCommission
:
0
},
rules
:
{
ShareContent
:
[{
required
:
true
,
message
:
'请填写个人宣言'
,
trigger
:
'blur'
}]
},
//验证重复提交
isSubmit
:
true
,
CurrentUserInfo
:
{},
EditBtn
:
false
,
PMMsg
:
{
RB_Branch_Id
:
-
1
,
RB_Department_Id
:
0
,
EnterID
:
0
,
tStartDates
:
[],
qStartDates
:
[],
GroupBy
:
"EnterID"
,
QueryType
:
0
,
},
}
},
components
:
{
leftNav
},
watch
:
{
pagesTitle
:{
handler
(
val
,
oldVal
){
this
.
pagesTitle
=
val
},
immediate
:
true
}
},
methods
:
{
settStartDates
()
{
let
nowdays
=
new
Date
()
let
Year
=
new
Date
().
getFullYear
()
let
MonthTime
=
new
Date
().
getMonth
()
+
1
let
MonthDayNum
=
new
Date
(
Year
,
12
,
0
).
getDate
();
let
date
=
Year
+
'-12-'
+
(
MonthDayNum
>
10
?
MonthDayNum
:
'0'
+
MonthDayNum
)
let
start
=
Year
+
'-01-01'
this
.
PMMsg
.
tStartDates
=
[
start
,
date
]
},
initData
()
{
let
userInfo
=
this
.
getLocalStorage
();
let
param
=
{
RB_Branch_Id
:
this
.
PMMsg
.
RB_Branch_Id
==
-
1
?
null
:
this
.
PMMsg
.
RB_Branch_Id
,
RB_Department_Id
:
this
.
PMMsg
.
RB_Department_Id
==
0
?
null
:
this
.
PMMsg
.
RB_Department_Id
,
EnterID
:
this
.
PMMsg
.
EnterID
==
0
?
null
:
this
.
PMMsg
.
EnterID
,
//Number(userInfo.EmployeeId)
QStartDate
:
this
.
PMMsg
.
tStartDates
&&
this
.
PMMsg
.
tStartDates
.
length
==
2
?
this
.
PMMsg
.
tStartDates
[
0
]
:
null
,
QEndDate
:
this
.
PMMsg
.
tStartDates
&&
this
.
PMMsg
.
tStartDates
.
length
==
2
?
this
.
PMMsg
.
tStartDates
[
1
]
:
null
,
CStartDate
:
this
.
PMMsg
.
qStartDates
&&
this
.
PMMsg
.
qStartDates
.
length
==
2
?
this
.
PMMsg
.
qStartDates
[
0
]
:
null
,
CEndDate
:
this
.
PMMsg
.
qStartDates
&&
this
.
PMMsg
.
qStartDates
.
length
==
2
?
this
.
PMMsg
.
qStartDates
[
1
]
:
null
,
GroupBy
:
this
.
PMMsg
.
GroupBy
,
QueryType
:
this
.
PMMsg
.
QueryType
,
};
if
(
!
param
.
QStartDate
)
{
param
.
QStartDate
=
"2019-01-01"
;
}
let
tableData
=
[]
this
.
apipost
(
"sellorder_get_sellvolumerankNew"
,
param
,
(
r
)
=>
{
r
.
data
.
data
.
forEach
((
x
)
=>
{
x
.
incomeVal
=
parseFloat
(
x
.
income
);
x
.
avgPrice
=
parseFloat
(
x
.
avgPrice
);
});
tableData
=
r
.
data
.
data
;
tableData
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
EnterID
==
Number
(
userInfo
.
EmployeeId
)){
this
.
rankingNum
=
index
+
1
this
.
SumPreferPrice
=
item
.
SumPreferPrice
}
})
});
},
// 销售预期提成
goAnticipate
(
type
){
let
userInfo
=
this
.
getLocalStorage
();
let
name
if
(
type
==
1
){
//出境
name
=
'TradeTicketUserDetails'
}
else
if
(
type
==
2
){
//国内
name
=
'domesticCommissionUser'
}
else
if
(
type
==
3
){
//历史单项
name
=
'ServiceCommissionUser'
}
else
if
(
type
==
4
){
//预期提成
name
=
'saleExpectedCommission'
}
else
if
(
type
==
5
){
//排名
name
=
'salesVolumeRank'
this
.
$router
.
push
({
name
:
name
,
query
:
{
tStartDates
:
this
.
PMMsg
.
tStartDates
,
blank
:
'y'
}
});
}
if
(
type
!=
5
){
this
.
$router
.
push
({
name
:
name
,
query
:
{
UserId
:
Number
(
userInfo
.
EmployeeId
),
isSale
:
1
,
blank
:
'y'
}
});
}
},
//锅炉除开标点符号的字数
getFilteredNum
(
val
)
{
//var pattern=new RegExp("[`~%!@#$^=''?~!@#¥……&——‘”“'?*()(),,。.、
<>
《》\\
[
\\
]
【】\\“\\”
{}
=+-|
\
/
:;
;:
]
");
var pattern = new RegExp("
[
`~%!@#$^=''?~!@#¥……&——‘”“'?*()(),,。.、<>《》:;; +-=\\s]");
//[]内输入你要过滤的字符,这里基本包含全部的标点符号,\\是转义字符
var rs = "";
for (var i = 0; i < val.length; i++) {
rs += val.substr(i, 1).replace(pattern, '');
}
return rs
},
//确定分享业绩
shareCommission() {
if (this.shareMsg.ShareContent == '') {
this.Error('请填写个人宣言');
return;
}
let FilterNum = this.getFilteredNum(this.shareMsg.ShareContent);
if (FilterNum.length < 10) {
this.Error('字数太少了,再多说点吧!');
return;
} else {
this.shareMsg.PeriodsId = this.data.comissionGeneralId;
this.shareMsg.totalCommission = this.data.totalCommission;
if (this.isSubmit) {
this.isSubmit = false;
this.apipost('customerIndex_post_SetSellComissionGeneralSure', this.shareMsg, res => {
this.isSubmit = true;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.iWorkbench();
this.resetCommission();
this.MsgBus.$emit('reSetMSG');
} else {
this.Error(res.data.message);
}
}, err => {})
}
}
},
//关闭重置输入框
resetCommission() {
this.tichengDialog = false;
this.shareMsg.ShareContent = ''
},
iWorkbench() {
this.apipost('customerIndex_post_GetMySelfSellInfo', {}, res => {
if (res.data.resultCode == 1) {
this.data = res.data.data;
} else {
this.$message.error(res.data.message)
}
}, err => {})
},
},
mounted() {
this.settStartDates()
this.iWorkbench() //销售个人工作台接口
// 排名
this.initData()
},
}
</
script
>
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
...
@@ -53,78 +53,7 @@
...
@@ -53,78 +53,7 @@
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<div
class=
"el-col-div ownScrollbarStyle PersonalData_l"
>
<div
class=
"el-col-div ownScrollbarStyle PersonalData_l"
>
<div
class=
"l_top"
style=
"position: relative;"
>
<rightHead
:pagesTitle=
"1"
></rightHead>
<img
v-if=
"data.icon !=null && data.icon !='' "
:src=
"data.icon"
alt=
""
class=
"tx_img"
:onerror=
'defaultHeadImg'
>
<img
v-else
src=
"../../assets/img/default_head_img.jpg"
alt=
""
alt=
""
class=
"tx_img"
>
<div
class=
"p_name"
>
<span>
{{
data
.
emName
}}
</span>
<span>
{{
data
.
postName
}}
</span>
<div
@
click=
"goAnticipate(5)"
style=
"cursor: pointer;"
>
<div
v-if=
"SumPreferPrice"
style=
"padding: 2px 0 0 0;"
><a
style=
"color: #666666;font-size: 14px;font-weight: bold;"
>
{{
SumPreferPrice
}}
</a></div>
<div
style=
"font-size: 14px;color: #333333;"
v-if=
"rankingNum"
>
第
<a
style=
"color: #FF8C00;margin-left: 3px;margin-right: 3px;
font-size: 18px;font-weight: bold;"
>
{{
rankingNum
}}
</a
>
名
</div>
</div>
</div>
<div
style=
"display: flex;justify-content: space-between;"
>
<!--
<img
style=
"cursor: pointer;"
src=
"../../assets/img/jinbin@2x.png"
alt=
""
class=
"img"
@
click=
"goAnticipate(1)"
>
-->
<div
style=
"cursor: pointer;cursor: pointer;position: relative;"
class=
"royalty"
@
click=
"goAnticipate(1)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{
data
.
totalCommission
}}
</span>
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{
data
.
periodsName
}}
期
<el-tag
v-if=
"data.peopelBonus"
size=
"mini"
type=
"danger"
effect=
"dark"
style=
"color: #ffff;position: absolute;left: 70px;bottom: 23px;font-size: 11px;"
>
奖+
{{
data
.
peopelBonus
}}
</el-tag></p>
</div>
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<span>
出境提成
</span>
<template
v-if=
"data.comissionGeneralId>0"
>
<span
v-if=
"data.share==1"
class=
"Sale_Share"
style=
"color:#333;cursor:default;"
>
已确认
</span>
<span
v-if=
"data.share==0"
@
click=
"tichengDialog=true"
class=
"Sale_Share"
:class=
"
{'ShareDisClick':!isSubmit}">分享并确认
</span>
</
template
>
</div>
</div>
<div
style=
"border-left: 1px solid #eeeeee;width: 1px;"
>
</div>
<!-- <img style="cursor: pointer;" src="../../assets/img/jinbin@2x.png" alt="" class="img" @click="goAnticipate(2)"> -->
<div
style=
"cursor: pointer;margin-left: 0;"
class=
"royalty"
@
click=
"goAnticipate(2)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{data.gnSaleCommission}}
</span>
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{data.gnPeriodsName}}期
</p>
</div>
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<span>
国内提成
</span>
</div>
</div>
<div
style=
"border-left: 1px solid #eeeeee;width: 1px;"
>
</div>
<!-- <img style="cursor: pointer;" src="../../assets/img/jinbin@2x.png" alt="" class="img" @click="goAnticipate(3)"> -->
<div
style=
"cursor: pointer;margin-left: 0;"
class=
"royalty"
@
click=
"goAnticipate(3)"
>
<div
class=
"tc"
>
<p>
<span>
¥
</span>
<span>
{{data.dxSaleCommission}}
</span>
</p>
<p
style=
"color: #BDBDBD;font-size: 13px;padding: 0 0 5px 0;"
>
{{data.dxPeriodsName}}期
</p>
</div>
<div
stye=
"font-size: 16px;color: #666666;display: block;display: inline-block;"
>
<span>
历史单项提成
</span>
</div>
</div>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"预期提成"
placement=
"top"
>
<img
src=
"../../assets/img/xiaosouYQ.png"
@
click=
"goAnticipate(4)"
style=
"width: 20px;height: auto; position: absolute;right: -0;top: -13px;cursor: pointer;color: #33B3FF;"
></img>
</el-tooltip>
</div>
</div>
<div
class=
"order"
>
<div
class=
"order"
>
<div
class=
"l_title"
>
<div
class=
"l_title"
>
...
@@ -579,32 +508,15 @@
...
@@ -579,32 +508,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 分享业绩 -->
<el-dialog
custom-class=
'w500'
title=
"分享提成"
:visible
.
sync=
"tichengDialog"
center
:before-close=
"resetCommission"
>
<el-form
:model=
"shareMsg"
:rules=
"rules"
ref=
"shareMsg"
label-width=
"80px"
>
<el-form-item
label=
"个人宣言"
style=
"margin-bottom:0;"
prop=
"ShareContent"
>
<el-input
type=
"textarea"
rows=
"6"
resize=
"none"
maxlength=
"100"
v-model=
"shareMsg.ShareContent"
placeholder=
""
></el-input>
</el-form-item>
</el-form>
<span
class=
"Sale_UnlessWords"
>
不能少于10个字
</span>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"tichengDialog=false"
>
取消
</button>
<button
class=
"normalBtn"
@
click=
"shareCommission"
>
确定
</button>
</div>
</el-dialog>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
leftNav
from
'../public/leftNav.vue'
import
leftNav
from
'../public/leftNav.vue'
import
rightHead
from
'../public/rightHead.vue'
import
moment
from
'moment'
import
moment
from
'moment'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
SumPreferPrice
:
0
,
rankingNum
:
0
,
type
:
1
,
type
:
1
,
defaultHeadImg
:
'this.src="'
+
require
(
"../../assets/img/default_head_img.jpg"
)
+
'"'
,
defaultHeadImg
:
'this.src="'
+
require
(
"../../assets/img/default_head_img.jpg"
)
+
'"'
,
style
:
{
style
:
{
...
@@ -618,12 +530,6 @@
...
@@ -618,12 +530,6 @@
NotDealCount
:
0
,
//
NotDealCount
:
0
,
//
zoom
:
1
,
zoom
:
1
,
OrderList
:
[],
OrderList
:
[],
tichengDialog
:
false
,
shareMsg
:
{
ShareContent
:
''
,
PeriodsId
:
0
,
totalCommission
:
0
},
rules
:
{
rules
:
{
ShareContent
:
[{
ShareContent
:
[{
required
:
true
,
required
:
true
,
...
@@ -647,7 +553,8 @@
...
@@ -647,7 +553,8 @@
}
}
},
},
components
:
{
components
:
{
leftNav
leftNav
,
rightHead
},
},
watch
:
{
watch
:
{
...
@@ -658,95 +565,6 @@
...
@@ -658,95 +565,6 @@
}
}
},
},
methods
:
{
methods
:
{
settStartDates
()
{
let
nowdays
=
new
Date
()
let
Year
=
new
Date
().
getFullYear
()
let
MonthTime
=
new
Date
().
getMonth
()
+
1
let
MonthDayNum
=
new
Date
(
Year
,
12
,
0
).
getDate
();
let
date
=
Year
+
'-12-'
+
(
MonthDayNum
>
10
?
MonthDayNum
:
'0'
+
MonthDayNum
)
let
start
=
Year
+
'-01-01'
this
.
PMMsg
.
tStartDates
=
[
start
,
date
]
},
initData
()
{
let
userInfo
=
this
.
getLocalStorage
();
let
param
=
{
RB_Branch_Id
:
this
.
PMMsg
.
RB_Branch_Id
==
-
1
?
null
:
this
.
PMMsg
.
RB_Branch_Id
,
RB_Department_Id
:
this
.
PMMsg
.
RB_Department_Id
==
0
?
null
:
this
.
PMMsg
.
RB_Department_Id
,
EnterID
:
this
.
PMMsg
.
EnterID
==
0
?
null
:
this
.
PMMsg
.
EnterID
,
//Number(userInfo.EmployeeId)
QStartDate
:
this
.
PMMsg
.
tStartDates
&&
this
.
PMMsg
.
tStartDates
.
length
==
2
?
this
.
PMMsg
.
tStartDates
[
0
]
:
null
,
QEndDate
:
this
.
PMMsg
.
tStartDates
&&
this
.
PMMsg
.
tStartDates
.
length
==
2
?
this
.
PMMsg
.
tStartDates
[
1
]
:
null
,
CStartDate
:
this
.
PMMsg
.
qStartDates
&&
this
.
PMMsg
.
qStartDates
.
length
==
2
?
this
.
PMMsg
.
qStartDates
[
0
]
:
null
,
CEndDate
:
this
.
PMMsg
.
qStartDates
&&
this
.
PMMsg
.
qStartDates
.
length
==
2
?
this
.
PMMsg
.
qStartDates
[
1
]
:
null
,
GroupBy
:
this
.
PMMsg
.
GroupBy
,
QueryType
:
this
.
PMMsg
.
QueryType
,
};
if
(
!
param
.
QStartDate
)
{
param
.
QStartDate
=
"2019-01-01"
;
}
let
tableData
=
[]
this
.
apipost
(
"sellorder_get_sellvolumerankNew"
,
param
,
(
r
)
=>
{
r
.
data
.
data
.
forEach
((
x
)
=>
{
x
.
incomeVal
=
parseFloat
(
x
.
income
);
x
.
avgPrice
=
parseFloat
(
x
.
avgPrice
);
});
tableData
=
r
.
data
.
data
;
tableData
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
EnterID
==
Number
(
userInfo
.
EmployeeId
)){
this
.
rankingNum
=
index
+
1
this
.
SumPreferPrice
=
item
.
SumPreferPrice
}
})
});
},
// 销售预期提成
goAnticipate
(
type
){
let
userInfo
=
this
.
getLocalStorage
();
let
name
if
(
type
==
1
){
name
=
'TradeTicketUserDetails'
}
else
if
(
type
==
2
){
name
=
'domesticCommissionUser'
}
else
if
(
type
==
3
){
name
=
'ServiceCommissionUser'
}
else
if
(
type
==
4
){
name
=
'saleExpectedCommission'
}
else
if
(
type
==
5
){
name
=
'salesVolumeRank'
this
.
$router
.
push
({
name
:
name
,
query
:
{
tStartDates
:
this
.
PMMsg
.
tStartDates
,
blank
:
'y'
}
});
}
if
(
type
!=
5
){
this
.
$router
.
push
({
name
:
name
,
query
:
{
UserId
:
Number
(
userInfo
.
EmployeeId
),
isSale
:
1
,
blank
:
'y'
}
});
}
},
iWorkbench
()
{
iWorkbench
()
{
this
.
apipost
(
'customerIndex_post_GetMySelfSellInfo'
,
{},
res
=>
{
this
.
apipost
(
'customerIndex_post_GetMySelfSellInfo'
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
...
@@ -971,51 +789,6 @@
...
@@ -971,51 +789,6 @@
path
:
path
path
:
path
})
})
},
},
//锅炉除开标点符号的字数
getFilteredNum
(
val
)
{
//var pattern=new RegExp("[`~%!@#$^=''?~!@#¥……&——‘”“'?*()(),,。.、
<>
《》\\
[
\\
]
【】\\“\\”
{}
=+-|
\
/
:;
;:
]
");
var pattern = new RegExp("
[
`~%!@#$^=''?~!@#¥……&——‘”“'?*()(),,。.、<>《》:;; +-=\\s]");
//[]内输入你要过滤的字符,这里基本包含全部的标点符号,\\是转义字符
var rs = "";
for (var i = 0; i < val.length; i++) {
rs += val.substr(i, 1).replace(pattern, '');
}
return rs
},
//确定分享业绩
shareCommission() {
if (this.shareMsg.ShareContent == '') {
this.Error('请填写个人宣言');
return;
}
let FilterNum = this.getFilteredNum(this.shareMsg.ShareContent);
if (FilterNum.length < 10) {
this.Error('字数太少了,再多说点吧!');
return;
} else {
this.shareMsg.PeriodsId = this.data.comissionGeneralId;
this.shareMsg.totalCommission = this.data.totalCommission;
if (this.isSubmit) {
this.isSubmit = false;
this.apipost('customerIndex_post_SetSellComissionGeneralSure', this.shareMsg, res => {
this.isSubmit = true;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.iWorkbench();
this.resetCommission();
this.MsgBus.$emit('reSetMSG');
} else {
this.Error(res.data.message);
}
}, err => {})
}
}
},
//关闭重置输入框
resetCommission() {
this.tichengDialog = false;
this.shareMsg.ShareContent = ''
},
GetAuth
()
{
GetAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
V_PersonalCenter
;
var
actionCode
=
this
.
$AuthCode
.
V_PersonalCenter
;
this
.
CheckUserAuth
(
actionCode
,
res
=>
{
this
.
CheckUserAuth
(
actionCode
,
res
=>
{
...
@@ -1026,7 +799,6 @@
...
@@ -1026,7 +799,6 @@
},
},
},
},
mounted
()
{
mounted
()
{
this.settStartDates()
this
.
GetAuth
();
this
.
GetAuth
();
this
.
CurrentUserInfo
=
this
.
getLocalStorage
();
this
.
CurrentUserInfo
=
this
.
getLocalStorage
();
var
w
=
document
.
documentElement
.
clientWidth
||
document
.
body
.
clientWidth
;
var
w
=
document
.
documentElement
.
clientWidth
||
document
.
body
.
clientWidth
;
...
@@ -1042,8 +814,6 @@
...
@@ -1042,8 +814,6 @@
this
.
iWorkbench
()
//销售个人工作台接口
this
.
iWorkbench
()
//销售个人工作台接口
this
.
grouplist
()
//销售首页小组工作台
this
.
grouplist
()
//销售首页小组工作台
this
.
Financial_post_GetNotDealCount
();
//待处理财务单据的个数
this
.
Financial_post_GetNotDealCount
();
//待处理财务单据的个数
// 排名
this.initData()
},
},
}
}
...
...
src/components/temp/operation.vue
View file @
62100a1c
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
@import "../../assets/css/main.less";
@import "../../assets/css/main.less";
@import "../../assets/css/cssReset.css";
/* @import "../../assets/css/cssReset.css"; */
@import "../../assets/css/home/Saleshomepage_1920.css";
.saleChartCont {
width: 100%;
height: 95%;
box-sizing: border-box;
}
.personal {
width: 100%;
height: 100%;
}
.l_title {
width: 100%;
height: 30px
}
.Sale_Share {
color: #83ACFF;
cursor: pointer;
font-size: 12px;
margin-left: 10px;
}
.ShareDisClick {
color: gray;
}
.Sale_UnlessWords {
display: inline-block;
margin: 25px 0 0 80px;
color: #E95252;
}
.title-Month{
text-align: right;
}
.headerTitle{
display: flex;
}
.headerTitle p{
font-weight: bold;
flex-wrap: nowrap;
}
.headerTitle span{
font-weight: 100;
color: red;
margin-right: 20px;
}
</
style
>
</
style
>
<
template
>
<
template
>
<div>
<div>
<leftNav></leftNav>
<leftNav></leftNav>
<div
class=
"sale_cont"
v-if=
"CurrentUserInfo.RB_Group_id==2 || EditBtn"
>
<!--
<div
class=
"Sale_menu"
>
<ul>
<template
v-for=
"(item ,index) in MonthList"
>
<li
:class=
"
{active:Month==item.Id}" @click="Month=item.Id">
{{
item
.
Name
}}
</li>
</
template
>
</ul>
</div>
-->
<div
class=
"saleChartCont"
:style=
"{zoom:zoom}"
>
<div
class=
"personal"
>
<div
class=
"PersonalData"
style=
"height: auto;margin-top: 0;background: none;"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<div
class=
"el-col-div ownScrollbarStyle PersonalData_l"
style=
"height: auto;background: #fff;"
>
<rightHead
:pagesTitle=
"2"
></rightHead>
</div>
</el-col>
<el-col
:span=
"12"
style=
"background: #fff;"
>
<div
class=
"el-col-div ownScrollbarStyle PersonalData_l"
style=
"height: 158px;"
>
<div
class=
"title-Month"
>
<
template
v-for=
"(item ,index) in MonthList"
>
<input
type=
"button"
:key=
"index"
:class=
"
{'normalBtn':Month==item.Id,'hollowFixedBtn':Month!=item.Id}"
:value="item.Name"
@click="clickActive(item)">
</input>
</
template
>
</div>
<div
style=
"display: flex;align-items: center; justify-content: space-between;
height: 40px;padding: 0 20px;"
>
<div
class=
"headerTitle"
>
<p>
总订单数:
<span></span></p>
<p>
总人头数:
<span></span></p>
<p>
总预期奖金:
<span>
{{CommissionJJ}}
</span></p>
<p>
总预期提成:
<span>
{{CommissionTC}}
</span></p>
</div>
</div>
</div>
</el-col>
</el-row>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
leftNav
from
'../public/leftNav.vue'
import
leftNav
from
'../public/leftNav.vue'
import
rightHead
from
'../public/rightHead.vue'
export
default
{
export
default
{
data
(){
data
(){
return
{
return
{
EditBtn
:
false
,
CurrentUserInfo
:
{},
zoom
:
1
,
CommissionJJ
:
0
,
CommissionTC
:
0
,
msg
:{
Month
:
''
},
Month
:
1
,
MonthList
:[
{
Name
:
'上月'
,
Id
:
'0'
},
{
Name
:
'当月'
,
Id
:
'1'
},
],
CommissionInfor
:{},
YearTime
:
''
,
LastMonthTime
:
''
,
MonthTime
:
''
,
commissionMsg
:{
pageIndex
:
1
,
pageSize
:
6
,
OrderId
:
""
,
//订单id
GuestId
:
0
,
//客人id
EnterId
:
0
,
//业务员id
OrderState
:
'1'
,
//订单状态
Q_IsCollect
:
"2"
,
//收款状态
StartTime
:
""
,
//报名开始日期
EndTime
:
""
,
//报名结束日期
FinishSTime
:
""
,
//完结开始时间
FinishETime
:
""
,
//完结结束时间
DepartSTime
:
""
,
//出发开始
DepartETime
:
""
,
//出发结束
TCNUM
:
""
,
//团号
ProductName
:
""
,
//商品名称
CustomerName
:
""
,
//客户名称
LureEmpId
:
0
,
//引流人员
LineId
:
0
,
//线路
TravelType
:
0
,
//跟团类型 1跟团 2当地游
OrderType
:
"0"
,
//订单类型
IsSelectCRM
:
0
,
//1来源crm
IsMyOrder
:
1
,
//1我的订单
},
isAnnualBonus
:
false
,
// 年终奖权限
}
}
},
},
components
:{
components
:{
leftNav
leftNav
,
rightHead
},
},
mounted
(){
methods
:{
clickActive
(
item
){
this
.
Month
=
item
.
Id
if
(
item
.
Id
==
1
){
this
.
msg
.
Month
=
this
.
Year
+
'-'
+
(
this
.
MonthTime
>
10
?
this
.
MonthTime
:
'0'
+
this
.
MonthTime
)
}
else
{
this
.
msg
.
Month
=
this
.
Year
+
'-'
+
(
this
.
LastMonthTime
>
10
?
this
.
LastMonthTime
:
'0'
+
this
.
LastMonthTime
)
}
// this.getList()
},
// 获取规则列表数据
getList
()
{
this
.
apipost
(
"sellcommission_GetTYSaleCommissionRuleList"
,
{},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataRuleList
=
res
.
data
.
data
[
0
];
this
.
JapaneseLine
.
CommissionRateList
=
this
.
dataRuleList
.
AwardRuleList
this
.
JapaneseProfit
.
CommissionRateList
=
this
.
dataRuleList
.
ProfitRuleList
this
.
EuropeLine
.
CommissionRateList
=
this
.
dataRuleList
.
EuropeAwardRuleList
this
.
EuropeProfit
.
CommissionRateList
=
this
.
dataRuleList
.
EuropeProfitRuleList
this
.
OtherLine
.
CommissionRateList
=
this
.
dataRuleList
.
OtherAwardRuleList
this
.
OtherProfit
.
CommissionRateList
=
this
.
dataRuleList
.
OtherProfitRuleList
this
.
AnnualBonus
.
CommissionRateList
=
this
.
dataRuleList
.
BonusRuleList
this
.
getData
()
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
});
},
// 获取预期数据
getData
(){
// 日本欧洲提成
this
.
apipost
(
'sellcommission_GetTYSaleExpectCommission'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
this
.
CommissionInfor
=
data
;
// 日本及其他人头奖励
this
.
JapaneseLine
.
AvgLureNum
=
this
.
CommissionInfor
.
PeopleNum
?
this
.
CommissionInfor
.
PeopleNum
:
0
this
.
JapaneseLine
.
Commission
=
this
.
CommissionInfor
.
PeopleMoney
?
this
.
CommissionInfor
.
PeopleMoney
:
0
// 日本及其他提成比例
this
.
JapaneseProfit
.
AvgLureNum
=
this
.
CommissionInfor
.
JapanCommission
?
this
.
CommissionInfor
.
JapanCommission
:
0
this
.
JapaneseProfit
.
AvfOrderNum
=
this
.
CommissionInfor
.
JapanOrderNum
?
this
.
CommissionInfor
.
JapanOrderNum
:
0
this
.
JapaneseProfit
.
CommissionRate
=
this
.
CommissionInfor
.
JapanRate
?
this
.
CommissionInfor
.
JapanRate
:
0
this
.
JapaneseProfit
.
Commission
=
this
.
CommissionInfor
.
JapanCommission
?
this
.
CommissionInfor
.
JapanCommission
:
0
this
.
JapaneseProfit
.
CommissionProfit
=
this
.
CommissionInfor
.
JapanProfit
?
this
.
CommissionInfor
.
JapanProfit
:
0
// 欧洲人头奖励
this
.
EuropeLine
.
AvgLureNum
=
this
.
CommissionInfor
.
EuropePNum
?
this
.
CommissionInfor
.
EuropePNum
:
0
this
.
EuropeLine
.
Commission
=
this
.
CommissionInfor
.
EuropeMoney
?
this
.
CommissionInfor
.
EuropeMoney
:
0
// 欧洲及其他提成比例
this
.
EuropeProfit
.
AvgLureNum
=
this
.
CommissionInfor
.
EuropeCommission
?
this
.
CommissionInfor
.
EuropeCommission
:
0
this
.
EuropeProfit
.
AvfOrderNum
=
this
.
CommissionInfor
.
EuropeOrderNum
?
this
.
CommissionInfor
.
EuropeOrderNum
:
0
this
.
EuropeProfit
.
CommissionRate
=
this
.
CommissionInfor
.
EuropeRate
?
this
.
CommissionInfor
.
EuropeRate
:
0
this
.
EuropeProfit
.
Commission
=
this
.
CommissionInfor
.
EuropeCommission
?
this
.
CommissionInfor
.
EuropeCommission
:
0
this
.
EuropeProfit
.
CommissionProfit
=
this
.
CommissionInfor
.
EuropeProfit
?
this
.
CommissionInfor
.
EuropeProfit
:
0
// 其他人头奖励
this
.
OtherLine
.
AvgLureNum
=
this
.
CommissionInfor
.
OtherPNum
?
this
.
CommissionInfor
.
OtherPNum
:
0
this
.
OtherLine
.
Commission
=
this
.
CommissionInfor
.
OtherMoney
?
this
.
CommissionInfor
.
OtherMoney
:
0
// 其他提成比例
this
.
OtherProfit
.
AvgLureNum
=
this
.
CommissionInfor
.
OtherCommission
?
this
.
CommissionInfor
.
OtherCommission
:
0
this
.
OtherProfit
.
AvfOrderNum
=
this
.
CommissionInfor
.
OtherOrderNum
?
this
.
CommissionInfor
.
OtherOrderNum
:
0
this
.
OtherProfit
.
CommissionRate
=
this
.
CommissionInfor
.
OtherRate
?
this
.
CommissionInfor
.
OtherRate
:
0
this
.
OtherProfit
.
Commission
=
this
.
CommissionInfor
.
OtherCommission
?
this
.
CommissionInfor
.
OtherCommission
:
0
this
.
OtherProfit
.
CommissionProfit
=
this
.
CommissionInfor
.
OtherProfit
?
this
.
CommissionInfor
.
OtherProfit
:
0
// 年终奖
this
.
AnnualBonus
.
AvfOrderNum
=
this
.
CommissionInfor
.
BonusNum
?
this
.
CommissionInfor
.
BonusNum
:
0
this
.
AnnualBonus
.
Commission
=
this
.
CommissionInfor
.
BonusPeriods
?
this
.
CommissionInfor
.
BonusPeriods
:
0
this
.
GetGNSaleExpectCommission
()
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading
=
false
},
},
methods
:{
err
=>
{
this
.
loading
=
false
}
goUrl
(
path
,
id
)
{
);
this
.
$router
.
push
({
path
:
"Details"
,
query
:{
path
,
id
}
})
},
GetGNSaleExpectCommission
(){
// 国内提成
this
.
apipost
(
'sellcommission_Post_GetGNSaleExpectCommission'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
DomesticLine
=
res
.
data
.
data
this
.
GNOrderNum
=
0
this
.
GNEopleNum
=
0
this
.
GNCommission
=
0
this
.
DomesticLine
.
Rlist
.
forEach
(
item
=>
{
this
.
GNOrderNum
+=
Number
(
item
.
OrderNum
)
this
.
GNEopleNum
+=
Number
(
item
.
PeopleNum
)
this
.
GNCommission
+=
Number
(
item
.
Commission
)
})
this
.
newRlistAll
=
[
this
.
DomesticLine
.
Rlist
[
2
],
this
.
DomesticLine
.
Rlist
[
3
],
this
.
DomesticLine
.
Rlist
[
4
],
this
.
DomesticLine
.
Rlist
[
0
],
this
.
DomesticLine
.
Rlist
[
1
]]
this
.
newRlist
=
[
this
.
DomesticLine
.
Rlist
[
2
]]
let
arr1
=
[
this
.
CommissionInfor
.
PeopleMoney
,
this
.
CommissionInfor
.
EuropeMoney
]
let
arr2
=
[
this
.
CommissionInfor
.
SalesCommission
,
this
.
CommissionInfor
.
JapanCommission
,
this
.
CommissionInfor
.
EuropeCommission
,
this
.
GNCommission
]
this
.
CommissionJJ
=
this
.
CalculatePrice
(
arr1
,
0
)
this
.
CommissionTC
=
this
.
CalculatePrice
(
arr2
,
2
)
}
})
},
},
GetOrderPageList
(){
this
.
commissionMsg
.
IsMyOrder
=
'1'
this
.
apipost
(
'CarSingle_post_GetGuestOrderStatisticsPageList'
,
this
.
commissionMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
if
(
data
.
length
>
5
){
for
(
let
i
=
0
;
i
<
5
;
i
++
){
this
.
OrderList
.
push
(
data
[
i
])
}
}
}
else
{
this
.
OrderList
=
data
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading
=
false
},
err
=>
{
this
.
loading
=
false
}
)
},
//计算总成本
CalculatePrice
(
arr1
,
num
)
{
var
CoastPrice
=
this
.
$commonUtils
.
CaluJsonArraySum2
(
arr1
,
num
);
return
CoastPrice
>
0
?
CoastPrice
:
0
},
GetAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
V_PersonalCenter
;
this
.
CheckUserAuth
(
actionCode
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
&&
res
.
data
.
data
==
1
)
{
this
.
EditBtn
=
true
;
}
});
},
},
mounted
(){
this
.
GetAuth
();
this
.
CurrentUserInfo
=
this
.
getLocalStorage
();
var
w
=
document
.
documentElement
.
clientWidth
||
document
.
body
.
clientWidth
;
this
.
screenWidth
=
w
;
let
Width
=
w
-
350
this
.
zoom
=
((
Width
/
(
1920
-
350
))
*
100
).
toFixed
(
0
)
+
'%'
;
window
.
onresize
=
()
=>
{
return
(()
=>
{
window
.
screenWidth
=
document
.
body
.
clientWidth
this
.
screenWidth
=
window
.
screenWidth
})()
}
let
userInfo
=
this
.
getLocalStorage
();
// 年终奖权限 销售, 引流, 市场, 票务 , 票務,总经理,总经理
if
(
userInfo
.
PostName
.
indexOf
(
'销售'
)
||
userInfo
.
PostName
.
indexOf
(
'引流'
)
||
userInfo
.
PostName
.
indexOf
(
'市场,'
)
||
userInfo
.
PostName
.
indexOf
(
'票务'
)
||
userInfo
.
PostName
.
indexOf
(
'票務'
)
||
userInfo
.
PostName
.
indexOf
(
'总经理'
)
||
userInfo
.
PostName
.
indexOf
(
'总经理'
)){
this
.
isAnnualBonus
=
true
}
let
nowdays
=
new
Date
()
this
.
Year
=
new
Date
().
getFullYear
()
this
.
LastMonthTime
=
new
Date
().
getMonth
()
this
.
MonthTime
=
new
Date
().
getMonth
()
+
1
this
.
msg
.
Month
=
this
.
Year
+
'-'
+
(
this
.
MonthTime
>
10
?
this
.
MonthTime
:
'0'
+
this
.
MonthTime
)
this
.
MonthList
[
0
].
Name
=
this
.
MonthList
[
0
].
Name
+
'('
+
this
.
LastMonthTime
+
'月)'
this
.
MonthList
[
1
].
Name
=
this
.
MonthList
[
1
].
Name
+
'('
+
this
.
MonthTime
+
'月)'
//this.Year+'-'+(this.MonthTime>10?this.MonthTime:'0'+this.MonthTime)+'-01'//出发开始
this
.
commissionMsg
.
DepartSTime
=
this
.
getBeforeDate
(
93
,
this
.
getBeforeDate
(
0
,
new
Date
().
Format
(
"yyyy-MM-dd"
)))
var
MonthDayNum
=
new
Date
(
this
.
Year
,
this
.
MonthTime
,
0
).
getDate
();
//计算当月的天数
this
.
commissionMsg
.
DepartETime
=
this
.
Year
+
'-'
+
(
this
.
MonthTime
>
10
?
this
.
MonthTime
:
'0'
+
this
.
MonthTime
)
+
'-'
+
(
MonthDayNum
>
10
?
MonthDayNum
:
'0'
+
MonthDayNum
)
//出发结束
},
}
}
...
...
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