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
61a8ba61
Commit
61a8ba61
authored
Sep 24, 2019
by
黄媛媛
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/luochao/superman
parents
f2ddc27e
3b567153
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1732 additions
and
49 deletions
+1732
-49
login.css
src/assets/css/login.css
+6
-6
BasicDocuments.vue
src/components/FinancialModule/BasicDocuments.vue
+36
-24
DjieMergeBillModule.vue
...inancialModule/FinancialSubmodule/DjieMergeBillModule.vue
+1
-1
Qzcommissions.vue
src/components/FinancialModule/Qzcommissions.vue
+8
-0
Login2019.vue
src/components/Login2019.vue
+1
-1
groupTourOrder.vue
src/components/SalesModule/groupTourOrder.vue
+1
-1
RegistrationList.vue
src/components/TravelManager/TravelList/RegistrationList.vue
+3
-1
CostNewPrice.vue
...ponents/TravelManager/TravelNewQuotation/CostNewPrice.vue
+553
-0
DirectNewQuotation.vue
...s/TravelManager/TravelNewQuotation/DirectNewQuotation.vue
+294
-0
QuotationNewPrice.vue
...ts/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
+175
-0
newQuotation.vue
...ponents/TravelManager/TravelNewQuotation/newQuotation.vue
+515
-0
quoTation.vue
...ponents/TravelManager/TravelQuotationCenter/quoTation.vue
+10
-0
AttendanceRules.vue
src/components/administrative/AttendanceRules.vue
+95
-7
Survey.vue
src/components/administrative/Survey.vue
+14
-6
index.vue
src/components/index.vue
+2
-1
config.js
src/router/config.js
+18
-1
No files found.
src/assets/css/login.css
View file @
61a8ba61
input
:-webkit-autofill
{
-webkit-box-shadow
:
0
0
0px
1000px
white
inset
;}
.login-box
{
position
:
absolute
;
/* position:absolute; */
/*background-repeat: no-repeat;*/
width
:
100%
;
height
:
100%
;
font-family
:
MicrosoftYaHei
;
overflow
:
hidden
;
/*
width:100%;
height:100%;
*/
/*
font-family:MicrosoftYaHei;
overflow: hidden;
*/
/*background-size: cover;*/
/*background-position: center center;*/
background-color
:
white
;
/* background-color: white; */
}
.login-Div
{
width
:
380px
;
...
...
src/components/FinancialModule/BasicDocuments.vue
View file @
61a8ba61
...
...
@@ -571,7 +571,7 @@
</div>
</div>
</div>
<div
class=
"_right_content"
v-for=
"(son,sindex) in item.AuditRecordList"
v-if=
"son.AuditStatus!=2"
>
<div
class=
"_right_content"
v-for=
"(son,sindex) in item.AuditRecordList"
v-if=
"son.AuditStatus!=2
&& MsgUrl
"
>
<span
class=
"_sm"
>
<p
class=
"_name"
>
<span
class=
"_n"
>
{{son.AuditName}}
</span>
...
...
@@ -880,7 +880,7 @@
</ul>
</div>
</div>
<div
class=
"_pb_son clearfix"
v-if=
"item.NextStep==1 && GetDetail.Status==1 && item.AuditWay!=2"
>
<div
class=
"_pb_son clearfix"
v-if=
"item.NextStep==1 && GetDetail.Status==1 && item.AuditWay!=2
&& MsgUrl
"
>
<div
class=
"_left_radius _left_radius_sus"
v-if=
"item.Status==1"
>
待审
</div>
<p
class=
"_name"
>
<span
class=
"_n"
>
{{item.AuditDescription}}
</span><span
class=
"_sm _huoqian"
v-if=
"item.AuditWay==3"
>
({{item.AuditWayName}})
</span></p>
<div
class=
"_right_content _padd_left_10"
>
...
...
@@ -1250,7 +1250,7 @@
</div>
</template>
</div>
<div
class=
"_submit"
v-if=
"GetDetail.Is_Self!=1"
>
<div
class=
"_submit"
v-if=
"GetDetail.Is_Self!=1
&& MsgUrl
"
>
<div
class=
"chosenNextBox"
v-if=
"(GetDetail.IsHave==0||resultCode==11019)&&AuditOrRefundMsg.Status=='5'"
>
<
template
>
<div>
...
...
@@ -1278,7 +1278,7 @@
</template>
</div>
</div>
<div
class=
"_submit"
v-if=
"GetDetail.Is_Self==1"
>
<div
class=
"_submit"
v-if=
"GetDetail.Is_Self==1"
&&
MsgUrl
>
<div>
<label>
转交人:
</label>
<el-select
size=
"mini"
style=
"width:300px"
v-model=
"zhuanMsg.AuditEmId"
filterable
remote
reserve-keyword
placeholder=
"请选择转交人"
:remote-method=
"remoteMethod"
:loading=
"loadingPeople"
>
...
...
@@ -1466,6 +1466,7 @@ export default {
isChongDi
:
false
,
danjuType
:
''
,
showModel
:
false
,
MsgUrl
:
true
,
}
},
components
:{
"my-FlowChartModule"
:
myFlowChartModule
,
...
...
@@ -2242,6 +2243,7 @@ export default {
}
},
Financial_post_GetDetail
(
id
,
t
){
//获取单据详情
let
userInfo
=
this
.
getLocalStorage
();
this
.
apipost
(
'Financial_post_GetDetail'
,{
ID
:
id
,
Type
:
2
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
...
...
@@ -2276,6 +2278,7 @@ export default {
}
let
AuditSteps
=
this
.
GetDetail
.
AuditSteps
;
let
ChuNaShenHe
=
false
let
MsgUrl
=
false
;
for
(
let
i
=
0
;
i
<
AuditSteps
.
length
;
i
++
)
{
if
(
AuditSteps
[
i
].
NextStep
==
1
&&
AuditSteps
[
i
].
SpecialNode
==
2
&&
AuditSteps
[
i
].
Status
==
1
){
ChuNaShenHe
=
true
...
...
@@ -2286,9 +2289,18 @@ export default {
return
}
})
}
if
(
AuditSteps
[
i
].
NextStep
==
1
){
AuditSteps
[
i
].
AuditRecordList
.
forEach
(
audit
=>
{
if
(
audit
.
AuditName
==
userInfo
.
emName
){
MsgUrl
=
true
return
}
})
}
}
this
.
MsgUrl
=
MsgUrl
// AuditSteps.forEach(item=>{
// if(item.NextStep==1 && item.SpecialNode==2 && item.Status==1){
// ChuNaShenHe = true
...
...
src/components/FinancialModule/FinancialSubmodule/DjieMergeBillModule.vue
View file @
61a8ba61
...
...
@@ -351,7 +351,7 @@
OriginalMoney
+=
x
.
OriginalMoney
})
this
.
moneyObj
=
{
benAllMoney
:
benAllMoney
,
benAllMoney
:
Math
.
round
(
benAllMoney
*
100
)
/
100
,
OriginalMoney
:
OriginalMoney
,
}
data
.
ChineseMoney
=
this
.
$commonUtils
.
changeMoneyToChinese
(
data
.
Merge
.
Money
)
...
...
src/components/FinancialModule/Qzcommissions.vue
View file @
61a8ba61
...
...
@@ -18,6 +18,14 @@
<th>
占比
</th>
<th>
设置
</th>
</tr>
<tr>
<td>
地接账户基金
</td>
<td>
{{
allzb
}}
%
</td>
<td>
<!--
<el-button
@
click=
"SetRules(item)"
style=
"padding:4px"
type=
"primary"
icon=
"el-icon-edit"
circle
></el-button>
<el-button
@
click=
"Delete(item)"
style=
"padding:4px"
type=
"danger"
icon=
"el-icon-delete"
circle
></el-button>
-->
</td>
</tr>
<tbody
v-for=
"(item,i) in dataList"
:key=
"i"
>
<tr>
<td>
{{
item
.
EmployeeName
}}
</td>
...
...
src/components/Login2019.vue
View file @
61a8ba61
...
...
@@ -170,7 +170,7 @@ export default {
speed
:
3000
,
imgList
:
[
{
src
:
'http://imgfile.oytour.com/New/Upload/Cloud/2019-09/2019092
0032221373
.jpg'
,
src
:
'http://imgfile.oytour.com/New/Upload/Cloud/2019-09/2019092
3020945469
.jpg'
,
text
:
'京都独旅之秋'
,
text1
:
'旅宿权威柏井寿的私房赏枫秘境'
,
url
:
'http://www.oytour.com/#/JuanDetails?id=70'
...
...
src/components/SalesModule/groupTourOrder.vue
View file @
61a8ba61
...
...
@@ -2926,7 +2926,7 @@
// 华国豪5-5新增
if
(
moment
().
format
(
"YYYY-MM-DD"
)
>=
obj
.
startDate
)
{
// 该团目前已是结团状态,不能随意修改备注信息,若强行修改备注,将会计入个人考核,是否确定修改备注信息?
this
.
$confirm
(
"该团目前已是结团状态,无法修改备注
?
"
,
"提示"
,
{
this
.
$confirm
(
"该团目前已是结团状态,无法修改备注"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
showCancelButton
:
false
,
type
:
"warning"
...
...
src/components/TravelManager/TravelList/RegistrationList.vue
View file @
61a8ba61
...
...
@@ -3105,6 +3105,7 @@
Unit_PriceList
:
[],
//成交单价下拉数据
LessMoney
:
0
,
addMsg
:
{
IsOPUpdate
:
1
,
//2019-09-23 Add by:W
GroupTypeNeedHouse
:
'0'
,
OrderId
:
"0"
,
TCID
:
"0"
,
...
...
@@ -3430,8 +3431,8 @@
if
(
res
.
resultCode
==
1
)
{
this
.
Success
(
res
.
message
);
this
.
outerVisible
=
false
;
this
.
isShow
=
false
;
this
.
fillShow
=
true
;
this
.
importNameFile
=
false
;
this
.
importData
=
res
.
data
;
this
.
getList
()
}
else
{
...
...
@@ -3656,6 +3657,7 @@
this
.
addObj
=
res
.
data
.
data
.
modelPrice
;
let
x
=
res
.
data
.
data
.
model
;
this
.
addMsg
=
x
;
this
.
addMsg
.
IsOPUpdate
=
1
;
this
.
addObj
.
OrderId
=
x
.
OrderId
;
this
.
addObj
.
OpSetLossMoney
=
x
.
OpSetLossMoney
;
this
.
addMsg
.
ScenicRefundArr
=
res
.
data
.
data
.
ScenicRefundArr
;
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPrice.vue
0 → 100644
View file @
61a8ba61
<
style
>
@import
"../../../assets/css/newTravelManager.css"
;
.singlePrice
.el-form-item__content
,
.el-form-item__label
{
line-height
:
30px
;
}
.CP_halfWi
{
width
:
45%
;
}
</
style
>
<
template
>
<div>
<div
class=
"singlePrice clearfix CP_Div"
>
<el-form>
<div
class=
"QuotationFirstDiv"
>
<el-row
:gutter=
"40"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"线路"
>
<el-select
v-model=
"postConfig.LineId"
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList(postConfig.LineId)"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"item in LineList"
:label=
'item.LineName'
:value=
'item.LineID'
:key=
'item.LineID'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"系列"
>
<el-select
v-model=
"postConfig.LineteamId"
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getCountryId(postConfig.LineteamId)"
filterable
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"item in LineTeamList"
:label=
'item.LtName'
:value=
'item.LtID'
:key=
'item.LtID'
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"团队标题"
>
<el-input
v-model=
"postConfig.Title"
type=
"textarea"
:autosize=
"
{minRows: 1, maxRows: 2 }" resize="none"
placeholder="请填写团队标题" maxlength="200">
</el-input>
</el-form-item>
</el-col>
</el-row>
<div
class=
"seat-box"
>
<div
class=
"left"
>
座位
</div>
<div
class=
"right"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
>
<el-form-item
prop=
"YSeat"
>
<el-input
placeholder=
"人数"
v-model=
"postConfig.YSeat"
maxlength=
"2"
@
keyup
.
native=
"checkInteger(postConfig,'YSeat')"
>
<template
slot=
"prepend"
>
经济舱/上铺
</
template
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"CSeat"
>
<el-input
placeholder=
"人数"
v-model=
"postConfig.CSeat"
maxlength=
"2"
@
keyup
.
native=
"checkInteger(postConfig,'CSeat')"
>
<
template
slot=
"prepend"
>
商务舱/中铺
</
template
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
prop=
"FSeat"
>
<el-input
placeholder=
"人数"
v-model=
"postConfig.FSeat"
maxlength=
"2"
@
keyup
.
native=
"checkInteger(postConfig,'FSeat')"
>
<
template
slot=
"prepend"
>
头等舱/下铺
</
template
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item>
<el-input
placeholder=
"人数"
v-model=
"postConfig.LowNum"
maxlength=
"2"
>
<
template
slot=
"prepend"
>
最低成团人数
</
template
>
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
<div
class=
"seat-box"
>
<div
class=
"left"
>
行程天数
</div>
<div
class=
"right"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
>
<el-form-item>
<el-input
class=
"w120 LowNum"
v-model=
"postConfig.DayNum"
@
keyup
.
native=
"checkInteger(postConfig,'DayNum');createDayTripPrice()"
>
<
template
slot=
"append"
>
天
</
template
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item>
<el-input
class=
"w120 LowNum"
v-model=
"postConfig.NightNum"
@
keyup
.
native=
"checkInteger(postConfig,'NightNum')"
>
<
template
slot=
"append"
>
晚
</
template
>
</el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</div>
</div>
<table
class=
"CP_comTable"
>
<tr>
<td
class=
"CP_comBack"
width=
"170"
>
币种
</td>
<td
v-for=
'(item,index) in OtherPrice.CostCurrencyList'
>
{{item.CurrencyName}}
<span>
<i
class=
"iconfont icon-quxiao"
@
click=
"DeleteCurrency(index)"
></i>
</span>
</td>
<td>
<el-form-item
class=
"w100"
>
<el-select
v-model=
'currencyType'
@
change=
"getRate(currencyType),addCurrency()"
>
<el-option
v-for=
"item in currencyTypeArr"
:label=
'item.Name'
:value=
'item.ID'
:key=
'item.ID'
>
</el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td
class=
"CP_comBack"
>
汇率
</td>
<!-- <td v-for='item in OfferCostPriceObj.CostCurrencyList'>
<el-input class="w80" v-model='item.ExchangeRate' @keyup.native="checkRate(item,'ExchangeRate')">
</el-input>
</td> -->
<td>
<el-input
class=
"w100"
v-model=
'queryMsg.RateInput'
@
keyup
.
native=
"checkRate(queryMsg,'RateInput')"
>
</el-input>
</td>
</tr>
</table>
<table
class=
"CP_comTable"
>
<tr>
<td
class=
"CP_comBack"
width=
"170"
>
人数
</td>
<td
v-for=
"(item,index) in OfferCostPriceObj.CostNumberList"
:key=
'item.subCode'
>
<el-input
class=
"w80"
v-model=
'item.PeopleNumber'
@
keyup
.
native=
"checkInteger(item,'PeopleNumber')"
>
</el-input>
<span>
<i
class=
"iconfont icon-quxiao"
@
click=
"DeletePNumber(index)"
></i>
</span>
</td>
<td
width=
"150"
>
<el-form-item>
<el-input
class=
"w80"
v-model=
'queryMsg.PeopleNumber'
@
keyup
.
native=
"checkInteger(queryMsg,'PeopleNumber')"
></el-input>
</el-form-item>
<div
class=
"AS_addPeoNumer"
>
<i
class=
"iconfont icon-img_haha"
@
click=
"addPeoNunber"
></i>
</div>
</td>
</tr>
<tr
v-for=
"item in OfferCostPriceObj.CostCurrencyList"
>
<td
class=
"CP_comBack"
>
地接报价({{item.CurrencyName}})
</td>
<td
v-if=
"checkExists(item.CurrencyId)"
v-for=
"childItem in getCurrencyNumberList(item.CurrencyId)"
>
<el-form-item>
<el-input
class=
"w80"
v-model=
'childItem.Money'
@
keyup
.
native=
"checkPrice(childItem,'Money',true),ReCalc()"
></el-input>
</el-form-item>
</td>
<td>
</td>
</tr>
</table>
<table
class=
"CostPriceTable"
>
<tr>
<th
rowspan=
"2"
width=
'100'
>
Day
</th>
<th
rowspan=
"2"
width=
'100'
>
行程大点
</th>
<th
rowspan=
"2"
width=
"200"
>
币种
</th>
<th
rowspan=
"2"
width=
'220'
>
酒店
</th>
<th
rowspan=
"2"
width=
'200'
>
车
</th>
<th
rowspan=
"2"
width=
'220'
>
门票
</th>
<th
colspan=
"3"
width=
'200'
>
餐
</th>
</tr>
<tr>
<th
width=
"90"
>
早
</th>
<th
width=
"90"
>
中
</th>
<th
width=
"90"
>
晚
</th>
</tr>
<!-- <tr v-for="subItem in OfferCostPriceObj.CostLocalList" :key="subItem.subCode">
<td align="center">{{subItem.DayNum}}</td>
<td>
<el-input type="textarea" resize="none"></el-input>
</td>
<td>
<el-form-item>
<el-select v-model='subItem.CurrencyId'>
<el-option :label="$t('pub.unlimitedSel')" :value='defaultSelect'></el-option>
<el-option v-for="items in OfferCostPriceObj.CostCurrencyList" :label='items.CurrencyName'
:value='items.CurrencyId' :key='items.CurrencyId'>
</el-option>
</el-select>
</el-form-item>
</td>
<td>
<el-input v-if="!showHotel" type='text' v-model="subItem.HotelMoney"
@keyup.native="checkPrice(subItem,'HotelMoney')"></el-input>
</td>
<td>
<span v-if="showCar">{{subItem.CarName}}</span>
<el-input type='text' v-model="subItem.CarMoney" @keyup.native="checkPrice(subItem,'CarMoney')"
v-if="!showCar"></el-input>
</td>
<td>
<span v-if="showTicket" class="QD_DetailName">{{subItem.TicketName}}</span>
<el-input type='text' v-model="subItem.TicketMoney" @keyup.native="checkPrice(subItem,'TicketMoney')"
v-if="!showTicket"></el-input>
</td>
<td>
<el-input type="text" :disabled='disabMoney' v-model='subItem.FoodItem[0].money'
@keyup.native="checkPrice(subItem.FoodItem[0],'money')"></el-input>
</td>
<td>
<el-input type="text" :disabled='disabMoney' v-model='subItem.FoodItem[1].money'
@keyup.native="checkPrice(subItem.FoodItem[1],'money')"></el-input>
</td>
<td>
<el-input type="text" :disabled='disabMoney' v-model='subItem.FoodItem[2].money'
@keyup.native="checkPrice(subItem.FoodItem[2],'money')"></el-input>
</td>
</tr> -->
</table>
<div
class=
"CP_ComTitle"
>
内陆段交通部分
</div>
<table
class=
"CostPriceTable"
>
<tr>
<td
width=
'50'
>
1
</td>
<td
width=
'200'
>
内陆段机位(每人)
</td>
<td
width=
'200'
>
<el-form-item>
<!-- <el-select v-model='OfferCostPriceObj.InlandAirTicketCurrency'>
<el-option :label="$t('pub.unlimitedSel')" :value='defaultSelect'></el-option>
<el-option v-for="items in OfferCostPriceObj.CostCurrencyList" :label='items.CurrencyName'
:value='items.CurrencyId' :key='items.CurrencyId'>
</el-option>
</el-select> -->
</el-form-item>
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.InlandAirTicketMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'InlandAirTicketMoney')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
2
</td>
<td>
内陆段船票(每人
</td>
<td>
<!-- <el-form-item>
<el-select v-model='OfferCostPriceObj.InlandShipTicketCurrency'>
<el-option :label="$t('pub.unlimitedSel')" :value='defaultSelect'></el-option>
<el-option v-for="items in OfferCostPriceObj.CostCurrencyList" :label='items.CurrencyName'
:value='items.CurrencyId' :key='items.CurrencyId'>
</el-option>
</el-select>
</el-form-item> -->
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.InlandShipTicketMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'InlandShipTicketMoney')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
3
</td>
<td>
内陆段火车票(每人)
</td>
<td>
<!-- <el-form-item>
<el-select v-model='OfferCostPriceObj.InlandTrainTicketCurrency'>
<el-option :label="$t('pub.unlimitedSel')" :value='defaultSelect'></el-option>
<el-option v-for="items in OfferCostPriceObj.CostCurrencyList" :label='items.CurrencyName'
:value='items.CurrencyId' :key='items.CurrencyId'>
</el-option>
</el-select>
</el-form-item> -->
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.InlandTrainTicketMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'InlandTrainTicketMoney')"
></el-input>
</el-form-item>
</td>
</tr>
</table>
<div
class=
"CP_ComTitle"
>
杂支部分
</div>
<table
class=
"CostPriceTable"
>
<tr>
<td
width=
'50'
>
1
</td>
<td
width=
'200'
>
签证费(每人)
</td>
<td
colspan=
'3'
>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.VisaMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'VisaMoney')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
2
</td>
<td>
保险费(每人)
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.SafeMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'SafeMoney')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
3
</td>
<td>
领队小费
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.LeaderTripMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'LeaderTripMoney')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
4
</td>
<td>
司机、导游小费
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.DriverGuideMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'DriverGuideMoney')"
></el-input>
</el-form-item>
</td>
</tr>
</table>
<div
class=
"CP_ComTitle"
>
其他支出
</div>
<table
class=
"CostPriceTable"
>
<tr>
<td
width=
'50'
>
1
</td>
<td
width=
'200'
>
销售提成1%
</td>
<td
colspan=
'3'
>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.SalesCommissionMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'SalesCommissionMoney')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
2
</td>
<td>
作业处提成
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.OfficeCommissionMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'OfficeCommissionMoney')"
></el-input>
</el-form-item>
</td>
</tr>
</table>
<div
class=
"CP_ComTitle"
>
机票
</div>
<table
class=
"CostPriceTable"
>
<tr>
<td
width=
'50'
>
机票
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.AirTicketMoeny"
@
keyup
.
native=
"checkPrice(OtherPrice,'AirTicketMoeny')"
></el-input>
</el-form-item>
</td>
</tr>
</table>
<div
class=
"CP_ComTitle"
>
收入
</div>
<table
class=
"CostPriceTable"
>
<tr>
<td
width=
'50'
>
1
</td>
<td
width=
'200'
>
客人小费收入
</td>
<td
colspan=
'3'
>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.TripMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'TripMoney',true)"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
2
</td>
<td>
导游人头费
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.GuidePeopleMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'GuidePeopleMoney')"
></el-input>
</el-form-item>
</td>
</tr>
</table>
<div
class=
"CP_ComTitle"
>
团负费
</div>
<table
class=
"CostPriceTable"
>
<tr>
<td
width=
'50'
>
KB
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.KBMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'KBMoney',true)"
></el-input>
</el-form-item>
</td>
</tr>
</table>
<div
class=
"CP_ComTitle"
>
领队分摊部分
</div>
<table
class=
"CP_comTable"
>
<tr>
<td
width=
'200'
>
人数
</td>
<td
width=
"200"
></td>
<!-- <td width="150" v-for="item in OfferCostPriceObj.CostNumberList" :key="item.subCode">
{{item.PeopleNumber}}+1
</td> -->
</tr>
<tr>
<td>
机票
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.AirTicketShareMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'AirTicketShareMoney')"
></el-input>
</el-form-item>
</td>
<!-- <td v-for="item in OfferCostPriceObj.CostNumberList" :key="item.subCode">
{{item.AirTicketMoney}}
</td> -->
</tr>
<tr>
<td>
门票
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.TicketShareMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'TicketShareMoney')"
></el-input>
</el-form-item>
</td>
<!-- <td v-for="item in OfferCostPriceObj.CostNumberList" :key="item.subCode">
{{item.TicketMoney}}
</td> -->
</tr>
<tr>
<td>
单房差
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.SingleRoomShareMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'SingleRoomShareMoney')"
></el-input>
</el-form-item>
</td>
<!-- <td v-for="item in OfferCostPriceObj.CostNumberList" :key="item.subCode">
{{item.SingleRoomMoney}}
</td> -->
</tr>
<tr>
<td>
内陆段交通
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.InlandTrafficShareMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'InlandTrafficShareMoney')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
杂费
</td>
<td>
<el-form-item>
<el-input
type=
'text'
class=
"w120"
v-model=
"OtherPrice.OtherShareMoney"
@
keyup
.
native=
"checkPrice(OtherPrice,'OtherShareMoney')"
></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td>
小计
</td>
<td></td>
</tr>
</table>
<div
class=
"Cost_Line"
></div>
<div
class=
"CP_ComTitle Cost_Title"
>
成本统计
</div>
<table
class=
"CostPriceTable"
>
<tr>
<td
width=
'250'
rowspan=
"2"
class=
"CP_comBack"
>
人数统计
</td>
</tr>
<tr>
</tr>
</table>
</el-form>
</div>
</div>
</template>
<
script
>
export
default
{
props
:
[
"postConfig"
,
"OtherPrice"
,
"dayCostPrice"
,
"LineList"
],
data
()
{
return
{
queryMsg
:
{
//汇率输入
RateInput
:
""
,
//人数
PeopleNumber
:
""
},
checkedPei
:
[],
currencyTypeArr
:
[],
//币种
LineTeamList
:[],
//系列列表
}
},
methods
:
{
//生成行程报价
createDayTripPrice
()
{
},
//币种下拉获取汇率
getRate
(
ID
)
{
this
.
currencyTypeArr
.
forEach
(
x
=>
{
if
(
x
.
ID
==
ID
)
{
this
.
queryMsg
.
RateInput
=
x
.
Rate
;
}
});
},
//获取所有币种
getAllCurrency
()
{
this
.
apipost
(
"financeinfo_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
currencyTypeArr
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
},
mounted
()
{
this
.
getAllCurrency
();
},
watch
:
{
}
};
</
script
>
src/components/TravelManager/TravelNewQuotation/DirectNewQuotation.vue
0 → 100644
View file @
61a8ba61
<
style
>
.DQ_copyTopDiv
{
width
:
373px
;
height
:
110px
;
font-size
:
12px
;
padding
:
15px
;
overflow
:
auto
;
background-color
:
#f5f5f5
;
}
.DQ_copyTopDiv
::-webkit-scrollbar
{
width
:
4px
;
height
:
8px
;
}
.DQ_copyTopDiv
::-webkit-scrollbar-thumb
{
border-radius
:
4px
;
box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;
}
.DQ_copyTopDiv
::-webkit-scrollbar-track
{
box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#ededed
;
}
.DQ_comSpan
{
display
:
inline-block
;
width
:
40px
;
height
:
20px
;
background-color
:
#2aaef2
;
text-align
:
center
;
line-height
:
20px
;
color
:
#fff
;
}
.DQ_details
{
width
:
100%
;
margin-top
:
10px
;
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
}
.DQ_dateList
{
margin-top
:
30px
;
}
.DQ_rightDate
{
float
:
right
;
margin-top
:
18px
;
font-size
:
12px
;
}
.DanCheked
{
background-color
:
#2aa872
;
color
:
#fff
!important
;
}
.DQ_Ulist
li
{
list-style-type
:
none
;
display
:
block
;
cursor
:
pointer
;
border
:
1px
solid
#f5f5f5
;
padding
:
3px
;
margin-bottom
:
10px
;
border-radius
:
5px
;
}
.DQckedLi
{
border-color
:
#2aa872
!important
;
}
.DQ_Ulist
li
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
-webkit-box
;
-webkit-box-orient
:
vertical
;
-webkit-line-clamp
:
2
;
}
.DQ_copyBtn
{
float
:
right
;
margin
:
0
0
0
30px
;
}
.DQ_Otcopy
{
float
:
right
;
}
.DrightList
{
margin-left
:
80px
;
}
.ScienTicket
.el-form-item__content
{
margin-left
:
0
!important
;
}
.EditQuotation
{
position
:
absolute
;
color
:
#e95252
;
right
:
-27px
;
top
:
-18px
;
}
</
style
>
<
template
>
<div
class=
"DirectQuotation clearfix"
>
<el-form
label-width=
"100px"
ref=
"currentOfferFrom"
>
<div
class=
"switchDiv clearfix"
style=
"width:98%;"
>
<div
class=
"DirectPriceCenter"
>
<div
class=
"singlePrice clearfix"
>
<CostPrice
ref=
"CostPrice"
:postConfig=
"postConfig"
:OtherPrice=
"otherPrice"
:dayCostPrice=
"dayCostPrice"
:LineList=
"LineList"
></CostPrice>
</div>
</div>
<div
class=
"DirectRightPrice"
style=
"margin-left:20px;"
>
<div
class=
"dingjiaDiv"
>
<span
class=
"TMTitle"
><i></i>
定价
</span>
</div>
<div>
<div
class=
"Dleftname"
></div>
<div
class=
"DrightList"
>
<el-checkbox
style=
"margin-left:25px;"
v-model=
"teamPrice.IsSupportChildren"
:checked=
"teamPrice.IsSupportChildren===CheckedVaule"
:true-label=
"CheckedVaule"
:false-label=
"UnCheckedVaule"
>
不支持儿童出游
</el-checkbox>
<el-form-item
label=
"成本人数"
style=
"margin-left:70px;"
>
<el-select
class=
'w120'
v-model=
'teamPrice.PeopleNumber'
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<!--
<el-option
v-for=
"item in currentOffer.OfferCostPrice.CostNumberList"
:label=
'item.PeopleNumber'
:value=
'item.PeopleNumber'
:key=
'item.PeopleNumber'
>
</el-option>
-->
</el-select>
</el-form-item>
</div>
</div>
<div
class=
"clearfix"
>
<div
class=
"Dleftname"
>
标准
</div>
<div
class=
"DrightList"
>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.B2BMemberPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'B2BMemberPrice')"
class=
"w200 ComSeat"
>
<template
slot=
"prepend"
>
同行会员
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.B2BPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'B2BPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
同行
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.B2CMemberPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'B2CMemberPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
直客会员
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.B2CPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'B2CPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
直客
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.BabyPrice"
@
keyup
.
native=
"checkInteger(teamPrice,'BabyPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
婴儿
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.SingleDMCPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'SingleDMCPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
单地接
</
template
>
</el-input>
</el-form-item>
</div>
</div>
<div
class=
"clearfix"
>
<div
class=
"Dleftname"
>
增收
</div>
<div
class=
"DrightList"
>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.ChildNeedPrice"
@
keyup
.
native=
"checkInteger(teamPrice,'ChildNeedPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
儿童占床
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.BabyChargePrice"
@
keyup
.
native=
"checkPrice(teamPrice,'BabyChargePrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
儿童附加费
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.OldManChargePrice"
@
keyup
.
native=
"checkInteger(teamPrice,'OldManChargePrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
老人附加费
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.VisaPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'VisaPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
签证费
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.SingleRoomPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'SingleRoomPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
单房差
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.SafeMoney"
@
keyup
.
native=
"checkPrice(teamPrice,'SafeMoney')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
保险
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.OtherPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'OtherPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
杂费
</
template
>
</el-input>
</el-form-item>
</div>
</div>
<div
class=
"clearfix"
>
<div
class=
"Dleftname"
>
减免
</div>
<div
class=
"DrightList"
>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.ChildNoNeedPrice"
@
keyup
.
native=
"checkInteger(teamPrice,'ChildNoNeedPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
儿童不占床
</
template
>
</el-input>
</el-form-item>
<el-form-item
style=
"display:none;"
>
<el-input
placeholder=
""
v-model=
"teamPrice.RebatePrice"
@
keyup
.
native=
"checkPrice(teamPrice,'RebatePrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
同行返佣
</
template
>
</el-input>
</el-form-item>
<el-form-item
style=
"display:none;"
>
<el-input
placeholder=
""
v-model=
"teamPrice.DiscountPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'DiscountPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
早鸟优惠
</
template
>
</el-input>
</el-form-item>
<el-form-item>
<el-input
placeholder=
""
v-model=
"teamPrice.BackVisaPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'BackVisaPrice')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
退签证费
</
template
>
</el-input>
</el-form-item>
<el-form-item
style=
"display:none"
>
<el-input
placeholder=
""
v-model=
"teamPrice.BackSafeMoney"
@
keyup
.
native=
"checkPrice(teamPrice,'BackSafeMoney')"
class=
"w200 ComSeat"
>
<
template
slot=
"prepend"
>
退保险费
</
template
>
</el-input>
</el-form-item>
</div>
</div>
</div>
</div>
</el-form>
</div>
</template>
<
script
>
import
CostPrice
from
"../TravelNewQuotation/CostNewPrice"
;
export
default
{
props
:
[
"postConfig"
,
"dayCostPrice"
,
"otherPrice"
,
"teamPrice"
,
"LineList"
],
data
()
{
return
{
CheckedVaule
:
2
,
UnCheckedVaule
:
1
,
};
},
methods
:
{
},
created
()
{
},
components
:
{
CostPrice
:
CostPrice
}
};
</
script
>
src/components/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
0 → 100644
View file @
61a8ba61
<
template
>
<div
class=
"DirectQuotation clearfix"
>
<DirectQuotation
ref=
"QuotationPrice"
:postConfig=
"postData"
:dayCostPrice=
"dayCostPriceList"
:otherPrice=
"otherPrice"
:teamPrice=
"teamPrice"
:LineList=
"LineList"
></DirectQuotation>
<div
class=
"btnFixedDiv"
>
<div
class=
"toTop"
>
<i
class=
"iconfont icon-huidaodingbu"
></i>
</div>
<div
class=
"DTSaveBtn"
:class=
"
{'disClick':!isSubmit}" @click="SaveData(2)">提交
</div>
<div
class=
"DTSaveBtn"
style=
"display:none;"
>
复制
</div>
<div
class=
"DTSaveBtn caogao"
:class=
"
{'disClick':!isSubmit}" @click="SaveData(1)">
<span>
保存
</span>
<span>
草稿
</span>
</div>
</div>
</div>
</
template
>
<
script
>
import
DirectQuotation
from
"../TravelNewQuotation/DirectNewQuotation"
;
export
default
{
data
()
{
return
{
//基本配置
postData
:
{
ID
:
0
,
StartCityId
:
0
,
LineId
:
0
,
LineteamId
:
0
,
Title
:
""
,
IsOrder
:
1
,
IsSubstitution
:
1
,
IsB2B
:
1
,
IsB2C
:
1
,
FSeat
:
""
,
CSeat
:
""
,
YSeat
:
""
,
//最低成团人数
LowNum
:
""
,
//OP备注
OpRemark
:
""
,
//产品经理备注
ProductRecommend
:
""
,
IsDirect
:
0
,
//是否直采(0-否-1-是)【全部默认非直采】
PriceIsDirect
:
1
,
//是否直采报价(1-否-2-是)【全部默认非直采】
PDFAlias
:
""
,
//pdf别名
ImgCover
:
""
,
//封面图
DayNum
:
""
,
//天数
NightNum
:
""
,
//晚数
StartCityId
:
0
,
ReturnArriveCityId
:
0
,
//返回抵达城市
},
dayCostPriceList
:
[],
//报价列表
isSubmit
:
false
,
otherPrice
:
{
CostId
:
0
,
//主键编号
ConfigID
:
0
,
//配置编号
OfferId
:
0
,
//报价单编号
InlandAirTicketCurrency
:
0
,
//内陆段机位币种
InlandAirTicketMoney
:
0
,
//内陆段机位金额(每人)
InlandShipTicketCurrency
:
0
,
//内陆段船票币种
InlandShipTicketMoney
:
0
,
//内陆段船票金额(每人)
InlandTrainTicketCurrency
:
0
,
//内陆段火车币种
InlandTrainTicketMoney
:
0
,
//内陆段火车金额(每人)
VisaMoney
:
0
,
//签证费用(每人)
SafeMoney
:
0
,
//保险费用(每人)
LeaderTripMoney
:
0
,
//领队小费
DriverGuideMoney
:
0
,
//司机导游小费
SalesCommissionMoney
:
0
,
//销售提成
OfficeCommissionMoney
:
0
,
//作业处提成
TripMoney
:
0
,
//小费
GuidePeopleMoney
:
0
,
//导游人头费
AirTicketMoeny
:
0
,
//机票成本费用
KBMoney
:
0
,
//KB人头费
AirTicketShareMoney
:
0
,
//机票分摊费用
TicketShareMoney
:
0
,
//门票分摊费用,
SingleRoomShareMoney
:
0
,
//单房差分摊费用
InlandTrafficShareMoney
:
0
,
//内陆段交通分摊费用
OtherShareMoney
:
0
,
//杂费分摊费用
CostCurrencyList
:[],
//选择的币种
CostNumberList
:[],
//人数
},
//团报价信息
teamPrice
:{
QuotationId
:
0
,
//主键编号
TeamId
:
0
,
//团期编号
ConfigID
:
0
,
//团队配置编号
OfferId
:
0
,
//报价编号
B2BMemberPrice
:
0
,
//同业会员价
B2BPrice
:
0
,
//同业价格
B2CMemberPrice
:
0
,
//直客会员价,
B2CPrice
:
0
,
//直客价格
ChildNeedPrice
:
0
,
//小孩占床价格,
ChildNoNeedPrice
:
0
,
//小孩不占床价格
BabyPrice
:
0
,
//婴儿价格
BabyChargePrice
:
0
,
//婴儿附加费
OldManChargePrice
:
0
,
//老人附加费
VisaPrice
:
0
,
//签证
OtherPrice
:
0
,
//杂费
SingleRoomPrice
:
0
,
//单房差
SingleDMCPrice
:
0
,
//单地接
RebatePrice
:
0
,
//同行返佣
DiscountPrice
:
0
,
//早鸟优惠
IsSupportChildren
:
1
,
//是否支持儿童出游(1-支持,2-不支持)
SafeMoney
:
0
,
//保险费
PeopleNumber
:
0
,
//人数
AirticketMoney
:
0
,
//机票费用
BackVisaPrice
:
0
,
//退签证费
BackSafeMoney
:
0
,
//退保险费
ContractUrl
:
""
,
//合同地址
},
LineList
:[],
//线路列表
};
},
methods
:
{
//表单提交
submitForm
(
type
)
{
this
.
$refs
[
"QuotationPrice"
].
submitForm
(
type
);
},
//保存数据
SaveData
()
{
this
.
apipost
(
"travel_post_SetConfigOffer_V2"
,
{
config
:
postData
,
dayCostPriceList
:
dayCostPriceList
,
otherPrice
:
otherPrice
,
teamPrice
:
teamPrice
},
res
=>
{
console
.
log
(
res
.
data
);
if
(
res
.
data
.
resultCode
==
1
)
{}
},
err
=>
{}
);
},
getPostData
()
{
let
configId
=
this
.
$route
.
query
.
configId
;
if
(
configId
>
0
)
{
let
msg
=
{
ID
:
configId
};
this
.
apipost
(
"travel_get_GetMyTravelInfo_V2"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
console
.
log
(
"res.data.data"
,
res
.
data
);
this
.
postData
=
res
.
data
.
data
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
}
else
{
let
params
=
{
isNoOffer
:
false
};
this
.
$router
.
push
({
name
:
"quoTation"
,
params
:
params
});
}
}
},
created
()
{
this
.
getPostData
();
},
components
:
{
DirectQuotation
:
DirectQuotation
}
};
</
script
>
src/components/TravelManager/TravelNewQuotation/newQuotation.vue
0 → 100644
View file @
61a8ba61
<
style
>
@import
"../../../assets/css/newTravelManager.css"
;
</
style
>
<
template
>
<div
class=
"flexOne quoTation"
>
<div
class=
"query-box"
>
<ul>
<li>
<span>
<em>
所属线路
</em>
<el-select
v-model=
"queryData.LineId"
class=
'w200'
filterable
:placeholder=
"$t('pub.pleaseSel')"
@
change=
"getLineTeamList()"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'noLimit'
></el-option>
<el-option
v-for=
"item in LineList"
:label=
'item.LineName'
:value=
'item.LineID'
:key=
'item.LineID'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
所属系列
</em>
<el-select
v-model=
"queryData.LineteamId"
class=
'w200'
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'noLimit'
></el-option>
<el-option
v-for=
"item in LineTeamList"
:label=
'item.LtName'
:value=
'item.LtID'
:key=
'item.LtID'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
报价单状态
</em>
<el-select
v-model=
"queryData.TravelState"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'noLimit'
></el-option>
<el-option
v-for=
'item in TravelStateList'
:key=
"item.Id"
:label=
"item.label"
:value=
"item.Id"
>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
开团状态
</em>
<el-select
v-model=
"queryData.OpenState"
filterable
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'noLimit'
></el-option>
<el-option
v-for=
'item in OpenStateList'
:key=
"item.Id"
:label=
"item.label"
:value=
"item.Id"
>
</el-option>
</el-select>
</span>
</li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"getList(),resetPageIndex()"
>
查询
</button>
<button
class=
"hollowFixedBtn"
@
click=
"goMakeQuo('QuotationNewPrice')"
>
新增
</button>
</li>
</ul>
</div>
<div
class=
"commonContent"
v-loading=
"loading"
>
<ul
class=
"_content"
>
<li
v-for=
"item in dataList"
:key=
"item.subCode"
:data-id=
"item.ID"
>
<div
class=
"_left"
>
<div
class=
"QT_Style"
>
<span
v-if=
"item.IsDirect==1"
>
直
</span>
<span
v-else
>
非
</span>
</div>
<div>
<p
class=
"quoListName"
@
click=
"getJourney(item.ID,item.Title)"
>
<el-tooltip
popper-class=
"max-w250"
effect=
"dark"
:content=
"item.Title"
placement=
"top-start"
>
<span>
{{
item
.
Title
}}
</span>
</el-tooltip>
</p>
<p
class=
"Quo_Content"
><i
v-if=
"item.ProductRecommend"
class=
"iconfont icon-richeng"
></i>
<span>
{{
item
.
ProductRecommend
}}
</span>
</p>
</div>
</div>
<div
class=
"_cent"
>
<div
class=
"stayDays"
>
{{
item
.
DayNum
}}
天
{{
item
.
NightNum
}}
晚
</div>
<div
class=
""
>
销售定价
<el-popover
popper-class=
"salsSetPrice"
trigger=
"click"
>
<div
class=
"priceContentDiv"
>
<div
v-for=
"salesItem in SalesPriceList"
>
<div>
成人
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
同业会员:¥
{{
salesItem
.
B2BMemberPrice
}}
</span>
<span
class=
"pRightPrice"
>
同业:¥
{{
salesItem
.
B2BPrice
}}
</span>
</div>
<div
class=
"priceDivCon"
>
<span
class=
"pLeftPrice"
>
直客会员:¥
{{
salesItem
.
B2CMemberPrice
}}
</span>
<span
class=
"pRightPrice"
>
直客:¥
{{
salesItem
.
B2CPrice
}}
</span>
</div>
</div>
<div>
小孩
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
占床:¥
{{
salesItem
.
ChildNeedPrice
}}
</span>
<span
class=
"pRightPrice"
>
不占床:¥
{{
salesItem
.
ChildNoNeedPrice
}}
</span>
</div>
<div
class=
"priceDivCon"
>
<span
class=
"pLeftPrice"
>
婴儿:¥
{{
salesItem
.
BabyPrice
}}
</span>
<span
class=
"pRightPrice"
>
附加费:¥
{{
salesItem
.
BabyChargePrice
}}
</span>
</div>
</div>
<div>
老人
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
附加费:¥
{{
salesItem
.
OldManChargePrice
}}
</span>
</div>
</div>
<div>
杂费
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
签证:¥
{{
salesItem
.
VisaPrice
}}
</span>
<span
class=
"pRightPrice"
>
单房差:¥
{{
salesItem
.
SingleRoomPrice
}}
</span>
</div>
<div
class=
"priceDivCon"
>
<span
class=
"pLeftPrice"
>
杂费:¥
{{
salesItem
.
OtherPrice
}}
</span>
</div>
</div>
<div>
单项报价
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
单地接:¥
{{
salesItem
.
SingleDMCPrice
}}
</span>
</div>
</div>
<div>
优惠
</div>
<div
class=
"priceList"
>
<div>
<span
class=
"pLeftPrice"
>
同行返佣:¥
{{
salesItem
.
RebatePrice
}}
</span>
<span
class=
"pRightPrice"
>
早鸟优惠:¥
{{
salesItem
.
DiscountPrice
}}
</span>
</div>
</div>
</div>
</div>
<span
slot=
"reference"
class=
"diPrice"
@
click=
"getSalsPrice(item.ID)"
>
{{
item
.
SalesPrice
}}
<span
class=
"qi"
>
起
</span></span>
</el-popover>
</div>
<div
class=
"QT_CodeNum"
>
编号:
{{
item
.
ID
}}
</div>
</div>
<div
class=
"_right"
>
<div
class=
"AuditUserInfo clearfix aa"
>
<div
class=
"AuditDanHeader"
>
<img
v-if=
"item.CreateUserPhoto"
:src=
"item.CreateUserPhoto"
alt=
""
>
<img
v-else
src=
"../../../assets/img/default_head_img.jpg"
alt=
""
>
</div>
<div
class=
"AU_creatName"
>
<div>
{{
item
.
CreateUserName
}}
</div>
</div>
</div>
<div>
<span>
报价单状态
</span>
<span
v-if=
"item.TravelState==1"
>
草稿
</span>
<span
v-else-if=
"item.TravelState==2"
>
待审核
</span>
<span
v-else-if=
"item.TravelState==3"
>
审核通过
</span>
<span
v-else-if=
"item.TravelState==4"
>
审核拒绝
</span>
<span
v-else-if=
"item.TravelState==5"
>
已撤销
</span>
</div>
<div>
<span
v-if=
"item.TravelState==2"
class=
"retract opbd"
@
click=
"revokeInfo(item.ID)"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"待审核"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-chehui"
></i>
</el-tooltip>
</span>
<span
class=
"openGroup opbd"
v-if=
"item.TravelState==3&&item.OpenState==2"
@
click=
"goToOpenTravel('TravelManager',item.ID,item.OpenState)"
>
开
</span>
<span
class=
"openGroup opbd"
v-if=
"item.TravelState==3&&item.OpenState==2"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"查看报价单"
placement=
"top-start"
popper-class=
"max-w250"
>
<span
@
click=
"goSubInfo('QuotationDetails',item.ID)"
>
查
</span>
</el-tooltip>
</span>
<span
class=
"openGroup opbd"
v-if=
"item.TravelState==5"
@
click=
"changeState(item.ID)"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"提交审核"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-img_bdsc"
></i>
</el-tooltip>
</span>
<span
class=
"bianji opbd"
@
click=
"goUrl('MakeQuotation',item.ID,false)"
v-if=
"item.TravelState==4||item.TravelState==1||item.TravelState==5"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"修改"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-bianji-smal"
></i>
</el-tooltip>
</span>
<span
class=
"openGroup opbd"
@
click=
"goUrl('MakeQuotation',item.ID,true)"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"复制"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-copy"
></i>
</el-tooltip>
</span>
<span
class=
"openGroup opbd"
@
click=
"goUrlBo('CoastCountPage')"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"报价单"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-web-icon-"
></i>
</el-tooltip>
</span>
<span
class=
"QT-delete opbd"
@
click=
"delQuotation(item.ID)"
v-if=
"item.TravelState==4||item.TravelState==1||item.TravelState==5"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"删除"
placement=
"top-start"
popper-class=
"max-w250"
>
<i
class=
"iconfont icon-shanchu"
></i>
</el-tooltip>
</span>
</div>
</div>
</li>
</ul>
<div
class=
"noData"
v-show=
"noData"
>
{{
$t
(
'system.content_noData'
)
}}
</div>
</div>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"queryData.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"queryData.pageSize"
:total=
"queryData.total"
>
</el-pagination>
<el-dialog
custom-class=
'ComTeamPlan_info_box'
:title=
"tripTitle"
:visible
.
sync=
"outerVisible"
center
>
<commonTeamInfo
ref=
"comDialog"
></commonTeamInfo>
</el-dialog>
</div>
</
template
>
<
script
>
import
commonTeamInfo
from
"../../commonPage/commonTeamInfo.vue"
;
export
default
{
data
()
{
return
{
queryData
:
{
LineId
:
0
,
LineteamId
:
0
,
TravelState
:
0
,
OpenState
:
0
,
PageIndex
:
1
,
PageSize
:
10
,
total
:
0
,
currentPage
:
1
},
loading
:
true
,
//报价单状态
TravelStateList
:
[{
Id
:
1
,
label
:
"草稿"
},
{
Id
:
2
,
label
:
"待审核"
},
{
Id
:
3
,
label
:
"审核通过"
},
{
Id
:
4
,
label
:
"审核拒绝"
},
{
Id
:
5
,
label
:
"已撤销"
}
],
//开团状态
OpenStateList
:
[{
Id
:
1
,
label
:
"已开团"
},
{
Id
:
2
,
label
:
"未开团"
}
],
//线路列表
LineList
:
""
,
noLimit
:
0
,
//系列列表
LineTeamList
:
""
,
//是否有数据
noData
:
false
,
dataList
:
""
,
SalesPriceList
:
[],
CostList
:
[],
outerVisible
:
false
,
tripTitle
:
""
};
},
components
:
{
commonTeamInfo
:
commonTeamInfo
},
methods
:
{
handleCurrentChange
(
val
)
{
this
.
queryData
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
queryData
.
pageIndex
=
1
;
this
.
queryData
.
currentPage
=
1
;
},
//获取线路列表
getLineList
()
{
this
.
apipost
(
"line_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineList
=
res
.
data
.
data
;
}
});
},
//获取系列列表
getLineTeamList
()
{
this
.
queryData
.
LineteamId
=
0
;
let
msg
=
{
lineID
:
this
.
queryData
.
LineId
,
isTOOP
:
1
};
this
.
apipost
(
"team_post_GetList"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
LineTeamList
=
res
.
data
.
data
;
}
});
},
//初始化表格数据
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_GetTravelOfferPageList"
,
this
.
queryData
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
queryData
.
total
=
res
.
data
.
data
.
count
;
this
.
noData
=
!
this
.
queryData
.
total
>
0
;
this
.
dataList
=
res
.
data
.
data
.
pageData
;
}
});
},
//点击销售定价获取数据
getSalsPrice
(
ID
)
{
this
.
SalesPriceList
=
[];
this
.
apipost
(
"travel_get_GetTravelQuotationPrice"
,
{
ID
:
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
SalesPriceList
=
res
.
data
.
data
;
}
}
);
},
//点击地接成本获取数据
getCostPrice
(
ID
)
{
this
.
CostList
=
[];
this
.
apipost
(
"travel_get_GetTravelOfferPrice"
,
{
ID
:
ID
},
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
);
}
}
}
);
},
//撤回
revokeInfo
(
ID
)
{
let
msg
=
{
ID
:
ID
,
TravelState
:
5
};
this
.
apipost
(
"travel_post_UpdateTravelState"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
});
},
//修改状态
changeState
(
ID
)
{
let
msg
=
{
ID
:
ID
,
TravelState
:
2
};
this
.
apipost
(
"travel_post_UpdateTravelState"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
});
},
//删除报价单
delQuotation
(
ID
)
{
var
that
=
this
;
this
.
Confirm
(
"删除过后数据不能恢复,请谨慎操作"
,
function
()
{
let
msg
=
{
ID
:
ID
,
};
that
.
apipost
(
"travel_post_RemoveConfig"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
"删除成功"
);
that
.
getList
();
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
null
);
});
},
getJourney
(
id
,
title
)
{
//根据ID 获取行程内容
var
that
=
this
;
this
.
tripTitle
=
title
;
this
.
$nextTick
(()
=>
{
that
.
$refs
.
comDialog
.
GetTrip
(
id
);
});
that
.
outerVisible
=
true
;
},
goUrl
(
path
,
configId
,
isCopy
)
{
if
(
configId
>
0
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
configId
:
configId
,
isCopy
:
isCopy
}
});
}
else
{
this
.
$router
.
push
({
name
:
path
});
}
},
goUrlBo
(
path
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
blank
:
'y'
,
tab
:
'报价单'
}
});
},
goMakeQuo
(
path
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
configId
:
4288
,
blank
:
'y'
,
tab
:
'报价单'
}
});
},
goSubInfo
(
path
,
configId
)
{
this
.
$store
.
commit
(
"pageConditionUpdate"
,
this
.
queryData
);
this
.
$router
.
push
({
path
:
path
,
query
:
{
configId
:
configId
}
});
},
//开团或修改
goToOpenTravel
(
path
,
configId
,
openState
)
{
if
(
configId
>
0
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
configId
:
configId
,
openState
:
openState
}
});
}
else
{
this
.
$router
.
push
({
name
:
path
});
}
}
},
mounted
()
{
this
.
getLineList
();
this
.
getList
();
let
isNoOffer
=
this
.
$route
.
params
.
isNoOffer
;
if
(
isNoOffer
)
{
this
.
Warning
(
"行程中含有未完善的报价信息,请在需求中心查看!"
);
}
},
created
()
{
if
(
this
.
$route
.
query
.
hasOwnProperty
(
"cache"
))
{
if
(
this
.
$store
.
state
.
pageCondition
!=
null
)
{
this
.
queryData
=
this
.
$store
.
state
.
pageCondition
;
}
}
this
.
getList
();
}
};
</
script
>
src/components/TravelManager/TravelQuotationCenter/quoTation.vue
View file @
61a8ba61
...
...
@@ -48,6 +48,7 @@
</li>
<li>
<button
class=
"hollowFixedBtn"
@
click=
"getList(),resetPageIndex()"
>
查询
</button>
<button
class=
"hollowFixedBtn"
@
click=
"goMakeQuo('MakeQuotation')"
>
新增
</button>
</li>
</ul>
</div>
...
...
@@ -455,6 +456,15 @@
}
});
},
goMakeQuo
(
path
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
blank
:
'y'
,
tab
:
'报价单'
}
});
},
goSubInfo
(
path
,
configId
)
{
this
.
$store
.
commit
(
"pageConditionUpdate"
,
this
.
queryData
);
...
...
src/components/administrative/AttendanceRules.vue
View file @
61a8ba61
...
...
@@ -36,11 +36,15 @@
<table
v-if=
'this.signInDates.length>=1'
class=
"att_table"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th>
日期
</th>
<th>
部门
</th>
<th>
员工
</th>
<th>
考勤时间
</th>
<th
width=
"80"
>
操作
</th>
</tr>
<tr
v-for=
"(item,index) in signInDates"
>
<td>
{{
item
.
Date
}}
</td>
<td>
{{
item
.
DepartmentName
}}
</td>
<td>
{{
item
.
EmployeeName
}}
</td>
<td>
{{
item
.
BeOnDutyTime
}}
~
{{
item
.
OffDutyTime
}}
</td>
<td>
<el-row>
...
...
@@ -180,8 +184,31 @@
</el-time-select>
</td>
</tr>
<tr>
<td>
<span>
部门
</span>
<el-select
filterable
v-model=
'newSignIn.RB_Department_Id'
@
change=
'getEmployee(newSignIn.RB_Department_Id)'
>
<el-option
v-for=
'item in departmentList'
:label=
'item.DepartmentName'
:value=
'item.DepartmentID'
:key=
'item.DepartmentID'
>
</el-option>
</el-select>
</td>
</tr>
<tr>
<td>
<span>
员工
</span>
<el-select
filterable
v-model=
'newSignIn.EmployeeId'
@
change=
"getEmployeeName(newSignIn.EmployeeId)"
>
<el-option
v-for=
'item in employeeList'
:label=
'item.name'
:value=
'item.empId'
:key=
'item.empId'
>
</el-option>
</el-select>
</td>
</tr>
</table>
<table
class=
"layerTable"
v-if=
'this.signDateType==2'
>
<tr>
<td>
...
...
@@ -384,9 +411,51 @@
awList
:
[],
//Name,Address,TargetAddress,Scope awList:[{'Name':'xxx',Address:'xxx',TargetAddress:'xxx',Scope:'xxx'},{}]
awWifiList
:
[]
//awWifiList:[{'Name':'xxxx',TargetAddress:'12.51.42.32'}]
},
departmentMsg
:
{
RB_Group_Id
:
'0'
,
RB_Branch_Id
:
'0'
,
Status
:
'0'
,
ParentId
:
'-1'
,
Tier
:
'0'
,
},
employeeMsg
:
{
RB_Group_id
:
'0'
,
RB_Branch_id
:
'-1'
,
departmentId
:
'0'
,
IsLeave
:
'-1'
,
},
departmentList
:
[],
employeeList
:
[],
}
},
methods
:
{
getEmployeeName
(
id
){
this
.
employeeList
.
map
(
x
=>
{
if
(
id
==
x
.
empId
)
{
this
.
newSignIn
.
EmployeeName
=
x
.
name
}
})
},
getEmployee
(
id
)
{
this
.
employeeMsg
.
departmentId
=
id
this
.
apipost
(
'app_get_company_employee'
,
this
.
employeeMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
employeeList
=
res
.
data
.
data
;
}
},
err
=>
{})
this
.
departmentList
.
map
(
x
=>
{
if
(
id
==
x
.
DepartmentID
)
{
this
.
newSignIn
.
DepartmentName
=
x
.
DepartmentName
}
})
},
getDepartment
()
{
this
.
apipost
(
'admin_get_DepartmentGetList'
,
this
.
departmentMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
departmentList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
getDateArr
()
{
if
(
this
.
fwStartTime
!=
''
&&
this
.
fwEndTime
!=
''
)
{
this
.
apipost
(
'User_get_AttendanceGetTimeSpanValue'
,
{
...
...
@@ -462,7 +531,9 @@
this
.
newSignIn
=
{
'Date'
:
''
,
'BeOnDutyTime'
:
''
,
'OffDutyTime'
:
''
'OffDutyTime'
:
''
,
RB_Department_Id
:
''
,
EmployeeId
:
''
,
};
this
.
outerVisible
=
true
;
this
.
signDateType
=
1
;
...
...
@@ -499,10 +570,20 @@
},
saveSignIn
()
{
let
list
=
[...
this
.
signInDates
,
...
this
.
signOutDates
]
if
(
this
.
newSignIn
.
RB_Department_Id
==
''
)
{
this
.
newSignIn
.
RB_Department_Id
=
0
}
if
(
this
.
newSignIn
.
EmployeeId
==
''
)
{
this
.
newSignIn
.
EmployeeId
=
0
}
if
(
this
.
picked
==
'one'
)
{
// 单天设置
this
.
isRepetition
=
false
;
this
.
SpecialDates
.
forEach
(
item
=>
{
if
(
this
.
newSignIn
.
Date
==
item
)
{
list
.
forEach
(
item
=>
{
if
(
this
.
newSignIn
.
Date
==
item
.
Date
&&
(
this
.
newSignIn
.
RB_Department_Id
==
item
.
RB_Department_Id
||
this
.
newSignIn
.
RB_Department_Id
==
0
)
&&
(
this
.
newSignIn
.
EmployeeId
==
item
.
EmployeeId
||
this
.
newSignIn
.
EmployeeId
==
0
))
{
this
.
isRepetition
=
true
;
}
else
if
(
this
.
newSignIn
.
Date
==
item
.
Date
)
{
this
.
isRepetition
=
true
;
}
})
...
...
@@ -561,10 +642,14 @@
this
.
outerVisible
=
true
;
},
saveSignOut
()
{
let
list
=
[...
this
.
signInDates
,
...
this
.
signOutDates
]
if
(
this
.
picked1
==
'one'
)
{
// 单天设置
this
.
isRepetition
=
false
;
this
.
SpecialDates
.
forEach
(
item
=>
{
if
(
this
.
newSignOut
.
Date
==
item
)
{
list
.
forEach
(
item
=>
{
if
(
this
.
newSignIn
.
Date
==
item
.
Date
&&
(
this
.
newSignIn
.
RB_Department_Id
==
item
.
RB_Department_Id
||
this
.
newSignIn
.
RB_Department_Id
==
0
)
&&
(
this
.
newSignIn
.
EmployeeId
==
item
.
EmployeeId
||
this
.
newSignIn
.
EmployeeId
==
0
))
{
this
.
isRepetition
=
true
;
}
else
if
(
this
.
newSignIn
.
Date
==
item
.
Date
)
{
this
.
isRepetition
=
true
;
}
})
...
...
@@ -784,7 +869,10 @@
},
},
mounted
()
{
this
.
addMsg
.
RB_BranchId
=
this
.
$route
.
query
.
bId
;
let
userInfo
=
this
.
getLocalStorage
();
this
.
departmentMsg
.
RB_Group_Id
=
this
.
employeeMsg
.
RB_Group_id
=
userInfo
.
RB_Group_id
;
//集团
this
.
addMsg
.
RB_BranchId
=
this
.
departmentMsg
.
RB_Branch_Id
=
this
.
$route
.
query
.
bId
;
this
.
getDepartment
()
if
(
this
.
$route
.
query
.
id
!=
undefined
)
{
this
.
addMsg
.
attendanceId
=
this
.
$route
.
query
.
id
;
this
.
getUpdateList
();
...
...
src/components/administrative/Survey.vue
View file @
61a8ba61
...
...
@@ -6,7 +6,7 @@
<li>
<span>
<em>
团号
</em>
<el-input
v-model=
"msg.TC
ID
"
></el-input>
<el-input
v-model=
"msg.TC
NUM
"
></el-input>
</span>
</li>
<li>
...
...
@@ -111,7 +111,7 @@
center
:before-close=
"closeDialog"
>
<div
class=
"main NewSurveyList"
>
<el-select
filterable
v-model=
"GuestId"
value-key=
"LineID"
>
<el-select
filterable
v-model=
"GuestId"
value-key=
"LineID"
@
change=
"getOrderID(GuestId)"
>
<el-option
v-for=
"item in ppList"
:label=
'item.GuestName'
:value=
'item.GuestId'
:key=
'item.GuestId'
></el-option>
</el-select>
<div
class=
""
>
...
...
@@ -190,7 +190,7 @@ export default {
msg
:{
pageSize
:
10
,
pageIndex
:
1
,
TC
ID
:
''
,
TC
NUM
:
''
,
lineID
:
0
,
LineteamId
:
0
,
reStartDate
:
''
,
...
...
@@ -235,10 +235,18 @@ export default {
this
.
GetSurveyShowList
();
},
methods
:{
getOrderID
(
id
){
this
.
ppList
.
map
(
x
=>
{
if
(
id
===
x
.
GuestId
){
this
.
OrderID
=
x
.
OrderID
;
}
})
},
setInfo
(
obj
){
console
.
log
(
obj
)
if
(
obj
.
number
<
1
)
{
return
this
.
$message
.
error
(
'此团已完成意见调查!'
)
}
this
.
TCID
=
obj
.
tcid
;
this
.
OrderID
=
obj
.
orderId
;
this
.
DiaoChaShow
=
true
;
this
.
getppList
();
},
...
...
src/components/index.vue
View file @
61a8ba61
...
...
@@ -1698,12 +1698,13 @@ export default {
}
},
LogSetReadStatus
(
s
)
{
console
.
log
(
s
)
this
.
apipost
(
"SystemLog_post_LogSetReadStatus"
,
{
LogId
:
s
.
ID
},
r
=>
{
if
(
s
.
Link
)
{
this
.
goUrl
(
s
.
Link
);
this
.
goUrl
(
s
.
Link
+
'&MsgUrl=1'
);
}
this
.
IM_bodyIsShow
=
false
;
this
.
refreshSysNoteDate
();
...
...
src/router/config.js
View file @
61a8ba61
...
...
@@ -2199,7 +2199,16 @@ export default {
meta
:
{
title
:
'报价单'
},
},
{
// 销售 任务管理
},
{
path
:
'/newQuotation'
,
name
:
'newQuotation'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelNewQuotation/newQuotation'
],
resolve
),
meta
:
{
title
:
'报价单'
},
},
{
// 销售 任务管理
path
:
'/saleTaskManagement'
,
name
:
'saleTaskManagement'
,
component
:
resolve
=>
require
([
'@/components/SalesModule/saleTaskManagement'
],
resolve
),
...
...
@@ -2669,6 +2678,14 @@ export default {
title
:
'制作报价单'
},
},
{
//新版制作报价单
path
:
'/QuotationNewPrice'
,
name
:
'QuotationNewPrice'
,
component
:
resolve
=>
require
([
'@/components/TravelManager/TravelNewQuotation/QuotationNewPrice'
],
resolve
),
meta
:
{
title
:
'制作报价单'
},
},
{
//团控-我的机票
path
:
'/TravelMyTicket'
,
name
:
'TravelMyTicket'
,
...
...
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