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
60a960b6
Commit
60a960b6
authored
Jul 22, 2019
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增票务提成规则,和购物报账显示备注信息
parent
3612b3a6
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
616 additions
and
2 deletions
+616
-2
ShoppingReimbursement.vue
src/components/ShoppingStore/ShoppingReimbursement.vue
+4
-1
ShoppingReimbursementDetails.vue
...components/ShoppingStore/ShoppingReimbursementDetails.vue
+1
-1
ShoppingStore.vue
src/components/ShoppingStore/ShoppingStore.vue
+2
-0
airTicketRules.vue
src/components/Ticketing/airTicketRules.vue
+601
-0
config.js
src/router/config.js
+8
-0
No files found.
src/components/ShoppingStore/ShoppingReimbursement.vue
View file @
60a960b6
...
...
@@ -60,6 +60,7 @@
<th
width=
"80"
>
返佣总计
</th>
<th
width=
"80"
>
汇率
</th>
<th
width=
"80"
>
凭证
</th>
<th
width=
"100"
>
备注
</th>
<th
width=
"80"
>
财务单据
</th>
<th
width=
"80"
>
操作
</th>
</tr>
...
...
@@ -137,6 +138,9 @@
<p
v-for=
"(img, imgIndex) in subItem.dmcImageList"
title=
"点击下载"
@
click=
"downLoadPZ(img)"
v-if=
"img !== ''"
style=
"cursor: pointer;color:blue;"
>
{{ '凭证' + (imgIndex + 1)}}
</p>
</td>
<td
width=
"80"
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
>
{{subItem.Remarks}}
</td>
<td
:rowspan=
"item.ShopDetailsList.length"
v-if=
'subIndex==0'
style=
""
>
<!-- style="display:none;" -->
<div
>
...
...
@@ -234,7 +238,6 @@
},
methods
:
{
goCreateHandBill
:
function
()
{
console
.
log
(
this
.
CreateHandBillID
)
let
obj
=
{}
for
(
let
i
=
0
;
i
<
this
.
CreateHandBillList
.
length
;
i
++
)
{
if
(
this
.
CreateHandBillList
[
i
].
id
==
this
.
CreateHandBillID
)
{
...
...
src/components/ShoppingStore/ShoppingReimbursementDetails.vue
View file @
60a960b6
...
...
@@ -32,7 +32,7 @@
<th
width=
"120"
>
备注
</th>
</tr>
<tr
v-if=
"list.length==0"
>
<td
colspan=
"1
3
"
>
暂无数据
</td>
<td
colspan=
"1
5
"
>
暂无数据
</td>
</tr>
<tbody
v-for=
"(item,outindex) in list"
:class=
"
{roomReservationsSplitTrCss:outindex%2!=0}">
<tr
v-for=
"(subItem,subIndex) in item.ShopDetailsList"
>
...
...
src/components/ShoppingStore/ShoppingStore.vue
View file @
60a960b6
...
...
@@ -722,6 +722,7 @@
<th
width=
"80"
>
导游提成
</th>
<th
width=
"80"
>
汇率
</th>
<th
width=
"80"
>
币种
</th>
<th
width=
"80"
>
备注
</th>
<th
width=
"80"
>
操作
</th>
</tr>
<tr
v-for=
"(item,index) in importData"
:key=
"item.subCode"
:class=
"
{'IsConflict':item.IsConflict==1}">
...
...
@@ -757,6 +758,7 @@
<td>
{{
item
.
GuideExtract
}}
</td>
<td>
{{
item
.
Rate
}}
</td>
<td
:class=
"
{'redType':item.CurrencyExist==-1}">
<span>
{{
item
.
Currency
}}
</span></td>
<td>
{{
item
.
Remarks
}}
</td>
<td><span
class=
"delInfo"
@
click=
"delInfo(index)"
>
删除
</span></td>
</tr>
</thead>
...
...
src/components/Ticketing/airTicketRules.vue
0 → 100644
View file @
60a960b6
<
style
>
.airTicketRules
.query_box
{
font-size
:
12px
;
padding
:
29px
0
;
padding-right
:
30px
;
display
:
flex
;
justify-content
:
space-between
;
}
.airTicketRules
.el-switch.is-checked
.el-switch__core
{
border-color
:
#4bca81
;
background-color
:
#4bca81
;
}
.airTicketRules
.addCompany
{
width
:
440px
;
max-height
:
600px
;
}
.airTicketRules
.addCompany
.el-dialog__body
{
height
:
486px
;
overflow
:
auto
;
}
.airTicketRules
.query_box
div
label
{
display
:
inline-block
;
min-width
:
80px
;
text-align
:
right
;
font-style
:
normal
;
margin
:
0
20px
0
0
;
}
input
::-webkit-outer-spin-button
,
input
::-webkit-inner-spin-button
{
-webkit-appearance
:
none
;
}
input
[
type
=
"number"
]
{
-moz-appearance
:
textfield
;
}
.airTicketRules
.lineType
{
width
:
51px
;
height
:
24px
;
display
:
inline-block
;
text-align
:
center
;
line-height
:
24px
;
border-radius
:
4px
;
background-color
:
#ff9c00
;
color
:
#ffffff
;
}
.airTicketRules
.LMTable
tr
{
height
:
70px
;
text-align
:
center
!important
;
background-color
:
#fff
;
}
.comPanyNum
{
font-size
:
14px
;
color
:
#333333
;
display
:
inline-block
;
font-weight
:
bold
;
cursor
:
pointer
;
margin-bottom
:
5px
;
text-decoration
:
underline
;
}
.comPanyNum
:hover
{
color
:
#e95252
;
}
.Linezhicai
{
color
:
#47bf8c
;
}
.partCompany
{
padding
:
0
;
box-shadow
:
0px
1px
3px
0px
#dedede
;
}
.partCompany
.popper__arrow
::after
{
border-bottom-color
:
#ededed
!important
;
}
.partCompany
table
{
padding
:
10px
0
0
20px
;
background-color
:
#ededed
;
border-collapse
:
collapse
;
border
:
1px
solid
#d2d2d2
;
font-size
:
12px
;
}
.partCompany
table
th
{
background-color
:
#ededed
;
padding
:
5px
;
}
.partCompany
table
td
{
background-color
:
#ffffff
;
padding
:
9px
15px
;
color
:
#333333
;
border
:
1px
solid
#d2d2d2
;
}
.partCompany
table
td
._d_name
{
background-color
:
#ededed
;
}
.partCompany
table
._color_666
{
color
:
#666666
;
}
.partCompany
table
tr
._color_666
th
{
padding
:
9px
15px
;
}
.airTicketRules
.LineName
{
display
:
inline-block
;
width
:
120px
;
margin
:
0
0
0
20px
;
text-align
:
left
;
}
.airTicketRules
.LM_Back
{
background-color
:
#f2f2f2
;
}
.redType
{
color
:
#e95252
;
}
.airTicketRules
.tbDiv
{
overflow-y
:
auto
;
}
.departListDiv
{
width
:
100%
;
height
:
200px
;
overflow-y
:
auto
;
}
.airTicketRules
.tbDiv
::-webkit-scrollbar
{
width
:
4px
;
height
:
8px
;
}
.airTicketRules
.tbDiv
::-webkit-scrollbar-track
{
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#ededed
;
}
.airTicketRules
.tbDiv
::-webkit-scrollbar-thumb
{
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;
}
.departListDiv
::-webkit-scrollbar
{
width
:
4px
;
height
:
8px
;
}
.departListDiv
::-webkit-scrollbar-track
{
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#ededed
;
}
.departListDiv
::-webkit-scrollbar-thumb
{
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;
}
.LMTable
{
width
:
100%
;
font-size
:
12px
;
}
.airTicketRules
.LMTable
tr
th
{
border-bottom
:
1px
solid
#d1d1d1
;
}
.airTicketRules
.tbDiv
.LMTable
td
{
border-bottom
:
1px
solid
#d1d1d1
;
border-right
:
1px
solid
#d1d1d1
;
position
:
relative
;
text-align
:
center
;
padding
:
5px
;
min-width
:
250px
;
}
.airTicketRules
.tbDiv
table
{
padding-right
:
80px
;
margin-top
:
10px
;
border-top
:
1px
solid
#d1d1d1
;
border-left
:
1px
solid
#d1d1d1
;
border-right
:
1px
solid
#d1d1d1
;
}
.upFentan
{
text-decoration
:
underline
;
cursor
:
pointer
;
position
:
absolute
;
right
:
13px
;
top
:
32%
;
}
.subCountryList
{
width
:
150px
;
text-align
:
left
;
display
:
inline-block
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
position
:
relative
;
top
:
3px
;
}
.airTicketRules
._addLineTB
tr
{
height
:
40px
!important
;
}
.saveCompanyBtn
{
margin-top
:
20px
;
}
.setItem
{
cursor
:
pointer
;
text-decoration
:
underline
;
position
:
absolute
;
right
:
13px
;
top
:
32%
;
}
.airTicketRules
._LMComdiv
{
float
:
left
;
width
:
32%
;
text-align
:
left
;
}
.airTicketRules
.LineRank
{
width
:
24px
;
height
:
24px
;
background-color
:
#2aaef2
;
border-radius
:
50%
;
text-align
:
center
;
line-height
:
24px
;
color
:
#fff
;
margin
:
0
auto
5px
;
}
.airTicketRules
.joinDepart
{
display
:
inline-block
;
margin-right
:
50px
;
text-align
:
left
;
float
:
left
;
width
:
180px
;
}
.airTicketRules
.LM_Rank
{
text-align
:
center
;
}
.airTicketRules
._LowDisMoney
{
width
:
200px
;
float
:
left
;
text-align
:
left
;
margin
:
0
0
0
20px
;
}
.airTicketRules
.LM_Btcontent
{
position
:
absolute
;
right
:
100px
;
top
:
10px
;
text-align
:
right
;
margin-left
:
20px
;
}
.airTicketRules
.LM_ul
li
{
/*height: 78px;*/
margin
:
20px
0
0px
0px
;
transition
:
linear
all
0.5s
;
background-color
:
#fff
;
font-size
:
12px
;
border
:
1px
solid
#dddddd
;
overflow
:
hidden
;
position
:
relative
;
padding
:
10px
0
;
}
.airTicketRules
.el-button-group
.el-button
{
padding
:
5px
;
}
.airTicketRules
.LM_ul
>
li
:hover
{
box-shadow
:
0px
0px
20px
rgba
(
191
,
191
,
191
,
1
);
transition
:
all
linear
0.5s
;
}
.airTicketRules
.TFimgList
{
float
:
left
;
width
:
170px
;
height
:
100px
;
border-radius
:
4px
;
position
:
relative
;
margin
:
0
10px
10px
0
;
overflow
:
hidden
;
}
.airTicketRules
.TFimgList
img
{
width
:
100%
;
height
:
100%
;
}
.airTicketRules
.TFIMGzhe
{
width
:
100%
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,
0.4
);
position
:
absolute
;
top
:
0
;
text-align
:
center
;
line-height
:
115px
;
border-radius
:
4px
;
display
:
none
;
}
.airTicketRules
.TFimgList
:hover
.TFIMGzhe
{
display
:
block
;
}
</
style
>
<
template
>
<div
class=
"flexOne airTicketRules"
>
<div
class=
"query-box"
>
<ul>
<li>
<span>
<em>
年份
</em>
<el-select
v-model=
"msg.YearStr"
size=
"mini"
class=
"_month_input"
>
<el-option
:key=
"DefaultValue"
label=
"请选择"
:value=
"DefaultValue"
></el-option>
<el-option
v-for=
"item in YearList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>
月份
</em>
<el-select
v-model=
"msg.MonthStr"
size=
"mini"
class=
"_month_input"
>
<el-option
:key=
"DefaultValue"
label=
"请选择"
:value=
"DefaultValue"
></el-option>
<el-option
v-for=
"item in MonthList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"resetPageIndex(),getList()"
/>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('pub.addBtn')"
@
click=
"isShowDIv=true,ClearInfo(),divTitle='新增提成规则'"
/>
</li>
</ul>
</div>
<div
class=
"commonContent"
>
<table
v-loading=
"loading"
class=
"singeRowTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<thead>
<tr>
<th>
编号
</th>
<th>
时间
</th>
<th>
单价
</th>
<th>
创建人
</th>
<th>
创建时间
</th>
<th>
修改人
</th>
<th>
修改时间
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody>
<tr
v-for=
"(item,index) in DataList"
>
<td>
{{
item
.
ID
}}
</td>
<td>
{{
item
.
YearStr
}}
-
{{
item
.
MonthStr
}}
</td>
<td>
{{
item
.
UnitPrice
}}
</td>
<td>
{{
item
.
CreateByName
}}
</td>
<td>
{{
item
.
CreateTimeStr
}}
</td>
<td>
{{
item
.
UpdateByName
}}
</td>
<td>
{{
item
.
UpdateTimeStr
}}
</td>
<td>
<el-button-group
size=
'mini'
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('system.table_edit')"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"el-icon-edit"
@
click=
"isShowDIv = true,divTitle='修改提成规则',GetAirticketRules(item.ID)"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
>
<el-button
type=
"danger"
icon=
"el-icon-delete"
@
click=
"DeleteAirticketRules(item.ID)"
></el-button>
</el-tooltip>
</el-button-group>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td
colspan=
"8"
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"msg.currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"msg.total"
>
</el-pagination>
</td>
</tr>
</tfoot>
</table>
</div>
<div
class=
"combottomDiv"
v-if=
"isShowDIv"
>
<div
class=
"combottomTitle"
>
{{
divTitle
}}
</div>
<div
class=
""
>
<el-form
:model=
"addMsg"
ref=
"addMsg"
label-width=
"130px"
>
<el-col
:span=
"5"
>
<el-form-item
label=
"年"
>
<el-select
v-model=
"addMsg.YearStr"
size=
"mini"
class=
"_month_input"
>
<el-option
:key=
"DefaultValue"
label=
"请选择"
:value=
"DefaultValue"
></el-option>
<el-option
v-for=
"item in YearList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"月"
>
<el-select
v-model=
"addMsg.MonthStr"
size=
"mini"
class=
"_month_input"
>
<el-option
v-for=
"item in MonthList"
:key=
"item"
:label=
"item"
:value=
"item"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"单价/人"
>
<el-input
v-model=
"addMsg.UnitPrice"
maxlength=
"5"
@
keyup
.
native=
"checkPrice(addMsg,'UnitPrice')"
>
</el-input>
</el-form-item>
</el-col>
<div
class=
"LM_Btcontent"
>
<input
type=
"button"
class=
"normalBtn"
@
click=
"SaveAirticketRules()"
:value=
"$t('pub.saveBtn')"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
@
click=
"isShowDIv=false,ClearInfo()"
:value=
"$t('pub.cancelBtn')"
/>
</div>
</el-form>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
msg
:
{
pageIndex
:
1
,
pageSize
:
15
,
total
:
0
,
currentPage
:
1
,
MonthStr
:
0
,
//月份
YearStr
:
0
,
//年份
},
addMsg
:
{
ID
:
0
,
//编号
YearStr
:
0
,
//年份
MonthStr
:
0
,
//月份
UnitPrice
:
0
,
//单价每人
},
DefaultValue
:
0
,
//默认值
YearList
:
[],
//月份
MonthList
:
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
],
loading
:
false
,
//加载层
isShowDIv
:
false
,
//是否显示新增、编辑的Div
//数据列表
DataList
:
[],
};
},
methods
:
{
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"AirTicketRules_get_GetPageList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
DataList
=
res
.
data
.
data
.
pageData
;
this
.
msg
.
total
=
res
.
data
.
data
.
count
;
}
},
err
=>
{}
);
},
handleCurrentChange
(
val
)
{
//翻页功能按钮
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
//查询初始化页码
this
.
msg
.
pageIndex
=
1
;
this
.
msg
.
currentPage
=
1
;
},
//情况消息
ClearInfo
()
{
this
.
addMsg
.
ID
=
0
;
this
.
addMsg
.
YearStr
=
0
;
this
.
addMsg
.
MonthStr
=
0
;
this
.
addMsg
.
UnitPrice
=
0
;
},
//保存信息
SaveAirticketRules
()
{
this
.
apipost
(
"AirTicketRules_post_SetAirticketRule"
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
this
.
ClearInfo
();
this
.
isShowDIv
=
false
;
}
},
err
=>
{}
);
},
//删除票务提成规则
DeleteAirticketRules
(
Id
)
{
var
that
=
this
;
this
.
Confirm
(
"是否此提成规则删除?"
,
function
()
{
var
msg
=
{
ID
:
Id
};
that
.
apipost
(
"AirTicketRules_post_RemoveAirticketRule"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
'删除成功!'
);
that
.
getList
();
}
else
{
that
.
Error
(
res
.
data
.
data
);
}
},
null
);
});
},
//根据编号获取票务提成规则
GetAirticketRules
(
Id
)
{
this
.
apipost
(
"AirTicketRules_get_GetAirticketRules"
,
{
ID
:
Id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
.
ID
=
res
.
data
.
data
.
ID
;
this
.
addMsg
.
YearStr
=
res
.
data
.
data
.
YearStr
;
this
.
addMsg
.
MonthStr
=
res
.
data
.
data
.
MonthStr
;
this
.
addMsg
.
UnitPrice
=
res
.
data
.
data
.
UnitPrice
;
}
},
err
=>
{}
);
}
},
mounted
()
{
this
.
getList
();
},
created
()
{
var
CYear
=
new
Date
().
getFullYear
();
let
count
=
CYear
-
(
CYear
-
5
);
for
(
let
i
=
0
;
i
<=
count
;
i
++
)
{
this
.
YearList
.
push
(
CYear
-
i
);
}
}
};
</
script
>
src/router/config.js
View file @
60a960b6
...
...
@@ -3533,6 +3533,14 @@ export default {
meta
:
{
title
:
'商城订单管理'
}
},
{
path
:
"/airTicketRules"
,
name
:
"airTicketRules"
,
component
:
resolve
=>
require
([
'@/components/Ticketing/airTicketRules'
],
resolve
),
meta
:
{
title
:
'票务规则配置'
}
}
]
},
...
...
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