Commit 2dc4d704 authored by 黄媛媛's avatar 黄媛媛

新增销售景点票卷订单

parent 29a12160
<style>
.SalesHotelOrder .query-box{
border-bottom:0;
}
.SalesHotelOrder .SalesHotelOrderTable{
width: 100%;
min-width: 1500px;
font-size: 14px;
color: #333;
border-bottom: 1px solid #cccccc;
border-right: 1px solid #cccccc;
border-collapse: collapse;
}
.SalesHotelOrder .SalesHotelOrderTable th{
background: #e6e6e6;
height: 30px;
font-size: 12px;
text-align: center;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.SalesHotelOrder .SalesHotelOrderTable tr td{
height: 60px;
padding: 10px;
background-color: #fff;
text-align: center;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.SalesHotelOrder .SalesHotelOrderTable tbody tr:last-child{
border-bottom:2px solid #333;
}
.SalesHotelOrder .SH_beizhu{
float:left;
}
.SalesHotelOrder .SH_beizhuInner{
float:left;
width:85%;
}
.SalesHotelOrder .SH_OrderDan>div{
display:inline-block;
}
.groupTourOrder_count {
margin: 0 0 20px 0;
width: 100%;
height: auto;
}
.groupTourOrder_count_col {
height: 80px;
}
.groupTourOrder_count_item {
font-weight: 400;
padding: 10px;
height: 100%;
border: 1px solid #E6E6E6;
background-color: #FFFFFF;
color: #333333;
}
.groupTourOrder_count_item>div>i {
font-size: 12px;
vertical-align: bottom;
}
.groupTourOrder_count_item>div>span:nth-child(2) {
font-size: 14px;
vertical-align: bottom;
}
.groupTourOrder_count_item>div>span:nth-child(3) {
font-weight: bold;
font-size: 16px;
vertical-align: bottom;
}
.groupTourOrder_count_item>p {
font-size: 12px;
line-height: 18px;
}
.groupTourOrder_count_item>p>span {
margin: 0 5px 0 0;
white-space: nowrap;
}
.groupTourOrder_count_green {
color: #1BC594;
}
.groupTourOrder_count_blue {
color: #4D7AFD;
}
.groupTourOrder_count_yellow {
color: #FF9C00;
}
.groupTourOrder_count_gray {
color: #999999;
}
.HT_total span{
display: inline-block;
margin:5px 10px 0 0!important;
}
.HT_totalFinacel span{
display: inline-block;
margin:3px 5px 0 0!important;
}
.color_red_order {
color: #e95252 !important;
}
.groupTourOrderByTuan_ico>i{
display: inline-block;
margin: 0 2px 0 0;
width: 8px;
height: 8px;
border-radius: 2px;
vertical-align: middle;
}
.groupTourOrder_tickets_red {
color: #FF0000;
text-decoration: underline;
cursor: pointer;
}
.groupTourOrder_tickets_blue {
color: #0000FF;
text-decoration: underline;
cursor: pointer;
}
.groupTourOrder_tickets_green {
color: #008000;
text-decoration: underline;
cursor: pointer;
}
.groupTourOrder_tickets_black {
color: #000000;
text-decoration: underline;
cursor: pointer;
}
</style>
<template>
<div class="flexOne SalesHotelOrder">
<div class="query-box">
<ul>
<li>
<span><em>关键字</em>
<el-input v-model='msg.searchKey' :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>订单状态</em>
<el-select v-model='msg.status' filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in orderStatus" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>公司</em>
<el-select v-model="msg.rbBranchId" placeholder="请选择公司" >
<el-option :value="-1" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in CompanyList'
:label='item.BName'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<!-- -->
<!-- <li>
<span>
<em>部门</em>
<el-select v-model="msg.RB_Department_Id" placeholder="请选择部门" @change="employeeMsg.DepartmentId = msg.RB_Department_Id,employeeMsg.BranchId=msg.RB_Branch_Id, getEmployee(), msg.CreateBy=0">
<el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in DepartmentList'
:label='item.DepartmentName'
:value='item.DepartmentID'
:key='item.DepartmentID'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>创建人</em>
<el-select filterable v-model='msg.CreateBy'>
<el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in EmployeeList'
:label='item.EmName'
:value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select>
</span>
</li> -->
<li>
<span>
<em>开始时间</em>
<el-date-picker type="date" v-model="msg.startDate"
:picker-options="StartTimeBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>结束时间</em>
<el-date-picker type="date" v-model="msg.endDate"
:picker-options="EndTimeAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<input type="button" class="hollowFixedBtn" @click="resetPageIndex();getList()" :value="$t('pub.searchBtn')" />
</li>
</ul>
</div>
<table class="SalesHotelOrderTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>订单号</th>
<th>数量</th>
<th>总额</th>
<th>已收金额</th>
<th>退款金额</th>
<th>待收金额</th>
<th>优惠金额</th>
<th>订单状态</th>
<th>创建时间</th>
<th>游玩时间</th>
<th>门票名称</th>
<th>客户信息</th>
<th>操作</th>
</tr>
<tbody v-for="(item,index) in dataList" :key="index+500">
<tr>
<td style="border-bottom:2px solid #333" rowspan="2">{{item.id}}</td>
<td>{{item.purchaseQuantity}}</td>
<td>{{item.preferPrice}}</td>
<td>{{item.income}}</td>
<td>
<span v-if="item.reFund">{{item.reFund}}</span>
<span v-else>0</span>
</td>
<td>{{item.discountMoney}}</td>
<td>{{item.duein}}</td>
<td>
<span v-if="item.status==1">正常</span>
<span class="color_red_order" v-if="item.status==2">取消</span>
<span v-if="item.status==3">待付款</span>
</td>
<td>{{item.createDate}}</td>
<td>{{item.useDate}}</td>
<td>{{item.couponsName}}</td>
<td>
<p>中文姓名:{{item.contactCNName}}</p>
<p>英文姓名:{{item.contactENName}}</p>
<p>联系电话:{{item.contactEmail}}</p>
<p>邮箱:{{item.contactMobile}}</p>
</td>
<td>
<el-row>
<el-button-group>
<el-tooltip class="item" effect="dark" content="付款" placement="top-start" v-if="item.OrderStatus!=='已取消'">
<el-button type="primary" icon="iconfont icon-fukuan2" @click="getShouKuan(item)" ></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="取消订单" placement="top-start" v-if="item.OrderStatus!=='已取消'">
<el-button type="info" v-if="item.IsCanOrder == 0" icon="iconfont icon-quxiao1" @click="Exit(item)"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="确定" placement="top-start" v-if="item.OrderStatus!=='已取消'">
<el-button type="success" icon="iconfont icon-duigou" v-if="item.IsCanClear == 0" @click="queren(1, item.OrderID)" ></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="取消确认" placement="top-start" v-if="item.OrderStatus!=='已取消'">
<el-button type="info" icon=" iconfont icon-quxiao1" v-if="item.IsCanClear == 1" @click="queren(0, item.OrderID)"></el-button>
</el-tooltip>
<!-- <el-tooltip class="item" effect="dark" content="关联团" placement="top-start">
<el-button type="warning" icon="iconfont icon-guanlian" @click="TCID = '',GLOrderID = item.OrderID,dialogFormVisible = true"></el-button>
</el-tooltip> -->
<el-tooltip class="item" effect="dark" content="详情" placement="top-start">
<el-button type="success" icon="iconfont icon-sousuo" @click="goOrderDetails(item.id)"></el-button>
</el-tooltip>
</el-button-group>
</el-row>
</td>
</tr>
<tr>
<td colspan="7" style="text-align:left;width:600px">
<div class="clearfix">
<div class="SH_beizhu" style="">
备注:
</div>
<div class="SH_beizhuInner">
{{item.Remark}}
</div>
</div>
</td>
<td colspan="8" style="text-align:left;width:600px">
<div class="SH_OrderDan">
<div>收款单据:</div>
<div>
<span v-for="(subItem,index) in item.Revenue" :key="index+5000">
<span style="margin-right:6px" @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" class="groupTourOrder_tickets_blue">{{subItem.FrID}}</span>
</span>
<span v-if="item.Revenue==0">暂无数据</span>
</div>
</div>
<div class="SH_OrderDan">
<div>付款单据:</div>
<div>
<span v-for="(subItem,index) in item.expend" :key="index+1000">
<span style="margin-right:6px" @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" class="groupTourOrder_tickets_blue">{{subItem.FrID}} </span>
<!-- <span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem)" v-else-if="subItem.ColorState===2" class="groupTourOrder_tickets_green">{{subItem}} </span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem)" v-else-if="subItem.ColorState===3" class="groupTourOrder_tickets_red">{{subItem}} </span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem)" v-else-if="subItem.ColorState===4" class="groupTourOrder_tickets_black">{{subItem}} </span> -->
</span>
<span v-if="item.expend==0">暂无数据</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="noDataNotice" v-if="dataList.length<1">
<i class="iconfont icon-kong"></i>
<p>{{$t("active.ld_noData")}}</p>
</div>
<el-dialog title="请选择团号" width="400px" :visible.sync="dialogFormVisible" center :before-close="closeChangeMachie">
<el-form label-width="110px">
<el-form-item label="团号">
<el-select
v-model="TCID"
filterable
remote
reserve-keyword
:placeholder="$t('pub.pleaseImport')"
:remote-method="remoteMethodTCNum"
:loading="loading2">
<el-option
v-for="item in searchList"
:key="item.TCID"
:label="item.TCNUM"
:value="item.TCID">
<span style="float: left">{{ item.TCNUM }}</span>
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="dialogFormVisible=false,GLOrderID = ''">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" type="primary" @click="querenGL">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper"
:page-size=msg.pageSize :total=total>
</el-pagination>
<el-dialog title="取消订单" width="400px" :visible.sync="dialogFormVisible">
<el-form :model="exitMsg" label-width="80px">
<el-form-item label="取消类型">
<el-select size="small" v-model="exitMsg.cancel_type" placeholder="请选择取消类型">
<el-option label="行程变更或取消" value="MC001"></el-option>
<el-option label="重复订单" value="MC002"></el-option>
<el-option label="价格原因" value="MC003"></el-option>
<el-option label="个人因素" value="MC004"></el-option>
<el-option label="交通因素" value="MC005"></el-option>
<el-option label="交通因素" value="MC006"></el-option>
<el-option label="其他" value="MC999"></el-option>
</el-select>
</el-form-item>
<el-form-item label="取消原因" >
<el-input v-model="exitMsg.cancel_desc" autocomplete="off" type="textarea" :rows="2"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="dialogFormVisible = false">取 消</el-button>
<el-button size="small" type="danger" @click="ExitOrder">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialogFormVisible:false,
exitMsg:{
orderId:'',
cancel_type:"",
cancel_desc:"",
CancelBy:'',
},
msg: {
pageIndex:1,
pageSize:10,
searchKey:"",
rbBranchId:-1,
startDate:"",
endDate:"",
status:0,
},
TCID: '',
GLOrderID: '',
total:0,
currentPage: 1,
loading:false,
StartTimeBefore: {
disabledDate: time => {
if (this.msg.EndTime == null) {
return false;
} else {
let endTime = new Date(this.msg.EndTime)
return endTime.getTime() < time.getTime()
}
}
},
EndTimeAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.StartTime)
return startTime.getTime() >= time.getTime()
}
},
CStartTimeBefore: {
disabledDate: time => {
if (this.msg.CEndTime == null) {
return false;
} else {
let endTime = new Date(this.msg.CEndTime)
return endTime.getTime() < time.getTime()
}
}
},
CEndTimeAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.CStartTime)
return startTime.getTime() >= time.getTime()
}
},
orderStatus:[{
Name:'正常',
Id:0
},{
Name:'取消',
Id:1
},{
Name:'待付款',
Id:2
}],
dataList: [],
getCompanyMsg:{ // 公司
RB_Group_Id:'0',
Status:'0',
},
getDepartmentMsg:{// 部门
RB_Group_Id:'',
RB_Branch_Id:'',
Status:0,
ParentId:-1,
Tier:0,
},
employeeMsg:{ // 员工
GroupId:'',
BranchId:-1,
DepartmentId:0,
PostId:0,
IsLeave:0,
},
CompanyList:[],
DepartmentList:[],
EmployeeList:[],
searchList: [],
loading2: false,
dialogFormVisible: false,
};
},
methods: {
Exit(item){
let userInfo = this.getLocalStorage();
this.dialogFormVisible=true;
this.exitMsg.orderId=item.OrderID;
this.exitMsg.CancelBy=userInfo.EmployeeId;
},
ExitOrder(){
if(this.exitMsg.cancel_type==""){
this.Error("请选择取消类型!");
return;
}
this.apipost(
"dmc_post_Get_KKDayOrderCancel",
this.exitMsg,
res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.$emit('queryDays')
this.exitMsg={
orderId:'',
cancel_type:"",
cancel_desc:"",
CancelBy:'',
};
} else {
this.$message.error(res.data.message);
}
this.dialogFormVisible=false;
},
null
);
},
GotoUrl(TCNUM) {
this.$router.push({
path: "TravelControlList",
query: {
tcmun: TCNUM,
blank: 'y',
tab: "团控查询",
}
});
},
querenGL(){
this.apipost("dmc_post_get_RelevanceTCID",{ TCID: this.TCID, OrderID: this.GLOrderID },res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getList();
this.dialogFormVisible = false
}
},err => {});
},
closeChangeMachie(done) { // 弹=窗口关闭
done();
},
remoteMethodTCNum(query) {
if (query !== ''||this.addShow) {
this.loading2 = true;
this.apipost("InvoiceApply_get_GetPriceList",{ TCNUM:query },res => {
if (res.data.resultCode == 1) {
this.searchList = res.data.data;
this.loading2 = false;
}
},err => {});
} else {
this.searchList = [];
this.loading2 = false;
}
},
queren(type, OrderID){
let text = type == 1 ? '确认后,订单不会自动取消' : '取消后,订单会自动取消'
this.$confirm(text, this.$t('tips.tips'), {
confirmButtonText: this.$t('pub.sureBtn'),
cancelButtonText: this.$t('pub.cancelBtn'),
type: 'warning'
}).then(() => {
this.apipost('KKDayOrder_Post_UpdateOrderCanClear',{OrderID: OrderID, IsCanClear: type},res=>{
if(res.data.resultCode==1){
this.Success(res.data.message);
this.getList();
}else{
this.Error(res.data.message);
}
},err=>{})
}).catch(() => {
this.$message({
type: 'info',
message: this.$t('ios.yi') + this.$t('pub.cancelBtn')
});
});
},
goOrderDetails(ID){
this.$router.push({
name: 'scenOrderDetails',
query: {
ID: ID,
blank:'y',
}
})
},
getList() {
//获取列表
this.loading = true;
this.apiJavaPost("/api/erp/ticketCoupons/getTicketCouponsOrder", this.msg, res => {
this.loading = false;
if (res.data.resultCode === 1) {
this.dataList = res.data.data.pageData;
console.log(this.dataList,'datalist');
this.total=res.data.data.count;
} else {
this.Error(res.data.message)
}
}, null);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1
},
getCompanyList: function () { //获取公司列表
this.apipost('admin_get_BranchGetList',this.getCompanyMsg,res=>{
if(res.data.resultCode==1){
this.CompanyList=res.data.data;
}else{}
},err=>{})
},
getDepartment: function () { //获取部门列表
this.apipost('admin_get_DepartmentGetList', this.getDepartmentMsg, res => {
if(res.data.resultCode == 1) {
this.DepartmentList = res.data.data;
}
}, err => {})
},
getEmployee() { //员工
this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
if(res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
}, err => {})
},
//点击取消操作
cancelHTorder(ThirdOrderNo){
let userInfo = this.getLocalStorage();
let EmployeeId = userInfo.EmployeeId;
let msg ={
bookingNumber:ThirdOrderNo,
CancelBy:EmployeeId,
CancelType:1
}
this.apipost(
"dmc_post_Get_GetJAPAN_GetJAPAN_ReservationCancallation",
msg,
res => {
if (res.data.resultCode == 1) {
this.Success('取消成功');
this.getList();
} else {
this.Error(res.data.message);
}
},
null
);
},
//点击收款
getShouKuan(obj){
let TCIDARR = obj.TCID ? [obj.TCID] : [];
let orderObj = {
OrderID:obj.id,
OrderSource: 3,
Obj: {},
SourceID:null,
TCIDList: TCIDARR
}
this.$router.push({
name: 'ChoiceAddFinancialDocuments',
query:{
"Type":1,
"companyID":obj.RbBranchId,
"path": "",
'blank':'y',
'orderObj':JSON.stringify(orderObj),
'tradeWay':1,
'platformAccount':0
}
});
},
//跳转财务单据
goUrlFinacel: function(name, path, id) {
this.$router.push({
name: path,
query: { id: id, blank: "y", tab: name }
});
}
},
mounted() {
let userInfo=this.getLocalStorage();
this.getCompanyMsg.RB_Group_Id = userInfo.RB_Group_id; //集团
this.getDepartmentMsg.RB_Branch_Id = userInfo.RB_Branch_id; //公司
this.msg.enterID = userInfo.EmployeeId;
// this.msg.enterID = 2070;
this.getCompanyList()
// this.getDepartment()
// this.getEmployee()
this.getList();
}
};
</script>
......@@ -307,7 +307,7 @@
<div>收款单据:</div>
<div>
<span v-for="(subItem,index) in item.Revenue" :key="index+5000">
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem)" class="groupTourOrder_tickets_blue">{{subItem}} </span>
<span style="margin-right:6px" @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" class="groupTourOrder_tickets_blue">{{subItem.FrID}}</span>
</span>
<span v-if="item.Revenue==0">暂无数据</span>
</div>
......@@ -316,7 +316,7 @@
<div>付款单据:</div>
<div>
<span v-for="(subItem,index) in item.expend" :key="index+1000">
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem)" class="groupTourOrder_tickets_blue">{{subItem}} </span>
<span style="margin-right:6px" @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" class="groupTourOrder_tickets_blue">{{subItem.FrID}} </span>
<!-- <span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem)" v-else-if="subItem.ColorState===2" class="groupTourOrder_tickets_green">{{subItem}} </span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem)" v-else-if="subItem.ColorState===3" class="groupTourOrder_tickets_red">{{subItem}} </span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem)" v-else-if="subItem.ColorState===4" class="groupTourOrder_tickets_black">{{subItem}} </span> -->
......
......@@ -64,7 +64,7 @@
<li>
<img src="../../assets/img/free/gsmc.png" alt="">
<span class="c88 marginSpan">游玩时间</span>
<span>{{dataInfo.useDate}}</span>
<span>{{dataInfo.useDate | YMD}}</span>
</li>
<li>
<img src="../../assets/img/free/gmr.png" alt="">
......
......@@ -2446,6 +2446,14 @@ export default {
title: '散卖机票订单'
},
},
{ // 销售 景点门票订单
path: '/ScenTicketOrderSale',
name: 'ScenTicketOrderSale',
component: resolve => require(['@/components/SalesModule/ScenTicketOrderSale'], resolve),
meta: {
title: '景点门票订单'
},
},
{ //销售 散卖酒店订单
path: '/salesHotelOrder',
name: 'salesHotelOrder',
......
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