Commit 03b43a07 authored by 黄奎's avatar 黄奎

门票修改

parent 90952a83
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<div class="query-box" style="border-bottom: none;"> <div class="query-box" style="border-bottom: none;">
<ul> <ul>
<li> <li>
<input type="button" class="fr normalBtn mb30" value="保存" @click="saveList(1)"/> <input type="button" class="fr normalBtn mb30" value="保存" @click="saveList(1)" />
<input type="button" class="fr normalBtn mb30" value="保存草稿" @click="saveList(0)"/> <input type="button" class="fr normalBtn mb30" value="保存草稿" @click="saveList(0)" />
</li> </li>
</ul> </ul>
</div> </div>
...@@ -25,13 +25,18 @@ ...@@ -25,13 +25,18 @@
<th width="80">返佣</th> <th width="80">返佣</th>
<th width="80">总金额</th> <th width="80">总金额</th>
<th width="80">付款方式</th> <th width="80">付款方式</th>
<th width="150">订团号</th>
<th width="150">联络电话</th> <th width="150">联络电话</th>
<th width="300">地址</th> <th width="300">地址</th>
<th width="200">备注</th> <th width="200">备注</th>
</tr> </tr>
<tr v-for="(item,index) in list"> <tr v-for="(item,index) in list">
<td :rowspan="list.length" v-if="index==0"><div class="w120">{{TCNUM}}</div></td> <td :rowspan="list.length" v-if="index==0">
<td :rowspan="list.length" v-if="index==0"><div class="w120">{{NewCombinationNum}}</div></td> <div class="w120">{{TCNUM}}</div>
</td>
<td :rowspan="list.length" v-if="index==0">
<div class="w120">{{NewCombinationNum}}</div>
</td>
<td> <td>
<div class="w120"> <div class="w120">
{{item.UseTimeStr}} {{item.UseTimeStr}}
...@@ -64,24 +69,25 @@ ...@@ -64,24 +69,25 @@
<td> <td>
<div class="w80 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList"> <div class="w80 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList">
<p v-for="o in subItem.TicketPriceList"> <p v-for="o in subItem.TicketPriceList">
<el-input class='w50 tcenter' v-model='o.UsePeopleNum' type="number" @input='calculationPrice(subItem)' @keyup.native="checkInteger(o,'UsePeopleNum')"></el-input> <el-input class='w50 tcenter' v-model='o.UsePeopleNum' type="number" @input='calculationPrice(subItem)'
@keyup.native="checkInteger(o,'UsePeopleNum')"></el-input>
</p> </p>
</div> </div>
</td> </td>
<td> <td>
<div class="w80 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList"> <div class="w80 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList">
<p v-for="o in subItem.TicketPriceList"> <p v-for="o in subItem.TicketPriceList">
<el-input class='w50 tcenter' maxlength='2' v-model='o.Discount' type="number" @input='calculationPrice(subItem)' @keyup.native="checkInteger(o,'Discount')"></el-input> <el-input class='w50 tcenter' maxlength='2' v-model='o.Discount' type="number"
@input='calculationPrice(subItem)' @keyup.native="checkInteger(o,'Discount')"></el-input>
</p> </p>
</div> </div>
</td> </td>
<td> <td>
<div class="w100 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList"> <div class="w100 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList">
<p v-for="o in subItem.TicketPriceList"> <p v-for="o in subItem.TicketPriceList">
<span class="spanlink" v-if='o.PeoplePrice==0' @click="goUrl('ticketManagement',subItem,'门票管理')">设置</span> <span class="spanlink" v-if='o.PeoplePrice==0'
@click="goUrl('ticketManagement',subItem,'门票管理')">设置</span>
<span v-if='o.PeoplePrice!=0'>{{o.PeoplePrice}}</span> <span v-if='o.PeoplePrice!=0'>{{o.PeoplePrice}}</span>
<!--<el-input class='w80 tcenter' v-model='o.PeoplePrice' @input='calculationPrice(subItem)' @keyup.native="checkInteger(o,'PeoplePrice')"></el-input>-->
</p> </p>
</div> </div>
</td> </td>
...@@ -95,28 +101,32 @@ ...@@ -95,28 +101,32 @@
<td> <td>
<div class="w80 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList"> <div class="w80 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList">
<p v-for="o in subItem.TicketPriceList"> <p v-for="o in subItem.TicketPriceList">
<span class="spanlink" v-if='o.DiscountPrice==0' @click="goUrl('scenicSpotInfoManage',subItem,'景区列表')">设置</span> <span class="spanlink" v-if='o.DiscountPrice==0'
@click="goUrl('scenicSpotInfoManage',subItem,'景区列表')">设置</span>
<span v-if='o.DiscountPrice!=0'>{{o.DiscountPrice}}%</span> <span v-if='o.DiscountPrice!=0'>{{o.DiscountPrice}}%</span>
<!--<el-input class='w50 tcenter' v-model='o.DiscountPrice' @input='calculationPrice(subItem)' @keyup.native="checkInteger(o,'DiscountPrice')"></el-input>-->
</p> </p>
</div> </div>
</td> </td>
<td> <td>
<div class="w80 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList"> <div class="w80 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList">
<!-- {{(subItem.UsePeopleNum-subItem.Discount)*subItem.PeoplePrice}} -->
{{subItem.TotalPrice}} {{subItem.TotalPrice}}
</div> </div>
</td> </td>
<td> <td>
<div class="w160 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList"> <div class="w160 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList">
<el-select class='w100 sel' v-model='subItem.PayStyle' :placeholder="$t('pub.pleaseSel')"> <el-select class='w100 sel' v-model='subItem.PayStyle' :placeholder="$t('pub.pleaseSel')">
<el-option label='请选择' value='0' ></el-option> <el-option label='请选择' value='0'></el-option>
<el-option label='现付' value='1' ></el-option> <el-option label='现付' value='1'></el-option>
<el-option label='签单' value='2' ></el-option> <el-option label='签单' value='2'></el-option>
<el-option label='实物抵扣' value='5' ></el-option> <el-option label='实物抵扣' value='5'></el-option>
<el-option label='预付' value='4' ></el-option> <el-option label='预付' value='4'></el-option>
</el-select> </el-select>
</div> </div>
</td>
<td>
<div class="w160 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList">
<el-input class='w120' v-model='subItem.CombinationNum' type="text"></el-input>
</div>
</td> </td>
<td> <td>
<div class="w150 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList"> <div class="w150 ScenicComDiv" v-for="subItem in item.ScenicStatisticsList">
...@@ -138,27 +148,26 @@ ...@@ -138,27 +148,26 @@
</div> </div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data () { data() {
return { return {
defaultSelectValue:0, defaultSelectValue: 0,
list:[], list: [],
roomList:[], roomList: [],
TCNUM:'', TCNUM: '',
flightTotal:0, flightTotal: 0,
GuestNum:0, GuestNum: 0,
NewCombinationNum:'' NewCombinationNum: ''
} }
}, },
methods: { methods: {
personStrToWord(str){ personStrToWord(str) {
if(str==1) if (str == 1)
return '大' return '大'
if(str==2) if (str == 2)
return '中' return '中'
if(str==3) if (str == 3)
return '小' return '小'
}, },
goUrl(path, obj, name) { goUrl(path, obj, name) {
...@@ -171,89 +180,142 @@ export default { ...@@ -171,89 +180,142 @@ export default {
} }
}); });
}, },
calculationPrice(obj){ calculationPrice(obj) {
let totalPrice=0 let totalPrice = 0;
console.log(obj.TicketPriceList) obj.TicketPriceList.forEach(item => {
obj.TicketPriceList.forEach(item=>{ totalPrice += item.PeoplePrice * (item.UsePeopleNum - item.Discount) * (1 - item.DiscountPrice / 100);
totalPrice+=item.PeoplePrice*(item.UsePeopleNum-item.Discount)*(1-item.DiscountPrice/100)
}) })
console.log(totalPrice); obj.TotalPrice = totalPrice.toFixed(2);
obj.TotalPrice=totalPrice.toFixed(2)
}, },
getList(){ getList() {
this.apipost('dmcstatistics_get_GetScenicStaticsDetail',{TCIDs:this.$route.query.id},res=>{ this.apipost('dmcstatistics_get_GetScenicStaticsDetail', {
if(res.data.resultCode==1){ TCIDs: this.$route.query.id
this.list=res.data.data }, res => {
this.list.forEach(item=>{ if (res.data.resultCode == 1) {
item.ScenicStatisticsList.forEach(x=>{ this.list = res.data.data;
x.PayStyle=x.PayStyle.toString() this.list.forEach(item => {
this.calculationPrice(x) item.ScenicStatisticsList.forEach(x => {
x.PayStyle = x.PayStyle.toString();
this.calculationPrice(x);
}) })
}) })
}else{ } else {
this.$message.error(res.data.message) this.$message.error(res.data.message);
} }
}, err => {})
// this.list.forEach(item=>{
// item.DiningSummaryList.forEach(x=>{
// x.PayStyle=x.PayStyle.toString()
// x.DiningReserveType=x.DiningReserveType.toString()
// this.calculationPrice(x)
// })
// })
},err=>{})
}, },
saveList(type){ saveList(type) {
if(type==0){ if (type == 0) {
this.list.forEach(item=>{ this.list.forEach(item => {
item.ScenicStatisticsList.forEach(insideItem=>{ item.ScenicStatisticsList.forEach(insideItem => {
insideItem.OrderState=0 insideItem.OrderState = 0;
}) })
}) })
} }
if(type==1){ if (type == 1) {
this.list.forEach(item=>{ this.list.forEach(item => {
item.ScenicStatisticsList.forEach(insideItem=>{ item.ScenicStatisticsList.forEach(insideItem => {
insideItem.OrderState=1 insideItem.OrderState = 1;
}) })
}) })
} }
this.apipost('dmcstatistics_get_SetTicketOrder',this.list,res=>{ this.apipost('dmcstatistics_get_SetTicketOrder', this.list, res => {
if(res.data.resultCode==1){ if (res.data.resultCode == 1) {
this.$message.success(res.data.message) this.$message.success(res.data.message);
}else{ } else {
this.$message.error(res.data.message) this.$message.error(res.data.message);
} }
},err=>{}) }, err => {})
}, },
}, },
mounted() { mounted() {
this.TCNUM=this.$route.query.TCNUM this.TCNUM = this.$route.query.TCNUM;
this.flightTotal=this.$route.query.flightTotal this.flightTotal = this.$route.query.flightTotal;
this.GuestNum=this.$route.query.GuestNum this.GuestNum = this.$route.query.GuestNum;
this.NewCombinationNum = this.$route.query.NewCombinationNum this.NewCombinationNum = this.$route.query.NewCombinationNum;
this.getList() this.getList()
}, },
} }
</script> </script>
<style> <style>
.admissionStatisticsDetailsTalbe{ background: #ccc;} .admissionStatisticsDetailsTalbe {
.admissionStatisticsDetailsTalbe tr th{background: #E6E6E6;height:40px; font-size: 12px; color: #333;} background: #ccc;
.admissionStatisticsDetailsTalbe tr{background: #fff;text-align: center; height: 40px;} }
.admissionStatisticsDetailsTalbe tr td{font-size: 12px;}
.admissionStatisticsDetailsTalbe tr td .pHouseStyle{border-bottom: 1px solid #ccc; height: 20px; line-height: 20px;} .admissionStatisticsDetailsTalbe tr th {
.admissionStatisticsDetailsTalbe tr td .pHouseStyle:last-child{border-bottom: none;} background: #E6E6E6;
.admissionStatisticsDetailsTalbe tr td .ScenicComDivflex{width:100%; height: 84px; display: flex; align-items: center; padding-left: 15px; border-bottom:1px solid #ccc;} height: 40px;
.admissionStatisticsDetailsTalbe tr td .ScenicComDivflex:last-child{border-bottom: none;} font-size: 12px;
.admissionStatisticsDetailsTalbe tr td .ScenicComDiv{width:100%; height: 84px; line-height: 84px; border-bottom:1px solid #ccc;} color: #333;
.admissionStatisticsDetailsTalbe tr td .ScenicComDiv:last-child{border-bottom: none;} }
.admissionStatisticsDetailsTalbe tr td .ScenicComDiv>p{border-bottom: 1px solid #ccc; height: 28px; line-height: 28px;}
.admissionStatisticsDetailsTalbe tr td .ScenicComDiv>p:last-child{border-bottom: none;} .admissionStatisticsDetailsTalbe tr {
.admissionStatisticsDetailsTalbe tr td input{height:20px!important; padding: 0!important; text-align: center;} background: #fff;
.admissionStatisticsDetailsTalbe tr td .sel input{ text-align: center;
height:34px!important; height: 40px;
} }
.admissionStatisticsDetailsTalbe tr td .spanlink:hover{text-decoration: underline; cursor: pointer;}
.admissionStatisticsDetailsTalbe tr td {
font-size: 12px;
}
.admissionStatisticsDetailsTalbe tr td .pHouseStyle {
border-bottom: 1px solid #ccc;
height: 20px;
line-height: 20px;
}
.admissionStatisticsDetailsTalbe tr td .pHouseStyle:last-child {
border-bottom: none;
}
.admissionStatisticsDetailsTalbe tr td .ScenicComDivflex {
width: 100%;
height: 84px;
display: flex;
align-items: center;
padding-left: 15px;
border-bottom: 1px solid #ccc;
}
.admissionStatisticsDetailsTalbe tr td .ScenicComDivflex:last-child {
border-bottom: none;
}
.admissionStatisticsDetailsTalbe tr td .ScenicComDiv {
width: 100%;
height: 84px;
line-height: 84px;
border-bottom: 1px solid #ccc;
}
.admissionStatisticsDetailsTalbe tr td .ScenicComDiv:last-child {
border-bottom: none;
}
.admissionStatisticsDetailsTalbe tr td .ScenicComDiv>p {
border-bottom: 1px solid #ccc;
height: 28px;
line-height: 28px;
}
.admissionStatisticsDetailsTalbe tr td .ScenicComDiv>p:last-child {
border-bottom: none;
}
.admissionStatisticsDetailsTalbe tr td input {
height: 20px !important;
padding: 0 !important;
text-align: center;
}
.admissionStatisticsDetailsTalbe tr td .sel input {
height: 34px !important;
}
.admissionStatisticsDetailsTalbe tr td .spanlink:hover {
text-decoration: underline;
cursor: pointer;
}
</style> </style>
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