Commit df99e1f0 authored by 华国豪's avatar 华国豪 🙄

no message

parent 20ffa86a
<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-select v-model='msg.B2BSelectOrderState' 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.RB_Branch_Id" placeholder="请选择公司" @change="getDepartmentMsg.RB_Branch_Id = msg.RB_Branch_Id, getDepartment(),msg.RB_Department_Id = 0,msg.CreateBy = 0">
<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-input v-model='msg.ProductName' :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>游玩开始时间</em>
<el-date-picker type="date" v-model="msg.StartTime"
: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.EndTime"
:picker-options="EndTimeAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>创建开始时间</em>
<el-date-picker type="date" v-model="msg.CStartTime"
:picker-options="CStartTimeBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>创建结束时间</em>
<el-date-picker type="date" v-model="msg.CEndTime"
:picker-options="CEndTimeAfter" 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>
<th>创建人</th>
<th>结束时间</th>
<th>操作</th>
</tr>
<tbody v-for="(item,index) in dataList">
<tr>
<td style="border-bottom:2px solid #333" rowspan="2">{{item.OrderID}}</td>
<td>{{item.ThirdOrderNo}}</td>
<td>{{item.Number}}</td>
<td>{{item.TotalPrice}}</td>
<td>{{item.Income}}</td>
<td>{{item.RedEnvelopeMoney}}</td>
<td>{{item.DiscountMoney}}</td>
<td>{{item.DueinMoney}}</td>
<td>
<span :class="item.OrderStatus=='已取消'?'color_red_order':''">{{item.OrderStatus}}</span>
</td>
<td>{{item.CreateDateStr}}</td>
<td>{{item.CheckInStr}}</td>
<td>{{item.CancelFee}}</td>
<td>{{item.CustomerName}}/{{item.CustomerPhone}}</td>
<td>{{item.CreateByStr}}</td>
<td>{{item.EndTime}}</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.OrderID)"></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="9" style="text-align:left;width:600px">
<div class="SH_OrderDan">
<div>收款单据:</div>
<div>
<span v-for="subItem in item.FinanceList">
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-if="subItem.ColorState===1" class="groupTourOrder_tickets_blue">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===2" class="groupTourOrder_tickets_green">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===3" class="groupTourOrder_tickets_red">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===4" class="groupTourOrder_tickets_black">{{subItem.FrID}}</span>
</span>
<span v-if="item.FinanceList==0">暂无数据</span>
</div>
</div>
<div class="SH_OrderDan">
<div>付款单据:</div>
<div>
<span v-for="subItem in item.RefundFinanceList">
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-if="subItem.ColorState===1" class="groupTourOrder_tickets_blue">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===2" class="groupTourOrder_tickets_green">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===3" class="groupTourOrder_tickets_red">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===4" class="groupTourOrder_tickets_black">{{subItem.FrID}}</span>
</span>
<span v-if="item.RefundFinanceList==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,
B2BSelectOrderState:0,
RB_Branch_Id:-1,
RB_Department_Id:0,
CreateBy:0,
HotelName:'',
StartTime:'',
EndTime:'',
CStartTime:'',
CEndTime:''
},
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
},{
Name:'取消',
Id:3
}],
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: 'freeTravelOrderDetails',
query: {
ID: ID,
blank:'y',
}
})
},
getList() {
//获取列表
this.loading = true;
this.apipost(
"sellorder_post_GetAllKKDayOrderList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
console.log(this.dataList,'datalist');
let userInfo = this.getLocalStorage();
let EmployeeId = userInfo.EmployeeId;
this.dataList.forEach(x=>{
if((x.CreateBy == EmployeeId ||EmployeeId == 1 || EmployeeId == 5) && x.IsCanOrder == 0){
x.ShowBtn = true;
}else{
x.ShowBtn = false;
}
})
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
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.OrderID,
OrderSource: 15,
Obj: {},
SourceID:null,
TCIDList: TCIDARR
}
this.$router.push({
name: 'ChoiceAddFinancialDocuments',
query:{
"Type":1,
"companyID":obj.RB_Branch_id,
"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.CreateBy = userInfo.EmployeeId;
// this.getCompanyList()
// this.getDepartment()
// this.getEmployee()
this.getList();
}
};
</script>
<template>
<div id="app" class="commonF FreeInfo" style="padding-bottom:20px">
<div class="w1200">
<el-row>
<el-col class="Left" :span="6">
<div style="border:1px solid #E0E0E0;margin-top:20px;">
<div class="imgDiv"><img style="width:100%;height:100%" :src="ImgSrc" :onerror="defaultImg" alt=""></div>
<p class="cee f20" style="padding:16px">
{{oldModel.ProductName}}
</p>
<p class="f14" style="padding:6px 16px"><span class="c99">日期</span><span class="c66" style="margin-left:20px">{{oldModel.StartDate}}</span></p>
<el-row class="f14" style="padding:6px 16px">
<el-col :span="4">
<span class="c99">人数</span>
</el-col>
<el-col class="c66" :span="20">
<p v-if="jo.price1_qty>0" style="margin-bottom:6px">成人 x {{jo.price1_qty}}</p>
<p v-if="jo.price2_qty>0" style="margin-bottom:6px">儿童 x {{jo.price2_qty}}</p>
<p v-if="jo.price3_qty>0" style="margin-bottom:6px">婴儿 x {{jo.price3_qty}}</p>
<p v-if="jo.price4_qty>0" style="margin-bottom:6px">老人 x {{jo.price4_qty}}</p>
</el-col>
</el-row>
</div>
<div class="commomStyle">
<div class="titleDiv">
<!-- <span class="redSpan"></span> -->
<el-row>
<el-col :span="12"><span class="f18 pfR">订单总额</span></el-col>
<el-col :span="12"><span class="f18 cee">{{oldModel.TotalPrice}}</span></el-col>
</el-row>
</div>
<ul class="fysm f14" style="padding:20px">
<div v-if="oldModel.OldContent">
<el-row v-if="jo.price1_qty>0" style="margin-bottom:7px">
<el-col :span="6">成人 x {{jo.price1_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price1_b2c}}</el-col>
</el-row>
<el-row v-if="jo.price2_qty>0" style="margin-bottom:7px">
<el-col :span="6">儿童 x {{jo.price2_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price2_b2c}}</el-col>
</el-row>
<el-row v-if="jo.price3_qty>0" style="margin-bottom:7px">
<el-col :span="6">婴儿 x {{jo.price3_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price2_b2c}}</el-col>
</el-row>
<el-row v-if="jo.price4_qty>0" style="margin-bottom:7px">
<el-col :span="6">老人 x {{jo.price4_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price2_b2c}}</el-col>
</el-row>
</div>
<div class="f14" >
<el-row style="margin-bottom:7px">
<el-col :span="6">优惠金额</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.DiscountMoney}}</el-col>
</el-row>
</div>
</ul>
</div>
</el-col>
<el-col :span="1">
&nbsp;
</el-col>
<el-col class="Right" :span="17">
<div class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span v-if="oldModel.OrderStatus!=2" class="f18 pfR">订单编号:{{oldModel.OrderID}}</span>
<span class="f18 cee pfR" v-if="oldModel.OrderStatus==2">订单已取消</span>
</div>
<ul class="fysm f14" style="padding:20px;position:relative">
<li>
<img src="../../../assets/img/free/cp.png" alt="">
<span class="c88 marginSpan">产品编号</span>
<span>{{jo.prod_no}}</span>
</li>
<li>
<img src="../../../assets/img/free/gsmc.png" alt="">
<span class="c88 marginSpan">产品名称</span>
<span>{{jo.prod_name}}</span>
</li>
<li>
<img src="../../../assets/img/free/gmr.png" alt="">
<span class="c88" style="margin:0 29px 0 6px;">购买人</span>
<span>{{jo.buyer_last_name}}{{jo.buyer_first_name}}</span>
</li>
<li>
<img src="../../../assets/img/free/yx.png" alt="">
<span class="c88 marginSpan">电子邮箱</span>
<span>{{jo.buyer_Email}}</span>
</li>
<li>
<img src="../../../assets/img/free/dh.png" alt="">
<span class="c88 marginSpan">联系电话</span>
<span>{{jo.buyer_tel_number}}</span>
</li>
<li>
<img src="../../../assets/img/free/dgrq.png" alt="">
<span class="c88 marginSpan">订购日期</span>
<span>{{jo.order_date}}</span>
</li>
</ul>
</div>
<div class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span class="f18 pfR">行程介绍</span>
</div>
<div style="padding:20px">
<div class="f12">
<div style="margin-bottom:20px;line-height:2">
{{dataDetail.prod_desc}}
</div>
<p class="f14 pfR" style="color:#000000;margin-bottom:15px" v-if="dataDetail.tour_list.length>0">行程列表</p>
<div v-for="(item,index) in dataDetail.tour_list" :key="index+100">
<p style="margin-top:10px">{{item.tour_day}}</p>
<p style="padding:8px 0">说明{{item.tour_desc}}</p>
<div v-if="item.photo_url&&item.photo_url!=''">
<img style="width:100%;height: auto;display:block" :src="item.photo_url" alt="">
</div>
</div>
<div v-if="dataDetail.meal_list">
<p class="f14 pfR" style="color:#000000;margin-bottom:15px" v-if="dataDetail.meal_list.length>0">餐食列表</p>
<div v-for="(item,index) in dataDetail.meal_list" :key="index+100">
<p>行程第{{item.tour_day}}天提供餐食</p>
<p style="padding:8px 0">
<span>早餐:{{item.is_breakfast}}</span>
<span>午餐:{{item.is_lunch}}</span>
<span>晚餐:{{item.is_dinner}}</span>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span class="f18 pfR">注意事项</span>
</div>
<div class="f12" style="padding:20px">
<p v-for="(item,index) in dataDetail.remind_list" :key="index+50"><span class="f26 pfR">.</span>{{item.remind_desc}}</p>
</div>
</div>
<div v-if="dataDetail.prod_tips!=''" class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span class="f18 pfR">温馨提示</span>
</div>
<div class="f12" style="padding:20px">
<div>{{dataDetail.prod_tips}}</div>
</div>
</div>
</el-col>
</el-row>
</div>
<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 {
defaultImg: 'this.src="' + require('../../../assets/img/bg_c2@3x.png') + '"',
dialogFormVisible:false,
exitMsg:{
orderId:'',
cancel_type:"",
cancel_desc:"",
CancelBy:'',
},
msg:{
orderId:'',
},
payInfoObj:{},
oldModel:{},
jo:{},
DomainUrl:"",
dataDetail:{
tour_list:[],
},
IsCanOrder:-1,
payInfoGo:{},
ImgSrc:'',
}
},
created(){
if(this.$route.query.ID){
this.msg.orderId=this.$route.query.ID;
}
this.getPayInfo();
},
mounted() {
},
methods: {
Exit(){
let userInfo = this.getLocalStorage();
this.dialogFormVisible=true;
this.exitMsg.orderId=this.oldModel.OrderID;
// console.log(item);
this.exitMsg.CancelBy = userInfo.customerId;
},
ExitOrder(){
if(this.exitMsg.cancel_type==""){
this.Error("请选择取消类型!");
return;
}
this.dialogFormVisible=false;
this.apipost(
"dmc_post_Get_KKDayOrderCancel",
this.exitMsg,
res => {
// console.log("res",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);
}
},
null
);
},
getPayInfo(){
this.apipost(
"dmc_post_Get_KKDayOrderQueryOrderDtl",
this.msg,
res => {
// console.log("sfafg",res);
if (res.data.resultCode == 1) {
this.oldModel=res.data.data.oldModel;
this.jo=res.data.data.jo;
this.IsCanOrder=res.data.data.IsCanOrder;
this.payInfoGo=res.data.data;
if(this.oldModel.OldContent){
this.oldModel.OldContent=JSON.parse(this.oldModel.OldContent)
this.ImgSrc=this.oldModel.OldContent.ProductPic;
}
this.getDetails(this.oldModel.ProductNo);
} else {
this.$message.error(res.data.message);
}
},
null
);
},
getDetails(id){
this.apiJavaPost(
"/api/kkday/QueryProduct",
{
"prod_no": id ? id : "28474",
"locale":"zh-cn"
},
res => {
if (res.data.data.result === "00") {
this.DomainUrl=res.data.data.KkdayDomain;
let data = res.data.data.prod
console.log("data",data)
this.dataDetail = data;
} else {
this.Error(res.data.data.result_msg)
}
},
null
);
},
}
}
</script>
<style>
.FreeInfo .Right .btnDiv span{
display: block;
width:272px;
height:45px;
line-height:45px;
border:1px solid rgba(238, 68, 84, 1);
border-radius:4px;
margin-bottom:20px;
text-align: center;
cursor: pointer;
}
.FreeInfo .Right .btnDiv{
position: absolute;
top: 30px;
right: 20px;
}
.FreeInfo .Right .fysm li{
display: flex;
align-items: center;
margin-bottom:15px;
}
.FreeInfo .Right .marginSpan{
margin:0 15px 0 6px;
}
.FreeInfo .Left .imgDiv{
width:100%;
height:194px;
border-radius:3px;
overflow: hidden;
}
.FreeInfo .Left .imgDiv img{
width: auto!important;
}
.FreeInfo .commomStyle{
border:1px solid rgba(224, 224, 224, 1);
width:100%;
box-sizing: border-box;
margin-top: 20px;
}
.FreeInfo .commomStyle .titleDiv .redSpan{
width:4px;
height:20px;
background:rgba(238,68,84,1);
display: inline-block;
position: absolute;
left: 0;
top: 15px;
}
.FreeInfo .commomStyle .titleDiv{
width:100%;
height:50px;
line-height:50px;
border-bottom:1px solid rgba(224, 224, 224, 1);
background: #EDF4FF;
position: relative;
padding-left: 20px;
box-sizing: border-box;
}
.FreeInfo .Left .dashDiv{
border-bottom: 1px dashed #999999;
margin-top:10px;
}
</style>
<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-select v-model='msg.B2BSelectOrderState' 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.RB_Branch_Id" placeholder="请选择公司" @change="getDepartmentMsg.RB_Branch_Id = msg.RB_Branch_Id, getDepartment(),msg.RB_Department_Id = 0,msg.CreateBy = 0">
<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-input v-model='msg.ProductName' :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>游玩开始时间</em>
<el-date-picker type="date" v-model="msg.StartTime"
: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.EndTime"
:picker-options="EndTimeAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>创建开始时间</em>
<el-date-picker type="date" v-model="msg.CStartTime"
:picker-options="CStartTimeBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>创建结束时间</em>
<el-date-picker type="date" v-model="msg.CEndTime"
:picker-options="CEndTimeAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<input type="button" class="hollowFixedBtn" @click="resetPageIndex();getList(),getTotalCount()" :value="$t('pub.searchBtn')" />
</li>
</ul>
</div>
<!-- 统计版块 -->
<div class="groupTourOrder_count">
<el-row :gutter="20">
<el-col :span="5" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item HT_total">
<div>
<i class="iconfont icon-qian groupTourOrder_count_green"></i>
<span>总价</span>
</div>
<p>
<span class="groupTourOrder_count_green">总价:{{TotalMsg.totalPrice}}</span>
<span class="groupTourOrder_count_green">总收入:{{TotalMsg.totalIncomePrice}}</span>
<span class="color_red_order">待收:{{TotalMsg.totalUnreceivedPrice}}</span>
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item HT_total">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_blue"></i>
<span>数量</span>
</div>
<p>
<span class="groupTourOrder_count_green">旅客总数:{{TotalMsg.totalRoomNum}}</span>
<span class="color_red_order">取消数:{{TotalMsg.totalCancelRoomNum}}</span>
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item HT_total">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i>
<span>其他统计项</span>
</div>
<p>
<span class="groupTourOrder_count_green">内部报名:{{TotalMsg.totalERP}}</span>
<span class="color_red_order">B2B/WAP网络报名:{{TotalMsg.totalB2B}}</span>
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item HT_totalFinacel">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i>
<span>财务单据说明</span>
</div>
<p>
<span class="groupTourOrderByTuan_ico"><i style="background-color:#0000ff"></i><span>已打单</span></span>
<span class="groupTourOrderByTuan_ico"><i style="background-color:#00FF00"></i><span>平台出纳已审核</span></span>
<span class="groupTourOrderByTuan_ico"><i style="background-color:#FF0000"></i><span>银行出纳已审核</span></span>
<span class="groupTourOrderByTuan_ico"><i style="background-color:#000000"></i><span>已通过</span></span>
</p>
</div>
</el-col>
</el-row>
</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>
<th>创建人</th>
<th>结束时间</th>
<th>操作</th>
</tr>
<tbody v-for="(item,index) in dataList">
<tr>
<td style="border-bottom:2px solid #333" rowspan="2">{{item.OrderID}}</td>
<td>{{item.ThirdOrderNo}}</td>
<td>{{item.Number}}</td>
<td>{{item.TotalPrice}}</td>
<td>{{item.Income}}</td>
<td>{{item.RedEnvelopeMoney}}</td>
<td>{{item.DiscountMoney}}</td>
<td>{{item.DueinMoney}}</td>
<td>
<span :class="item.OrderStatus=='已取消'?'color_red_order':''">{{item.OrderStatus}}</span>
</td>
<td>{{item.CreateDateStr}}</td>
<td>{{item.CheckInStr}}</td>
<td>{{item.CancelFee}}</td>
<td>{{item.CustomerName}}/{{item.CustomerPhone}}</td>
<td>{{item.CreateByStr}}</td>
<td>{{item.EndTime}}</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.OrderID)"></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="9" style="text-align:left;width:600px">
<div class="SH_OrderDan">
<div>收款单据:</div>
<div>
<span v-for="subItem in item.FinanceList">
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-if="subItem.ColorState===1" class="groupTourOrder_tickets_blue">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===2" class="groupTourOrder_tickets_green">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===3" class="groupTourOrder_tickets_red">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===4" class="groupTourOrder_tickets_black">{{subItem.FrID}}</span>
</span>
<span v-if="item.FinanceList==0">暂无数据</span>
</div>
</div>
<div class="SH_OrderDan">
<div>付款单据:</div>
<div>
<span v-for="subItem in item.RefundFinanceList">
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-if="subItem.ColorState===1" class="groupTourOrder_tickets_blue">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===2" class="groupTourOrder_tickets_green">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===3" class="groupTourOrder_tickets_red">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===4" class="groupTourOrder_tickets_black">{{subItem.FrID}}</span>
</span>
<span v-if="item.RefundFinanceList==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,
B2BSelectOrderState:0,
RB_Branch_Id:-1,
RB_Department_Id:0,
CreateBy:0,
HotelName:'',
StartTime:'',
EndTime:'',
CStartTime:'',
CEndTime:''
},
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
},{
Name:'取消',
Id:3
}],
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:[],
//统计快
TotalMsg:[],
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: 'freeTravelOrderDetails',
query: {
ID: ID,
blank:'y',
}
})
},
getList() {
//获取列表
this.loading = true;
this.apipost(
"sellorder_post_GetAllKKDayOrderList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
console.log(this.dataList,'datalist');
let userInfo = this.getLocalStorage();
let EmployeeId = userInfo.EmployeeId;
this.dataList.forEach(x=>{
if((x.CreateBy == EmployeeId ||EmployeeId == 1 || EmployeeId == 5) && x.IsCanOrder == 0){
x.ShowBtn = true;
}else{
x.ShowBtn = false;
}
})
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//获取统计数据
getTotalCount(){
this.apipost(
"sellorder_post_GetAllKKDayStatisticsList",
this.msg,
res => {
if (res.data.resultCode == 1) {
this.TotalMsg = res.data.data;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
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.OrderID,
OrderSource: 15,
Obj: {},
SourceID:null,
TCIDList: TCIDARR
}
this.$router.push({
name: 'ChoiceAddFinancialDocuments',
query:{
"Type":1,
"companyID":obj.RB_Branch_id,
"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.getCompanyList()
this.getDepartment()
this.getEmployee()
this.getList();
this.getTotalCount();
}
};
</script>
<template>
<div id="app" class="commonF FreeInfo" style="padding-bottom:20px">
<div class="w1200">
<el-row>
<el-col class="Left" :span="6">
<div style="border:1px solid #E0E0E0;margin-top:20px;">
<div class="imgDiv"><img style="width:100%;height:100%" :src="ImgSrc" :onerror="defaultImg" alt=""></div>
<p class="cee f20" style="padding:16px">
{{oldModel.ProductName}}
</p>
<p class="f14" style="padding:6px 16px"><span class="c99">日期</span><span class="c66" style="margin-left:20px">{{oldModel.StartDate}}</span></p>
<el-row class="f14" style="padding:6px 16px">
<el-col :span="4">
<span class="c99">人数</span>
</el-col>
<el-col class="c66" :span="20">
<p v-if="jo.price1_qty>0" style="margin-bottom:6px">成人 x {{jo.price1_qty}}</p>
<p v-if="jo.price2_qty>0" style="margin-bottom:6px">儿童 x {{jo.price2_qty}}</p>
<p v-if="jo.price3_qty>0" style="margin-bottom:6px">婴儿 x {{jo.price3_qty}}</p>
<p v-if="jo.price4_qty>0" style="margin-bottom:6px">老人 x {{jo.price4_qty}}</p>
</el-col>
</el-row>
</div>
<div class="commomStyle">
<div class="titleDiv">
<!-- <span class="redSpan"></span> -->
<el-row>
<el-col :span="12"><span class="f18 pfR">订单总额</span></el-col>
<el-col :span="12"><span class="f18 cee">{{oldModel.TotalPrice}}</span></el-col>
</el-row>
</div>
<ul class="fysm f14" style="padding:20px">
<div v-if="oldModel.OldContent">
<el-row v-if="jo.price1_qty>0" style="margin-bottom:7px">
<el-col :span="6">成人 x {{jo.price1_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price1_b2c}}</el-col>
</el-row>
<el-row v-if="jo.price2_qty>0" style="margin-bottom:7px">
<el-col :span="6">儿童 x {{jo.price2_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price2_b2c}}</el-col>
</el-row>
<el-row v-if="jo.price3_qty>0" style="margin-bottom:7px">
<el-col :span="6">婴儿 x {{jo.price3_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price2_b2c}}</el-col>
</el-row>
<el-row v-if="jo.price4_qty>0" style="margin-bottom:7px">
<el-col :span="6">老人 x {{jo.price4_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price2_b2c}}</el-col>
</el-row>
</div>
<div class="f14" >
<el-row style="margin-bottom:7px">
<el-col :span="6">优惠金额</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.DiscountMoney}}</el-col>
</el-row>
</div>
</ul>
</div>
</el-col>
<el-col :span="1">
&nbsp;
</el-col>
<el-col class="Right" :span="17">
<div class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span v-if="oldModel.OrderStatus!=2" class="f18 pfR">订单编号:{{oldModel.OrderID}}</span>
<span class="f18 cee pfR" v-if="oldModel.OrderStatus==2">订单已取消</span>
</div>
<ul class="fysm f14" style="padding:20px;position:relative">
<li>
<img src="../../../assets/img/free/cp.png" alt="">
<span class="c88 marginSpan">产品编号</span>
<span>{{jo.prod_no}}</span>
</li>
<li>
<img src="../../../assets/img/free/gsmc.png" alt="">
<span class="c88 marginSpan">产品名称</span>
<span>{{jo.prod_name}}</span>
</li>
<li>
<img src="../../../assets/img/free/gmr.png" alt="">
<span class="c88" style="margin:0 29px 0 6px;">购买人</span>
<span>{{jo.buyer_last_name}}{{jo.buyer_first_name}}</span>
</li>
<li>
<img src="../../../assets/img/free/yx.png" alt="">
<span class="c88 marginSpan">电子邮箱</span>
<span>{{jo.buyer_Email}}</span>
</li>
<li>
<img src="../../../assets/img/free/dh.png" alt="">
<span class="c88 marginSpan">联系电话</span>
<span>{{jo.buyer_tel_number}}</span>
</li>
<li>
<img src="../../../assets/img/free/dgrq.png" alt="">
<span class="c88 marginSpan">订购日期</span>
<span>{{jo.order_date}}</span>
</li>
</ul>
</div>
<div class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span class="f18 pfR">行程介绍</span>
</div>
<div style="padding:20px">
<div class="f12">
<div style="margin-bottom:20px;line-height:2">
{{dataDetail.prod_desc}}
</div>
<p class="f14 pfR" style="color:#000000;margin-bottom:15px" v-if="dataDetail.tour_list.length>0">行程列表</p>
<div v-for="(item,index) in dataDetail.tour_list" :key="index+100">
<p style="margin-top:10px">{{item.tour_day}}</p>
<p style="padding:8px 0">说明{{item.tour_desc}}</p>
<div v-if="item.photo_url&&item.photo_url!=''">
<img style="width:100%;height: auto;display:block" :src="item.photo_url" alt="">
</div>
</div>
<div v-if="dataDetail.meal_list">
<p class="f14 pfR" style="color:#000000;margin-bottom:15px" v-if="dataDetail.meal_list.length>0">餐食列表</p>
<div v-for="(item,index) in dataDetail.meal_list" :key="index+100">
<p>行程第{{item.tour_day}}天提供餐食</p>
<p style="padding:8px 0">
<span>早餐:{{item.is_breakfast}}</span>
<span>午餐:{{item.is_lunch}}</span>
<span>晚餐:{{item.is_dinner}}</span>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span class="f18 pfR">注意事项</span>
</div>
<div class="f12" style="padding:20px">
<p v-for="(item,index) in dataDetail.remind_list" :key="index+50"><span class="f26 pfR">.</span>{{item.remind_desc}}</p>
</div>
</div>
<div v-if="dataDetail.prod_tips!=''" class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span class="f18 pfR">温馨提示</span>
</div>
<div class="f12" style="padding:20px">
<div>{{dataDetail.prod_tips}}</div>
</div>
</div>
</el-col>
</el-row>
</div>
<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 {
defaultImg: 'this.src="' + require('../../../assets/img/bg_c2@3x.png') + '"',
dialogFormVisible:false,
exitMsg:{
orderId:'',
cancel_type:"",
cancel_desc:"",
CancelBy:'',
},
msg:{
orderId:'',
},
payInfoObj:{},
oldModel:{},
jo:{},
DomainUrl:"",
dataDetail:{
tour_list:[],
},
IsCanOrder:-1,
payInfoGo:{},
ImgSrc:'',
}
},
created(){
if(this.$route.query.ID){
this.msg.orderId=this.$route.query.ID;
}
this.getPayInfo();
},
mounted() {
},
methods: {
Exit(){
let userInfo = this.getLocalStorage();
this.dialogFormVisible=true;
this.exitMsg.orderId=this.oldModel.OrderID;
// console.log(item);
this.exitMsg.CancelBy = userInfo.customerId;
},
ExitOrder(){
if(this.exitMsg.cancel_type==""){
this.Error("请选择取消类型!");
return;
}
this.dialogFormVisible=false;
this.apipost(
"dmc_post_Get_KKDayOrderCancel",
this.exitMsg,
res => {
// console.log("res",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);
}
},
null
);
},
getPayInfo(){
this.apipost(
"dmc_post_Get_KKDayOrderQueryOrderDtl",
this.msg,
res => {
// console.log("sfafg",res);
if (res.data.resultCode == 1) {
this.oldModel=res.data.data.oldModel;
this.jo=res.data.data.jo;
this.IsCanOrder=res.data.data.IsCanOrder;
this.payInfoGo=res.data.data;
if(this.oldModel.OldContent){
this.oldModel.OldContent=JSON.parse(this.oldModel.OldContent)
this.ImgSrc=this.oldModel.OldContent.ProductPic;
}
this.getDetails(this.oldModel.ProductNo);
} else {
this.$message.error(res.data.message);
}
},
null
);
},
getDetails(id){
this.apiJavaPost(
"/api/kkday/QueryProduct",
{
"prod_no": id ? id : "28474",
"locale":"zh-cn"
},
res => {
if (res.data.data.result === "00") {
this.DomainUrl=res.data.data.KkdayDomain;
let data = res.data.data.prod
console.log("data",data)
this.dataDetail = data;
} else {
this.Error(res.data.data.result_msg)
}
},
null
);
},
}
}
</script>
<style>
.FreeInfo .Right .btnDiv span{
display: block;
width:272px;
height:45px;
line-height:45px;
border:1px solid rgba(238, 68, 84, 1);
border-radius:4px;
margin-bottom:20px;
text-align: center;
cursor: pointer;
}
.FreeInfo .Right .btnDiv{
position: absolute;
top: 30px;
right: 20px;
}
.FreeInfo .Right .fysm li{
display: flex;
align-items: center;
margin-bottom:15px;
}
.FreeInfo .Right .marginSpan{
margin:0 15px 0 6px;
}
.FreeInfo .Left .imgDiv{
width:100%;
height:194px;
border-radius:3px;
overflow: hidden;
}
.FreeInfo .Left .imgDiv img{
width: auto!important;
}
.FreeInfo .commomStyle{
border:1px solid rgba(224, 224, 224, 1);
width:100%;
box-sizing: border-box;
margin-top: 20px;
}
.FreeInfo .commomStyle .titleDiv .redSpan{
width:4px;
height:20px;
background:rgba(238,68,84,1);
display: inline-block;
position: absolute;
left: 0;
top: 15px;
}
.FreeInfo .commomStyle .titleDiv{
width:100%;
height:50px;
line-height:50px;
border-bottom:1px solid rgba(224, 224, 224, 1);
background: #EDF4FF;
position: relative;
padding-left: 20px;
box-sizing: border-box;
}
.FreeInfo .Left .dashDiv{
border-bottom: 1px dashed #999999;
margin-top:10px;
}
</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