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
d7832d10
Commit
d7832d10
authored
Jan 09, 2024
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
0447f735
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
401 additions
and
581 deletions
+401
-581
GroupOutCorporationAudit.vue
src/components/dmc/manager/GroupOutCorporationAudit.vue
+350
-537
TravelFeature.vue
...nts/newTravelmanager/TravelGroupControl/TravelFeature.vue
+51
-44
No files found.
src/components/dmc/manager/GroupOutCorporationAudit.vue
View file @
d7832d10
<
template
>
<div
class=
"groupApproval"
>
<div
class=
"query-box"
>
<ul>
<li>
<em>
出团公司
</em>
<el-select
filterable
v-model=
'msg.OutBranchId'
size=
"small"
@
change=
'getControlList()'
>
<el-option
label=
"不限"
:value=
"-1"
:key=
"-1"
></el-option>
<el-option
v-for=
"item in companyList"
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
></el-option>
</el-select>
</li>
<li>
<span>
<em>
团类型
</em>
<el-select
class=
"w200"
v-model=
"msg.TeamType"
filterable
:placeholder=
"$t('pub.pleaseImport')"
size=
"small"
@
change=
"getControlList()"
>
<el-option
v-for=
"item in groupType"
:label=
"item.Name"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
审核状态
</em>
<el-select
class=
"w200"
v-model=
"msg.BranchAuditState"
filterable
:placeholder=
"$t('pub.pleaseImport')"
size=
"small"
@
change=
"getControlList()"
>
<el-option
v-for=
"item in BranchAuditStateType"
:label=
"item.Name"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
团号
</em>
<el-input
maxlength=
"50"
v-model=
"msg.TCNUM"
class=
"permiss-input w200"
size=
"small"
@
keyup
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li
v-if=
"false"
>
<span>
<em>
编号
</em>
<el-input
maxlength=
"6"
v-model=
"msg.TCID"
class=
"permiss-input 200"
size=
"small"
@
keyup
.
native
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
@
keyup
.
native=
"checkInteger(msg,'TCID')"
></el-input>
</span>
</li>
<li>
<span>
<em>
申请日期
</em>
<el-date-picker
style=
"width: 300px;"
v-model=
"StartTime"
format=
'yyyy-MM-dd'
value-format=
"yyyy-MM-dd"
size=
"small"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"getStartTime"
>
</el-date-picker>
</span>
</li>
<li>
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"getControlList"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
</li>
</ul>
</div>
<ul
class=
"_nav clearfix"
v-if=
"false"
>
<li
:class=
"active==1?'_active':''"
@
click=
"active=1, msg.OutGroupAuditState=1, getControlList()"
>
待审批
</li>
<li
:class=
"active==2?'_active':''"
@
click=
"active=2, msg.OutGroupAuditState=2, getControlList()"
>
已审批
</li>
<div
style=
"float: right;"
v-if=
"multipleSelection.length>0"
>
<button
class=
"hollowFixedBtn"
@
click=
"setAudit()"
>
批量审核
</button>
</div>
<li
style=
"float: right;color: red;font-size: 14px;"
>
<!-- 注:落地团,小包团,国内线 均按订单利润的20%计算最大预计销售提成,实际发放提成不会超过最大预期销售提成 -->
</li>
<div
class=
"query-box"
>
<ul>
<li>
<em>
出团公司
</em>
<el-select
filterable
v-model=
'msg.OutBranchId'
size=
"small"
@
change=
'getControlList()'
clearable
>
<el-option
label=
"不限"
:value=
"-1"
:key=
"-1"
></el-option>
<el-option
v-for=
"item in companyList"
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
></el-option>
</el-select>
</li>
<li>
<span>
<em>
团队类型
</em>
<el-select
class=
"w200"
v-model=
"msg.TeamType"
filterable
:placeholder=
"$t('pub.pleaseImport')"
size=
"small"
@
change=
"getControlList()"
clearable
>
<el-option
v-for=
"item in groupType"
:label=
"item.Name"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
审核状态
</em>
<el-select
class=
"w200"
v-model=
"msg.BranchAuditState"
filterable
:placeholder=
"$t('pub.pleaseImport')"
size=
"small"
@
change=
"getControlList()"
clearable
>
<el-option
v-for=
"item in BranchAuditStateType"
:label=
"item.Name"
:value=
"item.Id"
:key=
"item.Id"
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
团号
</em>
<el-input
maxlength=
"50"
v-model=
"msg.TCNUM"
class=
"permiss-input w200"
size=
"small"
@
keyup
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
clearable
@
clear=
"getControlList"
>
</el-input>
</span>
</li>
<li>
<span>
<em>
申请日期
</em>
<el-date-picker
style=
"width: 300px;"
v-model=
"StartTime"
format=
'yyyy-MM-dd'
value-format=
"yyyy-MM-dd"
size=
"small"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
@
change=
"getStartTime"
clearable
>
</el-date-picker>
</span>
</li>
<li>
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"getControlList"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
</li>
</ul>
</div>
<el-table
v-loading=
"loading"
ref=
"multipleTable"
:data=
"dataList"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
label=
"团队编号"
width=
"200"
>
<template
slot-scope=
"scope"
>
<p>
{{
scope
.
row
.
OutBranchName
}}
</p>
<span
style=
"cursor: pointer;text-decoration: underline;"
@
click=
"goTravel(scope.row)"
>
{{
scope
.
row
.
TCNUM
}}
(
{{
scope
.
row
.
TCID
}}
)
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"StartDate"
label=
"出发日期"
width=
"120"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
"LtName"
label=
"系列"
width=
"200"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
LineName
}}
</br>
{{
scope
.
row
.
LtName
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"Title"
label=
"团名"
width=
"200"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
""
label=
"申请人/申请日期"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<p>
{{
scope
.
row
.
BranchApplyName
}}
</p>
<p>
{{
scope
.
row
.
BranchApplyTime
}}
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"OPName"
label=
"申请原因"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
BranchApplyResion
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"PriceTeamTypeName"
label=
"团队类型"
width=
"130"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"scope.row.TeamTypeName"
>
{{
scope
.
row
.
TeamTypeName
}}
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"OldBranchName"
label=
"原出团公司"
width=
"130"
></el-table-column>
<el-table-column
prop=
"NewBranchName"
label=
"新出团公司"
width=
"130"
></el-table-column>
<el-table-column
prop=
""
label=
"审核状态"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<span
:style=
"
{'color':scope.row.BranchAuditState==3?'red':scope.row.BranchAuditState==2?'#33B3FF':'blue'}">
{{
scope
.
row
.
BranchAuditStateStr
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"操作"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<div
class=
"_icon_btn"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"审核"
placement=
"top"
v-if=
"scope.row.BranchAuditState==1"
>
<i
v-loading=
"loading"
class=
"iconfont icon-ico_commodity_defaul"
@
click=
"shenhei(scope.row)"
></i>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"驳回"
placement=
"top"
v-if=
"scope.row.BranchAuditState==1"
>
<i
class=
"iconfont icon-shenhebohui"
@
click=
"bohui(scope.row)"
></i>
</el-tooltip>
</div>
</
template
>
</el-table-column>
</el-table>
<div
style=
"width: 100%;"
>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"msg.pageIndex"
layout=
"sizes,total,prev, pager, next, jumper"
:page-sizes=
"[5, 10, 20, 30,50,100]"
:page-size=
"msg.pageSize"
:total=
"total"
>
</el-pagination>
</div>
<ul
style=
"overflow: initial!important"
>
<li
style=
"margin-bottom:10px;width: 100%;"
>
</li>
</ul>
<el-table
v-loading=
"loading"
ref=
"multipleTable"
:data=
"dataList"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"handleSelectionChange"
>
<!--
<el-table-column
type=
"selection"
width=
"55"
:selectable=
"selectable"
>
-->
</el-table-column>
<el-table-column
label=
"团队编号"
width=
"200"
>
<template
slot-scope=
"scope"
>
<p>
{{
scope
.
row
.
OutBranchName
}}
</p>
<span
style=
"cursor: pointer;text-decoration: underline;"
@
click=
"goTravel(scope.row.TCID)"
>
{{
scope
.
row
.
TCNUM
}}
(
{{
scope
.
row
.
TCID
}}
)
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"LtName"
label=
"系列"
width=
"200"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
LineName
}}
</br>
{{
scope
.
row
.
LtName
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"Title"
label=
"团名"
width=
"200"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop=
""
label=
"申请人/申请日期"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<p>
{{
scope
.
row
.
BranchApplyName
}}
</p>
<p>
{{
scope
.
row
.
BranchApplyTime
}}
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"OPName"
label=
"申请原因"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
BranchApplyResion
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"PriceTeamTypeName"
label=
"团队类型"
width=
"130"
>
<
template
slot-scope=
"scope"
>
<template
v-if=
"scope.row.TeamTypeName"
>
{{
scope
.
row
.
TeamTypeName
}}
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"OldBranchName"
label=
"原出团公司"
width=
"130"
></el-table-column>
<el-table-column
prop=
"NewBranchName"
label=
"新出团公司"
width=
"130"
></el-table-column>
<el-table-column
prop=
""
label=
"审核状态"
width=
"100"
>
<
template
slot-scope=
"scope"
>
<span
:style=
"
{'color':scope.row.BranchAuditState==1?'red':scope.row.BranchAuditState==2?'#33B3FF':''}">
{{
scope
.
row
.
BranchAuditStateStr
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
""
label=
"操作"
width=
"150"
>
<
template
slot-scope=
"scope"
>
<div
class=
"_icon_btn"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"审核"
placement=
"top"
v-if=
"scope.row.BranchAuditState==1"
>
<i
v-loading=
"loading"
class=
"iconfont icon-ico_commodity_defaul"
@
click=
"shenhei(scope.row)"
></i>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"驳回"
placement=
"top"
v-if=
"scope.row.BranchAuditState==1"
>
<i
class=
"iconfont icon-shenhebohui"
@
click=
"bohui(scope.row)"
></i>
</el-tooltip>
<!--
<el-tooltip
class=
"item"
effect=
"dark"
content=
"收支明细"
placement=
"top"
>
<i
class=
"iconfont icon-mingxi"
@
click=
"goTeamBalance(scope.row.TCID)"
></i>
</el-tooltip>
-->
</div>
</
template
>
</el-table-column>
</el-table>
<div
style=
"width: 100%;"
>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"msg.pageIndex"
layout=
"sizes,total,prev, pager, next, jumper"
:page-sizes=
"[5, 10, 20, 30,50,100]"
:page-size=
"msg.pageSize"
:total=
"total"
>
</el-pagination>
<el-dialog
custom-class=
"w600"
title=
"驳回缘由"
:visible
.
sync=
"cancelOrderDialog"
>
<div
style=
"padding-bottom:20px"
>
<el-input
type=
"textarea"
autofocus
rows=
"5"
placeholder=
"请填写驳回该团的缘由"
clear=
"w300"
v-model=
"cancelRemark"
>
</el-input>
<el-row
:gutter=
"20"
style=
"margin-top: 20px;"
>
<el-col
:span=
"24"
style=
"text-align: right;"
>
<el-button
class=
"normalBtn"
value=
""
@
click=
"cancelOrderHandler"
:loading=
"loading"
>
确定驳回
</el-button>
<el-button
class=
"hollowFixedBtn"
@
click=
"cancelOrderDialog = false,cancelRemark=''"
>
关闭
</el-button>
</el-col>
</el-row>
</div>
<el-dialog
custom-class=
"w600"
title=
"驳回缘由"
:visible
.
sync=
"cancelOrderDialog"
>
<div
style=
"padding-bottom:20px"
>
<el-input
type=
"textarea"
autofocus
rows=
"5"
placeholder=
"请填写驳回该团的缘由"
clear=
"w300"
v-model=
"cancelRemark"
></el-input>
<el-row
:gutter=
"20"
style=
"margin-top: 20px;"
>
<el-col
:span=
"24"
style=
"text-align: right;"
>
<el-button
class=
"normalBtn"
value=
""
@
click=
"cancelOrderHandler"
:loading=
"loading"
>
确定驳回
</el-button>
<el-button
class=
"hollowFixedBtn"
@
click=
"cancelOrderDialog = false,cancelRemark=''"
>
关闭
</el-button>
</el-col>
</el-row>
</div>
</el-dialog>
</el-dialog>
</div>
</template>
<
script
>
export
default
{
components
:
{
},
data
()
{
return
{
StartTime
:[],
groupType
:[
{
Name
:
'不限'
,
Id
:
-
1
},
{
Name
:
'小包团'
,
Id
:
1
},
{
Name
:
'当地游'
,
Id
:
2
},
{
Name
:
'常规团'
,
Id
:
0
}
],
BranchAuditStateType
:[
{
Name
:
'不限'
,
Id
:
-
1
},
{
Name
:
'待审核'
,
Id
:
1
},
{
Name
:
'通过'
,
Id
:
2
},
{
Name
:
'驳回'
,
Id
:
3
}
],
companyList
:[],
cancelRemark
:
''
,
dataRow
:
null
,
cancelOrderDialog
:
false
,
loading
:
false
,
dataList
:
[],
active
:
'1'
,
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
TCNUM
:
''
,
//团号
TeamType
:
-
1
,
//团队类型 0-常规,1-小包团,2-当地游
OutBranchId
:
-
1
,
QStartDate
:
''
,
QEndDate
:
''
,
BranchAuditState
:
-
1
},
TeamListArr
:[],
total
:
0
,
EmployeeId
:
0
,
multipleSelection
:
[],
AuditLoading
:
false
,
dialog
:
{
show
:
false
,
ConfigId
:
''
,
OfferId
:
''
},
getCompanyMsg
:{
RB_Group_Id
:
'0'
,
Status
:
'0'
,
},
data
()
{
return
{
StartTime
:
[],
groupType
:
[{
Name
:
'不限'
,
Id
:
-
1
},
{
Name
:
'小包团'
,
Id
:
1
},
{
Name
:
'当地游'
,
Id
:
2
},
{
Name
:
'常规团'
,
Id
:
0
}
],
BranchAuditStateType
:
[{
Name
:
'不限'
,
Id
:
-
1
},
{
Name
:
'待审核'
,
Id
:
1
},
{
Name
:
'通过'
,
Id
:
2
},
{
Name
:
'驳回'
,
Id
:
3
}
],
companyList
:
[],
cancelRemark
:
''
,
dataRow
:
null
,
cancelOrderDialog
:
false
,
loading
:
false
,
dataList
:
[],
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
TCNUM
:
''
,
//团号
TeamType
:
-
1
,
//团队类型 0-常规,1-小包团,2-当地游
OutBranchId
:
-
1
,
QStartDate
:
''
,
QEndDate
:
''
,
BranchAuditState
:
1
,
//默认待审核
},
total
:
0
,
multipleSelection
:
[],
getCompanyMsg
:
{
RB_Group_Id
:
'0'
,
Status
:
'0'
,
},
}
},
created
()
{
var
myDate
=
new
Date
();
var
MonthDayNum
=
new
Date
(
myDate
.
getFullYear
(),
myDate
.
getMonth
(),
0
).
getDate
();
var
StartTime
=
`
${
myDate
.
getFullYear
()}
-
${
myDate
.
getMonth
()
+
1
}
-01`
var
EndTime
=
`
${
myDate
.
getFullYear
()}
-
${
myDate
.
getMonth
()
+
1
}
-
${
MonthDayNum
}
`
this
.
StartTime
=
[
StartTime
,
EndTime
]
this
.
msg
.
QStartDate
=
StartTime
this
.
msg
.
QEndDate
=
EndTime
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
TCID
)
{
this
.
msg
.
TCID
=
this
.
$route
.
query
.
TCID
}
this
.
getCompany
()
},
mounted
()
{
this
.
getList
()
},
methods
:
{
getStartTime
()
{
if
(
this
.
StartTime
.
length
==
2
)
{
this
.
msg
.
QStartDate
=
this
.
StartTime
[
0
]
this
.
msg
.
QEndDate
=
this
.
StartTime
[
1
]
}
else
{
this
.
msg
.
QStartDate
=
''
this
.
msg
.
QEndDate
=
''
}
},
created
()
{
var
myDate
=
new
Date
();
var
MonthDayNum
=
new
Date
(
myDate
.
getFullYear
(),
myDate
.
getMonth
(),
0
).
getDate
();
var
StartTime
=
`
${
myDate
.
getFullYear
()}
-
${
myDate
.
getMonth
()
+
1
}
-01`
var
EndTime
=
`
${
myDate
.
getFullYear
()}
-
${
myDate
.
getMonth
()
+
1
}
-
${
MonthDayNum
}
`
this
.
StartTime
=
[
StartTime
,
EndTime
]
this
.
msg
.
QStartDate
=
StartTime
this
.
msg
.
QEndDate
=
EndTime
this
.
getTeamList
()
let
userinfo
=
this
.
getLocalStorage
();
this
.
getCompanyMsg
.
RB_Group_Id
=
userinfo
.
RB_Group_id
;
this
.
EmployeeId
=
userinfo
.
EmployeeId
let
ActionMenuCode
=
userinfo
.
ActionMenuCode
;
if
(
ActionMenuCode
.
indexOf
(
'Finance_clumpSeeAll'
)
!=-
1
){
//如果有权限 可以查看所有 如果没有只能看自己审核的
// this.msg.OutGroupAuditEmpId = 0
}
else
{
// this.msg.OutGroupAuditEmpId = userinfo.EmployeeId
getCompany
()
{
this
.
apipost
(
'admin_get_BranchGetList'
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
companyList
=
res
.
data
.
data
;
}
if
(
this
.
$route
.
query
&&
this
.
$route
.
query
.
TCID
){
this
.
msg
.
TCID
=
this
.
$route
.
query
.
TCID
})
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
getControlList
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getList
()
},
handleSizeChange
(
e
)
{
this
.
msg
.
pageSize
=
e
;
this
.
getList
()
},
handleCurrentChange
(
e
)
{
this
.
msg
.
pageIndex
=
e
;
this
.
getList
()
},
getList
()
{
this
.
loading
=
true
let
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
))
this
.
apipost
(
"travel_post_GetTravelOutBranchAuditPage"
,
msg
,
res
=>
{
this
.
loading
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
}
this
.
getCompany
()
);
},
shenhei
(
item
)
{
let
that
=
this
;
that
.
$confirm
(
'是否审核通过该团?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
groupAudit
(
2
,
item
.
TCID
)
}).
catch
(()
=>
{
});
},
mounted
()
{
this
.
getList
()
cancelOrderHandler
()
{
if
(
!
this
.
cancelRemark
)
return
this
.
Error
(
'请输入驳回缘由'
)
let
that
=
this
;
that
.
$confirm
(
'是否驳回该团?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
//掉接口
this
.
groupAudit
(
3
,
this
.
dataRow
.
TCID
)
}).
catch
(()
=>
{
});
},
methods
:
{
getStartTime
(){
if
(
this
.
StartTime
.
length
==
2
){
this
.
msg
.
QStartDate
=
this
.
StartTime
[
0
]
this
.
msg
.
QEndDate
=
this
.
StartTime
[
1
]
}
else
{
this
.
msg
.
QStartDate
=
''
this
.
msg
.
QEndDate
=
''
bohui
(
item
)
{
this
.
dataRow
=
item
this
.
cancelOrderDialog
=
true
return
},
groupAudit
(
type
,
TCID
,
name
,
length
)
{
let
msg
=
{
TCID
:
TCID
,
BranchAuditState
:
type
,
BranchAuditRemark
:
this
.
cancelRemark
}
this
.
loading
=
true
this
.
apipost
(
"travel_post_AuditPriceOutBranchTeamType"
,
{
TCID
:
TCID
,
BranchAuditState
:
type
,
BranchAuditRemark
:
this
.
cancelRemark
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
!
name
)
{
this
.
cancelOrderDialog
=
false
this
.
Success
(
res
.
data
.
message
);
this
.
getList
()
}
else
{
if
(
length
)
{
this
.
cancelOrderDialog
=
false
this
.
Success
(
res
.
data
.
message
);
this
.
getList
()
}
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading
=
false
}
},
// 销售预期提成
goAnticipate
(
row
,
type
){
let
userInfo
=
this
.
getLocalStorage
();
let
name
if
(
type
==
1
){
//国内
name
=
'domesticCommissiondetails'
}
else
if
(
type
==
2
){
//单项
name
=
'ServiceCommissiondetails'
}
else
if
(
type
==
3
){
//台湾
name
=
'domesticCommissiondetailsTW'
}
else
if
(
type
==
4
){
//同业
name
=
'TradeTicketDetails'
);
},
goTravel
(
item
)
{
//跳转到团队列表
var
newPath
=
"TravelControlList"
;
if
(
item
.
TeamType
==
1
)
{
newPath
=
"TravelControlListSale"
}
if
(
item
.
TeamType
==
2
)
{
newPath
=
"oneDayTrip"
}
this
.
$router
.
push
({
name
:
name
,
path
:
newPath
,
query
:
{
T
ype
:
1
,
TCNUM
:
row
.
TCNUM
,
blank
:
'y
'
T
CID
:
item
.
TCID
,
blank
:
'y'
,
tab
:
'团控列表
'
}
});
},
getCompany
(){
this
.
apipost
(
'admin_get_BranchGetList'
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
companyList
=
res
.
data
.
data
;
}
else
{}
},
err
=>
{})
},
showDialog
(
ConfigId
,
OfferId
)
{
this
.
dialog
=
{
show
:
true
,
ConfigId
,
OfferId
}
this
.
$nextTick
(()
=>
{
this
.
$refs
.
dialog
.
getPostData
()
})
},
selectable
(
row
,
index
)
{
if
(
this
.
active
==
1
){
return
true
}
else
{
return
false
}
},
setAudit
(
type
){
let
ids
=
this
.
multipleSelection
.
map
(
x
=>
{
return
x
.
TCID
})
if
(
ids
.
length
==
0
){
return
this
.
$message
.
error
(
'请勾选需要批量审核的数据'
);
}
let
that
=
this
;
that
.
$confirm
(
'是否通过该批量审核数据?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
for
(
let
i
=
0
;
i
<
ids
.
length
;
i
++
){
setTimeout
(()
=>
{
this
.
groupAudit
(
2
,
ids
[
i
],
'multiple'
,(
i
+
1
)
==
ids
.
length
?
ids
.
length
:
0
)
},
500
)
}
}).
catch
(()
=>
{
});
},
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
getControlList
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
getList
()
},
handleSizeChange
(
e
){
this
.
msg
.
pageSize
=
e
;
this
.
getList
()
},
handleCurrentChange
(
e
){
this
.
msg
.
pageIndex
=
e
;
this
.
getList
()
},
getList
()
{
this
.
loading
=
true
let
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
msg
))
this
.
apipost
(
"travel_post_GetTravelOutBranchAuditPage"
,
msg
,
res
=>
{
this
.
loading
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{
}
);
},
shenhei
(
item
)
{
let
that
=
this
;
that
.
$confirm
(
'是否审核通过该团?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
groupAudit
(
2
,
item
.
TCID
)
}).
catch
(()
=>
{
});
},
cancelOrderHandler
(){
if
(
!
this
.
cancelRemark
)
return
this
.
Error
(
'请输入驳回缘由'
)
let
that
=
this
;
that
.
$confirm
(
'是否驳回该团?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
//掉接口
this
.
groupAudit
(
3
,
this
.
dataRow
.
TCID
)
}).
catch
(()
=>
{
});
},
bohui
(
item
)
{
this
.
dataRow
=
item
this
.
cancelOrderDialog
=
true
return
let
that
=
this
;
that
.
$confirm
(
'是否驳回该团?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
//掉接口
this
.
groupAudit
(
3
,
item
.
TCID
)
}).
catch
(()
=>
{
});
},
groupAudit
(
type
,
TCID
,
name
,
length
){
let
msg
=
{
TCID
:
TCID
,
BranchAuditState
:
type
,
BranchAuditRemark
:
this
.
cancelRemark
}
this
.
loading
=
true
this
.
apipost
(
"travel_post_AuditPriceOutBranchTeamType"
,
{
TCID
:
TCID
,
BranchAuditState
:
type
,
BranchAuditRemark
:
this
.
cancelRemark
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
!
name
){
this
.
cancelOrderDialog
=
false
this
.
Success
(
res
.
data
.
message
);
this
.
getList
()
}
else
{
if
(
length
){
this
.
cancelOrderDialog
=
false
this
.
Success
(
res
.
data
.
message
);
this
.
getList
()
}
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading
=
false
},
err
=>
{
}
);
},
goTeamBalance
(
id
,
OutBranchId
)
{
//团队收支明细
this
.
$router
.
push
({
name
:
"TeamBalancePayment"
,
query
:
{
id
:
id
,
IsHaveAuth
:
true
,
blank
:
"y"
,
tab
:
"团队收支明细"
}
});
},
getTeamList
()
{
this
.
apipost
(
"travel_get_GetTravelPriceTeamTypeList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
TeamListArr
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{
}
);
},
goTravel
(
TCID
){
//跳转到团队列表
this
.
$router
.
push
({
path
:
'TravelControlList'
,
query
:
{
TCID
:
TCID
,
blank
:
'y'
,
tab
:
'团控列表'
}
});
}
}
}
}
</
script
>
<
style
scoped
>
.groupApproval
.singeRowTable
{
margin-top
:
20px
;
margin-top
:
20px
;
}
._nav
{
margin
:
20px
0
0
0
;
background-color
:
#f5f5f5
;
margin
:
20px
0
0
0
;
background-color
:
#f5f5f5
;
}
._nav
li
{
float
:
left
;
font-size
:
14px
;
color
:
#666666
;
padding
:
15px
20px
;
cursor
:
pointer
;
position
:
relative
;
background-color
:
#f1f1f1
;
margin-right
:
5px
float
:
left
;
font-size
:
14px
;
color
:
#666666
;
padding
:
15px
20px
;
cursor
:
pointer
;
position
:
relative
;
background-color
:
#f1f1f1
;
margin-right
:
5px
}
._nav
li
._active
{
background-color
:
#FFFFFF
;
color
:
#333333
background-color
:
#FFFFFF
;
color
:
#333333
}
._nav
li
._active
::after
{
content
:
""
;
width
:
20px
;
height
:
3px
;
background-color
:
#E95252
;
display
:
inline-block
;
position
:
absolute
;
bottom
:
0
;
left
:
38%
;
content
:
""
;
width
:
20px
;
height
:
3px
;
background-color
:
#E95252
;
display
:
inline-block
;
position
:
absolute
;
bottom
:
0
;
left
:
38%
;
}
._icon_btn
i
{
width
:
30px
;
height
:
30px
;
display
:
inline-block
;
color
:
white
!important
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
30px
;
margin-right
:
10px
;
cursor
:
pointer
;
outline
:
none
;
width
:
30px
;
height
:
30px
;
display
:
inline-block
;
color
:
white
!important
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
30px
;
margin-right
:
10px
;
cursor
:
pointer
;
outline
:
none
;
}
._icon_btn
i
.icon-ico_commodity_defaul
{
background-color
:
#F16C3C
;
background-color
:
#F16C3C
;
}
._icon_btn
i
.icon-ico_commodity_defaul
:hover
{
background-color
:
#e87c54
background-color
:
#e87c54
}
._icon_btn
i
.icon-ico_commodity_defaul
:active
{
background-color
:
#f76630
background-color
:
#f76630
}
._icon_btn
i
.icon-shenhebohui
{
background-color
:
#E95252
background-color
:
#E95252
}
._icon_btn
i
.icon-mingxi
{
background-color
:
rgb
(
71
,
191
,
140
)
background-color
:
rgb
(
71
,
191
,
140
)
}
</
style
>
src/components/newTravelmanager/TravelGroupControl/TravelFeature.vue
View file @
d7832d10
...
...
@@ -8,7 +8,7 @@
<span
class=
"foldList"
@
click=
"fold"
v-if=
"isFold==1"
>
{{
$t
(
'sm.djzk'
)
}}
</span>
<template
v-if=
"true"
>
<span
v-if=
"FeatureData.FeatureType==9"
class=
"foldList"
style=
"margin-right: 5px;"
@
click=
"journeyTemplate()"
>
编辑行程
</span>
@
click=
"journeyTemplate()"
>
编辑行程
</span>
</
template
>
<div
class=
"TrfList clearfix"
>
<!--&&item.TypeState!=8-->
...
...
@@ -122,7 +122,7 @@
<!-- ppt 模版行程 -->
<div
v-if=
"FeatureData.FeatureType==9&&FeatureDataFlag"
v-loading=
"iframeLoading"
>
<iframe
name=
"myIframe"
:src=
"myIframeUrl"
style=
"width: 100%;border: 0;"
:style=
"{'height':myIframeHeigth+'px'}"
>
:style=
"{'height':myIframeHeigth+'px'}"
>
</iframe>
<!-- <div v-if="FeatureData.TripImageListNew&&FeatureData.TripImageListNew.length>0">
<template v-for="url in FeatureData.TripImageListNew">
...
...
@@ -132,7 +132,8 @@
:preview-src-list="FeatureData.TripImageListNew"></el-image>
</template>
</div> -->
<div
v-show=
"PostMessageText=='暂无行程数据'"
style=
"text-align: center;margin-bottom: 20px;font-size: 14px;color: #808080;"
>
暂无数据,右上角编辑行程试试吧!
</div>
<div
v-show=
"PostMessageText=='暂无行程数据'"
style=
"text-align: center;margin-bottom: 20px;font-size: 14px;color: #808080;"
>
暂无数据,右上角编辑行程试试吧!
</div>
</div>
</div>
</div>
...
...
@@ -140,7 +141,7 @@
<!-- ppt 模版新增编辑窗口 -->
<pptIframe
v-show=
"dialogPptistVisible"
:FeaturePageType=
"dataAll.FeaturePageType"
:Url=
"TemplateUrl"
@
close=
"closeIframe()"
></pptIframe>
@
close=
"closeIframe()"
></pptIframe>
</div>
</template>
<
script
>
...
...
@@ -281,8 +282,8 @@
CurrentUserInfo
:
{},
dialogPptistVisible
:
false
,
userInfo
:
{},
TemplateUrl
:
''
,
// 模版 修改url
myIframeUrl
:
''
,
//行程特色url
TemplateUrl
:
''
,
// 模版 修改url
myIframeUrl
:
''
,
//行程特色url
myIframeHeigth
:
0
,
isPostMessage
:
false
,
PostMessageText
:
''
,
...
...
@@ -294,38 +295,44 @@
},
methods
:
{
closeIframe
(){
closeIframe
()
{
this
.
dialogPptistVisible
=
false
},
handleMessage
(
event
,
targetOrigin
)
{
if
(
this
.
isPostMessage
)
return
if
(
event
.
data
&&
event
.
data
.
data
&&!
event
.
data
.
data
)
return
if
(
event
&&
event
.
data
)
{
if
(
event
.
data
==
'行程数据保存成功'
||
event
.
data
.
indexOf
(
'行程特色高'
)
!=-
1
)
{
// this.$emit('ConfigInfo',this.myIframeUrl)
this
.
PostMessageText
=
''
//行程特色高
if
(
event
.
data
&&
typeof
(
event
.
data
)
==
'string'
&&
event
.
data
.
indexOf
(
'行程特色高'
)
!=-
1
)
{
let
datas
=
event
.
data
.
split
(
'-'
)
this
.
myIframeHeigth
=
datas
[
1
];
this
.
isPostMessage
=
true
handleMessage
(
event
,
targetOrigin
)
{
console
.
log
(
"event"
,
event
);
console
.
log
(
"event.data"
,
event
.
data
);
if
(
this
.
isPostMessage
)
return
if
(
event
.
data
&&
event
.
data
.
data
&&
!
event
.
data
.
data
)
return
if
(
event
&&
event
.
data
)
{
try
{
if
(
event
.
data
==
'行程数据保存成功'
||
event
.
data
.
indexOf
(
'行程特色高'
)
!=
-
1
)
{
// this.$emit('ConfigInfo',this.myIframeUrl)
this
.
PostMessageText
=
''
//行程特色高
if
(
event
.
data
&&
typeof
(
event
.
data
)
==
'string'
&&
event
.
data
.
indexOf
(
'行程特色高'
)
!=
-
1
)
{
let
datas
=
event
.
data
.
split
(
'-'
)
this
.
myIframeHeigth
=
datas
[
1
];
this
.
isPostMessage
=
true
}
document
.
all
.
myIframe
.
src
=
this
.
myIframeUrl
+
`&t=
${
new
Date
().
getTime
()}
`
this
.
$emit
(
'pptJourney'
,
true
)
}
else
if
(
event
.
data
==
'暂无行程数据'
)
{
this
.
PostMessageText
=
event
.
data
this
.
$emit
(
'pptJourney'
,
false
)
this
.
isPostMessage
=
false
}
document
.
all
.
myIframe
.
src
=
this
.
myIframeUrl
+
`&t=
${
new
Date
().
getTime
()}
`
this
.
$emit
(
'pptJourney'
,
true
)
}
else
if
(
event
.
data
==
'暂无行程数据'
)
{
this
.
PostMessageText
=
event
.
data
this
.
$emit
(
'pptJourney'
,
false
)
this
.
isPostMessage
=
false
}
catch
{
}
}
this
.
iframeLoading
=
false
this
.
iframeLoading
=
false
;
},
// 添加编辑模版
journeyTemplate
(){
this
.
isPostMessage
=
false
journeyTemplate
()
{
this
.
isPostMessage
=
false
;
let
href
=
this
.
domainManager
().
PptUrl
this
.
TemplateUrl
=
`
${
href
}
/?uid=
${
this
.
userInfo
.
EmployeeId
}
&ConfigId=
${
this
.
FeatureData
.
ConfigId
}
&model=0&TempType=
${
this
.
dataAll
.
FeaturePageType
}
`
this
.
TemplateUrl
=
`
${
href
}
/?uid=
${
this
.
userInfo
.
EmployeeId
}
&ConfigId=
${
this
.
FeatureData
.
ConfigId
}
&model=0&TempType=
${
this
.
dataAll
.
FeaturePageType
}
`
// this.TemplateUrl=`${href}/index/${this.userInfo.EmployeeId}/${this.FeatureData.ConfigId}/0/${this.dataAll.FeaturePageType}`
this
.
dialogPptistVisible
=
true
},
...
...
@@ -560,10 +567,10 @@
});
}
this
.
initFileList
();
if
(
this
.
FeatureData
.
FeatureType
==
9
)
{
if
(
this
.
FeatureData
.
FeatureType
==
9
)
{
// this.iframeLoading = true
if
(
document
.
all
.
myIframe
)
{
document
.
all
.
myIframe
.
src
=
this
.
myIframeUrl
+
`&t=
${
new
Date
().
getTime
()}
`
if
(
document
.
all
.
myIframe
)
{
document
.
all
.
myIframe
.
src
=
this
.
myIframeUrl
+
`&t=
${
new
Date
().
getTime
()}
`
}
}
...
...
@@ -638,30 +645,30 @@
}
},
mounted
()
{
window
.
addEventListener
(
'message'
,
this
.
handleMessage
,
false
);
window
.
addEventListener
(
'message'
,
this
.
handleMessage
,
false
);
this
.
userInfo
=
this
.
getLocalStorage
()
let
userInfo
=
this
.
getLocalStorage
()
this
.
CurrentUserInfo
=
userInfo
this
.
MsgBus
.
$on
(
'FeatureDataFlag'
,
()
=>
{
this
.
FeatureDataFlag
=
true
});
let
obj
=
this
.
TypeArray
.
find
(
x
=>
{
let
obj
=
this
.
TypeArray
.
find
(
x
=>
{
return
x
.
TypeState
==
this
.
FeatureData
.
FeatureType
})
if
(
obj
)
{
if
(
obj
)
{
this
.
clickFeature
(
obj
)
}
this
.
myIframeUrl
=
`
${
this
.
domainManager
().
PptUrl
}
/?uid=
${
this
.
userInfo
.
EmployeeId
}
&ConfigId=
${
this
.
$route
.
query
.
configId
}
&index=0&model=3&w=1108`
if
(
document
.
all
.
myIframe
){
document
.
all
.
myIframe
.
src
=
this
.
myIframeUrl
+
`&t=
${
new
Date
().
getTime
()}
`
this
.
myIframeUrl
=
`
${
this
.
domainManager
().
PptUrl
}
/?uid=
${
this
.
userInfo
.
EmployeeId
}
&ConfigId=
${
this
.
$route
.
query
.
configId
}
&index=0&model=3&w=1108`
if
(
document
.
all
.
myIframe
)
{
document
.
all
.
myIframe
.
src
=
this
.
myIframeUrl
+
`&t=
${
new
Date
().
getTime
()}
`
}
},
watch
:
{
dataAll
:{
handler
:
function
(
val
,
oldVal
)
{
},
dataAll
:
{
handler
:
function
(
val
,
oldVal
)
{},
deep
:
true
,
immediate
:
true
immediate
:
true
},
FeatureData
:
{
//深度监听,可监听到对象、数组的变化
...
...
@@ -671,7 +678,7 @@
},
deep
:
true
,
immediate
:
true
immediate
:
true
},
"FeatureData.fileList"
:
{
handler
:
function
(
val
,
oldval
)
{
...
...
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