Commit 60a960b6 authored by 黄奎's avatar 黄奎

新增票务提成规则,和购物报账显示备注信息

parent 3612b3a6
......@@ -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) {
......
......@@ -32,7 +32,7 @@
<th width="120">备注</th>
</tr>
<tr v-if="list.length==0">
<td colspan="13">暂无数据</td>
<td colspan="15">暂无数据</td>
</tr>
<tbody v-for="(item,outindex) in list" :class="{roomReservationsSplitTrCss:outindex%2!=0}">
<tr v-for="(subItem,subIndex) in item.ShopDetailsList">
......
......@@ -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>
......
<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>
......@@ -3533,6 +3533,14 @@ export default {
meta: {
title: '商城订单管理'
}
},
{
path: "/airTicketRules",
name: "airTicketRules",
component: resolve => require(['@/components/Ticketing/airTicketRules'], resolve),
meta: {
title: '票务规则配置'
}
}
]
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment