Commit 1a024d62 authored by 罗超's avatar 罗超

no message

parent cfba1324
<style>
@import '../../assets/css/customerManage.css';
.query-box .el-col-4 {
display: flex;
align-items: center;
margin-bottom: 15px;
}
/* .query-box .el-col-4>span.font-size-12 {
flex: 1 !important;
}
.query-box .el-col-4>div,
.query-box .el-col-4>span {
flex: 4
}
.el-table__fixed-body-wrapper table {
padding-bottom: 8px !important;
} */
.statistics{
background: #fff;
display: flex;
justify-content: space-between;
}
.statistics-box{
flex: 1;
padding: 10px 20px;
background-color: #DDDEE0;
display: flex;
flex-wrap: wrap;
justify-content: center;
border-radius: 5px;
margin-right: 10px;
}
.statistics-box:last-child{
margin-right: 0;
}
.statistics-box span:first-child{
font-weight: bold;
margin-right: 5px;
flex-shrink: 0;
}
.red{
color: #F72E52;
}
.blue{
color: #3A7CF7;
}
.status-box{
display: flex;
flex-direction: row;
justify-content: flex-end;
}
.status-text{
display: flex;
flex-direction: row;
align-items: center;
margin-left: 15px;
}
.tis-k{
width: 10px;
height: 10px;
margin-right: 10px;
}
</style>
<template>
<div class="customerManage">
<div class="tools">
<h1>订单管理</h1>
</div>
<div class="query-box">
<el-row :gutter="30">
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">订单号</span>
<el-input size="mini" class="w210" v-model="msg.OrderId" placeholder="请输入订单号"
@keyup.enter.native="getList"></el-input>
</el-col>
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">客人姓名</span>
<el-input size="mini" class="w210" v-model="msg.GusetName" placeholder="请输入客人姓名"
@keyup.enter.native="getList"></el-input>
</el-col>
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">客人id</span>
<el-input size="mini" class="w210" v-model="msg.GuestId" placeholder="请输入客人id"
@keyup.enter.native="getList"></el-input>
</el-col>
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">出发城市</span>
<el-input size="mini" class="w210" v-model="msg.StartCityName" placeholder="请输入出发城市"
@keyup.enter.native="getList"></el-input>
</el-col>
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">到达城市</span>
<el-input size="mini" class="w210" v-model="msg.EndCityName" placeholder="请输入到达城市"
@keyup.enter.native="getList"></el-input>
</el-col>
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">业务员id</span>
<el-input size="mini" class="w210" v-model="msg.EnterID" placeholder="请输入业务员id"
@keyup.enter.native="getList"></el-input>
</el-col>
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">出票状态</span>
<el-select size="mini" v-model="msg.TicketStatus" @change="getList">
<el-option v-for="(item,index) in ticketingStatusList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
</el-select>
</el-col>
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">订单状态</span>
<el-select size="mini" v-model="msg.OrderStatus" @change="getList">
<el-option v-for="(item,index) in OrderStatusList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
</el-select>
</el-col>
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">收款状态</span>
<el-select size="mini" v-model="msg.Q_IsCollect" @change="getList">
<el-option v-for="(item,index) in QIsCollectList"
:key="index"
:label="item.Name" :value="item.Id"> </el-option>
</el-select>
</el-col>
<el-col :span="4">
<span class="font-size-12" style="padding-right: 10px">报名时间</span>
<el-date-picker
v-model="timeList"
@change="getList"
size="mini"
style="width: 100%;"
value-format="yyyy-MM-dd"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-col>
</el-row>
</div>
<div class="statistics">
<div class="statistics-box">
<span>应收</span>
<span>{{StatModel.Money}}</span>
</div>
<div class="statistics-box">
<span>实收</span>
<span>{{StatModel.IncomeMoney}}</span>
</div>
<div class="statistics-box">
<span>退款</span>
<span class="red">{{StatModel.BackMoney}}</span>
</div>
<div class="statistics-box">
<span>手续费</span>
<span>{{StatModel.TaxMoney}}</span>
</div>
<div class="statistics-box">
<span>成本</span>
<span>{{StatModel.PayMoney}}</span>
</div>
<div class="statistics-box">
<span>待收</span>
<span>{{StatModel.DueinMoney}}</span>
</div>
<div class="statistics-box">
<span>报名数</span>
<span class="blue">{{StatModel.NorNumber}}</span>
</div>
<div class="statistics-box">
<span>取消数</span>
<span class="red">{{StatModel.CancelNum}}</span>
</div>
<!-- <el-row :gutter="30">
<el-col :span="3">
<div class="statistics-box">
<span>应收</span>
<span>{{StatModel.Money}}</span>
</div>
</el-col>
<el-col :span="3">
<div class="statistics-box">
<span>实收</span>
<span>{{StatModel.IncomeMoney}}</span>
</div>
</el-col>
<el-col :span="3">
<div class="statistics-box">
<span>退款</span>
<span class="red">{{StatModel.BackMoney}}</span>
</div>
</el-col>
<el-col :span="3">
<div class="statistics-box">
<span>手续费</span>
<span>{{StatModel.TaxMoney}}</span>
</div>
</el-col>
<el-col :span="3">
<div class="statistics-box">
<span>成本</span>
<span>{{StatModel.PayMoney}}</span>
</div>
</el-col>
<el-col :span="3">
<div class="statistics-box">
<span>待收</span>
<span>{{StatModel.DueinMoney}}</span>
</div>
</el-col>
<el-col :span="3">
<div class="statistics-box">
<span>报名数</span>
<span class="blue">{{StatModel.NorNumber}}</span>
</div>
</el-col>
<el-col :span="3">
<div class="statistics-box">
<span>取消数</span>
<span class="red">{{StatModel.CancelNum}}</span>
</div>
</el-col>
</el-row> -->
</div>
<div class="query-box status-box">
<!-- <div class="status-text">
<div class="tis-k" style="background: #2961FE"></div>
<span>已打单</span>
</div>
<div class="status-text">
<div class="tis-k" style="background: #F28C1D"></div>
<span>银行出纳已审核</span>
</div>
<div class="status-text">
<div class="tis-k" style="background: #3FC4FF"></div>
<span>已通过</span>
</div> -->
</div>
<orderList :dataList="dataList" :loading="loading" @emptyMore="emptyMore"></orderList>
<div>
<el-pagination class="Mypagination" background @current-change="handleCurrentChange"
:page-sizes="[30, 60, 90, 100]" :page-size="msg.pageSize" layout="sizes, prev, pager, next"
@size-change="handleSizeChange" :total="total">
</el-pagination>
</div>
</div>
</template>
<script>
import orderList from "./orderList";
export default {
components: {
orderList
},
data() {
return {
StatModel:{},// 合计
loading:false,
total:0,
dataList:[],
timeList:[],//时间
msg: {
pageIndex: 1,
pageSize: 15,
OrderId:"",//订单id
GusetName:"",//客人姓名
GuestId:"",//客人id
StartCityName:"",//出发城市
EndCityName:"",//到达城市
EnterID:"",//业务员id
TicketStatus:"0",//出票状态
OrderStatus:"1",//订单状态
Q_IsCollect:"0",//收款状态
StartTime:"",
EndTime:""
},
ticketingStatusList:[],// 出票状态
OrderStatusList:[
{Name:'正常',Id:'1'},
{Name:'取消',Id:'2'}
],
QIsCollectList:[
{Name:'不限',Id:'0'},
{Name:'已收齐',Id:'1'},
{Name:'未收齐',Id:'2'}
]
}
},
mounted() {
this.GetTicketStatusEnumList()
this.getList()
},
methods: {
// 清空下拉
emptyMore(){
this.dataList.forEach(item=>{
return item.More = ''
})
},
// 获取出票状态枚举
GetTicketStatusEnumList(){
this.apipost(
"/api/Order/GetTicketStatusEnumList",
{},
(res) => {
if (res.data.resultCode == 1) {
this.ticketingStatusList = res.data.data;
let data = {
Name:'全部',
Id:'0'
}
this.ticketingStatusList.unshift(data)
} else {
this.$message.error(res.data.message);
}
}
);
},
getList(){
this.loading = true;
this.msg.StartTime = this.timeList[0]
this.msg.EndTime = this.timeList[1]
this.apipost(
"/api/Order/GetGuestOrderStatisticsPageList",
this.msg,
(res) => {
if (res.data.resultCode == 1) {
let data = res.data.data.Data.pageData;
let addList = function(arr) {
arr.forEach(item => {
item.More = ''
});
};
addList(data);
this.dataList = res.data.data.Data.pageData;
this.total = res.data.data.Data.count;
this.StatModel = res.data.data.StatModel
this.loading = false
} else {
this.$message.error(res.data.message);
}
}
);
},
handleSizeChange(val) {
this.msg.pageSize = val
this.getList();
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
}
}
</script>
\ No newline at end of file
<!--订单列表-->
<template>
<div class="classorder">
<div class="table-head">
<table class="enrollTotalSearchTable" border="0" cellspacing="0" cellpadding="0">
<colgroup>
<col width="12%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="100px"/>
</colgroup>
<thead>
<tr class="fix_th">
<th width="12%">单号</th>
<th width="6.5%">客人</th>
<th width="6.5%">人数</th>
<th width="6.5%">起始城市</th>
<th width="6.5%">应收</th>
<th width="6.5%">实收</th>
<th width="6.5%">退款</th>
<th width="6.5%">成本</th>
<th width="6.5%">手续费</th>
<th width="6.5%">待收</th>
<th width="6.5%">出票状态</th>
<th width="6.5%">订单状态</th>
<th width="6.5%">创建人</th>
<th width="100px">操作</th>
</tr>
</thead>
</table>
</div>
<div class="table-body" v-loading="loading">
<table class="enrollTotalSearchTable" border="0" cellspacing="0" cellpadding="0">
<colgroup>
<col width="12%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="6.5%" />
<col width="100px"/>
</colgroup>
<template>
<tbody v-for="(item, index) in dataList" :key="index">
<tr>
<td :rowspan="3">
<p class="OrderId-text">{{item.OrderId}}</p>
<p class="CreateByName-text">{{item.CreateByName}}</p>
<p class="CreateByName-text">业务员:<span class="colorblue">{{item.EnterName}}</span></p>
<p>{{item.CreateTime}}</p>
</td>
<td style="border:none" min-width="6.5%">{{item.GuestName}}
<p>{{item.MobilePhone}}</p>
</td>
<td style="border:none">{{item.GuestCount}}</td>
<td style="border:none">
{{item.StartCityName}}
{{item.EndCityName}}
</td>
<td style="border:none">
<p @click="editOrderAmount(item)" class="cp"
:class="item.TicketStatus==1&&item.OrderStatus==1?'font-color-link':''">{{item.Money}}</p>
</td>
<td style="border:none">
{{item.IncomeMoney}}
</td>
<td style="border:none">
{{item.BackMoney}}
</td>
<td style="border:none">
{{item.BackMoney}}
</td>
<td style="border:none">
{{item.PayMoney}}
</td>
<td style="border:none">
{{item.DueinMoney}}
</td>
<td style="border:none">
<p @click="modifyStatus(item)"
class="cp tatusText"
:class="item.TicketStatus==1?'grey':
(item.TicketStatus==2?'success':
(item.TicketStatus==3?'error':
(item.TicketStatus==4?'Black':'')))">
{{item.TicketStatusName}}
</p>
</td>
<td style="border:none">
<div style="background: rgba(2, 196, 153, 0.2);width: 80px;border-radius: 2px;text-align: center"
:style="{background:item.OrderStatus==1?'rgba(2, 196, 153, 0.2)':'rgba(0, 0, 0, 0.2)'}">
<span :style="{color: item.OrderStatus==1?'#02C499':''}">{{item.OrderStatus==1?"正常":"取消"}}</span>
</div>
</td>
<td style="border:none">
{{item.CreateByName}}
</td>
<td style="border:none;width:150px">
<div class="enedit-box">
<el-tooltip
class="item-but" effect="dark" content="编辑订单" placement="top">
<i class="iconfont iconwenbenbianji cp" @click="editOrder(item)"></i>
</el-tooltip>
<div>
<el-select style="width:130px" class="select-right"
clearable
size="mini"
v-model="item.More" placeholder="更多"
@change="chooseMore(item)">
<el-option
v-for="item in MoreList"
:key="item.Id"
:label="item.Name"
:value="item.Id">
</el-option>
</el-select>
</div>
</div>
</td>
</tr>
<tr>
<td :colspan="8" style="height: 168px;text-align: left">
<div>备注:</div>
<div class="remarks-b">
<div v-if="item.Remark != null || item.Remark != ''">
<div>{{ item.Remark }}</div>
</div>
<span v-if="item.Remark == null || item.Remark == ''">暂无</span>
</div>
</td>
<td :colspan="5" style="height: 168px;text-align: left">
<div class="documents-text">
<div class="documents-left">
<div>收入单据:</div>
<span
v-for="(item,index) in item.IncomeFinance" :key="index" >{{item.FrID}}</span>
</div>
<div class="documents-right">
<el-tooltip
class="item-but" effect="dark" content="制单" placement="top">
<i class="iconfont iconwenbenbianji cp blue" @click="makeAdocument(item)"></i>
</el-tooltip>
</div>
</div>
<div class="documents-text">
<div class="documents-left">
<div>退款单据:</div>
<span
v-for="(item,index) in item.BackFinance" :key="index" >{{item.FrID}}</span>
</div>
<div class="documents-right">
<el-tooltip
class="item-but" effect="dark" content="制单" placement="top">
<i class="iconfont iconwenbenbianji cp blue" @click="makeAdocument(item)"></i>
</el-tooltip>
</div>
</div>
<div class="documents-text">
<div class="documents-left">
<div>成本单据:</div>
<span
v-for="(item,index) in item.PayFinance" :key="index">{{item.FrID}}</span>
</div>
<div class="documents-right">
<el-tooltip
class="item-but" effect="dark" content="制单" placement="top">
<i class="iconfont iconwenbenbianji cp blue" @click="makeAdocument(item)"></i>
</el-tooltip>
</div>
</div>
</td>
<!-- <td :colspan="3" style="height: 168px;text-align: left">
<div class="documents-text num">
<div>实收:</div>
<el-tooltip class="item" effect="dark" content="实收制单" placement="top-start">
<span @click="makeAdocument(item,1)">{{item.IncomeMoney}}</span>
</el-tooltip>
</div>
<div class="documents-text num">
<div>退款:</div>
<el-tooltip class="item" effect="dark" content="退款制单" placement="top-start">
<span @click="makeAdocument(item,2)">{{item.BackMoney}}</span>
</el-tooltip>
</div>
<div class="documents-text num">
<div>成本:</div>
<el-tooltip class="item" effect="dark" content="成本制单" placement="top-start">
<span @click="makeAdocument(item,3)">{{item.PayMoney}}</span>
</el-tooltip>
</div>
</td> -->
</tr>
</tbody>
</template>
<!--取消订单-->
</table>
</div>
</div>
</template>
<script>
export default {
components: {
},
props: {
//订单
dataList: {
type: Array,
default: null
},
loading: {
type: Boolean,
default: false,
}
},
data() {
return {
userInfo:{},
MoreList:[
{Name:'编辑订单金额',Id:'5'},
{Name:'取消订单',Id:'1'},
{Name:'订单转换',Id:'2'},
{Name:'修改出票状态',Id:'4'},
{Name:'操作日志',Id:'3'},
],
clickMore:''
};
},
created() {
},
watch: {
loading:{
handler(val, oldVal){
this.loading = val
},
deep:true
}
},
mounted() {
this.userInfo = this.getLocalStorage();
},
methods: {
chooseMore(row){
// 取消订单
if(row.More=='1'){
this.cancelOrder(row)
}
// 订单转换
if(row.More=='2'){
this.convertOrder(row)
}
// 操作日志
if(row.More=='3'){
this.operationLog(row)
}
// 修改出票状态
if(row.More=='4'){
this.modifyStatus(row)
}
// 编辑订单金额
if(row.More=='5'){
this.editOrderAmount(row)
}
},
// 转换订单
convertOrder(row){
this.MsgBus.$emit("convertOrderTicketOrderBoxOpen", row.GuestId, row, true);
},
// 验证操作员
ValidateOperator(){
let tips = '您没有操作权限'
this.$confirm('此订单'+tips+'!', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$emit('emptyMore')
}).catch(() => {
this.$emit('emptyMore')
});
},
// 制作单据
makeAdocument(row,num){
if(this.userInfo.EmName!=row.EnterName){
this.ValidateOperator()
}else{
let type
type = num==1? 1:2 // 1收款 2退款 3成本
let href
let url
if(this.isOnline()){
url = 'http://yx.oytour.com/#/'
}else{
url = 'http://www.test.com:8080/#/'
}
let data = [
{
path:'ChoiceAddFinancialDocuments',
type: type,
OtherType: 55,
ReFinanceId: row.OrderId,
ReFinanceId2: num,
GuestId: row.GuestId
}
]
href = url+'automaticLogin?token='+this.getLocalStorage().token+'&data=' + JSON.stringify(data)
window.open(href);
}
},
// 操作日志
operationLog(row){
this.MsgBus.$emit("logTicketOrderBoxOpen", row.GuestId, row, true);
},
// 修改出票状态
modifyStatus(row){
if(this.userInfo.EmName!=row.EnterName){
this.ValidateOperator()
}else{
if(row.OrderStatus==2){
let tips = '该订单已取消,不能修改出票状态'
this.$confirm(tips, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$emit('emptyMore')
}).catch(() => {
this.$emit('emptyMore')
});
}else{
if(row.TicketStatus==3){
return
}else if(row.TicketStatus==4){
return
}else{
this.MsgBus.$emit("reviseTicketOrderBoxOpen", row.GuestId, row, true);
}
}
}
},
// 取消订单
cancelOrder(row){
if(this.userInfo.EmName!=row.EnterName){
this.ValidateOperator()
}else{
let tips = '此操作将取消该订单,是否继续取消?'
this.$confirm(tips, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apipost('/api/Order/SetGuestOrderState', {
OrderId: row.OrderId,
Type: '1',
}, res=>{
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.getList()
}
})
}).catch(() => {
this.$emit('emptyMore')
this.$message({
type: 'info',
message: '已取消'
});
});
}
},
// 编辑订单
editOrder(row){
if(this.userInfo.EmName!=row.EnterName){
this.ValidateOperator()
}else{
if(row.TicketStatus==1&&row.OrderStatus==1){
this.MsgBus.$emit("editOrderTicketOrderBoxOpen", row.GuestId, row, true);
}else{
let tips = ''
if(row.TicketStatus==2&&row.OrderStatus==1){
tips = '已出票'
}
if(row.TicketStatus==3&&row.OrderStatus==1){
tips = '航班熔断'
}
if(row.TicketStatus==4&&row.OrderStatus==1){
tips = '用户取消航班'
}
if(row.OrderStatus==2){
tips = '已取消'
}
this.$confirm('此订单'+tips+',无法编辑订单金额?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$emit('emptyMore')
}).catch(() => {
this.$emit('emptyMore')
});
}
}
},
// 编辑订单金额
editOrderAmount(row){
if(this.userInfo.EmName!=row.EnterName){
this.ValidateOperator()
}else{
if(row.TicketStatus==1&&row.OrderStatus==1){
this.MsgBus.$emit("editTicketOrderBoxOpen", row.GuestId, row, true);
}else{
let tips = ''
if(row.TicketStatus==2&&row.OrderStatus==1){
tips = '已出票'
}
if(row.TicketStatus==3&&row.OrderStatus==1){
tips = '航班熔断'
}
if(row.TicketStatus==4&&row.OrderStatus==1){
tips = '用户取消航班'
}
if(row.OrderStatus==2){
tips = '已取消'
}
this.$confirm('此订单'+tips+',无法编辑订单金额?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$emit('emptyMore')
}).catch(() => {
this.$emit('emptyMore')
});
}
}
},
openDetails(item) {
console.log(item.ID);
this.MsgBus.$emit("busnessDrawerShow", item.ID, 1);
},
// 获取出票状态枚举
GetTicketStatusEnumList(){
this.msg.GuestId = row.GuestId
this.apipost(
"/api/Order/GetTicketStatusEnumList",
{},
(res) => {
if (res.data.resultCode == 1) {
this.ticketingStatusList = res.data.data;
let data = {
Name:'全部',
Id:'0'
}
this.ticketingStatusList.unshift(data)
} else {
this.$message.error(res.data.message);
}
}
);
},
}
};
</script>
<style>
li {
list-style-type: none;
}
.classorder ul {
padding: 0px;
}
.classorder .price-popup {
border-radius: 4px;
}
.classorder .el-range-editor .el-range-input {
background: none;
}
.classorder .el-range-editor.el-input__inner {
background-color: transparent;
}
.classorder .q-mb-md {
margin-bottom: 0;
}
.classorder .stics {
padding: 10px 20px;
background: #dddee0;
border-radius: 4px;
font-size: 14px;
color: #000000;
font-weight: bold;
}
.classorder .stics .stics-name {
color: #2d2d2d;
font-weight: 600;
margin-right: 10px;
}
.classorder .tis {
margin: 10px 0;
align-items: center;
}
.classorder .tis .tis-k {
width: 10px;
height: 10px;
margin-right: 8px;
}
.classorder .tis span {
font-size: 14px;
color: #2d2d2d;
font-weight: 600;
margin-right: 20px;
}
.classorder table {
padding: 10px 0;
width: 100%;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.classorder table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid rgba(138, 138, 138, 0.09);
text-align: left;
}
.classorder table ._color_666 {
color: #666666;
}
.classorder table tr._color_666 th {
padding: 9px 15px;
}
.classorder table th {
background-color: #ededed;
height: 34px;
text-indent: 15px;
}
.classorder table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
}
.classorder table ._color_666 {
color: #666666;
}
.classorder table tr._color_666 th {
padding: 9px 15px;
}
.classorder .enrollTotalSearchTable {
width: 100%;
font-size: 14px;
color: #333;
border-bottom: 1px solid #cccccc;
border-right: 1px solid #cccccc;
border-collapse: collapse;
}
.classorder .enrollTotalSearchTable tr {}
.classorder .enrollTotalSearchTable tr th {
background: #dddee0;
height: 30px;
font-size: 12px;
text-align: left;
}
.classorder .enrollTotalSearchTable tr {
background: #fff;
text-align: left;
}
.classorder .enrollTotalSearchTable tbody tr:last-child {
border-bottom: 2px solid #ddd;
}
.classorder .enrollTotalSearchTable tr:first-child td:first-child {
border-bottom: 2px solid #ddd;
}
.classorder .enrollTotalSearchTable tr td {
height: 66px;
padding: 10px;
}
.classorder .enrollTotalSearchTable tr td>img {
width: 32px;
height: 32px;
border-radius: 16px;
vertical-align: middle;
margin-right: 5px;
}
.classorder .enrollTotalSearchTable tr td p {
line-height: 20px;
}
.classorder .remarks {
font-size: 14px;
color: #2d2d2d;
}
.classorder .remarks-b {
height: 94px;
background: #f0f5fb;
margin-top: 10px;
padding: 15px;
font-size: 12px;
color: #999999;
position: relative;
overflow: hidden;
display: -webkit-box;
line-height: 20px;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}
.classorder .remarks-b-b {
text-align: right;
position: absolute;
right: 0px;
bottom: 0px;
}
.classorder .on-left {
margin-right: 5px;
}
.classorder .finance {
padding: 1px 10px;
align-items: center;
justify-content: center;
border-radius: 4px;
margin: 5px 3px 3px 0;
}
.classorder .order_OfferId {
font-size: 18px;
color: #2961fe;
margin-bottom: 10px;
font-weight: bold;
text-decoration: underline;
cursor: pointer;
}
.takeContract {
cursor: pointer;
color: rgb(41, 97, 254);
}
.Contract_Table {
width: 100%;
border-collapse: collapse;
}
.Contract_Table th,
.Contract_Table td {
padding: 5px;
color: #000;
text-align: center;
}
.table-body {
overflow-x: hidden;
overflow-y: auto;
}
.classorder .redstyle {
color: var(--q-color-negative);
}
.order_OferTitle {
font-size: 14px;
color: #333333;
margin-bottom: 10px;
}
.tatusText.grey{
color: grey;
}
.tatusText.success{
color: #21BA45;
}
.tatusText.error{
color: #F2C037;
}
.tatusText.Black{
color: Black;
}
.ToBeReceived.red{
color: #fd397a;
}
.ToBeReceived.blue{
color: #409eff;
}
.documents-text{
display: flex;
justify-content: space-between;
}
.documents-left{
display: flex;
flex-direction: row;
flex-wrap: wrap;
margin: 5px 0;
}
.documents-left span{
margin-right: 10px;
background-color: rgba(41, 97, 254, 0.2);
color: rgb(41, 97, 254);
border-radius: 3px;
padding:2px 6px;
}
.documents-left.num span{
background-color: rgba(41, 97, 254, 0);
color: rgb(41, 97, 254);
padding: 0;
}
.OrderId-text{
font-weight: bold;
color: #2961fe;
margin-bottom: 10px;
}
.CreateByName-text{
margin-bottom: 10px;
}
.colorblue{
color: #2961fe;
}
.enedit-box{
display: flex;
align-items: center;
}
.select-right{
margin-left: 5px;
}
</style>
\ No newline at end of file
...@@ -41,6 +41,13 @@ ...@@ -41,6 +41,13 @@
.income_2{ .income_2{
color: #3FC4FF; color: #3FC4FF;
} }
.enedit-box{
display: flex;
align-items: center;
}
.select-right{
margin-left: 5px;
}
</style> </style>
<template> <template>
<div class="Business"> <div class="Business">
...@@ -213,10 +220,10 @@ ...@@ -213,10 +220,10 @@
<el-table-column <el-table-column
fixed="right" fixed="right"
label="操作" label="操作"
width="100"> width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="item-but-box"> <div class="item-but-box">
<el-tooltip <!-- <el-tooltip
class="item-but" effect="dark" content="编辑订单" placement="top"> class="item-but" effect="dark" content="编辑订单" placement="top">
<i class="iconfont iconwenbenbianji cp" @click="editOrder(scope.row)"></i> <i class="iconfont iconwenbenbianji cp" @click="editOrder(scope.row)"></i>
</el-tooltip> </el-tooltip>
...@@ -228,17 +235,28 @@ ...@@ -228,17 +235,28 @@
<el-tooltip <el-tooltip
class="item-but" effect="dark" content="操作日志" placement="top"> class="item-but" effect="dark" content="操作日志" placement="top">
<i class="iconfont iconcopy cp" @click="operationLog(scope.row)"></i> <i class="iconfont iconcopy cp" @click="operationLog(scope.row)"></i>
</el-tooltip>
<!-- <el-tooltip effect="dark" placement="top-start" disabled style="float:left">
<el-popover width='100' trigger="hover">
<div class="groupTourOrder_more">
<div @click="operationLog(scope.row)">
操作日志
</div>
</div>
<span slot="reference">更多</span>
</el-popover>
</el-tooltip> --> </el-tooltip> -->
<div class="enedit-box">
<el-tooltip
class="item-but" effect="dark" content="编辑订单" placement="top">
<i class="iconfont iconwenbenbianji cp" @click="editOrder(scope.row)"></i>
</el-tooltip>
<div>
<el-select style="width:130px" class="select-right"
clearable
size="mini"
v-model="scope.row.More" placeholder="更多"
@change="chooseMore(scope.row)">
<el-option
v-for="item in MoreList"
:key="item.Id"
:label="item.Name"
:value="item.Id">
</el-option>
</el-select>
</div>
</div>
</div> </div>
</template> </template>
...@@ -258,6 +276,13 @@ export default { ...@@ -258,6 +276,13 @@ export default {
props: ["ID", "BusinessType"], props: ["ID", "BusinessType"],
data() { data() {
return { return {
MoreList:[
{Name:'编辑订单金额',Id:'5'},
{Name:'取消订单',Id:'1'},
{Name:'订单转交',Id:'2'},
{Name:'修改出票状态',Id:'4'},
{Name:'操作日志',Id:'3'},
],
orderStatusList:[ orderStatusList:[
{Name:'正常',Id:'1'}, {Name:'正常',Id:'1'},
{Name:'取消',Id:'2'} {Name:'取消',Id:'2'}
...@@ -298,6 +323,38 @@ export default { ...@@ -298,6 +323,38 @@ export default {
}); });
}, },
methods: { methods: {
// 清空下拉
emptyMore(){
this.dataList.forEach(item=>{
return item.More = ''
})
},
chooseMore(row){
// 取消订单
if(row.More=='1'){
this.cancelOrder(row)
}
// 订单转换
if(row.More=='2'){
this.convertOrder(row)
}
// 操作日志
if(row.More=='3'){
this.operationLog(row)
}
// 修改出票状态
if(row.More=='4'){
this.modifyStatus(row)
}
// 编辑订单金额
if(row.More=='5'){
this.editOrderAmount(row)
}
},
// 转换订单
convertOrder(row){
this.MsgBus.$emit("convertOrderTicketOrderBoxOpen", $this.ID, row, true);
},
// 验证操作员 // 验证操作员
ValidateOperator(){ ValidateOperator(){
let tips = '您没有操作权限' let tips = '您没有操作权限'
...@@ -306,9 +363,9 @@ export default { ...@@ -306,9 +363,9 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.emptyMore()
}).catch(() => { }).catch(() => {
this.emptyMore()
}); });
}, },
// 制作单据 // 制作单据
...@@ -356,9 +413,9 @@ export default { ...@@ -356,9 +413,9 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.emptyMore()
}).catch(() => { }).catch(() => {
this.emptyMore()
}); });
}else{ }else{
if(row.TicketStatus==3){ if(row.TicketStatus==3){
...@@ -395,6 +452,7 @@ export default { ...@@ -395,6 +452,7 @@ export default {
} }
}) })
}).catch(() => { }).catch(() => {
this.emptyMore()
this.$message({ this.$message({
type: 'info', type: 'info',
message: '已取消' message: '已取消'
...@@ -430,9 +488,9 @@ export default { ...@@ -430,9 +488,9 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.emptyMore()
}).catch(() => { }).catch(() => {
this.emptyMore()
}); });
} }
} }
...@@ -464,9 +522,9 @@ export default { ...@@ -464,9 +522,9 @@ export default {
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.emptyMore()
}).catch(() => { }).catch(() => {
this.emptyMore()
}); });
} }
} }
...@@ -506,6 +564,13 @@ export default { ...@@ -506,6 +564,13 @@ export default {
this.msg, this.msg,
(res) => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
let data = res.data.data.pageData;;
let addList = function(arr) {
arr.forEach(item => {
item.More = ''
});
};
addList(data);
this.dataList = res.data.data.pageData; this.dataList = res.data.data.pageData;
this.total = res.data.data.count; this.total = res.data.data.count;
this.loading = false this.loading = false
......
...@@ -181,7 +181,11 @@ ...@@ -181,7 +181,11 @@
} }
</style> </style>
<template> <template>
<el-dialog :visible.sync="dialogTableVisible" @closed="closedDialog" :close-on-click-modal="false" class="add-box add-box1 customerDialogBox"> <el-dialog :visible.sync="dialogTableVisible"
@closed="closedDialog"
:close-on-click-modal="false"
class="add-box add-box1 customerDialogBox"
:width="width">
<div class="add-tit" slot="title"> <div class="add-tit" slot="title">
<p><span></span>{{name}}</p> <p><span></span>{{name}}</p>
<span icon="el-icon-close"></span> <span icon="el-icon-close"></span>
...@@ -212,7 +216,6 @@ ...@@ -212,7 +216,6 @@
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="30" v-if="name=='新建机票订单'||name=='编辑订单金额'||name=='编辑机票订单'"> <el-row :gutter="30" v-if="name=='新建机票订单'||name=='编辑订单金额'||name=='编辑机票订单'">
<el-col :span="8"> <el-col :span="8">
...@@ -287,6 +290,15 @@ ...@@ -287,6 +290,15 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row v-if="name=='订单转交'">
<el-col>
<div class="MyEditForm-item">
<el-form-item label="转交id" prop="EnterId">
<el-input placeholder="请输入转交人id" onkeyup="this.value=this.value.replace(/[^\d.]/g,'');" v-model="form.EnterId"></el-input>
</el-form-item>
</div>
</el-col>
</el-row>
</el-form> </el-form>
<div v-if="name=='操作日志'"> <div v-if="name=='操作日志'">
<div v-for="(item,index) in logData" :key="index"> <div v-for="(item,index) in logData" :key="index">
...@@ -352,6 +364,7 @@ export default { ...@@ -352,6 +364,7 @@ export default {
}, },
data() { data() {
return { return {
width:"",
logData:[], logData:[],
total:0, total:0,
msg:{ msg:{
...@@ -379,7 +392,8 @@ export default { ...@@ -379,7 +392,8 @@ export default {
Money: null, Money: null,
Remark: "", Remark: "",
Type: "", Type: "",
Voucher: [] Voucher: [],
EnterId: ""
}, },
BusinessStatusEnum: [], BusinessStatusEnum: [],
rules: { rules: {
...@@ -400,6 +414,7 @@ export default { ...@@ -400,6 +414,7 @@ export default {
{ required: true, message: "选择出票状态", trigger: "change" }, { required: true, message: "选择出票状态", trigger: "change" },
], ],
Voucher: [{ required: true, message: "上传凭据", trigger: "blur" }], Voucher: [{ required: true, message: "上传凭据", trigger: "blur" }],
EnterId: [{ required: true, message: "请输入转交人id", trigger: "blur" }],
}, },
show: true, show: true,
}; };
...@@ -442,13 +457,21 @@ export default { ...@@ -442,13 +457,21 @@ export default {
Money: this.obj.Money, Money: this.obj.Money,
Remark: this.obj.Remark, Remark: this.obj.Remark,
} }
} }
if(this.obj.TicketStatus==1){ if(this.obj.TicketStatus==1){
this.text = '出票' this.text = '出票'
} }
if(this.name=='操作日志'){ if(this.name=='操作日志'){
this.width="600px"
this.getList() this.getList()
} }
if(this.name=='订单转交'){
this.width="400px"
}
if(this.name=='编辑订单金额'){
this.width="600px"
}
let $this = this; let $this = this;
setTimeout(() => { setTimeout(() => {
$this.dialogTableVisible = true; $this.dialogTableVisible = true;
...@@ -588,6 +611,26 @@ export default { ...@@ -588,6 +611,26 @@ export default {
} }
}); });
}, },
ConvertData(){
if(this.obj.OrderId){
this.form.OrderId = this.obj.OrderId
}
let data = {
OrderId: this.form.OrderId,
EnterId : this.form.EnterId,
}
this.apipost("/api/Order/SetGuestOrderCareOf", data, (res) => {
if (res.data.resultCode == 1) {
this.dialogTableVisible = false;
this.$message.success("操作成功");
this.MsgBus.$emit("closeTicketOrderDialogBox");
this.MsgBus.$emit("closeGetList");
this.resetForm("form");
} else {
this.$message.error(res.data.message);
}
});
},
submitForm(addMsg) { submitForm(addMsg) {
//提交创建、修改表单 //提交创建、修改表单
if(this.name=='新建机票订单'||this.name=='编辑机票订单'){ if(this.name=='新建机票订单'||this.name=='编辑机票订单'){
...@@ -619,6 +662,15 @@ export default { ...@@ -619,6 +662,15 @@ export default {
this.dialogTableVisible = false; this.dialogTableVisible = false;
this.MsgBus.$emit("closeTicketOrderDialogBox"); this.MsgBus.$emit("closeTicketOrderDialogBox");
} }
if(this.name=='订单转交'){
this.$refs[addMsg].validate((valid) => {
if (valid) {
this.ConvertData();
} else {
return false;
}
});
}
}, },
resetForm(formName) { resetForm(formName) {
...@@ -633,6 +685,7 @@ export default { ...@@ -633,6 +685,7 @@ export default {
EndCityName: "", EndCityName: "",
Money: null, Money: null,
Remark: "", Remark: "",
EnterId: ""
}; };
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
}, },
......
...@@ -16,6 +16,7 @@ import guestManagement from "./components/guestManagement/guestManagement" ...@@ -16,6 +16,7 @@ import guestManagement from "./components/guestManagement/guestManagement"
import customerApr from "./components/approval/customerApr" import customerApr from "./components/approval/customerApr"
import customerMap from "./components/customerManage/customerMap" import customerMap from "./components/customerManage/customerMap"
import customerConfiguration from "./components/customerManage/customerConfiguration" import customerConfiguration from "./components/customerManage/customerConfiguration"
import customerOrder from "./components/customerManage/customerOrder"
Vue.use(Router); Vue.use(Router);
export default new Router({ export default new Router({
...@@ -426,6 +427,14 @@ export default new Router({ ...@@ -426,6 +427,14 @@ export default new Router({
meta: { meta: {
title: "客户配置" title: "客户配置"
} }
},
{
path: "/customerOrder",
name: "customerOrder",
component: customerOrder,
meta: {
title: "客户订单"
}
} }
] ]
}, },
......
...@@ -339,6 +339,12 @@ ...@@ -339,6 +339,12 @@
$this.obj = obj; $this.obj = obj;
$this.dialogTicketOrderVisible = true; $this.dialogTicketOrderVisible = true;
}); });
this.MsgBus.$on("convertOrderTicketOrderBoxOpen", function (GuestId, obj) {
$this.dialogTicketOrderVisibleName = "订单转交";
$this.GuestId = GuestId;
$this.obj = obj;
$this.dialogTicketOrderVisible = true;
});
this.MsgBus.$on("closeTicketOrderDialogBox", function () { this.MsgBus.$on("closeTicketOrderDialogBox", function () {
$this.dialogTicketOrderVisible = false; $this.dialogTicketOrderVisible = false;
this.$emit("getList"); this.$emit("getList");
......
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