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
59bfd7bb
Commit
59bfd7bb
authored
May 19, 2023
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
af39e718
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
116 additions
and
409 deletions
+116
-409
AuditDan.vue
src/components/TravelManager/TravelGroupControl/AuditDan.vue
+18
-154
CostNewPriceAudit.vue
...ts/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
+42
-14
CostNewPriceMun.vue
...ents/TravelManager/TravelNewQuotation/CostNewPriceMun.vue
+11
-0
QuotationAduit.vue
...nents/TravelManager/TravelNewQuotation/QuotationAduit.vue
+19
-51
newQuotation.vue
...ponents/TravelManager/TravelNewQuotation/newQuotation.vue
+26
-190
No files found.
src/components/TravelManager/TravelGroupControl/AuditDan.vue
View file @
59bfd7bb
...
...
@@ -79,23 +79,25 @@
</el-tabs>
<div
class=
"commonContent"
v-loading=
"loading"
>
<ul
class=
"_content"
>
<li
v-for=
"item in dataList"
:key=
"item.
subCode"
:data-id=
'item.ID'
style=
"padding:0 15px;"
>
<div
class=
"Audit_left"
style=
"width:
8
0px"
>
<li
v-for=
"item in dataList"
:key=
"item.
ID"
style=
"padding:0 15px;"
>
<div
class=
"Audit_left"
style=
"width:
14
0px"
>
<div>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.ID"
placement=
"top-start"
>
<span>
编号:
{{
item
.
ID
}}
</span>
</el-tooltip>
<span>
编号:
{{
item
.
ID
}}
</span>
</div>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.TeamTypeName"
placement=
"top-start"
>
<div
style=
"margin-top: 10px"
>
类型:
{{
item
.
TeamTypeName
}}
</div>
</el-tooltip>
<div
style=
"margin-top:1px"
>
类型:
<template
v-if=
"item.TeamType==1"
>
<i
style=
"color:red;font-weight:bold;"
>
{{
item
.
TeamTypeName
}}
</i>
</
template
>
<
template
v-else
>
{{
item
.
TeamTypeName
}}
</
template
>
</div>
<div
style=
"margin-top:3px"
>
出发日期:{{item.OutDateTime}}
</div>
</div>
<div
class=
"Audit_left"
style=
"width:20%;"
>
<div>
<p
class=
"quoListName"
style=
"padding-right:20px;width:100%;"
>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.LineName"
placement=
"top-start"
>
<span>
{{
item
.
LineName
}}
</span>
</el-tooltip>
<span>
{{item.LineName}}
</span>
</p>
<p
class=
"Quo_Content"
style=
"padding-right:20px;width:100%;"
><i
v-if=
"item.LtName"
class=
"iconfont icon-richeng"
></i>
...
...
@@ -251,32 +253,11 @@
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"queryData.pageSize"
:total=
"total"
>
</el-pagination>
<el-dialog
custom-class=
'ComTeamPlan_info_box'
:title=
"tripTitle"
:visible
.
sync=
"outerVisible"
center
>
<commonTeamInfo
ref=
"comDialog"
></commonTeamInfo>
</el-dialog>
<div
class=
"shenheBtm"
v-if=
"isShowDan"
>
<el-form
label-width=
"100px"
:model=
"AuditInfo"
:rules=
"rules"
ref=
"AuditInfo"
>
<el-col
:span=
"3"
>
<div
style=
"margin:58px 0 0 50px;"
>
<el-radio
v-model=
"AuditInfo.TravelState"
label=
"3"
>
通过
</el-radio>
<el-radio
v-model=
"AuditInfo.TravelState"
label=
"4"
>
驳回
</el-radio>
</div>
</el-col>
<el-col
:span=
"10"
style=
"margin-top:30px;"
>
<el-form-item
label=
"审批说明"
>
<el-input
type=
"textarea"
class=
"w600"
v-model=
"AuditInfo.AuditContent"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"3"
style=
"margin-top:60px;"
>
<button
class=
"hollowFixedBtn"
@
click=
"isShowDan=false"
>
取消
</button>
<button
class=
"normalBtn"
@
click=
"submitForm('AuditInfo')"
>
保存
</button>
</el-col>
</el-form>
</div>
</div>
</template>
<
script
>
import
commonTeamInfo
from
"../../commonPage/commonTeamInfo.vue"
;
export
default
{
data
()
{
return
{
...
...
@@ -287,18 +268,6 @@
PageSize
:
"5"
,
TravelState
:
2
},
AuditInfo
:
{
ID
:
""
,
TravelState
:
""
,
AuditContent
:
""
},
rules
:
{
AuditContent
:
[{
required
:
true
,
message
:
"请填写审核说明"
,
trigger
:
"blur"
}]
},
loading
:
true
,
//默认选中
activeName
:
"2"
,
...
...
@@ -306,8 +275,7 @@
EmployeeList
:
[],
//日志
AuditLogList
:
""
,
//显示隐藏审核
isShowDan
:
false
,
//线路列表
LineList
:
""
,
noLimit
:
0
,
...
...
@@ -318,14 +286,10 @@
dataList
:
""
,
total
:
0
,
currentPage
:
1
,
SalesPriceList
:
[],
CostList
:
[],
outerVisible
:
false
,
tripTitle
:
""
};
},
components
:
{
commonTeamInfo
:
commonTeamInfo
},
methods
:
{
handleCurrentChange
(
val
)
{
...
...
@@ -415,57 +379,6 @@
}
);
},
//点击销售定价获取数据
getSalsPrice
(
ID
)
{
let
msg
=
{
ID
:
ID
};
this
.
SalesPriceList
=
[];
this
.
apipost
(
"travel_get_GetTravelQuotationPrice"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
SalesPriceList
.
push
(
res
.
data
.
data
[
0
]);
}
});
},
//点击地接成本获取数据
getCostPrice
(
ID
)
{
let
msg
=
{
ID
:
ID
};
this
.
CostList
=
[];
this
.
apipost
(
"travel_get_GetTravelOfferPrice"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
data
[
0
]
!=
undefined
||
res
.
data
.
data
[
0
]
!=
null
)
{
let
cost
=
res
.
data
.
data
[
0
];
let
dayNum
=
0
;
cost
.
LocalOfferPriceList
.
forEach
(
x
=>
{
if
(
x
.
DayNum
>
dayNum
)
{
dayNum
=
x
.
DayNum
;
}
});
let
offerPriceList
=
[];
for
(
let
i
=
1
;
i
<=
dayNum
;
i
++
)
{
let
dayOfferPriceList
=
[];
let
totalPrice
=
0
;
cost
.
LocalOfferPriceList
.
forEach
(
x
=>
{
if
(
x
.
DayNum
==
i
)
{
dayOfferPriceList
.
push
(
x
);
totalPrice
+=
x
.
OfferPrice
;
}
});
let
offerPrice
=
{
day
:
i
,
dayOfferPriceList
,
totalPrice
};
offerPriceList
.
push
(
offerPrice
);
}
cost
[
"offerPriceList"
]
=
offerPriceList
;
this
.
CostList
.
push
(
cost
);
}
}
});
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList
()
{
this
.
apipost
(
...
...
@@ -474,26 +387,15 @@
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
EmployeeList
=
res
.
data
.
data
;
}
},
err
=>
{}
}
);
},
getJourney
(
id
,
title
)
{
//根据ID 获取行程内容
var
that
=
this
;
this
.
tripTitle
=
title
;
this
.
$nextTick
(()
=>
{
that
.
$refs
.
comDialog
.
GetTrip
(
id
);
});
that
.
outerVisible
=
true
;
},
goUrl
(
path
,
configId
,
qType
)
{
if
(
configId
>
0
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
configId
:
configId
,
Qtype
:
qType
,
blank
:
'y'
,
tab
:
'报价单审核'
...
...
@@ -505,44 +407,6 @@
});
}
},
submitForm
()
{
//提交创建、修改表单
this
.
$refs
[
"AuditInfo"
].
validate
(
valid
=>
{
if
(
valid
)
{
this
.
saveAudit
();
}
else
{
return
false
;
}
});
},
auditDanList
(
ID
)
{
this
.
isShowDan
=
true
;
this
.
AuditInfo
.
ID
=
ID
;
},
//提交审核
saveAudit
()
{
this
.
apipost
(
"travel_get_AuditTravelConfig"
,
this
.
AuditInfo
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
"审核成功"
);
this
.
isShowDan
=
false
;
this
.
getList
();
}
},
err
=>
{}
);
},
//格式化日期去掉年
formatStartDate
(
value
)
{
if
(
value
==
null
||
value
==
undefined
)
{
return
""
;
}
else
{
let
dataArr
=
value
.
split
(
"-"
);
return
dataArr
[
1
]
+
"-"
+
dataArr
[
2
];
}
}
},
mounted
()
{
this
.
getLineList
();
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
View file @
59bfd7bb
...
...
@@ -95,7 +95,12 @@
</td>
<td
width=
"80"
class=
"txtRightCost"
>
团队类型
</td>
<td
width=
"300"
>
{{
postConfig
.
TeamTypeName
}}
<template
v-if=
"postConfig.TeamType==1"
>
<span
style=
"color:red;font-weight:bold;"
>
{{
postConfig
.
TeamTypeName
}}
</span>
</
template
>
<
template
v-else
>
{{
postConfig
.
TeamTypeName
}}
</
template
>
</td>
<td
width=
"80"
class=
"txtRightCost"
>
行程天数
</td>
<td>
...
...
@@ -175,7 +180,7 @@
<td
width=
"100"
class=
"CP_ComTitle2 CostcomCenter"
>
中
</td>
<td
width=
"100"
class=
"CP_ComTitle2 CostcomCenter"
>
晚
</td>
</tr>
<
template
v
-
if
=
"CostNumberList&&CostNumberList.length>1"
>
<
template
v-if=
"CostNumberList&&CostNumberList.length>1"
>
<template
v-for=
"(subItem,subIndex) in dayCostPrice"
>
<template
v-for=
"(childItem,childIndex) in CostNumberList"
>
<tr>
...
...
@@ -222,7 +227,6 @@
</tr>
</template>
</template>
<
template
v-for=
"(childItem,childIndex) in CostNumberList"
>
<tr>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
v-if=
"childIndex==0"
...
...
@@ -259,7 +263,7 @@
</tr>
</
template
>
<
template
v-for=
"(childItem,childIndex) in CostNumberList"
>
<
tr
>
<tr
:key=
"childIndex+1000"
>
<td
colspan=
"3"
class=
"CP_ComTitle2 CostcomCenter"
v-if=
"childIndex==0"
:rowspan=
"CostNumberList.length"
>
人民币小计
...
...
@@ -775,12 +779,6 @@
{{teamPrice.SingleRoomPrice}}
</td>
</tr>
<!--
<
tr
>
<
td
class
=
"CP_ComTitle2"
>
备注
<
/td
>
<
td
colspan
=
"13"
>
{{
OtherPrice
.
OtherRemark
}}
<
/td
>
<
/tr> --
>
<tr>
<td
class=
"CP_ComTitle2"
>
附件
</td>
<td
colspan=
"13"
>
...
...
@@ -794,9 +792,25 @@
</tr>
<tr>
<td
class=
"CP_ComTitle2"
>
审核备注
</td>
<
td
colspan
=
"
13
"
>
<td
colspan=
"
7
"
>
<el-input
type=
"textarea"
v-model=
"postConfig.AuditContent"
></el-input>
</td>
<td
colspan=
"2"
>
当前团队类型:
<
template
v-if=
"postConfig.TeamTypeName=='小包团'"
>
<span
style=
"color:red;font-weight:bold;"
>
{{
postConfig
.
TeamTypeName
}}
</span>
</
template
>
<
template
v-else
>
{{
postConfig
.
TeamTypeName
}}
</
template
>
</td>
<td
colspan=
"4"
>
<el-form-item
label=
"更改团队类型"
>
<el-select
class=
"multiple_input"
v-model=
"postConfig.TeamType"
>
<el-option
v-for=
'item in teamList'
:key=
"item.ID"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr
v-if=
"IsEdit==2"
>
<td
colspan=
"14"
style=
"text-align:center;"
>
...
...
@@ -825,10 +839,23 @@
dayCostPrice
:
[],
CostCurrencyList
:
[],
CostNumberList
:
[],
teamPrice
:
{
}
teamPrice
:
{},
teamList
:
[],
//团队类型
}
},
methods
:
{
getTeamList
()
{
//出团公司
this
.
apipost
(
"travel_GetTeamTypeEnumList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
teamList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
selectTag
(
index
)
{
this
.
tabsActive
=
index
this
.
changeTabs
()
...
...
@@ -1091,14 +1118,15 @@
},
getchange
()
{
this
.
getLeaderShare
();
}
},
mounted
()
{
this
.
orderList
=
this
.
OfferArray
this
.
changeTabs
()
},
created
()
{
}
,
created
()
{
this
.
getTeamList
();
},
watch
:
{
},
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPriceMun.vue
View file @
59bfd7bb
...
...
@@ -78,6 +78,17 @@
<el-form>
<div
class=
"QuotationFirstDiv1"
>
<table>
<tr>
<th>
开团提示
</th>
<th
colspan=
"5"
style=
"text-align:left;line-height:40px;"
>
<p
style=
"color:red;font-weight:bold;"
>
1.“常规团”对应 “散拼”;
2.“小包团”(10人以下 或者
超过10人纯玩不进店);
3.“当地游”(不需要机票);
</p>
</th>
</tr>
<tr>
<td
width=
"80"
class=
"txtRightCost"
>
出团类型
</td>
<td>
...
...
src/components/TravelManager/TravelNewQuotation/QuotationAduit.vue
View file @
59bfd7bb
...
...
@@ -12,15 +12,15 @@
<
template
>
<div
class=
"DirectQuotation clearfix"
v-loading=
"loading"
>
<div
class=
"singlePrice clearfix"
>
<CostNewPriceAudit
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:OtherPrice=
"otherPrice"
:OfferArray=
"OfferArray"
:dayCostPrice=
"dayCostPriceList"
:CostCurrencyList=
"CostCurrencyList"
:CostNumberList=
"CostNumberList"
:CurrencyNumberListExt=
"CurrencyNumberListExt"
:teamPrice=
"teamPrice"
:IsEdit=
"IsEdit"
></CostNewPriceAudit>
<CostNewPriceAudit
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:OtherPrice=
"otherPrice"
:OfferArray=
"OfferArray"
:dayCostPrice=
"dayCostPriceList"
:CostCurrencyList=
"CostCurrencyList"
:CostNumberList=
"CostNumberList"
:CurrencyNumberListExt=
"CurrencyNumberListExt"
:teamPrice=
"teamPrice"
:IsEdit=
"IsEdit"
></CostNewPriceAudit>
</div>
</div>
</
template
>
<
script
>
import
CostNewPriceAudit
from
"../TravelNewQuotation/CostNewPriceAudit"
;
export
default
{
data
()
{
return
{
...
...
@@ -64,7 +64,7 @@
OutBranchName
:
""
,
//出团公司名称
OutDateTime
:
""
,
//出发时间
OfferPayType
:
0
,
//报价单付款方式()
SaleOfferPayType
:
0
,
//售价付款方式
SaleOfferPayType
:
0
,
//售价付款方式
},
dayCostPriceList
:
[],
//报价列表
isSubmit
:
true
,
...
...
@@ -145,7 +145,6 @@
};
},
methods
:
{
//保存数据
SaveData
(
Type
)
{
var
nObj
=
{
...
...
@@ -153,6 +152,7 @@
AuditContent
:
this
.
postData
.
AuditContent
,
TravelState
:
Type
,
OfferPayType
:
this
.
postData
.
OfferPayType
,
TeamType
:
this
.
postData
.
TeamType
,
};
this
.
loading
=
true
;
this
.
apipost
(
...
...
@@ -186,12 +186,14 @@
let
msg
=
{
ID
:
configId
,
offerId
:
offerId
};
this
.
apipost
(
"travel_get_GetMyTravelInfo_V3"
,
// travel_get_GetMyTravelInfo_V2
};
this
.
apipost
(
"travel_get_GetMyTravelInfo_V3"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
;
console
.
log
(
"tempData"
,
tempData
);
if
(
tempData
.
ID
&&
tempData
.
ID
>
0
)
{
this
.
postData
.
ID
=
tempData
.
ID
;
}
...
...
@@ -226,54 +228,20 @@
this
.
postData
.
OutBranchId
=
tempData
.
OutBranchId
;
this
.
postData
.
OutDateTime
=
tempData
.
OutDateTime
;
this
.
postData
.
OfferPayType
=
tempData
.
OfferPayType
;
this
.
postData
.
SaleOfferPayType
=
tempData
.
SaleOfferPayType
;
this
.
postData
.
SaleOfferPayType
=
tempData
.
SaleOfferPayType
;
this
.
LineList
=
tempData
.
LineList
;
this
.
postData
.
LineName
=
tempData
.
LineName
this
.
postData
.
LtName
=
tempData
.
LtName
this
.
postData
.
LtName
=
tempData
.
LtName
this
.
postData
.
OutBranchName
=
tempData
.
OutBranchName
this
.
postData
.
TeamTypeName
=
tempData
.
TeamTypeName
if
(
tempData
.
OfferArray
)
{
this
.
postData
.
LineName
=
tempData
.
LineName
;
this
.
postData
.
LtName
=
tempData
.
LtName
;
this
.
postData
.
LtName
=
tempData
.
LtName
;
this
.
postData
.
OutBranchName
=
tempData
.
OutBranchName
;
this
.
postData
.
TeamTypeName
=
tempData
.
TeamTypeName
;
this
.
postData
.
TeamType
=
tempData
.
TeamType
;
if
(
tempData
.
OfferArray
)
{
tempData
.
OfferArray
.
forEach
(
item
=>
{
this
.
OfferArray
.
push
(
item
)
})
// this.OfferArray = tempData.OfferArray
}
// if (tempData.dayCostPriceList && tempData.dayCostPriceList != null && tempData.dayCostPriceList.length >
// 0) {
// this.dayCostPriceList = tempData.dayCostPriceList;
// }
// if (tempData.otherPrice) {
// this.otherPrice = tempData.otherPrice;
// }
// if (tempData.teamPrice) {
// this.teamPrice = tempData.teamPrice;
// }
// if (tempData.CostNumberList && tempData.CostNumberList != null && tempData.CostNumberList.length > 0) {
// this.CostNumberList = tempData.CostNumberList;
// }
// if (tempData.CostCurrencyList && tempData.CostCurrencyList != null && tempData.CostCurrencyList.length >
// 0) {
// this.CostCurrencyList = tempData.CostCurrencyList;
// }
// if (tempData.CurrencyNumberListExt && tempData.CurrencyNumberListExt != null && tempData
// .CurrencyNumberListExt.length > 0) {
// this.CurrencyNumberListExt = tempData.CurrencyNumberListExt;
// }
// if (this.CostCurrencyList && this.CostCurrencyList.length > 0 &&
// this.CurrencyNumberListExt) {
// this.CostCurrencyList.forEach(item => {
// let currencyNumberItem = {
// Key: item.CurrencyId,
// currencyNumberList: []
// };
// if (this.CurrencyNumberListExt.length == 0) {
// this.CurrencyNumberListExt.push(currencyNumberItem);
// }
// });
// }
this
.
haveData
=
true
;
this
.
haveData
=
true
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
src/components/TravelManager/TravelNewQuotation/newQuotation.vue
View file @
59bfd7bb
This diff is collapsed.
Click to expand it.
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