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
188005bd
Commit
188005bd
authored
Apr 24, 2019
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
89e2b564
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
2573 additions
and
0 deletions
+2573
-0
FreelineManagement.vue
src/components/activity/FreelineManagement.vue
+1376
-0
ItineraryCustomizer.vue
src/components/activity/ItineraryCustomizer.vue
+619
-0
RegimentLabel.vue
src/components/activity/RegimentLabel.vue
+96
-0
Rotationchart.vue
src/components/activity/Rotationchart.vue
+482
-0
No files found.
src/components/activity/FreelineManagement.vue
0 → 100644
View file @
188005bd
<
style
>
@import
"../../assets/css/newTravelManager.css"
;
.TC_companyList
span
,
.TC_OtherCompany
span
{
display
:
inline-block
;
font-size
:
12px
;
padding
:
5px
10px
;
border
:
1px
solid
#d1d1d1
;
margin
:
5px
10px
0
0
;
border-radius
:
4px
;
cursor
:
pointer
;
}
.TC_companyList
span
:first-child
{
margin-right
:
20px
;
}
.TC_companyList
{
padding-top
:
15px
;
margin-left
:
32px
;
}
.TC_checked
{
border
:
1px
solid
#d95454
!important
;
box-sizing
:
border-box
;
}
.TC_OtherCompany
{
margin
:
0
0
20px
20px
;
}
.TC_customerInfo
tbody
th
{
height
:
40px
;
text-align
:
center
;
}
.TC_firTable
td
{
height
:
20px
!important
;
text-align
:
center
!important
;}
.TC_midTable
td
{
text-align
:
center
!important
;}
.TC_showUnion
{
float
:
right
;
color
:
#2aaef2
;
cursor
:
pointer
;
margin-bottom
:
10px
;}
</
style
>
<
template
>
<div>
<div
class=
"TC_Content TC-MyList"
>
<div
class=
"query-box"
>
<div
class=
"TC_companyList"
>
<span
:class=
"
{'TC_checked':queryMsg.FreeRecommendType==1}" @click="GetList(1)">当季精选特惠
</span>
<span
:class=
"
{'TC_checked':queryMsg.FreeRecommendType==2}" @click="GetList(2)">热门速成自由行
</span>
<!--
<span
:class=
"
{'TC_checked':queryCommonData.checkCompanyAll}" @click="getCompanyCheckAll()">全部
</span>
<span
v-for=
"(item,bindex) in queryCommonData.BranchList"
:class=
"
{'TC_checked':item.isShow}" @click="getCompanyCheck(item)">
{{
item
.
BName
}}
</span>
-->
<input
style=
"float:right"
type=
"button"
class=
"normalBtn"
value=
"添加"
@
click=
"addList"
/>
</div>
<!--
<ul>
<li>
<span>
<em>
所属线路
</em>
<el-select
class=
"w150"
v-model=
"queryMsg.LineId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList()"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for=
"item in queryCommonData.LineList"
:label=
"item.LineName"
:value=
"item.LineID"
:key=
"item.LineID"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
系列名称
</em>
<el-select
class=
"w150"
v-model=
"queryMsg.LineteamId"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for=
"item in queryCommonData.LineTeamList"
:label=
"item.LtName"
:value=
"item.LtID"
:key=
"item.LtID"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
团号
</em>
<el-input
maxlength=
"50"
v-model=
"queryMsg.TCNUM"
class=
"permiss-input w150"
@
keyup
.
native
.
enter=
"getControlList"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</span>
</li>
<li>
<span>
<em>
发团日期
</em>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.StartGroupDate"
:picker-options=
"pickerBeginDateBefore"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
<el-date-picker
class=
"w150"
type=
"date"
v-model=
"queryMsg.EndGroupDate"
:picker-options=
"pickerBeginDateAfter"
value-format=
"yyyy-MM-dd"
placeholder
></el-date-picker>
</span>
</li>
<li
class=
"advancedLi"
style=
"height:34px;"
>
<el-popover
popper-class=
"advanceQueryList"
v-model=
"queryCommonData.showHigradeSearch"
trigger=
"click"
>
<div>
<div
class=
"TC_queryTitle"
>
团控高级查询
</div>
<div
class=
"clearfix"
>
<div
class=
"TC_leftSearch"
>
<div>
<span>
航空公司
</span>
<el-select
v-model=
"queryMsg.AirTicketId"
filterable
:placeholder=
"$t('system.ph_buxian')"
class=
"w150"
>
<el-option
:label=
"$t('system.ph_buxian')"
:value=
"queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for=
"item in queryCommonData.AirlineList"
:key=
"item.AirLineId"
:label=
"item.AlName"
:value=
"item.AirLineId"
></el-option>
</el-select>
</div>
<div>
<span>
操作人员
</span>
<el-select
class=
"w150"
v-model=
"queryMsg.CreateBy"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for=
"item in queryCommonData.EmployeeList"
:label=
"item.EmName"
:value=
"item.EmployeeId"
:key=
"item.EmployeeId"
></el-option>
</el-select>
</div>
<div>
<span>
行程天数
</span>
<el-input
maxlength=
"50"
v-model=
"queryMsg.DayNum"
@
keyup
.
native=
"checkInteger(queryMsg,'DayNum')"
class=
"w150"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</div>
<div>
<span>
联运城市
</span>
<el-select
class=
"w150"
filterable
v-model=
"queryMsg.UnionCityId"
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"queryCommonData.SelectDefaultValue"
></el-option>
<el-option
v-for=
"item in queryCommonData.CityList"
:label=
"item.Name"
:value=
"item.ID"
:key=
"item.ID"
></el-option>
</el-select>
</div>
</div>
<div
class=
"TC_rightSearch"
>
<div>
<span>
团队人数
</span>
<el-input
maxlength=
"50"
class=
"w80"
v-model=
"queryMsg.TeamMinNum"
@
keyup
.
native=
"checkInteger(queryMsg,'TeamMinNum')"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
-
<el-input
maxlength=
"50"
class=
"w80"
v-model=
"queryMsg.TeamMaxNum"
@
keyup
.
native=
"checkInteger(queryMsg,'TeamMaxNum')"
@
blur=
"checkTeamNum(queryMsg)"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</div>
<div>
<span>
报名人数
</span>
<el-input
maxlength=
"50"
class=
"w80"
v-model=
"queryMsg.ApplyMinNum"
@
keyup
.
native=
"checkInteger(queryMsg,'ApplyMinNum')"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
-
<el-input
maxlength=
"50"
class=
"w80"
v-model=
"queryMsg.ApplyMaxNum"
@
keyup
.
native=
"checkInteger(queryMsg,'ApplyMaxNum')"
@
blur=
"checkTeamNum(queryMsg)"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</div>
<div
class=
"OnlyShowOverTeam"
>
<span>
只看报超团
</span>
<el-switch
v-model=
"queryMsg.OnlyShowOverTeam"
active-value=
"true"
inactive-value=
"false"
></el-switch>
</div>
<div>
<span>
销售公司
</span>
<el-select
class=
"w180 multiple_input"
:class=
"
{'SaleBranchList':queryMsg.SaleBranchId==''}"
v-model="queryMsg.SaleBranchId" multiple>
<el-option
v-for=
"item in queryCommonData.companyList"
:key=
"item.id"
:label=
"item.bName"
:value=
"item.id"
></el-option>
</el-select>
</div>
</div>
</div>
<div
class=
"comSearchDiv"
>
<span>
团队状态
</span>
<span>
<el-checkbox
v-model=
"queryCommonData.checkTCStateAll"
@
change=
"checkAllTeam"
>
全选
</el-checkbox>
<el-checkbox-group
v-model=
"queryMsg.TCState"
@
change=
"checkedTeamList"
>
<el-checkbox
v-for=
"team in $tripUtils.TeamStatesList.TeamStates"
:label=
"team.Id"
:key=
"team.Name"
>
{{
team
.
Name
}}
</el-checkbox>
</el-checkbox-group>
</span>
</div>
<div
class=
"comSearchDiv"
>
<span>
销售平台
</span>
<span>
<el-checkbox
v-model=
"queryCommonData.checkPlatForm"
@
change=
"checkAllSales"
>
全选
</el-checkbox>
<el-checkbox-group
v-model=
"queryMsg.SalePlat"
@
change=
"checkSales"
>
<el-checkbox
v-for=
"sales in $tripUtils.TeamStatesList.salsPlat"
:label=
"sales.Id"
:key=
"sales.Name"
>
{{
sales
.
Name
}}
</el-checkbox>
</el-checkbox-group>
</span>
</div>
<div
class=
"comSearchDiv"
>
<span>
团期状态
</span>
<span>
<el-checkbox
v-model=
"queryCommonData.checkGroupALL"
@
change=
"checkGroupAll"
>
全选
</el-checkbox>
<el-checkbox-group
v-model=
"queryMsg.GroupState"
@
change=
"checkGroup"
>
<el-checkbox
v-for=
"state in $tripUtils.TeamStatesList.teamDateStates"
:label=
"state.Id"
:key=
"state.Name"
>
{{
state
.
Name
}}
</el-checkbox>
</el-checkbox-group>
<el-checkbox
v-model=
"queryMsg.IsWarning"
>
预警团
</el-checkbox>
</span>
</div>
<div
class=
"comSearchDiv"
>
<span>
航班状态
</span>
<span>
<el-checkbox-group
v-model=
"queryCommonData.flightCKed"
style=
"margin-left:0;"
>
<el-checkbox
v-for=
"state in flightStatus"
:label=
"state.Id"
:checked=
"state.Checked"
@
change=
"checkedFlight(state)"
:key=
"state.Name"
>
{{
state
.
Name
}}
</el-checkbox>
</el-checkbox-group>
</span>
</div>
<div
class=
"comSearchDiv"
>
<span>
联运状态
</span>
<span>
<el-select
class=
"w180 multiple_input"
v-model=
"queryMsg.IsShowUnion"
>
<el-option
:key=
"1"
label=
"显示"
:value=
"1"
></el-option>
<el-option
:key=
"0"
label=
"隐藏"
:value=
"0"
></el-option>
</el-select>
</span>
</div>
<button
class=
"normalBtn TC_SearchBtn"
@
click=
"getControlList(),resetPageIndex(),queryCommonData.showHigradeSearch=false"
>
查询
</button>
</div>
<span
class=
"advancedQuery"
slot=
"reference"
>
高级查询
<i
class=
"iconfont icon-xiaotuziCduan_1"
></i>
</span>
</el-popover>
</li>
<li
class=
"advancedLi"
style=
"height:34px;"
>
<el-popover
width=
"260"
v-model=
"queryCommonData.showWarningSearch"
trigger=
"click"
>
<div>
<div
class=
"TC_queryTitle"
>
团控预警查询
</div>
<div
class=
"clearfix"
>
<div
class=
"TC_leftSearch"
>
<div>
<span
style=
"display:inline-block;margin: 0 5px 0 0;width:50px;text-align:right;"
>
报名人数
</span>
<el-select
v-model=
"queryMsg.WarningQuery"
filterable
:placeholder=
"$t('system.ph_buxian')"
class=
"w150"
>
<el-option
:label=
"$t("
system
.
ph_buxian
")"
value=
"-1"
></el-option>
<el-option
label=
"尚未有人报名"
value=
"1"
></el-option>
<el-option
label=
"10人以下"
value=
"2"
></el-option>
<el-option
label=
"10人以上"
value=
"3"
></el-option>
<el-option
label=
"余位小于5人"
value=
"4"
></el-option>
<el-option
label=
"有候补人数"
value=
"5"
></el-option>
</el-select>
</div>
<div>
<span
style=
"display:inline-block;margin: 0 5px 0 0;width:50px;text-align:right;"
>
天数选择
</span>
<el-select
v-model=
"queryMsg.RateOnDay"
filterable
:placeholder=
"$t('system.ph_buxian')"
class=
"w150"
>
<el-option
:label=
"$t("
system
.
ph_buxian
")"
value=
"-1"
></el-option>
<el-option
label=
"10天以内"
value=
"1"
></el-option>
<el-option
label=
"15天以内"
value=
"2"
></el-option>
<el-option
label=
"20天以内"
value=
"3"
></el-option>
<el-option
label=
"20天以外"
value=
"4"
></el-option>
</el-select>
</div>
<div>
<span
style=
"display:inline-block;margin: 0 5px 0 0;width:50px;text-align:right;"
>
上座率
</span>
<el-select
v-model=
"queryMsg.RateOn"
filterable
:placeholder=
"$t('system.ph_buxian')"
class=
"w150"
>
<el-option
:label=
"$t("
system
.
ph_buxian
")"
value=
"-1"
></el-option>
<el-option
label=
"100%"
value=
"1"
></el-option>
<el-option
label=
"不足80%"
value=
"2"
></el-option>
<el-option
label=
"不足60%"
value=
"3"
></el-option>
<el-option
label=
"不足40%"
value=
"4"
></el-option>
</el-select>
</div>
</div>
</div>
<button
class=
"normalBtn TC_SearchBtn"
@
click=
"getControlList(),resetPageIndex(),queryCommonData.showWarningSearch=false"
>
查询
</button>
</div>
<span
class=
"advancedQuery"
slot=
"reference"
>
预警查询
<i
class=
"iconfont icon-xiaotuziCduan_1"
></i>
</span>
</el-popover>
</li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"getControlList(),resetPageIndex()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
</li>
</ul>
-->
</div>
<div
class=
"TravelTclList"
v-loading=
"queryCommonData.loading"
>
<ul>
<li
v-for=
"(item,index) in queryCommonData.dataList"
:key=
"index"
:class=
"
{'TC_hasContent':item.OPInnerRemark==''
&&
item.OPRemark==''}">
<div
class=
"TC_remarkContent TC_teamName"
>
<div
class=
"clearfix"
>
<div
class=
"TCL_remarkTitle"
>
团名:
</div>
<div
class=
"TCL_Content"
>
{{
item
.
Title
}}
</div>
</div>
</div>
<div>
<div
class=
"el-col"
style=
"position:relative;width:200px"
>
<div
v-if=
"item.IsWarning===1"
title=
"紧急团"
class=
"travel_warning"
></div>
<div>
<div
class=
"TC_teamType"
>
<span
v-if=
"item.IsB2B==0"
title=
"内部团"
>
内
</span>
</div>
<div
class=
"TCL-OutBranchName"
title=
"销售公司"
>
{{
item
.
OutBranchName
}}
</div>
<div
class=
"TCL-TOPTCNUM"
>
(
{{
item
.
TCID
}}
)
{{
item
.
TCNUM
}}
</div>
<div
class=
"d12"
style=
"float:none;margin:3px auto;"
>
<p>
<i
class=
"iconfont icon-biaoti1"
></i>
{{
item
.
LineName
}}
</p>
<p
class=
"d12p"
>
{{
item
.
LtName
}}
</p>
</div>
<div
class=
"TC_TravelSalePlat clearfix"
>
<span
class=
"TC_neibu"
v-if=
"item.TCState==3"
:class=
"
{'TCneibu':plat==3,'TCb2b':plat==1,'TCb2c':plat==2,'AppPlat':plat==4,'otherPlat':plat==5}"
v-for="plat in item.SalePlatList" :key="plat.subCode">
{{
$tripUtils
.
getPlatName
(
plat
)
}}
</span>
<span
class=
"TC_xiajia daiwanshan"
v-if=
"item.TCState==1"
>
待完善
</span>
<span
class=
"TC_xiajia"
v-if=
"item.TCState==2"
>
已下架
</span>
<span
class=
"TC_xiajia quxiao"
v-if=
"item.TCState==4"
>
已取消
</span>
</div>
</div>
</div>
<div
class=
"el-col"
style=
"width:200px;"
>
<div
class=
"d2"
>
<p
class=
"TCLflight_GO"
>
<i
class=
"iconfont icon-hangban1"
></i>
航班
</p>
<el-popover
width=
"900"
trigger=
"click"
popper-class=
"TC_tripDetails"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr
class=
"_color_666"
style=
"text-align:center;"
>
<th
width=
"60"
>
{{
$t
(
'Airticket.Air_segment'
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
'system.query_flightNum'
)
}}
</th>
<th
width=
"150"
>
起飞时间
</th>
<th
width=
"80"
>
到达时间
</th>
<th
width=
"100"
>
经停城市
</th>
</tr>
<tr
v-for=
"(ds,din) in item.flightList"
:key=
"din"
style=
"text-align:center;"
>
<td
class=
"_d_name _color_666"
>
<span
v-if=
"din==0"
>
{{
$t
(
'Airticket.Air_go'
)
}}
</span>
<span
v-else-if=
"din==item.flightList.length-1"
>
{{
$t
(
'Airticket.Air_returnTrip'
)
}}
</span>
<span
v-else-if=
"din>0 && din!=item.flightList.length-1"
>
{{
$t
(
'Airticket.Air_transit'
)
}}
</span>
</td>
<td>
<div>
{{
ds
.
Flight_number
}}
</div>
<div
style=
"margin-top:5px;"
>
{{
ds
.
AlName
}}
</div>
</td>
<td>
<div>
{{
ds
.
FlightDate
}}
{{
ds
.
Departure_time
}}
</div>
<div
style=
"margin-top:5px;"
>
{{
ds
.
dName
}}
</div>
</td>
<td>
<div>
{{
ds
.
FlightArrivalTime
}}
{{
ds
.
Arrival_time
}}
</div>
<div
style=
"margin-top:5px;"
>
{{
ds
.
aName
}}
</div>
</td>
<td>
{{
ds
.
StopoverName
}}
</td>
</tr>
</table>
<div
class=
"FlightDiv-TCL"
slot=
"reference"
>
<div
v-for=
"subItem in item.flightList"
slot=
"reference"
:key=
"subItem.subCode"
class=
"TCL-flighInfoList"
>
<span
class=
"travelnowrap"
>
<span
class=
"TCL-FlightNumber"
>
{{
subItem
.
Flight_number
}}
</span>
{{
subItem
.
DepartureName
}}
{{
subItem
.
StopoverName
==
""
?
""
:
"-"
+
subItem
.
StopoverName
}}
{{
subItem
.
ArrivalCityName
==
""
?
""
:
"-"
+
subItem
.
ArrivalCityName
}}
<span
v-if=
"subItem.FlightState==1"
class=
"TCL-greenType"
>
【OK】
</span>
<span
v-else
class=
"TCL-redType"
>
【暂定】
</span>
</span>
</div>
</div>
</el-popover>
</div>
</div>
<div
class=
"el-col"
style=
"width:220px;"
>
<div
class=
"d3"
>
<p>
<i
class=
"iconfont icon-tuandui"
></i>
团队信息
</p>
<p>
<em>
{{
item
.
DayNum
}}
天
{{
item
.
NightNum
}}
晚
</em>
</p>
<p
class=
"travelnowrap"
>
<span>
出发时间
</span>
{{
item
.
StartDate
}}
</p>
<p
class=
"travelnowrap"
>
<span>
出团通知书
</span>
{{
item
.
OutNotice
==
1
?
"OK"
:
"暂定"
}}
</p>
<p
class=
"travelnowrap"
>
<span>
出团公司
</span>
{{
item
.
OutBranchName
}}
</p>
</div>
</div>
<div
class=
"el-col"
style=
"width:190px;"
>
<div
class=
"d4"
>
<p>
<i
class=
"iconfont icon-jiage"
></i>
价格信息
</p>
<p
class=
"travelprice"
>
同业价:¥
{{
item
.
B2BMemberPrice
|
priceFormat
(
item
.
B2BMemberPrice
)
}}
</p>
<p
class=
"travelprice"
>
直客价:¥
{{
item
.
B2CMemberPrice
|
priceFormat
(
item
.
B2CMemberPrice
)
}}
</p>
<p>
<el-popover
width=
"700"
trigger=
"click"
popper-class=
"TC_customerInfo"
>
<table
width=
"100%"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
rowspan=
"2"
style=
"text-align:center"
width=
"60"
>
<i>
标准
</i>
</td>
<td
class=
"TC_cusTitle"
>
同行会员
</td>
<td><b>
{{
item
.
B2BMemberPrice
|
priceFormat
(
item
.
B2BMemberPrice
)
}}
</b></td>
<td
class=
"TC_cusTitle"
>
同行
</td>
<td><b>
{{
item
.
B2BPrice
|
priceFormat
(
item
.
B2BPrice
)
}}
</b></td>
<td
class=
"TC_cusTitle"
>
直客会员
</td>
<td><b>
{{
item
.
B2CMemberPrice
|
priceFormat
(
item
.
B2CMemberPrice
)
}}
</b></td>
<td
class=
"TC_cusTitle"
>
直客
</td>
<td><b>
{{
item
.
B2CPrice
|
priceFormat
(
item
.
B2CPrice
)
}}
</b></td>
</tr>
<tr>
<td
class=
"TC_cusTitle"
>
婴儿
</td>
<td><b>
{{
item
.
BabyPrice
|
priceFormat
(
item
.
BabyPrice
)
}}
</b></td>
<td
class=
"TC_cusTitle"
>
单地接价格
</td>
<td
colspan=
"5"
>
<b>
{{
item
.
SingleDMCPrice
|
priceFormat
(
item
.
SingleDMCPrice
)
}}
</b>
</td>
</tr>
<tr>
<td
rowspan=
"2"
style=
"text-align:center"
>
<i>
增收
</i>
</td>
<td
class=
"TC_cusTitle"
>
儿童占床
</td>
<td><b>
{{
(
item
.
ChildNeedPrice
)
|
priceFormat
(
item
.
ChildNeedPrice
)
}}
</b></td>
<td
class=
"TC_cusTitle"
>
儿童附加费
</td>
<td><b>
{{
item
.
BabyChargePrice
|
priceFormat
(
item
.
BabyChargePrice
)
}}
</b></td>
<td
class=
"TC_cusTitle"
>
老人附加费
</td>
<td><b>
{{
item
.
OldManChargePrice
|
priceFormat
(
item
.
OldManChargePrice
)
}}
</b></td>
<td
class=
"TC_cusTitle"
>
签证费
</td>
<td><b>
{{
item
.
VisaPrice
|
priceFormat
(
item
.
VisaPrice
)
}}
</b></td>
</tr>
<tr>
<td
class=
"TC_cusTitle"
>
单房差
</td>
<td><b>
{{
item
.
SingleRoomPrice
|
priceFormat
(
item
.
SingleRoomPrice
)
}}
</b></td>
<td
class=
"TC_cusTitle"
>
保险
</td>
<td><b>
{{
item
.
SafeMoney
|
priceFormat
(
item
.
SafeMoney
)
}}
</b></td>
<td
class=
"TC_cusTitle"
>
杂费
</td>
<td
colspan=
"3"
><b>
{{
item
.
OtherPrice
|
priceFormat
(
item
.
OtherPrice
)
}}
</b></td>
</tr>
<tr>
<td
style=
"text-align:center"
>
<i>
减免
</i>
</td>
<td
class=
"TC_cusTitle"
>
儿童不占床
</td>
<td><b>
{{
item
.
ChildNoNeedPrice
|
priceFormat
(
item
.
ChildNoNeedPrice
)
}}
</b></td>
<td
class=
"TC_cusTitle"
>
退签证费
</td>
<td
colspan=
"6"
><b>
{{
item
.
BackVisaPrice
|
priceFormat
(
item
.
BackVisaPrice
)
}}
</b></td>
</tr>
</table>
<span
slot=
"reference"
class=
"price"
>
查看价格明细
</span>
</el-popover>
</p>
</div>
</div>
<div
class=
"el-col"
style=
"width:150px;"
>
<div
class=
"d5"
>
<p>
<i
class=
"iconfont icon-tuanwei"
></i>
团位信息
</p>
<p>
<span>
当前余位
</span>
<i>
{{
item
.
SurplusSeat
=
item
.
SurplusSeat
<
0
?
0
:
item
.
SurplusSeat
}}
</i>
</p>
<p>
<span>
已报入
</span>
<i>
{{
item
.
OrderGuestNum
}}
<span
class=
"TCL-redType"
v-if=
"item.OrderLeaderGuestNum>=1"
>
+
{{
item
.
OrderLeaderGuestNum
}}
</span>
人
</i>
</p>
<p>
<span>
占位
</span>
<i>
{{
item
.
Occupied
}}
</i>
人
</p>
<p
class=
"travelnowrap"
>
<span>
候补
</span>
<span
v-if=
"item.IsSubstitution==1"
class=
"TCL-greenType"
>
允许候补
</span>
<span
v-else
class=
"TCL-redType"
>
不允许候补
</span>
</p>
<p>
<span>
领队
</span>
<span
v-if=
"item.LeaderName==null"
class=
"TCL-redType"
>
尚未指派
</span>
<span
v-else
class=
"TCL-greenType"
>
{{
item
.
LeaderName
}}
</span>
</p>
</div>
</div>
<div
class=
"el-col"
style=
"width:130px;"
>
<div
class=
"d5 TC-oparation"
>
<p>
<i
class=
"iconfont icon-yuangong"
></i>
操作OP
</p>
<div
class=
"clearfix TC-OpInfo"
>
<div
class=
"TC-leftIMG"
>
<img
v-if=
"item.OPPhoto"
:src=
"item.OPPhoto"
alt
>
<img
v-else
src=
"../../assets/img/default_head_img.jpg"
alt
>
</div>
<div
class=
"TC-OPName"
>
{{
item
.
OPName
}}
</div>
</div>
<div
class=
"TC_SeatList"
>
头等舱:
{{
item
.
FSeat
}}
</div>
<div
class=
"TC_SeatList"
>
商务舱:
{{
item
.
CSeat
}}
</div>
<div
class=
"TC_SeatList"
>
经济舱:
{{
item
.
YSeat
}}
</div>
</div>
</div>
<div
class=
"el-col"
style=
"width:200px;"
>
<div
class=
"d3"
>
<p>
<i
class=
"iconfont icon-wenxintishi"
></i>
温馨提示
</p>
<p
v-if=
"item.VisaType"
>
<span>
签证类型
</span>
<span
v-if=
"item.VisaType==1"
>
个签
</span>
<span
v-else-if=
"item.VisaType==2"
>
团签
</span>
</p>
<p>
<span>
送签日期
</span>
<span
class=
"TCL-redType"
>
{{
item
.
SendVisaTime
}}
</span>
</p>
<p>
<span>
出签日期
</span>
{{
item
.
OutVisaTime
}}
</p>
<p>
<span>
开票日期
</span>
{{
item
.
TicketDeadline
}}
</p>
<p
v-if=
"item.LineID==2&&item.EuropeVisaType>0"
>
<span>
<span
v-if=
"item.EuropeVisaType"
>
欧洲签证类型
</span>
<span
v-if=
"item.EuropeVisaType==1"
>
英国签证
</span>
<span
v-else-if=
"item.EuropeVisaType==2"
>
申根签证
</span>
</span>
</p>
<p
v-if=
"item.LineID==2&&item.EuropeVisaType>0&&item.EuropeVisaType==2"
>
<span>
<span
v-if=
"item.EuropeVisaName"
>
欧洲签证名称
</span>
<span>
{{
item
.
EuropeVisaName
}}
</span>
</span>
</p>
<p
v-if=
"item.VisaFileList.length!==0"
>
<span>
签证资料
</span>
</p>
<p
v-if=
"item.VisaFileList.length!==0"
v-for=
"(item2, index2) in item.VisaFileList"
:key=
"index2"
>
<span
style=
"cursor:pointer;text-decoration: underline;"
@
click=
"downloadFile(item2)"
>
{{
item2
.
Name
}}
</span>
</p>
<p>
<span>
个签
</span>
{{
item
.
SignVisaNum
}}
<span
style=
"margin-left:10px;"
>
团签
</span>
{{
item
.
GroupVisaNum
}}
</p>
</div>
</div>
<div
class=
"el-col"
>
<div
class=
"d7"
>
<el-button
@
click
.
native=
'Delete(item)'
type=
"primary"
style=
"background:#00C6FF; border-color:#00C6FF"
>
删除
</el-button>
<!--
<el-button
@
click
.
native=
'goUrl("RegistrationList", item.TCID,"报名清单")'
type=
"primary"
style=
"background:#00C6FF; border-color:#00C6FF"
>
报名清单
</el-button>
<el-dropdown
trigger=
"click"
style=
"margin-bottom:5px;"
>
<span
class=
"el-dropdown-link"
>
修改
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
class=
"TC-dropdown"
>
<el-dropdown-item
@
click
.
native=
"goToOpenTravel('TravelManager3',item.ID,0)"
>
系列团修改
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
"goToOpenTravel('TravelManager3',item.ID,item.TCID)"
>
当团修改
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-button
@
click=
'goUrlMake("GroupAdvertising",item.LineID,item.TCID,"团期广告")'
type=
"primary"
style=
"background:#67c23a; border-color:#67c23a"
>
广告
{{
item
.
AdvertCount
}}
</el-button>
<el-button
@
click=
"ckOPremark(item)"
type=
"primary"
style=
"background:#F16C3C; border-color:#F16C3C"
>
OP备注
</el-button>
<el-dropdown
trigger=
"click"
>
<span
class=
"el-dropdown-link"
>
更多操作
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</span>
<el-dropdown-menu
slot=
"dropdown"
class=
"TC-dropdown"
>
<el-dropdown-item
@
click
.
native=
"goTeamBalance(item.TCID,item.OutBranchId)"
>
团队收支明细
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
"goUrlR('confirmationOrderDownLoad',item.TCID,item.ID,item.StartCityID)"
>
行程下载
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
"removeTeamInfo(item.TCID)"
>
删除
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.TCState==2||item.TCState==0||item.TCState==1"
@
click
.
native=
"setUpPlat(item)"
>
上架
</el-dropdown-item>
<el-dropdown-item
v-if=
"item.TCState==3"
@
click
.
native=
"Setshelves(item.TCID)"
>
下架
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
"goB2B(item.ConfigId)"
>
B2B预览
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
'goUrl("DistributionTransport",item.ID,"分销联运")'
>
分销联运
</el-dropdown-item>
<el-dropdown-item
@
click
.
native=
'ckSellPoint(item)'
>
本团卖点
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
-->
</div>
</div>
</div>
<div
class=
"TC_remarkContent"
v-if=
"item.OPRemark||item.OPInnerRemark"
>
<div
class=
"clearfix TCL-redType"
v-if=
"item.OPRemark"
>
<div
class=
"TCL_remarkTitle"
>
OP对外备注:
</div>
<div
class=
"TCL_Content"
>
{{
item
.
OPRemark
}}
</div>
</div>
<div
class=
"clearfix TCL-redType"
v-if=
"item.OPInnerRemark"
>
<div
class=
"TCL_remarkTitle"
>
OP对内备注:
</div>
<div
class=
"TCL_Content"
>
{{
item
.
OPInnerRemark
}}
</div>
</div>
</div>
</li>
</ul>
<div
class=
"noData"
v-show=
"queryMsg.noData"
>
{{
$t
(
'system.content_noData'
)
}}
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"queryMsg.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"queryMsg.pageSize"
:total=
"queryMsg.total"
></el-pagination>
</div>
</div>
<div
class=
"combottomDiv TC_divCon"
v-if=
"queryCommonData.setPlatDialog"
>
<div
class=
"combottomTitle"
>
请选择上架平台
</div>
<span
class=
"setPlatLeft"
>
销售平台
</span>
<span>
<el-checkbox
v-model=
"queryCommonData.checkDialogAll"
@
change=
"checkAllDialog"
style=
"margin-right:20px;"
>
全选
</el-checkbox>
<el-checkbox-group
v-model=
"queryCommonData.ckedplat"
@
change=
"checkDialog"
>
<el-checkbox
v-for=
"sales in $tripUtils.TeamStatesList.salsPlat"
:label=
"sales.Id"
:key=
"sales.Name"
>
{{
sales
.
Name
}}
</el-checkbox>
</el-checkbox-group>
</span>
<span>
<button
class=
"normalBtn"
style=
"margin-left:50px;"
@
click=
"SetshelvesUp"
>
确定
</button>
<button
class=
"hollowFixedBtn"
@
click=
"queryCommonData.setPlatDialog=false"
>
取消
</button>
</span>
</div>
<div
class=
"combottomDiv OPremarkDiv"
v-if=
"queryCommonData.outerVisible"
>
<div
class=
"combottomTitle"
>
OP备注
</div>
<el-form
label-width=
"100px"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"OP对外备注"
prop=
"Remark"
>
<el-input
type=
"textarea"
v-model=
"remarkMsg.OPRemark"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"OP对内备注"
prop=
"Remark"
>
<el-input
type=
"textarea"
v-model=
"remarkMsg.OPInnerRemark"
></el-input>
</el-form-item>
</el-col>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"queryCommonData.outerVisible = false"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"setOPremark"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</div>
<div
class=
"combottomDiv OPremarkDiv"
v-if=
"queryCommonData.SellingPoints"
>
<div
class=
"combottomTitle"
>
本团卖点
</div>
<el-form
label-width=
"100px"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"本团卖点"
prop=
"Remark"
>
<el-input
type=
"textarea"
v-model=
"remarkMsg.ProductRecommend"
></el-input>
</el-form-item>
</el-col>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"queryCommonData.SellingPoints = false"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"SetSellingPoints"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</div>
<!-- 添加团期 -->
<el-dialog
title=
"添加团期"
:visible
.
sync=
"tcidshow"
width=
"400px"
>
团期:
<el-input
v-model
.
number=
"addform.tcid"
placeholder=
"请输入团期ID"
style=
"width:300px;display:inline-block"
></el-input>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"tcidshow = false"
size=
"small"
>
取 消
</el-button>
<el-button
type=
"danger"
@
click=
"AddTicd"
size=
"small"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
//查询数据列表
queryCommonData
:
{
//线路列表
LineList
:
[],
//系列列表
LineTeamList
:
[],
//下拉框默认值
SelectDefaultValue
:
0
,
//公司选项卡默认选中
activeName
:
"-1"
,
//航空公司
AirlineList
:
[],
//员工列表
EmployeeList
:
[],
//公司数据
BranchList
:
[],
//是否为分公司
IsParentCompany
:
""
,
//显示销售平台
showPlatForm
:
false
,
//团期全选
checkGroupALL
:
false
,
//销售平台全选
checkPlatForm
:
false
,
//团队状态全选
checkTCStateAll
:
true
,
//是否显示弹出框
setPlatDialog
:
false
,
//弹出框全选
checkDialogAll
:
false
,
//选择上架平台
ckedplat
:
[],
//loading
loading
:
false
,
//中间变量ID
comID
:
""
,
//中间变量TCState
comState
:
""
,
//标题
comPlatTitle
:
""
,
//高级搜索
showHigradeSearch
:
false
,
//预警搜索
showWarningSearch
:
false
,
//数据列表
dataList
:
[],
//中国下面城市
CityList
:
[],
//销售公司
companyList
:
[],
singleTCID
:
0
,
outerVisible
:
false
,
flightCKed
:
[],
loading
:
false
,
checkCompanyAll
:
true
,
showUnion
:
false
,
UnionText
:
'显示联运'
,
//本团卖点
SellingPoints
:
false
,
},
//查询参数
queryMsg
:
{
FreeRecommendType
:
1
,
//出团公司集合
OutBranchIds
:
[],
pageIndex
:
1
,
pageSize
:
10
,
LineId
:
0
,
LineIdList
:
[],
LineteamId
:
0
,
TCNUM
:
""
,
StartGroupDate
:
""
,
EndGroupDate
:
""
,
OutBranchId
:
-
1
,
AirTicketId
:
0
,
TeamMinNum
:
""
,
TeamMaxNum
:
""
,
CreateBy
:
0
,
ApplyMinNum
:
""
,
ApplyMaxNum
:
""
,
DayNum
:
""
,
OnlyShowOverTeam
:
false
,
TCState
:
[],
//去掉默认显示
GroupState
:
[],
SalePlat
:
[],
UnionCityId
:
0
,
SaleBranchId
:
[],
total
:
0
,
//是否有数据
noData
:
false
,
currentPage
:
1
,
//航班配置
FlightState
:
0
,
//预警团
IsWarning
:
false
,
WarningQuery
:
"-1"
,
RateOnDay
:
"-1"
,
RateOn
:
"-1"
,
TeamType
:
1
,
//小包团
//是否显示联运
IsShowUnion
:
1
},
remarkMsg
:
{
TCID
:
0
,
OPRemark
:
""
,
OPInnerRemark
:
""
,
//配置
ConfigId
:
0
,
//本团卖点
ProductRecommend
:
""
},
flightStatus
:
[{
Id
:
0
,
Name
:
"不限"
,
Checked
:
true
},
{
Id
:
1
,
Name
:
"已配置"
,
Checked
:
false
},
{
Id
:
2
,
Name
:
"未配置"
,
Checked
:
false
}
],
pickerBeginDateBefore
:
{
disabledDate
:
time
=>
{
let
endTime
=
new
Date
(
this
.
queryMsg
.
EndGroupDate
);
return
endTime
.
getTime
()
<
time
.
getTime
();
}
},
pickerBeginDateAfter
:
{
disabledDate
:
time
=>
{
let
startTime
=
new
Date
(
this
.
queryMsg
.
StartGroupDate
);
return
startTime
.
getTime
()
>=
time
.
getTime
();
}
},
tcidshow
:
false
,
addform
:{
tcid
:
""
,
},
};
},
methods
:
{
AddTicd
(){
if
(
this
.
addform
.
tcid
==
""
){
this
.
Error
(
"请输入团期号!"
)
return
;
}
this
.
ListWay
();
},
Delete
(
item
){
this
.
addform
.
tcid
=
item
.
TCID
;
this
.
$confirm
(
'是否删除?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
addform
.
freeRecommendType
=
0
;
this
.
ListWay
();
}).
catch
(()
=>
{
});
},
ListWay
(){
this
.
apipost
(
"travel_post_SetFreeRecommendType"
,
this
.
addform
,
res
=>
{
this
.
tcidshow
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getControlList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
});
},
addList
(){
this
.
tcidshow
=
true
;
this
.
addform
.
tcid
=
""
;
this
.
addform
.
freeRecommendType
=
this
.
queryMsg
.
FreeRecommendType
;
},
GetList
(
num
){
this
.
queryMsg
.
FreeRecommendType
=
num
;
this
.
getControlList
();
},
downloadFile
:
function
(
item
)
{
let
reg
=
/^http
(
s
)?
:
\/\/(
.*
?)\/
/
;
this
.
downloadFileRename
(
item
.
FullUrl
.
replace
(
reg
,
""
),
item
.
Name
);
},
//翻页
handleCurrentChange
(
val
)
{
this
.
queryMsg
.
pageIndex
=
val
;
this
.
getControlList
();
},
//重新查询
resetPageIndex
()
{
this
.
queryMsg
.
pageIndex
=
1
;
this
.
queryMsg
.
currentPage
=
1
;
},
//获取线路列表
getLineList
()
{
this
.
apipost
(
"line_post_GetLineListExt"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
LineList
=
res
.
data
.
data
;
}
});
},
//获取系列列表
getLineTeamList
()
{
this
.
queryMsg
.
LineteamId
=
0
;
let
msg
=
{
lineID
:
this
.
queryMsg
.
LineId
,
isTOOP
:
1
};
this
.
apipost
(
"team_post_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
LineTeamList
=
res
.
data
.
data
;
}
});
},
//切换公司
getCompanyTab
(
Id
)
{
this
.
queryMsg
.
OutBranchId
=
Id
;
this
.
queryMsg
.
currentPage
=
1
;
this
.
getControlList
();
},
//获取航空公司
getAirlineList
()
{
this
.
apipost
(
"airline_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
AirlineList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList
()
{
let
userInfo
=
this
.
getLocalStorage
();
let
msg
=
{
GroupId
:
userInfo
.
RB_Group_id
,
BranchId
:
"-1"
,
DepartmentId
:
"-1"
,
PostId
:
"-1"
,
IsLeave
:
"0"
};
this
.
apipost
(
"admin_get_EmployeeGetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//新获取列表数据
getControlList
()
{
var
msg
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
queryMsg
));
if
(
msg
.
TeamMinNum
==
""
)
{
msg
.
TeamMinNum
=
-
1
;
}
if
(
msg
.
TeamMaxNum
==
""
)
{
msg
.
TeamMaxNum
=
-
1
;
}
if
(
msg
.
ApplyMinNum
==
""
)
{
msg
.
ApplyMinNum
=
-
1
;
}
if
(
msg
.
ApplyMaxNum
==
""
)
{
msg
.
ApplyMaxNum
=
-
1
;
}
if
(
msg
.
DayNum
==
""
)
{
msg
.
DayNum
=
-
1
;
}
this
.
queryCommonData
.
loading
=
true
;
this
.
apipost
(
"travel_get_GetTravelPrciePageList"
,
msg
,
res
=>
{
this
.
queryCommonData
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
queryMsg
.
total
=
res
.
data
.
data
.
count
;
this
.
queryMsg
.
noData
=
!
this
.
queryMsg
.
total
>
0
;
this
.
queryCommonData
.
dataList
.
forEach
(
item
=>
{
item
.
SalePlatList
=
[];
if
(
item
.
SalePlat
!==
null
)
{
var
SalePlatArr
=
item
.
SalePlat
.
split
(
","
);
SalePlatArr
.
forEach
(
y
=>
{
item
.
SalePlatList
.
push
(
parseInt
(
y
));
});
}
});
}
},
err
=>
{}
);
},
//验证大小
checkTeamNum
(
queryMsg
)
{
var
TeamMinNum
=
parseInt
(
queryMsg
.
TeamMinNum
);
var
TeamMaxNum
=
parseInt
(
queryMsg
.
TeamMaxNum
);
var
ApplyMinNum
=
parseInt
(
queryMsg
.
ApplyMinNum
);
var
ApplyMaxNum
=
parseInt
(
queryMsg
.
ApplyMaxNum
);
if
(
TeamMaxNum
<
TeamMinNum
)
{
queryMsg
.
TeamMaxNum
=
""
;
}
if
(
ApplyMaxNum
<
ApplyMinNum
)
{
queryMsg
.
ApplyMaxNum
=
""
;
}
},
//初始化公司
getCompanyList
()
{
let
userInfo
=
this
.
getLocalStorage
();
var
RB_Group_id
=
userInfo
.
RB_Group_id
;
let
msg
=
{
Status
:
0
,
is_show
:
0
,
RB_Group_Id
:
RB_Group_id
};
this
.
apipost
(
"admin_get_BranchGetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
BranchList
=
res
.
data
.
data
;
this
.
queryCommonData
.
BranchList
.
forEach
(
x
=>
{
x
.
isShow
=
false
;
});
}
},
err
=>
{}
);
},
//团期状态全选
checkGroupAll
(
val
)
{
this
.
queryMsg
.
GroupState
=
[];
if
(
val
)
{
this
.
$tripUtils
.
TeamStatesList
.
teamDateStates
.
forEach
(
x
=>
{
this
.
queryMsg
.
GroupState
.
push
(
x
.
Id
);
});
}
},
checkGroup
(
value
)
{
let
checkedCount
=
value
.
length
;
this
.
queryCommonData
.
checkGroupALL
=
checkedCount
===
this
.
$tripUtils
.
TeamStatesList
.
teamDateStates
.
length
;
},
//销售平台全选
checkAllSales
(
val
)
{
this
.
queryMsg
.
SalePlat
=
[];
if
(
val
)
{
this
.
$tripUtils
.
TeamStatesList
.
salsPlat
.
forEach
(
x
=>
{
this
.
queryMsg
.
SalePlat
.
push
(
x
.
Id
);
});
}
},
checkSales
(
value
)
{
let
checkedCount
=
value
.
length
;
this
.
queryCommonData
.
checkPlatForm
=
checkedCount
===
this
.
$tripUtils
.
TeamStatesList
.
salsPlat
.
length
;
},
//团队状态全选
checkAllTeam
(
val
)
{
this
.
queryMsg
.
TCState
=
[];
if
(
val
)
{
this
.
$tripUtils
.
TeamStatesList
.
TeamStates
.
forEach
(
x
=>
{
this
.
queryMsg
.
TCState
.
push
(
x
.
Id
);
});
}
if
(
this
.
queryMsg
.
TCState
.
indexOf
(
this
.
$tripUtils
.
TeamStatesList
.
TeamStates
[
2
].
Id
)
>
-
1
)
{
this
.
queryCommonData
.
showPlatForm
=
true
;
}
else
{
this
.
queryCommonData
.
showPlatForm
=
false
;
}
},
checkedTeamList
(
value
)
{
if
(
value
.
indexOf
(
this
.
$tripUtils
.
TeamStatesList
.
TeamStates
[
2
].
Id
)
>
-
1
)
{
this
.
queryCommonData
.
showPlatForm
=
true
;
}
else
{
this
.
queryCommonData
.
showPlatForm
=
false
;
}
let
checkedCount
=
value
.
length
;
this
.
queryCommonData
.
checkTCStateAll
=
checkedCount
===
this
.
$tripUtils
.
TeamStatesList
.
TeamStates
.
length
;
},
//全选弹出框
checkAllDialog
(
val
)
{
this
.
queryCommonData
.
ckedplat
=
[];
if
(
val
)
{
this
.
$tripUtils
.
TeamStatesList
.
salsPlat
.
forEach
(
x
=>
{
this
.
queryCommonData
.
ckedplat
.
push
(
x
.
Id
);
});
}
},
checkDialog
(
value
)
{
let
checkedCount
=
value
.
length
;
this
.
queryCommonData
.
checkDialogAll
=
checkedCount
===
this
.
$tripUtils
.
TeamStatesList
.
salsPlat
.
length
;
},
//点击上架
setUpPlat
(
item
)
{
this
.
queryCommonData
.
outerVisible
=
false
;
this
.
queryCommonData
.
setPlatDialog
=
true
;
this
.
queryCommonData
.
singleTCID
=
item
.
TCID
;
if
(
item
.
TCState
==
2
)
{
this
.
queryCommonData
.
ckedplat
=
[];
this
.
queryCommonData
.
checkDialogAll
=
false
;
}
else
if
(
item
.
TCState
==
3
)
{
item
.
SalePlatList
.
forEach
(
x
=>
{
this
.
queryCommonData
.
ckedplat
.
push
(
parseInt
(
x
));
});
if
(
item
.
SalePlatList
.
length
==
this
.
$tripUtils
.
TeamStatesList
.
salsPlat
.
length
)
{
this
.
queryCommonData
.
checkDialogAll
=
true
;
}
}
},
//单团设置下架
Setshelves
(
TCID
)
{
let
msg
=
{
TCID
:
TCID
,
TCState
:
2
,
SalePlat
:
""
};
this
.
apipost
(
"travel_post_SetPriceTCState"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getControlList
();
this
.
queryCommonData
.
checkDialogAll
=
false
;
this
.
queryCommonData
.
ckedplat
=
[];
}
});
},
//单团设置上架
SetshelvesUp
()
{
let
msg
=
{
TCID
:
this
.
queryCommonData
.
singleTCID
,
TCState
:
3
,
SalePlat
:
this
.
queryCommonData
.
ckedplat
.
join
(
","
)
};
if
(
msg
.
SalePlat
==
""
)
{
this
.
Error
(
"请选择上架平台"
);
return
;
}
this
.
apipost
(
"travel_post_SetPriceTCState"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getControlList
();
this
.
queryCommonData
.
setPlatDialog
=
false
;
this
.
queryCommonData
.
checkDialogAll
=
false
;
this
.
queryCommonData
.
ckedplat
=
[];
}
});
},
goUrl
(
path
,
id
,
name
)
{
this
.
$store
.
commit
(
"pageConditionUpdate"
,
this
.
queryMsg
);
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
blank
:
"y"
,
tab
:
name
}
});
},
goUrlR
(
path
,
TCID
,
ConfigId
,
cityId
)
{
let
routeData
=
this
.
$router
.
resolve
({
name
:
path
,
query
:
{
configId
:
ConfigId
,
cityId
:
cityId
,
tcid
:
TCID
,
orderId
:
0
,
vshowL
:
false
,
vshowM
:
false
,
vshowTCNUM
:
true
,
}
});
window
.
open
(
routeData
.
href
,
"_blank"
);
},
goUrlMake
(
path
,
LineID
,
TCID
,
name
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
LineID
:
LineID
,
TCID
:
TCID
,
blank
:
"y"
,
tab
:
name
}
});
},
goB2B
(
ConfigId
)
{
window
.
open
(
"http://www.oytour.com/#/detailTwo/"
+
encodeURIComponent
(
ConfigId
)
+
"/preview"
,
"_blank"
);
},
goTeamBalance
(
id
,
OutBranchId
)
{
this
.
$router
.
push
({
name
:
"TeamBalancePayment"
,
query
:
{
id
:
id
,
OutBranchId
:
OutBranchId
,
blank
:
"y"
,
tab
:
"团队收支明细"
}
});
},
//开团或修改
goToOpenTravel
(
path
,
configId
,
tcid
)
{
if
(
configId
>
0
)
{
this
.
$store
.
commit
(
"pageConditionUpdate"
,
this
.
queryMsg
);
this
.
$router
.
push
({
name
:
path
,
query
:
{
configId
:
configId
,
openState
:
1
,
tcid
:
tcid
,
blank
:
"y"
,
tab
:
"团期配置"
,
flag
:
true
}
});
}
else
{
this
.
$router
.
push
({
name
:
path
});
}
},
//删除团期
removeTeamInfo
(
TCID
)
{
var
that
=
this
;
that
.
Confirm
(
"是否删除?"
,
function
()
{
var
msg
=
{
TCID
:
TCID
};
that
.
apipost
(
"travel_post_RemoveTravelPrice"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
getControlList
();
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
null
);
});
},
//获取城市
getCountryCity
()
{
this
.
apipost
(
"sellorder_get_GetAllStartCity"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
CityList
=
res
.
data
.
data
;
}
});
},
getSellorCompany
()
{
//出团公司
this
.
apipost
(
"sellorder_post_GetBranchList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryCommonData
.
companyList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
//点击op备注
ckOPremark
(
item
)
{
this
.
remarkMsg
.
TCID
=
item
.
TCID
;
this
.
remarkMsg
.
OPRemark
=
item
.
OPRemark
;
this
.
remarkMsg
.
OPInnerRemark
=
item
.
OPInnerRemark
;
this
.
queryCommonData
.
setPlatDialog
=
false
;
this
.
queryCommonData
.
outerVisible
=
true
;
},
//设置OP备注
setOPremark
()
{
this
.
apipost
(
"travel_post_SetTravelPrcieOpRemark"
,
this
.
remarkMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
queryCommonData
.
outerVisible
=
false
;
this
.
getControlList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
checkedFlight
(
item
)
{
this
.
queryMsg
.
FlightState
=
item
.
Id
;
this
.
queryCommonData
.
flightCKed
=
[];
this
.
queryCommonData
.
flightCKed
.
push
(
item
.
Id
);
},
SetPrice
(
value
)
{
if
(
value
==
null
)
{
return
0.0
;
}
let
nStr
=
value
.
toFixed
(
2
);
nStr
+=
""
;
let
x
=
nStr
.
split
(
"."
);
let
x1
=
x
[
0
];
let
x2
=
x
.
length
>
1
?
"."
+
x
[
1
]
:
""
;
var
rgx
=
/
(\d
+
)(\d{3})
/
;
while
(
rgx
.
test
(
x1
))
{
x1
=
x1
.
replace
(
rgx
,
"$1"
+
","
+
"$2"
);
}
return
x1
+
x2
;
},
//点击本团卖点
ckSellPoint
(
item
)
{
this
.
queryCommonData
.
SellingPoints
=
true
;
this
.
remarkMsg
.
ConfigId
=
item
.
ID
;
this
.
remarkMsg
.
ProductRecommend
=
item
.
ProductRecommend
;
this
.
remarkMsg
.
TCID
=
item
.
TCID
;
},
//本团卖点
SetSellingPoints
()
{
this
.
apipost
(
"travel_post_SetSellingPoints"
,
this
.
remarkMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
queryCommonData
.
SellingPoints
=
false
;
this
.
getControlList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
//隐藏显示
ShowUnionList
(){
this
.
queryCommonData
.
showUnion
=
!
this
.
queryCommonData
.
showUnion
;
if
(
this
.
queryCommonData
.
showUnion
){
this
.
queryCommonData
.
UnionText
=
'隐藏联运'
}
else
{
this
.
queryCommonData
.
UnionText
=
'显示联运'
}
}
},
filters
:
{
formatStartDate
(
value
)
{
let
dataArr
=
value
.
split
(
"-"
);
return
dataArr
[
1
]
+
"-"
+
dataArr
[
2
];
},
priceFormat
(
value
)
{
if
(
value
==
null
)
{
return
0.0
;
}
let
nStr
=
value
.
toFixed
(
2
);
nStr
+=
""
;
let
x
=
nStr
.
split
(
"."
);
let
x1
=
x
[
0
];
let
x2
=
x
.
length
>
1
?
"."
+
x
[
1
]
:
""
;
var
rgx
=
/
(\d
+
)(\d{3})
/
;
while
(
rgx
.
test
(
x1
))
{
x1
=
x1
.
replace
(
rgx
,
"$1"
+
","
+
"$2"
);
}
return
x1
+
x2
;
}
},
mounted
()
{
//销售公司
this
.
getSellorCompany
();
this
.
getCompanyList
();
this
.
getLineList
();
this
.
getAirlineList
();
this
.
getEmployeeList
();
this
.
getCountryCity
();
},
created
()
{
//默认显示联运
this
.
queryMsg
.
IsShowUnion
=
1
;
let
userInfo
=
this
.
getLocalStorage
();
if
(
this
.
$route
.
query
.
tcmun
)
{
this
.
queryMsg
.
TCNUM
=
this
.
$route
.
query
.
tcmun
;
}
if
(
userInfo
.
IsParentCompany
==
undefined
)
{
this
.
queryCommonData
.
IsParentCompany
=
2
;
}
else
{
this
.
queryCommonData
.
IsParentCompany
=
userInfo
.
IsParentCompany
;
}
if
(
this
.
$route
.
query
.
hasOwnProperty
(
"cache"
))
{
if
(
this
.
$store
.
state
.
pageCondition
!=
null
)
{
this
.
queryMsg
=
this
.
$store
.
state
.
pageCondition
;
}
}
var
myDate
=
new
Date
();
var
nowDate
=
myDate
.
getFullYear
()
+
"-"
+
parseInt
(
myDate
.
getMonth
()
+
1
)
+
"-"
+
myDate
.
getDate
();
this
.
queryMsg
.
StartGroupDate
=
nowDate
;
if
(
this
.
queryCommonData
.
IsParentCompany
!=
1
)
{
this
.
queryMsg
.
OutBranchIds
.
push
(
userInfo
.
RB_Branch_id
);
}
//默认查询全部团队状态
this
.
$tripUtils
.
TeamStatesList
.
TeamStates
.
forEach
(
states
=>
{
this
.
queryMsg
.
TCState
.
push
(
states
.
Id
);
})
this
.
getControlList
();
}
};
</
script
>
src/components/activity/ItineraryCustomizer.vue
0 → 100644
View file @
188005bd
<
style
>
.user_time_picker
.el-date-editor--date
>
.el-input__inner
{
padding
:
0
10px
;
font-size
:
13px
;
}
.user_time_picker
.el-date-editor--date
>
span
.el-input__prefix
{
display
:
none
;
}
.user_time_picker
.el-date-editor--date
>
span
.el-input__suffix
{
top
:
-4px
;
right
:
2px
;
}
.zidingyiFz
i
{
font-size
:
14px
!important
;}
</
style
>
<
template
>
<div
class=
"flexOne"
>
<div
class=
"query-box"
>
<div
style=
"overflow:auto"
>
<input
type=
"button"
class=
"normalBtn"
value=
"添加"
style=
"float:right"
/>
</div>
</div>
<div
class=
"clearfix"
></div>
<!--
<div
style=
"margin: 10px 0;"
class=
"fz14 color333"
>
{{
$t
(
'adm.adm_Validaccount'
)
}}
:
<span
class=
"colorE95252"
>
{{
UseNum
}}
</span>
账号限额:
<span
class=
"colorE95252"
>
{{
TotalNum
}}
</span></div>
-->
<table
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th>
{{
$t
(
'system.table_company'
)
}}
</th>
<th>
{{
$t
(
'admin.admin_Department'
)
}}
</th>
<th>
{{
$t
(
'admin.admin_Post'
)
}}
</th>
<th>
{{
$t
(
'system.query_name'
)
}}
</th>
<th>
{{
$t
(
'system.table_sex'
)
}}
</th>
<th>
{{
$t
(
'system.table_acc'
)
}}
</th>
<th>
{{
$t
(
'adm.adm_logintel'
)
}}
</th>
<th>
{{
$t
(
'admin.admin_Entrytime'
)
}}
</th>
<th>
{{
$t
(
'admin.admin_Departuretime'
)
}}
</th>
<th>
{{
$t
(
'admin.admin_operate'
)
}}
</th>
</tr>
<tr
v-for=
"(item,index) in DataList"
v-loading=
'loading'
>
<td>
{{
item
.
BranchName
}}
</td>
<td>
{{
item
.
DepartName
}}
</td>
<td>
{{
item
.
PostName
}}
</td>
<td>
{{
item
.
EmName
}}
</td>
<td>
{{
item
.
EmSex
==
0
?
$t
(
'pub.man'
)
:
$t
(
'pub.woman'
)
}}
</td>
<td>
{{
item
.
EmAccount
}}
</td>
<td>
{{
item
.
EmLoginMobile
}}
</td>
<td>
{{
item
.
EmEntry
}}
</td>
<td>
{{
item
.
EmLeave
|
leaveTimeFormat
(
item
.
EmLeave
)
}}
</td>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('adm.adm_changeUserInfo')"
placement=
"top"
>
<el-button
type=
"primary"
icon=
"el-icon-edit"
circle
@
click=
"outerVisible=true,dialogTitle='修改用户信息',updateData(item.EmployeeId),getCompany()"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('adm.adm_bindaccountinfo')"
placement=
"top"
>
<el-button
type=
"primary"
class=
'zidingyiFz'
icon=
"iconfont icon-bangdingzhagnhuxinxi"
circle
@
click=
"goUrl('empBankAccount',item.EmployeeId)"
></el-button>
</el-tooltip>
</td>
</tr>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
</el-pagination>
<el-dialog
custom-class=
'w800'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
:before-close=
"closeChangeMachie"
>
<el-dialog
custom-class=
'w400'
:title=
"$t('adm.adm_changepd')"
:visible
.
sync=
"innerVisible"
center
append-to-body
:before-close=
"closeChangeMachie1"
>
<el-form
:model=
"pwdMsg"
label-width=
"100px"
:rules=
"rulesPwd"
ref=
"pwdMsg"
>
<el-form-item
:label=
"$t('system.table_staffs')"
prop=
"EmName"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"addMsg.EmName"
:placeholder=
"$t('pub.pleaseImport')"
readonly
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('system.table_acc')"
prop=
"EmAccount"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"addMsg.EmAccount"
:placeholder=
"$t('pub.pleaseImport')"
readonly
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('adm.adm_newPd')"
prop=
"Pwd"
>
<el-input
class=
'w217'
type=
"password"
v-model=
"pwdMsg.Pwd"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('adm.adm_Reinput')"
prop=
"Pwd1"
>
<el-input
class=
'w217'
type=
"password"
v-model=
"pwdMsg.Pwd1"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"innerVisible=false,resetForm('pwdMsg')"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
@
click=
"submitForm1('pwdMsg')"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</el-dialog>
<el-dialog
custom-class=
'w400'
:title=
"$t('adm.adm_changelogintel')"
:visible
.
sync=
"updateLoginMobile"
center
append-to-body
:before-close=
"closeChangeMachieulm"
>
<el-form
:model=
"ulmMsg"
label-width=
"100px"
:rules=
"rulesulm"
ref=
"ulmMsg"
>
<el-form-item
:label=
"$t('adm.adm_staff')"
prop=
"EmName"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"addMsg.EmName"
:placeholder=
"$t('pub.pleaseImport')"
readonly
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('adm.adm_logintel')"
prop=
"EmAccount"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"EmLoginMobile"
:placeholder=
"$t('pub.pleaseImport')"
readonly
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('adm.adm_newphone')"
prop=
"LoginMobile"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"ulmMsg.LoginMobile"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('adm.adm_Reinput')"
prop=
"LoginMobile1"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"ulmMsg.LoginMobile1"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"updateLoginMobile=false,resetForm('ulmMsg')"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
@
click=
"submitFormulm('ulmMsg')"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</el-dialog>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"100px"
>
<table
class=
"layerTable layerNoIcon"
>
<tr>
<td>
<el-form-item
:label=
"$t('system.table_company')"
prop=
"RB_Branch_id"
>
<el-select
filterable
class=
'w217'
v-model=
'addMsg.RB_Branch_id'
@
change=
'layerLinkageDepartment()'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
'item in layerCompanyList'
:label=
'item.BName'
:value=
'item.Id'
:key=
'item.Id'
>
</el-option>
</el-select>
</el-form-item>
</td>
<td>
<el-form-item
:label=
"$t('admin.admin_Department')"
prop=
"RB_Department_Id"
>
<el-select
filterable
class=
'w217'
v-model=
'addMsg.RB_Department_Id'
@
change=
'layerLinkagePost()'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
'item in layerDepartMentList'
:label=
'item.DepartmentName'
:value=
'item.DepartmentID'
:key=
'item.DepartmentID'
>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
:label=
"$t('admin.admin_Post')"
prop=
"RB_Post_Id"
>
<el-select
filterable
class=
'w217'
v-model=
'addMsg.RB_Post_Id'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
v-for=
'item in layerPostList'
:label=
'item.PostName'
:value=
'item.PostId'
:key=
'item.PostId'
>
</el-option>
</el-select>
</el-form-item>
</td>
<td>
<el-form-item
:label=
"$t('system.query_name')"
prop=
"EmName"
>
<el-input
maxlength=
'20'
class=
'w217'
type=
"text"
v-model=
"addMsg.EmName"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
:label=
"$t('system.table_IDcard')"
prop=
"EmCard"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"addMsg.EmCard"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
<!--
<span><em></em>
身份证
</span><input
v-model=
"addMsg.EmCard"
class=
"layerText"
type=
"text"
>
-->
</td>
<td>
<el-form-item
:label=
"$t('leader.leader_Sex')"
prop=
"EmSex"
>
<el-select
class=
'w217'
filterable
v-model=
'addMsg.EmSex'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.man')"
value=
'0'
></el-option>
<el-option
:label=
"$t('pub.woman')"
value=
'1'
></el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
:label=
"$t('admin.admin_xueli')"
prop=
"EmEducation"
>
<el-input
maxlength=
'20'
class=
'w217'
type=
"text"
v-model=
"addMsg.EmEducation"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
<td>
<el-form-item
:label=
"$t('admin.admin_Entrytime')"
prop=
"EmEntry"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
class=
'w217'
v-model=
'addMsg.EmEntry'
type=
"date"
></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
:label=
"$t('admin.admin_Departuretime')"
prop=
"EmLeave"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
class=
'w217'
v-model=
'addMsg.EmLeave'
type=
"date"
disabled
></el-date-picker>
</el-form-item>
</td>
<td>
<el-form-item
:label=
"$t('hotel.table_address')"
prop=
"EmAddress"
>
<el-input
maxlength=
'50'
class=
'w217'
type=
"text"
v-model=
"addMsg.EmAddress"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
:label=
"$t('system.table_phone')"
prop=
"EmMobile"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"addMsg.EmMobile"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
<td>
<el-form-item
:label=
"$t('hotel.hotel_landline')"
prop=
"EmTel"
>
<el-input
maxlength=
'20'
class=
'w217'
type=
"text"
v-model=
"addMsg.EmTel"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
label=
"QQ"
prop=
"EmQQ"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"addMsg.EmQQ"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
<td>
<el-form-item
:label=
"$t('admin.admin_Birthday')"
prop=
"EmBirthday"
>
<el-date-picker
value-format=
"yyyy-MM-dd"
class=
'w217'
v-model=
'addMsg.EmBirthday'
type=
"date"
></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item
:label=
"$t('system.table_acc')"
prop=
"EmAccount"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"addMsg.EmAccount"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</td>
<td>
<el-form-item
:label=
"$t('admin.admin_password')"
prop=
"EmPassword"
>
<el-input
v-if=
'!isleaveBtn'
class=
'w217'
type=
"text"
v-model=
"addMsg.EmPassword"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
<input
type=
"button"
:value=
"$t('adm.adm_resetpd')"
v-if=
'isleaveBtn'
class=
"normalBtn"
@
click=
"innerVisible=true,resetForm('pwdMsg')"
/>
</el-form-item>
</td>
</tr>
</table>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible = false,resetForm('addMsg')"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
@
click=
"submitForm('addMsg')"
>
{{
$t
(
'pub.saveBtn'
)
}}
</button>
<button
v-if=
'isleaveBtn'
class=
"normalBtn"
@
click=
"setIsLeave(leaveId)"
>
{{
leaveBtn
}}
</button>
<button
v-if=
"isleaveBtn&&EmLoginMobile!=''"
class=
"normalBtn"
@
click=
"updateLoginMobile=true,resetForm('ulmMsg')"
>
修改登录手机
</button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
let
validatorPwd1
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
pwdMsg
.
Pwd
!=
''
&&
this
.
pwdMsg
.
Pwd
!=
this
.
pwdMsg
.
Pwd1
){
return
callback
(
new
Error
(
this
.
$t
(
'adm.adm_twopdnotsame'
)));
}
else
{
callback
();
}
}
let
validatorulm
=
(
rule
,
value
,
callback
)
=>
{
if
(
this
.
ulmMsg
.
LoginMobile
!=
''
&&
this
.
ulmMsg
.
LoginMobile
!=
this
.
ulmMsg
.
LoginMobile1
){
return
callback
(
new
Error
(
this
.
$t
(
'adm.adm_twotelphnotsame'
)));
}
else
{
callback
();
}
}
return
{
UseNum
:
0
,
TotalNum
:
0
,
leaveBtn
:
''
,
leaveId
:
''
,
loading
:
true
,
isleaveBtn
:
false
,
total
:
0
,
pageSize
:
''
,
currentPage
:
1
,
outerVisible
:
false
,
innerVisible
:
false
,
updateLoginMobile
:
false
,
isRight
:
true
,
dialogTitle
:
''
,
insideDialogTxt
:
''
,
//请求
msg
:
{
pageIndex
:
1
,
pageSize
:
15
,
EmName
:
''
,
EmAccount
:
''
,
RB_Group_id
:
'0'
,
RB_Branch_id
:
'-1'
,
RB_Department_Id
:
'0'
,
RB_Post_Id
:
'0'
,
Status
:
'0'
,
sEmEntry
:
''
,
eEmEntry
:
''
,
sEmLeave
:
''
,
eEmLeave
:
''
,
IsParentCompany
:
2
},
rules
:{
RB_Branch_id
:[
{
required
:
true
,
message
:
this
.
$t
(
'rule.company'
),
trigger
:
'change'
}
],
RB_Department_Id
:[
{
required
:
true
,
message
:
this
.
$t
(
'tips.qxzbumen'
),
trigger
:
'change'
}
],
RB_Post_Id
:[
{
required
:
true
,
message
:
this
.
$t
(
'tips.qxzgangwei'
),
trigger
:
'change'
}
],
EmName
:[
{
required
:
true
,
message
:
this
.
$t
(
'rule.qsrname'
),
trigger
:
'blur'
}
],
EmEntry
:[
{
required
:
true
,
message
:
this
.
$t
(
'rule.qxzrzshijian'
),
trigger
:
'blur'
}
],
EmAccount
:[
{
required
:
true
,
message
:
this
.
$t
(
'login.login_account'
),
trigger
:
'blur'
},
{
pattern
:
/^
[
a-zA-Z0-9
]{4,18}
$/
,
message
:
'账号为6-18位字母数字组成'
}
],
EmPassword
:[
{
required
:
true
,
message
:
this
.
$t
(
'login.login_password'
),
trigger
:
'blur'
}
],
EmQQ
:[
{
pattern
:
/^
\d{5,11}
$/
,
message
:
this
.
$t
(
'rule.qsrzqdqq'
)
}
],
EmMobile
:[
{
pattern
:
/^
(
0|86|17951
)?(
13
[
0-9
]
|15
[
012356789
]
|17
[
012356789
]
|18
[
0-9
]
|19
[
0-9
]
|14
[
57
])[
0-9
]{8}
$/
,
message
:
'请输入正确的手机'
}
],
EmCard
:[
{
pattern
:
/
(
^
\d{15}
$
)
|
(
^
\d{18}
$
)
|
(
^
\d{17}(\d
|X|x
)
$
)
/
,
message
:
this
.
$t
(
'rule.qsrIdnum'
)
}
],
},
addMsg
:{
EmName
:
''
,
EmSex
:
'0'
,
EmCard
:
''
,
EmBirthday
:
''
,
EmEducation
:
''
,
EmEntry
:
''
,
EmLeave
:
''
,
EmAddress
:
''
,
EmMobile
:
''
,
EmTel
:
''
,
EmQQ
:
''
,
EmPhoto
:
''
,
EmAccount
:
''
,
EmPassword
:
''
,
RB_Group_id
:
''
,
RB_Branch_id
:
''
,
RB_Department_Id
:
''
,
RB_Post_Id
:
''
,
},
pwdMsg
:{
Id
:
''
,
Pwd
:
''
,
pwd1
:
''
},
ulmMsg
:{
EmployeeId
:
''
,
LoginMobile
:
''
,
LoginMobile1
:
''
},
rulesPwd
:{
Pwd
:[
{
required
:
true
,
message
:
this
.
$t
(
'login.login_password'
),
trigger
:
'blur'
}
],
Pwd1
:[
{
validator
:
validatorPwd1
,
trigger
:
'blur'
}
],
},
rulesulm
:{
LoginMobile
:[
{
required
:
true
,
pattern
:
/^
(
0|86|17951
)?(
13
[
0-9
]
|15
[
012356789
]
|17
[
012356789
]
|18
[
0-9
]
|19
[
0-9
]
|14
[
57
])[
0-9
]{8}
$/
,
message
:
this
.
$t
(
'rule.qsrtelphone'
)
,
trigger
:
'blur'
}
],
LoginMobile1
:[
{
validator
:
validatorulm
,
trigger
:
'blur'
}
],
},
getGroupMsg
:{
Status
:
'0'
,
GroupName
:
''
,
Domain
:
''
,
Versions_Id
:
''
,
},
getCompanyMsg
:{
RB_Group_Id
:
'0'
,
Status
:
'0'
,
},
getDepartmentMsg
:{
RB_Group_Id
:
'0'
,
RB_Branch_Id
:
'-1'
,
Status
:
'0'
,
},
getPostMsg
:{
RB_Group_Id
:
'0'
,
RB_Branch_Id
:
'-1'
,
RB_Department_Id
:
'0'
,
},
//返回值的接收变量
EmLoginMobile
:
''
,
DataList
:
[],
groupList
:[],
layerCompanyList
:[],
layerDepartMentList
:[],
departMentList
:[],
layerPostList
:[],
PostList
:[],
}
},
mounted
()
{
let
userInfo
=
this
.
getLocalStorage
();
this
.
getPostMsg
.
RB_Group_Id
=
this
.
getCompanyMsg
.
RB_Group_Id
=
this
.
getDepartmentMsg
.
RB_Group_Id
=
this
.
addMsg
.
RB_Group_id
=
this
.
msg
.
RB_Group_id
=
userInfo
.
RB_Group_id
;
//集团
this
.
getPostMsg
.
RB_Branch_Id
=
this
.
getDepartmentMsg
.
RB_Branch_Id
=
this
.
msg
.
RB_Branch_id
=
userInfo
.
RB_Branch_id
;
//公司
this
.
getPostMsg
.
RB_Department_Id
=
userInfo
.
RB_Department_Id
;
//部门
this
.
msg
.
IsParentCompany
=
userInfo
.
IsParentCompany
;
//是否为总公司
this
.
getList
();
this
.
getCompany
();
this
.
getDerpartMent
();
this
.
getPost
();
this
.
getTotalNum
()
},
filters
:{
leaveTimeFormat
(
value
){
if
(
value
==
''
)
{
return
'在职'
}
else
{
return
value
}
}
},
methods
:
{
getTotalNum
(){
this
.
apipost
(
'admin_get_GetGroupEmployeeNum'
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
UseNum
=
res
.
data
.
data
.
UseNum
,
this
.
TotalNum
=
res
.
data
.
data
.
TotalNum
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
savePwd
(){
this
.
apipost
(
'admin_post_EmployeeResetPwd'
,
this
.
pwdMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
$message
.
success
(
res
.
data
.
message
)
this
.
innerVisible
=
false
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
saveUpdateLoginMobile
(){
this
.
apipost
(
'admin_post_ResetLoginMobile'
,
this
.
ulmMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
$message
.
success
(
res
.
data
.
message
)
this
.
updateLoginMobile
=
false
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
setIsLeave
(
Id
){
let
myDate
=
new
Date
();
let
_year
=
myDate
.
getFullYear
();
let
_month
=
myDate
.
getMonth
()
>=
9
?
myDate
.
getMonth
()
+
1
:
'0'
+
(
myDate
.
getMonth
()
+
1
);
let
_date
=
myDate
.
getDate
()
>
9
?
myDate
.
getDate
()
:
'0'
+
myDate
.
getDate
();
let
_time
=
_year
+
'-'
+
_month
+
'-'
+
_date
;
this
.
apipost
(
'admin_post_EmployeeInOrOut'
,{
Id
:
Id
,
Time
:
_time
,},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
$message
.
success
(
res
.
data
.
message
)
this
.
outerVisible
=
false
;
this
.
getList
();
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
getGroup
(){
this
.
apipost
(
'admin_get_GroupGetList'
,
this
.
getGroupMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
groupList
=
res
.
data
.
data
;
}
else
{}
},
err
=>
{})
},
getList
()
{
//获取数据
this
.
loading
=
true
,
this
.
apipost
(
'admin_get_EmployeeList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
loading
=
false
;
this
.
DataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{}
},
err
=>
{})
},
addData
(){
this
.
isleaveBtn
=
false
;
this
.
apipost
(
'admin_post_EmployeeOperate'
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
outerVisible
=
false
;
this
.
getList
()
this
.
resetForm
(
'addMsg'
);
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
this
.
getList
();
},
updateData
(
id
){
this
.
pwdMsg
.
Id
=
id
;
this
.
ulmMsg
.
EmployeeId
=
id
;
this
.
leaveId
=
id
;
this
.
isleaveBtn
=
true
;
this
.
apipost
(
'admin_get_EmployeeGet'
,{
Id
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getDepartmentMsg
.
RB_Branch_Id
=
res
.
data
.
data
.
RB_Branch_id
this
.
getPostMsg
.
RB_Department_Id
=
res
.
data
.
data
.
RB_Department_Id
;
this
.
getDerpartMent
();
this
.
getPost
();
this
.
addMsg
=
res
.
data
.
data
;
this
.
EmLoginMobile
=
res
.
data
.
data
.
EmLoginMobile
;
if
(
res
.
data
.
data
.
IsLeave
==
0
){
this
.
leaveBtn
=
this
.
$t
(
'adm.adm_swlizhi'
);
}
else
{
this
.
leaveBtn
=
this
.
$t
(
'adm.adm_swzaizhi'
);
}
this
.
addMsg
.
EmSex
=
res
.
data
.
data
.
EmSex
.
toString
();
}
},
err
=>
{})
},
linkageDepartment
(){
//联动部门
this
.
msg
.
RB_Department_Id
=
'0'
;
this
.
msg
.
RB_Post_Id
=
'0'
;
this
.
getDepartmentMsg
.
RB_Branch_Id
=
this
.
msg
.
RB_Branch_id
;
this
.
getDerpartMent
();
},
layerLinkageDepartment
(){
//弹窗联动部门
this
.
addMsg
.
RB_Department_Id
=
''
;
this
.
addMsg
.
RB_Post_Id
=
''
,
this
.
getDepartmentMsg
.
RB_Branch_Id
=
this
.
addMsg
.
RB_Branch_id
;
this
.
getDerpartMent
();
},
linkagePost
(){
//联动岗位
this
.
getPostMsg
.
RB_Branch_Id
=
this
.
msg
.
RB_Branch_id
;
this
.
getPostMsg
.
RB_Department_Id
=
this
.
msg
.
RB_Department_Id
this
.
getPost
();
},
layerLinkagePost
(){
//弹窗联动岗位
this
.
addMsg
.
RB_Post_Id
=
''
,
this
.
getPostMsg
.
RB_Branch_Id
=
this
.
addMsg
.
RB_Branch_id
;
this
.
getPostMsg
.
RB_Department_Id
=
this
.
addMsg
.
RB_Department_Id
this
.
getPost
();
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
this
.
$refs
[
addMsg
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
addData
()
}
else
{
return
false
;
}
});
},
submitForm1
(
pwdMsg
)
{
//提交创建、修改表单
this
.
$refs
[
pwdMsg
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
savePwd
()
}
else
{
return
false
;
}
});
},
submitFormulm
(
ulmMsg
)
{
//提交创建、修改表单
this
.
$refs
[
ulmMsg
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
saveUpdateLoginMobile
()
}
else
{
return
false
;
}
});
},
goUrl
(
name
,
id
){
this
.
$router
.
push
({
name
:
name
,
query
:{
"id"
:
id
,
"type"
:
9
,
blank
:
'y'
,
tab
:
'绑定账户信息'
}})
},
closeChangeMachie
(
done
){
//弹出框关闭初始化弹框内表单
done
();
this
.
resetForm
(
'addMsg'
);
},
closeChangeMachie1
(
done
){
//弹出框关闭初始化弹框内表单
done
();
this
.
resetForm
(
'pwdMsg'
);
},
closeChangeMachieulm
(
done
){
//弹出框关闭初始化弹框内表单
done
();
this
.
resetForm
(
'ulmMsg'
);
},
resetForm
(
formName
)
{
//弹出框取消 初始化谈框内表单
this
.
$refs
[
formName
].
resetFields
();
this
.
addMsg
.
EmployeeId
=
'0'
}
}
}
</
script
>
\ No newline at end of file
src/components/activity/RegimentLabel.vue
0 → 100644
View file @
188005bd
<
style
>
.user_time_picker
.el-date-editor--date
>
.el-input__inner
{
padding
:
0
10px
;
font-size
:
13px
;
}
.user_time_picker
.el-date-editor--date
>
span
.el-input__prefix
{
display
:
none
;
}
.user_time_picker
.el-date-editor--date
>
span
.el-input__suffix
{
top
:
-4px
;
right
:
2px
;
}
.zidingyiFz
i
{
font-size
:
14px
!important
;}
</
style
>
<
template
>
<div
class=
"flexOne"
>
<div
style=
"overflow:auto"
>
<input
type=
"button"
class=
"normalBtn"
value=
"添加"
style=
"float:right"
/>
</div>
<table
style=
"margin-top:10px"
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th>
排序
</th>
<th>
标签名
</th>
<th>
操作
</th>
</tr>
<tr
v-for=
"item in dataList"
:key=
"item.SNO"
>
<td>
{{
item
.
SNO
}}
</td>
<td>
{{
item
.
Content
}}
</td>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"修改"
placement=
"top"
>
<el-button
type=
"primary"
icon=
"el-icon-edit"
circle
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"删除"
placement=
"top"
>
<el-button
type=
"primary"
class=
'zidingyiFz'
icon=
"iconfont icon-bangdingzhagnhuxinxi"
circle
></el-button>
</el-tooltip>
</td>
</tr>
</table>
<!--
<el-pagination
background
@
current-change=
"handleCurrentChange"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
</el-pagination>
-->
<el-dialog
custom-class=
'w400'
title=
"团期标签"
:visible
.
sync=
"LabelVisible"
>
<el-form
:model=
"pwdMsg"
label-width=
"100px"
:rules=
"rulesPwd"
ref=
"pwdMsg"
>
<el-form-item
label=
"标签类型"
prop=
"EmName"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"addMsg.EmName"
:placeholder=
"$t('pub.pleaseImport')"
readonly
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('system.table_acc')"
prop=
"EmAccount"
>
<el-input
class=
'w217'
type=
"text"
v-model=
"addMsg.EmAccount"
:placeholder=
"$t('pub.pleaseImport')"
readonly
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('adm.adm_newPd')"
prop=
"Pwd"
>
<el-input
class=
'w217'
type=
"password"
v-model=
"pwdMsg.Pwd"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
<el-form-item
:label=
"$t('adm.adm_Reinput')"
prop=
"Pwd1"
>
<el-input
class=
'w217'
type=
"password"
v-model=
"pwdMsg.Pwd1"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"innerVisible=false,resetForm('pwdMsg')"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
@
click=
"submitForm1('pwdMsg')"
>
{{
$t
(
'pub.sureBtn'
)
}}
</button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:{
name
:
'theme'
,
code
:
1
,
},
dataList
:[],
LabelVisible
:
false
,
}
},
mounted
()
{
this
.
getList
();
},
methods
:
{
handleCurrentChange
(){},
getList
(){
this
.
apipost
(
'travel_get_GetTravelPriceTag'
,
this
.
msg
,
res
=>
{
console
.
log
(
"res"
,
res
);
if
(
res
.
data
.
resultCode
==
1
){
this
.
dataList
=
res
.
data
.
data
;
}
else
{}
},
err
=>
{})
},
}
}
</
script
>
\ No newline at end of file
src/components/activity/Rotationchart.vue
0 → 100644
View file @
188005bd
<
style
>
.Rotationchart
.choose_form
.el-form-item
{
display
:
inline-block
;
margin-top
:
15px
;
}
.Rotationchart
.imgList
ul
li
{
-webkit-box-flex
:
initial
;
-ms-flex
:
initial
;
flex
:
initial
;
position
:
relative
;
margin
:
0
20px
20px
0
;
width
:
200px
;
height
:
290px
;
margin-bottom
:
20px
;
float
:
left
;
border
:
1px
solid
#ccc
;
}
.Rotationchart
.imgList
ul
li
.img_box
{
width
:
100%
;
height
:
290px
;
position
:
relative
;
overflow
:
hidden
;
}
.Rotationchart
.imgList
ul
li
.img_box
.zezhao
{
position
:
absolute
;
top
:
0
;
left
:
0
;
background
:
rgba
(
255
,
255
,
255
,
0.4
);
text-align
:
center
;
width
:
100%
;
height
:
100%
;
line-height
:
13
;
cursor
:
pointer
;
display
:
none
;
z-index
:
100
;
}
.Rotationchart
.imgList
ul
li
.img_box
:hover
.zezhao
{
display
:
block
;
}
.Rotationchart
.imgList
ul
li
.img_box
.zezhao
i
{
font-size
:
28px
;
margin
:
0
10px
;
}
.Rotationchart
.imgList
ul
li
.img_box
.free
{
top
:
15px
;
right
:
15px
;
position
:
absolute
;
color
:
#f5f5f5
;
padding
:
2px
3px
;
border-radius
:
4px
;
font-size
:
12px
;
}
.Rotationchart
.img_item
{
width
:
100%
;
height
:
100%
;
}
.Rotationchart
.img_item
img
{
width
:
100%
;
height
:
100%
;
}
.Rotationchart
.el-carousel__container
{
height
:
100%
!important
;
}
.Rotationchart
.viewBigPicLayer
.el-carousel
{
left
:
29%
;
}
.Rotationchart
.divShow
{
position
:
fixed
;
font-family
:
"PingFangSc-Fine"
;
bottom
:
0
;
left
:
50px
;
border-top
:
3px
solid
#38425d
;
background-color
:
#fff
;
padding
:
10px
;
width
:
calc
(
100%
-
50px
);
min-width
:
1146px
;
padding-right
:
10px
;
z-index
:
110
;
}
.Rotationchart
.divShow
._tit
{
padding-left
:
10px
;
border-left
:
3px
solid
#e95252
;
font-size
:
16px
;
color
:
#000000
;
}
.Rotationchart
.TFimgList
{
float
:
left
;
width
:
220px
;
height
:
120px
;
border-radius
:
4px
;
position
:
relative
;
margin
:
0
10px
10px
0
;
overflow
:
hidden
;
}
.Rotationchart
.TFIMGzhe
{
width
:
100%
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,
0.4
);
position
:
absolute
;
top
:
0
;
text-align
:
center
;
line-height
:
115px
;
border-radius
:
4px
;
display
:
none
;
}
.Rotationchart
.TFreupload
{
width
:
32px
;
height
:
32px
;
border-radius
:
50%
;
line-height
:
32px
;
top
:
50px
;
left
:
53px
;
display
:
inline-block
;
text-align
:
center
;
background-color
:
gray
;
color
:
#fff
;
}
.Rotationchart
.TFimgList
:hover
.TFIMGzhe
{
display
:
block
;
}
.Rotationchart
.TFimgList
img
{
width
:
100%
;
height
:
100%
;
}
</
style
>
<
template
>
<div
class=
"Rotationchart"
>
<el-form
class=
"choose_form"
ref=
"form"
:model=
"form"
label-width=
"80px"
>
<el-form-item
label=
"公司"
>
<el-select
v-model=
"form.rbBranchId"
placeholder=
"请选择平台"
>
<el-option
label=
"不限"
:value=
"-1"
></el-option>
<el-option
v-for=
"item in companyList"
:label=
"item.BName"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"平台"
>
<el-select
v-model=
"form.platformType"
placeholder=
"请选择平台"
>
<el-option
label=
"不限"
:value=
"0"
></el-option>
<el-option
label=
"b2b"
:value=
"1"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"类型"
>
<el-select
v-model=
"form.slideType"
placeholder=
"请选择类型"
>
<el-option
label=
"不限"
:value=
"0"
></el-option>
<el-option
label=
"跟团游"
:value=
"1"
></el-option>
<el-option
label=
"签证"
:value=
"2"
></el-option>
<el-option
label=
"机票"
:value=
"3"
></el-option>
<el-option
label=
"自由行"
:value=
"4"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<input
type=
"button"
@
click=
"GetList"
class=
"normalBtn"
value=
"查询"
/>
<input
type=
"button"
@
click=
"AddImg"
class=
"normalBtn"
value=
"添加"
/>
</el-form-item>
</el-form>
<div
class=
"imgList"
>
<ul
style=
"overflow:auto"
>
<li
v-for=
"(item,index) in dataList"
:key=
"item.id"
@
click=
"getPicList(index)"
>
<div
class=
"img_box"
>
<img
:src=
"item.imageUrl"
/>
<span
v-if=
"item.slideStatus==1"
class=
"free"
style=
"background: #20bf6b;"
>
正常
</span>
<span
v-if=
"item.slideStatus==2"
class=
"free"
style=
"background: #E95252;"
>
禁用
</span>
<div
class=
"zezhao"
>
<i
class=
"el-icon-edit"
title=
"编辑"
@
click
.
stop=
"EditImg(item)"
></i>
<i
class=
"el-icon-printer"
slot=
"reference"
title=
"修改状态"
@
click
.
stop=
"EditStatus(item)"
></i>
</div>
</div>
</li>
</ul>
<el-pagination
background
@
current-change=
"handleCurrentChange"
v-if=
"dataList.length>0"
layout=
"total,prev, pager, next, jumper"
:page-size=
"form.pageSize"
:total=
"total"
></el-pagination>
</div>
<!-- 修改状态 -->
<el-dialog
title=
"修改状态"
:visible
.
sync=
"changestatus"
width=
"400px"
>
<el-select
v-model=
"editForm.slideStatus"
placeholder=
"请选择状态"
>
<el-option
label=
"启用"
:value=
"1"
></el-option>
<el-option
label=
"禁用"
:value=
"2"
></el-option>
<el-option
label=
"删除"
:value=
"3"
></el-option>
</el-select>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"changestatus = false"
size=
"small"
>
取 消
</el-button>
<el-button
type=
"danger"
@
click=
"ChangeStatus"
size=
"small"
>
确 定
</el-button>
</span>
</el-dialog>
<div
class=
"divShow"
v-show=
"divShow"
>
<p
class=
"_tit"
>
轮播图
</p>
<el-form
class=
"choose_form"
ref=
"form_div"
:rules=
"rules"
:model=
"form_div"
label-width=
"80px"
>
<el-form-item
label=
"公司"
prop=
"rbBranchId"
>
<el-select
v-model=
"form_div.rbBranchId"
placeholder=
"请选择平台"
>
<el-option
v-for=
"item in companyList"
:label=
"item.BName"
:value=
"item.Id"
:key=
"item.Id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"平台"
prop=
"platformType"
>
<el-select
v-model=
"form_div.platformType"
placeholder=
"请选择平台"
>
<el-option
label=
"b2b"
:value=
"1"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"类型"
prop=
"slideType"
>
<el-select
v-model=
"form_div.slideType"
placeholder=
"请选择类型"
>
<el-option
label=
"跟团游"
:value=
"1"
></el-option>
<el-option
label=
"签证"
:value=
"2"
></el-option>
<el-option
label=
"机票"
:value=
"3"
></el-option>
<el-option
label=
"自由行"
:value=
"4"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"排序"
>
<el-input
v-model=
"form_div.sort"
></el-input>
</el-form-item>
<el-form-item>
<input
type=
"button"
@
click=
"SaveImg('form_div')"
class=
"normalBtn"
value=
"保存"
/>
<input
type=
"button"
class=
"normalBtn"
value=
"取消"
@
click=
"divShow=false"
/>
</el-form-item>
<br>
<el-form-item
label=
"标题"
style=
"position: relative; top: -128px;"
>
<el-input
v-model=
"form_div.title"
></el-input>
</el-form-item>
<el-form-item
label=
"跳转地址"
style=
"position: relative; top: -128px;left: 15px;"
>
<el-input
v-model=
"form_div.returnUrl"
></el-input>
</el-form-item>
<el-form-item
label=
"图片"
>
<div
class=
"TFimgList"
>
<img
v-if=
"!form_div.imageUrl"
src=
"../../assets/img/bg_c3@3x.png"
>
<img
v-else
:src=
'form_div.imageUrl'
>
<div
class=
"TFIMGzhe"
>
<div
class=
"TFreupload"
>
<!--
<el-upload
:file-list=
"PostConfig.fileList"
:http-request=
"reUpload"
:multiple=
"true"
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action
>
<i
class=
"iconfont icon-Edit"
></i>
</el-upload>
-->
<el-upload
:file-list=
"fileList"
:http-request=
"uploadTest"
:multiple=
"true"
:limit=
"2"
:on-change=
"handleChange1"
accept=
"image/jpeg, image/gif, image/png, image/bmp"
:show-file-list=
"false"
action
>
<i
class=
"iconfont icon-Edit"
></i>
</el-upload>
</div>
</div>
</div>
</el-form-item>
</el-form>
</div>
<div
v-if=
'picIsShow'
class=
"viewBigPicLayer"
@
click=
"picIsShow=false"
>
<i
class=
"el-icon-circle-close-outline clolseViewBigPicLayer"
@
click=
"picIsShow=false"
></i>
<el-carousel
style=
"width:1670px;height:400px"
:initial-index=
'initialIndex'
:interval=
"5000"
trigger=
"click"
>
<el-carousel-item
v-for=
"(item,index) in picObj"
:key=
"index"
>
<div
class=
"img_item"
><img
:src=
"item"
/></div>
</el-carousel-item>
</el-carousel>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'Rotationchart'
,
data
(){
return
{
changestatus
:
false
,
editForm
:{},
picIsShow
:
false
,
form
:{
rbBranchId
:
-
1
,
platformType
:
0
,
slideType
:
0
,
pageIndex
:
1
,
pageSize
:
20
,
},
form_div
:{
id
:
0
,
sort
:
""
,
title
:
''
,
returnUrl
:
""
,
imageUrl
:
""
,
},
total
:
0
,
dataList
:[],
companyList
:[],
picObj
:[],
initialIndex
:
0
,
divShow
:
false
,
fileList
:
[],
rules
:{
rbBranchId
:
[
{
required
:
true
,
message
:
'请选择公司'
,
trigger
:
'change'
}
],
platformType
:
[
{
required
:
true
,
message
:
'请选择平台'
,
trigger
:
'change'
}
],
slideType
:
[
{
required
:
true
,
message
:
'请选择类型'
,
trigger
:
'change'
}
],
},
}
},
mounted
(){
this
.
getCompany
();
this
.
GetList
()
},
methods
:{
ChangeStatus
(){
this
.
changestatus
=
false
;
this
.
apiJavaPost
(
"/api/dmc/slide/updateSlideStatus"
,
this
.
editForm
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
GetList
();
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
null
);
},
EditStatus
(
item
){
this
.
changestatus
=
true
;
this
.
editForm
.
id
=
item
.
id
;
},
EditImg
(
item
){
this
.
form_div
=
Object
.
assign
({},
item
);
this
.
divShow
=
true
;
},
InitFormDiv
(){
this
.
form_div
=
{
id
:
0
,
sort
:
""
,
title
:
''
,
returnUrl
:
""
,
imageUrl
:
""
,
}
},
SaveImg
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
form_div
.
imageUrl
==
""
){
this
.
Error
(
"请上传图片!"
)
return
;
}
this
.
apiJavaPost
(
"/api/dmc/slide/setSlide"
,
this
.
form_div
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
GetList
();
this
.
InitFormDiv
();
this
.
divShow
=
false
;
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
null
);
}
else
{
return
false
;
}
});
},
handleChange1
(
file
,
fileList
)
{
this
.
fileList
=
fileList
.
slice
(
-
1
);
},
uploadTest
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
path
=
"/Upload/DMC/Slide/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
let
url
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
this
.
form_div
.
imageUrl
=
url
;
});
},
AddImg
(){
this
.
InitFormDiv
();
this
.
divShow
=
true
;
},
//上传广告图片
UploadImage
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
fileName
=
file
.
file
.
name
;
var
path
=
"/Upload/B2B/HomeSlide/"
;
var
imgArr
=
[];
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
var
str
=
x
.
data
.
FilePath
;
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
obj
.
Path
=
str
;
obj
.
ShowPath
=
imgUrl
;
imgArr
.
push
(
obj
.
ShowPath
);
let
msg
=
{
TCID
:
this
.
msg
.
TCID
,
AdvertisingPicUrlList
:
imgArr
}
this
.
apipost
(
"travel_post_AddPriceLocalAdvert"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
){
this
.
Success
(
res
.
data
.
message
);
this
.
getaddatas
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
});
},
//获取轮播路径
getPicList
(
index
){
this
.
picIsShow
=
true
;
this
.
picObj
=
[];
this
.
initialIndex
=
index
;
this
.
dataList
.
forEach
((
x
,
index
)
=>
{
if
(
x
.
slideStatus
!=
2
){
this
.
picObj
.
push
(
x
.
imageUrl
);
}
})
},
// 获取列表数据
GetList
(){
this
.
apiJavaPost
(
"/api/dmc/slide/getSlideList"
,
this
.
form
,
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
Error
(
res
.
data
.
message
)
}
},
null
);
},
handleCurrentChange
(
val
)
{
this
.
form
.
pageIndex
=
val
;
this
.
GetList
();
},
//获取公司下拉
getCompany
()
{
let
userInfo
=
this
.
getLocalStorage
()
var
RB_Group_id
=
userInfo
.
RB_Group_id
let
msg
=
{
Status
:
0
,
is_show
:
0
,
RB_Group_Id
:
RB_Group_id
}
this
.
apipost
(
'admin_get_BranchGetList'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
companyList
=
res
.
data
.
data
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
)
},
}
}
</
script
>
\ No newline at end of file
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