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
20719f0a
Commit
20719f0a
authored
Dec 18, 2019
by
zhengke
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
219fd9ef
4e94ccbf
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
681 additions
and
48 deletions
+681
-48
FinancialDocumentsDetail.vue
src/components/FinancialModule/FinancialDocumentsDetail.vue
+14
-0
HotelDiscount.vue
src/components/Hotel/HotelDiscount.vue
+568
-0
HotelProductManage2.vue
src/components/Hotel/HotelProductManage2.vue
+11
-0
leaderReimbursement.vue
src/components/LeaderManagement/leaderReimbursement.vue
+23
-2
ContractManage.vue
src/components/administrative/ContractManage.vue
+57
-46
config.js
src/router/config.js
+8
-0
No files found.
src/components/FinancialModule/FinancialDocumentsDetail.vue
View file @
20719f0a
...
...
@@ -397,6 +397,7 @@
<span
v-if=
"(GetDetail.TemplateId==29 || GetDetail.TemplateId==31) && OPState"
@
click=
"GoOPurl(GetDetail)"
style=
"cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;"
>
提成详情
</span>
<span
v-if=
"CostTypeState"
@
click=
"GourlCostType('VisitRecord',1)"
style=
"margin:0 10px;cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;"
>
拜访记录
</span>
<span
v-if=
"CostTypeState"
@
click=
"GourlCostType('yingyanMap',2)"
style=
"cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;"
>
鹰眼轨迹
</span>
<span
v-if=
"OtherType!=''"
@
click=
"GourlHotelZr"
style=
"cursor: pointer;float: right;color: #000;font-size: 14px;text-decoration: underline;"
>
酒店折让
</span>
</p>
<table
border=
"1"
bordercolor=
"#D2D2D2"
style=
"border-collapse:collapse;margin-top:15px;"
width=
"100%"
v-if=
"GetDetail.TCIDAndTCNUMList.length>0"
>
<tr
v-for=
"(o,ox) in GetDetail.TCIDAndTCNUMList"
class=
"_fujiashuoming_tr"
>
...
...
@@ -926,6 +927,7 @@ export default {
showModel
:
false
,
CostTypeState
:
false
,
huijiShow
:
false
,
OtherType
:
''
,
}
},
components
:{
'my-FlowChartModule'
:
myFlowChartModule
,
...
...
@@ -952,7 +954,19 @@ export default {
if
(
ActionMenuCode
.
indexOf
(
'F_Update_KJCostType'
)
!=-
1
){
this
.
huijiShow
=
true
;
}
this
.
OtherType
=
this
.
$route
.
query
.
OtherType
?
this
.
$route
.
query
.
OtherType
:
''
;
},
methods
:{
GourlHotelZr
(){
this
.
$router
.
push
({
name
:
'HotelDiscount'
,
query
:
{
FinanceId
:
this
.
ID
,
blank
:
"y"
,
tab
:
"酒店折让"
}
});
},
GourlCostType
(
path
,
num
){
this
.
$router
.
push
({
name
:
path
,
...
...
src/components/Hotel/HotelDiscount.vue
0 → 100644
View file @
20719f0a
<
template
>
<div
class=
"HotelDiscount"
>
<div
class=
"query-box"
>
<ul>
<li>
<span>
<em>
酒店
</em>
<el-select
v-model=
"msg.NewHotelID"
:placeholder=
"$t('pub.pleaseSel')"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
></el-option>
<el-option
v-for=
"item in HotelList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
TCID
</em>
<el-input
v-model=
"msg.TCID"
@
keyup
.
native=
"checkInteger(msg,'TCID')"
></el-input>
</span>
</li>
<li>
<span>
<em>
团号
</em>
<el-input
v-model=
"msg.TCNUM"
></el-input>
</span>
</li>
<li>
<span>
<em>
财务单据
</em>
<el-input
v-model=
"msg.FinanceId"
></el-input>
</span>
</li>
<li>
<span>
<em>
出发日期
</em>
<el-date-picker
v-model=
"dateList"
type=
"daterange"
range-separator=
"至"
value-format=
"yyyy-MM-dd"
start-placeholder=
"团出发开始时间"
end-placeholder=
"团出发结束时间"
>
</el-date-picker>
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"条件制单"
@
click=
"ConditionsMake"
>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"选择制单"
@
click=
"ChooseTeamMake"
>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"查询"
@
click=
"getList()"
>
</li>
</ul>
</div>
<table
style=
"margin-bottom:30px"
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
<input
type=
"checkbox"
v-model=
"isCkedAll"
@
click=
'checkedAll()'
/>
</th>
<th>
团号
</th>
<th>
出发时间
</th>
<th>
酒店名称
</th>
<th>
天数
</th>
<th>
单间数量
</th>
<th>
双人间数量
</th>
<th>
大床房数量
</th>
<th>
三人间数量
</th>
<th>
关联财务单据
</th>
<th>
财务单据金额
</th>
<th>
操作人
</th>
<th>
操作时间
</th>
</tr>
<tr
v-for=
"(item,i) in dataList"
:key=
"i"
>
<td>
<input
type=
"checkbox"
:disabled=
"item.disabled"
:value=
"item"
v-model=
"customerList"
@
change=
"ckeckedOne"
/>
</td>
<td>
{{
item
.
TCNUM
}}
(
{{
item
.
TCID
}}
)
</td>
<td>
{{
item
.
StartDate
}}
</td>
<td>
{{
item
.
NewHotelName
}}
</td>
<td>
{{
item
.
Days
}}
</td>
<td>
{{
item
.
SinleRoomNum
}}
</td>
<td>
{{
item
.
DoubleRoom
}}
</td>
<td>
{{
item
.
KingRoom
}}
</td>
<td>
{{
item
.
TripleRoom
}}
</td>
<td>
<span
v-if=
"item.FinanceId==0"
></span>
<span
@
click=
"goFncUrl('FinancialDocumentsDetail', item.FinanceId)"
style=
"cursor: pointer;text-decoration: underline;"
v-else
>
{{
item
.
FinanceId
}}
</span>
</td>
<td>
{{
item
.
FinanceMoney
==
0
?
''
:
item
.
FinanceMoney
}}
</td>
<td>
{{
item
.
EmName
}}
</td>
<td>
{{
item
.
UpdateDate
}}
</td>
</tr>
<tr
v-if=
"dataList.length==0"
>
<td
colspan=
"16"
align=
"center"
>
暂无数据
</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
width=
"1000px"
title=
"保存"
:visible
.
sync=
"moneyR"
center
>
<el-form
class=
"Rform"
ref=
"addMsg"
:model=
"addMsg"
:rules=
"rules"
label-width=
"80px"
>
<table
v-show=
"addMsg.AccountType==2"
class=
"po_content singeRowTable"
style=
"border:1px solid #E6E6E6;margin-bottom:15px"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th>
团号
</th>
<th>
酒店名称
</th>
<th>
关联财务单据
</th>
<th>
财务单据金额
</th>
</tr>
<tr
v-for=
"(item,index) in addMsg.AirServiceList"
:key=
"index"
>
<td>
{{
item
.
TCNUM
}}
</td>
<td>
{{
item
.
NewHotelName
}}
</td>
<td>
{{
item
.
FinanceId
==
0
?
''
:
item
.
FinanceId
}}
</td>
<td>
{{
item
.
FinanceMoney
==
0
?
''
:
item
.
FinanceMoney
}}
</td>
</tr>
<tr
v-if=
"addMsg.AirServiceList.length==0"
>
<td
colspan=
"5"
>
暂无数据
</td>
</tr>
</table>
<el-row
style=
"margin-bottom:15px"
>
<div
v-show=
"addMsg.AccountType==1"
>
<el-form-item
label=
"酒店"
>
<el-select
style=
"width:201px"
v-model=
"addMsg.NewHotelID"
:placeholder=
"$t('pub.pleaseSel')"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
"0"
></el-option>
<el-option
v-for=
"item in HotelList"
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"TCID"
>
<el-input
v-model=
"addMsg.TCID"
@
keyup
.
native=
"checkInteger(addMsg,'TCID')"
></el-input>
</el-form-item>
<el-form-item
label=
"团号"
>
<el-input
v-model=
"addMsg.TCNUM"
></el-input>
</el-form-item>
<el-form-item
label=
"时间"
>
<el-date-picker
v-model=
"dateList1"
type=
"daterange"
range-separator=
"至"
value-format=
"yyyy-MM-dd"
start-placeholder=
"团出发开始时间"
end-placeholder=
"团出发结束时间"
>
</el-date-picker>
</el-form-item>
</div>
<div>
收款账户 :日本地接部专户(人民币)
</div>
<el-form-item
label=
"折让金额"
prop=
"Money"
>
<el-input
v-model=
"addMsg.Money"
@
keyup
.
native=
"checkInteger(addMsg,'Money')"
placeholder=
"单间折让金额"
></el-input>
</el-form-item>
<el-form-item
label=
"汇款人"
prop=
"RemitterName"
>
<el-input
v-model=
"addMsg.RemitterName"
></el-input>
</el-form-item>
<el-form-item
label=
"汇款时间"
prop=
"TradeDate"
>
<el-date-picker
type=
"date"
v-model=
"addMsg.TradeDate"
value-format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<!--
<el-col
:span=
"8"
>
结算部门 :
<el-input
style=
"width:200px"
v-model=
"jsbmStr"
:disabled=
"true"
></el-input>
</el-col>
-->
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"上传附件"
>
<div
class=
"picload"
>
<el-upload
style=
"width: 138px;height: 92px;"
drag
:http-request=
"uploadFileBtn"
:multiple=
"true"
:show-file-list=
"false"
action=
""
>
<i
class=
"el-icon-plus avatar-uploader-icon"
></i>
<div
class=
"el-upload__text"
>
{{
$t
(
'active.ld_djscwj'
)
}}
</div>
</el-upload>
</div>
</el-form-item>
</el-col>
<el-col
:span=
"16"
style=
"padding-top:5px"
>
<div
class=
"_addUpload_box"
style=
"display:inline-block"
v-for=
"(file,fIndex) in saveMsg"
:key=
"fIndex"
>
<div
v-if=
"file.Type==3"
>
<div
style=
"width:100%;height:100%;overflow: hidden;"
>
<img
style=
"width:100%"
:src=
"file.Url?file.Url:file.Content"
@
click=
"showUpLoadFile(file)"
>
</div>
<span
class=
"iconfont icon-guanbi1"
@
click=
"deleteUploadFile(fIndex)"
></span>
</div>
<div
v-if=
"file.Type==1"
>
<div
class=
"iconfont "
:class=
"file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'"
@
click=
"showUpLoadFile(file)"
>
</div>
<span
class=
"iconfont icon-guanbi1"
@
click=
"deleteUploadFile(fIndex)"
></span>
</div>
<div
v-if=
"file.Type==2"
>
<div
class=
"iconfont icon-excel"
@
click=
"showUpLoadFile(file)"
>
</div>
<span
class=
"iconfont icon-guanbi1"
@
click=
"deleteUploadFile(fIndex)"
></span>
</div>
</div>
</el-col>
</el-row>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"moneyR = false,FinaceIdnum=''"
>
取 消
</el-button>
<el-button
:loading=
"Btnloading"
size=
"small"
type=
"danger"
@
click=
"RSumbit('addMsg')"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
moment
from
"moment"
import
{
constants
}
from
'fs'
;
export
default
{
name
:
'Feedback'
,
data
(){
return
{
addMsg
:{
AccountType
:
1
,
NewHotelID
:
0
,
TCID
:
''
,
TCNUM
:
''
,
QStartDate
:
''
,
QEndDate
:
''
,
AirServiceList
:[],
vorcherInos
:[],
Money
:
''
,
RemitterName
:
''
,
TradeDate
:
''
,
},
rules
:{
Money
:
[
{
required
:
true
,
message
:
'请输入单间折让金额'
,
trigger
:
'blur'
}
],
RemitterName
:
[
{
required
:
true
,
message
:
'请输入汇款人'
,
trigger
:
'blur'
}
],
TradeDate
:
[
{
type
:
'string'
,
required
:
true
,
message
:
'请选择时间'
,
trigger
:
'change'
}
],
},
Btnloading
:
false
,
Ticketform
:{},
checkList
:[],
saveMsg
:[],
moneyR
:
false
,
msg
:{
pageIndex
:
1
,
pageSize
:
10
,
NewHotelID
:
''
,
TCID
:
''
,
TCNUM
:
''
,
StratTime
:
''
,
EndTime
:
''
,
},
dataList
:[],
loading
:
false
,
dateList
:[],
HotelList
:[],
total
:
0
,
isCkedAll
:
false
,
allLength
:
0
,
customerListAll
:[],
customerList
:[],
dateList1
:[],
}
},
created
(){
this
.
msg
.
NewHotelID
=
this
.
$route
.
query
.
NewHotelID
?
Number
(
this
.
$route
.
query
.
NewHotelID
)
:
0
;
this
.
msg
.
FinanceId
=
this
.
$route
.
query
.
FinanceId
?
Number
(
this
.
$route
.
query
.
FinanceId
)
:
''
;
},
mounted
(){
this
.
getList
();
this
.
GetHotelList
();
},
methods
:{
goFncUrl
:
function
(
path
,
id
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
OtherType
:
5
,
blank
:
'y'
,
}
})
},
initaddMsg
(){
this
.
addMsg
=
{
AccountType
:
1
,
NewHotelID
:
0
,
TCID
:
''
,
TCNUM
:
''
,
QStartDate
:
''
,
QEndDate
:
''
,
AirServiceList
:[],
vorcherInos
:[],
Money
:
''
,
RemitterName
:
''
,
TradeDate
:
''
,
}
},
ChooseTeamMake
(){
if
(
this
.
customerList
.
length
==
0
){
this
.
Error
(
"至少选择一个团!"
);
return
;
}
this
.
initaddMsg
();
this
.
addMsg
.
AccountType
=
2
;
this
.
saveMsg
=
[];
this
.
moneyR
=
true
;
this
.
addMsg
.
AirServiceList
=
this
.
customerList
;
},
ConditionsMake
(){
this
.
initaddMsg
();
this
.
moneyR
=
true
;
this
.
addMsg
.
AccountType
=
1
;
this
.
saveMsg
=
[];
},
RSumbit
(
formName
){
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
addMsg
.
vorcherInos
=
this
.
saveMsg
;
if
(
this
.
addMsg
.
AccountType
==
1
){
if
(
this
.
dateList1
&&
this
.
dateList1
.
length
>
0
){
this
.
addMsg
.
QStartDate
=
this
.
dateList1
[
0
];
this
.
addMsg
.
QEndDate
=
this
.
dateList1
[
1
];
}
else
{
this
.
addMsg
.
QStartDate
=
''
;
this
.
addMsg
.
QEndDate
=
''
;
}
}
this
.
apipost
(
"Financial_post_SetHotelServiceBetchImport"
,
this
.
addMsg
,
res
=>
{
console
.
log
(
"addMsg"
,
res
);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
this
.
moneyR
=
false
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
});
}
else
{
}
});
},
checkedAll
()
{
//全选
if
(
this
.
isCkedAll
==
true
)
{
this
.
customerList
=
[]
}
else
{
this
.
customerListAll
.
forEach
(
item
=>
{
this
.
customerList
.
push
(
item
)
})
}
},
ckeckedOne
()
{
//单选
if
(
this
.
customerList
.
length
<
this
.
allLength
)
{
this
.
isCkedAll
=
false
}
else
{
this
.
isCkedAll
=
true
}
},
showUpLoadFile
(
i
)
{
// 预览上传文件
if
(
i
.
Type
==
3
)
{
this
.
picObj
.
push
(
i
.
Url
);
this
.
picIsShow
=
true
;
}
else
{
if
(
i
.
Content
.
substring
(
i
.
Content
.
lastIndexOf
(
"."
)
+
1
,
i
.
Content
.
length
).
toUpperCase
()
==
"PDF"
)
{
this
.
previewPDF
(
i
.
Url
);
}
else
{
window
.
open
(
"https://view.officeapps.live.com/op/view.aspx?src="
+
i
.
Url
);
}
}
},
deleteUploadFile
(
i
)
{
// 删除上传文件
this
.
saveMsg
.
splice
(
i
,
1
);
},
uploadFileBtn
(
file
)
{
//上传
if
(
file
.
file
.
size
>
1024
*
1024
*
10
)
{
this
.
$message
.
warning
(
this
.
$t
(
"tips.wjdxbncgsz"
));
return
;
}
// 1 文档 2 数据 3 图片
let
typeArr
=
[
{
stringArr
:
"GIF|JPG|JPEG|PNG|BMP"
,
type
:
3
},
{
stringArr
:
"DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF"
,
type
:
1
}
];
let
ft
=
file
.
file
.
name
.
substring
(
file
.
file
.
name
.
lastIndexOf
(
"."
)
+
1
,
file
.
file
.
name
.
length
)
.
toUpperCase
();
let
fileTypeNumber
=
2
;
let
typeOk
=
false
;
typeArr
.
forEach
(
x
=>
{
if
(
x
.
stringArr
.
indexOf
(
ft
)
!=
"-1"
)
{
fileTypeNumber
=
x
.
type
;
typeOk
=
true
;
}
});
if
(
!
typeOk
)
return
this
.
$message
.
error
(
this
.
$t
(
"tips.qscWEfile"
));
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
path
=
"/Upload/Temporary/"
;
this
.
$message
.
info
(
this
.
$t
(
"tips.shangchuanzhong"
));
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
let
fileSize
=
file
.
file
.
size
<
1024
?
file
.
file
.
size
:
(
file
.
file
.
size
/
1024
).
toFixed
(
0
);
this
.
saveMsg
.
push
({
Content
:
x
.
data
.
FilePath
,
ID
:
0
,
Type
:
fileTypeNumber
,
Url
:
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
});
this
.
$message
.
success
(
this
.
$t
(
"tips.scchenggong"
));
},
1
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
//获取酒店列表
GetHotelList
()
{
this
.
apipost
(
"hotel_post_GetHasStockHotelList"
,
{
Country
:
0
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
HotelList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
getList
(){
if
(
this
.
dateList
&&
this
.
dateList
.
length
>
0
){
this
.
msg
.
StratTime
=
this
.
dateList
[
0
];
this
.
msg
.
EndTime
=
this
.
dateList
[
1
];
}
else
{
this
.
msg
.
StratTime
=
''
;
this
.
msg
.
EndTime
=
''
;
}
this
.
loading
=
true
;
this
.
apipost
(
"journeyorder_post_GetTravelHotelDiscountFinancePageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
.
pageData
;
this
.
dataList
=
[];
this
.
total
=
res
.
data
.
data
.
count
;
this
.
allLength
=
res
.
data
.
data
.
pageData
.
length
this
.
customerListAll
=
[];
data
.
forEach
(
item
=>
{
item
.
disabled
=
false
;
if
(
item
.
FinanceId
!=
0
){
item
.
disabled
=
true
;
}
this
.
dataList
.
push
(
item
)
item
.
AirTicketId
=
item
.
NewHotelID
;
if
(
item
.
FinanceId
!=
0
){
this
.
customerListAll
.
push
(
item
)
}
})
}
});
},
}
}
</
script
>
<
style
>
.HotelDiscount
._addUpload_box
.icon-guanbi1
{
font-size
:
12px
;
color
:
white
;
display
:
inline-block
;
margin-left
:
15px
;
position
:
absolute
;
right
:
-6px
;
top
:
-9px
;
background-color
:
#f56c6c
;
border-radius
:
50%
;
height
:
20px
;
width
:
20px
;
text-align
:
center
;
line-height
:
20px
;
}
.HotelDiscount
._addUpload_box
>
div
{
float
:
left
;
width
:
138px
;
height
:
92px
;
border
:
1px
dashed
rgba
(
210
,
210
,
210
,
1
);
border-radius
:
2px
;
cursor
:
pointer
;
margin-bottom
:
10px
;
padding
:
5px
;
margin-right
:
10px
;
position
:
relative
;
}
.HotelDiscount
.picload
.el-upload
{
width
:
138px
;
height
:
92px
;
}
.HotelDiscount
.el-form-item__label
{
font-size
:
12px
;
color
:
#606266
;
}
.HotelDiscount
.el-form-item
{
display
:
inline-block
;
}
.HotelDiscount
.singeRowTable
{
margin-top
:
20px
;
}
.HotelDiscount
.picload
{
width
:
138px
;
height
:
92px
;
border-radius
:
2px
;
cursor
:
pointer
;
margin-bottom
:
10px
;
padding
:
5px
;
margin-right
:
10px
;
position
:
relative
;
}
.HotelDiscount
.picload
.el-upload-dragger
{
width
:
100%
;
height
:
100%
;
}
</
style
>
src/components/Hotel/HotelProductManage2.vue
View file @
20719f0a
...
...
@@ -110,6 +110,7 @@
<div
class=
"hotelProductManage2_edit2_header"
>
<div>
{{$t('restaurant.res_bidManage')}}
</div>
<div>
<input
type=
"button"
value=
"酒店折让"
@
click=
"goHotelDiscount('HotelDiscount')"
class=
"hollowbtn"
/>
<input
type=
"button"
:value=
"$t('ground.piliangshanchu')"
@
click=
"delete2Reset()"
class=
"hollowbtn"
/>
<input
type=
"button"
:value=
"$t('ground.chongzhi')"
@
click=
"edit2Reset()"
class=
"hollowFixedBtn"
/>
<input
type=
"button"
:value=
"$t('pub.saveBtn')"
@
click=
"edit2Save()"
class=
"normalBtn"
/>
...
...
@@ -890,6 +891,16 @@
}
},
methods
:
{
goHotelDiscount
(
path
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
blank
:
"y"
,
NewHotelID
:
this
.
hotelId
,
}
});
},
//库存类型
stockColor
:
function
(
item
,
item2
,
childItem
)
{
if
(
item
.
date
===
item2
.
month
&&
item2
.
hasOwnProperty
(
'data'
))
{
...
...
src/components/LeaderManagement/leaderReimbursement.vue
View file @
20719f0a
...
...
@@ -114,8 +114,15 @@
{{item.AirportPickUpStr}}
<
template
v-if=
"item.AirportPickUp==15 && item.MergeList && item.MergeList.length>0"
v-for=
"(subItem,subIndex) in item.MergeList"
>
<div
:key=
"subIndex"
style=
"color:blue;white-space:nowrap;"
>
套车团号:
{{
subItem
.
MTCNUM
}}
(
{{
subItem
.
MTCID
}}
)
<div
:key=
"subIndex"
style=
"color:blue;white-space:nowrap;cursor:pointer;text-decoration:underline;"
@
click=
"GoToLeader(subItem)"
>
套车团号:
{{
subItem
.
MTCNUM
}}
(
{{
subItem
.
MTCID
}}
)
</div>
</
template
>
<
template
v-if=
"item.MergePlanList && item.MergePlanList.length>0"
v-for=
"(subItem,subIndex) in item.MergePlanList"
>
<div
:key=
"subIndex"
style=
"color:blue;white-space:nowrap;cursor:pointer;text-decoration:underline;"
@
click=
"GoToLeader(subItem)"
>
被套车团号:
{{
subItem
.
MTCNUM
}}
(
{{
subItem
.
TCIDs
}}
)
</div>
</
template
>
</td>
...
...
@@ -859,6 +866,20 @@
commonHotelInfo
},
methods
:
{
GoToLeader
(
obj
)
{
this
.
$router
.
push
({
name
:
'leaderReimbursement'
,
query
:
{
"id"
:
obj
.
TCIDs
,
NewCombinationNum
:
obj
.
DMCNum
,
isUpdate
:
true
,
OutBranchId
:
0
,
blank
:
'y'
,
tab
:
'用款计划'
,
lineId
:
0
}
})
},
// 20190815 新增领款单据重新生成自动带上计算后的金额
goFncEditUrl
(
url
,
crId
,
frId
)
{
let
obj
=
{};
...
...
src/components/administrative/ContractManage.vue
View file @
20719f0a
...
...
@@ -3,32 +3,35 @@
background-color
:
#fff
!important
;
color
:
#e95252
!important
;
border-color
:
#e95252
!important
;
}
}
.ContractManage
.query-box
.el-button--primary
:focus
,
.query-box
.el-button--primary
:hover
{
.ContractManage
.query-box
.el-button--primary
:focus
,
.query-box
.el-button--primary
:hover
{
background-color
:
#fff
!important
;
color
:
#e95252
!important
;
border-color
:
#e95252
!important
;
}
}
.ContractManage
.query-box
.el-button
{
.ContractManage
.query-box
.el-button
{
border-radius
:
16px
;
height
:
30px
;
position
:
relative
;
top
:
5px
;
}
top
:
5px
;
}
.ContractManage
.query-box
.el-button
i
{
.ContractManage
.query-box
.el-button
i
{
color
:
#e95252
;
}
.ContractManage
.query-box
.el-button
span
{
}
.ContractManage
.query-box
.el-button
span
{
position
:
relative
;
top
:
-3px
;
}
.ContractManage
.el-button
+
.el-button
{
margin-left
:
0
!important
;
}
}
.ContractManage
.el-button
+
.el-button
{
margin-left
:
0
!important
;
}
</
style
>
<
template
>
...
...
@@ -108,15 +111,15 @@
getList();
resetPageIndex();
"
/>
<el-dropdown
@
command=
"getImport"
>
<el-button
type=
"primary"
@
click=
"goContract('onedayTripContract', 0, '一日游合同')"
>
一日游合同
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"1"
>
境内旅游合同
</el-dropdown-item>
<el-dropdown-item
command=
"2"
>
单项委托合同
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown
@
command=
"getImport"
>
<el-button
type=
"primary"
@
click=
"goContract('onedayTripContract', 0, '一日游合同')"
>
一日游合同
<i
class=
"el-icon-arrow-down el-icon--right"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"1"
>
境内旅游合同
</el-dropdown-item>
<el-dropdown-item
command=
"2"
>
单项委托合同
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</li>
</ul>
</div>
...
...
@@ -133,6 +136,7 @@
<th
width=
"100"
>
合同状态
</th>
<th
width=
"100"
>
创建人
</th>
<th
width=
"120"
>
创建时间
</th>
<th
width=
"120"
>
是否盖章
</th>
<th
width=
"130"
>
操作
</th>
</tr>
<tr
v-for=
"(item, index) in dataList"
:key=
"index"
>
...
...
@@ -150,7 +154,11 @@
</
template
>
</td>
<td>
{{ item.T_ContractNum }}
</td>
<td>
{{ item.Tourists_Name }}
</td>
<td
style=
"text-align:left"
>
<span
v-if=
"item.Tourists_Sign&&item.Tourists_Sign!=''"
style=
"color:green;"
>
【已签字】
</span>
<span
v-else
style=
"color:red;"
>
【未签字】
</span>
{{ item.Tourists_Name }}
</td>
<td>
{{ item.TravelAgency_Name }}
</td>
<td>
{{ item.TravelAgency_DealMan }}
</td>
<td>
{{ item.C_TCNUM }}
</td>
...
...
@@ -158,8 +166,11 @@
<td>
{{ item.StatusStr }}
</td>
<td>
{{ item.CreateByName }}
</td>
<td>
{{ item.CreateTimeStr }}
</td>
<td>
<span
v-if=
"item.IsTravelAgencySignature==0"
>
未盖章
</span>
<span
v-if=
"item.IsTravelAgencySignature==1"
style=
"color:green;"
>
已盖章
</span></td>
<td>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"修改"
placement=
"top-start"
v-if=
"item.Status==0||item.Status==3"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"修改"
placement=
"top-start"
v-if=
"item.Status==0||item.Status==3"
>
<
template
v-if=
"item.CType == 3"
>
<el-button
type=
"primary"
icon=
"el-icon-edit"
circle
@
click=
"goContract('onedayTripContract', item.ID, '一日游合同')"
></el-button>
...
...
@@ -186,14 +197,16 @@
<el-button
type=
"info"
icon=
"el-icon-upload2"
circle
@
click=
"SubmitContract(item)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
v-if=
"item.Status==2"
effect=
"dark"
content=
"复制链接发送给客户"
>
<el-button
type=
"info"
icon=
"iconfont icon-copy-l"
circle
@
click=
"CopyUrl(item)"
style=
"padding:4px;background-color:#9266f9;border-color:#9266f9;"
></el-button>
<el-button
type=
"info"
icon=
"iconfont icon-copy-l"
circle
@
click=
"CopyUrl(item)"
style=
"padding:4px;background-color:#9266f9;border-color:#9266f9;"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"取消"
placement=
"top-start"
v-if=
"item.Status==0"
>
<el-button
type=
"danger"
icon=
"el-icon-close"
circle
@
click=
"DeleteContract(item)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"查看"
placement=
"top-start"
>
<el-button
type=
"danger"
icon=
"iconfont icon-chakan"
circle
@
click=
"ViewContract(item)"
style=
"padding:4px;"
></el-button>
<el-button
type=
"danger"
icon=
"iconfont icon-chakan"
circle
@
click=
"ViewContract(item)"
style=
"padding:4px;"
></el-button>
</el-tooltip>
</td>
</tr>
...
...
@@ -291,23 +304,23 @@
});
},
//复制URL
CopyUrl
(
item
){
CopyUrl
(
item
)
{
var
oInput
=
document
.
createElement
(
'input'
);
oInput
.
value
=
item
.
Url
;
document
.
body
.
appendChild
(
oInput
);
oInput
.
select
();
// 选择对象
document
.
execCommand
(
"Copy"
);
// 执行浏览器复制命令
oInput
.
className
=
'oInput'
;
oInput
.
style
.
display
=
'none'
;
this
.
Info
(
"复制成功!"
);
oInput
.
style
.
display
=
'none'
;
this
.
Info
(
"复制成功!"
);
},
//跳转
getImport
(
command
)
{
if
(
command
==
1
)
{
this
.
goContract
(
'DomesticTravelcontract'
,
0
,
'境内旅游合同'
);
}
else
if
(
command
==
2
)
{
this
.
goContract
(
'SingleContract'
,
0
,
'单项委托合同'
);
}
if
(
command
==
1
)
{
this
.
goContract
(
'DomesticTravelcontract'
,
0
,
'境内旅游合同'
);
}
else
if
(
command
==
2
)
{
this
.
goContract
(
'SingleContract'
,
0
,
'单项委托合同'
);
}
},
//下载合同
...
...
@@ -376,15 +389,14 @@
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
dataList
.
forEach
(
x
=>
{
let
Url
=
""
;
if
(
this
.
isOnline
()){
Url
=
window
.
location
.
hostname
+
'/#/TravelContractConfirm?ContractId='
+
x
.
ID
;
}
else
{
Url
=
window
.
location
.
hostname
+
":8080/"
+
'#/TravelContractConfirm?ContractId='
+
x
.
ID
;
}
x
.
Url
=
Url
;
this
.
dataList
.
forEach
(
x
=>
{
let
Url
=
""
;
if
(
this
.
isOnline
())
{
Url
=
window
.
location
.
hostname
+
'/#/TravelContractConfirm?ContractId='
+
x
.
ID
;
}
else
{
Url
=
window
.
location
.
hostname
+
":8080/"
+
'#/TravelContractConfirm?ContractId='
+
x
.
ID
;
}
x
.
Url
=
Url
;
})
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
...
...
@@ -402,8 +414,7 @@
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
ViewContract
(
item
)
{
ViewContract
(
item
)
{
this
.
$router
.
push
({
name
:
"TravelContractView"
,
query
:
{
...
...
src/router/config.js
View file @
20719f0a
...
...
@@ -818,6 +818,14 @@ export default {
title
:
'酒店产品管理2'
},
},
{
path
:
'/HotelDiscount'
,
//酒店折让
name
:
'HotelDiscount'
,
component
:
resolve
=>
require
([
'@/components/Hotel/HotelDiscount'
],
resolve
),
meta
:
{
title
:
'酒店折让'
},
},
{
path
:
'/HotelProductEdit'
,
//酒店产品编辑
name
:
'HotelProductEdit'
,
...
...
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