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
>
<
template
>
<div
class=
"groupApproval"
>
<div
class=
"groupApproval"
>
<div
class=
"query-box"
>
<div
class=
"query-box"
>
<ul>
<ul>
<li>
<li>
<em>
出团公司
</em>
<em>
出团公司
</em>
<el-select
filterable
v-model=
'msg.OutBranchId'
size=
"small"
<el-select
filterable
v-model=
'msg.OutBranchId'
size=
"small"
@
change=
'getControlList()'
clearable
>
@
change=
'getControlList()'
>
<el-option
label=
"不限"
:value=
"-1"
:key=
"-1"
></el-option>
<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-option
</el-select>
v-for=
"item in companyList"
</li>
:label=
'item.BName'
<li>
:value=
'item.Id'
<span>
:key=
'item.Id'
<em>
团队类型
</em>
></el-option>
<el-select
class=
"w200"
v-model=
"msg.TeamType"
filterable
:placeholder=
"$t('pub.pleaseImport')"
size=
"small"
</el-select>
@
change=
"getControlList()"
clearable
>
</li>
<el-option
v-for=
"item in groupType"
:label=
"item.Name"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
<li>
</el-select>
<span>
</span>
<em>
团类型
</em>
</li>
<el-select
class=
"w200"
v-model=
"msg.TeamType"
filterable
:placeholder=
"$t('pub.pleaseImport')"
size=
"small"
<li>
@
change=
"getControlList()"
>
<span>
<el-option
v-for=
"item in groupType"
:label=
"item.Name"
:value=
"item.Id"
<em>
审核状态
</em>
:key=
"item.Id"
></el-option>
<el-select
class=
"w200"
v-model=
"msg.BranchAuditState"
filterable
:placeholder=
"$t('pub.pleaseImport')"
</el-select>
size=
"small"
@
change=
"getControlList()"
clearable
>
</span>
<el-option
v-for=
"item in BranchAuditStateType"
:label=
"item.Name"
:value=
"item.Id"
:key=
"item.Id"
>
</li>
</el-option>
<li>
</el-select>
<span>
</span>
<em>
审核状态
</em>
</li>
<el-select
class=
"w200"
v-model=
"msg.BranchAuditState"
filterable
:placeholder=
"$t('pub.pleaseImport')"
size=
"small"
<li>
@
change=
"getControlList()"
>
<span>
<el-option
v-for=
"item in BranchAuditStateType"
:label=
"item.Name"
:value=
"item.Id"
<em>
团号
</em>
:key=
"item.Id"
></el-option>
<el-input
maxlength=
"50"
v-model=
"msg.TCNUM"
class=
"permiss-input w200"
size=
"small"
</el-select>
@
keyup
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
clearable
@
clear=
"getControlList"
>
</span>
</el-input>
</li>
</span>
<li>
</li>
<span>
<li>
<em>
团号
</em>
<span>
<el-input
maxlength=
"50"
v-model=
"msg.TCNUM"
class=
"permiss-input w200"
size=
"small"
<em>
申请日期
</em>
@
keyup
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
<el-date-picker
style=
"width: 300px;"
v-model=
"StartTime"
format=
'yyyy-MM-dd'
value-format=
"yyyy-MM-dd"
</span>
size=
"small"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
</li>
@
change=
"getStartTime"
clearable
>
<li
v-if=
"false"
>
</el-date-picker>
<span>
</span>
<em>
编号
</em>
</li>
<el-input
maxlength=
"6"
v-model=
"msg.TCID"
class=
"permiss-input 200"
size=
"small"
<li>
@
keyup
.
native
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
<button
class=
"hollowFixedBtn"
type=
"button"
@
click=
"getControlList"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
@
keyup
.
native=
"checkInteger(msg,'TCID')"
></el-input>
</li>
</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>
</ul>
</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"
>
<el-dialog
custom-class=
"w600"
title=
"驳回缘由"
:visible
.
sync=
"cancelOrderDialog"
>
<li
style=
"margin-bottom:10px;width: 100%;"
>
<div
style=
"padding-bottom:20px"
>
<el-input
type=
"textarea"
autofocus
rows=
"5"
placeholder=
"请填写驳回该团的缘由"
clear=
"w300"
v-model=
"cancelRemark"
>
</li>
</el-input>
</ul>
<el-row
:gutter=
"20"
style=
"margin-top: 20px;"
>
<el-table
<el-col
:span=
"24"
style=
"text-align: right;"
>
v-loading=
"loading"
<el-button
class=
"normalBtn"
value=
""
@
click=
"cancelOrderHandler"
:loading=
"loading"
>
确定驳回
</el-button>
ref=
"multipleTable"
<el-button
class=
"hollowFixedBtn"
@
click=
"cancelOrderDialog = false,cancelRemark=''"
>
关闭
</el-button>
:data=
"dataList"
</el-col>
tooltip-effect=
"dark"
</el-row>
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>
</div>
</div>
</el-dialog>
<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>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
export
default
{
export
default
{
components
:
{
components
:
{
},
},
data
()
{
data
()
{
return
{
return
{
StartTime
:[],
StartTime
:
[],
groupType
:[
groupType
:
[{
{
Name
:
'不限'
,
Id
:
-
1
},
Name
:
'不限'
,
{
Name
:
'小包团'
,
Id
:
1
},
Id
:
-
1
{
Name
:
'当地游'
,
Id
:
2
},
},
{
Name
:
'常规团'
,
Id
:
0
}
{
],
Name
:
'小包团'
,
BranchAuditStateType
:[
Id
:
1
{
Name
:
'不限'
,
Id
:
-
1
},
},
{
Name
:
'待审核'
,
Id
:
1
},
{
{
Name
:
'通过'
,
Id
:
2
},
Name
:
'当地游'
,
{
Name
:
'驳回'
,
Id
:
3
}
Id
:
2
],
},
companyList
:[],
{
cancelRemark
:
''
,
Name
:
'常规团'
,
dataRow
:
null
,
Id
:
0
cancelOrderDialog
:
false
,
}
loading
:
false
,
],
dataList
:
[],
BranchAuditStateType
:
[{
active
:
'1'
,
Name
:
'不限'
,
msg
:
{
Id
:
-
1
pageIndex
:
1
,
},
pageSize
:
10
,
{
TCNUM
:
''
,
//团号
Name
:
'待审核'
,
TeamType
:
-
1
,
//团队类型 0-常规,1-小包团,2-当地游
Id
:
1
OutBranchId
:
-
1
,
},
QStartDate
:
''
,
{
QEndDate
:
''
,
Name
:
'通过'
,
BranchAuditState
:
-
1
Id
:
2
},
},
TeamListArr
:[],
{
total
:
0
,
Name
:
'驳回'
,
EmployeeId
:
0
,
Id
:
3
multipleSelection
:
[],
AuditLoading
:
false
,
dialog
:
{
show
:
false
,
ConfigId
:
''
,
OfferId
:
''
},
getCompanyMsg
:{
RB_Group_Id
:
'0'
,
Status
:
'0'
,
},
}
}
],
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
()
{
getCompany
()
{
var
myDate
=
new
Date
();
this
.
apipost
(
'admin_get_BranchGetList'
,
this
.
getCompanyMsg
,
res
=>
{
var
MonthDayNum
=
new
Date
(
myDate
.
getFullYear
(),
myDate
.
getMonth
(),
0
).
getDate
();
if
(
res
.
data
.
resultCode
==
1
)
{
var
StartTime
=
`
${
myDate
.
getFullYear
()}
-
${
myDate
.
getMonth
()
+
1
}
-01`
this
.
companyList
=
res
.
data
.
data
;
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
}
}
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
()
{
cancelOrderHandler
()
{
this
.
getList
()
if
(
!
this
.
cancelRemark
)
return
this
.
Error
(
'请输入驳回缘由'
)
let
that
=
this
;
that
.
$confirm
(
'是否驳回该团?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
//掉接口
this
.
groupAudit
(
3
,
this
.
dataRow
.
TCID
)
}).
catch
(()
=>
{
});
},
},
methods
:
{
bohui
(
item
)
{
getStartTime
(){
this
.
dataRow
=
item
if
(
this
.
StartTime
.
length
==
2
){
this
.
cancelOrderDialog
=
true
this
.
msg
.
QStartDate
=
this
.
StartTime
[
0
]
return
this
.
msg
.
QEndDate
=
this
.
StartTime
[
1
]
},
}
else
{
groupAudit
(
type
,
TCID
,
name
,
length
)
{
this
.
msg
.
QStartDate
=
''
let
msg
=
{
this
.
msg
.
QEndDate
=
''
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
){
goTravel
(
item
)
{
//跳转到团队列表
let
userInfo
=
this
.
getLocalStorage
();
var
newPath
=
"TravelControlList"
;
let
name
if
(
item
.
TeamType
==
1
)
{
if
(
type
==
1
){
//国内
newPath
=
"TravelControlListSale"
name
=
'domesticCommissiondetails'
}
}
else
if
(
type
==
2
){
//单项
if
(
item
.
TeamType
==
2
)
{
name
=
'ServiceCommissiondetails'
newPath
=
"oneDayTrip"
}
else
if
(
type
==
3
){
//台湾
name
=
'domesticCommissiondetailsTW'
}
else
if
(
type
==
4
){
//同业
name
=
'TradeTicketDetails'
}
}
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
name
,
path
:
newPath
,
query
:
{
query
:
{
T
ype
:
1
,
T
CID
:
item
.
TCID
,
TCNUM
:
row
.
TCNUM
,
blank
:
'y'
,
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
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.groupApproval
.singeRowTable
{
.groupApproval
.singeRowTable
{
margin-top
:
20px
;
margin-top
:
20px
;
}
}
._nav
{
._nav
{
margin
:
20px
0
0
0
;
margin
:
20px
0
0
0
;
background-color
:
#f5f5f5
;
background-color
:
#f5f5f5
;
}
}
._nav
li
{
._nav
li
{
float
:
left
;
float
:
left
;
font-size
:
14px
;
font-size
:
14px
;
color
:
#666666
;
color
:
#666666
;
padding
:
15px
20px
;
padding
:
15px
20px
;
cursor
:
pointer
;
cursor
:
pointer
;
position
:
relative
;
position
:
relative
;
background-color
:
#f1f1f1
;
background-color
:
#f1f1f1
;
margin-right
:
5px
margin-right
:
5px
}
}
._nav
li
._active
{
._nav
li
._active
{
background-color
:
#FFFFFF
;
background-color
:
#FFFFFF
;
color
:
#333333
color
:
#333333
}
}
._nav
li
._active
::after
{
._nav
li
._active
::after
{
content
:
""
;
content
:
""
;
width
:
20px
;
width
:
20px
;
height
:
3px
;
height
:
3px
;
background-color
:
#E95252
;
background-color
:
#E95252
;
display
:
inline-block
;
display
:
inline-block
;
position
:
absolute
;
position
:
absolute
;
bottom
:
0
;
bottom
:
0
;
left
:
38%
;
left
:
38%
;
}
}
._icon_btn
i
{
._icon_btn
i
{
width
:
30px
;
width
:
30px
;
height
:
30px
;
height
:
30px
;
display
:
inline-block
;
display
:
inline-block
;
color
:
white
!important
;
color
:
white
!important
;
border-radius
:
50%
;
border-radius
:
50%
;
text-align
:
center
;
text-align
:
center
;
line-height
:
30px
;
line-height
:
30px
;
margin-right
:
10px
;
margin-right
:
10px
;
cursor
:
pointer
;
cursor
:
pointer
;
outline
:
none
;
outline
:
none
;
}
}
._icon_btn
i
.icon-ico_commodity_defaul
{
._icon_btn
i
.icon-ico_commodity_defaul
{
background-color
:
#F16C3C
;
background-color
:
#F16C3C
;
}
}
._icon_btn
i
.icon-ico_commodity_defaul
:hover
{
._icon_btn
i
.icon-ico_commodity_defaul
:hover
{
background-color
:
#e87c54
background-color
:
#e87c54
}
}
._icon_btn
i
.icon-ico_commodity_defaul
:active
{
._icon_btn
i
.icon-ico_commodity_defaul
:active
{
background-color
:
#f76630
background-color
:
#f76630
}
}
._icon_btn
i
.icon-shenhebohui
{
._icon_btn
i
.icon-shenhebohui
{
background-color
:
#E95252
background-color
:
#E95252
}
}
._icon_btn
i
.icon-mingxi
{
._icon_btn
i
.icon-mingxi
{
background-color
:
rgb
(
71
,
191
,
140
)
background-color
:
rgb
(
71
,
191
,
140
)
}
}
</
style
>
</
style
>
src/components/newTravelmanager/TravelGroupControl/TravelFeature.vue
View file @
d7832d10
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<span
class=
"foldList"
@
click=
"fold"
v-if=
"isFold==1"
>
{{
$t
(
'sm.djzk'
)
}}
</span>
<span
class=
"foldList"
@
click=
"fold"
v-if=
"isFold==1"
>
{{
$t
(
'sm.djzk'
)
}}
</span>
<template
v-if=
"true"
>
<template
v-if=
"true"
>
<span
v-if=
"FeatureData.FeatureType==9"
class=
"foldList"
style=
"margin-right: 5px;"
<span
v-if=
"FeatureData.FeatureType==9"
class=
"foldList"
style=
"margin-right: 5px;"
@
click=
"journeyTemplate()"
>
编辑行程
</span>
@
click=
"journeyTemplate()"
>
编辑行程
</span>
</
template
>
</
template
>
<div
class=
"TrfList clearfix"
>
<div
class=
"TrfList clearfix"
>
<!--&&item.TypeState!=8-->
<!--&&item.TypeState!=8-->
...
@@ -122,7 +122,7 @@
...
@@ -122,7 +122,7 @@
<!-- ppt 模版行程 -->
<!-- ppt 模版行程 -->
<div
v-if=
"FeatureData.FeatureType==9&&FeatureDataFlag"
v-loading=
"iframeLoading"
>
<div
v-if=
"FeatureData.FeatureType==9&&FeatureDataFlag"
v-loading=
"iframeLoading"
>
<iframe
name=
"myIframe"
:src=
"myIframeUrl"
style=
"width: 100%;border: 0;"
<iframe
name=
"myIframe"
:src=
"myIframeUrl"
style=
"width: 100%;border: 0;"
:style=
"{'height':myIframeHeigth+'px'}"
>
:style=
"{'height':myIframeHeigth+'px'}"
>
</iframe>
</iframe>
<!-- <div v-if="FeatureData.TripImageListNew&&FeatureData.TripImageListNew.length>0">
<!-- <div v-if="FeatureData.TripImageListNew&&FeatureData.TripImageListNew.length>0">
<template v-for="url in FeatureData.TripImageListNew">
<template v-for="url in FeatureData.TripImageListNew">
...
@@ -132,7 +132,8 @@
...
@@ -132,7 +132,8 @@
:preview-src-list="FeatureData.TripImageListNew"></el-image>
:preview-src-list="FeatureData.TripImageListNew"></el-image>
</template>
</template>
</div> -->
</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>
</div>
</div>
</div>
...
@@ -140,7 +141,7 @@
...
@@ -140,7 +141,7 @@
<!-- ppt 模版新增编辑窗口 -->
<!-- ppt 模版新增编辑窗口 -->
<pptIframe
v-show=
"dialogPptistVisible"
:FeaturePageType=
"dataAll.FeaturePageType"
:Url=
"TemplateUrl"
<pptIframe
v-show=
"dialogPptistVisible"
:FeaturePageType=
"dataAll.FeaturePageType"
:Url=
"TemplateUrl"
@
close=
"closeIframe()"
></pptIframe>
@
close=
"closeIframe()"
></pptIframe>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
...
@@ -281,8 +282,8 @@
...
@@ -281,8 +282,8 @@
CurrentUserInfo
:
{},
CurrentUserInfo
:
{},
dialogPptistVisible
:
false
,
dialogPptistVisible
:
false
,
userInfo
:
{},
userInfo
:
{},
TemplateUrl
:
''
,
// 模版 修改url
TemplateUrl
:
''
,
// 模版 修改url
myIframeUrl
:
''
,
//行程特色url
myIframeUrl
:
''
,
//行程特色url
myIframeHeigth
:
0
,
myIframeHeigth
:
0
,
isPostMessage
:
false
,
isPostMessage
:
false
,
PostMessageText
:
''
,
PostMessageText
:
''
,
...
@@ -294,38 +295,44 @@
...
@@ -294,38 +295,44 @@
},
},
methods
:
{
methods
:
{
closeIframe
(){
closeIframe
()
{
this
.
dialogPptistVisible
=
false
this
.
dialogPptistVisible
=
false
},
},
handleMessage
(
event
,
targetOrigin
)
{
handleMessage
(
event
,
targetOrigin
)
{
if
(
this
.
isPostMessage
)
return
console
.
log
(
"event"
,
event
);
if
(
event
.
data
&&
event
.
data
.
data
&&!
event
.
data
.
data
)
return
console
.
log
(
"event.data"
,
event
.
data
);
if
(
event
&&
event
.
data
)
{
if
(
this
.
isPostMessage
)
return
if
(
event
.
data
==
'行程数据保存成功'
||
event
.
data
.
indexOf
(
'行程特色高'
)
!=-
1
)
{
if
(
event
.
data
&&
event
.
data
.
data
&&
!
event
.
data
.
data
)
return
// this.$emit('ConfigInfo',this.myIframeUrl)
if
(
event
&&
event
.
data
)
{
this
.
PostMessageText
=
''
try
{
//行程特色高
if
(
event
.
data
==
'行程数据保存成功'
||
event
.
data
.
indexOf
(
'行程特色高'
)
!=
-
1
)
{
if
(
event
.
data
&&
typeof
(
event
.
data
)
==
'string'
&&
event
.
data
.
indexOf
(
'行程特色高'
)
!=-
1
)
{
// this.$emit('ConfigInfo',this.myIframeUrl)
let
datas
=
event
.
data
.
split
(
'-'
)
this
.
PostMessageText
=
''
this
.
myIframeHeigth
=
datas
[
1
];
//行程特色高
this
.
isPostMessage
=
true
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
()}
`
}
catch
{
this
.
$emit
(
'pptJourney'
,
true
)
}
else
if
(
event
.
data
==
'暂无行程数据'
)
{
this
.
PostMessageText
=
event
.
data
this
.
$emit
(
'pptJourney'
,
false
)
this
.
isPostMessage
=
false
}
}
}
}
this
.
iframeLoading
=
false
;
this
.
iframeLoading
=
false
},
},
// 添加编辑模版
// 添加编辑模版
journeyTemplate
(){
journeyTemplate
()
{
this
.
isPostMessage
=
false
this
.
isPostMessage
=
false
;
let
href
=
this
.
domainManager
().
PptUrl
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.TemplateUrl=`${href}/index/${this.userInfo.EmployeeId}/${this.FeatureData.ConfigId}/0/${this.dataAll.FeaturePageType}`
this
.
dialogPptistVisible
=
true
this
.
dialogPptistVisible
=
true
},
},
...
@@ -560,10 +567,10 @@
...
@@ -560,10 +567,10 @@
});
});
}
}
this
.
initFileList
();
this
.
initFileList
();
if
(
this
.
FeatureData
.
FeatureType
==
9
)
{
if
(
this
.
FeatureData
.
FeatureType
==
9
)
{
// this.iframeLoading = true
// this.iframeLoading = true
if
(
document
.
all
.
myIframe
)
{
if
(
document
.
all
.
myIframe
)
{
document
.
all
.
myIframe
.
src
=
this
.
myIframeUrl
+
`&t=
${
new
Date
().
getTime
()}
`
document
.
all
.
myIframe
.
src
=
this
.
myIframeUrl
+
`&t=
${
new
Date
().
getTime
()}
`
}
}
}
}
...
@@ -638,30 +645,30 @@
...
@@ -638,30 +645,30 @@
}
}
},
},
mounted
()
{
mounted
()
{
window
.
addEventListener
(
'message'
,
this
.
handleMessage
,
false
);
window
.
addEventListener
(
'message'
,
this
.
handleMessage
,
false
);
this
.
userInfo
=
this
.
getLocalStorage
()
this
.
userInfo
=
this
.
getLocalStorage
()
let
userInfo
=
this
.
getLocalStorage
()
let
userInfo
=
this
.
getLocalStorage
()
this
.
CurrentUserInfo
=
userInfo
this
.
CurrentUserInfo
=
userInfo
this
.
MsgBus
.
$on
(
'FeatureDataFlag'
,
()
=>
{
this
.
MsgBus
.
$on
(
'FeatureDataFlag'
,
()
=>
{
this
.
FeatureDataFlag
=
true
this
.
FeatureDataFlag
=
true
});
});
let
obj
=
this
.
TypeArray
.
find
(
x
=>
{
let
obj
=
this
.
TypeArray
.
find
(
x
=>
{
return
x
.
TypeState
==
this
.
FeatureData
.
FeatureType
return
x
.
TypeState
==
this
.
FeatureData
.
FeatureType
})
})
if
(
obj
)
{
if
(
obj
)
{
this
.
clickFeature
(
obj
)
this
.
clickFeature
(
obj
)
}
}
this
.
myIframeUrl
=
`
${
this
.
domainManager
().
PptUrl
}
/?uid=
${
this
.
userInfo
.
EmployeeId
}
&ConfigId=
${
this
.
$route
.
query
.
configId
}
&index=0&model=3&w=1108`
this
.
myIframeUrl
=
if
(
document
.
all
.
myIframe
){
`
${
this
.
domainManager
().
PptUrl
}
/?uid=
${
this
.
userInfo
.
EmployeeId
}
&ConfigId=
${
this
.
$route
.
query
.
configId
}
&index=0&model=3&w=1108`
document
.
all
.
myIframe
.
src
=
this
.
myIframeUrl
+
`&t=
${
new
Date
().
getTime
()}
`
if
(
document
.
all
.
myIframe
)
{
document
.
all
.
myIframe
.
src
=
this
.
myIframeUrl
+
`&t=
${
new
Date
().
getTime
()}
`
}
}
},
},
watch
:
{
watch
:
{
dataAll
:{
dataAll
:
{
handler
:
function
(
val
,
oldVal
)
{
handler
:
function
(
val
,
oldVal
)
{},
},
deep
:
true
,
deep
:
true
,
immediate
:
true
immediate
:
true
},
},
FeatureData
:
{
FeatureData
:
{
//深度监听,可监听到对象、数组的变化
//深度监听,可监听到对象、数组的变化
...
@@ -671,7 +678,7 @@
...
@@ -671,7 +678,7 @@
},
},
deep
:
true
,
deep
:
true
,
immediate
:
true
immediate
:
true
},
},
"FeatureData.fileList"
:
{
"FeatureData.fileList"
:
{
handler
:
function
(
val
,
oldval
)
{
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