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
c61002e3
Commit
c61002e3
authored
Oct 14, 2019
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增车辆报价详情页面
parent
9cb02446
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
1415 additions
and
1 deletion
+1415
-1
busUsePrice2.vue
src/components/busManagement/busUsePrice2.vue
+704
-0
busUsePriceDetails.vue
src/components/busManagement/busUsePriceDetails.vue
+693
-0
config.js
src/router/config.js
+18
-1
No files found.
src/components/busManagement/busUsePrice2.vue
0 → 100644
View file @
c61002e3
<
style
>
.busUsePrice2
.busList
{
width
:
230px
;
height
:
270px
;
float
:
left
;
margin
:
0
10px
10px
0
;
background-color
:
#fff
;
border-radius
:
4px
;
font-size
:
12px
;
overflow
:
hidden
;
}
.busUsePrice2
.busListTable
{
width
:
98%
;
margin
:
0px
2px
0px
2px
;
}
.busUsePrice2
.busListTable
tr
td
{
height
:
20px
;
line-height
:
20px
;
}
.busUsePrice2
.busListTop
{
width
:
100%
;
position
:
relative
;
text-align
:
center
;
}
.busUsePrice2
.usePricediv
{
margin
:
7px
0
0
20px
;
}
.busUsePrice2
.btmAddStore
{
border-top
:
1px
solid
#d1d1d1
;
width
:
100%
;
display
:
none
;
overflow-x
:
auto
;
overflow-y
:
auto
;
position
:
fixed
;
background
:
#f9f9f9
;
bottom
:
0
;
}
.busUsePrice2
.changeMsg
{
width
:
80%
;
}
.busUsePrice2
.changeMsg
li
{
float
:
left
;
}
.busUsePrice2
.changeMsg
li
:first-child
{
margin-left
:
20px
;
}
.busUsePrice2
.btmTitle
{
padding
:
0
10px
;
margin
:
20px
0
20px
25px
;
border-left
:
3px
solid
#e95252
;
font-size
:
14px
;
color
:
#000000
;
}
.busUsePrice2
.busUsePeople
.el-input__inner
{
border-top-right-radius
:
0
;
border-bottom-right-radius
:
0
;
}
.busUsePrice2
.busType
{
margin
:
10px
0
0
31px
;
font-size
:
14px
;
display
:
inline-block
;
}
.busUsePrice2
.cityBtnList
{
margin
:
10px
0
20px
20px
;
}
.busUsePrice2
.busUserBtnList
{
width
:
100%
;
text-align
:
center
;
margin-top
:
10px
;
}
.busUsePrice2
.busListTop
img
{
width
:
100%
;
}
.busUsePrice2
.BusTypeStr
{
position
:
absolute
;
top
:
15px
;
color
:
#fff
;
font-size
:
25px
;
left
:
63px
;
}
.busUsePrice2
.UPBtn
{
width
:
70px
;
height
:
23px
;
}
.busUsePrice2
.topNotice
{
width
:
100%
;
height
:
20px
;
font-size
:
12px
;
text-align
:
left
;
margin
:
20px
0
;
}
.busUsePrice2
.delScien
{
position
:
absolute
;
right
:
10px
;
top
:
10px
;
display
:
none
;
}
.busUsePrice2
.delScien
:hover
{
color
:
#f76f6f
;
cursor
:
pointer
;
}
.busUsePrice2
.busList
:hover
.delScien
{
display
:
block
;
}
.busUsePrice2
.busDiv
{
margin-top
:
20px
;
}
.busUsePrice2
.busList
:hover
{
box-shadow
:
0px
0px
20px
rgba
(
191
,
191
,
191
,
1
);
transition
:
all
linear
0.5s
;
}
.Bus_BtnList
{
text-align
:
right
;
margin-bottom
:
10px
;
}
.Bus_Spacing
{
margin-left
:
24px
;
}
.busUsePrice2
.combottomDiv
.el-select
{
width
:
100%
;
}
.busUsePrice2
.linkStrle
{
cursor
:
pointer
;
text-decoration
:
underline
;
color
:
blue
;
}
</
style
>
<
template
>
<div
class=
"flexOne busUsePrice2"
>
<div
class=
"query-box"
>
<ul>
<li>
注:以下报价是提供给开团人员产生成本报价的参考依据,不作为最终的用车价格
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
@
click=
"addPanel"
value=
"新增"
/>
</li>
</ul>
</div>
<div
class=
"busDiv clearfix"
v-loading=
"loading"
>
<table>
<thead>
<tr>
<th>
图片
</th>
<th>
地区/车辆类型
</th>
<th>
使用人数
</th>
<th>
接送价格
</th>
<th>
全天价格
</th>
<th>
半天价格
</th>
<th>
全天高速
</th>
<th>
接送高速
</th>
<th>
全天茶代
</th>
<th>
接送茶代
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody
v-for=
"item in dataList"
:key=
"item.subCode"
>
<tr>
<td>
<img
v-if=
"item.ShowBusImage"
:src=
"item.ShowBusImage"
style=
"width:230px;height:60px;"
/>
<img
v-else
src=
"../../assets/img/suplier.jpg"
style=
"width:230px;height:60px;"
/>
</td>
<td>
{{
getArea
(
item
.
AreaType
)
}}
-
{{
item
.
BusTypeStr
}}
</td>
<td>
{{
item
.
UseNum
}}
</td>
<td>
{{
item
.
ReceivePrice
}}
</td>
<td>
{{
item
.
AllDayPrice
}}
</td>
<td>
{{
item
.
HalfDayPrice
}}
</td>
<td>
{{
item
.
AllDayHighSpeedFee
}}
</td>
<td>
{{
item
.
PickUpHighSpeedFee
}}
</td>
<td>
{{
item
.
AllDayChaDaiFee
}}
</td>
<td>
{{
item
.
PickUpChaDaiFee
}}
</td>
<td
rowspan=
"2"
>
<input
type=
"button"
class=
"normalBtn"
@
click=
"managePrice(item.Id)"
value=
"管理报价"
/>
<a
class=
"linkStrle"
@
click=
"goUrl('busUsePriceDetails',item.Id,'报价详情')"
>
详情
</a>
<a
class=
"linkStrle"
@
click=
"isdelete(item.Id)"
>
删除
</a>
</td>
</tr>
<tr>
<td
colspan=
"8"
>
备注:
{{
item
.
Remark
}}
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td
colspan=
"9"
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"this.msg.pageSize"
:total=
"total"
>
</el-pagination>
</td>
</tr>
</tfoot>
</table>
</div>
<div
class=
"combottomDiv"
v-if=
"isShow"
>
<el-row>
<el-col
:span=
"18"
>
<div
class=
"combottomTitle"
>
报价管理
</div>
</el-col>
<el-col
:span=
"4"
class=
"Bus_BtnList"
>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"cancelPanel"
value=
"取消"
/>
<input
type=
"button"
class=
"normalBtn"
@
click=
"submitForm('addMsg')"
value=
"保存"
/>
</el-col>
</el-row>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"地区"
prop=
"AreaType"
>
<el-select
filterable
placeholder=
"请选择"
v-model=
"addMsg.AreaType"
>
<el-option
label=
'不限'
:value=
"selectDefauleValue"
></el-option>
<el-option
v-for=
"item in AreaList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"车辆类型"
prop=
"BusType"
>
<el-select
filterable
placeholder=
"请选择"
v-model=
"addMsg.BusType"
>
<el-option
v-for=
"item in BusTypeList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"座位数"
prop=
"UseNum"
>
<el-input
placeholder=
"座位数"
v-model=
"addMsg.UseNum"
@
keyup
.
native=
"checkInteger(addMsg,'UseNum')"
class=
"busUsePeople"
>
<template
slot=
"append"
>
座
</
template
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"接送报价"
prop=
"ReceivePrice"
>
<el-input
v-model=
"addMsg.ReceivePrice"
@
keyup
.
native=
"checkPrice(addMsg,'ReceivePrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"送机报价"
prop=
"SendPrice"
style=
"display:none;"
>
<el-input
v-model=
"addMsg.SendPrice"
@
keyup
.
native=
"checkPrice(addMsg,'SendPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"全天报价"
prop=
"AllDayPrice"
>
<el-input
v-model=
"addMsg.AllDayPrice"
@
keyup
.
native=
"checkPrice(addMsg,'AllDayPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"半天报价"
prop=
"HalfDayPrice"
>
<el-input
v-model=
"addMsg.HalfDayPrice"
@
keyup
.
native=
"checkPrice(addMsg,'HalfDayPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
style=
"display:none;"
>
<el-form-item
label=
"小时报价"
prop=
"HourPrice"
>
<el-input
v-model=
"addMsg.HourPrice"
@
keyup
.
native=
"checkPrice(addMsg,'HourPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"全天高速"
prop=
"AllDayHighSpeedFee"
>
<el-input
v-model=
"addMsg.AllDayHighSpeedFee"
@
keyup
.
native=
"checkPrice(addMsg,'HourPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"接送高速"
prop=
"PickUpHighSpeedFee"
>
<el-input
v-model=
"addMsg.PickUpHighSpeedFee"
@
keyup
.
native=
"checkPrice(addMsg,'PickUpHighSpeedFee')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"全天茶代"
prop=
"AllDayChaDaiFee"
>
<el-input
v-model=
"addMsg.AllDayChaDaiFee"
@
keyup
.
native=
"checkPrice(addMsg,'AllDayChaDaiFee')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"接送茶代"
prop=
"PickUpChaDaiFee"
>
<el-input
v-model=
"addMsg.PickUpChaDaiFee"
@
keyup
.
native=
"checkPrice(addMsg,'PickUpChaDaiFee')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"币种"
prop=
"CurrencyId"
>
<el-select
filterable
v-model=
'addMsg.CurrencyId'
@
change=
"getRate(addMsg.CurrencyId)"
>
<el-option
label=
'不限'
:value=
"selectDefauleValue"
></el-option>
<el-option
v-for=
"item in currencyTypeList"
:key=
"item.ID"
:value=
"item.ID"
:label=
"item.Name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"汇率"
prop=
"CurrentRate"
>
<el-input
v-model=
"addMsg.CurrentRate"
@
keyup
.
native=
"checkRate(addMsg,'CurrentRate')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"车辆图片"
>
<el-upload
class=
"avatar-uploader"
:http-request=
"UploadImage"
:multiple=
"false"
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:show-file-list=
"false"
action=
""
>
<img
v-if=
"addMsg.ShowBusImage&&addMsg.ShowBusImage!=''"
:src=
"addMsg.ShowBusImage"
style=
"width:200px;height:100px"
>
<i
class=
"el-icon-upload2 avatar-uploader-icon"
></i>
</el-upload>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"说明"
prop=
"Remark"
>
<el-input
type=
"textarea"
autosize
placeholder=
"请输入内容"
v-model=
"addMsg.Remark"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<
script
>
export
default
{
data
()
{
var
DealAreaValidate
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
0
)
{
callback
(
new
Error
(
"请选择地区"
));
}
else
{
callback
();
}
};
var
validateCurrency
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
0
)
{
callback
(
new
Error
(
"请选择币种"
));
}
else
{
callback
();
}
};
return
{
total
:
0
,
currentPage
:
1
,
dataList
:
""
,
loading
:
false
,
isShow
:
false
,
BusTypeList
:
""
,
selectDefauleValue
:
0
,
AreaList
:
[],
currencyTypeList
:
[],
msg
:
{
pageIndex
:
1
,
pageSize
:
18
},
//表单json
addMsg
:
{
ID
:
0
,
UseNum
:
""
,
BusType
:
""
,
ReceivePrice
:
""
,
SendPrice
:
""
,
AllDayPrice
:
""
,
HalfDayPrice
:
""
,
HourPrice
:
""
,
Remark
:
""
,
AreaType
:
0
,
CurrencyId
:
0
,
CurrentRate
:
0
,
AllDayHighSpeedFee
:
0
,
//全天高速费
PickUpHighSpeedFee
:
0
,
//接送高速费
AllDayChaDaiFee
:
0
,
//全天茶代费
PickUpChaDaiFee
:
0
,
//接送茶代费
BusImage
:
''
,
//车辆图片
ShowBusImage
:
""
,
},
//表单验证
rules
:
{
AreaType
:
[{
validator
:
DealAreaValidate
,
trigger
:
"change"
,
required
:
true
}],
CurrencyId
:
[{
validator
:
validateCurrency
,
trigger
:
"change"
,
required
:
true
}],
BusType
:
[{
required
:
true
,
message
:
"请选择车辆类型"
,
trigger
:
"change"
}],
UseNum
:
[{
required
:
true
,
message
:
"请输入人数"
,
trigger
:
"change"
}],
ReceivePrice
:
[{
required
:
true
,
message
:
"请输入接机价格"
,
trigger
:
"change"
}],
SendPrice
:
[{
required
:
true
,
message
:
"请输入送机价格"
,
trigger
:
"change"
}],
AllDayPrice
:
[{
required
:
true
,
message
:
"请输入全天价格"
,
trigger
:
"change"
}],
HalfDayPrice
:
[{
required
:
true
,
message
:
"请输入全天价格"
,
trigger
:
"change"
}],
HourPrice
:
[{
required
:
true
,
message
:
"请输入小时价格"
,
trigger
:
"change"
}],
AllDayHighSpeedFee
:
[{
required
:
true
,
message
:
"请输入全天高速价格"
,
trigger
:
"change"
}],
PickUpHighSpeedFee
:
[{
required
:
true
,
message
:
"请输入接送高速价格"
,
trigger
:
"change"
}],
AllDayChaDaiFee
:
[{
required
:
true
,
message
:
"请输入全天茶代价格"
,
trigger
:
"change"
}],
PickUpChaDaiFee
:
[{
required
:
true
,
message
:
"请输入接送茶代价格"
,
trigger
:
"change"
}]
}
};
},
methods
:
{
goUrl
(
path
,
id
,
name
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
id
:
id
,
blank
:
'y'
,
tab
:
name
}
})
},
//上传图片
UploadImage
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
fileName
=
file
.
file
.
name
;
var
path
=
"/Upload/DMC/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
var
str
=
x
.
name
;
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
this
.
addMsg
.
BusImage
=
x
.
data
.
FilePath
;
this
.
addMsg
.
ShowBusImage
=
imgUrl
;
});
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
initData
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
initData
()
{
this
.
loading
=
true
;
this
.
apipost
(
"busprice_get_GetBusPricePageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
},
null
);
},
saveInfo
()
{
this
.
apipost
(
"busprice_post_SetBusPrice"
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
initData
();
this
.
Success
(
"保存成功"
);
this
.
isShow
=
false
;
this
.
resetForm
(
"addMsg"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
//获取地区下拉
getAreaList
()
{
this
.
apipost
(
"busprice_get_GetBusAreaType"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AreaList
=
res
.
data
.
data
;
}
},
null
);
},
//根据ID获取地区
getArea
(
AreaType
)
{
var
AreaName
=
''
;
this
.
AreaList
.
forEach
(
item
=>
{
if
(
item
.
Id
==
AreaType
)
{
AreaName
=
item
.
Name
}
})
return
AreaName
;
},
getCurrencyType
()
{
// 币种类型
this
.
apipost
(
'financeinfo_post_GetList'
,
{
Name
:
''
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
currencyTypeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
//修改管理报价
managePrice
(
ID
)
{
this
.
addMsg
.
ID
=
ID
;
this
.
isShow
=
true
;
let
msg
=
{
ID
:
ID
};
this
.
apipost
(
"busprice_get_GetBusPrice"
,
msg
,
res
=>
{
this
.
addMsg
=
res
.
data
.
data
;
},
null
);
},
/*获取车辆类型列表*/
getBusTypeList
()
{
this
.
apipost
(
"bus_get_GetBusTypeList"
,
null
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
BusTypeList
=
res
.
data
.
data
;
}
},
null
);
},
//币种下拉获取汇率
getRate
(
ID
)
{
this
.
currencyTypeList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
ID
)
{
this
.
addMsg
.
CurrentRate
=
x
.
Rate
;
}
});
},
//取消
cancelPanel
()
{
this
.
isShow
=
false
;
this
.
resetForm
(
"addMsg"
);
},
//添加
addPanel
()
{
this
.
isShow
=
true
;
this
.
addMsg
.
ID
=
0
;
this
.
clearInfo
();
},
clearInfo
()
{
this
.
addMsg
=
{
ID
:
0
,
UseNum
:
""
,
BusType
:
""
,
ReceivePrice
:
""
,
SendPrice
:
""
,
AllDayPrice
:
""
,
HalfDayPrice
:
""
,
HourPrice
:
""
,
Remark
:
""
,
AreaType
:
0
,
CurrencyId
:
0
,
CurrentRate
:
0
,
AllDayHighSpeedFee
:
0
,
PickUpHighSpeedFee
:
0
,
AllDayChaDaiFee
:
0
,
PickUpChaDaiFee
:
0
,
BusImage
:
''
};
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
that
.
saveInfo
();
}
else
{
return
false
;
}
});
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
},
//删除
isdelete
(
ID
)
{
var
that
=
this
;
this
.
Confirm
(
"是否删除?"
,
function
()
{
var
msg
=
{
ID
:
ID
};
that
.
apipost
(
"busprice_post_RemoveBusPrice"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
initData
();
}
},
null
);
});
}
},
mounted
()
{
this
.
initData
();
this
.
getAreaList
();
this
.
getCurrencyType
();
this
.
getBusTypeList
();
}
};
</
script
>
src/components/busManagement/busUsePriceDetails.vue
0 → 100644
View file @
c61002e3
<
style
>
.busUsePrice
.busList
{
width
:
230px
;
height
:
270px
;
float
:
left
;
margin
:
0
10px
10px
0
;
background-color
:
#fff
;
border-radius
:
4px
;
font-size
:
12px
;
overflow
:
hidden
;
}
.busUsePrice
.busListTable
{
width
:
98%
;
margin
:
0px
2px
0px
2px
;
}
.busUsePrice
.busListTable
tr
td
{
height
:
20px
;
line-height
:
20px
;
}
.busUsePrice
.busListTop
{
width
:
100%
;
position
:
relative
;
text-align
:
center
;
}
.busUsePrice
.usePricediv
{
margin
:
7px
0
0
20px
;
}
.busUsePrice
.btmAddStore
{
border-top
:
1px
solid
#d1d1d1
;
width
:
100%
;
display
:
none
;
overflow-x
:
auto
;
overflow-y
:
auto
;
position
:
fixed
;
background
:
#f9f9f9
;
bottom
:
0
;
}
.busUsePrice
.changeMsg
{
width
:
80%
;
}
.busUsePrice
.changeMsg
li
{
float
:
left
;
}
.busUsePrice
.changeMsg
li
:first-child
{
margin-left
:
20px
;
}
.busUsePrice
.btmTitle
{
padding
:
0
10px
;
margin
:
20px
0
20px
25px
;
border-left
:
3px
solid
#e95252
;
font-size
:
14px
;
color
:
#000000
;
}
.busUsePrice
.busUsePeople
.el-input__inner
{
border-top-right-radius
:
0
;
border-bottom-right-radius
:
0
;
}
.busUsePrice
.busType
{
margin
:
10px
0
0
31px
;
font-size
:
14px
;
display
:
inline-block
;
}
.busUsePrice
.cityBtnList
{
margin
:
10px
0
20px
20px
;
}
.busUsePrice
.busUserBtnList
{
width
:
100%
;
text-align
:
center
;
margin-top
:
10px
;
}
.busUsePrice
.busListTop
img
{
width
:
100%
;
}
.busUsePrice
.BusTypeStr
{
position
:
absolute
;
top
:
15px
;
color
:
#fff
;
font-size
:
25px
;
left
:
63px
;
}
.busUsePrice
.UPBtn
{
width
:
70px
;
height
:
23px
;
}
.busUsePrice
.topNotice
{
width
:
100%
;
height
:
20px
;
font-size
:
12px
;
text-align
:
left
;
margin
:
20px
0
;
}
.busUsePrice
.delScien
{
position
:
absolute
;
right
:
10px
;
top
:
10px
;
display
:
none
;
}
.busUsePrice
.delScien
:hover
{
color
:
#f76f6f
;
cursor
:
pointer
;
}
.busUsePrice
.busList
:hover
.delScien
{
display
:
block
;
}
.busUsePrice
.busDiv
{
margin-top
:
20px
;
}
.busUsePrice
.busList
:hover
{
box-shadow
:
0px
0px
20px
rgba
(
191
,
191
,
191
,
1
);
transition
:
all
linear
0.5s
;
}
.Bus_BtnList
{
text-align
:
right
;
margin-bottom
:
10px
;
}
.Bus_Spacing
{
margin-left
:
24px
;
}
.busUsePrice
.combottomDiv
.el-select
{
width
:
100%
;
}
</
style
>
<
template
>
<div
class=
"flexOne busUsePrice"
>
<div
class=
"query-box"
>
<ul>
<li>
注:以下报价是提供给开团人员产生成本报价的参考依据,不作为最终的用车价格
</li>
<li>
<input
type=
"button"
class=
"normalBtn"
@
click=
"addPanel"
value=
"新增"
/>
</li>
</ul>
</div>
<div
class=
"busDiv clearfix"
v-loading=
"loading"
>
<table>
<thead>
<tr>
<th>
图片
</th>
<th>
地区/车辆类型
</th>
<th>
使用人数
</th>
<th>
接送价格
</th>
<th>
全天价格
</th>
<th>
半天价格
</th>
<th>
全天高速
</th>
<th>
接送高速
</th>
<th>
全天茶代
</th>
<th>
接送茶代
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody
v-for=
"item in dataList"
:key=
"item.subCode"
>
<tr>
<td>
<img
v-if=
"item.ShowBusImage"
:src=
"item.ShowBusImage"
style=
"width:230px;height:60px;"
/>
<img
v-else
src=
"../../assets/img/suplier.jpg"
style=
"width:230px;height:60px;"
/>
</td>
<td>
{{
getArea
(
item
.
AreaType
)
}}
-
{{
item
.
BusTypeStr
}}
</td>
<td>
{{
item
.
UseNum
}}
</td>
<td>
{{
item
.
ReceivePrice
}}
</td>
<td>
{{
item
.
AllDayPrice
}}
</td>
<td>
{{
item
.
HalfDayPrice
}}
</td>
<td>
{{
item
.
AllDayHighSpeedFee
}}
</td>
<td>
{{
item
.
PickUpHighSpeedFee
}}
</td>
<td>
{{
item
.
AllDayChaDaiFee
}}
</td>
<td>
{{
item
.
PickUpChaDaiFee
}}
</td>
<td
rowspan=
"2"
>
<input
type=
"button"
class=
"normalBtn"
@
click=
"managePrice(item.Id)"
value=
"管理报价"
>
<a
>
详情
</a>
<a
@
click=
"isdelete(item.Id)"
>
删除
</a>
</td>
</tr>
<tr>
<td
colspan=
"8"
>
备注:
{{
item
.
Remark
}}
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td
colspan=
"9"
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"this.msg.pageSize"
:total=
"total"
>
</el-pagination>
</td>
</tr>
</tfoot>
</table>
</div>
<div
class=
"combottomDiv"
v-if=
"isShow"
>
<el-row>
<el-col
:span=
"18"
>
<div
class=
"combottomTitle"
>
报价管理
</div>
</el-col>
<el-col
:span=
"4"
class=
"Bus_BtnList"
>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"cancelPanel"
value=
"取消"
/>
<input
type=
"button"
class=
"normalBtn"
@
click=
"submitForm('addMsg')"
value=
"保存"
/>
</el-col>
</el-row>
<el-form
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"地区"
prop=
"AreaType"
>
<el-select
filterable
placeholder=
"请选择"
v-model=
"addMsg.AreaType"
>
<el-option
label=
'不限'
:value=
"selectDefauleValue"
></el-option>
<el-option
v-for=
"item in AreaList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"车辆类型"
prop=
"BusType"
>
<el-select
filterable
placeholder=
"请选择"
v-model=
"addMsg.BusType"
>
<el-option
v-for=
"item in BusTypeList"
:key=
"item.Id"
:label=
"item.Name"
:value=
"item.Id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"座位数"
prop=
"UseNum"
>
<el-input
placeholder=
"座位数"
v-model=
"addMsg.UseNum"
@
keyup
.
native=
"checkInteger(addMsg,'UseNum')"
class=
"busUsePeople"
>
<template
slot=
"append"
>
座
</
template
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"接送报价"
prop=
"ReceivePrice"
>
<el-input
v-model=
"addMsg.ReceivePrice"
@
keyup
.
native=
"checkPrice(addMsg,'ReceivePrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"送机报价"
prop=
"SendPrice"
style=
"display:none;"
>
<el-input
v-model=
"addMsg.SendPrice"
@
keyup
.
native=
"checkPrice(addMsg,'SendPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"全天报价"
prop=
"AllDayPrice"
>
<el-input
v-model=
"addMsg.AllDayPrice"
@
keyup
.
native=
"checkPrice(addMsg,'AllDayPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"半天报价"
prop=
"HalfDayPrice"
>
<el-input
v-model=
"addMsg.HalfDayPrice"
@
keyup
.
native=
"checkPrice(addMsg,'HalfDayPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
style=
"display:none;"
>
<el-form-item
label=
"小时报价"
prop=
"HourPrice"
>
<el-input
v-model=
"addMsg.HourPrice"
@
keyup
.
native=
"checkPrice(addMsg,'HourPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"全天高速"
prop=
"AllDayHighSpeedFee"
>
<el-input
v-model=
"addMsg.AllDayHighSpeedFee"
@
keyup
.
native=
"checkPrice(addMsg,'HourPrice')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"接送高速"
prop=
"PickUpHighSpeedFee"
>
<el-input
v-model=
"addMsg.PickUpHighSpeedFee"
@
keyup
.
native=
"checkPrice(addMsg,'PickUpHighSpeedFee')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"全天茶代"
prop=
"AllDayChaDaiFee"
>
<el-input
v-model=
"addMsg.AllDayChaDaiFee"
@
keyup
.
native=
"checkPrice(addMsg,'AllDayChaDaiFee')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"接送茶代"
prop=
"PickUpChaDaiFee"
>
<el-input
v-model=
"addMsg.PickUpChaDaiFee"
@
keyup
.
native=
"checkPrice(addMsg,'PickUpChaDaiFee')"
>
</el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"币种"
prop=
"CurrencyId"
>
<el-select
filterable
v-model=
'addMsg.CurrencyId'
@
change=
"getRate(addMsg.CurrencyId)"
>
<el-option
label=
'不限'
:value=
"selectDefauleValue"
></el-option>
<el-option
v-for=
"item in currencyTypeList"
:key=
"item.ID"
:value=
"item.ID"
:label=
"item.Name"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"汇率"
prop=
"CurrentRate"
>
<el-input
v-model=
"addMsg.CurrentRate"
@
keyup
.
native=
"checkRate(addMsg,'CurrentRate')"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"车辆图片"
>
<el-upload
class=
"avatar-uploader"
:http-request=
"UploadImage"
:multiple=
"false"
accept=
"image/jpeg,image/gif,image/png,image/bmp"
:show-file-list=
"false"
action=
""
>
<img
v-if=
"addMsg.ShowBusImage&&addMsg.ShowBusImage!=''"
:src=
"addMsg.ShowBusImage"
style=
"width:200px;height:100px"
>
<i
class=
"el-icon-upload2 avatar-uploader-icon"
></i>
</el-upload>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"说明"
prop=
"Remark"
>
<el-input
type=
"textarea"
autosize
placeholder=
"请输入内容"
v-model=
"addMsg.Remark"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<
script
>
export
default
{
data
()
{
var
DealAreaValidate
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
0
)
{
callback
(
new
Error
(
"请选择地区"
));
}
else
{
callback
();
}
};
var
validateCurrency
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
0
)
{
callback
(
new
Error
(
"请选择币种"
));
}
else
{
callback
();
}
};
return
{
total
:
0
,
currentPage
:
1
,
dataList
:
""
,
loading
:
false
,
isShow
:
false
,
BusTypeList
:
""
,
selectDefauleValue
:
0
,
AreaList
:
[],
currencyTypeList
:
[],
msg
:
{
pageIndex
:
1
,
pageSize
:
18
},
//表单json
addMsg
:
{
ID
:
0
,
UseNum
:
""
,
BusType
:
""
,
ReceivePrice
:
""
,
SendPrice
:
""
,
AllDayPrice
:
""
,
HalfDayPrice
:
""
,
HourPrice
:
""
,
Remark
:
""
,
AreaType
:
0
,
CurrencyId
:
0
,
CurrentRate
:
0
,
AllDayHighSpeedFee
:
0
,
//全天高速费
PickUpHighSpeedFee
:
0
,
//接送高速费
AllDayChaDaiFee
:
0
,
//全天茶代费
PickUpChaDaiFee
:
0
,
//接送茶代费
BusImage
:
''
,
//车辆图片
ShowBusImage
:
""
,
DetailsList
:[],
//报价详情列表
},
//表单验证
rules
:
{
AreaType
:
[{
validator
:
DealAreaValidate
,
trigger
:
"change"
,
required
:
true
}],
CurrencyId
:
[{
validator
:
validateCurrency
,
trigger
:
"change"
,
required
:
true
}],
BusType
:
[{
required
:
true
,
message
:
"请选择车辆类型"
,
trigger
:
"change"
}],
UseNum
:
[{
required
:
true
,
message
:
"请输入人数"
,
trigger
:
"change"
}],
ReceivePrice
:
[{
required
:
true
,
message
:
"请输入接机价格"
,
trigger
:
"change"
}],
SendPrice
:
[{
required
:
true
,
message
:
"请输入送机价格"
,
trigger
:
"change"
}],
AllDayPrice
:
[{
required
:
true
,
message
:
"请输入全天价格"
,
trigger
:
"change"
}],
HalfDayPrice
:
[{
required
:
true
,
message
:
"请输入全天价格"
,
trigger
:
"change"
}],
HourPrice
:
[{
required
:
true
,
message
:
"请输入小时价格"
,
trigger
:
"change"
}],
AllDayHighSpeedFee
:
[{
required
:
true
,
message
:
"请输入全天高速价格"
,
trigger
:
"change"
}],
PickUpHighSpeedFee
:
[{
required
:
true
,
message
:
"请输入接送高速价格"
,
trigger
:
"change"
}],
AllDayChaDaiFee
:
[{
required
:
true
,
message
:
"请输入全天茶代价格"
,
trigger
:
"change"
}],
PickUpChaDaiFee
:
[{
required
:
true
,
message
:
"请输入接送茶代价格"
,
trigger
:
"change"
}]
}
};
},
methods
:
{
//上传图片
UploadImage
(
file
)
{
let
newArr
=
[];
newArr
.
push
(
file
.
file
);
let
fileName
=
file
.
file
.
name
;
var
path
=
"/Upload/DMC/"
;
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
var
obj
=
this
.
$DMCUtils
.
DMCImageObj
();
var
str
=
x
.
name
;
var
imgUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
this
.
addMsg
.
BusImage
=
x
.
data
.
FilePath
;
this
.
addMsg
.
ShowBusImage
=
imgUrl
;
});
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
initData
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
initData
()
{
this
.
loading
=
true
;
this
.
apipost
(
"busprice_get_GetBusPricePageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
},
null
);
},
saveInfo
()
{
this
.
apipost
(
"busprice_post_SetBusPrice"
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
initData
();
this
.
Success
(
"保存成功"
);
this
.
isShow
=
false
;
this
.
resetForm
(
"addMsg"
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
//获取地区下拉
getAreaList
()
{
this
.
apipost
(
"busprice_get_GetBusAreaType"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
AreaList
=
res
.
data
.
data
;
}
},
null
);
},
//根据ID获取地区
getArea
(
AreaType
)
{
var
AreaName
=
''
;
this
.
AreaList
.
forEach
(
item
=>
{
if
(
item
.
Id
==
AreaType
)
{
AreaName
=
item
.
Name
}
})
return
AreaName
;
},
getCurrencyType
()
{
// 币种类型
this
.
apipost
(
'financeinfo_post_GetList'
,
{
Name
:
''
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
currencyTypeList
=
res
.
data
.
data
;
}
},
err
=>
{})
},
//修改管理报价
managePrice
(
ID
)
{
this
.
addMsg
.
ID
=
ID
;
this
.
isShow
=
true
;
let
msg
=
{
ID
:
ID
};
this
.
apipost
(
"busprice_get_GetBusPrice"
,
msg
,
res
=>
{
this
.
addMsg
=
res
.
data
.
data
;
},
null
);
},
/*获取车辆类型列表*/
getBusTypeList
()
{
this
.
apipost
(
"bus_get_GetBusTypeList"
,
null
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
BusTypeList
=
res
.
data
.
data
;
}
},
null
);
},
//币种下拉获取汇率
getRate
(
ID
)
{
this
.
currencyTypeList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
ID
)
{
this
.
addMsg
.
CurrentRate
=
x
.
Rate
;
}
});
},
//取消
cancelPanel
()
{
this
.
isShow
=
false
;
this
.
resetForm
(
"addMsg"
);
},
//添加
addPanel
()
{
this
.
isShow
=
true
;
this
.
addMsg
.
ID
=
0
;
this
.
clearInfo
();
},
clearInfo
()
{
this
.
addMsg
=
{
ID
:
0
,
UseNum
:
""
,
BusType
:
""
,
ReceivePrice
:
""
,
SendPrice
:
""
,
AllDayPrice
:
""
,
HalfDayPrice
:
""
,
HourPrice
:
""
,
Remark
:
""
,
AreaType
:
0
,
CurrencyId
:
0
,
CurrentRate
:
0
,
AllDayHighSpeedFee
:
0
,
PickUpHighSpeedFee
:
0
,
AllDayChaDaiFee
:
0
,
PickUpChaDaiFee
:
0
,
BusImage
:
''
};
},
submitForm
(
addMsg
)
{
//提交创建、修改表单
let
that
=
this
;
that
.
$refs
[
addMsg
].
validate
(
valid
=>
{
if
(
valid
)
{
that
.
saveInfo
();
}
else
{
return
false
;
}
});
},
resetForm
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
},
//删除
isdelete
(
ID
)
{
var
that
=
this
;
this
.
Confirm
(
"是否删除?"
,
function
()
{
var
msg
=
{
ID
:
ID
};
that
.
apipost
(
"busprice_post_RemoveBusPrice"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
initData
();
}
},
null
);
});
}
},
mounted
()
{
this
.
initData
();
this
.
getAreaList
();
this
.
getCurrencyType
();
this
.
getBusTypeList
();
}
};
</
script
>
src/router/config.js
View file @
c61002e3
...
@@ -1732,7 +1732,24 @@ export default {
...
@@ -1732,7 +1732,24 @@ export default {
meta
:
{
meta
:
{
title
:
'车辆报价'
title
:
'车辆报价'
},
},
},
{
},
{
path
:
'/busUsePrice2'
,
//车辆报价2
name
:
'busUsePrice2'
,
component
:
resolve
=>
require
([
'@/components/busManagement/busUsePrice2'
],
resolve
),
meta
:
{
title
:
'车辆报价'
},
},
{
path
:
'/busUsePriceDetails'
,
//车辆报价详情
name
:
'busUsePriceDetails'
,
component
:
resolve
=>
require
([
'@/components/busManagement/busUsePriceDetails'
],
resolve
),
meta
:
{
title
:
'车辆报价'
},
},
{
path
:
'/BusApportionManagement'
,
path
:
'/BusApportionManagement'
,
name
:
'BusApportionManagement'
,
name
:
'BusApportionManagement'
,
component
:
resolve
=>
require
([
'@/components/busManagement/BusApportionManagement'
],
resolve
),
component
:
resolve
=>
require
([
'@/components/busManagement/BusApportionManagement'
],
resolve
),
...
...
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